[
  {
    "path": ".editorconfig",
    "content": "root = true\n\n[*]\ncharset = utf-8\nend_of_line = lf\nindent_style = space\nindent_size = 4\n\n[*.php]\ninsert_final_newline = true\ntrim_trailing_whitespace = true\n\n[*.md]\ntrim_trailing_whitespace = false\n\n[*.yml]\nindent_size = 4\n\n[composer.json]\nindent_style = space\nindent_size = 2\n"
  },
  {
    "path": ".gitattributes",
    "content": "\n* -text\n\n\n# Exclude build/test files from archive to reduce ZIP size for composer dist download\n/.github export-ignore\n/tests export-ignore\n/.editorconfig export-ignore\n/.gitattributes export-ignore\n/.gitignore export-ignore\n/.markdownlint.json export-ignore\n/.php-cs-fixer.dist.php export-ignore\n/CLA.md export-ignore\n/CONTRIBUTING.md export-ignore\n/codeception.dist.yml export-ignore\n/phpstan* export-ignore\n"
  },
  {
    "path": ".github/CODEOWNERS",
    "content": ".github/workflows/ @bluvulture @berfinyuksel"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/Bug-Report.yml",
    "content": "name: Bug Report\ndescription: File a bug report\ntitle: \"[Bug]: \"\nlabels: [Bug]\nbody:\n    - type: markdown\n      attributes:\n          value: |\n              ## Important notice\n              As an open core project we love to work together with our community to improve and develop our products.\n              It's also important for us to make clear that **we're not working for you or your company**,\n              but we enjoy to work together to solve existing bugs.\n              So we would love to see PRs with bugfixes, discuss them and we are happy to merge them when they are ready.\n              For details see also our [contributing guidelines](https://github.com/pimcore/pimcore/blob/10.x/CONTRIBUTING.md).\n\n              Bug reports that do not meet the conditions listed below will be closed/deleted without comment.\n\n              - Bug was verified on the latest supported version.\n              - This is not a security issue -> see [our security policy](https://github.com/pimcore/pimcore/security/policy) instead.\n              - You are not able to provide a pull request that fixes the issue.\n              - There's no existing ticket for the same issue.\n\n    - type: textarea\n      attributes:\n          label: Expected behavior\n      validations:\n          required: true\n    - type: textarea\n      attributes:\n          label: Actual behavior\n      validations:\n          required: true\n    - type: textarea\n      attributes:\n          label: Steps to reproduce\n      validations:\n          required: true\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/Feature-Request.yml",
    "content": "name: Feature Request\ndescription: Request or propose a new feature\ntitle: \"[Feature]: \"\nlabels: [\"New Feature\"]\nbody:\n    - type: markdown\n      attributes:\n          value: |\n              ## Important notice\n              As an open core project we love to work together with our community to improve and develop our products.\n              It's also important for us to make clear that **we're not working for you or your company**,\n              but we enjoy to work together to improve or add new features to the product.\n              So we are always ready to discuss features and improvements with our community.\n              Especially for bigger topics, please [start a discussion](https://github.com/pimcore/pimcore/discussions) first to aviod unnecessary efforts.\n\n              As soon as a topic is more specific, feel free to create issues for it or even better provide a corresponding PR as we love to\n              review and merge contributions.\n\n              Feature requests that do not meet the conditions listed below will be closed/deleted without comment.\n              - There's no existing ticket for the same topic\n              - This is already a specific ready-to-work-on feature request\n\n    - type: textarea\n      attributes:\n          label: Feature description\n      validations:\n          required: true\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/Improvement.yml",
    "content": "name: Improvement\ndescription: Request or propose an improvement\ntitle: \"[Improvement]: \"\nlabels: [\"Improvement\"]\nbody:\n    - type: markdown\n      attributes:\n          value: |\n              ## Important notice\n              As an open core project we love to work together with our community to improve and develop our products.\n              It's also important for us to make clear that **we're not working for you or your company**,\n              but we enjoy to work together to improve or add new features to the product.\n              So we are always ready to discuss features and improvements with our community.\n              Especially for bigger topics, please [start a discussion](https://github.com/pimcore/pimcore/discussions) first to aviod unnecessary efforts.\n\n              As soon as a topic is more specific, feel free to create issues for it or even better provide a corresponding PR as we love to\n              review and merge contributions.\n\n              Feature requests that do not meet the conditions listed below will be closed/deleted without comment.\n              - There's no existing ticket for the same topic\n              - This is already a specific ready-to-work-on feature request\n\n    - type: textarea\n      attributes:\n          label: Improvement description\n      validations:\n          required: true\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/config.yml",
    "content": "blank_issues_enabled: false\ncontact_links:\n    - name: We are hiring!\n      url: https://pimcore.com/en/careers?utm_source=github&utm_medium=issue-template-data-hub&utm_campaign=careers\n      about: Enjoy working with Pimcore? Join us on our mission!\n    - name: Community Support\n      url: https://github.com/pimcore/pimcore/discussions\n      about: Please ask and answer questions here.\n"
  },
  {
    "path": ".github/PULL_REQUEST_TEMPLATE.md",
    "content": "## Changes in this pull request\nResolves #\n\n## Additional info\n"
  },
  {
    "path": ".github/ci/files/.my.cnf",
    "content": "[client]\nhost=127.0.0.1\nport=33006\nuser=root\npassword=\n"
  },
  {
    "path": ".github/ci/files/bin/console",
    "content": "#!/usr/bin/env php\n<?php\n/**\n* This source file is available under the terms of the\n* Pimcore Open Core License (POCL)\n* Full copyright and license information is available in\n* LICENSE.md which is distributed with this source code.\n*\n*  @copyright  Copyright (c) Pimcore GmbH (http://www.pimcore.com)\n*  @license    Pimcore Open Core License (POCL)\n*/\n\nuse Symfony\\Component\\Console\\Input\\InputInterface;\n\nob_get_clean();\n\nif (file_exists($a = getcwd() . '/vendor/autoload_runtime.php')) {\n    include $a;\n} elseif (file_exists($a = __DIR__ . '/../../../../vendor/autoload_runtime.php')) {\n    include $a;\n} elseif (file_exists($a = __DIR__ . '/../vendor/autoload_runtime.php')) {\n    include $a;\n} else {\n    fwrite(STDERR, 'Cannot locate autoloader; please run \"composer install\"' . PHP_EOL);\n    exit(1);\n}\n\nreturn function (InputInterface $input) {\n    define('PIMCORE_CONSOLE', true);\n\n    if (null !== $env = $input->getParameterOption(['--env', '-e'], null, true)) {\n        putenv('APP_ENV='.$_SERVER['APP_ENV'] = $_ENV['APP_ENV'] = $env);\n    }\n\n    if ($input->hasParameterOption('--no-debug', true)) {\n        putenv('APP_DEBUG='.$_SERVER['APP_DEBUG'] = $_ENV['APP_DEBUG'] = '0');\n    }\n\n    /** @var \\Pimcore\\Kernel $kernel */\n    $kernel = \\Pimcore\\Bootstrap::startupCli();\n    $application = new \\Pimcore\\Console\\Application($kernel);\n    $application->run();\n    return $application;\n};\n"
  },
  {
    "path": ".github/ci/files/config/bundles.php",
    "content": "<?php\n\nreturn [\n    Pimcore\\Bundle\\DataHubBundle\\PimcoreDataHubBundle::class => ['all' => true],\n    Pimcore\\Bundle\\StudioBackendBundle\\PimcoreStudioBackendBundle::class => ['all' => true],\n    Pimcore\\Bundle\\StudioUiBundle\\PimcoreStudioUiBundle::class => ['all' => true],\n];\n"
  },
  {
    "path": ".github/ci/files/config/config.yaml",
    "content": "imports:\n    - { resource: services.yaml }\n    - { resource: system.yml }\n\npimcore_data_hub:\n    config_location:\n        data_hub:\n            write_target:\n                type: 'settings-store'"
  },
  {
    "path": ".github/ci/files/config/packages/security.yaml",
    "content": "security:\n    providers:\n        pimcore_admin:\n            id: Pimcore\\Security\\User\\UserProvider\n\n    firewalls:\n        dev:\n            pattern: ^/(_(profiler|wdt)|css|images|js)/\n            security: false\n\n        pimcore_studio: '%pimcore_studio_backend.firewall_settings%'\n\n        # Pimcore WebDAV HTTP basic // DO NOT CHANGE!\n        pimcore_webdav:\n            pattern: ^/asset/webdav\n            provider: pimcore_admin\n            http_basic: ~\n\n    access_control:\n        # Pimcore admin ACl  // DO NOT CHANGE!\n        - { path: ^/pimcore-studio/api/(docs|docs/json|translations|user/reset-password)$, roles: PUBLIC_ACCESS }\n        - { path: ^/pimcore-studio/api, roles: ROLE_PIMCORE_USER }\n        - { path: ^/asset/webdav, roles: ROLE_PIMCORE_USER }\n\n    role_hierarchy:\n        # Pimcore admin  // DO NOT CHANGE!\n        ROLE_PIMCORE_ADMIN: [ROLE_PIMCORE_USER]"
  },
  {
    "path": ".github/ci/files/config/packages/test/config.yaml",
    "content": "imports:\n    - { resource: ../../config.yaml }\n\n# this cache is used during tests when setting up pimcore\nframework:\n    cache:\n        pools:\n            pimcore.cache.pool:\n                public: true\n                tags: true\n                default_lifetime: 31536000  # 1 year\n                adapter: cache.adapter.array\n\n\ndoctrine:\n    dbal:\n        connections:\n            default:\n                url: '%pimcore_test.db.dsn%'\n                host: ~\n                port: ~\n                dbname: ~\n                user: ~\n                password: ~\n                mapping_types:\n                    bit: boolean\n\npimcore:\n    product_registration:\n        instance_identifier: '%env(PIMCORE_INSTANCE_IDENTIFIER)%'\n        product_key: '%env(PIMCORE_PRODUCT_KEY)%'\n\nparameters:\n    pimcore_test.db.dsn: '%env(PIMCORE_TEST_DB_DSN)%'\n    env(PIMCORE_TEST_DB_DSN): ~\n    pimcore.encryption.secret: '%env(PIMCORE_ENCRYPTION_SECRET)%'\n"
  },
  {
    "path": ".github/ci/files/config/services.yaml",
    "content": "parameters:\n    secret: ThisTokenIsNotSoSecretChangeIt\n\n    # customize the full path to external executables\n    # normally they are auto-detected by `which program` or auto-discovered in the configured path in\n    # System Settings -> General -> Additional $PATH variable\n    # but in general it's a good idea to have your programs in your $PATH environment variable (system wide)\n\n    #pimcore_executable_composer: php /opt/vendor/bin/composer.phar\n    #pimcore_executable_soffice: /opt/libreoffice/bin/soffice\n    #pimcore_executable_gs: /opt/ghostscript/bin/gs\n    #pimcore_executable_pdftotext: /opt/tools/pdftotext\n    #pimcore_executable_xvfb-run: /opt/tools/xvfb-run\n    #pimcore_executable_pngcrush: /opt/tools/pngcrush\n    #pimcore_executable_zopflipng: /opt/tools/zopflipng\n    #pimcore_executable_pngout: /opt/tools/pngout\n    #pimcore_executable_advpng: /opt/tools/advpng\n    #pimcore_executable_cjpeg: /opt/tools/cjpeg\n    #pimcore_executable_jpegoptim: /opt/tools/jpegoptim\n    #pimcore_executable_php: /usr/local/custom-php/bin/php\n    #pimcore_executable_nice: /opt/tools/nice\n    #pimcore_executable_nohup: /opt/tools/nohup\n    #pimcore_executable_ffmpeg: /opt/tools/ffmpeg\n    #pimcore_executable_exiftool: /opt/tools/exiftool\n\nservices:\n    # default configuration for services in *this* file\n    _defaults:\n        # automatically injects dependencies in your services\n        autowire: true\n        # automatically registers your services as commands, event subscribers, etc.\n        autoconfigure: true\n        # this means you cannot fetch services directly from the container via $container->get()\n        # if you need to do this, you can override this setting on individual services\n        public: true\n\n    # Example custom templating helper\n    # AppBundle\\Templating\\Helper\\Example:\n    #     # templating helpers need to be public as they\n    #     # are fetched from the container on demand\n    #     public: true\n    #     tags:\n    #         - { name: templating.helper, alias: fooBar }\n\n    # Example event listener for objects\n    # AppBundle\\EventListener\\TestListener:\n    #     tags:\n    #         - { name: kernel.event_listener, event: pimcore.dataobject.preUpdate, method: onObjectPreUpdate }\n\n    Pimcore\\Bundle\\DataHubBundle\\Installer:\n        public: true\n        arguments:\n            $bundle: \"@=service('kernel').getBundle('PimcoreDataHubBundle')\"\n"
  },
  {
    "path": ".github/ci/files/config/system.yml",
    "content": "pimcore:\n    general:\n        timezone: Europe/Berlin\n        path_variable: ''\n        domain: pimcore-test.dev\n        redirect_to_maindomain: false\n        language: en\n        valid_languages: 'en,de'\n        fallback_languages:\n            en: ''\n            de: ''\n        default_language: ''\n        disable_usage_statistics: false\n    documents:\n        versions:\n            days: null\n            steps: 10\n        error_pages:\n            default: /error\n        allow_trailing_slash: 'no'\n        generate_preview: true\n    objects:\n        versions:\n            days: null\n            steps: 10\n    assets:\n        versions:\n            days: null\n            steps: 10\n        icc_rgb_profile: ''\n        icc_cmyk_profile: ''\n    full_page_cache:\n        enabled: false\n        lifetime: null\n        exclude_patterns: ''\n        exclude_cookie: ''\n    httpclient:\n        adapter: Socket\n        proxy_host: ''\n        proxy_port: ''\n        proxy_user: ''\n        proxy_pass: ''\n    email:\n        sender:\n            name: pimcore\n            email: pimcore@example.com\n        return:\n            name: pimcore\n            email: pimcore@example.com\n        debug:\n            email_addresses: ''\n    applicationlog:\n        mail_notification:\n            send_log_summary: false\n            filter_priority: null\n            mail_receiver: ''\n        archive_treshold: '30'\n        archive_alternative_database: ''"
  },
  {
    "path": ".github/ci/files/kernel/Kernel.php",
    "content": "<?php\n/**\n* This source file is available under the terms of the\n* Pimcore Open Core License (POCL)\n* Full copyright and license information is available in\n* LICENSE.md which is distributed with this source code.\n*\n*  @copyright  Copyright (c) Pimcore GmbH (http://www.pimcore.com)\n*  @license    Pimcore Open Core License (POCL)\n*/\n\nnamespace App;\n\nuse Pimcore\\Kernel as BaseKernel;\n\nclass Kernel extends BaseKernel\n{\n\n}\n"
  },
  {
    "path": ".github/ci/files/public/.htaccess",
    "content": "# Use the front controller as index file. It serves as a fallback solution when\n# every other rewrite/redirect fails (e.g. in an aliased environment without\n# mod_rewrite). Additionally, this reduces the matching process for the\n# start page (path \"/\") because otherwise Apache will apply the rewriting rules\n# to each configured DirectoryIndex file (e.g. index.php, index.html, index.pl).\nDirectoryIndex index_test.php\n\n# By default, Apache does not evaluate symbolic links if you did not enable this\n# feature in your server configuration. Uncomment the following line if you\n# install assets as symlinks or if you experience problems related to symlinks\n# when compiling LESS/Sass/CoffeScript assets.\n# Options FollowSymlinks\n\n# Disabling MultiViews prevents unwanted negotiation, e.g. \"/app\" should not resolve\n# to the front controller \"/app.php\" but be rewritten to \"/app.php/app\".\n<IfModule mod_negotiation.c>\n    Options -MultiViews\n</IfModule>\n\n# mime types\nAddType video/mp4 .mp4\nAddType video/webm .webm\nAddType image/jpeg .pjpeg\n\nOptions +SymLinksIfOwnerMatch\n\n# Use UTF-8 encoding for anything served text/plain or text/html\nAddDefaultCharset utf-8\n\nRewriteEngine On\n\n<IfModule mod_headers.c>\n    <FilesMatch \"\\.(jpe?g|png)$\">\n        Header always unset X-Content-Type-Options\n    </FilesMatch>\n</IfModule>\n\n# Determine the RewriteBase automatically and set it as environment variable.\n# If you are using Apache aliases to do mass virtual hosting or installed the\n# project in a subdirectory, the base path will be prepended to allow proper\n# resolution of the app.php file and to redirect to the correct URI. It will\n# work in environments without path prefix as well, providing a safe, one-size\n# fits all solution. But as you do not need it in this case, you can comment\n# the following 2 lines to eliminate the overhead.\nRewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\\2$\nRewriteRule ^(.*) - [E=BASE:%1]\n\n# Sets the HTTP_AUTHORIZATION header removed by Apache\nRewriteCond %{HTTP:Authorization} .\nRewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]\n\n# Redirect to URI without front controller to prevent duplicate content\n# (with and without `/app.php`). Only do this redirect on the initial\n# rewrite by Apache and not on subsequent cycles. Otherwise we would get an\n# endless redirect loop (request -> rewrite to front controller ->\n# redirect -> request -> ...).\n# So in case you get a \"too many redirects\" error or you always get redirected\n# to the start page because your Apache does not expose the REDIRECT_STATUS\n# environment variable, you have 2 choices:\n# - disable this feature by commenting the following 2 lines or\n# - use Apache >= 2.3.9 and replace all L flags by END flags and remove the\n#   following RewriteCond (best solution)\nRewriteCond %{ENV:REDIRECT_STATUS} ^$\nRewriteRule ^app\\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L]\n\n<IfModule mod_status.c>\n    RewriteCond %{REQUEST_URI} ^/(fpm|server)-(info|status|ping)\n    RewriteRule . - [L]\n</IfModule>\n\n# restrict access to dotfiles\nRewriteCond %{REQUEST_FILENAME} -d [OR]\nRewriteCond %{REQUEST_FILENAME} -l [OR]\nRewriteCond %{REQUEST_FILENAME} -f\nRewriteRule /\\.|^\\.(?!well-known/) - [F,L]\n\n# ASSETS: check if request method is GET (because of WebDAV) and if the requested file (asset) exists on the filesystem, if both match, deliver the asset directly\nRewriteCond %{REQUEST_METHOD} ^(GET|HEAD)\nRewriteCond %{DOCUMENT_ROOT}/var/assets%{REQUEST_URI} -f\nRewriteRule ^(.*)$ /var/assets%{REQUEST_URI} [PT,L]\n\n# Thumbnails\nRewriteCond %{REQUEST_URI} .*/(image|video)-thumb__[\\d]+__.*\nRewriteCond %{DOCUMENT_ROOT}/var/tmp/%1-thumbnails%{REQUEST_URI} -f\nRewriteRule ^(.*)$ /var/tmp/%1-thumbnails%{REQUEST_URI} [PT,L]\n\n# cache-buster rule for scripts & stylesheets embedded using view helpers\nRewriteRule ^cache-buster\\-[\\d]+/(.*) $1 [PT,L]\n\n# If the requested filename exists, simply serve it.\n# We only want to let Apache serve files and not directories.\nRewriteCond %{REQUEST_FILENAME} -f\nRewriteRule ^ - [L]\n\n# Rewrite all other queries to the front controller.\nRewriteRule ^ %{ENV:BASE}/index_test.php [L]\n\n\n\n\n##########################################\n### OPTIONAL PERFORMANCE OPTIMIZATIONS ###\n##########################################\n\n<IfModule mod_deflate.c>\n    # Force compression for mangled headers.\n    # http://developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping\n    <IfModule mod_setenvif.c>\n        <IfModule mod_headers.c>\n            SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\\s*,?\\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding\n            RequestHeader append Accept-Encoding \"gzip,deflate\" env=HAVE_Accept-Encoding\n        </IfModule>\n    </IfModule>\n\n    # Compress all output labeled with one of the following MIME-types\n    # (for Apache versions below 2.3.7, you don't need to enable `mod_filter`\n    #  and can remove the `<IfModule mod_filter.c>` and `</IfModule>` lines\n    #  as `AddOutputFilterByType` is still in the core directives).\n    <IfModule mod_filter.c>\n        AddOutputFilterByType DEFLATE application/atom+xml application/javascript application/json \\\n            application/vnd.ms-fontobject application/x-font-ttf application/rss+xml \\\n            application/x-web-app-manifest+json application/xhtml+xml \\\n            application/xml font/opentype image/svg+xml image/x-icon \\\n            text/css text/html text/plain text/x-component text/xml text/javascript\n    </IfModule>\n</IfModule>\n\n<IfModule mod_expires.c>\n    ExpiresActive on\n    ExpiresDefault \"access plus 31536000 seconds\"\n\n    # specific overrides\n    #ExpiresByType text/css \"access plus 1 year\"\n</IfModule>\n\n<IfModule pagespeed_module>\n    # pimcore mod_pagespeed integration\n    # pimcore automatically disables mod_pagespeed in the following situations: debug-mode on, /admin, preview, editmode, ...\n    # if you want to disable pagespeed for specific actions in pimcore you can use $this->disableBrowserCache() in your action\n    RewriteCond %{REQUEST_URI} ^/(mod_)?pagespeed_(statistics|message|console|beacon|admin|global_admin)\n    RewriteRule . - [L]\n\n    ModPagespeed Off\n    AddOutputFilterByType MOD_PAGESPEED_OUTPUT_FILTER text/html\n    ModPagespeedModifyCachingHeaders off\n    ModPagespeedRewriteLevel PassThrough\n    # low risk filters\n    ModPagespeedEnableFilters remove_comments,recompress_images\n    # low and moderate filters, recommended filters, but can cause problems\n    ModPagespeedEnableFilters lazyload_images,extend_cache_images,inline_preview_images,sprite_images\n    ModPagespeedEnableFilters combine_css,rewrite_css,move_css_to_head,flatten_css_imports,extend_cache_css,prioritize_critical_css\n    ModPagespeedEnableFilters extend_cache_scripts,combine_javascript,canonicalize_javascript_libraries,rewrite_javascript\n    # high risk\n    #ModPagespeedEnableFilters defer_javascript,local_storage_cache\n</IfModule>\n"
  },
  {
    "path": ".github/ci/files/public/index_test.php",
    "content": "<?php\n/**\n* This source file is available under the terms of the\n* Pimcore Open Core License (POCL)\n* Full copyright and license information is available in\n* LICENSE.md which is distributed with this source code.\n*\n*  @copyright  Copyright (c) Pimcore GmbH (http://www.pimcore.com)\n*  @license    Pimcore Open Core License (POCL)\n*/\n\nuse Pimcore\\Tool;\nuse Symfony\\Component\\HttpFoundation\\Request;\n\ninclude __DIR__ . \"/../vendor/autoload_runtime.php\";\n\nreturn function (array $context) {\n    define('PIMCORE_PROJECT_ROOT', __DIR__ . '/..');\n    define('APP_ENV', 'test');\n\n    $request = Request::createFromGlobals();\n\n// set current request as property on tool as there's no\n// request stack available yet\n    Tool::setCurrentRequest($request);\n\n    \\Pimcore\\Bootstrap::bootstrap();\n    /** @var \\Pimcore\\Kernel $kernel */\n    $kernel = \\Pimcore\\Bootstrap::kernel();\n\n// reset current request - will be read from request stack from now on\n    Tool::setCurrentRequest(null);\n\n    $response = $kernel->handle($request);\n    $response->send();\n\n    $kernel->terminate($request, $response);\n    return $kernel;\n};\n"
  },
  {
    "path": ".github/ci/files/security.yaml",
    "content": "security:\n    providers:\n        pimcore_admin:\n            id: Pimcore\\Security\\User\\UserProvider\n\n    firewalls:\n        dev:\n            pattern: ^/(_(profiler|wdt)|css|images|js)/\n            security: false\n\n        # Pimcore WebDAV HTTP basic // DO NOT CHANGE!\n        pimcore_webdav:\n            pattern: ^/asset/webdav\n            provider: pimcore_admin\n            http_basic: ~\n\n    access_control:\n        # Pimcore admin ACl  // DO NOT CHANGE!\n        - { path: ^/admin/settings/display-custom-logo, roles: PUBLIC_ACCESS }\n        - { path: ^/admin/login/2fa-verify, roles: IS_AUTHENTICATED_2FA_IN_PROGRESS }\n        - { path: ^/admin/login/2fa-setup, roles: ROLE_PIMCORE_USER }\n        - { path: ^/admin/login/2fa, roles: IS_AUTHENTICATED_2FA_IN_PROGRESS }\n        - { path: ^/admin/login$, roles: PUBLIC_ACCESS }\n        - { path: ^/admin/login/(login|lostpassword|deeplink|csrf-token)$, roles: PUBLIC_ACCESS }\n        - { path: ^/admin, roles: ROLE_PIMCORE_USER }\n        - { path: ^/asset/webdav, roles: ROLE_PIMCORE_USER }\n\n    role_hierarchy:\n        # Pimcore admin  // DO NOT CHANGE!\n        ROLE_PIMCORE_ADMIN: [ROLE_PIMCORE_USER]"
  },
  {
    "path": ".github/ci/files/templates/.gitkeep",
    "content": ""
  },
  {
    "path": ".github/ci/scripts/setup-pimcore-environment.sh",
    "content": "#!/bin/bash\n\nset -eu\n\nmkdir -p var/config\nmkdir -p bin\n\ncp .github/ci/files/.env .\ncp -r .github/ci/files/config/. config\ncp -r .github/ci/files/templates/. templates\ncp -r .github/ci/files/bin/console bin/console\nchmod 755 bin/console\ncp -r .github/ci/files/kernel/. kernel\ncp -r .github/ci/files/public/. public\n\n"
  },
  {
    "path": ".github/workflows/cla-check.yaml",
    "content": "name: CLA check\n\non:\n  issue_comment:\n    types: [created]\n  pull_request_target:\n    types: [opened, closed, synchronize]\n\njobs:\n  cla-workflow:\n    uses: pimcore/workflows-collection-public/.github/workflows/reusable-cla-check.yaml@main\n    if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target'\n    secrets:\n      CLA_ACTION_ACCESS_TOKEN: ${{ secrets.CLA_ACTION_ACCESS_TOKEN }}\n"
  },
  {
    "path": ".github/workflows/codeception.yml",
    "content": "name: \"Codeception Tests centralised\"\n\non:\n    schedule:\n        - cron: \"0 3 * * 1,3,5\"\n    workflow_dispatch:\n    push:\n        branches:\n            - \"[0-9]+.[0-9]+\"\n            - \"[0-9]+.x\"\n            - \"feature-*\"\n    pull_request_target:\n        types: [opened, synchronize, reopened]\n\nenv:\n    PIMCORE_PROJECT_ROOT: ${{ github.workspace }}\n    PRIVATE_REPO: ${{ github.event.repository.private }}\n\nconcurrency:\n    group: ${{ github.workflow }}-${{ github.head_ref || github.ref_name }}\n    cancel-in-progress: true\n\njobs:\n    setup-matrix:\n        runs-on: ubuntu-latest\n        outputs:\n            php_versions: ${{ steps.parse-php-versions.outputs.php_versions }}\n            matrix: ${{ steps.set-matrix.outputs.matrix }}\n            private_repo: ${{ env.PRIVATE_REPO }}\n        steps:\n            - name: Checkout code\n              uses: actions/checkout@v4\n              with:\n                  ref: ${{ github.event.pull_request.base.ref || github.ref }}\n\n            - name: Checkout reusable workflow repo\n              uses: actions/checkout@v4\n              with:\n                  repository: pimcore/workflows-collection-public\n                  ref: main\n                  path: reusable-workflows\n\n            - name: Parse PHP versions from composer.json\n              id: parse-php-versions\n              run: |\n                  if [ -f composer.json ]; then\n                    php_versions=$(jq -r '.require.php' composer.json | grep -oP '\\d+\\.\\d+' | tr '\\n' ',' | sed 's/,$//')\n                    if [ -z \"$php_versions\" ]; then\n                      echo \"No PHP versions found in composer.json\"\n                      echo \"Setting default PHP value\"\n                      echo \"php_versions=default\" >> $GITHUB_OUTPUT\n                    else\n                      echo \"php_versions=$php_versions\" >> $GITHUB_OUTPUT\n                      echo \"#### php versions #### : $php_versions\"\n                    fi\n                  else\n                    echo \"composer.json not found\"\n                    exit 1\n                  fi\n\n            - name: Set up matrix\n              id: set-matrix\n              run: |\n                  php_versions=\"${{ steps.parse-php-versions.outputs.php_versions }}\"\n\n                  MATRIX_JSON=$(cat reusable-workflows/codeception-tests-configuration/matrix-config.json)\n\n                  IFS=',' read -ra VERSIONS_ARRAY <<< \"$php_versions\"\n\n                  FILTERED_MATRIX_JSON=$(echo $MATRIX_JSON | jq --arg php_versions \"$php_versions\" '\n                  {\n                    matrix: [\n                      .configs[] |\n                      select(.php_version == $php_versions) |\n                      .matrix[]\n                    ]\n                  }')\n\n                  ENCODED_MATRIX_JSON=$(echo $FILTERED_MATRIX_JSON | jq -c .)\n\n                  echo \"matrix=${ENCODED_MATRIX_JSON}\" >> $GITHUB_OUTPUT\n\n    codeception-tests:\n        needs: setup-matrix\n        strategy:\n            matrix: ${{ fromJson(needs.setup-matrix.outputs.matrix) }}\n        uses: pimcore/workflows-collection-public/.github/workflows/reusable-codeception-tests-centralized.yaml@main\n        with:\n            APP_ENV: test\n            PIMCORE_TEST: 1\n            PRIVATE_REPO: ${{ needs.setup-matrix.outputs.private_repo}}\n            PHP_VERSION: ${{ matrix.matrix.php-version }}\n            DATABASE: ${{ matrix.matrix.database }}\n            SERVER_VERSION: ${{ matrix.matrix.server_version }}\n            DEPENDENCIES: ${{ matrix.matrix.dependencies }}\n            EXPERIMENTAL: ${{ matrix.matrix.experimental }}\n            PIMCORE_VERSION: ${{ matrix.matrix.pimcore_version }}\n        secrets:\n            SSH_PRIVATE_KEY_PIMCORE_DEPLOYMENTS_USER: ${{ secrets.SSH_PRIVATE_KEY_PIMCORE_DEPLOYMENTS_USER }}\n            COMPOSER_PIMCORE_REPO_PACKAGIST_TOKEN: ${{ secrets.COMPOSER_PIMCORE_REPO_PACKAGIST_TOKEN }}\n            PIMCORE_INSTANCE_IDENTIFIER: ${{ secrets.PIMCORE_CI_INSTANCE_IDENTIFIER }}\n            PIMCORE_ENCRYPTION_SECRET: ${{ secrets.PIMCORE_CI_ENCRYPTION_SECRET }}\n            PIMCORE_PRODUCT_KEY: ${{ secrets.PIMCORE_CI_PRODUCT_KEY }}\n"
  },
  {
    "path": ".github/workflows/frontend-build-pr.yaml",
    "content": "name: \"Frontend Build (PR and Feature Branches)\"\n\non:\n  push:\n    branches:\n      - \"[0-9]+.[0-9]+\"\n      - \"feature-*\"\n      - \"nightly\"\n  pull_request_target:\n    branches:\n      - \"[0-9]+.[0-9]+\"\n      - \"[0-9]+.x\"\n      - \"*_actions\"\n      - \"feature-*\"\n      - \"nightly\"\n  workflow_dispatch:\n  \nenv:\n BRANCH_NAME: ${{ github.head_ref || github.ref_name }} \n\npermissions:\n  contents: read\n\njobs:\n  build:\n    permissions:\n      contents: write\n    uses: ./.github/workflows/shared-frontend-build.yaml\n"
  },
  {
    "path": ".github/workflows/frontend-publish-unified.yaml",
    "content": "name: Frontend build and publish\n\non:\n  push:\n    branches:\n      - \"[0-9]+.x\"\n      - \"[0-9].[0-9]\"\n    tags:\n      - \"v*\"\n  workflow_dispatch:\n\nenv:\n  BRANCH_NAME: ${{ github.head_ref || github.ref_name }}\n  TARGET_RELEASE: 2.4.0\n\npermissions:\n  id-token: write  # Required for OIDC\n  contents: read\n\njobs:\n  canary-build:\n    if: github.event_name != 'push' || !startsWith(github.ref, 'refs/tags/')\n    permissions:\n      contents: write\n    uses: ./.github/workflows/shared-frontend-build.yaml\n\n  canary-generate-version:\n    if: github.event_name != 'push' || !startsWith(github.ref, 'refs/tags/')\n    needs: canary-build\n    runs-on: ubuntu-latest\n    outputs:\n      generated_version: ${{ steps.gen.outputs.version }}\n    steps:\n      - name: Checkout repository\n        uses: actions/checkout@v4\n\n      - name: Generate Canary Version\n        id: gen\n        shell: bash\n        run: |\n          # Get the base version (e.g., \"1.2.3\") from package.json\n          BASE_VERSION=${{ env.TARGET_RELEASE }}\n          # Remove any pre-release suffix if present\n          BASE_VERSION=${BASE_VERSION%%-*}\n          # Create a timestamp (YYYYMMDD--HHMMSS)\n          TIMESTAMP=$(date +'%Y%m%d-%H%M%S')\n          # Get a short commit hash (7 characters)\n          GIT_HASH=$(git rev-parse --short=7 HEAD)\n          NEW_VERSION=\"${BASE_VERSION}-canary.${TIMESTAMP}-${GIT_HASH}\"\n          echo \"Computed version: ${NEW_VERSION}\"\n          echo \"version=${NEW_VERSION}\" >> \"$GITHUB_OUTPUT\"\n\n  canary-publish:\n    if: github.event_name != 'push' || !startsWith(github.ref, 'refs/tags/')\n    needs: canary-generate-version\n    permissions:\n      id-token: write  # Required for OIDC\n      contents: read\n    uses: ./.github/workflows/shared-npm-publish.yaml\n    with:\n      version: \"${{ needs.canary-generate-version.outputs.generated_version }}\"\n      tag: \"canary\"\n\n  release-determine-version:\n    if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')\n    runs-on: ubuntu-latest\n    outputs:\n      version: ${{ steps.extract_version.outputs.version }}\n      npm_tag: ${{ steps.extract_npm.outputs.npm_tag }}\n    steps:\n      - name: Checkout repository\n        uses: actions/checkout@v4\n\n      - name: Extract version from tag\n        id: extract_version\n        shell: bash\n        run: |\n          # In a push event on a tag, github.ref_name contains the tag name (e.g. \"v1.2.3\")\n          TAG_NAME=\"${GITHUB_REF_NAME}\"  \n          echo \"Detected tag: ${TAG_NAME}\"\n          # Remove the leading \"v\" using Bash parameter expansion\n          VERSION=\"${TAG_NAME#v}\"\n          echo \"Computed version: ${VERSION}\"\n          echo \"version=${VERSION}\" >> \"$GITHUB_OUTPUT\"\n\n      - name: Extract npm tag\n        id: extract_npm\n        shell: bash\n        run: |\n          # Retrieve the version from the previous step\n          VERSION=\"${{ steps.extract_version.outputs.version }}\"\n          echo \"Using version: ${VERSION}\"\n          \n          # Determine the npm tag:\n          # If the version contains a hyphen, assume there is a pre-release identifier.\n          if [[ \"$VERSION\" == *\"-\"* ]]; then\n              # Extract text after the first hyphen\n              pre_release=\"${VERSION#*-}\"\n              # Extract only the leading contiguous alphabetical string\n              npm_tag=\"$(echo \"$pre_release\" | grep -oE '^[A-Za-z]+' | tr '[:upper:]' '[:lower:]')\"\n              \n              # Fallback: if nothing is extracted, default to latest.\n              if [ -z \"$npm_tag\" ]; then\n                  npm_tag=\"latest\"\n              fi\n          else\n              npm_tag=\"latest\"\n          fi\n          echo \"Computed npm tag: ${npm_tag}\"\n          \n          # Export the npm tag as an output for downstream steps\n          echo \"npm_tag=${npm_tag}\" >> \"$GITHUB_OUTPUT\"\n\n  publish-release:\n    if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')\n    needs: release-determine-version\n    uses: ./.github/workflows/shared-npm-publish.yaml\n    with:\n      version: \"${{ needs.release-determine-version.outputs.version }}\"\n      tag: \"${{ needs.release-determine-version.outputs.npm_tag }}\"\n"
  },
  {
    "path": ".github/workflows/new-docs.yml",
    "content": "name: \"Documentation (Reusable)\"\n\non:\n  pull_request_target:\n    branches:\n      - \"[0-9]+.[0-9]+\"\n      - \"[0-9]+.x\"\n      - \"docs_actions\"\n    paths:\n      - \"doc/**\"\n      - \".github/workflows/new-docs.yml\"\n      - \"README.md\"\n  push:\n    branches:\n      - \"[0-9]+.[0-9]+\"\n      - \"[0-9]+.x\"\n      - \"docs_actions\"\n    paths:\n      - \"doc/**\"\n      - \".github/workflows/new-docs.yml\"\n      - \"README.md\"\n\npermissions:\n  contents: read\n\njobs:\n  docs:\n    uses: pimcore/workflows-collection-public/.github/workflows/reusable-docs.yaml@main\n    with:\n      docs_path: \"doc\"\n    secrets:\n      DOCS_GENERATOR_ACCESS_TOKEN: ${{ secrets.DOCS_GENERATOR_ACCESS_TOKEN }}\n"
  },
  {
    "path": ".github/workflows/new-php-cs-fixer.yaml",
    "content": "name: \"PHP-CS-Fixer\"\n\non:\n  workflow_dispatch:\n  push:\n    branches:\n      - \"[0-9]+.[0-9]+\"\n      - \"[0-9]+.x\"\n      - \"*_actions\"\n      - \"feature-*\"\n\npermissions:\n  contents: write\n\njobs:\n  php-style:\n    uses: pimcore/workflows-collection-public/.github/workflows/reusable-php-cs-fixer.yaml@fix-failed-workflow\n    with:\n      head_ref: ${{ github.head_ref || github.ref_name }}\n      repository: ${{ github.repository }}\n      config_file: \".php-cs-fixer.dist.php\"\n    secrets:\n      PHP_CS_FIXER_GITHUB_TOKEN: ${{ secrets.PHP_CS_FIXER_GITHUB_TOKEN }}\n"
  },
  {
    "path": ".github/workflows/new-static-analysis.yaml",
    "content": "name: \"Static analysis centralised\"\n\non:\n  schedule:\n    - cron: '0 3 * * 1,3,5'\n  workflow_dispatch:\n  pull_request:\n    types: [ opened, synchronize, reopened ]\n    paths-ignore:\n      - 'assets/**'\n      - 'assets-customized/**'\n      - 'doc/**'\n      - 'install/**'\n      - 'src/Resources/public/**'\n  push:\n    paths-ignore:\n      - 'assets/**'\n      - 'assets-customized/**'\n      - 'doc/**'\n      - 'install/**'\n      - 'src/Resources/public/**'\n    branches:\n      - \"[0-9]+.[0-9]+\"\n      - \"[0-9]+.x\"\n\nenv:\n  PIMCORE_PROJECT_ROOT: ${{ github.workspace }}\n  PRIVATE_REPO: ${{ github.event.repository.private }}\n\nconcurrency:\n  group: ${{ github.workflow }}-${{ github.head_ref || github.ref_name }}\n  cancel-in-progress: true\n\njobs:\n  setup-matrix:\n    runs-on: ubuntu-latest\n    outputs:\n      php_versions: ${{ steps.parse-php-versions.outputs.php_versions }}\n      phpstan_matrix: ${{ steps.set-matrix.outputs.phpstan_matrix }}\n      private_repo: ${{ env.PRIVATE_REPO }}\n    steps:\n      - name: Checkout code\n        uses: actions/checkout@v4\n\n      - name: Checkout reusable workflow repo\n        uses: actions/checkout@v4\n        with:\n          repository: pimcore/workflows-collection-public\n          ref: main\n          path: reusable-workflows\n\n      - name: Parse PHP versions from composer.json\n        id: parse-php-versions\n        run: |\n          if [ -f composer.json ]; then\n            php_versions=$(jq -r '.require.php' composer.json | grep -oP '\\d+\\.\\d+' | tr '\\n' ',' | sed 's/,$//')\n            if [ -z \"$php_versions\" ]; then\n              echo \"php_versions=default\" >> \"$GITHUB_OUTPUT\"\n            else\n              echo \"php_versions=$php_versions\" >> \"$GITHUB_OUTPUT\"\n            fi\n          else\n            exit 1\n          fi\n\n      - name: Set up matrix JSON\n        id: set-matrix\n        run: |\n          php_versions=\"${{ steps.parse-php-versions.outputs.php_versions }}\"\n          MATRIX_JSON=$(cat reusable-workflows/phpstan-configuration/matrix-config.json)\n          FILTERED_MATRIX_JSON=$(echo \"$MATRIX_JSON\" | jq --arg php_versions \"$php_versions\" '{ include: [ .configs[] | select(.php_version == $php_versions) | .matrix[] ] }')\n          ENCODED_MATRIX_JSON=$(echo \"$FILTERED_MATRIX_JSON\" | jq -c .)\n          echo \"phpstan_matrix=$ENCODED_MATRIX_JSON\" >> \"$GITHUB_OUTPUT\"\n\n  static-analysis:\n    needs: setup-matrix\n    uses: pimcore/workflows-collection-public/.github/workflows/reusable-static-analysis-unified.yaml@main\n    with:\n      phpstan_matrix: ${{ needs.setup-matrix.outputs.phpstan_matrix }}\n      private_repo: ${{ needs.setup-matrix.outputs.private_repo }}\n      APP_ENV: test\n      PIMCORE_TEST: 1\n      COVERAGE: \"none\"\n    secrets:\n      SSH_PRIVATE_KEY_PIMCORE_DEPLOYMENTS_USER: ${{ secrets.SSH_PRIVATE_KEY_PIMCORE_DEPLOYMENTS_USER }}\n      COMPOSER_PIMCORE_REPO_PACKAGIST_TOKEN: ${{ secrets.COMPOSER_PIMCORE_REPO_PACKAGIST_TOKEN }}\n      PIMCORE_CI_INSTANCE_IDENTIFIER: ${{ secrets.PIMCORE_CI_INSTANCE_IDENTIFIER }}\n      PIMCORE_CI_ENCRYPTION_SECRET: ${{ secrets.PIMCORE_CI_ENCRYPTION_SECRET }}\n      PIMCORE_CI_PRODUCT_KEY: ${{ secrets.PIMCORE_CI_PRODUCT_KEY }}\n"
  },
  {
    "path": ".github/workflows/shared-frontend-build.yaml",
    "content": "name: \"Shared Frontend Build\"\n\non:\n  workflow_call:\n\npermissions:\n  contents: write\n\njobs:\n  install:\n    runs-on: ubuntu-latest\n\n    steps:\n      - name: Checkout code\n        uses: actions/checkout@v4\n        with:\n          ref: ${{ github.head_ref || github.ref_name }}\n          repository: ${{ github.event.pull_request.head.repo.full_name }}\n\n      - name: Set up Node.js\n        uses: actions/setup-node@v4\n        with:\n          node-version: 24\n\n      - name: Cache npm dependencies\n        uses: actions/cache@v4\n        with:\n          path: ./assets/studio/node_modules\n          key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}\n          restore-keys: |\n            ${{ runner.os }}-node-\n      - name: Install dependencies\n        working-directory: ./assets/studio\n        run: npm ci\n\n  lint:\n    needs: install\n    runs-on: ubuntu-latest\n\n    steps:\n      - name: Checkout code\n        uses: actions/checkout@v4\n        with:\n          ref: ${{ github.head_ref || github.ref_name }}\n          repository: ${{ github.event.pull_request.head.repo.full_name }}\n\n      - name: Set up Node.js\n        uses: actions/setup-node@v4\n        with:\n          node-version: 24\n\n      - name: Cache npm dependencies\n        uses: actions/cache@v4\n        with:\n          path: ./assets/studio/node_modules\n          key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}\n          restore-keys: |\n            ${{ runner.os }}-node-\n      - name: Run code linting\n        working-directory: ./assets/studio\n        run: npm run lint-fix\n\n      - uses: stefanzweifel/git-auto-commit-action@v5\n        with:\n            commit_message: Apply eslint-fixer changes\n\n  check-types:\n    needs: install\n    runs-on: ubuntu-latest\n\n    steps:\n      - name: Checkout code\n        uses: actions/checkout@v4\n        with:\n          ref: ${{ github.head_ref || github.ref_name }}\n          repository: ${{ github.event.pull_request.head.repo.full_name }}\n\n      - name: Set up Node.js\n        uses: actions/setup-node@v4\n        with:\n          node-version: 24\n\n      - name: Cache npm dependencies\n        uses: actions/cache@v4\n        with:\n          path: ./assets/studio/node_modules\n          key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}\n          restore-keys: |\n            ${{ runner.os }}-node-\n      - name: Run code linting\n        working-directory: ./assets/studio\n        run: npm run check-types\n\n  build:\n    needs: \n      - lint\n      - check-types\n    runs-on: ubuntu-latest\n\n    steps:\n      - name: Checkout code\n        uses: actions/checkout@v4\n        with:\n          ref: ${{ github.head_ref || github.ref_name }}\n          repository: ${{ github.event.pull_request.head.repo.full_name }}\n\n      - name: Set up Node.js\n        uses: actions/setup-node@v4\n        with:\n          node-version: 24\n\n      - name: Cache npm dependencies\n        uses: actions/cache@v4\n        with:\n          path: ./assets/studio/node_modules\n          key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}\n          restore-keys: |\n            ${{ runner.os }}-node-\n      - name: Run production build\n        working-directory: ./assets/studio\n        run: npm run build\n\n      - uses: stefanzweifel/git-auto-commit-action@v5\n        with:\n          file_pattern: './src/Resources/public/studio/'\n          commit_message: Automatic frontend build\n"
  },
  {
    "path": ".github/workflows/shared-npm-publish.yaml",
    "content": "name: shared-npm-publish\n\non:\n  workflow_call:\n    inputs:\n      version:\n        description: \"The new version to set (e.g., 1.2.3)\"\n        required: true\n        type: string\n      tag:\n        description: \"The npm tag to use when publishing (default: latest)\"\n        required: false\n        type: string\n        default: \"latest\"\n\nenv:\n  BRANCH_NAME: ${{ github.head_ref || github.ref_name }}\n\njobs:\n  install:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout code\n        uses: actions/checkout@v4\n        with:\n          ref: ${{ env.BRANCH_NAME }}\n          repository: ${{ github.event.pull_request.head.repo.full_name }}\n\n      - name: Set up Node.js\n        uses: actions/setup-node@v4\n        with:\n          node-version: '24'\n          registry-url: 'https://registry.npmjs.org'\n\n      - name: Cache npm dependencies\n        uses: actions/cache@v4\n        with:\n          path: ./assets/studio/node_modules\n          key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}\n          restore-keys: |\n            ${{ runner.os }}-node-\n\n      - name: Install dependencies\n        working-directory: ./assets/studio\n        run: npm ci\n\n  publish:\n    runs-on: ubuntu-latest\n    needs: install\n    permissions:\n      id-token: write  # Required for OIDC\n      contents: read\n    steps:\n      - name: Checkout code\n        uses: actions/checkout@v4\n        with:\n          ref: ${{ env.BRANCH_NAME }}\n          repository: ${{ github.event.pull_request.head.repo.full_name }}\n\n      - name: Cache npm dependencies\n        uses: actions/cache@v4\n        with:\n          path: ./assets/studio/node_modules\n          key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}\n          restore-keys: |\n            ${{ runner.os }}-node-\n\n      - name: Run build types\n        working-directory: ./assets/studio\n        run: npm run generate-types\n\n      - name: Setup Node.js\n        uses: actions/setup-node@v4\n        with:\n          node-version: '24'\n          registry-url: 'https://registry.npmjs.org'\n\n      - name: Set package version\n        working-directory: ./assets/studio\n        run: npm version ${{ inputs.version }} --no-git-tag-version --allow-same-version\n\n      - name: Publish package to npm with OIDC\n        working-directory: ./assets/studio\n        run: npx npm@latest publish --tag ${{ inputs.tag }} --access public\n"
  },
  {
    "path": ".github/workflows/stale.yml",
    "content": "name: Handle stale issues\n\non:\n  workflow_dispatch:\n  schedule:\n      - cron: '37 7 * * *'\n\njobs:\n  call-stale-workflow:\n    uses: pimcore/workflows-collection-public/.github/workflows/stale.yml@v1.1.0\n"
  },
  {
    "path": ".gitignore",
    "content": "Thumbs.db\n*.log\n\n# symfony default\n/.web-server-pid\n/app/config/parameters.yml\n/build/\n/phpunit.xml\n/web/bundles/\n/web/var/\n\n# PHP-CS-Fixer\n/.php_cs\n/.php-cs-fixer.cache\n\n# composer\n/composer.lock\n\n# PhpStorm / IDEA\n.idea\n\n\n# Test env\n/bin\n/cache\n/config\n/kernel\n/public\n/templates\n/tests/_output\n/tests/_support/_generated\n/var\n/vendor\n/.env\n/.env.test\n/.htaccess\n/auth.json\n/config.json\n\n# studio related\n/assets/studio/node_modules\nassets/studio/dist/*\n!assets/studio/dist/.gitkeep\n!assets/studio/dist/types\n!assets/studio/dist/types/*\n"
  },
  {
    "path": ".php-cs-fixer.dist.php",
    "content": "<?php\n\n$finder = PhpCsFixer\\Finder::create()\n    ->in([\n        __DIR__ . '/src',\n        __DIR__ . '/tests',\n    ])\n\n    ->exclude([\n        __DIR__ . '/tests/_output',\n        __DIR__ . '/tests/_support/_generated',\n    ])\n;\n\n// do not enable self_accessor as it breaks pimcore models relying on get_called_class()\n$config = new PhpCsFixer\\Config();\n$config->setRules([\n    '@PSR1'                  => true,\n    '@PSR2'                  => true,\n    'array_syntax'           => ['syntax' => 'short'],\n    'list_syntax'            => ['syntax' => 'short'],\n\n    'header_comment'         => [\n        'comment_type' => 'PHPDoc',\n        'header' =>\n            'This source file is available under the terms of the' . PHP_EOL .\n            'Pimcore Open Core License (POCL)' . PHP_EOL .\n            'Full copyright and license information is available in' . PHP_EOL .\n            'LICENSE.md which is distributed with this source code.' . PHP_EOL .\n            PHP_EOL .\n            ' @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)' . PHP_EOL .\n            ' @license    Pimcore Open Core License (POCL)'\n    ],\n\n    'blank_line_before_statement'         => true,\n    'encoding'                            => true,\n    'function_typehint_space'             => true,\n    'single_line_comment_style'           => true,\n    'lowercase_cast'                      => true,\n    'magic_constant_casing'               => true,\n    'method_argument_space'               => ['on_multiline' => 'ignore'],\n    'class_attributes_separation'         => true,\n    'native_function_casing'              => true,\n    'no_blank_lines_after_class_opening'  => true,\n    'no_blank_lines_after_phpdoc'         => true,\n    'no_empty_comment'                    => true,\n    'no_empty_phpdoc'                     => true,\n    'no_empty_statement'                  => true,\n    'no_extra_blank_lines'                => true,\n    'no_leading_import_slash'             => true,\n    'no_leading_namespace_whitespace'     => true,\n    'no_short_bool_cast'                  => true,\n    'no_spaces_around_offset'             => true,\n    'no_superfluous_phpdoc_tags'          => ['allow_mixed' => true, 'remove_inheritdoc' => true],\n    'no_unneeded_control_parentheses'     => true,\n    'no_unused_imports'                   => true,\n    'no_whitespace_before_comma_in_array' => true,\n    'no_whitespace_in_blank_line'         => true,\n    'object_operator_without_whitespace'  => true,\n    'ordered_imports'                     => true,\n    'phpdoc_indent'                       => true,\n    'phpdoc_no_useless_inheritdoc'        => true,\n    'phpdoc_scalar'                       => true,\n    'phpdoc_separation'                   => true,\n    'phpdoc_single_line_var_spacing'      => true,\n    'return_type_declaration'             => true,\n    'short_scalar_cast'                   => true,\n    'single_blank_line_before_namespace'  => true,\n    'single_quote'                        => true,\n    'space_after_semicolon'               => true,\n    'standardize_not_equals'              => true,\n    'ternary_operator_spaces'             => true,\n    'trailing_comma_in_multiline'         => true,\n    'whitespace_after_comma_in_array'     => true,\n]);\n\n$config->setFinder($finder);\nreturn $config;\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "# Contributing to Pimcore Datahub\n\n## Bug Reports & Feature Requests\nThe Pimcore team heavily uses (and loves!) GitHub for all of our software management. \nWe use GitHub issues exclusively to track all bugs and features.\n\n* [Open an issue](https://github.com/pimcore/data-hub/issues) here on GitHub. \nIf you can, **please provide a fix and create a pull request (PR) instead**; this will automatically create an issue for you.\n* Report security issues only to security@pimcore.org \n* Please be patient as not all items will be tested immediately - remember, Pimcore Datahub is open core and free of charge. \n* Occasionally we'll close issues if they appear stale or are too vague - please don't take this personally! \nPlease feel free to re-open issues we've closed if there's something we've missed, and they still need to be addressed.\n\n## Contributing Pull Requests\nPR's are even better than issues. \nWe gladly accept community pull requests. \nThere are a few necessary steps before we can accept a pull request:\n\n* [Fork us!](https://help.github.com/articles/fork-a-repo/)\n* Select the right branch. main(e.g. 1.x) for features and improvements or latest maintenance branch for bug fixes (e.g. 1.0)\n* Code! Follow the coding standards defined [here](https://github.com/pimcore/data-hub/blob/1.x/.php-cs-fixer.dist.php).\n* [Send a pull request](https://help.github.com/articles/using-pull-requests/) from your fork’s branch to our `master` branch.\n* [Sign the CLA](https://cla-assistant.io/pimcore/data-hub) - see also below.\n\n\n### Contributor License Agreement\nThe following terms are used throughout this agreement:\n\n* **You** - the person or legal entity including its affiliates asked to accept this agreement. An affiliate is any \nentity that controls or is controlled by the legal entity, or is under common control with it.\n\n* **Project** - is an umbrella term that refers to any and all Pimcore projects.\n\n* **Contribution** - any type of work that is submitted to a Project, including any modifications or additions to \nexisting work.\n\n* **Submitted** - conveyed to a Project via a pull request, commit, issue, or any form of electronic, written, or \nverbal communication with Pimcore, contributors or maintainers.\n\n#### 1. Grant of Copyright License.\nSubject to the terms and conditions of this agreement, You grant to the Projects’ maintainers, contributors, users and \nto Pimcore a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, \nprepare derivative works of, publicly display, publicly perform, sublicense, and distribute Your contributions and such \nderivative works. Except for this license, You reserve all rights, title, and interest in your contributions.\n\n#### 2. Grant of Patent License.\nSubject to the terms and conditions of this agreement, You grant to the Projects’ maintainers, contributors, users and \nto Pimcore a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) \npatent license to make, have made, use, offer to sell, sell, import, and otherwise transfer your contributions, where \nsuch license applies only to those patent claims licensable by you that are necessarily infringed by your contribution \nor by combination of your contribution with the project to which this contribution was submitted. \n\nIf any entity institutes patent litigation - including cross-claim or counterclaim in a lawsuit - against You alleging \nthat your contribution or any project it was submitted to constitutes or is responsible for direct or contributory \npatent infringement, then any patent licenses granted to that entity under this agreement shall terminate as of the \ndate such litigation is filed.\n\n#### 3. Source of Contribution.\nYour contribution is either your original creation, based upon previous work that, to the best of your knowledge, is \ncovered under an appropriate open source license and you have the right under that license to submit that work with \nmodifications, whether created in whole or in part by you, or you have clearly identified the source of the contribution \nand any license or other restriction (like related patents, trademarks, and license agreements) of which you are \npersonally aware.\n"
  },
  {
    "path": "LICENSE.md",
    "content": "# License\nCopyright (C) Pimcore GmbH (https://www.pimcore.com)\n\nThis software is available under the terms of the\nfollowing Pimcore Open Core License (POCL)\n\n\n**PIMCORE OPEN CORE LICENSE AGREEMENT (POCL)**\n\n**Last Update: June 2025**\n\nThis Open Core License Agreement (\"**Agreement**\" or “**POCL**”), effective as of the day of the first installation or use by Customer (the \"**Effective Date**\"), is by and between Pimcore GmbH, Söllheimer Straße 16, AT-5020 Salzburg, Republic of Austria (hereinafter \"**Licensor**\" or “**Pimcore**”) and the user of the Software, as defined herein, (hereinafter \"**Licensee**\" or \"**Customer**\"). Licensor and Licensee may be referred to herein collectively as the \"**Parties**\" or individually as a \"**Party**.\"\n\n**WHEREAS** Licensor desires to license out certain Pimcore Software (“**Software**“).\n\n**WHEREAS** (a) Software for which the source code is publicly available but which is not licensed out as open source software is \"**Open Core Software**\" and\n    (b) Software for which the source code is not publicly available is \"**Proprietary Software**\",\n    both covered by this Agreement.\n\n**WHEREAS** the exact products that are available under this Agreement are defined in the additional contractual documents or by inclusion of, or referral to, this Agreement within the source code or within the source code repositories; if not provided for otherwise, a software element is Proprietary Software.\n\n**WHEREAS** the Software is protected by copyright world- wide; and\n\n**WHEREAS** Licensee desires to obtain a license to use the Software for its internal business purposes, subject to the terms and conditions of this Agreement.\n\n**NOW, THEREFORE**, in consideration of the mutual covenants, terms, and conditions set forth herein, and for other good and valuable consideration, the receipt and sufficiency of which are hereby acknowledged, the Parties agree as follows.\n\n### 1. LICENSE\n1.1 PLEASE READ THIS PIMCORE SOFTWARE LICENSE AGREEMENT CAREFULLY AS IT CONSTITUTES A LEGALLY BINDING AGREEMENT. BY INSTALLING OR USING THE SOFTWARE, YOU ACCEPT AND AGREE TO ALL TERMS AND CONDITIONS OF THIS AGREEMENT, AND CONFIRM THAT YOUR STATEMENT – IF APPLICABLE – ON THE RELEVANT GLOBAL REVENUE IS CORRECT AND COMPLETE. IF YOU REPRESENT A LEGAL ENTITY, YOU REPRESENT AND WARRANT THAT YOU HAVE FULL LEGAL AUTHORITY TO ENTER INTO THIS AGREEMENT TO BIND THAT LEGAL ENTITY. IF YOU DO NOT AGREE TO THESE TERMS AND CONDITIONS, YOU MAY NOT INSTALL OR USE THE SOFTWARE.\n\n1.2 Pimcore grants the Customer a non-exclusive, non-transferable, non-sublicensable, geographically unlimited right, limited in time to the term of the Agreement, to use the Software and to customize, modify or adapt it for its own purposes. Unless if required by Pimcore for compliance with applicable laws or any order of a governmental authority, the Customer is not obliged to share these modifications, adaptations, and customizations (“**Derivatives**”) with Pimcore or anyone else.\n\n1.2.1 Solution Development and Production Use (Open Core Software)\n \n“**Production Use**” means the usage of a software for development of solutions and productions within a business operation.\n\na) An organization with total global revenue not exceeding €5 million (€5M) or equivalent amount in other currency annually (“**Threshold**”) may qualify for a free license for Production Use of the Open Core Software, provided such organization is not a part, subsidiary, affiliate, or shell company to another organization, entity, or company group whose total combined revenue exceeds the Threshold. Eligibility must be self-certified by the Customer when starting the use of the Open Core Software and is subject to periodic review and audit by Pimcore. If at any time the Customer’s revenue exceeds the Threshold, a paid commercial license will be required for continued Production Use of the software. The Customer is obliged to inform Pimcore about relevant changes in revenues. Pimcore is entitled to charge license fees retroactively from the date on which Customer exceeded the Threshold.\n\nb) Non-profit and educational organizations are eligible for a free license for Production Use of the Open Core Software, subject to Pimcore’s non-profit criteria. For this purpose, “non-profit” refers to entities that are legally recognized as non-profit or tax-exempt under applicable law and operate exclusively for charitable, educational, or scientific purposes without profit distribution. Government bodies, municipalities, political parties, and public institutions are excluded unless explicitly approved by Pimcore. \n\nPimcore shall decide at its own reasonable discretion whether (a) the Threshold is exceeded or (b) the requirements for non-profit or educational usage are met. Legal recourse is excluded with regard to such decision of Pimcore.\n\n1.2.2 Non-Production Use and Transition to Production Use (Open Core Software)\n\nFor non-production purposes—such as demonstrations, prototype design, proofs of concept, and sales presentations (collectively referred to as “**Non-Production Use**”)—the use of POCL-based software is free of charge. However, to showcase or demonstrate the features of the Enterprise Edition of Pimcore for any Non-Production Use, a Pimcore Developer License Agreement (PDLA) must be purchased.\n\nIf the Customer or a Partner or any other third person acting on the Customer’s behalf initiates development of a solution with the intention or foreseeable or actual effect of deploying it into production, such use from its beginning shall be deemed Production Use of the Open Core Software for which the Threshold applies from the outset. Individual transition periods to Production Use may be agreed between Pimcore and Customer in writing.\n\nPimcore reserves the right to audit, verify and enforce compliance with these terms, including restricting or terminating access to the Open Core Software.\n\n1.2.3 The use of Proprietary Software is never free of charge. Sect. 1.2.1 and 1.2.2 do not apply to Proprietary Software.\n\n1.3 Restrictions on Use\n    \n1.3.1 The Customer may not offer the Software as a hosted or managed service by granting third parties access to a significant part of its features or functions. Additionally, the Customer may not fork, modify, or redistribute the Software, or any Derivative, in a manner that results in a competing or functionally comparable product that is offered as a free or commercial alternative to Pimcore’s official offerings.\n    \n1.3.2 The Customer shall also refrain from incorporating the Software, or any Derivative, into a commercial product or service offering materially deriving its economic value from the Software, even if it is not directly exposed or obvious.\n    \n1.3.3 The Customer is also prohibited from representing, implying, or otherwise suggesting that its use, distribution, or customization of the Software is endorsed, certified, or supported by Pimcore, unless such authorization has been explicitly granted in writing.\n    \n1.3.4 The Customer may only use the Software for its own enterprise. The Customer may not use the Software simultaneously in more instances than Customer has acquired usage licences for. The Customer is only permitted to copy the Software to the extent that this is necessary for the intended use, including the correction of errors. The creation of a backup copy is permitted if it is necessary to secure the contractual use.\n    \n1.3.5 The Customer must not, at any time, (i) rent, lease, lend, sell, license, assign, distribute, publish, transfer, or otherwise make available the Software; (ii) reverse engineer, disassemble, decompile, decode, adapt, or otherwise attempt to derive or gain access to source code of the Proprietary Software, in whole or in part; (iii) use the Software in any manner or for any purpose that infringes, misappropriate, or otherwise wireless any intellectual property ride or other ride of any person, or that violates any applicable law.\n\n1.4 If the Customer violates any of the provisions Sect. 1.2 and 1.3, all rights of usage granted under the POCL shall immediately become invalid and shall automatically revert to Pimcore. In this case, the Customer must immediately and completely cease using the Software, delete all copies of the Software installed on its systems and delete any backup copies made or hand them over to Pimcore. In addition, Pimcore reserves the right to take all legal steps.\n\n1.5 Sect. 1.4 applies accordingly if a Derivative of the Customer infringe upon patents.\n\n1.6 The parties may agree on expanded usage rights, arrangements for enterprise customers, and special OEM provisions separately.\n\n1.7 Upon request, the Customer shall enable Pimcore to verify the proper use of the Software, in particular whether the Customer is using the Software as agreed. For this purpose, the Customer shall provide Pimcore with information, grant access to relevant documents and records and enable an audit of the hardware and software environment by Pimcore or an auditing company named by Pimcore and acceptable to the Customer. Pimcore may carry out the audit on the Customer's premises during the Customer's regular business hours or have it carried out by third parties bound to secrecy. Pimcore shall ensure that the Customer's business operations are disturbed as little as possible by the on-site audit. If the inspection reveals a licence violation by the Customer that is not merely minimal, the Customer shall bear the costs of the inspection, otherwise Pimcore shall bear them. Pimcore reserves all other rights.\n\n1.8 Licensee acknowledges that, as between Licensee and Licensor, Licensor owns all right, title, and interest, including all intellectual property rights, in and to the Software and, with respect to third-party products, the applicable third-party licensors own all right, title and interest, including all intellectual property rights, in and to the third-party products.\n\n1.9 Licensor reserves all rights not expressly granted to Licensee in this Agreement. Except for the limited rights and licenses expressly granted under this Agreement, nothing in this Agreement grants, by implication, waiver, estoppel, or otherwise, to Licensee or any third party any intellectual property rights or other right, title, or interest in or to the Software.\n\n### 2. CONTRIBUTIONS OF DERIVATIVES\n2.1 If the Customer wishes to contribute to the Software or to distribute a Derivative, both must be made in accordance with the Pimcore Contributors License Agreement (“PCLA”), available at <https://github.com/pimcore/pimcore/blob/12.x/CLA.md>. The PCLA stipulates the terms under which intellectual contributions are managed, ensuring that all parties' rights are protected. Acceptance of the PCLA is mandatory for all contributors and can be reviewed on the source-code repository. Contributions without adherence to the PCLA will not be accepted.\n\n2.2 Any contribution to the Software by a Derivative must be clearly documented, in order to maintain transparency and integrity of the source code.\n    \n2.3. Any Derivative distributed must prominently be specified as “Derivative”, comply with the terms of the POCL, include copyright notices, and be licensed as a whole under the terms of the POCL, with the proviso that the recipient (licensee) of the out-licensed Derivative gets the role of the “Customer” regarding rights and obligations. Upon distribution of any Derivative, recipient must be provided with a copy of this POCL.\n\n### 3. COLLATERAL OBLIGATIONS OF THE CUSTOMER\n    \n3.1 The Customer shall not manipulate, in particular modify, move, remove, suppress, switch off or circumvent licence keys and technical protection mechanisms in the Software, e. g. directly, or through the use of intermediaries, white-labelling, or segmentation of services designed to avoid licensing obligations.\n\n3.2 The Customer shall not alter or obfuscate any of the Pimcore's licensing, copyright, or other proprietary notices within the Software. Any use of Pimcore’s trademarks must comply with applicable laws.\n\n3.3 The Customer shall not modify, relocate, disable, or bypass any functionalities associated with the Pimcore Store.\n\n3.4 The Customer shall not (a) use GPLv3-licensed Pimcore software alongside POCL licensed Software, and shall not (b) revert from POCL to GPLv3, to protect the Customer’s rights in Derivatives.\n\n3.5 The Customer must ensure that the access data to the user accounts is not passed on to unauthorised third parties and is protected against unauthorised access by third parties. The authorised users shall be instructed accordingly. The Customer shall inform Pimcore immediately if there is a suspicion of misuse of the Software.\n\n3.6 If Customer infringes upon one of the provisions set up by Sect. 3.1 through 3.5, Sect. 1.4 sentence 1 applies accordingly.\n\n### 4. CONFIDENTIALITY\n\nFrom time to time during the Term, either Party may disclose or make available to the other Party information about its business affairs, products, confidential intellectual property, trade secrets, third-party confidential information, and other sensitive or proprietary information, whether orally or in written, electronic, or other form or media, and whether or not marked, designated or otherwise identified as \"confidential\" (collectively, \"**Confidential Information**\"). Confidential Information does not include information that, at the time of disclosure is: (a) in the public domain; (b) known to the receiving Party at the time of disclosure; (c) rightfully obtained by the receiving Party on a non-confidential basis from a third party; or (d) independently developed by the receiving Party. The receiving Party shall not disclose the disclosing Party's Confidential Information to any person or entity, except to the receiving Party's employees who have a need to know the Confidential Information for the receiving Party to exercise its rights or perform its obligations hereunder. Notwithstanding the foregoing, each Party may disclose Confidential Information to the limited extent required (i) in order to comply with the order of a court or other governmental body, or as otherwise necessary to comply with applicable law, provided that the Party making the disclosure pursuant to the order shall first have given written notice to the other Party and made a reasonable effort to obtain a protective order; or (ii) to establish a Party's rights under this Agreement, including to make required court filings. On the expiration or termination of this Agreement, the receiving Party shall promptly return to the disclosing Party all copies, whether in written, electronic, or other form or media, of the disclosing Party's Confidential Information, or destroy all such copies and certify in writing to the disclosing Party that such Confidential Information has been destroyed. Each Party's obligations of non­disclosure with regard to Confidential Information are effective as of the Effective Date and will expire five years from the date first disclosed to the receiving Party; provided, however, with respect to any Confidential Information that constitutes a trade secret (as determined under applicable law), such obligations of non-disclosure will survive the termination or expiration of this Agreement for as long as such Confidential Information remains subject to trade secret protection under applicable law.\n\n### 5. LIMITED WARRANTY AND WARRANTY DISCLAIMER\n\nPimcore warrants that, at the time of delivery, the Software does not contain any virus or other malicious code that would cause the Software to become inoperable or incapable of being used in accordance with its documentation. The warranties set forth herein do not apply and become null and void if Licensee breaches any material provision of this Agreement or any instrument related hereto, or if Licensee, or any person provided access to the Software by Licensee whether or not in violation of this Agreement: (i) installs or uses the Software on or in connection with any hardware or software not specified in the documentation or expressly authorized by Licensor in writing; (ii) illicitly modifies or damages the Software; or (iii) misuses the Software, including any use of the Software other than as specified in the documentation or expressly authorized by Licensor in writing. If any Software fails to comply with the warranty set forth hereinbefore, and such failure is not excluded from warranty pursuant to this provision, Licensor shall, subject to Licensee's promptly notifying Licensor in writing of such failure, at its sole option, either: (i) repair or replace the Software, provided that Licensee provides Licensor with all information Licensor reasonably requests to resolve the reported failure, including sufficient information to enable the Licensor to recreate such failure; or (ii) refund the fees paid for such Software, subject to Licensee's ceasing all use of and, if requested by Licensor, returning to Licensor all copies of the Software. If Licensor repairs or replaces the Software, the warranty will continue to run from the Effective Date and not from Licensee's receipt of the repair or replacement. The remedies set forth in this Section 5 are Licensee's sole remedies and Licensor's sole liability under the limited warranty set forth in this Section 5.\n\nEXCEPT FOR THE LIMITED WARRANTY SET FORTH IN THIS SECTION 5, THE SOFTWARE AND DOCUMENTATION ARE PROVIDED \"AS IS\" AND LICENSOR HEREBY DISCLAIMS ALL WARRANTIES, WHETHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE. LICENSOR SPECIFICALLY DISCLAIMS ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT, AND ALL WARRANTIES ARISING FROM COURSE OF DEALING, USAGE, OR TRADE PRACTICE. LICENSOR MAKES NO WARRANTY OF ANY KIND THAT THE SOFTWARE AND DOCUMENTATION, OR ANY PRODUCTS OR RESULTS OF THE USE THEREOF, WILL MEET LICENSEE'S OR ANY OTHER PERSON'S REQUIREMENTS, OPERATE WITHOUT INTERRUPTION, ACHIEVE ANY INTENDED RESULT, BE COMPATIBLE OR WORK WITH ANY SOFTWARE, SYSTEM OR OTHER SERVICES, OR BE SECURE, ACCURATE, COMPLETE, FREE OF HARMFUL CODE, OR ERROR FREE.\n\n### 6. DEFECTS\n\n6.1 The Customer is obliged to notify Pimcore of any defect or error in the Software immediately after its occurrence.\n\n6.2 Before reporting any defect or error, the Customer must carry out an analysis of the system environment as far as possible to ensure that the defect or error is not due to system components that are not covered by this Agreement.\n\n6.3 The Customer shall immediately install or carry out updates or other troubleshooting measures provided by Pimcore.\n    \n6.4 Violations of the obligations to co-operate may result in additional costs for Pimcore. The Customer must reimburse Pimcore for such costs, unless it is not responsible for them.\n\n### 7. LIMITATION OF LIABILITY\n\nIN NO EVENT WILL LICENSOR BE LIABLE UNDER OR IN CONNECTION WITH THIS AGREEMENT UNDER ANY LEGAL OR EQUITABLE THEORY, INCLUDING BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY, AND OTHERWISE, FOR ANY: (a) CONSEQUENTIAL, INCIDENTAL, INDIRECT, EXEMPLARY, SPECIAL, ENHANCED, OR PUNITIVE DAMAGES; (b) INCREASED COSTS, DIMINUTION IN VALUE OR LOST BUSINESS, PRODUCTION, REVENUES, OR PROFITS; (c) LOSS OF GOODWILL OR REPUTATION; (d) USE, INABILITY TO USE, LOSS, INTERRUPTION, DELAY OR RECOVERY OF ANY DATA, OR BREACH OF DATA OR SYSTEM SECURITY; OR (e) COST OF REPLACEMENT GOODS OR SERVICES, IN EACH CASE REGARDLESS OF WHETHER LICENSOR WAS ADVISED OF THE POSSIBILITY OF SUCH LOSSES OR DAMAGES OR SUCH LOSSES OR DAMAGES WERE OTHERWISE FORESEEABLE.\n\nIN NO EVENT WILL LICENSOR'S AGGREGATE LIABILITY ARISING OUT OF OR RELATED TO THIS AGREEMENT UNDER ANY LEGAL OR EQUITABLE THEORY, INCLUDING BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY, AND OTHERWISE EXCEED THE TOTAL AMOUNTS PAID TO LICENSOR UNDER THIS AGREEMENT IN THE TWELVE (12) MONTH PERIOD PRECEDING THE EVENT GIVING RISE TO THE CLAIM.\n\n### 8. INDEMNIFICATION\n\nThe Customer shall indemnify Pimcore and its affiliates, officers, directors, employees, agents, and assigns, from and against all claims, losses, damages, liabilities, costs, and expenses (including reasonable attorney’s fees and costs) against Pimcore arising out of or relating to the Customer’s use of the Software or Derivatives.\n\n### 9. TERMINATION\n\nTerm and termination will be regulated separately. If Customer uses the Software in violation of this Agreement or otherwise violates the use rights or prohibitions contained in this Agreement, Customer’s License shall automatically terminate. Upon termination of this Agreement, the Customer shall uninstall the Software, including all copies, and delete any remaining Software residues from its IT system. The Customer must destroy any backup copies made. At Pimcore's request, the Customer must confirm that it has fulfilled these obligations.\n\n### 10. REMUNERATION\n\nThe remuneration for the use of the software shall be agreed separately.\n\n### 11. MISCELLANEOUS\n    \n11.1 The Software may automatically collect and transmit non-personal statistical data related to its installation and use, including but not limited to the number of records in the database, installed modules, system configuration, and usage metrics (\"Usage Data\"). Such data is collected solely for the purposes of product improvement, support, and analytics. Licensee agrees not to interfere with the collection and transmission of Usage Data.\n\n11.2 Licensee may not assign or transfer any of its rights or delegate any of its obligations hereunder, in each case whether voluntarily, involuntarily, by operation of law or otherwise, without the prior written consent of Licensor. Any purported assignment, transfer, or delegation in violation of this Section is null and void. No assignment, transfer, or delegation will relieve the assigning or delegating Party of any of its obligations hereunder. This Agreement is binding upon and inures to the benefit of the Parties hereto and their respective permitted successors and assigns.\n    \n11.3 Each Party acknowledges and agrees that a breach or threatened breach by such Party of any of its contractual obligations may cause the other Party irreparable harm for which monetary damages would not be an adequate remedy and agrees that, in the event of such breach or threatened breach, the other Party will be entitled to equitable relief, including a restraining order, an injunction, specific performance, and any other relief that may be available from any court, without any requirement to post a bond or other security, or to prove actual damages or that monetary damages are not an adequate remedy. Such remedies are not exclusive and are in addition to all other remedies that may be available at law, in equity, or otherwise.\n    \n11.4 No amendment to or modification of this Agreement is effective unless it is in writing and signed by an authorized representative of each Party. No waiver by any Party of any of the provisions hereof will be effective unless explicitly set forth in writing and signed by the Party so waiving. Except as otherwise set forth in this Agreement, (i) no failure to exercise, or delay in exercising, any rights, remedy, power, or privilege arising from this Agreement will operate or be construed as a waiver thereof, and (ii) no single or partial exercise of any right, remedy, power, or privilege hereunder will preclude any other or further exercise thereof or the exercise of any other right, remedy, power, or privilege.\n    \n11.5 If any provision of this Agreement is invalid, illegal, or unenforceable in any jurisdiction, such invalidity, illegality, or unenforceability will not affect any other term or provision of this Agreement or invalidate or render unenforceable such term or provision in any other jurisdiction. Upon such determination that any term or other provision is invalid, illegal, or unenforceable, the Parties hereto shall negotiate in good faith to modify this Agreement so as to effect the original intent of the Parties as closely as possible in a mutually acceptable manner in order that the transactions contemplated hereby be consummated as originally contemplated to the greatest extent possible.\n\n11.6 In all relevant respects that are not regulated by this Agreement, the following documents shall apply, as far as applicable:\n\n- Pimcore Terms & Conditions, available at [<https://pimcore.com/en/about/gtc>]\n- Pimcore Privacy Statement (PPS)\n- Pimcore Data Processing Agreement (PDPA)\n- Pimcore PaaS Terms & Conditions\n  \n11.7 Specifications originating from the Customer regarding the service content and legal elements, such as GTC or contractual clauses, do not apply.\n  \n11.8 Support, maintenance, and other services remain subject to separate agreements.\n"
  },
  {
    "path": "README.md",
    "content": "---\ntitle: Datahub\n---\n# Pimcore Datahub\n\n[<img src=\"https://sonarcloud.io/images/project_badges/sonarcloud-light.svg\" alt=\"SonarQube Cloud\" height=\"30\" />](https://sonarcloud.io/summary/new_code?id=pimcore_data-hub)\n\n\nPimcore Datahub (data delivery and consumption platform) integrates different input & output channel\ntechnologies into a simple & easy-to-configure system on top of Pimcore.\n\nThe basic configuration of Datahub comes with a GraphQL API, which is described in the next sections of this documentation. To use another configuration, Pimcore Datahub can be extended with different adapters (see [Further Information](#further-information)).\n\n![Overview](./doc/img/overview.jpg)\n*Sample presentation of Datahub config when choosing the GraphQL endpoint*\n\nA short introduction video of an output channel based on the GraphQL query language can be found [here](./doc/img/graphql/intro.mp4).\n\n## Features in a Nutshell\n- Easy-to-configure interface layer for data delivery and consumption\n- Tool of choice to connect Pimcore to any other systems and applications besides internal PHP API - whether they are backend applications like ERP systems or frontend applications like your storefront\n- Multiple endpoints definition for different use cases and target/source systems\n- Central and easy-to-use GUI to transform and prepare data for defined endpoints\n- To-be-exposed data restriction to endpoints by defining workspaces and schemas.\n\n## Documentation Overview\n- [Installation](./doc/01_Installation_and_Upgrade/README.md)\n- [Basic principle](./doc/02_Basic_Principle.md) for configuring an endpoint\n- [GraphQL](./doc/10_GraphQL/README.md) [*default and recommended endpoint*]\n- [Configuration & Deployment](./doc/20_Deployment.md)\n- [Testing](./doc/30_Testing.md)\n\n## Further Information\nOn Pimcore Datahub adapters:\n- [Datahub Simple Rest API](https://pimcore.com/docs/platform/Datahub_Simple_Rest/)\n- [Datahub File Export](https://pimcore.com/docs/platform/Datahub_File_Export/)\n- [Datahub Productsup](https://pimcore.com/docs/platform/Datahub_Productsup/)\n  \n## Contributions\nAs Pimcore Datahub is a community project, any contributions highly appreciated.\nFor details see our [Contributing guide](https://github.com/pimcore/data-hub/blob/master/CONTRIBUTING.md).\n"
  },
  {
    "path": "SECURITY.md",
    "content": "# Security Policy\n\n## Reporting a Vulnerability\n\nIf you think that you have found a security issue,\ndon’t use the bug tracker and don’t publish it publicly.\nInstead, all security issues must be reported via a private vulnerability report.\n\nPlease follow the [instructions](https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/privately-reporting-a-security-vulnerability#privately-reporting-a-security-vulnerability) to submit a private report.\n\n\n## Resolving Process\nEvery submitted security issue is handled with top priority by following these steps:\n\n1. Confirm the vulnerability\n2. Determine the severity\n3. Contact reporter\n4. Work on a patch\n5. Get a CVE identification number (may be done by the reporter or a security service provider)\n6. Patch reviewing\n7. Tagging a new release for supported versions\n8. Publish security announcement\n"
  },
  {
    "path": "assets/studio/README.md",
    "content": "# Data Hub\n\nThis package provides TypeScript support for Pimcore Data Hub, enabling type-safe integration and development when working with Data Hub functionalities within the Pimcore ecosystem.\n\nIt includes:\n\n- Comprehensive TypeScript definitions for the Data Hub SDK, ensuring strong typing and improved developer experience\n\n## Documentation\n\nFor detailed guidance on installation, configuration, and working with Data Hub, refer to the official [Pimcore Data Hub documentation](https://docs.pimcore.com/platform/Datahub/).\n"
  },
  {
    "path": "assets/studio/build/api/docs.jsonopenapi.json",
    "content": "{\"openapi\":\"3.1.0\",\"info\":{\"title\":\"Studio Backend API\",\"description\":\"API for Studio generated by OpenApi Generator via zircote/swagger-php\",\"license\":{\"name\":\"Pimcore Open Core License (POCL)\",\"url\":\"https://github.com/pimcore/pimcore/blob/12.x/LICENSE.md\"},\"version\":\"0.14.19\"},\"servers\":[{\"url\":\"/\",\"description\":\"Pimcore Studio Backend API\"}],\"paths\":{\"/pimcore-studio/api/assets/types\":{\"get\":{\"tags\":[\"Assets\"],\"summary\":\"asset_get_types_summary\",\"description\":\"asset_get_types_description\",\"operationId\":\"asset_get_types\",\"responses\":{\"200\":{\"description\":\"asset_get_types_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/AssetType\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/batch-delete\":{\"delete\":{\"tags\":[\"Assets\"],\"summary\":\"asset_batch_delete_summary\",\"description\":\"asset_batch_delete_description\",\"operationId\":\"asset_batch_delete\",\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"ids\":{\"type\":\"array\",\"items\":{\"type\":\"integer\"}}},\"type\":\"object\"}}}},\"responses\":{\"201\":{\"description\":\"asset_batch_delete_created_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"jobRunId\"],\"properties\":{\"jobRunId\":{\"title\":\"jobRunId\",\"description\":\"ID of created jobRun\",\"type\":\"integer\",\"example\":66}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/{id}/clone/{parentId}\":{\"post\":{\"tags\":[\"Assets\"],\"summary\":\"asset_clone_summary\",\"description\":\"asset_clone_description\",\"operationId\":\"asset_clone\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the asset\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"parentId\",\"in\":\"path\",\"description\":\"ParentId of the asset\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"asset_clone_success_response\"},\"201\":{\"description\":\"asset_clone_created_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"jobRunId\"],\"properties\":{\"jobRunId\":{\"title\":\"jobRunId\",\"description\":\"ID of created jobRun\",\"type\":\"integer\",\"example\":66}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/{id}/custom-settings\":{\"get\":{\"tags\":[\"Assets\"],\"summary\":\"asset_custom_settings_get_by_id_summary\",\"description\":\"asset_custom_settings_get_by_id_description\",\"operationId\":\"asset_custom_settings_get_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the asset\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"asset_custom_settings_get_by_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"items\":{\"$ref\":\"#/components/schemas/CustomSettings\"}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/{id}/text\":{\"get\":{\"tags\":[\"Assets\"],\"summary\":\"asset_get_text_data_by_id_summary\",\"description\":\"asset_get_text_data_by_id_description\",\"operationId\":\"asset_get_text_data_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the asset\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"asset_get_text_data_by_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"data\"],\"properties\":{\"data\":{\"title\":\"data\",\"description\":\"UTF 8 encoded text data\",\"type\":\"string\",\"example\":\"Test content\"}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/{id}/document/download/custom\":{\"get\":{\"tags\":[\"Assets\"],\"summary\":\"asset_document_download_custom_summary\",\"description\":\"asset_document_download_custom_description\",\"operationId\":\"asset_document_download_custom\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"mimeType\",\"in\":\"query\",\"description\":\"Mime type of downloaded image.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"JPEG\",\"PNG\"],\"example\":\"JPEG\"}},{\"name\":\"page\",\"in\":\"query\",\"description\":\"Page of the document\",\"schema\":{\"type\":\"integer\",\"example\":1}},{\"name\":\"resizeMode\",\"in\":\"query\",\"description\":\"Resize mode of downloaded image.\",\"required\":false,\"schema\":{\"type\":\"string\",\"enum\":[\"resize\",\"scaleByWidth\",\"scaleByHeight\"],\"example\":\"scaleByWidth\"}},{\"name\":\"width\",\"in\":\"query\",\"description\":\"Width of downloaded image\",\"schema\":{\"type\":\"integer\",\"example\":140}},{\"name\":\"height\",\"in\":\"query\",\"description\":\"Height of downloaded image\",\"schema\":{\"type\":\"integer\",\"example\":140}},{\"name\":\"quality\",\"in\":\"query\",\"description\":\"Quality of downloaded image\",\"schema\":{\"type\":\"integer\",\"example\":80}},{\"name\":\"dpi\",\"in\":\"query\",\"description\":\"Dpi of downloaded image\",\"schema\":{\"type\":\"integer\",\"example\":300}}],\"responses\":{\"200\":{\"description\":\"asset_document_download_custom_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"attachment; filename=\\\"example.jpg\\\"\"}}},\"content\":{\"image/jpeg\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}},\"image/png\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/{id}/document/stream/custom\":{\"get\":{\"tags\":[\"Assets\"],\"summary\":\"asset_document_stream_custom_summary\",\"description\":\"asset_document_stream_custom_description\",\"operationId\":\"asset_document_stream_custom\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"mimeType\",\"in\":\"query\",\"description\":\"Mime type of downloaded image.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"JPEG\",\"PNG\"],\"example\":\"JPEG\"}},{\"name\":\"page\",\"in\":\"query\",\"description\":\"Page of the document\",\"schema\":{\"type\":\"integer\",\"example\":1}},{\"name\":\"resizeMode\",\"in\":\"query\",\"description\":\"Resize mode of downloaded image.\",\"required\":false,\"schema\":{\"type\":\"string\",\"enum\":[\"resize\",\"scaleByWidth\",\"scaleByHeight\"],\"example\":\"scaleByWidth\"}},{\"name\":\"width\",\"in\":\"query\",\"description\":\"Width of downloaded image\",\"schema\":{\"type\":\"integer\",\"example\":140}},{\"name\":\"height\",\"in\":\"query\",\"description\":\"Height of downloaded image\",\"schema\":{\"type\":\"integer\",\"example\":140}},{\"name\":\"quality\",\"in\":\"query\",\"description\":\"Quality of downloaded image\",\"schema\":{\"type\":\"integer\",\"example\":80}},{\"name\":\"dpi\",\"in\":\"query\",\"description\":\"Dpi of downloaded image\",\"schema\":{\"type\":\"integer\",\"example\":300}},{\"name\":\"cropPercent\",\"in\":\"query\",\"description\":\"\",\"required\":false,\"schema\":{\"type\":\"boolean\",\"example\":false}},{\"name\":\"cropWidth\",\"in\":\"query\",\"description\":\"CropWidth of image thumbnail\",\"schema\":{\"type\":\"number\",\"format\":\"float\",\"example\":0}},{\"name\":\"cropHeight\",\"in\":\"query\",\"description\":\"CropHeight of image thumbnail\",\"schema\":{\"type\":\"number\",\"format\":\"float\",\"example\":0}},{\"name\":\"cropTop\",\"in\":\"query\",\"description\":\"CropTop of image thumbnail\",\"schema\":{\"type\":\"number\",\"format\":\"float\",\"example\":0}},{\"name\":\"cropLeft\",\"in\":\"query\",\"description\":\"CropLeft of image thumbnail\",\"schema\":{\"type\":\"number\",\"format\":\"float\",\"example\":0}}],\"responses\":{\"200\":{\"description\":\"asset_document_stream_custom_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"inline; filename=\\\"example.jpg\\\"\"}}},\"content\":{\"image/jpeg\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}},\"image/png\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/{id}/document/stream/dynamic\":{\"get\":{\"tags\":[\"Assets\"],\"summary\":\"asset_document_stream_dynamic_summary\",\"description\":\"asset_document_stream_dynamic_description\",\"operationId\":\"asset_document_stream_dynamic\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"config\",\"in\":\"query\",\"description\":\"A JSON encoded thumbnail configuration.\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"{\\\"alt\\\": \\\"\\\",\\\"cropPercent\\\": false,\\\"cropWidth\\\": 0,\\\"cropHeight\\\": 0,\\\"cropTop\\\": 0,\\\"cropLeft\\\": 0,\\\"thumbnail\\\": {\\\"width\\\": 200,\\\"height\\\": 200,\\\"interlace\\\": true,\\\"quality\\\": 90}}\"}}],\"responses\":{\"200\":{\"description\":\"asset_document_stream_dynamic_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"inline; filename=\\\"example.jpg\\\"\"}}},\"content\":{\"image/*\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/{id}/document/stream/pdf-preview\":{\"get\":{\"tags\":[\"Assets\"],\"summary\":\"asset_document_stream_preview_summary\",\"description\":\"asset_document_stream_preview_description\",\"operationId\":\"asset_document_stream_preview\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"asset_document_stream_preview_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"inline; filename=\\\"example.jpg\\\"\"}}},\"content\":{\"application/pdf\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"202 - Not Completed<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/{id}/document/download/thumbnail/{thumbnailName}\":{\"get\":{\"tags\":[\"Assets\"],\"summary\":\"asset_document_download_by_thumbnail_summary\",\"description\":\"asset_document_download_by_thumbnail_description\",\"operationId\":\"asset_document_download_by_thumbnail\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"page\",\"in\":\"query\",\"description\":\"Page of the document\",\"schema\":{\"type\":\"integer\",\"example\":1}},{\"name\":\"thumbnailName\",\"in\":\"path\",\"description\":\"Find asset by matching thumbnail name.\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"pimcore-system-treepreview\"}}],\"responses\":{\"200\":{\"description\":\"asset_document_download_by_thumbnail_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"attachment; filename=\\\"example.jpg\\\"\"}}},\"content\":{\"application/*\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/{id}/document/stream/thumbnail/{thumbnailName}\":{\"get\":{\"tags\":[\"Assets\"],\"summary\":\"asset_document_stream_by_thumbnail_summary\",\"description\":\"asset_document_stream_by_thumbnail_description\",\"operationId\":\"asset_document_stream_by_thumbnail\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"page\",\"in\":\"query\",\"description\":\"Page of the document\",\"schema\":{\"type\":\"integer\",\"example\":1}},{\"name\":\"thumbnailName\",\"in\":\"path\",\"description\":\"Find asset by matching thumbnail name.\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"pimcore-system-treepreview\"}},{\"name\":\"cropPercent\",\"in\":\"query\",\"description\":\"\",\"required\":false,\"schema\":{\"type\":\"boolean\",\"example\":false}},{\"name\":\"cropWidth\",\"in\":\"query\",\"description\":\"CropWidth of image thumbnail\",\"schema\":{\"type\":\"number\",\"format\":\"float\",\"example\":0}},{\"name\":\"cropHeight\",\"in\":\"query\",\"description\":\"CropHeight of image thumbnail\",\"schema\":{\"type\":\"number\",\"format\":\"float\",\"example\":0}},{\"name\":\"cropTop\",\"in\":\"query\",\"description\":\"CropTop of image thumbnail\",\"schema\":{\"type\":\"number\",\"format\":\"float\",\"example\":0}},{\"name\":\"cropLeft\",\"in\":\"query\",\"description\":\"CropLeft of image thumbnail\",\"schema\":{\"type\":\"number\",\"format\":\"float\",\"example\":0}}],\"responses\":{\"200\":{\"description\":\"asset_document_stream_by_thumbnail_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"inline; filename=\\\"example.jpg\\\"\"}}},\"content\":{\"application/*\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/download/zip/{jobRunId}\":{\"get\":{\"tags\":[\"Assets\"],\"summary\":\"asset_download_zip_summary\",\"description\":\"asset_download_zip_description\",\"operationId\":\"asset_download_zip\",\"parameters\":[{\"name\":\"jobRunId\",\"in\":\"path\",\"description\":\"JobRunId of the JobRun\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"asset_download_zip_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"attachment; filename=\\\"example.jpg\\\"\"}}},\"content\":{\"application/zip\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Assets\"],\"summary\":\"asset_delete_zip_summary\",\"description\":\"asset_delete_zip_description\",\"operationId\":\"asset_delete_zip\",\"parameters\":[{\"name\":\"jobRunId\",\"in\":\"path\",\"description\":\"JobRunId of the JobRun\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"Success\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/{id}/download\":{\"get\":{\"tags\":[\"Assets\"],\"summary\":\"asset_download_by_id_summary\",\"description\":\"asset_download_by_id_description\",\"operationId\":\"asset_download_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the asset\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"asset_download_by_id_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"attachment; filename=\\\"example.jpg\\\"\"}}},\"content\":{\"application/*\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/export/zip/asset\":{\"post\":{\"tags\":[\"Assets\"],\"summary\":\"asset_export_zip_asset_summary\",\"description\":\"asset_export_zip_asset_description\",\"operationId\":\"asset_export_zip_asset\",\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"assets\":{\"type\":\"array\",\"items\":{\"type\":\"integer\"}}},\"type\":\"object\"}}}},\"responses\":{\"201\":{\"description\":\"asset_export_zip_created_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"jobRunId\"],\"properties\":{\"jobRunId\":{\"title\":\"jobRunId\",\"description\":\"ID of created jobRun\",\"type\":\"integer\",\"example\":66}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>413 - Max File Size Exceeded<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/export/zip/folder\":{\"post\":{\"tags\":[\"Assets\"],\"summary\":\"asset_export_zip_folder_summary\",\"description\":\"asset_export_zip_folder_description\",\"operationId\":\"asset_export_zip_folder\",\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"folders\":{\"type\":\"array\",\"items\":{\"type\":\"integer\"},\"example\":[83]},\"filters\":{\"$ref\":\"#/components/schemas/ExportAllFilter\"}},\"type\":\"object\"}}}},\"responses\":{\"201\":{\"description\":\"asset_export_zip_created_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"jobRunId\"],\"properties\":{\"jobRunId\":{\"title\":\"jobRunId\",\"description\":\"ID of created jobRun\",\"type\":\"integer\",\"example\":66}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>413 - Max File Size Exceeded<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/{id}\":{\"get\":{\"tags\":[\"Assets\"],\"summary\":\"asset_get_by_id_summary\",\"description\":\"asset_get_by_id_description\",\"operationId\":\"asset_get_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the asset\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"asset_get_by_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\",\"oneOf\":[{\"$ref\":\"#/components/schemas/Image\"},{\"$ref\":\"#/components/schemas/AssetDocument\"},{\"$ref\":\"#/components/schemas/Audio\"},{\"$ref\":\"#/components/schemas/Video\"},{\"$ref\":\"#/components/schemas/Archive\"},{\"$ref\":\"#/components/schemas/Text\"},{\"$ref\":\"#/components/schemas/AssetFolder\"},{\"$ref\":\"#/components/schemas/Unknown\"}]}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"put\":{\"tags\":[\"Assets\"],\"summary\":\"asset_update_by_id_summary\",\"description\":\"asset_update_by_id_description\",\"operationId\":\"asset_update_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the asset\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"data\"],\"properties\":{\"data\":{\"properties\":{\"parentId\":{\"type\":[\"integer\",\"null\"],\"minimum\":1},\"key\":{\"type\":[\"string\",\"null\"]},\"locked\":{\"type\":[\"string\",\"null\"]},\"data\":{\"type\":[\"string\",\"null\"]},\"dataUri\":{\"type\":[\"string\",\"null\"]},\"metadata\":{\"type\":[\"array\",\"null\"],\"items\":{\"$ref\":\"#/components/schemas/UpdateCustomMetadata\"}},\"customSettings\":{\"type\":[\"array\",\"null\"],\"items\":{\"$ref\":\"#/components/schemas/UpdateCustomSettings\"}},\"properties\":{\"type\":[\"array\",\"null\"],\"items\":{\"$ref\":\"#/components/schemas/UpdateElementProperty\"}},\"image\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/ImageData\"},{\"type\":\"null\"}],\"type\":\"object\"}},\"type\":\"object\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"One of asset types\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\",\"oneOf\":[{\"$ref\":\"#/components/schemas/Image\"},{\"$ref\":\"#/components/schemas/AssetDocument\"},{\"$ref\":\"#/components/schemas/Audio\"},{\"$ref\":\"#/components/schemas/Video\"},{\"$ref\":\"#/components/schemas/Archive\"},{\"$ref\":\"#/components/schemas/Text\"},{\"$ref\":\"#/components/schemas/AssetFolder\"},{\"$ref\":\"#/components/schemas/Unknown\"}]}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/grid/configuration/{configurationId}/delete\":{\"delete\":{\"tags\":[\"Asset Grid\"],\"summary\":\"asset_delete_grid_configuration_by_configurationId_summary\",\"description\":\"asset_delete_grid_configuration_by_configurationId_description\",\"operationId\":\"asset_delete_grid_configuration_by_configurationId\",\"parameters\":[{\"name\":\"configurationId\",\"in\":\"path\",\"description\":\"ConfigurationId of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"Success\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DetailedConfiguration\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/grid/available-columns\":{\"get\":{\"tags\":[\"Asset Grid\"],\"summary\":\"asset_get_available_grid_columns_summary\",\"description\":\"asset_get_available_grid_columns_description\",\"operationId\":\"asset_get_available_grid_columns\",\"responses\":{\"200\":{\"description\":\"asset_get_available_grid_columns_success_response\",\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"columns\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ColumnConfiguration\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/grid/configuration/{folderId}\":{\"get\":{\"tags\":[\"Asset Grid\"],\"summary\":\"asset_get_grid_configuration_by_folderId_summary\",\"description\":\"asset_get_grid_configuration_by_folderId_description\",\"operationId\":\"asset_get_grid_configuration_by_folderId\",\"parameters\":[{\"name\":\"folderId\",\"in\":\"path\",\"description\":\"FolderId of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"configurationId\",\"in\":\"query\",\"description\":\"Configuration ID\",\"required\":false,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"asset_get_grid_configuration_by_folderId_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DetailedConfiguration\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/grid/configurations\":{\"get\":{\"tags\":[\"Asset Grid\"],\"summary\":\"asset_get_saved_grid_configurations_summary\",\"description\":\"asset_get_saved_grid_configurations_description\",\"operationId\":\"asset_get_saved_grid_configurations\",\"responses\":{\"200\":{\"description\":\"asset_get_saved_grid_configurations_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Configuration\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/grid/configuration/save\":{\"post\":{\"tags\":[\"Asset Grid\"],\"summary\":\"asset_save_grid_configuration_description\",\"description\":\"asset_save_grid_configuration_description\",\"operationId\":\"asset_save_grid_configuration\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"folderId\",\"pageSize\",\"name\",\"description\",\"columns\"],\"properties\":{\"folderId\":{\"type\":\"integer\",\"example\":1},\"pageSize\":{\"type\":\"integer\",\"example\":1},\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"shareGlobal\":{\"type\":\"boolean\",\"example\":true},\"setAsFavorite\":{\"type\":\"boolean\",\"example\":true},\"saveFilter\":{\"type\":\"boolean\",\"example\":true},\"sharedUsers\":{\"type\":\"object\",\"example\":[42,1337]},\"sharedRoles\":{\"type\":\"object\",\"example\":[42,1337]},\"columns\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ColumnSchema\"}},\"filter\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Filter\"},{\"type\":\"null\"}],\"type\":\"object\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"asset_save_grid_configuration_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Configuration\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/grid/configuration/set-as-favorite/{configurationId}/{folderId}\":{\"post\":{\"tags\":[\"Asset Grid\"],\"summary\":\"asset_set_grid_configuration_as_favorite_summary\",\"description\":\"asset_set_grid_configuration_as_favorite_description\",\"operationId\":\"asset_set_grid_configuration_as_favorite\",\"parameters\":[{\"name\":\"configurationId\",\"in\":\"path\",\"description\":\"ConfigurationId of the configurationId\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"folderId\",\"in\":\"path\",\"description\":\"FolderId of the folderId\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"asset_set_grid_configuration_as_favorite_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/grid/configuration/update/{configurationId}\":{\"put\":{\"tags\":[\"Asset Grid\"],\"summary\":\"asset_update_grid_configuration_summary\",\"description\":\"asset_update_grid_configuration_description\",\"operationId\":\"asset_update_grid_configuration\",\"parameters\":[{\"name\":\"configurationId\",\"in\":\"path\",\"description\":\"ConfigurationId of the configurationId\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"folderId\",\"pageSize\",\"name\",\"description\",\"columns\"],\"properties\":{\"folderId\":{\"type\":\"integer\",\"example\":1},\"pageSize\":{\"type\":\"integer\",\"example\":1},\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"shareGlobal\":{\"type\":\"boolean\",\"example\":true},\"setAsFavorite\":{\"type\":\"boolean\",\"example\":true},\"saveFilter\":{\"type\":\"boolean\",\"example\":true},\"sharedUsers\":{\"type\":\"object\",\"example\":[42,1337]},\"sharedRoles\":{\"type\":\"object\",\"example\":[42,1337]},\"columns\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ColumnSchema\"}},\"filter\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Filter\"},{\"type\":\"null\"}],\"type\":\"object\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"asset_update_grid_configuration_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/grid\":{\"post\":{\"tags\":[\"Asset Grid\"],\"summary\":\"asset_get_grid_summary\",\"description\":\"asset_get_grid_description\",\"operationId\":\"asset_get_grid\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"folderId\"],\"properties\":{\"folderId\":{\"type\":\"integer\",\"example\":1},\"columns\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Column\"}},\"filters\":{\"$ref\":\"#/components/schemas/Filter\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"asset_get_grid_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"required\":[\"id\",\"columns\",\"isLocked\",\"permissions\"],\"type\":\"array\",\"items\":{\"properties\":{\"id\":{\"type\":\"integer\"},\"columns\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ColumnData\"}},\"isLocked\":{\"type\":\"boolean\"},\"permissions\":{\"$ref\":\"#/components/schemas/Permissions\"}},\"type\":\"object\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/{id}/image/download/custom\":{\"get\":{\"tags\":[\"Assets\"],\"summary\":\"asset_image_download_custom_summary\",\"description\":\"asset_image_download_custom_description\",\"operationId\":\"asset_image_download_custom\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the image\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"mimeType\",\"in\":\"query\",\"description\":\"Mime type of downloaded image.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"JPEG\",\"PNG\"],\"example\":\"JPEG\"}},{\"name\":\"resizeMode\",\"in\":\"query\",\"description\":\"Resize mode of downloaded image.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"resize\",\"scaleByWidth\",\"scaleByHeight\"],\"example\":\"scaleByWidth\"}},{\"name\":\"width\",\"in\":\"query\",\"description\":\"Width of downloaded image\",\"schema\":{\"type\":\"integer\",\"example\":140}},{\"name\":\"height\",\"in\":\"query\",\"description\":\"Height of downloaded image\",\"schema\":{\"type\":\"integer\",\"example\":140}},{\"name\":\"quality\",\"in\":\"query\",\"description\":\"Quality of downloaded image\",\"schema\":{\"type\":\"integer\",\"example\":80}},{\"name\":\"dpi\",\"in\":\"query\",\"description\":\"Dpi of downloaded image\",\"schema\":{\"type\":\"integer\",\"example\":300}}],\"responses\":{\"200\":{\"description\":\"asset_image_download_custom_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"attachment; filename=\\\"example.jpg\\\"\"}}},\"content\":{\"image/jpeg\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}},\"image/png\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/{id}/image/stream/custom\":{\"get\":{\"tags\":[\"Assets\"],\"summary\":\"asset_image_stream_custom_summary\",\"description\":\"asset_image_stream_custom_description\",\"operationId\":\"asset_image_stream_custom\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the image\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"mimeType\",\"in\":\"query\",\"description\":\"Mime type of downloaded image.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"JPEG\",\"PNG\"],\"example\":\"PNG\"}},{\"name\":\"resizeMode\",\"in\":\"query\",\"description\":\"Resize mode of downloaded image.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"scaleByHeight\",\"scaleByWidth\",\"resize\",\"none\"],\"example\":\"none\"}},{\"name\":\"width\",\"in\":\"query\",\"description\":\"Width of downloaded image\",\"schema\":{\"type\":\"integer\",\"example\":140}},{\"name\":\"height\",\"in\":\"query\",\"description\":\"Height of downloaded image\",\"schema\":{\"type\":\"integer\",\"example\":140}},{\"name\":\"quality\",\"in\":\"query\",\"description\":\"Quality of downloaded image\",\"schema\":{\"type\":\"integer\",\"example\":85}},{\"name\":\"dpi\",\"in\":\"query\",\"description\":\"Dpi of downloaded image\",\"schema\":{\"type\":\"integer\",\"example\":72}},{\"name\":\"contain\",\"in\":\"query\",\"description\":\"Contain\",\"required\":false,\"schema\":{\"type\":\"boolean\",\"example\":false}},{\"name\":\"frame\",\"in\":\"query\",\"description\":\"Frame\",\"required\":false,\"schema\":{\"type\":\"boolean\",\"example\":false}},{\"name\":\"cover\",\"in\":\"query\",\"description\":\"Cover\",\"required\":false,\"schema\":{\"type\":\"boolean\",\"example\":false}},{\"name\":\"forceResize\",\"in\":\"query\",\"description\":\"Force resize\",\"required\":false,\"schema\":{\"type\":\"boolean\",\"example\":false}},{\"name\":\"cropPercent\",\"in\":\"query\",\"description\":\"\",\"required\":false,\"schema\":{\"type\":\"boolean\",\"example\":false}},{\"name\":\"cropWidth\",\"in\":\"query\",\"description\":\"CropWidth of image thumbnail\",\"schema\":{\"type\":\"number\",\"format\":\"float\",\"example\":0}},{\"name\":\"cropHeight\",\"in\":\"query\",\"description\":\"CropHeight of image thumbnail\",\"schema\":{\"type\":\"number\",\"format\":\"float\",\"example\":0}},{\"name\":\"cropTop\",\"in\":\"query\",\"description\":\"CropTop of image thumbnail\",\"schema\":{\"type\":\"number\",\"format\":\"float\",\"example\":0}},{\"name\":\"cropLeft\",\"in\":\"query\",\"description\":\"CropLeft of image thumbnail\",\"schema\":{\"type\":\"number\",\"format\":\"float\",\"example\":0}}],\"responses\":{\"200\":{\"description\":\"asset_image_stream_custom_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"inline; filename=\\\"example.jpg\\\"\"}}},\"content\":{\"image/*\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/{id}/image/stream/dynamic\":{\"get\":{\"tags\":[\"Assets\"],\"summary\":\"asset_image_stream_dynamic_summary\",\"description\":\"asset_image_stream_dynamic_description\",\"operationId\":\"asset_image_stream_dynamic\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the asset\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"config\",\"in\":\"query\",\"description\":\"A JSON encoded thumbnail configuration.\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"{\\\"alt\\\": \\\"\\\",\\\"cropPercent\\\": false,\\\"cropWidth\\\": 0,\\\"cropHeight\\\": 0,\\\"cropTop\\\": 0,\\\"cropLeft\\\": 0,\\\"thumbnail\\\": {\\\"width\\\": 200,\\\"height\\\": 200,\\\"interlace\\\": true,\\\"quality\\\": 90}}\"}}],\"responses\":{\"200\":{\"description\":\"asset_image_stream_dynamic_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"inline; filename=\\\"example.jpg\\\"\"}}},\"content\":{\"image/*\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/{id}/image/download/format/{format}\":{\"get\":{\"tags\":[\"Assets\"],\"summary\":\"asset_image_download_by_format_summary\",\"description\":\"asset_image_download_by_format_description\",\"operationId\":\"asset_image_download_by_format\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the image\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"format\",\"in\":\"path\",\"description\":\"Find asset by matching format type.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"office\",\"print\",\"web\"],\"example\":\"web\"}}],\"responses\":{\"200\":{\"description\":\"asset_image_download_by_format_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"attachment; filename=\\\"example.jpg\\\"\"}}},\"content\":{\"image/jpeg\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/{id}/image/stream/preview\":{\"get\":{\"tags\":[\"Assets\"],\"summary\":\"asset_image_stream_preview_summary\",\"description\":\"asset_image_stream_preview_description\",\"operationId\":\"asset_image_stream_preview\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the image\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"asset_image_stream_preview_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"inline; filename=\\\"example.jpg\\\"\"}}},\"content\":{\"image/*\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/{id}/image/stream\":{\"get\":{\"tags\":[\"Assets\"],\"summary\":\"asset_image_stream_summary\",\"description\":\"asset_image_stream_description\",\"operationId\":\"asset_image_stream\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the image\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"asset_image_stream_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"inline; filename=\\\"example.jpg\\\"\"}}},\"content\":{\"image/*\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/{id}/image/download/thumbnail/{thumbnailName}\":{\"get\":{\"tags\":[\"Assets\"],\"summary\":\"asset_image_download_by_thumbnail_summary\",\"description\":\"asset_image_download_by_thumbnail_description\",\"operationId\":\"asset_image_download_by_thumbnail\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the image\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"thumbnailName\",\"in\":\"path\",\"description\":\"Find asset by matching thumbnail name.\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"pimcore-system-treepreview\"}}],\"responses\":{\"200\":{\"description\":\"asset_image_download_by_thumbnail_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"attachment; filename=\\\"example.jpg\\\"\"}}},\"content\":{\"application/*\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/{id}/image/stream/thumbnail/{thumbnailName}\":{\"get\":{\"tags\":[\"Assets\"],\"summary\":\"asset_image_stream_by_thumbnail_summary\",\"description\":\"asset_image_stream_by_thumbnail_description\",\"operationId\":\"asset_image_stream_by_thumbnail\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the image\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"thumbnailName\",\"in\":\"path\",\"description\":\"Find asset by matching thumbnail name.\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"pimcore-system-treepreview\"}},{\"name\":\"cropPercent\",\"in\":\"query\",\"description\":\"\",\"required\":false,\"schema\":{\"type\":\"boolean\",\"example\":false}},{\"name\":\"cropWidth\",\"in\":\"query\",\"description\":\"CropWidth of image thumbnail\",\"schema\":{\"type\":\"number\",\"format\":\"float\",\"example\":0}},{\"name\":\"cropHeight\",\"in\":\"query\",\"description\":\"CropHeight of image thumbnail\",\"schema\":{\"type\":\"number\",\"format\":\"float\",\"example\":0}},{\"name\":\"cropTop\",\"in\":\"query\",\"description\":\"CropTop of image thumbnail\",\"schema\":{\"type\":\"number\",\"format\":\"float\",\"example\":0}},{\"name\":\"cropLeft\",\"in\":\"query\",\"description\":\"CropLeft of image thumbnail\",\"schema\":{\"type\":\"number\",\"format\":\"float\",\"example\":0}},{\"name\":\"mimeType\",\"in\":\"query\",\"description\":\"Mime type of steamed image.\",\"required\":false,\"schema\":{\"type\":\"string\",\"enum\":[\"JPEG\",\"PNG\",\"source\",\"original\",\"print\"],\"example\":\"JPEG\"}}],\"responses\":{\"200\":{\"description\":\"asset_image_stream_by_thumbnail_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"inline; filename=\\\"example.jpg\\\"\"}}},\"content\":{\"image/*\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets\":{\"patch\":{\"tags\":[\"Assets\"],\"summary\":\"asset_patch_by_id_summary\",\"description\":\"asset_patch_by_id_description\",\"operationId\":\"asset_patch_by_id\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"data\"],\"properties\":{\"data\":{\"type\":\"array\",\"items\":{\"required\":[\"id\"],\"properties\":{\"id\":{\"description\":\"Asset ID\",\"type\":\"integer\",\"example\":83},\"parentId\":{\"type\":[\"integer\",\"null\"],\"minimum\":1},\"key\":{\"type\":[\"string\",\"null\"]},\"locked\":{\"type\":[\"string\",\"null\"]},\"metadata\":{\"type\":[\"array\",\"null\"],\"items\":{\"$ref\":\"#/components/schemas/PatchCustomMetadata\"}}},\"type\":\"object\"}}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"asset_patch_by_id_success_response\"},\"201\":{\"description\":\"asset_patch_by_id_created_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"jobRunId\"],\"properties\":{\"jobRunId\":{\"title\":\"jobRunId\",\"description\":\"ID of created jobRun\",\"type\":\"integer\",\"example\":66}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/folder\":{\"patch\":{\"tags\":[\"Assets\"],\"summary\":\"asset_patch_folder_by_id_summary\",\"description\":\"asset_patch_folder_by_id_description\",\"operationId\":\"asset_patch_folder_by_id\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"data\"],\"properties\":{\"data\":{\"type\":\"array\",\"items\":{\"required\":[\"folderId\"],\"properties\":{\"folderId\":{\"description\":\"Folder ID\",\"type\":\"integer\",\"example\":83},\"parentId\":{\"type\":[\"integer\",\"null\"],\"minimum\":1},\"key\":{\"type\":[\"string\",\"null\"]},\"locked\":{\"type\":[\"string\",\"null\"]},\"metadata\":{\"type\":[\"array\",\"null\"],\"items\":{\"$ref\":\"#/components/schemas/PatchCustomMetadata\"}}},\"type\":\"object\"}},\"filters\":{\"$ref\":\"#/components/schemas/ExportAllFilter\"}},\"type\":\"object\"}}}},\"responses\":{\"201\":{\"description\":\"asset_patch_by_id_created_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"jobRunId\"],\"properties\":{\"jobRunId\":{\"title\":\"jobRunId\",\"description\":\"ID of created jobRun\",\"type\":\"integer\",\"example\":66}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/{id}/thumbnail/clear\":{\"delete\":{\"tags\":[\"Assets\"],\"summary\":\"asset_clear_thumbnail_summary\",\"description\":\"asset_clear_thumbnail_description\",\"operationId\":\"asset_clear_thumbnail\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the asset\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"Success\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/tree\":{\"get\":{\"tags\":[\"Assets\"],\"summary\":\"asset_get_tree_summary\",\"description\":\"asset_get_tree_description\",\"operationId\":\"asset_get_tree\",\"parameters\":[{\"name\":\"page\",\"in\":\"query\",\"description\":\"Page number\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":1}},{\"name\":\"pageSize\",\"in\":\"query\",\"description\":\"Number of items per page\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":10}},{\"name\":\"parentId\",\"in\":\"query\",\"description\":\"Filter assets by parent id.\",\"required\":false,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":1}},{\"name\":\"idSearchTerm\",\"in\":\"query\",\"description\":\"Filter assets/data-objects by matching ids. As a wildcard * can be used\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":83}},{\"name\":\"pqlQuery\",\"in\":\"query\",\"description\":\"Pql query filter\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"id = 69\"}},{\"name\":\"excludeFolders\",\"in\":\"query\",\"description\":\"Filter folders from result.\",\"required\":false,\"schema\":{\"type\":\"boolean\",\"example\":false}},{\"name\":\"path\",\"in\":\"query\",\"description\":\"Filter by path.\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"/path/to/folder\"}},{\"name\":\"pathIncludeParent\",\"in\":\"query\",\"description\":\"Include the parent item in the result.\",\"required\":false,\"schema\":{\"type\":\"boolean\",\"example\":true}},{\"name\":\"pathIncludeDescendants\",\"in\":\"query\",\"description\":\"Include all descendants in the result.\",\"required\":false,\"schema\":{\"type\":\"boolean\",\"example\":true}}],\"responses\":{\"200\":{\"description\":\"asset_get_tree_success_description\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/components/schemas/Image\"},{\"$ref\":\"#/components/schemas/AssetDocument\"},{\"$ref\":\"#/components/schemas/Audio\"},{\"$ref\":\"#/components/schemas/Video\"},{\"$ref\":\"#/components/schemas/Archive\"},{\"$ref\":\"#/components/schemas/Text\"},{\"$ref\":\"#/components/schemas/AssetFolder\"},{\"$ref\":\"#/components/schemas/Unknown\"}]}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/add/{parentId}\":{\"post\":{\"tags\":[\"Assets\"],\"summary\":\"asset_add_summary\",\"description\":\"asset_add_description\",\"operationId\":\"asset_add\",\"parameters\":[{\"name\":\"parentId\",\"in\":\"path\",\"description\":\"ParentId of the asset\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"multipart/form-data\":{\"schema\":{\"required\":[\"file\"],\"properties\":{\"file\":{\"description\":\"File to upload\",\"type\":\"string\",\"format\":\"binary\"},\"assetType\":{\"description\":\"Type of the asset to create\",\"type\":[\"string\",\"null\"]}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"asset_add_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"id\"],\"properties\":{\"id\":{\"title\":\"id\",\"description\":\"ID of created asset\",\"type\":\"integer\",\"example\":66}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/exists/{parentId}\":{\"get\":{\"tags\":[\"Assets\"],\"summary\":\"asset_upload_info_summary\",\"description\":\"asset_upload_info_description\",\"operationId\":\"asset_upload_info\",\"parameters\":[{\"name\":\"parentId\",\"in\":\"path\",\"description\":\"ParentId of the asset\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"fileName\",\"in\":\"query\",\"description\":\"Name of the file to upload\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"file.jpg\"}}],\"responses\":{\"200\":{\"description\":\"asset_upload_info_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/AssetUploadInfo\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/{id}/replace\":{\"post\":{\"tags\":[\"Assets\"],\"summary\":\"asset_replace_summary\",\"description\":\"asset_replace_description\",\"operationId\":\"asset_replace\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the asset\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"multipart/form-data\":{\"schema\":{\"required\":[\"file\"],\"properties\":{\"file\":{\"description\":\"File to upload\",\"type\":\"string\",\"format\":\"binary\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"asset_replace_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"data\"],\"properties\":{\"data\":{\"title\":\"data\",\"description\":\"new file name of the asset\",\"type\":\"string\",\"example\":\"image.jpg\"}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/add-zip/{parentId}\":{\"post\":{\"tags\":[\"Assets\"],\"summary\":\"asset_upload_zip_summary\",\"description\":\"asset_upload_zip_description\",\"operationId\":\"asset_upload_zip\",\"parameters\":[{\"name\":\"parentId\",\"in\":\"path\",\"description\":\"ParentId of the asset\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"multipart/form-data\":{\"schema\":{\"required\":[\"zipFile\"],\"properties\":{\"zipFile\":{\"description\":\"Zip file to upload\",\"type\":\"string\",\"format\":\"binary\"}},\"type\":\"object\"}}}},\"responses\":{\"201\":{\"description\":\"asset_upload_zip_created_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"jobRunId\"],\"properties\":{\"jobRunId\":{\"title\":\"jobRunId\",\"description\":\"ID of created jobRun\",\"type\":\"integer\",\"example\":66}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/{id}/video/stream/image-thumbnail\":{\"get\":{\"tags\":[\"Assets\"],\"summary\":\"asset_video_image_thumbnail_stream_summary\",\"description\":\"asset_video_image_thumbnail_stream_description\",\"operationId\":\"asset_video_image_thumbnail_stream\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the video\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"width\",\"in\":\"query\",\"description\":\"Width of the video image thumbnail\",\"schema\":{\"type\":\"integer\",\"example\":265}},{\"name\":\"height\",\"in\":\"query\",\"description\":\"Height of the video image thumbnail\",\"schema\":{\"type\":\"integer\",\"example\":265}},{\"name\":\"aspectRatio\",\"in\":\"query\",\"description\":\"Aspect ratio of the video image thumbnail\",\"required\":false,\"schema\":{\"type\":\"boolean\",\"example\":false}},{\"name\":\"frame\",\"in\":\"query\",\"description\":\"Frame of the video image thumbnail\",\"required\":false,\"schema\":{\"type\":\"boolean\",\"example\":false}},{\"name\":\"async\",\"in\":\"query\",\"description\":\"Generate the asset asynchronously\",\"schema\":{\"type\":\"boolean\",\"example\":false}}],\"responses\":{\"200\":{\"description\":\"asset_video_image_thumbnail_stream_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"inline; filename=\\\"example.jpg\\\"\"}}},\"content\":{\"image/*\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/{id}/video/download/{thumbnailName}\":{\"get\":{\"tags\":[\"Assets\"],\"summary\":\"asset_video_download_by_thumbnail_summary\",\"description\":\"asset_video_download_by_thumbnail_description\",\"operationId\":\"asset_video_download_by_thumbnail\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the video\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"thumbnailName\",\"in\":\"path\",\"description\":\"Find asset by matching thumbnail name.\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"pimcore-system-treepreview\"}}],\"responses\":{\"200\":{\"description\":\"asset_video_download_by_thumbnail_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"attachment; filename=\\\"example.jpg\\\"\"}}},\"content\":{\"video/mp4\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/{id}/video/stream/{thumbnailName}\":{\"get\":{\"tags\":[\"Assets\"],\"summary\":\"asset_video_stream_by_thumbnail_summary\",\"description\":\"asset_video_stream_by_thumbnail_description\",\"operationId\":\"asset_video_stream_by_thumbnail\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the video\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"thumbnailName\",\"in\":\"path\",\"description\":\"Find asset by matching thumbnail name.\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"pimcore-system-treepreview\"}}],\"responses\":{\"200\":{\"description\":\"asset_video_stream_by_thumbnail_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"inline; filename=\\\"example.jpg\\\"\"}}},\"content\":{\"video/mp4\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/video/types\":{\"get\":{\"tags\":[\"Assets\"],\"summary\":\"asset_get_video_types_summary\",\"description\":\"asset_get_video_types_description\",\"operationId\":\"asset_get_video_types\",\"responses\":{\"200\":{\"description\":\"asset_get_video_types_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/VideoType\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/login\":{\"post\":{\"tags\":[\"Authorization\"],\"summary\":\"login_summary\",\"description\":\"login_description\",\"operationId\":\"login\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Credentials\"}}}},\"responses\":{\"200\":{\"description\":\"login_success_response\"},\"401\":{\"description\":\"Invalid credentials Response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/InvalidCredentials\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/logout\":{\"post\":{\"tags\":[\"Authorization\"],\"summary\":\"logout_summary\",\"description\":\"logout_description\",\"operationId\":\"logout\",\"responses\":{\"200\":{\"description\":\"logout_success_response\"}}}},\"/pimcore-studio/api/login/token\":{\"post\":{\"tags\":[\"Authorization\"],\"summary\":\"login_token_summary\",\"description\":\"login_token_description\",\"operationId\":\"login_token\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/AuthenticationToken\"}}}},\"responses\":{\"200\":{\"description\":\"login_token_success_response\"},\"401\":{\"description\":\"Invalid credentials Response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/InvalidCredentials\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/application-logger/list\":{\"post\":{\"tags\":[\"Bundle Application Logger\"],\"summary\":\"bundle_application_logger_get_collection_summary\",\"description\":\"bundle_application_logger_get_collection_description\",\"operationId\":\"bundle_application_logger_get_collection\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"filters\":{\"properties\":{\"page\":{\"type\":\"integer\",\"example\":1},\"pageSize\":{\"type\":\"integer\",\"example\":50},\"columnFilters\":{\"type\":\"object\",\"example\":\"[{\\\"key\\\":\\\"dateFrom\\\",\\\"type\\\":\\\"date\\\",\\\"filterValue\\\":{\\\"operator\\\": \\\"from\\\", \\\"value\\\": \\\"2025-06-25T10:00:00+02:00\\\"}},{\\\"key\\\":\\\"dateTo\\\",\\\"type\\\":\\\"date\\\",\\\"filterValue\\\":{\\\"operator\\\": \\\"to\\\", \\\"value\\\": \\\"2025-06-30T24:00:00+02:00\\\"}},{\\\"key\\\":\\\"priority\\\", \\\"type\\\":\\\"equals\\\", \\\"filterValue\\\": 2},{\\\"key\\\":\\\"pid\\\", \\\"type\\\":\\\"like\\\", \\\"filterValue\\\": 44}]\"},\"sortFilter\":{\"type\":\"object\",\"example\":\"{\\\"key\\\":\\\"id\\\", \\\"direction\\\":\\\"DESC\\\"}\"}},\"type\":\"object\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_application_logger_get_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleApplicationLoggerLogEntry\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/application-logger/components\":{\"get\":{\"tags\":[\"Bundle Application Logger\"],\"summary\":\"bundle_application_logger_list_components_summary\",\"description\":\"bundle_application_logger_list_components_description\",\"operationId\":\"bundle_application_logger_list_components\",\"responses\":{\"200\":{\"description\":\"bundle_application_logger_list_components_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"items\"],\"properties\":{\"items\":{\"title\":\"Components\",\"description\":\"Log components used in the ApplicationLogger.\",\"type\":\"array\",\"items\":{\"type\":\"string\",\"example\":\"application\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/application-logger/priorities\":{\"get\":{\"tags\":[\"Bundle Application Logger\"],\"summary\":\"bundle_application_logger_list_priorities_summary\",\"description\":\"bundle_application_logger_list_priorities_description\",\"operationId\":\"bundle_application_logger_list_priorities\",\"responses\":{\"200\":{\"description\":\"bundle_application_logger_list_priorities_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"priorities\"],\"properties\":{\"priorities\":{\"title\":\"Log priority levels\",\"description\":\"Log priority levels used in the ApplicationLogger.\",\"type\":\"array\",\"items\":{\"type\":\"integer\",\"example\":1}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/custom-reports/drill-down-options\":{\"post\":{\"tags\":[\"Bundle Custom Reports\"],\"summary\":\"custom_reports_list_drill_down_options_summary\",\"description\":\"custom_reports_list_drill_down_options_description\",\"operationId\":\"custom_reports_list_drill_down_options\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"name\",\"field\"],\"properties\":{\"name\":{\"type\":[\"string\",\"null\"]},\"field\":{\"type\":[\"string\",\"null\"]},\"filters\":{\"properties\":{\"columnFilters\":{\"type\":\"object\",\"example\":\"[{\\\"property\\\": \\\"count(*)\\\", \\\"type\\\":\\\"numeric\\\",\\\"operator\\\":\\\"lt\\\",\\\"value\\\":\\\"15\\\"}]\"},\"drillDownFilters\":{\"type\":\"object\",\"example\":\"{\\\"field\\\":\\\"value\\\",\\\"anotherField\\\":\\\"anotherValue\\\"}\"}},\"type\":\"object\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"custom_reports_list_drill_down_options_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"items\"],\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleCustomReportsDrillDownOption\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/custom-reports/chart\":{\"post\":{\"tags\":[\"Bundle Custom Reports\"],\"summary\":\"custom_reports_chart_summary\",\"description\":\"custom_reports_chart_description\",\"operationId\":\"custom_reports_chart\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"name\"],\"properties\":{\"name\":{\"type\":[\"string\",\"null\"]},\"filters\":{\"properties\":{\"columnFilters\":{\"type\":\"object\",\"example\":\"[{\\\"property\\\": \\\"count(*)\\\", \\\"type\\\":\\\"numeric\\\",\\\"operator\\\":\\\"lt\\\",\\\"value\\\":\\\"15\\\"}]\"},\"drillDownFilters\":{\"type\":\"object\",\"example\":\"{\\\"field\\\":\\\"value\\\",\\\"anotherField\\\":\\\"anotherValue\\\"}\"}},\"type\":\"object\"},\"sortBy\":{\"description\":\"Sort by field.\",\"type\":\"string\",\"example\":\"id\"},\"sortOrder\":{\"description\":\"Sort order (ASC or DESC).\",\"type\":\"string\",\"example\":\"DESC\"},\"page\":{\"description\":\"Page of the report data\",\"type\":\"integer\",\"minimum\":1,\"example\":1},\"pageSize\":{\"description\":\"Page size of the report data\",\"type\":\"integer\",\"minimum\":1,\"example\":\"50\"},\"fields\":{\"description\":\"Fields to be included in the chart data. If not provided, all fields will be included.\",\"type\":\"array\",\"items\":{\"type\":\"string\",\"example\":\"field1\"}}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"custom_reports_chart_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleCustomReportsChartData\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/custom-reports/config/add\":{\"post\":{\"tags\":[\"Bundle Custom Reports\"],\"summary\":\"custom_reports_config_add_summary\",\"description\":\"custom_reports_config_add_description\",\"operationId\":\"custom_reports_config_add\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleCustomReportAdd\"}}}},\"responses\":{\"200\":{\"description\":\"custom_reports_config_add_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleCustomReportsDetails\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/custom-reports/config/clone/{name}\":{\"post\":{\"tags\":[\"Bundle Custom Reports\"],\"summary\":\"custom_reports_config_clone_summary\",\"description\":\"custom_reports_config_clone_description\",\"operationId\":\"custom_reports_config_clone\",\"parameters\":[{\"name\":\"name\",\"in\":\"path\",\"description\":\"Name of the report to clone\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"myOriginalReport\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleCustomReportClone\"}}}},\"responses\":{\"200\":{\"description\":\"custom_reports_config_clone_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleCustomReportsDetails\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/custom-reports/column-config/{name}\":{\"post\":{\"tags\":[\"Bundle Custom Reports\"],\"summary\":\"custom_reports_column_config_list_summary\",\"description\":\"custom_reports_column_config_list_description\",\"operationId\":\"custom_reports_column_config_list\",\"parameters\":[{\"name\":\"name\",\"in\":\"path\",\"description\":\"custom_reports_report_name_parameter\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"Quality_Attributes\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleCustomReportsDataSourceConfig\"}}}},\"responses\":{\"200\":{\"description\":\"custom_reports_column_config_list_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"items\"],\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleCustomReportsColumnInformation\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/custom-reports/config/{name}\":{\"put\":{\"tags\":[\"Bundle Custom Reports\"],\"summary\":\"custom_reports_config_update_summary\",\"description\":\"custom_reports_config_update_description\",\"operationId\":\"custom_reports_config_update\",\"parameters\":[{\"name\":\"name\",\"in\":\"path\",\"description\":\"custom_reports_report_name_parameter\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"Quality_Attributes\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleCustomReportUpdate\"}}}},\"responses\":{\"200\":{\"description\":\"custom_reports_config_update_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleCustomReportsDetails\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Bundle Custom Reports\"],\"summary\":\"custom_reports_config_delete_summary\",\"description\":\"custom_reports_config_delete_description\",\"operationId\":\"custom_reports_config_delete\",\"parameters\":[{\"name\":\"name\",\"in\":\"path\",\"description\":\"custom_reports_config_delete_name_parameter\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"Quality_Attributes\"}}],\"responses\":{\"200\":{\"description\":\"custom_reports_config_delete_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/custom-reports/report/{name}\":{\"get\":{\"tags\":[\"Bundle Custom Reports\"],\"summary\":\"custom_reports_report_summary\",\"operationId\":\"custom_reports_report\",\"parameters\":[{\"name\":\"name\",\"in\":\"path\",\"description\":\"custom_reports_report_name_parameter\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"Quality_Attributes\"}}],\"responses\":{\"200\":{\"description\":\"custom_reports_report_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleCustomReportsDetails\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/custom-reports/tree/config\":{\"get\":{\"tags\":[\"Bundle Custom Reports\"],\"summary\":\"custom_reports_config_get_tree_summary\",\"description\":\"custom_reports_config_get_tree_description\",\"operationId\":\"custom_reports_config_get_tree\",\"parameters\":[{\"name\":\"page\",\"in\":\"query\",\"description\":\"Page number\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":1}},{\"name\":\"pageSize\",\"in\":\"query\",\"description\":\"Number of items per page\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":10}}],\"responses\":{\"200\":{\"description\":\"custom_reports_get_tree_success_response\",\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleCustomReportsConfigurationTreeNode\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/custom-reports/export/csv\":{\"post\":{\"tags\":[\"Bundle Custom Reports\"],\"summary\":\"custom_report_export_csv_summary\",\"description\":\"custom_report_export_csv_description\",\"operationId\":\"custom_report_export_csv\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"name\"],\"properties\":{\"name\":{\"type\":[\"string\",\"null\"]},\"filters\":{\"properties\":{\"columnFilters\":{\"type\":\"object\",\"example\":\"[{\\\"property\\\": \\\"count(*)\\\", \\\"type\\\":\\\"numeric\\\",\\\"operator\\\":\\\"lt\\\",\\\"value\\\":\\\"15\\\"}]\"},\"drillDownFilters\":{\"type\":\"object\",\"example\":\"{\\\"field\\\":\\\"value\\\",\\\"anotherField\\\":\\\"anotherValue\\\"}\"}},\"type\":\"object\"},\"sortBy\":{\"description\":\"Sort by field.\",\"type\":\"string\",\"example\":\"id\"},\"sortOrder\":{\"description\":\"Sort order (ASC or DESC).\",\"type\":\"string\",\"example\":\"DESC\"},\"page\":{\"description\":\"Page of the report data\",\"type\":\"integer\",\"minimum\":1,\"example\":1},\"pageSize\":{\"description\":\"Page size of the report data\",\"type\":\"integer\",\"minimum\":1,\"example\":\"50\"},\"includeHeaders\":{\"type\":\"boolean\",\"example\":false},\"delimiter\":{\"type\":\"string\",\"example\":\";\"}},\"type\":\"object\"}}}},\"responses\":{\"201\":{\"description\":\"custom_report_export_csv_created_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"jobRunId\"],\"properties\":{\"jobRunId\":{\"title\":\"jobRunId\",\"description\":\"ID of created jobRun\",\"type\":\"integer\",\"example\":66}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/custom-reports/tree\":{\"get\":{\"tags\":[\"Bundle Custom Reports\"],\"summary\":\"custom_reports_get_tree_summary\",\"description\":\"custom_reports_get_tree_description\",\"operationId\":\"custom_reports_get_tree\",\"parameters\":[{\"name\":\"page\",\"in\":\"query\",\"description\":\"Page number\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":1}},{\"name\":\"pageSize\",\"in\":\"query\",\"description\":\"Number of items per page\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":10}}],\"responses\":{\"200\":{\"description\":\"custom_reports_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleCustomReportsTreeNode\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/seo/redirects/add\":{\"post\":{\"tags\":[\"Bundle Seo\"],\"summary\":\"bundle_seo_redirect_add_summary\",\"description\":\"bundle_seo_redirect_add_description\",\"operationId\":\"bundle_seo_redirect_add\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleSeoRedirectAdd\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_seo_redirect_add_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleSeoRedirect\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/seo/redirects/cleanup\":{\"delete\":{\"tags\":[\"Bundle Seo\"],\"summary\":\"bundle_seo_redirect_cleanup_summary\",\"description\":\"bundle_seo_redirect_cleanup_description\",\"operationId\":\"bundle_seo_redirect_cleanup\",\"responses\":{\"200\":{\"description\":\"bundle_seo_redirect_cleanup_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/seo/redirects\":{\"post\":{\"tags\":[\"Bundle Seo\"],\"summary\":\"bundle_seo_redirects_get_collection_summary\",\"description\":\"bundle_seo_redirects_get_collection_description\",\"operationId\":\"bundle_seo_redirects_get_collection\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"filters\":{\"properties\":{\"page\":{\"type\":\"integer\",\"example\":1},\"pageSize\":{\"type\":\"integer\",\"example\":50},\"columnFilters\":{\"type\":\"object\",\"example\":\"[{\\\"type\\\":\\\"search\\\", \\\"filterValue\\\": \\\"https://www.some-site/old-url\\\"},{\\\"key\\\":\\\"source\\\", \\\"type\\\":\\\"url\\\", \\\"filterValue\\\": \\\"https://www.some-example\\\"},{\\\"key\\\":\\\"source\\\", \\\"type\\\":\\\"like\\\", \\\"filterValue\\\": \\\"en/news\\\"},{\\\"key\\\":\\\"target\\\", \\\"type\\\":\\\"equals\\\", \\\"filterValue\\\": \\\"en/news/new\\\"}]\"},\"sortFilter\":{\"type\":\"object\",\"example\":\"{\\\"key\\\":\\\"priority\\\", \\\"direction\\\":\\\"ASC\\\"}\"}},\"type\":\"object\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_seo_redirects_get_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleSeoRedirect\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/seo/redirects/{id}\":{\"put\":{\"tags\":[\"Bundle Seo\"],\"summary\":\"bundle_seo_redirect_update_by_id_summary\",\"description\":\"bundle_seo_redirect_update_by_id_description\",\"operationId\":\"bundle_seo_redirect_update_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the redirect\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleSeoRedirectUpdate\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_seo_redirect_update_by_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleSeoRedirect\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Bundle Seo\"],\"summary\":\"bundle_seo_redirect_delete_summary\",\"description\":\"bundle_seo_redirect_delete_description\",\"operationId\":\"bundle_seo_redirect_delete\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the redirect\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"bundle_seo_redirect_delete_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/seo/redirects/export\":{\"get\":{\"tags\":[\"Bundle Seo\"],\"summary\":\"bundle_seo_redirects_export_summary\",\"description\":\"bundle_seo_redirects_export_description\",\"operationId\":\"bundle_seo_redirects_export\",\"responses\":{\"200\":{\"description\":\"bundle_seo_redirects_export_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"attachment; filename=\\\"redirects.csv\\\"\"}}},\"content\":{\"text/csv\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/seo/redirects/import\":{\"post\":{\"tags\":[\"Bundle Seo\"],\"summary\":\"bundle_seo_redirects_import_summary\",\"description\":\"bundle_seo_redirects_import_description\",\"operationId\":\"bundle_seo_redirects_import\",\"requestBody\":{\"required\":true,\"content\":{\"multipart/form-data\":{\"schema\":{\"required\":[\"file\"],\"properties\":{\"file\":{\"description\":\"CSV import file to upload\",\"type\":\"string\",\"format\":\"binary\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_seo_redirects_import_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleSeoRedirectImportStats\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/seo/redirects/priorities\":{\"get\":{\"tags\":[\"Bundle Seo\"],\"summary\":\"bundle_seo_redirect_list_priorities_summary\",\"description\":\"bundle_seo_redirect_list_priorities_description\",\"operationId\":\"bundle_seo_redirect_list_priorities\",\"responses\":{\"200\":{\"description\":\"bundle_seo_redirect_list_priorities_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"priorities\"],\"properties\":{\"priorities\":{\"title\":\"Redirect priority\",\"description\":\"Redirect priority used in the PimcoreSeoBundle.\",\"type\":\"array\",\"items\":{\"type\":\"integer\",\"example\":1}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/seo/redirects/statuses\":{\"get\":{\"tags\":[\"Bundle Seo\"],\"summary\":\"bundle_seo_redirect_list_statuses_summary\",\"description\":\"bundle_seo_redirect_list_statuses_description\",\"operationId\":\"bundle_seo_redirect_list_statuses\",\"responses\":{\"200\":{\"description\":\"bundle_seo_redirect_list_statuses_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"statuses\"],\"properties\":{\"statuses\":{\"title\":\"Redirect statuses\",\"description\":\"List of redirect statuses used in the PimcoreSeoBundle.\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleSeoRedirectStatus\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/seo/redirects/types\":{\"get\":{\"tags\":[\"Bundle Seo\"],\"summary\":\"bundle_seo_redirect_list_types_summary\",\"description\":\"bundle_seo_redirect_list_types_description\",\"operationId\":\"bundle_seo_redirect_list_types\",\"responses\":{\"200\":{\"description\":\"bundle_seo_redirect_list_types_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"types\"],\"properties\":{\"types\":{\"title\":\"Redirect types\",\"description\":\"List of redirect types used in the PimcoreSeoBundle.\",\"type\":\"array\",\"items\":{\"type\":\"string\",\"example\":\"path\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/definition/available-visible-fields\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_get_available_visible_fields_summary\",\"description\":\"class_get_available_visible_fields_description\",\"operationId\":\"class_get_available_visible_fields\",\"parameters\":[{\"name\":\"classNames\",\"in\":\"query\",\"description\":\"Comma-separated list of class names\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"Car,Manufacturer,News\"}}],\"responses\":{\"200\":{\"description\":\"class_get_available_visible_fields_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/AvailableVisibleField\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/collection\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_definition_collection_summary\",\"description\":\"class_definition_collection_description\",\"operationId\":\"class_definition_collection\",\"responses\":{\"200\":{\"description\":\"class_definition_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ClassDefinitionList\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/collection/creatable\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_definition_collection_creatable_summary\",\"description\":\"class_definition_collection_creatable_description\",\"operationId\":\"class_definition_collection_creatable\",\"responses\":{\"200\":{\"description\":\"class_definition_collection_creatable_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ClassDefinitionList\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/custom-layout/collection\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_custom_layout_collection_summary\",\"description\":\"class_custom_layout_collection_description\",\"operationId\":\"class_custom_layout_collection\",\"parameters\":[{\"name\":\"classIds\",\"in\":\"query\",\"description\":\"Comma-separated list of class Ids\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"CAR,MA,CA\"}}],\"responses\":{\"200\":{\"description\":\"class_custom_layout_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/CustomLayoutCompact\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/all-layouts\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_all_layout_collection_summary\",\"description\":\"class_all_layout_collection_description\",\"operationId\":\"class_all_layout_collection\",\"responses\":{\"200\":{\"description\":\"class_all_layout_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ClassLayoutCompact\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/custom-layout/{customLayoutId}\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_custom_layout_get_summary\",\"description\":\"class_custom_layout_get_description\",\"operationId\":\"class_custom_layout_get\",\"parameters\":[{\"name\":\"customLayoutId\",\"in\":\"path\",\"description\":\"class_custom_layout_get_layout_id\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"CarTodo\"}}],\"responses\":{\"200\":{\"description\":\"class_custom_layout_get_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CustomLayout\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"put\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_custom_layout_update_summary\",\"description\":\"class_custom_layout_update_description\",\"operationId\":\"class_custom_layout_update\",\"parameters\":[{\"name\":\"customLayoutId\",\"in\":\"path\",\"description\":\"class_custom_layout_update_layout_id\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"CarTodo\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CustomLayoutUpdate\"}}}},\"responses\":{\"200\":{\"description\":\"class_custom_layout_update_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CustomLayout\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"post\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_custom_layout_create_summary\",\"description\":\"class_custom_layout_create_description\",\"operationId\":\"class_custom_layout_create\",\"parameters\":[{\"name\":\"customLayoutId\",\"in\":\"path\",\"description\":\"class_custom_layout_create_layout_id\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"CarTodo\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CustomLayoutNew\"}}}},\"responses\":{\"200\":{\"description\":\"class_custom_layout_create_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CustomLayout\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_custom_layout_delete_summary\",\"description\":\"class_custom_layout_delete_description\",\"operationId\":\"class_custom_layout_delete\",\"parameters\":[{\"name\":\"customLayoutId\",\"in\":\"path\",\"description\":\"class_custom_layout_delete_layout_id\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"CarTodo\"}}],\"responses\":{\"200\":{\"description\":\"class_custom_layout_delete_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/custom-layout/editor/collection/{objectId}\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_custom_layout_editor_collection_summary\",\"description\":\"class_custom_layout_editor_collection_description\",\"operationId\":\"class_custom_layout_editor_collection\",\"parameters\":[{\"name\":\"objectId\",\"in\":\"path\",\"description\":\"ObjectId of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"class_custom_layout_editor_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/CustomLayoutCompact\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/custom-layout/export/{customLayoutId}\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_custom_layout_export_summary\",\"description\":\"class_custom_layout_export_description\",\"operationId\":\"class_custom_layout_export\",\"parameters\":[{\"name\":\"customLayoutId\",\"in\":\"path\",\"description\":\"class_custom_layout_export_layout_id\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"CarTodo\"}}],\"responses\":{\"200\":{\"description\":\"class_custom_layout_export_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"attachment; filename=\\\"custom_definition_CarToDo_export.json\\\"\"}}},\"content\":{\"application/json\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/custom-layout/identifier-data/{classDefinitionId}\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_custom_layout_get_identifier_data_summary\",\"description\":\"class_custom_layout_get_identifier_data_description\",\"operationId\":\"class_custom_layout_get_identifier_data\",\"parameters\":[{\"name\":\"classDefinitionId\",\"in\":\"path\",\"description\":\"Class definition unique identifier for custom layouts\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"CAR\"}}],\"responses\":{\"200\":{\"description\":\"class_custom_layout_get_identifier_data_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CustomLayoutIdentifierData\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/custom-layout/import/{customLayoutId}\":{\"post\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_custom_layout_import_summary\",\"description\":\"class_custom_layout_import_description\",\"operationId\":\"class_custom_layout_import\",\"parameters\":[{\"name\":\"customLayoutId\",\"in\":\"path\",\"description\":\"class_custom_layout_import_layout_id\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"CarTodo\"}}],\"requestBody\":{\"required\":true,\"content\":{\"multipart/form-data\":{\"schema\":{\"required\":[\"file\"],\"properties\":{\"file\":{\"description\":\"Import file to upload\",\"type\":\"string\",\"format\":\"binary\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"class_custom_layout_import_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CustomLayout\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/definition/configuration-view/detail/{id}/bricks\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_definition_get_bricks_usages_summary\",\"description\":\"class_definition_get_bricks_usages_description\",\"operationId\":\"class_definition_get_bricks_usages\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Class definition unique identifier\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"CAR\"}}],\"responses\":{\"200\":{\"description\":\"class_definition_get_bricks_usages_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"items\"],\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ClassDefinitionObjectBrickData\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/definition/configuration-view/detail/create\":{\"post\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_definition_create_summary\",\"description\":\"class_definition_create_description\",\"operationId\":\"class_definition_create\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CreateClassDefinition\"}}}},\"responses\":{\"200\":{\"description\":\"class_definition_create_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CustomLayout\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>409 - Conflict<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/definition/configuration-view/detail/{id}\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_definition_get_by_id_summary\",\"description\":\"class_definition_get_by_id_description\",\"operationId\":\"class_definition_get_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Class definition unique identifier\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"CAR\"}}],\"responses\":{\"200\":{\"description\":\"class_definition_get_by_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ClassDefinition\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"put\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_definition_update_summary\",\"description\":\"class_definition_update_description\",\"operationId\":\"class_definition_update\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Class definition unique identifier\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"CAR\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ClassDefinitionUpdate\"}}}},\"responses\":{\"200\":{\"description\":\"class_definition_update_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ClassDefinition\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>409 - Conflict<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_definition_delete_summary\",\"description\":\"class_definition_delete_description\",\"operationId\":\"class_definition_delete\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Class definition unique identifier\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"CAR\"}}],\"responses\":{\"200\":{\"description\":\"class_definition_delete_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/definition/configuration-view/detail/{id}/export\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_definition_export_summary\",\"description\":\"class_definition_export_description\",\"operationId\":\"class_definition_export\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Class definition unique identifier\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"CAR\"}}],\"responses\":{\"200\":{\"description\":\"class_definition_export_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"attachment; filename=\\\"class_Car_export.json\\\"\"}}},\"content\":{\"application/json\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/definition/configuration-view/identifier-data\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_definition_get_identifier_data_summary\",\"description\":\"class_definition_get_identifier_data_description\",\"operationId\":\"class_definition_get_identifier_data\",\"responses\":{\"200\":{\"description\":\"class_definition_get_identifier_data_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ClassDefinitionIdentifierData\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/definition/configuration-view/detail/{id}/import\":{\"post\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_definition_import_summary\",\"description\":\"class_definition_import_description\",\"operationId\":\"class_definition_import\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Class definition unique identifier\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"CAR\"}}],\"requestBody\":{\"required\":true,\"content\":{\"multipart/form-data\":{\"schema\":{\"required\":[\"file\"],\"properties\":{\"file\":{\"description\":\"Import file with JSON encoded class definition configuration\",\"type\":\"string\",\"format\":\"binary\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"class_definition_import_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ClassDefinition\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/definition/configuration-view/detail/{id}/layout\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_definition_get_layout_by_id_summary\",\"description\":\"class_definition_get_layout_by_id_description\",\"operationId\":\"class_definition_get_layout_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Class definition unique identifier\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"CAR\"}}],\"responses\":{\"200\":{\"description\":\"class_definition_get_layout_by_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Layout\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/definition/configuration-view/detail/{id}/selected-visible-fields\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_get_selected_visible_fields_summary\",\"description\":\"class_get_selected_visible_fields_description\",\"operationId\":\"class_get_selected_visible_fields\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Class definition unique identifier\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"CAR\"}},{\"name\":\"relationField\",\"in\":\"query\",\"description\":\"Relation field name for which the selected fields should be retrieved as dot notation.\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"myRelationField\"}}],\"responses\":{\"200\":{\"description\":\"class_get_selected_visible_fields_success_response\",\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"columns\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ColumnConfiguration\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/definition/configuration-view/text-layout/preview\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_definition_get_text_layout_preview_summary\",\"description\":\"class_definition_get_text_layout_preview_description\",\"operationId\":\"class_definition_get_text_layout_preview\",\"parameters\":[{\"name\":\"className\",\"in\":\"query\",\"description\":\"Class definition name where layout is defined\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"Car\"}},{\"name\":\"path\",\"in\":\"query\",\"description\":\"Path to optional object to render the layout with\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"/cars/my-car\"}},{\"name\":\"renderingData\",\"in\":\"query\",\"description\":\"Optional dynamic data to be used for rendering the layout\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"<div>Some HTML data</div>\"}},{\"name\":\"renderingClass\",\"in\":\"query\",\"description\":\"Optional rendering class to be used for rendering the layout\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"My\\\\Custom\\\\Class\"}},{\"name\":\"html\",\"in\":\"query\",\"description\":\"Optional static HTML to be used for rendering the layout\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"<div>Some HTML data</div>\"}}],\"responses\":{\"200\":{\"description\":\"class_definition_get_text_layout_preview_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"inline; filename=\\\"text-layout-preview.html\\\"\"}}},\"content\":{\"text/html\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/definition/configuration-view/tree\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_definition_get_tree_summary\",\"description\":\"class_definition_get_tree_description\",\"operationId\":\"class_definition_get_tree\",\"parameters\":[{\"name\":\"withGroup\",\"in\":\"query\",\"description\":\"Whether to group the results.\",\"required\":true,\"schema\":{\"type\":\"boolean\",\"example\":true}}],\"responses\":{\"200\":{\"description\":\"class_definition_get_tree_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/components/schemas/ClassDefinitionTreeNode\"},{\"$ref\":\"#/components/schemas/ClassDefinitionTreeNodeFolder\"}]}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/field-collection/collection\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_field_collection_collection_summary\",\"description\":\"class_field_collection_collection_description\",\"operationId\":\"class_field_collection_collection\",\"responses\":{\"200\":{\"description\":\"class_field_collection_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/FieldCollectionConfig\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/field-collection\":{\"post\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_field_collection_create_summary\",\"description\":\"class_field_collection_create_description\",\"operationId\":\"class_field_collection_create\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CreateFieldCollection\"}}}},\"responses\":{\"200\":{\"description\":\"class_field_collection_create_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/FieldCollectionDetail\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>409 - Conflict<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/field-collection/{key}\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_field_collection_get_by_key_summary\",\"description\":\"class_field_collection_get_by_key_description\",\"operationId\":\"class_field_collection_get_by_key\",\"parameters\":[{\"name\":\"key\",\"in\":\"path\",\"description\":\"Field collection unique key\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"MyFieldCollection\"}}],\"responses\":{\"200\":{\"description\":\"class_field_collection_get_by_key_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/FieldCollectionDetail\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"put\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_field_collection_update_summary\",\"description\":\"class_field_collection_update_description\",\"operationId\":\"class_field_collection_update\",\"parameters\":[{\"name\":\"key\",\"in\":\"path\",\"description\":\"Field collection unique key\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"MyFieldCollection\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/FieldCollectionUpdate\"}}}},\"responses\":{\"200\":{\"description\":\"class_field_collection_update_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/FieldCollectionDetail\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_field_collection_delete_summary\",\"description\":\"class_field_collection_delete_description\",\"operationId\":\"class_field_collection_delete\",\"parameters\":[{\"name\":\"key\",\"in\":\"path\",\"description\":\"Field collection unique key\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"MyFieldCollection\"}}],\"responses\":{\"200\":{\"description\":\"class_field_collection_delete_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/field-collection/{key}/export\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_field_collection_export_summary\",\"description\":\"class_field_collection_export_description\",\"operationId\":\"class_field_collection_export\",\"parameters\":[{\"name\":\"key\",\"in\":\"path\",\"description\":\"Field collection unique key\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"MyFieldCollection\"}}],\"responses\":{\"200\":{\"description\":\"class_field_collection_export_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"attachment; filename=\\\"fieldcollection_MyFieldCollection_export.json\\\"\"}}},\"content\":{\"application/json\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/field-collection/{key}/import\":{\"post\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_field_collection_import_summary\",\"description\":\"class_field_collection_import_description\",\"operationId\":\"class_field_collection_import\",\"parameters\":[{\"name\":\"key\",\"in\":\"path\",\"description\":\"Field collection unique key\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"MyFieldCollection\"}}],\"requestBody\":{\"required\":true,\"content\":{\"multipart/form-data\":{\"schema\":{\"required\":[\"file\"],\"properties\":{\"file\":{\"description\":\"Import file with JSON encoded field collection definition\",\"type\":\"string\",\"format\":\"binary\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"class_field_collection_import_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/FieldCollectionDetail\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/field-collection/{objectId}/object/layout\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_field_collection_object_layout_summary\",\"description\":\"class_field_collection_object_layout_description\",\"operationId\":\"class_field_collection_object_layout\",\"parameters\":[{\"name\":\"objectId\",\"in\":\"path\",\"description\":\"ObjectId of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"class_field_collection_object_layout_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/FieldCollectionLayoutDefinition\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/field-collection/{key}/layout\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_field_collection_get_layout_by_key_summary\",\"description\":\"class_field_collection_get_layout_by_key_description\",\"operationId\":\"class_field_collection_get_layout_by_key\",\"parameters\":[{\"name\":\"key\",\"in\":\"path\",\"description\":\"Field collection unique key\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"MyFieldCollection\"}}],\"responses\":{\"200\":{\"description\":\"class_field_collection_get_layout_by_key_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ConfigLayoutDefinition\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/field-collection/tree\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_field_collection_get_tree_summary\",\"description\":\"class_field_collection_get_tree_description\",\"operationId\":\"class_field_collection_get_tree\",\"parameters\":[{\"name\":\"allowedTypes\",\"in\":\"query\",\"description\":\"Comma-separated list of allowed field collection types to filter by.\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"NewsCars,NewsText\"}}],\"responses\":{\"200\":{\"description\":\"class_field_collection_get_tree_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/components/schemas/FieldCollectionTreeNode\"},{\"$ref\":\"#/components/schemas/FieldCollectionTreeNodeFolder\"}]}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/field-collection/{key}/usages\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_field_collection_get_usages_summary\",\"description\":\"class_field_collection_get_usages_description\",\"operationId\":\"class_field_collection_get_usages\",\"parameters\":[{\"name\":\"key\",\"in\":\"path\",\"description\":\"Field collection unique key\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"MyFieldCollection\"}}],\"responses\":{\"200\":{\"description\":\"class_field_collection_get_usages_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"items\"],\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/FieldCollectionUsageData\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/definition/fields-by-type\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_get_fields_by_type_summary\",\"description\":\"class_get_fields_by_type_description\",\"operationId\":\"class_get_fields_by_type\",\"parameters\":[{\"name\":\"classId\",\"in\":\"query\",\"description\":\"The class ID to retrieve fields for.\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"EV\"}},{\"name\":\"type\",\"in\":\"query\",\"description\":\"Comma-separated list of field types to filter by.\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"manyToOneRelation,objectbricks\"}}],\"responses\":{\"200\":{\"description\":\"class_get_fields_by_type_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/FieldByType\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/folder/{folderId}\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_definition_folder_collection_summary\",\"description\":\"class_definition_folder_collection_description\",\"operationId\":\"class_definition_folder_collection\",\"parameters\":[{\"name\":\"folderId\",\"in\":\"path\",\"description\":\"FolderId of the data-object\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"class_definition_folder_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ClassDefinitionFolderItem\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/definition/{dataObjectClass}\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_definition_get_summary\",\"description\":\"class_definition_get_description\",\"operationId\":\"class_definition_get\",\"parameters\":[{\"name\":\"dataObjectClass\",\"in\":\"path\",\"description\":\"class_definition_get_data_object_class\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"CAR\"}}],\"responses\":{\"200\":{\"description\":\"class_definition_get_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ClassDefinition\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/object-brick/classes\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_object_brick_classes_summary\",\"description\":\"class_object_brick_classes_description\",\"operationId\":\"class_object_brick_classes\",\"responses\":{\"200\":{\"description\":\"class_object_brick_classes_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ClassDefinitionList\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/object-brick/collection\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_object_brick_collection_summary\",\"description\":\"class_object_brick_collection_description\",\"operationId\":\"class_object_brick_collection\",\"responses\":{\"200\":{\"description\":\"class_object_brick_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ObjectBrickConfig\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/object-brick\":{\"post\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_object_brick_create_summary\",\"description\":\"class_object_brick_create_description\",\"operationId\":\"class_object_brick_create\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CreateObjectBrick\"}}}},\"responses\":{\"200\":{\"description\":\"class_object_brick_create_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ObjectBrickDetail\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>409 - Conflict<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/object-brick/{key}/custom-layout/{customLayoutId}\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_object_brick_custom_layout_get_summary\",\"description\":\"class_object_brick_custom_layout_get_description\",\"operationId\":\"class_object_brick_custom_layout_get\",\"parameters\":[{\"name\":\"key\",\"in\":\"path\",\"description\":\"class_object_brick_custom_layout_get_key\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"SaleInformation\"}},{\"name\":\"customLayoutId\",\"in\":\"path\",\"description\":\"class_object_brick_custom_layout_get_layout_id\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"CarTodo\"}}],\"responses\":{\"200\":{\"description\":\"class_object_brick_custom_layout_get_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CustomLayout\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"put\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_object_brick_custom_layout_update_summary\",\"description\":\"class_object_brick_custom_layout_update_description\",\"operationId\":\"class_object_brick_custom_layout_update\",\"parameters\":[{\"name\":\"key\",\"in\":\"path\",\"description\":\"class_object_brick_custom_layout_update_key\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"SaleInformation\"}},{\"name\":\"customLayoutId\",\"in\":\"path\",\"description\":\"class_object_brick_custom_layout_update_layout_id\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"CarTodo\"}}],\"requestBody\":{\"required\":false,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CustomLayoutUpdate\"}}}},\"responses\":{\"200\":{\"description\":\"class_object_brick_custom_layout_update_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CustomLayout\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_object_brick_custom_layout_delete_summary\",\"description\":\"class_object_brick_custom_layout_delete_description\",\"operationId\":\"class_object_brick_custom_layout_delete\",\"parameters\":[{\"name\":\"key\",\"in\":\"path\",\"description\":\"class_object_brick_custom_layout_delete_key\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"SaleInformation\"}},{\"name\":\"customLayoutId\",\"in\":\"path\",\"description\":\"class_object_brick_custom_layout_delete_layout_id\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"CarTodo\"}}],\"responses\":{\"200\":{\"description\":\"class_object_brick_custom_layout_delete_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/object-brick/{key}/custom-layout/{customLayoutId}/export\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_object_brick_custom_layout_export_summary\",\"description\":\"class_object_brick_custom_layout_export_description\",\"operationId\":\"class_object_brick_custom_layout_export\",\"parameters\":[{\"name\":\"key\",\"in\":\"path\",\"description\":\"class_object_brick_custom_layout_export_key\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"SaleInformation\"}},{\"name\":\"customLayoutId\",\"in\":\"path\",\"description\":\"class_object_brick_custom_layout_export_layout_id\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"CarTodo\"}}],\"responses\":{\"200\":{\"description\":\"class_object_brick_custom_layout_export_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"attachment; filename=\\\"custom_definition_export.json\\\"\"}}},\"content\":{\"application/json\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/object-brick/{key}/custom-layout/{customLayoutId}/import\":{\"post\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_object_brick_custom_layout_import_summary\",\"description\":\"class_object_brick_custom_layout_import_description\",\"operationId\":\"class_object_brick_custom_layout_import\",\"parameters\":[{\"name\":\"key\",\"in\":\"path\",\"description\":\"class_object_brick_custom_layout_import_key\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"SaleInformation\"}},{\"name\":\"customLayoutId\",\"in\":\"path\",\"description\":\"class_object_brick_custom_layout_import_layout_id\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"CarTodo\"}}],\"requestBody\":{\"required\":true,\"content\":{\"multipart/form-data\":{\"schema\":{\"required\":[\"file\"],\"properties\":{\"file\":{\"description\":\"Import file to upload\",\"type\":\"string\",\"format\":\"binary\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"class_object_brick_custom_layout_import_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CustomLayout\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/object-brick/{key}\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_object_brick_get_by_key_summary\",\"description\":\"class_object_brick_get_by_key_description\",\"operationId\":\"class_object_brick_get_by_key\",\"parameters\":[{\"name\":\"key\",\"in\":\"path\",\"description\":\"Object brick unique key\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"MyObjectBrick\"}}],\"responses\":{\"200\":{\"description\":\"class_object_brick_get_by_key_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ObjectBrickDetail\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"put\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_object_brick_update_summary\",\"description\":\"class_object_brick_update_description\",\"operationId\":\"class_object_brick_update\",\"parameters\":[{\"name\":\"key\",\"in\":\"path\",\"description\":\"Object brick unique key\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"MyObjectBrick\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ObjectBrickUpdate\"}}}},\"responses\":{\"200\":{\"description\":\"class_object_brick_update_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ObjectBrickDetail\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_object_brick_delete_summary\",\"description\":\"class_object_brick_delete_description\",\"operationId\":\"class_object_brick_delete\",\"parameters\":[{\"name\":\"key\",\"in\":\"path\",\"description\":\"Object brick unique key\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"MyObjectBrick\"}}],\"responses\":{\"200\":{\"description\":\"class_object_brick_delete_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/object-brick/{key}/export\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_object_brick_export_summary\",\"description\":\"class_object_brick_export_description\",\"operationId\":\"class_object_brick_export\",\"parameters\":[{\"name\":\"key\",\"in\":\"path\",\"description\":\"Object brick unique key\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"MyObjectBrick\"}}],\"responses\":{\"200\":{\"description\":\"class_object_brick_export_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"attachment; filename=\\\"objectbrick_MyObjectBrick_export.json\\\"\"}}},\"content\":{\"application/json\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/object-brick/{key}/import\":{\"post\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_object_brick_import_summary\",\"description\":\"class_object_brick_import_description\",\"operationId\":\"class_object_brick_import\",\"parameters\":[{\"name\":\"key\",\"in\":\"path\",\"description\":\"Object brick unique key\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"MyObjectBrick\"}}],\"requestBody\":{\"required\":true,\"content\":{\"multipart/form-data\":{\"schema\":{\"required\":[\"file\"],\"properties\":{\"file\":{\"description\":\"Import file with JSON encoded object brick definition\",\"type\":\"string\",\"format\":\"binary\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"class_object_brick_import_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ObjectBrickDetail\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/object-brick/{objectId}/object/layout\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_object_brick_object_layout_summary\",\"description\":\"class_object_brick_object_layout_description\",\"operationId\":\"class_object_brick_object_layout\",\"parameters\":[{\"name\":\"objectId\",\"in\":\"path\",\"description\":\"ObjectId of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"class_object_brick_object_layout_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ObjectBrickLayoutDefinition\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/object-brick/{key}/layout\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_object_brick_get_layout_by_key_summary\",\"description\":\"class_object_brick_get_layout_by_key_description\",\"operationId\":\"class_object_brick_get_layout_by_key\",\"parameters\":[{\"name\":\"key\",\"in\":\"path\",\"description\":\"Object brick unique key\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"MyObjectBrick\"}}],\"responses\":{\"200\":{\"description\":\"class_object_brick_get_layout_by_key_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ConfigLayoutDefinition\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/object-brick/tree\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_object_brick_get_tree_summary\",\"description\":\"class_object_brick_get_tree_description\",\"operationId\":\"class_object_brick_get_tree\",\"responses\":{\"200\":{\"description\":\"class_object_brick_get_tree_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/components/schemas/ObjectBrickTreeNode\"},{\"$ref\":\"#/components/schemas/ObjectBrickTreeNodeFolder\"}]}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/object-brick/{key}/usages\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_object_brick_get_usages_summary\",\"description\":\"class_object_brick_get_usages_description\",\"operationId\":\"class_object_brick_get_usages\",\"parameters\":[{\"name\":\"key\",\"in\":\"path\",\"description\":\"Object brick unique key\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"MyObjectBrick\"}}],\"responses\":{\"200\":{\"description\":\"class_object_brick_get_usages_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"items\"],\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ObjectBrickUsageData\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/select-option\":{\"post\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_select_option_create_summary\",\"description\":\"class_select_option_create_description\",\"operationId\":\"class_select_option_create\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CreateSelectOption\"}}}},\"responses\":{\"200\":{\"description\":\"class_select_option_create_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/SelectOptionDetail\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>409 - Conflict<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/select-option/{id}\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_select_option_get_summary\",\"description\":\"class_select_option_get_description\",\"operationId\":\"class_select_option_get\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Select option configuration ID\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"EventStatus\"}}],\"responses\":{\"200\":{\"description\":\"class_select_option_get_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/SelectOptionDetail\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"put\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_select_option_update_summary\",\"description\":\"class_select_option_update_description\",\"operationId\":\"class_select_option_update\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Select option configuration ID\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"EventStatus\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/UpdateSelectOption\"}}}},\"responses\":{\"200\":{\"description\":\"class_select_option_update_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/SelectOptionDetail\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_select_option_delete_summary\",\"description\":\"class_select_option_delete_description\",\"operationId\":\"class_select_option_delete\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Select option configuration ID\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"EventStatus\"}}],\"responses\":{\"200\":{\"description\":\"class_select_option_delete_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>409 - Conflict<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/select-option/tree\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_select_option_get_tree_summary\",\"description\":\"class_select_option_get_tree_description\",\"operationId\":\"class_select_option_get_tree\",\"parameters\":[{\"name\":\"withGroup\",\"in\":\"query\",\"description\":\"Whether to group the results.\",\"required\":true,\"schema\":{\"type\":\"boolean\",\"example\":true}}],\"responses\":{\"200\":{\"description\":\"class_select_option_get_tree_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/components/schemas/SelectOptionTree\"},{\"$ref\":\"#/components/schemas/SelectOptionTreeFolder\"}]}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/class/select-option/{id}/usages\":{\"get\":{\"tags\":[\"Class Definition\"],\"summary\":\"class_select_option_get_usages_summary\",\"description\":\"class_select_option_get_usages_description\",\"operationId\":\"class_select_option_get_usages\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Select option configuration ID\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"EventStatus\"}}],\"responses\":{\"200\":{\"description\":\"class_select_option_get_usages_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"items\"],\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/SelectOptionUsageItem\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/classification-store/collections\":{\"get\":{\"tags\":[\"Classification Store\"],\"summary\":\"classification_store_get_collections_summary\",\"description\":\"classification_store_get_collections_description\",\"operationId\":\"classification_store_get_collections\",\"parameters\":[{\"name\":\"storeId\",\"in\":\"query\",\"description\":\"Classification Store ID\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"classId\",\"in\":\"query\",\"description\":\"Class ID\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"AP\"}},{\"name\":\"page\",\"in\":\"query\",\"description\":\"Page number\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":1}},{\"name\":\"pageSize\",\"in\":\"query\",\"description\":\"Number of items per page\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":10}},{\"name\":\"fieldName\",\"in\":\"query\",\"description\":\"Field Name\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"technicalAttributes\"}},{\"name\":\"searchTerm\",\"in\":\"query\",\"description\":\"Search Term\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"search term\"}}],\"responses\":{\"200\":{\"description\":\"classification_store_get_collections_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Collection\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/classification-store/groups\":{\"get\":{\"tags\":[\"Classification Store\"],\"summary\":\"classification_store_get_groups_summary\",\"description\":\"classification_store_get_groups_description\",\"operationId\":\"classification_store_get_groups\",\"parameters\":[{\"name\":\"storeId\",\"in\":\"query\",\"description\":\"Classification Store ID\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"classId\",\"in\":\"query\",\"description\":\"Class ID\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"AP\"}},{\"name\":\"searchTerm\",\"in\":\"query\",\"description\":\"Search Term\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"search term\"}},{\"name\":\"page\",\"in\":\"query\",\"description\":\"Page number\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":1}},{\"name\":\"pageSize\",\"in\":\"query\",\"description\":\"Number of items per page\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":10}},{\"name\":\"fieldName\",\"in\":\"query\",\"description\":\"Field Name\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"technicalAttributes\"}}],\"responses\":{\"200\":{\"description\":\"classification_store_get_groups_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Group\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/classification-store/key-group-relations\":{\"get\":{\"tags\":[\"Classification Store\"],\"summary\":\"classification_store_get_key_group_relations_summary\",\"description\":\"classification_store_get_key_group_relations_description\",\"operationId\":\"classification_store_get_key_group_relations\",\"parameters\":[{\"name\":\"storeId\",\"in\":\"query\",\"description\":\"Classification Store ID\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"classId\",\"in\":\"query\",\"description\":\"Class ID\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"AP\"}},{\"name\":\"searchTerm\",\"in\":\"query\",\"description\":\"Search Term\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"search term\"}},{\"name\":\"page\",\"in\":\"query\",\"description\":\"Page number\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":1}},{\"name\":\"pageSize\",\"in\":\"query\",\"description\":\"Number of items per page\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":10}},{\"name\":\"fieldName\",\"in\":\"query\",\"description\":\"Field Name\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"technicalAttributes\"}}],\"responses\":{\"200\":{\"description\":\"classification_store_get_key_group_relations_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/KeyGroupRelation\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/classification-store/layout-by-collection/{collectionId}\":{\"get\":{\"tags\":[\"Classification Store\"],\"summary\":\"classification_store_get_layout_by_collection_summary\",\"description\":\"classification_store_get_layout_by_collection_description\",\"operationId\":\"classification_store_get_layout_by_collection\",\"parameters\":[{\"name\":\"objectId\",\"in\":\"query\",\"description\":\"object ID\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"collectionId\",\"in\":\"path\",\"description\":\"CollectionId of the Collection ID\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"fieldName\",\"in\":\"query\",\"description\":\"Field Name\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"technicalAttributes\"}}],\"responses\":{\"200\":{\"description\":\"classification_store_get_layout_by_collection_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CollectionLayout\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/classification-store/layout-by-group/{groupId}\":{\"get\":{\"tags\":[\"Classification Store\"],\"summary\":\"classification_store_get_layout_by_group_summary\",\"description\":\"classification_store_get_layout_by_group_description\",\"operationId\":\"classification_store_get_layout_by_group\",\"parameters\":[{\"name\":\"objectId\",\"in\":\"query\",\"description\":\"object ID\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"groupId\",\"in\":\"path\",\"description\":\"GroupId of the Group ID\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"fieldName\",\"in\":\"query\",\"description\":\"Field Name\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"technicalAttributes\"}}],\"responses\":{\"200\":{\"description\":\"classification_store_get_layout_by_group_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/GroupLayout\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/classification-store/layout-by-key/{keyId}\":{\"get\":{\"tags\":[\"Classification Store\"],\"summary\":\"classification_store_get_layout_by_key_summary\",\"description\":\"classification_store_get_layout_by_key_description\",\"operationId\":\"classification_store_get_layout_by_key\",\"parameters\":[{\"name\":\"objectId\",\"in\":\"query\",\"description\":\"object ID\",\"required\":false,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"keyId\",\"in\":\"path\",\"description\":\"KeyId of the Key ID\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"fieldName\",\"in\":\"query\",\"description\":\"Field Name\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"technicalAttributes\"}}],\"responses\":{\"200\":{\"description\":\"classification_store_get_layout_by_key_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/KeyLayout\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/classification-store/config/collection\":{\"get\":{\"tags\":[\"Classification Store\"],\"summary\":\"classification_store_get_config_collection_summary\",\"description\":\"classification_store_get_config_collection_description\",\"operationId\":\"classification_store_get_config_collection\",\"responses\":{\"200\":{\"description\":\"classification_store_get_config_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ClassificationStoreStoreConfig\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/data-objects/add/{parentId}\":{\"post\":{\"tags\":[\"Data Objects\"],\"summary\":\"data_object_add_summary\",\"description\":\"data_object_add_description\",\"operationId\":\"data_object_add\",\"parameters\":[{\"name\":\"parentId\",\"in\":\"path\",\"description\":\"ParentId of the data-object\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DataObjectAddParameters\"}}}},\"responses\":{\"200\":{\"description\":\"data_object_add_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"id\"],\"properties\":{\"id\":{\"title\":\"id\",\"description\":\"ID of created data object\",\"type\":\"integer\",\"example\":66}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/data-objects/batch-delete\":{\"delete\":{\"tags\":[\"Data Objects\"],\"summary\":\"data_object_batch_delete_summary\",\"description\":\"data_object_batch_delete_description\",\"operationId\":\"data_object_batch_delete\",\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"ids\":{\"type\":\"array\",\"items\":{\"type\":\"integer\"}}},\"type\":\"object\"}}}},\"responses\":{\"201\":{\"description\":\"data_object_batch_delete_created_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"jobRunId\"],\"properties\":{\"jobRunId\":{\"title\":\"jobRunId\",\"description\":\"ID of created jobRun\",\"type\":\"integer\",\"example\":66}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/data-objects/{id}/clone/{parentId}\":{\"post\":{\"tags\":[\"Data Objects\"],\"summary\":\"data_object_clone_summary\",\"description\":\"data_object_clone_description\",\"operationId\":\"data_object_clone\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the data-object\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"parentId\",\"in\":\"path\",\"description\":\"ParentId of the data-object\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CloneParameters\"}}}},\"responses\":{\"200\":{\"description\":\"data_object_clone_success_response\"},\"201\":{\"description\":\"data_object_clone_created_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"jobRunId\"],\"properties\":{\"jobRunId\":{\"title\":\"jobRunId\",\"description\":\"ID of created jobRun\",\"type\":\"integer\",\"example\":66}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/data-objects/{id}\":{\"get\":{\"tags\":[\"Data Objects\"],\"summary\":\"data_object_get_by_id_summary\",\"description\":\"data_object_get_by_id_description\",\"operationId\":\"data_object_get_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the data-object\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"data_object_get_by_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\",\"oneOf\":[{\"$ref\":\"#/components/schemas/DataObjectDetail\"},{\"$ref\":\"#/components/schemas/DataObjectFolder\"}]}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"put\":{\"tags\":[\"Data Objects\"],\"summary\":\"data_object_update_by_id_summary\",\"description\":\"data_object_update_by_id_description\",\"operationId\":\"data_object_update_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the data-object\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"data\"],\"properties\":{\"data\":{\"properties\":{\"parentId\":{\"type\":[\"integer\",\"null\"],\"minimum\":1},\"index\":{\"type\":[\"integer\",\"null\"],\"minimum\":0},\"key\":{\"type\":[\"string\",\"null\"]},\"useDraftData\":{\"type\":[\"boolean\",\"null\"]},\"task\":{\"type\":\"string\",\"enum\":[\"autoSave\",\"publish\",\"save\",\"unpublish\",\"version\"]},\"locked\":{\"type\":[\"string\",\"null\"]},\"childrenSortBy\":{\"type\":[\"string\",\"null\"]},\"childrenSortOrder\":{\"type\":[\"string\",\"null\"]},\"published\":{\"type\":[\"boolean\",\"null\"]},\"editableData\":{\"type\":[\"object\",\"null\"],\"example\":\"{ \\\"someFieldKey\\\": \\\"someValue\\\" }\"},\"properties\":{\"type\":[\"array\",\"null\"],\"items\":{\"$ref\":\"#/components/schemas/UpdateElementProperty\"}}},\"type\":\"object\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"data_object_update_by_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\",\"oneOf\":[{\"$ref\":\"#/components/schemas/DataObjectDetail\"},{\"$ref\":\"#/components/schemas/DataObjectFolder\"}]}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/data-objects/grid/preview\":{\"post\":{\"tags\":[\"Data Object Grid\"],\"summary\":\"data_object_get_grid_preview_summary\",\"description\":\"data_object_get_grid_preview_description\",\"operationId\":\"data_object_get_grid_preview\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"objectId\",\"column\"],\"properties\":{\"objectId\":{\"type\":\"integer\",\"example\":1},\"column\":{\"$ref\":\"#/components/schemas/Column\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"data_object_get_grid_preview_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ColumnData\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/data-object/grid/configuration/{configurationId}\":{\"delete\":{\"tags\":[\"Data Object Grid\"],\"summary\":\"data_object_delete_grid_configuration_by_configurationId_summary\",\"description\":\"data_object_delete_grid_configuration_by_configurationId_description\",\"operationId\":\"data_object_delete_grid_configuration_by_configurationId\",\"parameters\":[{\"name\":\"configurationId\",\"in\":\"path\",\"description\":\"ConfigurationId of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"Success\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DetailedConfiguration\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/data-object/grid/configuration/{folderId}/{classId}\":{\"get\":{\"tags\":[\"Data Object Grid\"],\"summary\":\"data_object_get_grid_configuration_summary\",\"description\":\"data_object_get_grid_configuration_description\",\"operationId\":\"data_object_get_grid_configuration\",\"parameters\":[{\"name\":\"folderId\",\"in\":\"path\",\"description\":\"FolderId of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"classId\",\"in\":\"path\",\"description\":\"Class Id of the data object\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"EV\"}},{\"name\":\"configurationId\",\"in\":\"query\",\"description\":\"Configuration ID\",\"required\":false,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"data_object_get_grid_configuration_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DetailedConfiguration\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/data-object/grid/configurations/{classId}\":{\"get\":{\"tags\":[\"Data Object Grid\"],\"summary\":\"data_object_list_saved_grid_configurations_summary\",\"description\":\"data_object_list_saved_grid_configurations_description\",\"operationId\":\"data_object_list_saved_grid_configurations\",\"parameters\":[{\"name\":\"classId\",\"in\":\"path\",\"description\":\"Class Id of the data object\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"EV\"}}],\"responses\":{\"200\":{\"description\":\"data_object_list_saved_grid_configurations_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Configuration\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/data-object/grid/configuration/save/{classId}\":{\"post\":{\"tags\":[\"Data Object Grid\"],\"summary\":\"data_object_save_grid_configuration_summary\",\"description\":\"data_object_save_grid_configuration_description\",\"operationId\":\"data_object_save_grid_configuration\",\"parameters\":[{\"name\":\"classId\",\"in\":\"path\",\"description\":\"Class Id of the data object\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"EV\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"folderId\",\"pageSize\",\"name\",\"description\",\"columns\"],\"properties\":{\"folderId\":{\"type\":\"integer\",\"example\":1},\"pageSize\":{\"type\":\"integer\",\"example\":1},\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"shareGlobal\":{\"type\":\"boolean\",\"example\":true},\"setAsFavorite\":{\"type\":\"boolean\",\"example\":true},\"saveFilter\":{\"type\":\"boolean\",\"example\":true},\"sharedUsers\":{\"type\":\"object\",\"example\":[42,1337]},\"sharedRoles\":{\"type\":\"object\",\"example\":[42,1337]},\"columns\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Column\"}},\"filter\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Filter\"},{\"type\":\"null\"}],\"type\":\"object\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"data_object_save_grid_configuration_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Configuration\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/data-object/grid/configuration/set-as-favorite/{configurationId}/{folderId}\":{\"post\":{\"tags\":[\"Data Object Grid\"],\"summary\":\"data_object_set_grid_configuration_as_favorite_summary\",\"description\":\"data_object_set_grid_configuration_as_favorite_description\",\"operationId\":\"data_object_set_grid_configuration_as_favorite\",\"parameters\":[{\"name\":\"configurationId\",\"in\":\"path\",\"description\":\"ConfigurationId of the configurationId\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"folderId\",\"in\":\"path\",\"description\":\"FolderId of the folderId\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"data_object_set_grid_configuration_as_favorite_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/data-object/grid/configuration/update/{configurationId}\":{\"put\":{\"tags\":[\"Data Object Grid\"],\"summary\":\"data_object_update_grid_configuration_summary\",\"description\":\"data_object_update_grid_configuration_description\",\"operationId\":\"data_object_update_grid_configuration\",\"parameters\":[{\"name\":\"configurationId\",\"in\":\"path\",\"description\":\"ConfigurationId of the configurationId\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"folderId\",\"pageSize\",\"name\",\"description\",\"columns\"],\"properties\":{\"folderId\":{\"type\":\"integer\",\"example\":1},\"pageSize\":{\"type\":\"integer\",\"example\":1},\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"shareGlobal\":{\"type\":\"boolean\",\"example\":true},\"setAsFavorite\":{\"type\":\"boolean\",\"example\":true},\"saveFilter\":{\"type\":\"boolean\",\"example\":true},\"sharedUsers\":{\"type\":\"object\",\"example\":[42,1337]},\"sharedRoles\":{\"type\":\"object\",\"example\":[42,1337]},\"columns\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Column\"}},\"filter\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Filter\"},{\"type\":\"null\"}],\"type\":\"object\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"data_object_update_grid_configuration_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/data-object/grid/available-columns\":{\"get\":{\"tags\":[\"Data Object Grid\"],\"summary\":\"data_object_get_available_grid_columns_summary\",\"description\":\"data_object_get_available_grid_columns_description\",\"operationId\":\"data_object_get_available_grid_columns\",\"parameters\":[{\"name\":\"classId\",\"in\":\"query\",\"description\":\"Identifies the class name for which the columns should be retrieved.\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"EV\"}},{\"name\":\"folderId\",\"in\":\"query\",\"description\":\"folderId\",\"required\":false,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"data_object_get_available_grid_columns_success_response\",\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"columns\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ColumnConfiguration\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/data-object/grid/available-columns-for-relation\":{\"get\":{\"tags\":[\"Data Object Grid\"],\"summary\":\"data_object_get_available_grid_columns_for_relation_summary\",\"description\":\"data_object_get_available_grid_columns_for_relation_description\",\"operationId\":\"data_object_get_available_grid_columns_for_relation\",\"parameters\":[{\"name\":\"classId\",\"in\":\"query\",\"description\":\"Identifies the class name for which the columns should be retrieved.\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"EV\"}},{\"name\":\"relationField\",\"in\":\"query\",\"description\":\"relationField as dot notation, e.g. \\\"myBlock.mySubRelationField\\\"\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"myRelationField\"}}],\"responses\":{\"200\":{\"description\":\"data_object_get_available_grid_columns_success_for_relation_response\",\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"columns\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ColumnConfiguration\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/data-objects/grid/{classId}\":{\"post\":{\"tags\":[\"Data Object Grid\"],\"summary\":\"data_object_get_grid_summary\",\"description\":\"data_object_get_grid_description\",\"operationId\":\"data_object_get_grid\",\"parameters\":[{\"name\":\"classId\",\"in\":\"path\",\"description\":\"Identifies the class name for which the the grid should be build.\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"EV\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"folderId\"],\"properties\":{\"folderId\":{\"type\":\"integer\",\"example\":1},\"columns\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Column\"}},\"filters\":{\"$ref\":\"#/components/schemas/Filter\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"data_object_get_grid_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"required\":[\"id\",\"columns\",\"isLocked\",\"permissions\"],\"type\":\"array\",\"items\":{\"properties\":{\"id\":{\"type\":\"integer\"},\"columns\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ColumnData\"}},\"isLocked\":{\"type\":\"boolean\"},\"permissions\":{\"$ref\":\"#/components/schemas/Permissions\"}},\"type\":\"object\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/data-objects/grid/transformers/services/phpcode\":{\"get\":{\"tags\":[\"Data Object Grid\"],\"summary\":\"data_object_get_phpcode_transformers_summary\",\"description\":\"data_object_get_phpcode_transformers_description\",\"operationId\":\"data_object_get_phpcode_transformers\",\"responses\":{\"200\":{\"description\":\"data_object_get_phpcode_transformers_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/PhpCodeTransformer\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/data-objects/{id}/layout\":{\"get\":{\"tags\":[\"Data Objects\"],\"summary\":\"data_object_get_layout_by_id_summary\",\"description\":\"data_object_get_layout_by_id_description\",\"operationId\":\"data_object_get_layout_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the data-object\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"layoutId\",\"in\":\"query\",\"description\":\"ID to get specific layout\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"Todo\"}}],\"responses\":{\"200\":{\"description\":\"data_object_get_layout_by_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Layout\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/data-objects\":{\"patch\":{\"tags\":[\"Data Objects\"],\"summary\":\"data_object_patch_by_id_summary\",\"description\":\"data_object_patch_by_id_description\",\"operationId\":\"data_object_patch_by_id\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"data\"],\"properties\":{\"data\":{\"type\":\"array\",\"items\":{\"required\":[\"id\"],\"properties\":{\"id\":{\"description\":\"Data Object ID\",\"type\":\"integer\",\"example\":83},\"parentId\":{\"type\":[\"integer\",\"null\"],\"minimum\":1},\"index\":{\"type\":[\"integer\",\"null\"],\"minimum\":0},\"key\":{\"type\":[\"string\",\"null\"]},\"task\":{\"type\":\"string\",\"enum\":[\"autoSave\",\"publish\",\"save\",\"unpublish\",\"version\"]},\"locked\":{\"type\":[\"string\",\"null\"]},\"childrenSortBy\":{\"type\":[\"string\",\"null\"]},\"childrenSortOrder\":{\"type\":[\"string\",\"null\"]},\"published\":{\"type\":[\"boolean\",\"null\"]},\"editableData\":{\"type\":[\"object\",\"null\"],\"example\":\"{ \\\"someFieldKey\\\": \\\"someValue\\\" }\"}},\"type\":\"object\"}}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"data_object_patch_by_id_success_response\"},\"201\":{\"description\":\"data_object_patch_by_id_created_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"jobRunId\"],\"properties\":{\"jobRunId\":{\"title\":\"jobRunId\",\"description\":\"ID of created jobRun\",\"type\":\"integer\",\"example\":66}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/data-objects/folder\":{\"patch\":{\"tags\":[\"Data Objects\"],\"summary\":\"data_object_patch_folder_by_id_summary\",\"description\":\"data_object_patch_folder_by_id_description\",\"operationId\":\"data_object_patch_folder_by_id\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"data\",\"classId\"],\"properties\":{\"data\":{\"type\":\"array\",\"items\":{\"required\":[\"folderId\"],\"properties\":{\"folderId\":{\"description\":\"Folder ID\",\"type\":\"integer\",\"example\":2},\"parentId\":{\"type\":[\"integer\",\"null\"],\"minimum\":1},\"index\":{\"type\":[\"integer\",\"null\"],\"minimum\":0},\"key\":{\"type\":[\"string\",\"null\"]},\"locked\":{\"type\":[\"string\",\"null\"]},\"childrenSortBy\":{\"type\":[\"string\",\"null\"]},\"childrenSortOrder\":{\"type\":[\"string\",\"null\"]},\"published\":{\"type\":[\"boolean\",\"null\"]},\"editableData\":{\"type\":[\"object\",\"null\"],\"example\":\"{ \\\"someFieldKey\\\": \\\"someValue\\\" }\"}},\"type\":\"object\"}},\"filters\":{\"$ref\":\"#/components/schemas/ExportAllFilter\"},\"classId\":{\"type\":\"string\",\"example\":\"CAR\"}},\"type\":\"object\"}}}},\"responses\":{\"201\":{\"description\":\"data_object_patch_by_id_created_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"jobRunId\"],\"properties\":{\"jobRunId\":{\"title\":\"jobRunId\",\"description\":\"ID of created jobRun\",\"type\":\"integer\",\"example\":66}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/data-objects/format-path\":{\"post\":{\"tags\":[\"Data Objects\"],\"summary\":\"data_object_format_path_summary\",\"description\":\"data_object_format_path_description\",\"operationId\":\"data_object_format_path\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"objectId\",\"targets\"],\"properties\":{\"objectId\":{\"type\":\"integer\",\"example\":1},\"targets\":{\"type\":\"object\",\"example\":\"{\\\"object_10\\\":{\\\"id\\\":10,\\\"type\\\":\\\"object\\\",\\\"label\\\":\\\"/Product\\n                        Data/Cars/jaguar/E-Type/coupé\\\",\\\"path\\\":\\\"/Product Data/Cars/jaguar/E-Type/coupé\\\",\\n                        \\\"nicePathKey\\\":\\\"object_10\\\"}}\"},\"fieldName\":{\"description\":\"Fieldname for the PathFormatter. Given as Dot Notation\",\"type\":\"string\",\"example\":\"attributes.Bodywork.numberOfDoors\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"data_object_format_path_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/FormatedPath\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/data-objects/preview/{id}\":{\"get\":{\"tags\":[\"Data Objects\"],\"summary\":\"data_object_preview_by_id_summary\",\"description\":\"data_object_preview_by_id_description\",\"operationId\":\"data_object_preview_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the data object\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"site\",\"in\":\"query\",\"description\":\"Site ID\",\"required\":false,\"schema\":{\"type\":\"integer\",\"example\":42}}],\"responses\":{\"302\":{\"description\":\"data_object_preview_by_id_success_response\",\"headers\":{\"Location\":{\"description\":\"Redirect location\",\"required\":true,\"schema\":{\"type\":\"string\",\"format\":\"uri\"}}}},\"default\":{\"description\":\"302 - Redirect<br>400 - Bad Request<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/data-objects/{sourceId}/replace/{targetId}\":{\"post\":{\"tags\":[\"Data Objects\"],\"summary\":\"data_object_replace_content_summary\",\"description\":\"data_object_replace_content_description\",\"operationId\":\"data_object_replace_content\",\"parameters\":[{\"name\":\"sourceId\",\"in\":\"path\",\"description\":\"SourceId of the data-object\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"targetId\",\"in\":\"path\",\"description\":\"TargetId of the data-object\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"data_object_replace_content_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/data-objects/select-options\":{\"post\":{\"tags\":[\"Data Objects\"],\"summary\":\"data_object_get_select_options_summary\",\"description\":\"data_object_get_select_options_description\",\"operationId\":\"data_object_get_select_options\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"objectId\",\"fieldName\",\"context\"],\"properties\":{\"objectId\":{\"type\":\"integer\",\"example\":1},\"fieldName\":{\"type\":\"string\"},\"changedData\":{\"type\":\"object\",\"example\":\"{\\\"Input\\\":\\\"new value\\\"}\"},\"context\":{\"type\":\"object\",\"example\":\"{\\\"containerType\\\":\\\"object\\\",\\\"fieldname\\\":\\\"select\\\",\\\"objectId\\\":40,\\\"layoutId\\\":\\\"0\\\"}\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"data_object_get_select_options_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/SelectOption\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/data-objects/tree\":{\"get\":{\"tags\":[\"Data Objects\"],\"summary\":\"data_object_get_tree_summary\",\"description\":\"data_object_get_tree_description\",\"operationId\":\"data_object_get_tree\",\"parameters\":[{\"name\":\"page\",\"in\":\"query\",\"description\":\"Page number\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":1}},{\"name\":\"pageSize\",\"in\":\"query\",\"description\":\"Number of items per page\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":10}},{\"name\":\"parentId\",\"in\":\"query\",\"description\":\"Filter data objects by parent id.\",\"required\":false,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":1}},{\"name\":\"idSearchTerm\",\"in\":\"query\",\"description\":\"Filter assets/data-objects by matching ids. As a wildcard * can be used\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":83}},{\"name\":\"pqlQuery\",\"in\":\"query\",\"description\":\"Pql query filter\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"series = empty AND color=\\\"red\\\"\"}},{\"name\":\"excludeFolders\",\"in\":\"query\",\"description\":\"Filter folders from result.\",\"required\":false,\"schema\":{\"type\":\"boolean\",\"example\":false}},{\"name\":\"path\",\"in\":\"query\",\"description\":\"Filter by path.\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"/path/to/folder\"}},{\"name\":\"pathIncludeParent\",\"in\":\"query\",\"description\":\"Include the parent item in the result.\",\"required\":false,\"schema\":{\"type\":\"boolean\",\"example\":true}},{\"name\":\"pathIncludeDescendants\",\"in\":\"query\",\"description\":\"Include all descendants in the result.\",\"required\":false,\"schema\":{\"type\":\"boolean\",\"example\":true}},{\"name\":\"className\",\"in\":\"query\",\"description\":\"When provided, the search is executed on the specific data object class index.\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"Car\"}},{\"name\":\"classIds\",\"in\":\"query\",\"description\":\"Filter results based on the provided class IDs.\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"[\\\"Car\\\"]\"}}],\"responses\":{\"200\":{\"description\":\"data_object_get_tree_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/components/schemas/DataObject\"},{\"$ref\":\"#/components/schemas/DataObjectFolder\"}]}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/dependencies/{elementType}/{id}\":{\"get\":{\"tags\":[\"Dependencies\"],\"summary\":\"Get all dependencies for provided element.\",\"description\":\"Get paginated dependencies.\\n        Pass dependency mode to get either all elements that depend on the provided element\\n        or all dependencies for the provided element.\",\"operationId\":\"dependency_get_collection_by_element_type\",\"parameters\":[{\"name\":\"elementType\",\"in\":\"path\",\"description\":\"Filter elements by matching element type.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"asset\",\"document\",\"data-object\"],\"example\":\"data-object\"}},{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"page\",\"in\":\"query\",\"description\":\"Page number\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":1}},{\"name\":\"pageSize\",\"in\":\"query\",\"description\":\"Number of items per page\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":10}},{\"name\":\"dependencyMode\",\"in\":\"query\",\"description\":\"Dependency mode\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"required_by\",\"requires\"],\"example\":\"required_by\"}}],\"responses\":{\"200\":{\"description\":\"Paginated dependencies with total count as header param\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/components/schemas/Dependency\"}]}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/documents/add/{parentId}\":{\"post\":{\"tags\":[\"Documents\"],\"summary\":\"document_add_summary\",\"description\":\"document_add_description\",\"operationId\":\"document_add\",\"parameters\":[{\"name\":\"parentId\",\"in\":\"path\",\"description\":\"ParentId of the document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DocumentAddParameters\"}}}},\"responses\":{\"200\":{\"description\":\"document_add_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"id\"],\"properties\":{\"id\":{\"title\":\"id\",\"description\":\"ID of created document element\",\"type\":\"integer\",\"example\":66}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>409 - Conflict<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/documents/{id}/clone/{parentId}\":{\"post\":{\"tags\":[\"Documents\"],\"summary\":\"document_clone_summary\",\"description\":\"document_clone_description\",\"operationId\":\"document_clone\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"parentId\",\"in\":\"path\",\"description\":\"ParentId of the document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DocumentCloneParameters\"}}}},\"responses\":{\"200\":{\"description\":\"document_clone_success_response\"},\"201\":{\"description\":\"document_clone_created_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"jobRunId\"],\"properties\":{\"jobRunId\":{\"title\":\"jobRunId\",\"description\":\"ID of created jobRun\",\"type\":\"integer\",\"example\":66}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/documents/{id}/convert/{type}\":{\"post\":{\"tags\":[\"Documents\"],\"summary\":\"document_convert_summary\",\"description\":\"document_convert_description\",\"operationId\":\"document_convert\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"type\",\"in\":\"path\",\"description\":\"Document type to convert to\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"page\"}}],\"responses\":{\"200\":{\"description\":\"document_convert_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/documents/doc-types/add\":{\"post\":{\"tags\":[\"Documents\"],\"summary\":\"document_doc_type_add_summary\",\"description\":\"document_doc_type_add_description\",\"operationId\":\"document_doc_type_add\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DocTypeAddParameters\"}}}},\"responses\":{\"200\":{\"description\":\"document_doc_type_add_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DocType\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/documents/doc-types/{id}\":{\"put\":{\"tags\":[\"Documents\"],\"summary\":\"document_doc_type_update_by_id_summary\",\"description\":\"document_doc_type_update_by_id_description\",\"operationId\":\"document_doc_type_update_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"The Id of the DocType to update\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"1\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DocTypeUpdateParameters\"}}}},\"responses\":{\"200\":{\"description\":\"document_doc_type_update_by_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DocType\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Documents\"],\"summary\":\"document_doc_type_delete_summary\",\"description\":\"document_doc_type_delete_description\",\"operationId\":\"document_doc_type_delete\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"The Id of the DocType to delete\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"1\"}}],\"responses\":{\"200\":{\"description\":\"document_doc_type_delete_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/documents/doc-types/types\":{\"get\":{\"tags\":[\"Documents\"],\"summary\":\"document_doc_type_type_list_summary\",\"description\":\"document_doc_type_type_list_description\",\"operationId\":\"document_doc_type_type_list\",\"responses\":{\"200\":{\"description\":\"document_doc_type_type_list_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"items\"],\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/DocTypeType\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/documents/doc-types\":{\"get\":{\"tags\":[\"Documents\"],\"summary\":\"document_doc_type_list_summary\",\"description\":\"document_doc_type_list_description\",\"operationId\":\"document_doc_type_list\",\"parameters\":[{\"name\":\"type\",\"in\":\"query\",\"description\":\"Filter results by docType type\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"page\"}}],\"responses\":{\"200\":{\"description\":\"document_doc_type_list_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"items\"],\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/DocType\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/documents/types\":{\"get\":{\"tags\":[\"Documents\"],\"summary\":\"document_get_types_summary\",\"description\":\"document_get_types_description\",\"operationId\":\"document_get_types\",\"responses\":{\"200\":{\"description\":\"document_get_types_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/DocumentType\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/documents/{id}\":{\"get\":{\"tags\":[\"Documents\"],\"summary\":\"document_get_by_id_summary\",\"description\":\"document_get_by_id_description\",\"operationId\":\"document_get_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"document_get_by_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DocumentDetail\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"put\":{\"tags\":[\"Documents\"],\"summary\":\"document_update_by_id_summary\",\"description\":\"document_update_by_id_description\",\"operationId\":\"document_update_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"data\"],\"properties\":{\"data\":{\"properties\":{\"parentId\":{\"type\":[\"integer\",\"null\"],\"minimum\":1},\"index\":{\"type\":[\"integer\",\"null\"],\"minimum\":0},\"key\":{\"type\":[\"string\",\"null\"]},\"task\":{\"type\":\"string\",\"enum\":[\"autoSave\",\"publish\",\"save\",\"unpublish\",\"version\"]},\"locked\":{\"type\":[\"string\",\"null\"]},\"published\":{\"type\":[\"boolean\",\"null\"]},\"editableData\":{\"type\":[\"object\",\"null\"],\"example\":\"{ \\\"someFieldKey\\\": \\\"someValue\\\" }\"},\"settingsData\":{\"type\":[\"object\",\"null\"],\"example\":{\"title\":\"Some Title\",\"description\":\"Some Description\",\"prettyUrl\":\"pretty/url\",\"controller\":\"App\\\\Controller\\\\PageController\",\"template\":\"@app/template.html.twig\",\"contentMainDocumentId\":123,\"contentMainDocumentPath\":\"/path/to/main/document\",\"supportsContentMain\":false,\"missingRequiredEditable\":false,\"staticGeneratorEnabled\":false,\"staticGeneratorLifetime\":123456,\"staticLastGenerated\":1700000000,\"url\":\"https://example.com/\"}},\"missingRequiredEditable\":{\"type\":[\"boolean\",\"null\"]},\"appendEditables\":{\"type\":[\"boolean\",\"null\"]},\"properties\":{\"type\":[\"array\",\"null\"],\"items\":{\"$ref\":\"#/components/schemas/UpdateElementProperty\"}}},\"type\":\"object\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"document_update_by_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DocumentDetail\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/documents/{id}/page/check-pretty-url\":{\"post\":{\"tags\":[\"Documents\"],\"summary\":\"document_page_check_pretty_url_summary\",\"description\":\"document_page_check_pretty_url_description\",\"operationId\":\"document_page_check_pretty_url\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CheckPrettyUrl\"}}}},\"responses\":{\"200\":{\"description\":\"document_page_check_pretty_url_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/documents/{id}/page/stream/preview\":{\"get\":{\"tags\":[\"Documents\"],\"summary\":\"document_page_stream_preview_summary\",\"description\":\"document_page_stream_preview_description\",\"operationId\":\"document_page_stream_preview\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the page\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"document_page_stream_preview_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"inline; filename=\\\"example.jpg\\\"\"}}},\"content\":{\"image/jpeg\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/documents/get-available-controllers\":{\"get\":{\"tags\":[\"Documents\"],\"summary\":\"document_available_controllers_list_summary\",\"description\":\"document_available_controllers_list_description\",\"operationId\":\"document_available_controllers_list\",\"responses\":{\"200\":{\"description\":\"document_available_controllers_list_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"items\"],\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/DocumentController\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/documents/get-available-templates\":{\"get\":{\"tags\":[\"Documents\"],\"summary\":\"document_available_templates_list_summary\",\"description\":\"document_available_templates_list_description\",\"operationId\":\"document_available_templates_list\",\"responses\":{\"200\":{\"description\":\"document_available_templates_list_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"items\"],\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/DocumentTemplate\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/documents/{id}/page-snippet/change-main-document\":{\"put\":{\"tags\":[\"Documents\"],\"summary\":\"document_page_snippet_change_main_document_summary\",\"description\":\"document_page_snippet_change_main_document_description\",\"operationId\":\"document_page_snippet_change_main_document\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ChangeMainDocument\"}}}},\"responses\":{\"200\":{\"description\":\"document_page_snippet_change_main_document_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/documents/page-snippet/{id}/area-block/render\":{\"post\":{\"tags\":[\"Documents\"],\"summary\":\"document_page_snippet_area_block_render_summary\",\"description\":\"document_page_snippet_area_block_render_description\",\"operationId\":\"document_page_snippet_area_block_render\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"name\",\"realName\",\"index\",\"blockStateStack\",\"areablockConfig\",\"areablockData\"],\"properties\":{\"name\":{\"type\":[\"string\",\"null\"]},\"realName\":{\"type\":[\"string\",\"null\"]},\"index\":{\"type\":[\"integer\",\"null\"],\"minimum\":0},\"blockStateStack\":{\"type\":[\"object\",\"null\"],\"example\":\"[{\\\"blocks\\\": [], \\\"indexes\\\": []}]\"},\"areaBlockConfig\":{\"type\":[\"object\",\"null\"],\"example\":\"[]\"},\"areaBlockData\":{\"type\":[\"object\",\"null\"],\"example\":\"[]\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"document_page_snippet_area_block_render_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/RenderAreaBlockData\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/documents/renderlet/render\":{\"get\":{\"tags\":[\"Documents\"],\"summary\":\"document_renderlet_render_summary\",\"description\":\"document_renderlet_render_description\",\"operationId\":\"document_renderlet_render\",\"parameters\":[{\"name\":\"id\",\"in\":\"query\",\"description\":\"ElementId of the renderlet element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"type\",\"in\":\"query\",\"description\":\"Type of the renderlet element.\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"data-object\"}},{\"name\":\"controller\",\"in\":\"query\",\"description\":\"Renderlet controller action\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"App/Controller\\\\Renderlet\\\\MyRenderletController::renderAction\"}},{\"name\":\"parentDocumentId\",\"in\":\"query\",\"description\":\"Parent document id of the renderlet\",\"required\":false,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"template\",\"in\":\"query\",\"description\":\"Renderlet template\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"App/Template/Renderlet/my_template.html.twig\"}}],\"responses\":{\"200\":{\"description\":\"document_renderlet_render_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"inline; filename=\\\"renderlet.html.twig\\\"\"}}},\"content\":{\"text/html\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/documents/{sourceId}/replace/{targetId}\":{\"post\":{\"tags\":[\"Documents\"],\"summary\":\"document_replace_content_summary\",\"description\":\"document_replace_content_description\",\"operationId\":\"document_replace_content\",\"parameters\":[{\"name\":\"sourceId\",\"in\":\"path\",\"description\":\"SourceId of the document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"targetId\",\"in\":\"path\",\"description\":\"TargetId of the document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"document_replace_content_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/documents/sites/list-available\":{\"get\":{\"tags\":[\"Documents\"],\"summary\":\"documents_list_available_sites_summary\",\"description\":\"documents_list_available_sites_description\",\"operationId\":\"documents_list_available_sites\",\"parameters\":[{\"name\":\"excludeMainSite\",\"in\":\"query\",\"description\":\"Exclude main site from the list\",\"schema\":{\"type\":\"boolean\",\"example\":false}}],\"responses\":{\"200\":{\"description\":\"documents_list_available_sites_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"items\"],\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Site\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/documents/site/{id}\":{\"post\":{\"tags\":[\"Documents\"],\"summary\":\"document_update_site_summary\",\"description\":\"document_update_site_description\",\"operationId\":\"document_update_site\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/UpdateSite\"}}}},\"responses\":{\"200\":{\"description\":\"document_update_site_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Documents\"],\"summary\":\"document_delete_site_summary\",\"description\":\"document_delete_site_description\",\"operationId\":\"document_delete_site\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"document_delete_site_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/documents/site/{documentId}\":{\"get\":{\"tags\":[\"Documents\"],\"summary\":\"document_get_site_summary\",\"description\":\"document_get_site_description\",\"operationId\":\"document_get_site\",\"parameters\":[{\"name\":\"documentId\",\"in\":\"path\",\"description\":\"DocumentId of the document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"document_get_site_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/SiteDetailData\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/documents/translations/{id}/add/{translationId}\":{\"post\":{\"tags\":[\"Documents\"],\"summary\":\"document_add_translation_summary\",\"description\":\"document_add_translation_description\",\"operationId\":\"document_add_translation\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"translationId\",\"in\":\"path\",\"description\":\"TranslationId of the document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"document_add_translation_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/documents/translations/{id}/delete/{translationId}\":{\"delete\":{\"tags\":[\"Documents\"],\"summary\":\"document_delete_translation_summary\",\"description\":\"document_delete_translation_description\",\"operationId\":\"document_delete_translation\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"translationId\",\"in\":\"path\",\"description\":\"TranslationId of the document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"document_delete_translation_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/documents/translations/{id}\":{\"get\":{\"tags\":[\"Documents\"],\"summary\":\"document_get_translations_summary\",\"description\":\"document_get_translations_description\",\"operationId\":\"document_get_translations\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"document_get_translations_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DocumentTranslationLinks\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/documents/translations/{id}/get-parent/{language}\":{\"get\":{\"tags\":[\"Documents\"],\"summary\":\"document_get_translation_parent_by_language_summary\",\"description\":\"document_get_translation_parent_by_language_description\",\"operationId\":\"document_get_translation_parent_by_language\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"language\",\"in\":\"path\",\"description\":\"Language code for the translation parent\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"en\"}}],\"responses\":{\"200\":{\"description\":\"document_get_translation_parent_by_language_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DocumentTranslationParent\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/documents/tree\":{\"get\":{\"tags\":[\"Documents\"],\"summary\":\"document_get_tree_summary\",\"description\":\"document_get_tree_description\",\"operationId\":\"document_get_tree\",\"parameters\":[{\"name\":\"page\",\"in\":\"query\",\"description\":\"Page number\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":1}},{\"name\":\"pageSize\",\"in\":\"query\",\"description\":\"Number of items per page\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":10}},{\"name\":\"parentId\",\"in\":\"query\",\"description\":\"Filter documents by parent id.\",\"required\":false,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":1}},{\"name\":\"idSearchTerm\",\"in\":\"query\",\"description\":\"Filter assets/data-objects by matching ids. As a wildcard * can be used\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":83}},{\"name\":\"pqlQuery\",\"in\":\"query\",\"description\":\"Pql query filter\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"id = 69\"}},{\"name\":\"excludeFolders\",\"in\":\"query\",\"description\":\"Filter folders from result.\",\"required\":false,\"schema\":{\"type\":\"boolean\",\"example\":false}},{\"name\":\"path\",\"in\":\"query\",\"description\":\"Filter by path.\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"/path/to/folder\"}},{\"name\":\"pathIncludeParent\",\"in\":\"query\",\"description\":\"Include the parent item in the result.\",\"required\":false,\"schema\":{\"type\":\"boolean\",\"example\":true}},{\"name\":\"pathIncludeDescendants\",\"in\":\"query\",\"description\":\"Include all descendants in the result.\",\"required\":false,\"schema\":{\"type\":\"boolean\",\"example\":true}}],\"responses\":{\"200\":{\"description\":\"document_get_tree_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Document\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/elements/{elementType}/delete/{id}\":{\"delete\":{\"tags\":[\"Elements\"],\"summary\":\"element_delete_summary\",\"description\":\"element_delete_description\",\"operationId\":\"element_delete\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"elementType\",\"in\":\"path\",\"description\":\"Filter elements by matching element type.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"asset\",\"document\",\"data-object\"],\"example\":\"data-object\"}}],\"responses\":{\"200\":{\"description\":\"element_delete_success_response\"},\"201\":{\"description\":\"element_delete_created_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"jobRunId\"],\"properties\":{\"jobRunId\":{\"title\":\"jobRunId\",\"description\":\"ID of created jobRun\",\"type\":\"integer\",\"example\":66}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/elements/{elementType}/delete-info/{id}\":{\"get\":{\"tags\":[\"Elements\"],\"summary\":\"element_get_delete_info_summary\",\"description\":\"element_get_delete_info_description\",\"operationId\":\"element_get_delete_info\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"elementType\",\"in\":\"path\",\"description\":\"Filter elements by matching element type.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"asset\",\"document\",\"data-object\"],\"example\":\"data-object\"}}],\"responses\":{\"200\":{\"description\":\"element_get_delete_info_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DeleteInfo\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/elements/{elementType}/folder/{parentId}\":{\"post\":{\"tags\":[\"Elements\"],\"summary\":\"element_folder_create_summary\",\"description\":\"element_folder_create_description\",\"operationId\":\"element_folder_create\",\"parameters\":[{\"name\":\"parentId\",\"in\":\"path\",\"description\":\"ParentId of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"elementType\",\"in\":\"path\",\"description\":\"Filter elements by matching element type.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"asset\",\"document\",\"data-object\"],\"example\":\"data-object\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/FolderData\"}}}},\"responses\":{\"200\":{\"description\":\"element_folder_create_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/elements/{elementType}/context-permissions/\":{\"get\":{\"tags\":[\"Elements\"],\"summary\":\"element_get_context_permissions_summary\",\"description\":\"element_get_context_permissions_description\",\"operationId\":\"element_get_context_permissions\",\"parameters\":[{\"name\":\"elementType\",\"in\":\"path\",\"description\":\"Filter elements by matching element type.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"asset\",\"document\",\"data-object\"],\"example\":\"data-object\"}}],\"responses\":{\"200\":{\"description\":\"element_get_context_permissions_success_response\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\",\"additionalProperties\":{\"type\":\"boolean\"}},\"example\":{\"add\":true,\"addFolder\":true,\"changeChildrenSortBy\":true,\"copy\":true,\"cut\":true,\"delete\":true,\"lock\":true,\"lockAndPropagate\":true,\"paste\":true,\"publish\":true,\"refresh\":true,\"rename\":true,\"searchAndMove\":true,\"unlock\":true,\"unlockAndPropagate\":true,\"unpublish\":true}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/elements/{elementType}/location/{id}/{perspectiveId}\":{\"get\":{\"tags\":[\"Elements\"],\"summary\":\"element_get_tree_location_summary\",\"description\":\"element_get_tree_location_description\",\"operationId\":\"element_get_tree_location\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"elementType\",\"in\":\"path\",\"description\":\"Filter elements by matching element type.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"asset\",\"document\",\"data-object\"],\"example\":\"data-object\"}},{\"name\":\"perspectiveId\",\"in\":\"path\",\"description\":\"Get perspective by matching Id\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"d061699e_da42_4075_b504_c2c93c687819\"}}],\"responses\":{\"200\":{\"description\":\"element_get_tree_location_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/LocationData\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/elements/{elementType}/path\":{\"get\":{\"tags\":[\"Elements\"],\"summary\":\"element_get_id_by_path_summary\",\"description\":\"element_get_id_by_path_description\",\"operationId\":\"element_get_id_by_path\",\"parameters\":[{\"name\":\"elementType\",\"in\":\"path\",\"description\":\"Filter elements by matching element type.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"asset\",\"document\",\"data-object\"],\"example\":\"data-object\"}},{\"name\":\"elementPath\",\"in\":\"query\",\"description\":\"Filter elements by matching element path.\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"path/to/element\"}}],\"responses\":{\"200\":{\"description\":\"element_get_id_by_path_response_description\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"id\"],\"properties\":{\"id\":{\"title\":\"id\",\"description\":\"ID of the element\",\"type\":\"integer\",\"example\":66}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/elements/{elementType}/subtype/{id}\":{\"get\":{\"tags\":[\"Elements\"],\"summary\":\"element_get_subtype_summary\",\"description\":\"element_get_subtype_description\",\"operationId\":\"element_get_subtype\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"elementType\",\"in\":\"path\",\"description\":\"Filter elements by matching element type.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"asset\",\"document\",\"data-object\"],\"example\":\"data-object\"}}],\"responses\":{\"200\":{\"description\":\"element_get_subtype_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Subtype\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/elements/usage/{elementType}/{id}\":{\"get\":{\"tags\":[\"Elements\"],\"summary\":\"element_get_usage_summary\",\"description\":\"element_get_usage_description\",\"operationId\":\"element_get_usage\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"elementType\",\"in\":\"path\",\"description\":\"Filter elements by matching element type.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"asset\",\"document\",\"data-object\"],\"example\":\"data-object\"}},{\"name\":\"page\",\"in\":\"query\",\"description\":\"Page number\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":1}},{\"name\":\"pageSize\",\"in\":\"query\",\"description\":\"Number of items per page\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":10}},{\"name\":\"sortOrder\",\"in\":\"query\",\"description\":\"Sort order (asc or desc).\",\"required\":false,\"schema\":{\"type\":\"string\",\"enum\":[\"ASC\",\"DESC\"],\"example\":\"ASC\"}},{\"name\":\"sortBy\",\"in\":\"query\",\"description\":\"Sort by field.\",\"required\":false,\"schema\":{\"type\":\"string\",\"enum\":[\"id\",\"path\",\"type\"],\"example\":null}}],\"responses\":{\"200\":{\"description\":\"element_get_usage_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ElementUsage\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/elements/usage/replace/{elementType}/{id}\":{\"post\":{\"tags\":[\"Elements\"],\"summary\":\"element_usage_replace_summary\",\"description\":\"element_usage_replace_description\",\"operationId\":\"element_usage_replace\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"elementType\",\"in\":\"path\",\"description\":\"Filter elements by matching element type.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"asset\",\"document\",\"data-object\"],\"example\":\"data-object\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"targetType\":{\"type\":\"string\",\"enum\":[\"data-object\",\"object\",\"asset\",\"document\"],\"example\":\"data-object\"},\"targetId\":{\"type\":\"integer\",\"example\":\"8\"},\"elements\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ElementUsageBaseItem\"}}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"element_usage_replace_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"jobRunId\"],\"properties\":{\"jobRunId\":{\"title\":\"jobRunId\",\"description\":\"ID of created jobRun\",\"type\":\"integer\",\"example\":66}},\"type\":\"object\"}}}},\"default\":{\"description\":\"201 - Created<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/elements/{elementType}/resolve\":{\"get\":{\"tags\":[\"Elements\"],\"summary\":\"element_resolve_by_search_term_summary\",\"description\":\"element_resolve_by_search_term_description\",\"operationId\":\"element_resolve_by_search_term\",\"parameters\":[{\"name\":\"elementType\",\"in\":\"path\",\"description\":\"Filter elements by matching element type.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"asset\",\"document\",\"data-object\"],\"example\":\"data-object\"}},{\"name\":\"searchTerm\",\"in\":\"query\",\"description\":\"Search term to filter elements by.\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"83\"}}],\"responses\":{\"200\":{\"description\":\"element_resolve_response_description\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"id\"],\"properties\":{\"id\":{\"title\":\"id\",\"description\":\"ID of the element\",\"type\":\"integer\",\"example\":66}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/emails/blocklist\":{\"get\":{\"tags\":[\"E-Mails\"],\"summary\":\"email_blocklist_get_collection_summary\",\"description\":\"email_blocklist_get_collection_description\",\"operationId\":\"email_blocklist_get_collection\",\"parameters\":[{\"name\":\"page\",\"in\":\"query\",\"description\":\"Page number\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":1}},{\"name\":\"pageSize\",\"in\":\"query\",\"description\":\"Number of items per page\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":10}},{\"name\":\"email\",\"in\":\"query\",\"description\":\"Email address to be filtered by\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"mail@mail.com\"}}],\"responses\":{\"200\":{\"description\":\"email_blocklist_get_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BlocklistEntry\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"post\":{\"tags\":[\"E-Mails\"],\"summary\":\"email_blocklist_add_summary\",\"description\":\"email_blocklist_add_description\",\"operationId\":\"email_blocklist_add\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/EmailAddressParameter\"}}}},\"responses\":{\"200\":{\"description\":\"email_blocklist_add_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>409 - Conflict<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"E-Mails\"],\"summary\":\"email_blocklist_delete_summary\",\"description\":\"email_blocklist_delete_description\",\"operationId\":\"email_blocklist_delete\",\"parameters\":[{\"name\":\"email\",\"in\":\"query\",\"description\":\" Email address to be deleted from blocklist\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"mail@mail.com\"}}],\"responses\":{\"200\":{\"description\":\"email_blocklist_delete_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/emails\":{\"get\":{\"tags\":[\"E-Mails\"],\"summary\":\"email_log_get_collection_summary\",\"description\":\"email_log_get_collection_description\",\"operationId\":\"email_log_get_collection\",\"parameters\":[{\"name\":\"page\",\"in\":\"query\",\"description\":\"Page number\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":1}},{\"name\":\"pageSize\",\"in\":\"query\",\"description\":\"Number of items per page\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":10}}],\"responses\":{\"200\":{\"description\":\"email_log_get_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/EmailLogEntry\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/emails/{id}\":{\"get\":{\"tags\":[\"E-Mails\"],\"summary\":\"email_log_get_by_id_summary\",\"description\":\"email_log_get_by_id_description\",\"operationId\":\"email_log_get_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the E-Mail\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"email_log_get_by_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/EmailLogEntryDetail\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"E-Mails\"],\"summary\":\"email_log_delete_summary\",\"description\":\"email_log_delete_description\",\"operationId\":\"email_log_delete\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the E-Mail\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"email_log_delete_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/emails/{id}/html\":{\"get\":{\"tags\":[\"E-Mails\"],\"summary\":\"email_log_get_html_summary\",\"description\":\"email_log_get_html_description\",\"operationId\":\"email_log_get_html\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the E-Mail\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"email_log_get_html_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"data\"],\"properties\":{\"data\":{\"title\":\"data\",\"description\":\"Email log entry HTML data.\",\"type\":\"string\",\"example\":\"<p>Some email HTML content</p>\"}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/emails/{id}/params\":{\"get\":{\"tags\":[\"E-Mails\"],\"summary\":\"email_log_get_params_summary\",\"description\":\"email_log_get_params_description\",\"operationId\":\"email_log_get_params\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the E-Mail\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"email_log_get_params_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"data\"],\"properties\":{\"data\":{\"title\":\"data\",\"description\":\"Email log entry parameters\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/EmailLogEntryParameter\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/emails/{id}/text\":{\"get\":{\"tags\":[\"E-Mails\"],\"summary\":\"email_log_get_text_summary\",\"description\":\"email_log_get_text_description\",\"operationId\":\"email_log_get_text\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the E-Mail\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"email_log_get_text_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"data\"],\"properties\":{\"data\":{\"title\":\"data\",\"description\":\"Email log entry text data.\",\"type\":\"string\",\"example\":\"Some email text content\"}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/emails/{id}/forward\":{\"post\":{\"tags\":[\"E-Mails\"],\"summary\":\"email_log_forward_by_id_summary\",\"description\":\"email_log_forward_by_id_description\",\"operationId\":\"email_log_forward_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the E-Mail\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/EmailAddressParameter\"}}}},\"responses\":{\"200\":{\"description\":\"email_log_forward_by_id_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/emails/{id}/resend\":{\"post\":{\"tags\":[\"E-Mails\"],\"summary\":\"email_log_resend_by_id_summary\",\"description\":\"email_log_resend_by_id_description\",\"operationId\":\"email_log_resend_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the E-Mail\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"email_log_resend_by_id_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/emails/test\":{\"post\":{\"tags\":[\"E-Mails\"],\"summary\":\"email_send_test_summary\",\"description\":\"email_send_test_description\",\"operationId\":\"email_send_test\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/SendEmailParameters\"}}}},\"responses\":{\"200\":{\"description\":\"email_send_test_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/execution-engine/abort/{jobRunId}\":{\"post\":{\"tags\":[\"Execution Engine\"],\"summary\":\"execution_engine_abort_job_run_by_id_summary\",\"description\":\"execution_engine_abort_job_run_by_id_description\",\"operationId\":\"execution_engine_abort_job_run_by_id\",\"parameters\":[{\"name\":\"jobRunId\",\"in\":\"path\",\"description\":\"JobRunId of the JobRun\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"Success\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/execution-engine/hide\":{\"post\":{\"tags\":[\"Execution Engine\"],\"summary\":\"execution_engine_hide_job_runs_summary\",\"description\":\"execution_engine_hide_job_runs_description\",\"operationId\":\"execution_engine_hide_job_runs\",\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"jobRunIds\":{\"type\":\"array\",\"items\":{\"type\":\"integer\"}}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"Success\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/execution-engine/running-jobs\":{\"post\":{\"tags\":[\"Execution Engine\"],\"summary\":\"execution_engine_list_jobs_summary\",\"description\":\"execution_engine_list_jobs_description\",\"operationId\":\"execution_engine_list_jobs\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"filters\":{\"properties\":{\"page\":{\"type\":\"integer\",\"example\":1},\"pageSize\":{\"type\":\"integer\",\"example\":50},\"columnFilters\":{\"type\":\"object\",\"example\":\"[{\\\"type\\\":\\\"state\\\", \\\"filterValue\\\": \\\"running\\\"},{\\\"type\\\":\\\"id\\\", \\\"filterValue\\\": 5}]\"},\"sortFilter\":{\"type\":\"object\",\"example\":\"{\\\"key\\\":\\\"id\\\", \\\"direction\\\":\\\"ASC\\\"}\"}},\"type\":\"object\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"execution_engine_list_jobs_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/JobRun\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/export/download/csv/{jobRunId}\":{\"get\":{\"tags\":[\"Export\"],\"summary\":\"export_download_csv_summary\",\"description\":\"export_download_csv_description\",\"operationId\":\"export_download_csv\",\"parameters\":[{\"name\":\"jobRunId\",\"in\":\"path\",\"description\":\"JobRunId of the JobRun\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"export_download_csv_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"attachment; filename=\\\"example.jpg\\\"\"}}},\"content\":{\"application/csv\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Export\"],\"summary\":\"export_delete_csv_summary\",\"description\":\"export_delete_csv_description\",\"operationId\":\"export_delete_csv\",\"parameters\":[{\"name\":\"jobRunId\",\"in\":\"path\",\"description\":\"JobRunId of the JobRun\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"Success\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/export/csv\":{\"post\":{\"tags\":[\"Export\"],\"summary\":\"export_csv_summary\",\"description\":\"export_csv_description\",\"operationId\":\"export_csv\",\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"elements\":{\"type\":\"array\",\"items\":{\"type\":\"integer\"},\"example\":[83]},\"columns\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Column\"}},\"config\":{\"properties\":{\"header\":{\"type\":\"string\",\"enum\":[\"id\",\"custom_report_config\",\"custom_report_to_export\",\"element_class_id\",\"element_to_export\",\"element_type\",\"folder_to_export\",\"grid_export_data\",\"grid_export_data_info\",\"config\",\"columns\",\"filters\",\"delimiter\",\"header\",\"no_header\",\"title\",\"name\",\"\\r\\n\",\"array\",\"int\",\"string\",\"bool\"],\"example\":\"title\"},\"delimiter\":{\"type\":\"string\",\"example\":\";\"}},\"type\":\"object\"},\"elementType\":{\"type\":\"string\",\"enum\":[\"data-object\",\"object\",\"asset\",\"document\"],\"example\":\"asset\"}},\"type\":\"object\"}}}},\"responses\":{\"201\":{\"description\":\"export_csv_created_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"jobRunId\"],\"properties\":{\"jobRunId\":{\"title\":\"jobRunId\",\"description\":\"ID of created jobRun\",\"type\":\"integer\",\"example\":66}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/export/csv/folder\":{\"post\":{\"tags\":[\"Export\"],\"summary\":\"export_csv_folder_summary\",\"description\":\"export_csv_folder_description\",\"operationId\":\"export_csv_folder\",\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"folders\":{\"type\":\"array\",\"items\":{\"type\":\"integer\"},\"example\":[1]},\"columns\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Column\"}},\"filters\":{\"$ref\":\"#/components/schemas/ExportAllFilter\"},\"config\":{\"properties\":{\"header\":{\"type\":\"string\",\"enum\":[\"id\",\"custom_report_config\",\"custom_report_to_export\",\"element_class_id\",\"element_to_export\",\"element_type\",\"folder_to_export\",\"grid_export_data\",\"grid_export_data_info\",\"config\",\"columns\",\"filters\",\"delimiter\",\"header\",\"no_header\",\"title\",\"name\",\"\\r\\n\",\"array\",\"int\",\"string\",\"bool\"],\"example\":\"title\"},\"delimiter\":{\"type\":\"string\",\"example\":\";\"}},\"type\":\"object\"},\"elementType\":{\"type\":\"string\",\"enum\":[\"data-object\",\"object\",\"asset\",\"document\"],\"example\":\"asset\"},\"classId\":{\"type\":[\"string\",\"null\"],\"example\":\"CAR\"}},\"type\":\"object\"}}}},\"responses\":{\"201\":{\"description\":\"export_csv_created_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"jobRunId\"],\"properties\":{\"jobRunId\":{\"title\":\"jobRunId\",\"description\":\"ID of created jobRun\",\"type\":\"integer\",\"example\":66}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/export/download/xlsx/{jobRunId}\":{\"get\":{\"tags\":[\"Export\"],\"summary\":\"export_download_xlsx_summary\",\"description\":\"export_download_xlsx_description\",\"operationId\":\"export_download_xlsx\",\"parameters\":[{\"name\":\"jobRunId\",\"in\":\"path\",\"description\":\"JobRunId of the JobRun\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"export_download_xlsx_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"attachment; filename=\\\"example.jpg\\\"\"}}},\"content\":{\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Export\"],\"summary\":\"export_delete_xlsx_summary\",\"description\":\"export_delete_xlsx_description\",\"operationId\":\"export_delete_xlsx\",\"parameters\":[{\"name\":\"jobRunId\",\"in\":\"path\",\"description\":\"JobRunId of the JobRun\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"Success\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/export/xlsx\":{\"post\":{\"tags\":[\"Export\"],\"summary\":\"export_xlsx_summary\",\"description\":\"export_xlsx_description\",\"operationId\":\"export_xlsx\",\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"elements\":{\"type\":\"array\",\"items\":{\"type\":\"integer\"},\"example\":[83]},\"columns\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Column\"}},\"config\":{\"properties\":{\"header\":{\"type\":\"string\",\"enum\":[\"id\",\"custom_report_config\",\"custom_report_to_export\",\"element_class_id\",\"element_to_export\",\"element_type\",\"folder_to_export\",\"grid_export_data\",\"grid_export_data_info\",\"config\",\"columns\",\"filters\",\"delimiter\",\"header\",\"no_header\",\"title\",\"name\",\"\\r\\n\",\"array\",\"int\",\"string\",\"bool\"],\"example\":\"title\"}},\"type\":\"object\"},\"elementType\":{\"type\":\"string\",\"enum\":[\"data-object\",\"object\",\"asset\",\"document\"],\"example\":\"asset\"}},\"type\":\"object\"}}}},\"responses\":{\"201\":{\"description\":\"export_xlsx_created_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"jobRunId\"],\"properties\":{\"jobRunId\":{\"title\":\"jobRunId\",\"description\":\"ID of created jobRun\",\"type\":\"integer\",\"example\":66}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/export/xlsx/folder\":{\"post\":{\"tags\":[\"Export\"],\"summary\":\"export_xlsx_folder_summary\",\"description\":\"export_xlsx_folder_description\",\"operationId\":\"export_xlsx_folder\",\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"folders\":{\"type\":\"array\",\"items\":{\"type\":\"integer\"},\"example\":[1]},\"columns\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Column\"}},\"filters\":{\"$ref\":\"#/components/schemas/ExportAllFilter\"},\"config\":{\"properties\":{\"header\":{\"type\":\"string\",\"enum\":[\"id\",\"custom_report_config\",\"custom_report_to_export\",\"element_class_id\",\"element_to_export\",\"element_type\",\"folder_to_export\",\"grid_export_data\",\"grid_export_data_info\",\"config\",\"columns\",\"filters\",\"delimiter\",\"header\",\"no_header\",\"title\",\"name\",\"\\r\\n\",\"array\",\"int\",\"string\",\"bool\"],\"example\":\"title\"}},\"type\":\"object\"},\"elementType\":{\"type\":\"string\",\"enum\":[\"data-object\",\"object\",\"asset\",\"document\"],\"example\":\"asset\"},\"classId\":{\"type\":[\"string\",\"null\"],\"example\":\"CAR\"}},\"type\":\"object\"}}}},\"responses\":{\"201\":{\"description\":\"export_xlsx_created_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"jobRunId\"],\"properties\":{\"jobRunId\":{\"title\":\"jobRunId\",\"description\":\"ID of created jobRun\",\"type\":\"integer\",\"example\":66}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/gdpr/export-data/{id}\":{\"get\":{\"tags\":[\"GDPR Data Extractor\"],\"summary\":\"gdpr_export_summary\",\"description\":\"gdpr_export_description\",\"operationId\":\"gdpr_export\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"providerKey\",\"in\":\"query\",\"description\":\"The key of the single provider to export\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"pimcore_users\"}}],\"responses\":{\"200\":{\"description\":\"gdpr_export_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"attachment; filename=\\\"example.jpg\\\"\"}}},\"content\":{\"*/*\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/gdpr/providers\":{\"get\":{\"tags\":[\"GDPR Data Extractor\"],\"summary\":\"gdpr_list_providers_summary\",\"description\":\"gdpr_list_providers_description\",\"operationId\":\"gdpr_list_providers\",\"responses\":{\"200\":{\"description\":\"gdpr_list_providers_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/GdprDataProvider\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/gdpr/search\":{\"post\":{\"tags\":[\"GDPR Data Extractor\"],\"summary\":\"gdpr_search_data_summary\",\"description\":\"gdpr_search_data_description\",\"operationId\":\"gdpr_search_data\",\"parameters\":[{\"name\":\"provider\",\"in\":\"query\",\"description\":\"Define the data provider to search in.\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"assets\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"filters\":{\"properties\":{\"page\":{\"type\":\"integer\",\"example\":1},\"pageSize\":{\"type\":\"integer\",\"example\":50},\"columnFilters\":{\"type\":\"object\",\"example\":\"[{\\\"type\\\":\\\"firstname\\\", \\\"filterValue\\\": \\\"John\\\"},{\\\"type\\\":\\\"lastname\\\", \\\"filterValue\\\": \\\"Doe\\\"},{\\\"type\\\":\\\"email\\\", \\\"filterValue\\\": \\\"john.doe@mail.com\\\"},{\\\"type\\\":\\\"id\\\", \\\"filterValue\\\": 1}]\"},\"sortFilter\":{\"type\":\"object\",\"example\":\"{\\\"key\\\":\\\"id\\\", \\\"direction\\\":\\\"ASC\\\"}\"}},\"type\":\"object\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"gdpr_search_data_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/GdprDataRow\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/mercure/auth\":{\"post\":{\"tags\":[\"Mercure\"],\"summary\":\"mercure_create_cookie_summary\",\"description\":\"mercure_create_cookie_description\",\"operationId\":\"mercure_create_cookie\",\"responses\":{\"200\":{\"description\":\"mercure_create_cookie_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/assets/{id}/custom-metadata\":{\"get\":{\"tags\":[\"Metadata\"],\"summary\":\"asset_custom_metadata_get_by_id_summary\",\"description\":\"asset_custom_metadata_get_by_id_description\",\"operationId\":\"asset_custom_metadata_get_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the asset\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"asset_custom_metadata_get_by_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/CustomMetadata\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/metadata\":{\"post\":{\"tags\":[\"Metadata\"],\"summary\":\"metadata_get_collection_summary\",\"description\":\"metadata_get_collection_description\",\"operationId\":\"metadata_get_collection\",\"requestBody\":{\"required\":false,\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"filter\":{\"type\":[\"string\",\"null\"],\"example\":\"author\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"metadata_get_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/PredefinedMetadata\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/notes\":{\"post\":{\"tags\":[\"Notes\"],\"summary\":\"note_get_collection_summary\",\"description\":\"note_get_collection_description\",\"operationId\":\"note_get_collection\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"page\",\"pageSize\"],\"properties\":{\"page\":{\"type\":\"integer\",\"example\":1},\"pageSize\":{\"type\":\"integer\",\"example\":50},\"sortOrder\":{\"description\":\"Sort order (asc or desc).\",\"type\":\"string\",\"enum\":[\"ASC\",\"DESC\"],\"example\":\"ASC\"},\"sortBy\":{\"description\":\"Sort by field. Only works in combination with sortOrder.\",\"type\":\"string\",\"enum\":[\"id\",\"type\",\"cId\",\"cType\",\"cPath\",\"date\",\"title\",\"description\",\"locked\"],\"example\":\"id\"},\"filter\":{\"description\":\"Filter for notes\",\"type\":\"string\",\"example\":\"\"},\"fieldFilters\":{\"description\":\"Filter for specific fields, will be json decoded to an array. e.g.\\n                        [{\\\"operator\\\":\\\"like\\\",\\\"value\\\":\\\"John\\\",\\\"field\\\":\\\"name\\\",\\\"type\\\":\\\"string\\\"}]\",\"type\":\"object\",\"example\":\"[{\\\"operator\\\":\\\"like\\\",\\\"value\\\":\\\"consent-given\\\",\\\"field\\\":\\\"type\\\",\\\"type\\\":\\\"string\\\"}]\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"note_get_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Note\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/notes/{id}\":{\"delete\":{\"tags\":[\"Notes\"],\"summary\":\"note_delete_by_id_summary\",\"description\":\"note_delete_by_id_description\",\"operationId\":\"note_delete_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"note_delete_by_id_success_description\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/notes/{elementType}/{id}\":{\"get\":{\"tags\":[\"Notes\"],\"summary\":\"note_element_get_collection_summary\",\"description\":\"note_element_get_collection_description\",\"operationId\":\"note_element_get_collection\",\"parameters\":[{\"name\":\"elementType\",\"in\":\"path\",\"description\":\"Filter elements by matching element type.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"asset\",\"document\",\"data-object\"],\"example\":\"data-object\"}},{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"page\",\"in\":\"query\",\"description\":\"Page number\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":1}},{\"name\":\"pageSize\",\"in\":\"query\",\"description\":\"Number of items per page\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":50}},{\"name\":\"sortBy\",\"in\":\"query\",\"description\":\"Sort by field. Only works in combination with sortOrder.\",\"required\":false,\"schema\":{\"type\":\"string\",\"enum\":[\"id\",\"type\",\"cId\",\"cType\",\"cPath\",\"date\",\"title\",\"description\",\"locked\"],\"example\":\"id\"}},{\"name\":\"sortOrder\",\"in\":\"query\",\"description\":\"Sort order (asc or desc).\",\"required\":false,\"schema\":{\"type\":\"string\",\"enum\":[\"ASC\",\"DESC\"],\"example\":\"ASC\"}},{\"name\":\"filter\",\"in\":\"query\",\"description\":\"Filter for notes\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"notes\"}},{\"name\":\"fieldFilters\",\"in\":\"query\",\"description\":\"Filter for specific fields, will be json decoded to an array. e.g.\\n            [{\\\"operator\\\":\\\"like\\\",\\\"value\\\":\\\"John\\\",\\\"field\\\":\\\"name\\\",\\\"type\\\":\\\"string\\\"}]\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"[{\\\"operator\\\":\\\"like\\\",\\\"value\\\":\\\"John\\\",\\\"field\\\":\\\"name\\\", \\\"type\\\":\\\"string\\\"}]\"}}],\"responses\":{\"200\":{\"description\":\"note_element_get_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Note\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"post\":{\"tags\":[\"Notes\"],\"summary\":\"note_element_create_summary\",\"description\":\"note_element_create_description\",\"operationId\":\"note_element_create\",\"parameters\":[{\"name\":\"elementType\",\"in\":\"path\",\"description\":\"Filter elements by matching element type.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"asset\",\"document\",\"data-object\"],\"example\":\"data-object\"}},{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CreateNote\"}}}},\"responses\":{\"200\":{\"description\":\"note_element_create_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Note\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/notes/type/{elementType}\":{\"get\":{\"tags\":[\"Notes\"],\"summary\":\"note_element_get_type_collection_summary\",\"description\":\"note_element_get_type_collection_description\",\"operationId\":\"note_element_get_type_collection\",\"parameters\":[{\"name\":\"elementType\",\"in\":\"path\",\"description\":\"Filter elements by matching element type.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"asset\",\"document\",\"data-object\"],\"example\":\"data-object\"}}],\"responses\":{\"200\":{\"description\":\"note_element_get_type_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"items\"],\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/NoteType\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/notifications\":{\"post\":{\"tags\":[\"Notifications\"],\"summary\":\"notification_get_collection_summary\",\"description\":\"notification_get_collection_description\",\"operationId\":\"notification_get_collection\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"filters\":{\"properties\":{\"page\":{\"type\":\"integer\",\"example\":1},\"pageSize\":{\"type\":\"integer\",\"example\":50},\"columnFilters\":{\"type\":\"object\",\"example\":\"[{\\\"key\\\":\\\"creationDate\\\", \\\"type\\\":\\\"date\\\", \\\"filterValue\\\":{\\\"operator\\\": \\\"on\\\", \\\"value\\\": \\\"08/20/2024\\\"}},{\\\"key\\\":\\\"title\\\", \\\"type\\\":\\\"like\\\", \\\"filterValue\\\": \\\"notification\\\"},{\\\"key\\\":\\\"type\\\", \\\"type\\\":\\\"equals\\\", \\\"filterValue\\\": \\\"info\\\"}]\"},\"sortFilter\":{\"type\":\"object\",\"example\":\"{\\\"key\\\":\\\"creationDate\\\", \\\"direction\\\":\\\"DESC\\\"}\"}},\"type\":\"object\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"notification_get_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/NotificationListItem\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Notifications\"],\"summary\":\"notification_delete_all_summary\",\"description\":\"notification_delete_all_description\",\"operationId\":\"notification_delete_all\",\"responses\":{\"200\":{\"description\":\"notification_delete_all_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/notifications/{id}\":{\"get\":{\"tags\":[\"Notifications\"],\"summary\":\"notification_get_by_id_summary\",\"description\":\"notification_get_by_id_description\",\"operationId\":\"notification_get_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the notification\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"notification_get_by_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Notification\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"post\":{\"tags\":[\"Notifications\"],\"summary\":\"notification_read_by_id_summary\",\"description\":\"notification_read_by_id_description\",\"operationId\":\"notification_read_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the notification\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"notification_read_by_id_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Notifications\"],\"summary\":\"notification_delete_by_id_summary\",\"description\":\"notification_delete_by_id_description\",\"operationId\":\"notification_delete_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the notification\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"notification_delete_by_id_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/notifications/unread-count\":{\"get\":{\"tags\":[\"Notifications\"],\"summary\":\"notification_get_unread_count_summary\",\"description\":\"notification_get_unread_count_description\",\"operationId\":\"notification_get_unread_count\",\"responses\":{\"200\":{\"description\":\"notification_get_unread_count_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/UnreadCount\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/notifications/recipients\":{\"get\":{\"tags\":[\"Notifications\"],\"summary\":\"notification_get_recipients_summary\",\"description\":\"notification_get_recipients_description\",\"operationId\":\"notification_get_recipients\",\"responses\":{\"200\":{\"description\":\"notification_get_recipients_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Recipient\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/notifications/send\":{\"post\":{\"tags\":[\"Notifications\"],\"summary\":\"notification_send_summary\",\"description\":\"notification_send_description\",\"operationId\":\"notification_send\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/SendNotificationParameters\"}}}},\"responses\":{\"200\":{\"description\":\"notification_send_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/perspectives/configuration\":{\"post\":{\"tags\":[\"Perspectives\"],\"summary\":\"perspective_create_summary\",\"description\":\"perspective_create_description\",\"operationId\":\"perspective_create\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/AddPerspectiveConfig\"}}}},\"responses\":{\"200\":{\"description\":\"perspective_create_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/perspectives/configurations\":{\"get\":{\"tags\":[\"Perspectives\"],\"summary\":\"perspective_get_config_collection_summary\",\"description\":\"perspective_get_config_collection_description\",\"operationId\":\"perspective_get_config_collection\",\"responses\":{\"200\":{\"description\":\"perspective_get_config_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/PerspectiveConfig\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/perspectives/configuration/{perspectiveId}\":{\"get\":{\"tags\":[\"Perspectives\"],\"summary\":\"perspective_get_config_by_id_summary\",\"description\":\"perspective_get_config_by_id_description\",\"operationId\":\"perspective_get_config_by_id\",\"parameters\":[{\"name\":\"perspectiveId\",\"in\":\"path\",\"description\":\"Get perspective by matching Id\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"studio_default_perspective\"}}],\"responses\":{\"200\":{\"description\":\"perspective_get_config_by_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/PerspectiveConfigDetail\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"put\":{\"tags\":[\"Perspectives\"],\"summary\":\"perspective_update_config_by_id_summary\",\"description\":\"perspective_update_config_by_id_description\",\"operationId\":\"perspective_update_config_by_id\",\"parameters\":[{\"name\":\"perspectiveId\",\"in\":\"path\",\"description\":\"Update perspective by matching Id\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"d061699e_da42_4075_b504_c2c93c687819\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/SavePerspectiveConfig\"}}}},\"responses\":{\"200\":{\"description\":\"perspective_update_config_by_id_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Perspectives\"],\"summary\":\"perspective_delete_summary\",\"description\":\"perspective_delete_description\",\"operationId\":\"perspective_delete\",\"parameters\":[{\"name\":\"perspectiveId\",\"in\":\"path\",\"description\":\"Get perspective by matching Id\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"d061699e_da42_4075_b504_c2c93c687819\"}}],\"responses\":{\"200\":{\"description\":\"perspective_delete_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/perspectives/widgets/{widgetType}/configuration\":{\"post\":{\"tags\":[\"Perspectives\"],\"summary\":\"perspective_widget_create_summary\",\"description\":\"perspective_widget_create_description\",\"operationId\":\"perspective_widget_create\",\"parameters\":[{\"name\":\"widgetType\",\"in\":\"path\",\"description\":\"Create widget by matching widget type\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"element_tree\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"data\"],\"properties\":{\"data\":{\"properties\":{\"name\":{\"type\":[\"string\",\"null\"]}},\"type\":\"object\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"perspective_widget_create_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/perspectives/widgets/configurations\":{\"get\":{\"tags\":[\"Perspectives\"],\"summary\":\"perspective_widget_get_config_collection_summary\",\"description\":\"perspective_widget_get_config_collection_description\",\"operationId\":\"perspective_widget_get_config_collection\",\"parameters\":[{\"name\":\"skipWrapperWidgets\",\"in\":\"query\",\"description\":\"Skip wrapper widget configurations\",\"required\":false,\"schema\":{\"type\":\"boolean\",\"example\":false}}],\"responses\":{\"200\":{\"description\":\"perspective_widget_get_config_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/WidgetConfig\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/perspectives/widgets/{widgetType}/configuration/{widgetId}\":{\"get\":{\"tags\":[\"Perspectives\"],\"summary\":\"perspective_widget_get_config_by_id_summary\",\"description\":\"perspective_widget_get_config_by_id_description\",\"operationId\":\"perspective_widget_get_config_by_id\",\"parameters\":[{\"name\":\"widgetId\",\"in\":\"path\",\"description\":\"Filter widgets by matching widget Id\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"d061699e_da42_4075_b504_c2c93c687819\"}},{\"name\":\"widgetType\",\"in\":\"path\",\"description\":\"Filter widgets by matching widget type\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"element_tree\"}}],\"responses\":{\"200\":{\"description\":\"perspective_widget_get_config_by_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"data\"],\"properties\":{\"data\":{\"title\":\"data\",\"description\":\"Data of the widget configuration\",\"type\":\"string\",\"example\":\"Test content\"}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"put\":{\"tags\":[\"Perspectives\"],\"summary\":\"perspective_widget_update_config_by_id_summary\",\"description\":\"perspective_widget_update_config_by_id_description\",\"operationId\":\"perspective_widget_update_config_by_id\",\"parameters\":[{\"name\":\"widgetId\",\"in\":\"path\",\"description\":\"Update widget by matching widget Id\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"d061699e_da42_4075_b504_c2c93c687819\"}},{\"name\":\"widgetType\",\"in\":\"path\",\"description\":\"Update widget by matching widget type\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"element_tree\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"data\"],\"properties\":{\"data\":{\"properties\":{\"name\":{\"type\":[\"string\",\"null\"]}},\"type\":\"object\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"perspective_widget_update_config_by_id_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Perspectives\"],\"summary\":\"perspective_widget_delete_summary\",\"description\":\"perspective_widget_delete_description\",\"operationId\":\"perspective_widget_delete\",\"parameters\":[{\"name\":\"widgetId\",\"in\":\"path\",\"description\":\"Filter widgets by matching widget Id\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"d061699e_da42_4075_b504_c2c93c687819\"}},{\"name\":\"widgetType\",\"in\":\"path\",\"description\":\"Filter widgets by matching widget type\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"element_tree\"}}],\"responses\":{\"200\":{\"description\":\"perspective_widget_delete_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/perspectives/widgets/types\":{\"get\":{\"tags\":[\"Perspectives\"],\"summary\":\"perspective_widget_get_type_collection_summary\",\"description\":\"perspective_widget_get_type_collection_description\",\"operationId\":\"perspective_widget_get_type_collection\",\"responses\":{\"200\":{\"description\":\"perspective_widget_get_type_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"items\"],\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/WidgetType\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/properties\":{\"get\":{\"tags\":[\"Properties\"],\"summary\":\"property_get_collection_summary\",\"description\":\"property_get_collection_description\",\"operationId\":\"property_get_collection\",\"parameters\":[{\"name\":\"elementType\",\"in\":\"query\",\"description\":\"Filter elements by matching element type.\",\"required\":false,\"schema\":{\"type\":\"string\",\"enum\":[\"asset\",\"document\",\"data-object\"],\"example\":\"data-object\"}},{\"name\":\"filter\",\"in\":\"query\",\"description\":\"Filter for properties\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"properties\"}}],\"responses\":{\"200\":{\"description\":\"property_get_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/PredefinedProperty\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/property\":{\"post\":{\"tags\":[\"Properties\"],\"summary\":\"property_create_summary\",\"description\":\"property_create_description\",\"operationId\":\"property_create\",\"responses\":{\"200\":{\"description\":\"property_create_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/PredefinedProperty\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/properties/{id}\":{\"put\":{\"tags\":[\"Properties\"],\"summary\":\"property_update_summary\",\"description\":\"property_update_description\",\"operationId\":\"property_update\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the property\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"alpha-numerical\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/UpdatePredefinedProperty\"}}}},\"responses\":{\"200\":{\"description\":\"property_update_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/PredefinedProperty\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Properties\"],\"summary\":\"property_delete_summary\",\"description\":\"property_delete_description\",\"operationId\":\"property_delete\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the property\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"alpha-numerical\"}}],\"responses\":{\"200\":{\"description\":\"property_delete_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/properties/{elementType}/{id}\":{\"get\":{\"tags\":[\"Properties\"],\"summary\":\"property_get_collection_for_element_by_type_and_id_summary\",\"description\":\"property_get_collection_for_element_by_type_and_id_description\",\"operationId\":\"property_get_collection_for_element_by_type_and_id\",\"parameters\":[{\"name\":\"elementType\",\"in\":\"path\",\"description\":\"Filter elements by matching element type.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"asset\",\"document\",\"data-object\"],\"example\":\"data-object\"}},{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"property_get_collection_for_element_by_type_and_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ElementProperty\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/recycle-bin/items\":{\"post\":{\"tags\":[\"Recycle Bin\"],\"summary\":\"recycle_bin_get_collection_summary\",\"description\":\"recycle_bin_get_collection_description\",\"operationId\":\"recycle_bin_get_collection\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"filters\":{\"properties\":{\"page\":{\"type\":\"integer\",\"example\":1},\"pageSize\":{\"type\":\"integer\",\"example\":50},\"columnFilters\":{\"type\":\"object\",\"example\":\"[{\\\"key\\\":\\\"date\\\", \\\"type\\\":\\\"date\\\", \\\"filterValue\\\":{\\\"operator\\\": \\\"on\\\", \\\"value\\\": \\\"08/20/2024\\\"}},{\\\"key\\\":\\\"path\\\", \\\"type\\\":\\\"like\\\", \\\"filterValue\\\": \\\"/path/to/element\\\"},{\\\"key\\\":\\\"type\\\", \\\"type\\\":\\\"equals\\\", \\\"filterValue\\\": \\\"asset\\\"}]\"},\"sortFilter\":{\"type\":\"object\",\"example\":\"{\\\"key\\\":\\\"date\\\", \\\"direction\\\":\\\"DESC\\\"}\"}},\"type\":\"object\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"recycle_bin_get_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/RecycleBin\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/recycle-bin/delete\":{\"delete\":{\"tags\":[\"Recycle Bin\"],\"summary\":\"recycle_bin_delete_items_summary\",\"description\":\"recycle_bin_delete_items_description\",\"operationId\":\"recycle_bin_delete_items\",\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"type\":\"integer\"}}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"recycle_bin_delete_items_success_response\"},\"201\":{\"description\":\"recycle_bin_delete_items_created_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"jobRunId\"],\"properties\":{\"jobRunId\":{\"title\":\"jobRunId\",\"description\":\"ID of created jobRun\",\"type\":\"integer\",\"example\":66}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/recycle-bin/flush\":{\"delete\":{\"tags\":[\"Recycle Bin\"],\"summary\":\"recycle_bin_flush_summary\",\"description\":\"recycle_bin_flush_description\",\"operationId\":\"recycle_bin_flush\",\"responses\":{\"200\":{\"description\":\"recycle_bin_flush_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/recycle-bin/restore\":{\"post\":{\"tags\":[\"Recycle Bin\"],\"summary\":\"recycle_bin_restore_items_summary\",\"description\":\"recycle_bin_restore_items_description\",\"operationId\":\"recycle_bin_restore_items\",\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"type\":\"integer\"}}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"recycle_bin_restore_items_success_response\"},\"201\":{\"description\":\"recycle_bin_restore_items_created_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"jobRunId\"],\"properties\":{\"jobRunId\":{\"title\":\"jobRunId\",\"description\":\"ID of created jobRun\",\"type\":\"integer\",\"example\":66}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/role/clone/{id}\":{\"post\":{\"tags\":[\"Role Management\"],\"summary\":\"role_clone_by_id_summary\",\"operationId\":\"role_clone_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the role\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"name\":{\"type\":\"string\",\"example\":\"Cloned Role\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"role_clone_by_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/TreeNode\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/role/folder\":{\"post\":{\"tags\":[\"Role Management\"],\"summary\":\"role_folder_create_summary\",\"operationId\":\"role_folder_create\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"parentId\",\"name\"],\"properties\":{\"parentId\":{\"type\":[\"integer\",\"null\"],\"minimum\":1},\"name\":{\"type\":\"string\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"role_folder_create_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/TreeNode\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/role\":{\"post\":{\"tags\":[\"Role Management\"],\"summary\":\"role_create_summary\",\"operationId\":\"role_create\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"parentId\",\"name\"],\"properties\":{\"parentId\":{\"type\":[\"integer\",\"null\"],\"minimum\":1},\"name\":{\"type\":\"string\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"role_create_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/TreeNode\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/role/folder/{id}\":{\"delete\":{\"tags\":[\"Role Management\"],\"summary\":\"role_folder_delete_by_id_summary\",\"operationId\":\"role_folder_delete_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the folder\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"Success\"},\"default\":{\"description\":\"400 - Bad Request<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/role/{id}\":{\"get\":{\"tags\":[\"Role Management\"],\"summary\":\"role_get_by_id_summary\",\"operationId\":\"role_get_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the role\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"role_get_by_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DetailedRole\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"put\":{\"tags\":[\"Role Management\"],\"summary\":\"role_update_by_id_summary\",\"operationId\":\"role_update_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the Role\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/UpdateRole\"}}}},\"responses\":{\"200\":{\"description\":\"role_update_by_id_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DetailedRole\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Role Management\"],\"summary\":\"role_delete_by_id_summary\",\"operationId\":\"role_delete_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the role\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"Success\"},\"default\":{\"description\":\"400 - Bad Request<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/roles\":{\"get\":{\"tags\":[\"Role Management\"],\"summary\":\"role_get_collection_summary\",\"description\":\"role_get_collection_description\",\"operationId\":\"role_get_collection\",\"responses\":{\"200\":{\"description\":\"role_get_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/SimpleRole\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/roles/with-permission\":{\"get\":{\"tags\":[\"Role Management\"],\"summary\":\"role_list_with_permission_summary\",\"description\":\"role_list_with_permission_description\",\"operationId\":\"role_list_with_permission\",\"parameters\":[{\"name\":\"permission\",\"in\":\"query\",\"description\":\"List roles with this permission\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"assets\"}}],\"responses\":{\"200\":{\"description\":\"role_list_with_permission_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/SimpleRole\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/roles/tree\":{\"get\":{\"tags\":[\"Role Management\"],\"summary\":\"role_get_tree_summary\",\"operationId\":\"role_get_tree\",\"parameters\":[{\"name\":\"parentId\",\"in\":\"query\",\"description\":\"Filter roles by parent id.\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":0,\"example\":0}}],\"responses\":{\"200\":{\"description\":\"role_get_tree_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/TreeNode\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/role/search\":{\"get\":{\"tags\":[\"Role Management\"],\"summary\":\"role_search_summary\",\"description\":\"role_search_description\",\"operationId\":\"role_search\",\"parameters\":[{\"name\":\"searchQuery\",\"in\":\"query\",\"description\":\"Query to search for a role. This can be a part of role name or ID.\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"Example string\"}}],\"responses\":{\"200\":{\"description\":\"role_search_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/SimpleRole\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/schedules/{id}\":{\"delete\":{\"tags\":[\"Schedule\"],\"summary\":\"schedule_delete_by_id_summary\",\"description\":\"schedule_delete_by_id_description\",\"operationId\":\"schedule_delete_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the schedule\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":123}}],\"responses\":{\"200\":{\"description\":\"schedule_delete_by_id_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/schedules/{elementType}/{id}\":{\"get\":{\"tags\":[\"Schedule\"],\"summary\":\"schedule_get_collection_for_element_by_type_and_id_summary\",\"description\":\"schedule_get_collection_for_element_by_type_and_id_description\",\"operationId\":\"schedule_get_collection_for_element_by_type_and_id\",\"parameters\":[{\"name\":\"elementType\",\"in\":\"path\",\"description\":\"Filter elements by matching element type.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"asset\",\"document\",\"data-object\"],\"example\":\"data-object\"}},{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"schedule_get_collection_for_element_by_type_and_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Schedule\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"put\":{\"tags\":[\"Schedule\"],\"summary\":\"schedule_update_for_element_by_type_and_id_summary\",\"description\":\"schedule_update_for_element_by_type_and_id_description\",\"operationId\":\"schedule_update_for_element_by_type_and_id\",\"parameters\":[{\"name\":\"elementType\",\"in\":\"path\",\"description\":\"Filter elements by matching element type.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"asset\",\"document\",\"data-object\"],\"example\":\"data-object\"}},{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/UpdateSchedule\"}}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"schedule_update_for_element_by_type_and_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Schedule\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"post\":{\"tags\":[\"Schedule\"],\"summary\":\"schedule_create_for_element_by_type_and_id_summary\",\"description\":\"schedule_create_for_element_by_type_and_id_description\",\"operationId\":\"schedule_create_for_element_by_type_and_id\",\"parameters\":[{\"name\":\"elementType\",\"in\":\"path\",\"description\":\"Filter elements by matching element type.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"asset\",\"document\",\"data-object\"],\"example\":\"data-object\"}},{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"schedule_create_for_element_by_type_and_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Schedule\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/search/configuration/assets\":{\"get\":{\"tags\":[\"Search\"],\"summary\":\"asset_get_search_configuration_summary\",\"description\":\"asset_get_search_configuration_description\",\"operationId\":\"asset_get_search_configuration\",\"responses\":{\"200\":{\"description\":\"asset_get_search_configuration_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DetailedConfiguration\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/search/assets\":{\"post\":{\"tags\":[\"Search\"],\"summary\":\"asset_get_search_summary\",\"description\":\"asset_get_search_description\",\"operationId\":\"asset_get_search\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"columns\"],\"properties\":{\"columns\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Column\"}},\"filters\":{\"$ref\":\"#/components/schemas/Filter\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"asset_get_search_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"required\":[\"id\",\"columns\",\"isLocked\",\"permissions\"],\"type\":\"array\",\"items\":{\"properties\":{\"id\":{\"type\":\"integer\"},\"columns\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ColumnData\"}},\"isLocked\":{\"type\":\"boolean\"},\"permissions\":{\"$ref\":\"#/components/schemas/Permissions\"}},\"type\":\"object\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/search/configuration/data-objects\":{\"get\":{\"tags\":[\"Search\"],\"summary\":\"data_object_get_search_configuration_summary\",\"description\":\"data_object_get_search_configuration_description\",\"operationId\":\"data_object_get_search_configuration\",\"parameters\":[{\"name\":\"classId\",\"in\":\"query\",\"description\":\"Class Id of the data object\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"EV\"}}],\"responses\":{\"200\":{\"description\":\"data_object_get_search_configuration_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DetailedConfiguration\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/search/data-objects\":{\"post\":{\"tags\":[\"Search\"],\"summary\":\"data_object_get_search_summary\",\"description\":\"data_object_get_search_description\",\"operationId\":\"data_object_get_search\",\"parameters\":[{\"name\":\"classId\",\"in\":\"query\",\"description\":\"Class Id of the data object\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"EV\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"columns\"],\"properties\":{\"columns\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Column\"}},\"filters\":{\"$ref\":\"#/components/schemas/Filter\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"data_object_get_search_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"required\":[\"id\",\"columns\",\"isLocked\",\"permissions\"],\"type\":\"array\",\"items\":{\"properties\":{\"id\":{\"type\":\"integer\"},\"columns\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ColumnData\"}},\"isLocked\":{\"type\":\"boolean\"},\"permissions\":{\"$ref\":\"#/components/schemas/Permissions\"}},\"type\":\"object\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/search/documents\":{\"post\":{\"tags\":[\"Search\"],\"summary\":\"document_get_search_summary\",\"description\":\"document_get_search_description\",\"operationId\":\"document_get_search\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"columns\"],\"properties\":{\"columns\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Column\"}},\"filters\":{\"$ref\":\"#/components/schemas/Filter\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"dcocument_get_search_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"required\":[\"id\",\"columns\",\"isLocked\",\"permissions\"],\"type\":\"array\",\"items\":{\"properties\":{\"id\":{\"type\":\"integer\"},\"columns\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ColumnData\"}},\"isLocked\":{\"type\":\"boolean\"},\"permissions\":{\"$ref\":\"#/components/schemas/Permissions\"}},\"type\":\"object\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/search/preview/{elementType}/{id}\":{\"get\":{\"tags\":[\"Search\"],\"summary\":\"simple_search_preview_get_summary\",\"description\":\"simple_search_preview_get_description\",\"operationId\":\"simple_search_preview_get\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"elementType\",\"in\":\"path\",\"description\":\"Filter elements by matching element type.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"asset\",\"document\",\"data-object\"],\"example\":\"data-object\"}}],\"responses\":{\"200\":{\"description\":\"simple_search_preview_get_success_response\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\",\"oneOf\":[{\"$ref\":\"#/components/schemas/AssetSearchPreview\"},{\"$ref\":\"#/components/schemas/DataObjectSearchPreview\"},{\"$ref\":\"#/components/schemas/DocumentSearchPreview\"}]}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/search\":{\"get\":{\"tags\":[\"Search\"],\"summary\":\"simple_search_get_summary\",\"description\":\"simple_search_get_description\",\"operationId\":\"simple_search_get\",\"parameters\":[{\"name\":\"page\",\"in\":\"query\",\"description\":\"Page number\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":1}},{\"name\":\"pageSize\",\"in\":\"query\",\"description\":\"Number of items per page\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":10}},{\"name\":\"searchTerm\",\"in\":\"query\",\"description\":\"simple_search_get_search_term_parameter\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"Example string\"}}],\"responses\":{\"200\":{\"description\":\"simple_search_get_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/SimpleSearchResult\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/settings/admin\":{\"get\":{\"tags\":[\"Settings Admin\"],\"summary\":\"admin_settings_get_summary\",\"description\":\"admin_settings_get_description\",\"operationId\":\"admin_settings_get\",\"responses\":{\"200\":{\"description\":\"admin_settings_get_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/AdminSettings\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/settings/admin/save\":{\"post\":{\"tags\":[\"Settings Admin\"],\"summary\":\"admin_settings_update_summary\",\"description\":\"admin_settings_update_description\",\"operationId\":\"admin_settings_update\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/UpdateAdminSettings\"}}}},\"responses\":{\"200\":{\"description\":\"admin_settings_update_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/setting/admin/thumbnail\":{\"get\":{\"tags\":[\"Settings Admin\"],\"summary\":\"setting_admin_thumbnail_summary\",\"operationId\":\"setting_admin_thumbnail\",\"responses\":{\"200\":{\"description\":\"Success\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/AdminSettingsThumbnailPath\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>429 - Too Many Requests\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/settings/available-countries\":{\"get\":{\"tags\":[\"Settings\"],\"summary\":\"settings_country_collection_summary\",\"description\":\"settings_country_collection_description\",\"operationId\":\"settings_country_collection\",\"responses\":{\"200\":{\"description\":\"settings_country_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/AvailableCountry\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/settings\":{\"get\":{\"tags\":[\"Settings\"],\"summary\":\"system_settings_get_summary\",\"description\":\"system_settings_get_description\",\"operationId\":\"system_settings_get\",\"responses\":{\"200\":{\"description\":\"system_settings_get_success_response\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\",\"additionalProperties\":true}}}},\"default\":{\"description\":\"400 - Bad Request<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"put\":{\"tags\":[\"Settings\"],\"summary\":\"settings_update_summary\",\"description\":\"settings_update_description\",\"operationId\":\"settings_update\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"general\":{\"properties\":{\"valid_languages\":{\"description\":\"Valid language codes (ISO 639-1)\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":[\"en\",\"de\",\"fr\"]},\"fallback_languages\":{\"description\":\"Language fallback mapping (e.g., {\\\"de\\\": \\\"en\\\", \\\"fr\\\": \\\"en\\\"})\",\"type\":\"object\",\"example\":{\"de\":\"en\",\"fr\":\"en\"}},\"required_languages\":{\"description\":\"Required language codes (ISO 639-1)\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":[\"en\"]},\"default_language\":{\"description\":\"Default system language\",\"type\":\"string\",\"example\":\"en\"},\"domain\":{\"description\":\"Main domain for the system\",\"type\":\"string\",\"example\":\"\"},\"redirect_to_maindomain\":{\"description\":\"Redirect to main domain\",\"type\":\"boolean\",\"example\":false},\"debug_admin_translations\":{\"description\":\"Enable translation debugging\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"},\"objects\":{\"properties\":{\"versions\":{\"properties\":{\"days\":{\"description\":\"Number of days to keep object versions\",\"type\":\"integer\"},\"steps\":{\"description\":\"Number of version steps to keep for objects\",\"type\":\"integer\",\"example\":10}},\"type\":\"object\"}},\"type\":\"object\"},\"assets\":{\"properties\":{\"versions\":{\"properties\":{\"days\":{\"description\":\"Number of days to keep asset versions\",\"type\":\"integer\"},\"steps\":{\"description\":\"Number of version steps to keep for assets\",\"type\":\"integer\",\"example\":10}},\"type\":\"object\"}},\"type\":\"object\"},\"documents\":{\"properties\":{\"versions\":{\"properties\":{\"days\":{\"description\":\"Number of days to keep document versions\",\"type\":\"integer\"},\"steps\":{\"description\":\"Number of version steps to keep for documents\",\"type\":\"integer\",\"example\":10}},\"type\":\"object\"},\"error_pages\":{\"properties\":{\"default\":{\"description\":\"Default error page\",\"type\":\"string\",\"example\":\"\"},\"localized\":{\"description\":\"Localized error page IDs (e.g., {\\\"en\\\": \\\"1\\\", \\\"de\\\": \\\"2\\\"})\",\"type\":\"object\",\"example\":{\"en\":\"\",\"de\":\"\"}}},\"type\":\"object\"}},\"type\":\"object\"},\"email\":{\"properties\":{\"debug\":{\"properties\":{\"email_addresses\":{\"description\":\"Debug email addresses\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":[\"debug@example.com\"]}},\"type\":\"object\"}},\"type\":\"object\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"Updated system settings\"},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/settings/adapter/image\":{\"get\":{\"tags\":[\"Settings\"],\"summary\":\"settings_image_adapter_check_summary\",\"description\":\"settings_image_adapter_check_description\",\"operationId\":\"settings_image_adapter_check\",\"responses\":{\"200\":{\"description\":\"settings_image_adapter_check_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/settings/active-bundles\":{\"get\":{\"tags\":[\"Settings\"],\"summary\":\"active_bundles_get_summary\",\"description\":\"active_bundles_get_description\",\"operationId\":\"active_bundles_get\",\"responses\":{\"200\":{\"description\":\"active_bundles_get_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"bundles\"],\"properties\":{\"bundles\":{\"title\":\"Active Bundles\",\"description\":\"List of active and installed bundles in the system.\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ActiveBundle\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/settings/ping\":{\"get\":{\"tags\":[\"Settings\"],\"summary\":\"ping_action_summary\",\"description\":\"ping_action_description\",\"operationId\":\"ping_action\",\"responses\":{\"200\":{\"description\":\"ping_action_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/settings/adapter/video\":{\"get\":{\"tags\":[\"Settings\"],\"summary\":\"settings_video_adapter_check_summary\",\"description\":\"settings_video_adapter_check_description\",\"operationId\":\"settings_video_adapter_check\",\"responses\":{\"200\":{\"description\":\"settings_video_adapter_check_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/tags\":{\"get\":{\"tags\":[\"Tags\"],\"summary\":\"tag_get_collection_summary\",\"description\":\"tag_get_collection_description\",\"operationId\":\"tag_get_collection\",\"parameters\":[{\"name\":\"page\",\"in\":\"query\",\"description\":\"Page number\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":1}},{\"name\":\"pageSize\",\"in\":\"query\",\"description\":\"Number of items per page\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":10}},{\"name\":\"elementType\",\"in\":\"query\",\"description\":\"Filter elements by matching element type.\",\"required\":false,\"schema\":{\"type\":\"string\",\"enum\":[\"asset\",\"document\",\"data-object\"],\"example\":\"data-object\"}},{\"name\":\"filter\",\"in\":\"query\",\"description\":\"Filter for properties\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"properties\"}},{\"name\":\"parentId\",\"in\":\"query\",\"description\":\"Filter tags by parent id.\",\"required\":false,\"schema\":{\"type\":\"integer\",\"minimum\":0,\"example\":1}}],\"responses\":{\"200\":{\"description\":\"tag_get_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Tag\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/tag\":{\"post\":{\"tags\":[\"Tags\"],\"summary\":\"tag_create_summary\",\"description\":\"tag_create_description\",\"operationId\":\"tag_create\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CreateTagParameters\"}}}},\"responses\":{\"200\":{\"description\":\"tag_create_success_description\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Tag\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/tags/{id}\":{\"get\":{\"tags\":[\"Tags\"],\"summary\":\"tag_get_by_id_summary\",\"description\":\"tag_get_by_id_description\",\"operationId\":\"tag_get_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the tag\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"tag_get_by_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Tag\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"put\":{\"tags\":[\"Tags\"],\"summary\":\"tag_update_by_id_summary\",\"description\":\"tag_update_by_id_description\",\"operationId\":\"tag_update_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the tag\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/UpdateTagParameters\"}}}},\"responses\":{\"200\":{\"description\":\"tag_update_by_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Tag\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Tags\"],\"summary\":\"tag_delete_by_id_summary\",\"description\":\"tag_delete_by_id_description\",\"operationId\":\"tag_delete_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the tag\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":10}}],\"responses\":{\"200\":{\"description\":\"tag_delete_by_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"id\"],\"properties\":{\"id\":{\"title\":\"id\",\"description\":\"ID of deleted tag\",\"type\":\"integer\",\"example\":66}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/tags/assign/{elementType}/{id}/{tagId}\":{\"post\":{\"tags\":[\"Tags for Element\"],\"summary\":\"tag_assign_to_element_summary\",\"description\":\"tag_assign_to_element_description\",\"operationId\":\"tag_assign_to_element\",\"parameters\":[{\"name\":\"elementType\",\"in\":\"path\",\"description\":\"Filter elements by matching element type.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"asset\",\"document\",\"data-object\"],\"example\":\"data-object\"}},{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"tagId\",\"in\":\"path\",\"description\":\"TagId of the tag\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/tags/batch/{operation}/{elementType}/{id}\":{\"post\":{\"tags\":[\"Tags for Element\"],\"summary\":\"tag_batch_operation_to_elements_by_type_and_id_summary\",\"description\":\"tag_batch_operation_to_elements_by_type_and_id_description\",\"operationId\":\"tag_batch_operation_to_elements_by_type_and_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"elementType\",\"in\":\"path\",\"description\":\"Filter elements by matching element type.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"asset\",\"document\",\"data-object\"],\"example\":\"data-object\"}},{\"name\":\"operation\",\"in\":\"path\",\"description\":\"Execute operation based on provided type.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"assign\",\"replace\"],\"example\":\"assign\"}}],\"responses\":{\"201\":{\"description\":\"tag_batch_operation_to_elements_by_type_and_id_created_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"jobRunId\"],\"properties\":{\"jobRunId\":{\"title\":\"jobRunId\",\"description\":\"ID of created jobRun\",\"type\":\"integer\",\"example\":66}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/tags/{elementType}/{id}\":{\"get\":{\"tags\":[\"Tags for Element\"],\"summary\":\"tag_get_collection_for_element_by_type_and_id_summary\",\"description\":\"tag_get_collection_for_element_by_type_and_id_description\",\"operationId\":\"tag_get_collection_for_element_by_type_and_id\",\"parameters\":[{\"name\":\"elementType\",\"in\":\"path\",\"description\":\"Filter elements by matching element type.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"asset\",\"document\",\"data-object\"],\"example\":\"data-object\"}},{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"tag_get_collection_for_element_by_type_and_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Tag\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/tags/{elementType}/{id}/{tagId}\":{\"delete\":{\"tags\":[\"Tags for Element\"],\"summary\":\"tag_unassign_from_element_summary\",\"description\":\"tag_unassign_from_element_description\",\"operationId\":\"tag_unassign_from_element\",\"parameters\":[{\"name\":\"elementType\",\"in\":\"path\",\"description\":\"Filter elements by matching element type.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"asset\",\"document\",\"data-object\"],\"example\":\"data-object\"}},{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"tagId\",\"in\":\"path\",\"description\":\"TagId of the tag\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/thumbnails/image\":{\"get\":{\"tags\":[\"Asset Thumbnails\"],\"summary\":\"thumbnail_image_get_collection_summary\",\"description\":\"thumbnail_image_get_collection_description\",\"operationId\":\"thumbnail_image_get_collection\",\"responses\":{\"200\":{\"description\":\"thumbnail_image_get_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"items\"],\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Thumbnail\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/thumbnails/image/config\":{\"post\":{\"tags\":[\"Asset Thumbnails\"],\"summary\":\"thumbnail_image_create_summary\",\"description\":\"thumbnail_image_create_description\",\"operationId\":\"thumbnail_image_create\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CreateThumbnailConfig\"}}}},\"responses\":{\"200\":{\"description\":\"thumbnail_image_create_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ImageThumbnailConfigDetail\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>409 - Conflict<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/thumbnails/image/config/{name}\":{\"get\":{\"tags\":[\"Asset Thumbnails\"],\"summary\":\"thumbnail_image_get_by_name_summary\",\"description\":\"thumbnail_image_get_by_name_description\",\"operationId\":\"thumbnail_image_get_by_name\",\"parameters\":[{\"name\":\"name\",\"in\":\"path\",\"description\":\"Image thumbnail configuration name\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"content\"}}],\"responses\":{\"200\":{\"description\":\"thumbnail_image_get_by_name_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ImageThumbnailConfigDetail\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"put\":{\"tags\":[\"Asset Thumbnails\"],\"summary\":\"thumbnail_image_update_summary\",\"description\":\"thumbnail_image_update_description\",\"operationId\":\"thumbnail_image_update\",\"parameters\":[{\"name\":\"name\",\"in\":\"path\",\"description\":\"Image thumbnail configuration name\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"content\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/UpdateThumbnailConfig\"}}}},\"responses\":{\"200\":{\"description\":\"thumbnail_image_update_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ImageThumbnailConfigDetail\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Asset Thumbnails\"],\"summary\":\"thumbnail_image_delete_summary\",\"description\":\"thumbnail_image_delete_description\",\"operationId\":\"thumbnail_image_delete\",\"parameters\":[{\"name\":\"name\",\"in\":\"path\",\"description\":\"Image thumbnail configuration name\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"content\"}}],\"responses\":{\"200\":{\"description\":\"thumbnail_image_delete_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/thumbnails/image/tree\":{\"get\":{\"tags\":[\"Asset Thumbnails\"],\"summary\":\"thumbnail_image_get_tree_summary\",\"description\":\"thumbnail_image_get_tree_description\",\"operationId\":\"thumbnail_image_get_tree\",\"responses\":{\"200\":{\"description\":\"thumbnail_image_get_tree_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/components/schemas/ThumbnailConfigurationData\"},{\"$ref\":\"#/components/schemas/ThumbnailConfigurationFolderData\"}]}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/thumbnails/video\":{\"get\":{\"tags\":[\"Asset Thumbnails\"],\"summary\":\"thumbnail_video_get_collection_summary\",\"description\":\"thumbnail_video_get_collection_description\",\"operationId\":\"thumbnail_video_get_collection\",\"responses\":{\"200\":{\"description\":\"thumbnail_video_get_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"items\"],\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Thumbnail\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/thumbnails/video/config\":{\"post\":{\"tags\":[\"Asset Thumbnails\"],\"summary\":\"thumbnail_video_create_summary\",\"description\":\"thumbnail_video_create_description\",\"operationId\":\"thumbnail_video_create\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CreateThumbnailConfig\"}}}},\"responses\":{\"200\":{\"description\":\"thumbnail_video_create_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/VideoThumbnailConfigDetail\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>409 - Conflict<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/thumbnails/video/config/{name}\":{\"get\":{\"tags\":[\"Asset Thumbnails\"],\"summary\":\"thumbnail_video_get_by_name_summary\",\"description\":\"thumbnail_video_get_by_name_description\",\"operationId\":\"thumbnail_video_get_by_name\",\"parameters\":[{\"name\":\"name\",\"in\":\"path\",\"description\":\"Video thumbnail configuration name\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"content\"}}],\"responses\":{\"200\":{\"description\":\"thumbnail_video_get_by_name_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/VideoThumbnailConfigDetail\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"put\":{\"tags\":[\"Asset Thumbnails\"],\"summary\":\"thumbnail_video_update_summary\",\"description\":\"thumbnail_video_update_description\",\"operationId\":\"thumbnail_video_update\",\"parameters\":[{\"name\":\"name\",\"in\":\"path\",\"description\":\"Video thumbnail configuration name\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"content\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/UpdateThumbnailConfig\"}}}},\"responses\":{\"200\":{\"description\":\"thumbnail_video_update_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/VideoThumbnailConfigDetail\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Asset Thumbnails\"],\"summary\":\"thumbnail_video_delete_summary\",\"description\":\"thumbnail_video_delete_description\",\"operationId\":\"thumbnail_video_delete\",\"parameters\":[{\"name\":\"name\",\"in\":\"path\",\"description\":\"Video thumbnail configuration name\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"content\"}}],\"responses\":{\"200\":{\"description\":\"thumbnail_video_delete_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/thumbnails/video/tree\":{\"get\":{\"tags\":[\"Asset Thumbnails\"],\"summary\":\"thumbnail_video_get_tree_summary\",\"description\":\"thumbnail_video_get_tree_description\",\"operationId\":\"thumbnail_video_get_tree\",\"responses\":{\"200\":{\"description\":\"thumbnail_video_get_tree_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/components/schemas/ThumbnailConfigurationData\"},{\"$ref\":\"#/components/schemas/ThumbnailConfigurationFolderData\"}]}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/translations/available-locales\":{\"get\":{\"tags\":[\"Translation\"],\"summary\":\"translation_get_available_locales_summary\",\"description\":\"translation_get_available_locales_description\",\"operationId\":\"translation_get_available_locales\",\"responses\":{\"200\":{\"description\":\"translation_get_available_locales_success_response\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"array\",\"items\":{\"required\":[\"local\",\"displayName\"],\"properties\":{\"locale\":{\"title\":\"locale\",\"description\":\"Locale code.\",\"type\":\"string\",\"example\":\"de_de\"},\"displayName\":{\"title\":\"Display Name\",\"description\":\"The display name of the locale.\",\"type\":\"string\",\"example\":\"Deutsch (Deutschland)\"}},\"type\":\"object\"}}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/translations/{domain}/cleanup\":{\"delete\":{\"tags\":[\"Translation\"],\"summary\":\"translation_cleanup_by_domain_summary\",\"description\":\"translation_cleanup_by_domain_description\",\"operationId\":\"translation_cleanup_by_domain\",\"parameters\":[{\"name\":\"domain\",\"in\":\"path\",\"description\":\"Domain of the translation, to be cleaned up\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"admin\"}}],\"responses\":{\"200\":{\"description\":\"translation_cleanup_by_domain_success_description\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/translations/create\":{\"post\":{\"tags\":[\"Translation\"],\"summary\":\"translation_create_summary\",\"description\":\"translation_create_description\",\"operationId\":\"translation_create\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CreateTranslation\"}}}},\"responses\":{\"200\":{\"description\":\"translation_create_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>409 - Conflict<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/translations/csv-settings\":{\"post\":{\"tags\":[\"Translation\"],\"summary\":\"translation_determine_csv_settings_for_import_summary\",\"description\":\"translation_determine_csv_settings_for_import_description\",\"operationId\":\"translation_determine_csv_settings_for_import\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"sample\"],\"properties\":{\"sample\":{\"description\":\"Sample CSV content (first few lines)\",\"type\":\"string\",\"example\":\"name,value\\\\n\\\"John Doe\\\",123\\\\n\\\"Jane Smith\\\",456\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"translation_determine_csv_settings_for_import_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CsvSettings\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/translations/{key}\":{\"delete\":{\"tags\":[\"Translation\"],\"summary\":\"translation_delete_by_key_summary\",\"description\":\"translation_delete_by_key_description\",\"operationId\":\"translation_delete_by_key\",\"parameters\":[{\"name\":\"key\",\"in\":\"path\",\"description\":\"Delete translations by matching key\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"some_key\"}},{\"name\":\"domain\",\"in\":\"query\",\"description\":\"Domain of the translation, defaults to \\\"studio\\\"\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"studio\"}}],\"responses\":{\"200\":{\"description\":\"translation_delete_by_key_success_description\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/translations/domains\":{\"get\":{\"tags\":[\"Translation\"],\"summary\":\"translation_get_domains_summary\",\"description\":\"translation_get_domains_description\",\"operationId\":\"translation_get_domains\",\"responses\":{\"200\":{\"description\":\"translation_get_domains_success_response\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"array\",\"items\":{\"required\":[\"domain\",\"isFrontendDomain\"],\"properties\":{\"domain\":{\"title\":\"Domain\",\"description\":\"The domain name.\",\"type\":\"string\",\"example\":\"admin\"},\"isFrontendDomain\":{\"title\":\"Is Frontend Domain\",\"description\":\"If the domain is a frontend or admin domain.\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"}}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/translations/export\":{\"post\":{\"tags\":[\"Translation\"],\"summary\":\"translation_export_list_summary\",\"description\":\"translation_export_list_description\",\"operationId\":\"translation_export_list\",\"parameters\":[{\"name\":\"domain\",\"in\":\"query\",\"description\":\"Domain to filter translations by\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"studio\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"filters\":{\"properties\":{\"columnFilters\":{\"type\":\"object\",\"example\":\"[{\\\"key\\\":\\\"de\\\", \\\"type\\\":\\\"translationLike\\\", \\\"filterValue\\\": \\\"%car%\\\"},{\\\"type\\\":\\\"search\\\", \\\"filterValue\\\": \\\"search term\\\"}]\"},\"sortFilter\":{\"type\":\"object\",\"example\":\"{\\\"key\\\":\\\"key\\\", \\\"direction\\\":\\\"ASC\\\"}\"}},\"type\":\"object\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"translation_export_list_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"attachment; filename=\\\"studio_translations.csv\\\"\"}}},\"content\":{\"text/csv\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/translations/{domain}/import\":{\"post\":{\"tags\":[\"Translation\"],\"summary\":\"translation_import_csv_summary\",\"description\":\"translation_import_csv_description\",\"operationId\":\"translation_import_csv\",\"parameters\":[{\"name\":\"domain\",\"in\":\"path\",\"description\":\"Domain of the translation for import\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"studio\"}}],\"requestBody\":{\"required\":true,\"content\":{\"multipart/form-data\":{\"schema\":{\"required\":[\"file\",\"csvSettings\"],\"properties\":{\"file\":{\"description\":\"CSV import file to upload\",\"type\":\"string\",\"format\":\"binary\"},\"csvSettings\":{\"description\":\"Settings for CSV import\",\"properties\":{\"delimiter\":{\"type\":\"string\",\"example\":\";\"},\"quoteChar\":{\"type\":\"string\",\"example\":\"\\\"\"},\"escapeChar\":{\"type\":\"string\",\"example\":\"\\\\\"},\"lineTerminator\":{\"type\":\"string\",\"example\":\"\"}},\"type\":\"object\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"translation_import_csv_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"items\"],\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/DeltaItem\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/translations/list\":{\"post\":{\"tags\":[\"Translation\"],\"summary\":\"translation_get_list_summary\",\"description\":\"translation_get_list_description\",\"operationId\":\"translation_get_list\",\"parameters\":[{\"name\":\"domain\",\"in\":\"query\",\"description\":\"Domain to filter translations by\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"studio\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"filters\":{\"properties\":{\"page\":{\"type\":\"integer\",\"example\":1},\"pageSize\":{\"type\":\"integer\",\"example\":50},\"columnFilters\":{\"type\":\"object\",\"example\":\"[{\\\"key\\\":\\\"de\\\", \\\"type\\\":\\\"translationLike\\\", \\\"filterValue\\\": \\\"%car%\\\"},{\\\"type\\\":\\\"search\\\", \\\"filterValue\\\": \\\"search term\\\"}]\"},\"sortFilter\":{\"type\":\"object\",\"example\":\"{\\\"key\\\":\\\"de\\\", \\\"direction\\\":\\\"ASC\\\"}\"}},\"type\":\"object\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"translation_get_list_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Translations\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/translations\":{\"post\":{\"tags\":[\"Translation\"],\"summary\":\"translation_get_collection_summary\",\"description\":\"translation_get_collection_description\",\"operationId\":\"translation_get_collection\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Translation\"}}}},\"responses\":{\"200\":{\"description\":\"translation_get_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Translation\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/translations/{domain}\":{\"put\":{\"tags\":[\"Translation\"],\"summary\":\"translation_update_summary\",\"description\":\"translation_update_description\",\"operationId\":\"translation_update\",\"parameters\":[{\"name\":\"domain\",\"in\":\"path\",\"description\":\"Domain of the translation, to be updated\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"studio\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"data\"],\"properties\":{\"data\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/UpdateTranslation\"}}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"translation_update_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/unit/quantity-value/units/collection\":{\"post\":{\"tags\":[\"Units\"],\"summary\":\"unit_quantity_value_units_collection_summary\",\"description\":\"unit_quantity_value_units_collection_description\",\"operationId\":\"unit_quantity_value_units_collection\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"filters\":{\"properties\":{\"page\":{\"type\":\"integer\",\"example\":1},\"pageSize\":{\"type\":\"integer\",\"example\":50},\"columnFilters\":{\"type\":\"object\",\"example\":\"[{\\\"key\\\":\\\"name\\\",\\\"type\\\":\\\"metadata.object\\\",\\\"filterValue\\\":1}]\"},\"sortFilter\":{\"type\":\"object\",\"example\":\"{\\\"key\\\":\\\"id\\\",\\\"direction\\\":\\\"ASC\\\"}\"}},\"type\":\"object\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"unit_quantity_value_units_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/QuantityValueUnit\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/unit/quantity-value/convert-all\":{\"get\":{\"tags\":[\"Units\"],\"summary\":\"unit_quantity_value_convert_all_summary\",\"description\":\"unit_quantity_value_convert_all_description\",\"operationId\":\"unit_quantity_value_convert_all\",\"parameters\":[{\"name\":\"fromUnitId\",\"in\":\"query\",\"description\":\"Id of the unit to convert from\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"Example string\"}},{\"name\":\"value\",\"in\":\"query\",\"description\":\"Value to convert.\",\"required\":true,\"schema\":{\"type\":\"number\",\"format\":\"number\",\"example\":3.14},\"example\":5}],\"responses\":{\"200\":{\"description\":\"unit_quantity_value_convert_all_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ConvertedQuantityValues\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/unit/quantity-value/convert\":{\"get\":{\"tags\":[\"Units\"],\"summary\":\"unit_quantity_value_convert_summary\",\"description\":\"unit_quantity_value_convert_description\",\"operationId\":\"unit_quantity_value_convert\",\"parameters\":[{\"name\":\"fromUnitId\",\"in\":\"query\",\"description\":\"Id of the unit to convert from\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"Example string\"}},{\"name\":\"toUnitId\",\"in\":\"query\",\"description\":\"Id of the unit to convert to\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"Example string\"}},{\"name\":\"value\",\"in\":\"query\",\"description\":\"Value to convert.\",\"required\":true,\"schema\":{\"type\":\"number\",\"format\":\"number\",\"example\":3.14},\"example\":5}],\"responses\":{\"200\":{\"description\":\"unit_quantity_value_convert_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"data\"],\"properties\":{\"data\":{\"title\":\"data\",\"description\":\"Converted value\",\"example\":2,\"anyOf\":[{\"type\":\"number\"},{\"type\":\"integer\"}]}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/unit/quantity-value/units\":{\"post\":{\"tags\":[\"Units\"],\"summary\":\"unit_quantity_value_units_create_summary\",\"description\":\"unit_quantity_value_units_create_description\",\"operationId\":\"unit_quantity_value_units_create\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CreateUnitParameters\"}}}},\"responses\":{\"200\":{\"description\":\"unit_quantity_value_units_create_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/QuantityValueUnit\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/unit/quantity-value/units/{id}\":{\"put\":{\"tags\":[\"Units\"],\"summary\":\"unit_quantity_value_units_update_summary\",\"description\":\"unit_quantity_value_units_update_description\",\"operationId\":\"unit_quantity_value_units_update\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"unit_quantity_value_units_update_param_id\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"mm\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/UpdateUnitParameters\"}}}},\"responses\":{\"200\":{\"description\":\"unit_quantity_value_units_update_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/QuantityValueUnit\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Units\"],\"summary\":\"unit_quantity_value_units_delete_summary\",\"description\":\"unit_quantity_value_units_delete_description\",\"operationId\":\"unit_quantity_value_units_delete\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"unit_quantity_value_units_delete_param_id\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"mm\"}}],\"responses\":{\"200\":{\"description\":\"unit_quantity_value_units_delete_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/unit/quantity-value/units/export\":{\"get\":{\"tags\":[\"Units\"],\"summary\":\"unit_quantity_value_units_export_summary\",\"description\":\"unit_quantity_value_units_export_description\",\"operationId\":\"unit_quantity_value_units_export\",\"responses\":{\"200\":{\"description\":\"unit_quantity_value_units_export_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"attachment; filename=\\\"quantityvalue_unit_export.json\\\"\"}}},\"content\":{\"application/json\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/unit/quantity-value/units/import\":{\"post\":{\"tags\":[\"Units\"],\"summary\":\"unit_quantity_value_units_import_summary\",\"description\":\"unit_quantity_value_units_import_description\",\"operationId\":\"unit_quantity_value_units_import\",\"requestBody\":{\"required\":true,\"content\":{\"multipart/form-data\":{\"schema\":{\"required\":[\"file\"],\"properties\":{\"file\":{\"description\":\"JSON file containing quantity value unit definitions\",\"type\":\"string\",\"format\":\"binary\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"unit_quantity_value_units_import_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/unit/quantity-value/unit-list\":{\"get\":{\"tags\":[\"Units\"],\"summary\":\"unit_quantity_value_list_summary\",\"description\":\"unit_quantity_value_list_description\",\"operationId\":\"unit_quantity_value_list\",\"responses\":{\"200\":{\"description\":\"unit_quantity_value_list_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"items\"],\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/QuantityValueUnit\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/user/clone/{id}\":{\"post\":{\"tags\":[\"User Management\"],\"summary\":\"user_clone_by_id_summary\",\"operationId\":\"user_clone_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the user\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"name\":{\"type\":\"string\",\"example\":\"Cloned User\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"user_clone_by_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/TreeNode\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/user/\":{\"post\":{\"tags\":[\"User Management\"],\"summary\":\"user_create_summary\",\"operationId\":\"user_create\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"parentId\",\"name\"],\"properties\":{\"parentId\":{\"type\":[\"integer\",\"null\"],\"minimum\":1},\"name\":{\"type\":\"string\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"user_create_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/TreeNode\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/user/folder\":{\"post\":{\"tags\":[\"User Management\"],\"summary\":\"user_folder_create_summary\",\"operationId\":\"user_folder_create\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"parentId\",\"name\"],\"properties\":{\"parentId\":{\"type\":[\"integer\",\"null\"],\"minimum\":1},\"name\":{\"type\":\"string\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"user_folder_create_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/TreeNode\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/user/current-user-information\":{\"get\":{\"tags\":[\"User Management\"],\"summary\":\"user_get_current_information_summary\",\"operationId\":\"user_get_current_information\",\"responses\":{\"200\":{\"description\":\"user_get_current_information_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/UserInformation\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/user/{id}\":{\"get\":{\"tags\":[\"User Management\"],\"summary\":\"user_get_by_id_summary\",\"operationId\":\"user_get_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the user\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"user_get_by_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/User\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"put\":{\"tags\":[\"User Management\"],\"summary\":\"user_update_by_id_summary\",\"operationId\":\"user_update_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the User\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/UpdateUser\"}}}},\"responses\":{\"200\":{\"description\":\"user_update_by_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/User\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"User Management\"],\"summary\":\"user_delete_by_id_summary\",\"operationId\":\"user_delete_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the user\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"Success\"},\"default\":{\"description\":\"400 - Bad Request<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/user/folder/{id}\":{\"delete\":{\"tags\":[\"User Management\"],\"summary\":\"user_folder_delete_by_id_summary\",\"operationId\":\"user_folder_delete_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the user-folder\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"Success\"},\"default\":{\"description\":\"400 - Bad Request<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/user/image/{id}\":{\"get\":{\"tags\":[\"User Management\"],\"summary\":\"user_get_image_summary\",\"operationId\":\"user_get_image\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the User\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"user_get_image_success_response\",\"content\":{\"image/png\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"User Management\"],\"summary\":\"user_image_delete_by_id_summary\",\"description\":\"user_image_delete_by_id_description\",\"operationId\":\"user_image_delete_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the user\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"user_image_delete_by_id_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/users/default-key-bindings\":{\"get\":{\"tags\":[\"User Management\"],\"summary\":\"user_default_key_bindings_summary\",\"description\":\"user_default_key_bindings_description\",\"operationId\":\"user_default_key_bindings\",\"responses\":{\"200\":{\"description\":\"user_default_key_bindings_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/KeyBinding\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/user/available-permissions\":{\"get\":{\"tags\":[\"User Management\"],\"summary\":\"user_get_available_permissions_summary\",\"operationId\":\"user_get_available_permissions\",\"responses\":{\"200\":{\"description\":\"user_get_available_permissions_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/UserPermission\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/users\":{\"get\":{\"tags\":[\"User Management\"],\"summary\":\"user_get_collection_summary\",\"description\":\"user_get_collection_description\",\"operationId\":\"user_get_collection\",\"responses\":{\"200\":{\"description\":\"user_get_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/SimpleUser\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/users/with-permission\":{\"get\":{\"tags\":[\"User Management\"],\"summary\":\"user_list_with_permission_summary\",\"description\":\"user_list_with_permission_description\",\"operationId\":\"user_list_with_permission\",\"parameters\":[{\"name\":\"permission\",\"in\":\"query\",\"description\":\"List users with this permission\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"assets\"}},{\"name\":\"includeCurrentUser\",\"in\":\"query\",\"description\":\"Include current user in the list\",\"required\":false,\"schema\":{\"type\":\"boolean\",\"example\":true}}],\"responses\":{\"200\":{\"description\":\" user_list_with_permission_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/SimpleUser\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/user/reset-password\":{\"post\":{\"tags\":[\"User Management\"],\"summary\":\"user_reset_password_summary\",\"operationId\":\"user_reset_password\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ResetPassword\"}}}},\"responses\":{\"200\":{\"description\":\"Success\"},\"default\":{\"description\":\"400 - Bad Request<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>429 - Too Many Requests\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/user/search\":{\"get\":{\"tags\":[\"User Management\"],\"summary\":\"user_search_summary\",\"description\":\"user_search_description\",\"operationId\":\"pimcore_studio_api_user_search\",\"parameters\":[{\"name\":\"searchQuery\",\"in\":\"query\",\"description\":\"Query to search for an user. This can be a part of username, firstname, lastname, email or ID.\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"Example string\"}}],\"responses\":{\"200\":{\"description\":\"user_search_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/SimpleUser\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/user/token-link/{id}\":{\"post\":{\"tags\":[\"User Management\"],\"summary\":\"user_token_link_get_summary\",\"description\":\"user_token_link_get_description\",\"operationId\":\"user_token_link_get\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the user\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/TokenLink\"}}}},\"responses\":{\"200\":{\"description\":\"user_token_link_get_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"link\"],\"properties\":{\"link\":{\"title\":\"Token link URL\",\"description\":\"Token link URL including the generated token as parameter.\",\"type\":\"string\",\"example\":\"https://example.com/login?token=abcdef\"}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/user/active-perspective/{perspectiveId}\":{\"put\":{\"tags\":[\"User Management\"],\"summary\":\"user_update_active_perspective_summary\",\"operationId\":\"user_update_active_perspective\",\"parameters\":[{\"name\":\"perspectiveId\",\"in\":\"path\",\"description\":\"Set active perspective by Id\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"d061699e_da42_4075_b504_c2c93c687819\"}}],\"responses\":{\"200\":{\"description\":\"user_update_active_perspective_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/user/{id}/password\":{\"put\":{\"tags\":[\"User Management\"],\"summary\":\"user_update_password_by_id_summary\",\"operationId\":\"user_update_password_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the User\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"password\",\"passwordConfirmation\"],\"properties\":{\"password\":{\"type\":\"string\"},\"passwordConfirmation\":{\"type\":\"string\"},\"oldPassword\":{\"type\":\"string\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"Success\"},\"default\":{\"description\":\"400 - Bad Request<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/user/update-profile\":{\"put\":{\"tags\":[\"User Management\"],\"summary\":\"user_update_profile_summary\",\"description\":\"user_update_profile_description\",\"operationId\":\"user_update_profile\",\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/UpdateUserProfile\"}}}},\"responses\":{\"200\":{\"description\":\"user_update_profile_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/UserInformation\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/user/upload-image/{id}\":{\"post\":{\"tags\":[\"User Management\"],\"summary\":\"user_upload_image_summary\",\"operationId\":\"user_upload_image\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the User\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"multipart/form-data\":{\"schema\":{\"required\":[\"userImage\"],\"properties\":{\"userImage\":{\"description\":\"User image to upload\",\"type\":\"string\",\"format\":\"binary\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"Success\"},\"default\":{\"description\":\"400 - Bad Request<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/users/tree\":{\"get\":{\"tags\":[\"User Management\"],\"summary\":\"user_get_tree_summary\",\"operationId\":\"user_get_tree\",\"parameters\":[{\"name\":\"parentId\",\"in\":\"query\",\"description\":\"Filter users by parent id.\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":0,\"example\":0}}],\"responses\":{\"200\":{\"description\":\"user_get_tree_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/TreeNode\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/versions/{id}/asset/download\":{\"get\":{\"tags\":[\"Versions\"],\"summary\":\"version_asset_download_by_id_summary\",\"description\":\"version_asset_download_by_id_description\",\"operationId\":\"version_asset_download_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the version\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"version_asset_download_by_id_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"attachment; filename=\\\"example.jpg\\\"\"}}},\"content\":{\"application/*\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/versions/{id}/image/stream\":{\"get\":{\"tags\":[\"Versions\"],\"summary\":\"version_image_stream_by_id_summary\",\"description\":\"version_image_stream_by_id_description\",\"operationId\":\"version_image_stream_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the version\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"version_image_stream_by_id_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"inline; filename=\\\"example.jpg\\\"\"}}},\"content\":{\"image/*\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/versions/{id}/pdf/stream\":{\"get\":{\"tags\":[\"Versions\"],\"summary\":\"version_pdf_stream_by_id_summary\",\"description\":\"version_pdf_stream_by_id_description\",\"operationId\":\"version_pdf_stream_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the version\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"version_pdf_stream_by_id_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"inline; filename=\\\"example.jpg\\\"\"}}},\"content\":{\"application/pdf\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"202 - Not Completed<br>400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/versions/{id}\":{\"get\":{\"tags\":[\"Versions\"],\"summary\":\"version_get_by_id_summary\",\"description\":\"version_get_by_id_description\",\"operationId\":\"version_get_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the version\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"version_get_by_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\",\"oneOf\":[{\"$ref\":\"#/components/schemas/AssetVersion\"},{\"$ref\":\"#/components/schemas/DataObjectVersion\"},{\"$ref\":\"#/components/schemas/DocumentVersion\"}]}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"put\":{\"tags\":[\"Versions\"],\"summary\":\"version_update_by_id_summary\",\"description\":\"version_update_by_id_description\",\"operationId\":\"version_update_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the version\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/UpdateVersion\"}}}},\"responses\":{\"200\":{\"description\":\"version_update_by_id_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"post\":{\"tags\":[\"Versions\"],\"summary\":\"version_publish_by_id_summary\",\"description\":\"version_publish_by_id_description\",\"operationId\":\"version_publish_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the version\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"version_publish_by_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"id\"],\"properties\":{\"id\":{\"title\":\"id\",\"description\":\"ID of published version\",\"type\":\"integer\",\"example\":66}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Versions\"],\"summary\":\"version_delete_by_id_summary\",\"description\":\"version_delete_by_id_description\",\"operationId\":\"version_delete_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the version\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"version_delete_by_id_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/versions/{elementType}/{id}\":{\"get\":{\"tags\":[\"Versions\"],\"summary\":\"version_get_collection_for_element_by_type_and_id_summary\",\"description\":\"version_get_collection_for_element_by_type_and_id_description\",\"operationId\":\"version_get_collection_for_element_by_type_and_id\",\"parameters\":[{\"name\":\"elementType\",\"in\":\"path\",\"description\":\"Filter elements by matching element type.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"asset\",\"document\",\"data-object\"],\"example\":\"data-object\"}},{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"page\",\"in\":\"query\",\"description\":\"Page number\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":1}},{\"name\":\"pageSize\",\"in\":\"query\",\"description\":\"Number of items per page\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":10}}],\"responses\":{\"200\":{\"description\":\"version_get_collection_for_element_by_type_and_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Version\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Versions\"],\"summary\":\"version_cleanup_for_element_by_type_and_id_summary\",\"description\":\"version_cleanup_for_element_by_type_and_id_description\",\"operationId\":\"version_cleanup_for_element_by_type_and_id\",\"parameters\":[{\"name\":\"elementType\",\"in\":\"path\",\"description\":\"Filter elements by matching element type.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"asset\",\"document\",\"data-object\"],\"example\":\"data-object\"}},{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the ID of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"version_cleanup_for_element_by_type_and_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"ids\"],\"properties\":{\"ids\":{\"title\":\"IDs\",\"description\":\"IDs of deleted versions\",\"type\":\"array\",\"items\":{\"type\":\"integer\",\"example\":420}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/website-settings/add\":{\"post\":{\"tags\":[\"Website Settings\"],\"summary\":\"website_settings_add_summary\",\"description\":\"website_settings_add_description\",\"operationId\":\"website_settings_add\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/WebsiteSettingsAdd\"}}}},\"responses\":{\"200\":{\"description\":\"website_settings_add_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/WebsiteSetting\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/website-settings\":{\"post\":{\"tags\":[\"Website Settings\"],\"summary\":\"website_settings_get_collection_summary\",\"description\":\"website_settings_get_collection_description\",\"operationId\":\"website_settings_get_collection\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"filters\":{\"properties\":{\"page\":{\"type\":\"integer\",\"example\":1},\"pageSize\":{\"type\":\"integer\",\"example\":50},\"columnFilters\":{\"type\":\"object\",\"example\":\"[{\\\"key\\\":\\\"creationDate\\\", \\\"type\\\":\\\"date\\\", \\\"filterValue\\\":{\\\"operator\\\": \\\"on\\\", \\\"value\\\": \\\"08/20/2024\\\"}},{\\\"key\\\":\\\"name\\\", \\\"type\\\":\\\"like\\\", \\\"filterValue\\\": \\\"SettingsName\\\"},{\\\"key\\\":\\\"type\\\", \\\"type\\\":\\\"equals\\\", \\\"filterValue\\\": \\\"text\\\"}]\"},\"sortFilter\":{\"type\":\"object\",\"example\":\"{\\\"key\\\":\\\"name\\\", \\\"direction\\\":\\\"DESC\\\"}\"}},\"type\":\"object\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"website_settings_get_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/WebsiteSetting\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/website-settings/{id}\":{\"put\":{\"tags\":[\"Website Settings\"],\"summary\":\"website_settings_update_summary\",\"description\":\"website_settings_update_description\",\"operationId\":\"website_settings_update\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the website setting\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/WebsiteSettingsUpdate\"}}}},\"responses\":{\"200\":{\"description\":\"website_settings_update_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/WebsiteSetting\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Website Settings\"],\"summary\":\"website_settings_delete_summary\",\"description\":\"website_settings_delete_description\",\"operationId\":\"website_settings_delete\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the website setting\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"website_settings_delete_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/website-settings/types\":{\"get\":{\"tags\":[\"Website Settings\"],\"summary\":\"website_settings_list_types_summary\",\"description\":\"website_settings_list_types_description\",\"operationId\":\"website_settings_list_types\",\"responses\":{\"200\":{\"description\":\"website_settings_list_types_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"items\"],\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/WebsiteSettingsType\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/workflows/details\":{\"get\":{\"tags\":[\"Workflows\"],\"summary\":\"workflow_get_details_summary\",\"description\":\"workflow_get_details_description\",\"operationId\":\"workflow_get_details\",\"parameters\":[{\"name\":\"elementId\",\"in\":\"query\",\"description\":\"ID of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"elementType\",\"in\":\"query\",\"description\":\"Filter elements by matching element type.\",\"required\":true,\"schema\":{\"type\":\"string\",\"enum\":[\"asset\",\"document\",\"data-object\"],\"example\":\"data-object\"}}],\"responses\":{\"200\":{\"description\":\"workflow_get_details_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"items\",\"layoutId\"],\"properties\":{\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/WorkflowDetails\"}},\"layoutId\":{\"title\":\"layoutId\",\"type\":\"string\"}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/workflows/action\":{\"post\":{\"tags\":[\"Workflows\"],\"summary\":\"workflow_action_submit_summary\",\"description\":\"workflow_action_submit_description\",\"operationId\":\"workflow_action_submit\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/SubmitAction\"}}}},\"responses\":{\"200\":{\"description\":\"workflow_action_submit_success_response\",\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"workflowName\":{\"title\":\"workflowName\",\"type\":\"string\",\"example\":\"MyAwesomeWorkflow\"},\"actionName\":{\"title\":\"actionName\",\"type\":\"string\",\"example\":\"MyAwesomeAction\"},\"actionType\":{\"title\":\"actionType\",\"type\":\"string\",\"example\":\"transition\"}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/copilot/actions/automation/{name}/run\":{\"post\":{\"tags\":[\"Bundle Copilot\"],\"summary\":\"bundle_copilot_actions_automation_run_summary\",\"description\":\"bundle_copilot_actions_automation_run_description\",\"operationId\":\"bundle_copilot_actions_automation_run\",\"parameters\":[{\"name\":\"name\",\"in\":\"path\",\"description\":\"The name of the automation action configuration to run\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"CarVariantGenerator\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"context\",\"environmentVariables\"],\"properties\":{\"context\":{\"description\":\"Context in which the action is run.\",\"type\":\"string\",\"example\":\"{\\\"subject\\\":{\\\"id\\\":81,\\\"type\\\":\\\"object\\\",\\\"subType\\\":\\\"object\\\"},\\\"selectedElements\\\":null,\\\"tags\\\":[\\\"object\\\",\\\"object_car\\\"]}\"},\"environmentVariables\":{\"description\":\"Json encoded key value pairs of environment variables to set for the action.\",\"type\":\"string\",\"example\":\"{\\\"Published\\\":false,\\\"Variants\\\":[{\\\"Color\\\":\\\"grey\\\",\\\"ProductionYear\\\":1987}]}\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_copilot_actions_automation_run_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleCopilotJobRunId\"}}}},\"default\":{\"description\":\"201 - Created<br>400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/copilot/actions/interaction/{name}/{interactionId}/apply\":{\"post\":{\"tags\":[\"Bundle Copilot\"],\"summary\":\"bundle_copilot_actions_interaction_chat_apply_summary\",\"description\":\"bundle_copilot_actions_interaction_chat_apply_description\",\"operationId\":\"bundle_copilot_actions_interaction_chat_apply\",\"parameters\":[{\"name\":\"name\",\"in\":\"path\",\"description\":\"The name of the interaction action configuration to run\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"OpenAITextGeneration\"}},{\"name\":\"interactionId\",\"in\":\"path\",\"description\":\"The id of the chat interaction\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":9875567}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"context\",\"result\"],\"properties\":{\"context\":{\"description\":\"Context in which the action is run.\",\"type\":\"string\",\"example\":\"{\\\"subject\\\":{\\\"id\\\":81,\\\"type\\\":\\\"object\\\",\\\"subType\\\":\\\"object\\\"},\\\"selectedElements\\\":null,\\\"tags\\\":[\\\"object\\\",\\\"object_car\\\"]}\"},\"language\":{\"description\":\"The language of the field to be updated.\",\"type\":\"string\",\"default\":\"\",\"example\":\"en\"},\"result\":{\"description\":\"The result that should be applied.\",\"type\":\"string\",\"example\":\"The Cobra is a masterpiece ... \"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_copilot_actions_interaction_chat_apply_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/copilot/actions/interaction/{name}/{interactionId}/initial\":{\"post\":{\"tags\":[\"Bundle Copilot\"],\"summary\":\"bundle_copilot_actions_interaction_chat_initial_summary\",\"description\":\"bundle_copilot_actions_interaction_chat_initial_description\",\"operationId\":\"bundle_copilot_actions_interaction_chat_initial\",\"parameters\":[{\"name\":\"name\",\"in\":\"path\",\"description\":\"The name of the interaction action configuration to run\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"OpenAITextGeneration\"}},{\"name\":\"interactionId\",\"in\":\"path\",\"description\":\"The id of the chat interaction\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":9875567}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"context\"],\"properties\":{\"context\":{\"description\":\"Context in which the action is run.\",\"type\":\"string\",\"example\":\"{\\\"subject\\\":{\\\"id\\\":81,\\\"type\\\":\\\"object\\\",\\\"subType\\\":\\\"object\\\"},\\\"selectedElements\\\":null,\\\"tags\\\":[\\\"object\\\",\\\"object_car\\\"]}\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_copilot_actions_interaction_chat_initial_success_response\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleCopilotActionInteractionChatHistory\"}}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/copilot/actions/interaction/{name}/{interactionId}/prompt\":{\"post\":{\"tags\":[\"Bundle Copilot\"],\"summary\":\"bundle_copilot_actions_interaction_chat_prompt_summary\",\"description\":\"bundle_copilot_actions_interaction_chat_prompt_description\",\"operationId\":\"bundle_copilot_actions_interaction_chat_prompt\",\"parameters\":[{\"name\":\"name\",\"in\":\"path\",\"description\":\"The name of the interaction action configuration to run\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"OpenAITextGeneration\"}},{\"name\":\"interactionId\",\"in\":\"path\",\"description\":\"The id of the chat interaction\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":9875567}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"context\",\"prompt\"],\"properties\":{\"context\":{\"description\":\"Context in which the action is run.\",\"type\":\"string\",\"example\":\"{\\\"subject\\\":{\\\"id\\\":81,\\\"type\\\":\\\"object\\\",\\\"subType\\\":\\\"object\\\"},\\\"selectedElements\\\":null,\\\"tags\\\":[\\\"object\\\",\\\"object_car\\\"]}\"},\"prompt\":{\"description\":\"The prompt message from the user.\",\"type\":\"string\",\"example\":\"Please create a more compact description of the object than the one provided.\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_copilot_actions_interaction_chat_prompt_success_response\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleCopilotActionInteractionChatHistory\"}}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/copilot/actions/interaction/{name}/execute\":{\"post\":{\"tags\":[\"Bundle Copilot\"],\"summary\":\"bundle_copilot_actions_interaction_one_step_summary\",\"description\":\"bundle_copilot_actions_interaction_one_step_description\",\"operationId\":\"bundle_copilot_actions_interaction_one_step\",\"parameters\":[{\"name\":\"name\",\"in\":\"path\",\"description\":\"The name of the interaction action configuration to run\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"HFTranslationPrompt\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"context\",\"result\"],\"properties\":{\"context\":{\"description\":\"Context in which the action is run.\",\"type\":\"string\",\"example\":\"{\\\"subject\\\":{\\\"id\\\":81,\\\"type\\\":\\\"object\\\",\\\"subType\\\":\\\"object\\\"},\\\"selectedElements\\\":null,\\\"tags\\\":[\\\"object\\\",\\\"object_car\\\"]}\"},\"inputContent\":{\"description\":\"The content passed to the action.\",\"type\":\"string\",\"example\":\"The Cobra is a masterpiece ... \"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_copilot_actions_interaction_one_step_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleCopilotActionInteractionOneStep\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/copilot/actions\":{\"get\":{\"tags\":[\"Bundle Copilot\"],\"summary\":\"bundle_copilot_actions_summary\",\"description\":\"bundle_copilot_actions_description\",\"operationId\":\"bundle_copilot_actions\",\"responses\":{\"200\":{\"description\":\"bundle_copilot_actions_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleCopilotAction\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/copilot/job-run/{id}/cancel\":{\"post\":{\"tags\":[\"Bundle Copilot\"],\"summary\":\"bundle_copilot_job_run_cancel_summary\",\"description\":\"bundle_copilot_job_run_cancel_description\",\"operationId\":\"bundle_copilot_job_run_cancel\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the JobRun\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"bundle_copilot_job_run_cancel_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>409 - Conflict<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/copilot/job-runs\":{\"get\":{\"tags\":[\"Bundle Copilot\"],\"summary\":\"bundle_copilot_job_runs_summary\",\"description\":\"bundle_copilot_job_runs_description\",\"operationId\":\"bundle_copilot_job_runs\",\"parameters\":[{\"name\":\"pageSize\",\"in\":\"query\",\"description\":\"Number of items per page\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":50}},{\"name\":\"sortOrder\",\"in\":\"query\",\"description\":\"Sort order (asc or desc).\",\"required\":false,\"schema\":{\"type\":\"string\",\"enum\":[\"ASC\",\"DESC\"],\"example\":\"ASC\"}},{\"name\":\"sortBy\",\"in\":\"query\",\"description\":\"Sort by field.\",\"required\":false,\"schema\":{\"type\":\"string\",\"enum\":[\"id\",\"ownerId\",\"state\",\"currentstep\",\"currentmessage\",\"context\",\"creationdate\",\"modificationdate\"],\"example\":null}}],\"responses\":{\"200\":{\"description\":\"bundle_copilot_job_runs_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleCopilotJobRun\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/copilot/job-runs/running\":{\"get\":{\"tags\":[\"Bundle Copilot\"],\"summary\":\"bundle_copilot_job_runs_running_summary\",\"description\":\"bundle_copilot_job_runs_running_description\",\"operationId\":\"bundle_copilot_job_runs_running\",\"parameters\":[{\"name\":\"pageSize\",\"in\":\"query\",\"description\":\"Number of items per page\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":50}},{\"name\":\"sortOrder\",\"in\":\"query\",\"description\":\"Sort order (asc or desc).\",\"required\":false,\"schema\":{\"type\":\"string\",\"enum\":[\"ASC\",\"DESC\"],\"example\":\"ASC\"}},{\"name\":\"sortBy\",\"in\":\"query\",\"description\":\"Sort by field.\",\"required\":false,\"schema\":{\"type\":\"string\",\"enum\":[\"id\",\"ownerId\",\"state\",\"currentstep\",\"currentmessage\",\"context\",\"creationdate\",\"modificationdate\"],\"example\":null}}],\"responses\":{\"200\":{\"description\":\"bundle_copilot_job_runs_running_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleCopilotJobRun\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/copilot/job-run/{id}/progress\":{\"get\":{\"tags\":[\"Bundle Copilot\"],\"summary\":\"bundle_copilot_job_run_progress_summary\",\"description\":\"bundle_copilot_job_run_progress_description\",\"operationId\":\"bundle_copilot_job_run_progress\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the JobRun\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"bundle_copilot_job_run_progress_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleCopilotJobRunProgress\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/copilot/job-run/{id}/rerun\":{\"post\":{\"tags\":[\"Bundle Copilot\"],\"summary\":\"bundle_copilot_job_run_rerun_summary\",\"description\":\"bundle_copilot_job_run_rerun_description\",\"operationId\":\"bundle_copilot_job_run_rerun\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the JobRun\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"bundle_copilot_job_run_rerun_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleCopilotJobRun\"}}}},\"default\":{\"description\":\"201 - Created<br>400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/data-hub/config/add\":{\"post\":{\"tags\":[\"Bundle Data Hub\"],\"summary\":\"bundle_data_hub_config_add_summary\",\"description\":\"bundle_data_hub_config_add_description\",\"operationId\":\"bundle_data_hub_config_add\",\"parameters\":[{\"name\":\"name\",\"in\":\"query\",\"description\":\"The name of the configuration\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"assets\"}},{\"name\":\"type\",\"in\":\"query\",\"description\":\"Type of the adapter\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"graphql\"}},{\"name\":\"path\",\"in\":\"query\",\"description\":\"Configuration path\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"\"}}],\"responses\":{\"201\":{\"description\":\"bundle_data_hub_config_add_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/data-hub/config/clone\":{\"post\":{\"tags\":[\"Bundle Data Hub\"],\"summary\":\"bundle_data_hub_config_clone_summary\",\"description\":\"bundle_data_hub_config_clone_description\",\"operationId\":\"bundle_data_hub_config_clone\",\"parameters\":[{\"name\":\"name\",\"in\":\"query\",\"description\":\"The name of the new configuration\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"assets_copy\"}},{\"name\":\"originalName\",\"in\":\"query\",\"description\":\"The name of the configuration to clone\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"assets\"}}],\"responses\":{\"201\":{\"description\":\"bundle_data_hub_config_clone_success_response\"},\"default\":{\"description\":\"201 - Created<br>400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/data-hub/config\":{\"get\":{\"tags\":[\"Bundle Data Hub\"],\"summary\":\"bundle_data_hub_config_collection_summary\",\"description\":\"bundle_data_hub_config_collection_description\",\"operationId\":\"bundle_data_hub_config_collection\",\"responses\":{\"200\":{\"description\":\"bundle_copilot_actions_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleDataHubConfiguration\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/data-hub/config/delete/{name}\":{\"delete\":{\"tags\":[\"Bundle Data Hub\"],\"summary\":\"bundle_data_hub_config_delete_summary\",\"description\":\"bundle_data_hub_config_delete_description\",\"operationId\":\"bundle_data_hub_config_delete\",\"parameters\":[{\"name\":\"name\",\"in\":\"path\",\"description\":\"Name of the configuration\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"bundle_data_hub_config_delete_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/data-hub/config/{name}/export\":{\"get\":{\"tags\":[\"Bundle Data Hub\"],\"summary\":\"bundle_data_hub_config_export_summary\",\"description\":\"bundle_data_hub_config_export_description\",\"operationId\":\"bundle_data_hub_config_export\",\"parameters\":[{\"name\":\"name\",\"in\":\"path\",\"description\":\"Name of the configuration\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"bundle_data_hub_config_export_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/data-hub/config/{name}\":{\"get\":{\"tags\":[\"Bundle Data Hub\"],\"summary\":\"bundle_data_hub_config_get_summary\",\"description\":\"bundle_data_hub_config_get_description\",\"operationId\":\"bundle_data_hub_config_get\",\"parameters\":[{\"name\":\"name\",\"in\":\"path\",\"description\":\"Name of the configuration\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"bundle_data_hub_config_get_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleDataHubConfigurationDetail\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"put\":{\"tags\":[\"Bundle Data Hub\"],\"summary\":\"bundle_data_hub_config_update_summary\",\"description\":\"bundle_data_hub_config_update_description\",\"operationId\":\"bundle_data_hub_config_update\",\"parameters\":[{\"name\":\"name\",\"in\":\"path\",\"description\":\"Name of the configuration\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleDataHubUpdateConfiguration\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_data_hub_config_update_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleDataHubUpdateConfigurationResponse\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>409 - Conflict<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/data-hub/config/import\":{\"post\":{\"tags\":[\"Bundle Data Hub\"],\"summary\":\"bundle_data_hub_config_import_summary\",\"description\":\"bundle_data_hub_config_import_description\",\"operationId\":\"bundle_data_hub_config_import\",\"requestBody\":{\"description\":\"Configuration file to import\",\"required\":true,\"content\":{\"multipart/form-data\":{\"schema\":{\"required\":[\"file\"],\"properties\":{\"file\":{\"description\":\"JSON configuration file\",\"type\":\"string\",\"format\":\"binary\"}},\"type\":\"object\"}}}},\"responses\":{\"201\":{\"description\":\"bundle_data_hub_config_import_success_response\"},\"default\":{\"description\":\"201 - Created<br>400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/data-hub/graphql/explorer/{clientname}\":{\"get\":{\"tags\":[\"Bundle Data Hub\"],\"summary\":\"bundle_data_hub_graphql_explorer_summary\",\"description\":\"bundle_data_hub_graphql_explorer_description\",\"operationId\":\"bundle_data_hub_graphql_explorer\",\"parameters\":[{\"name\":\"clientname\",\"in\":\"path\",\"description\":\"Clientname of the client\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"bundle_data_hub_graphql_explorer_success_response\",\"content\":{\"text/html\":{\"schema\":{\"description\":\"GraphQL Explorer HTML interface\",\"type\":\"string\",\"example\":\"<!DOCTYPE html><html lang=\\\"en\\\"><body>...</body></html>\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/data-hub/graphql/explorer-url/{name}\":{\"get\":{\"tags\":[\"Bundle Data Hub\"],\"summary\":\"bundle_data_hub_graphql_explorer_url_summary\",\"description\":\"bundle_data_hub_graphql_explorer_url_description\",\"operationId\":\"bundle_data_hub_graphql_explorer_url\",\"parameters\":[{\"name\":\"name\",\"in\":\"path\",\"description\":\"Name of the configuration\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"bundle_data_hub_graphql_explorer_url_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"explorerUrl\"],\"properties\":{\"explorerUrl\":{\"title\":\"explorerUrl\",\"description\":\"The GraphQL Explorer URL for the specified configuration\",\"type\":\"string\",\"example\":\"/pimcore-datahub-webservices/explorer/my-config\"}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/data-hub/thumbnails\":{\"get\":{\"tags\":[\"Bundle Data Hub\"],\"summary\":\"bundle_data_hub_thumbnails_collection_summary\",\"description\":\"bundle_data_hub_thumbnails_collection_description\",\"operationId\":\"bundle_data_hub_thumbnails_collection\",\"responses\":{\"200\":{\"description\":\"bundle_data_hub_thumbnails_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleDataHubThumbnail\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/data-hub/users\":{\"get\":{\"tags\":[\"Bundle Data Hub\"],\"summary\":\"bundle_data_hub_users_collection_summary\",\"description\":\"bundle_data_hub_users_collection_description\",\"operationId\":\"bundle_data_hub_users_collection\",\"parameters\":[{\"name\":\"type\",\"in\":\"query\",\"description\":\"Filter by user type (user or role)\",\"required\":false,\"schema\":{\"type\":\"string\",\"default\":\"user\",\"enum\":[\"user\",\"role\"]}}],\"responses\":{\"200\":{\"description\":\"bundle_data_hub_users_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleDataHubPermissionUser\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/personalization/target-groups\":{\"get\":{\"tags\":[\"Bundle Personalization\"],\"summary\":\"bundle_personalization_target_group_list_summary\",\"description\":\"bundle_personalization_target_group_list_description\",\"operationId\":\"bundle_personalization_target_group_list\",\"parameters\":[{\"name\":\"includeDefault\",\"in\":\"query\",\"description\":\"If true, default target group is included in the response\",\"required\":true,\"schema\":{\"type\":\"boolean\",\"example\":true}}],\"responses\":{\"200\":{\"description\":\"bundle_personalization_target_group_list_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"items\"],\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundlePersonalizationTargetGroup\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/enterprise-subscription-tools/license/\":{\"get\":{\"tags\":[\"Bundle Enterprise Subscription Tools\"],\"summary\":\"bundle_enterprise_subscription_tools_license_summary\",\"description\":\"bundle_enterprise_subscription_tools_license_description\",\"operationId\":\"bundle_enterprise_subscription_tools_license\",\"responses\":{\"200\":{\"description\":\"bundle_enterprise_subscription_tools_license_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleEnterpriseSubscriptionToolsLicenseInformation\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/amdcd/configs/list\":{\"get\":{\"tags\":[\"Bundle Asset Metadata Class Definitions\"],\"summary\":\"bundle_amdcd_configs_list_summary\",\"description\":\"bundle_amdcd_configs_list_description\",\"operationId\":\"bundle_amdcd_configs_list\",\"responses\":{\"200\":{\"description\":\"bundle_amdcd_configs_list_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/AMDCDListConfig\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/amdcd/configs/tree\":{\"get\":{\"tags\":[\"Bundle Asset Metadata Class Definitions\"],\"summary\":\"bundle_amdcd_configs_tree_summary\",\"description\":\"bundle_amdcd_configs_tree_description\",\"operationId\":\"bundle_amdcd_configs_tree\",\"responses\":{\"200\":{\"description\":\"bundle_amdcd_configs_tree_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/AMDCDSimpleConfig\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/statistics-explorer/custom-reports/data-sources/{dataSource}/fields\":{\"get\":{\"tags\":[\"Bundle Statistics Explorer\"],\"summary\":\"bundle_statistics_explorer_custom_reports_data_sources_fields_summary\",\"description\":\"bundle_statistics_explorer_custom_reports_data_sources_fields_description\",\"operationId\":\"bundle_statistics_explorer_custom_reports_data_sources_fields\",\"parameters\":[{\"name\":\"dataSource\",\"in\":\"path\",\"description\":\"The data source to retrieve the fields for\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"db_assets\"}}],\"responses\":{\"200\":{\"description\":\"bundle_statistics_explorer_custom_reports_data_sources_fields_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleStatisticsExplorerDataSourceFields\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/statistics-explorer/custom-reports/data-sources/{dataSource}/fields/settings\":{\"post\":{\"tags\":[\"Bundle Statistics Explorer\"],\"summary\":\"bundle_statistics_explorer_custom_reports_data_sources_fields_settings_summary\",\"description\":\"bundle_statistics_explorer_custom_reports_data_sources_fields_settings_description\",\"operationId\":\"bundle_statistics_explorer_custom_reports_data_sources_fields_settings\",\"parameters\":[{\"name\":\"dataSource\",\"in\":\"path\",\"description\":\"The data source to retrieve the fields for\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"db_assets\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"statisticsMode\",\"aggregations\",\"columns\"],\"properties\":{\"statisticsMode\":{\"description\":\"The statistics mode to be used.\",\"type\":\"string\",\"example\":\"list\"},\"aggregations\":{\"description\":\"The aggregations to be applied.\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleStatisticsExplorerDataSourceFieldsSettingsArray\"}},\"columns\":{\"description\":\"The columns to be included in the result.\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleStatisticsExplorerDataSourceFieldsSettingsArray\"}}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_statistics_explorer_custom_reports_data_sources_fields_settings_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleStatisticsExplorerDataSourceFieldsDefinition\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/statistics-explorer/custom-reports/data-sources\":{\"get\":{\"tags\":[\"Bundle Statistics Explorer\"],\"summary\":\"bundle_statistics_explorer_custom_reports_data_sources_summary\",\"description\":\"bundle_statistics_explorer_custom_reports_data_sources_description\",\"operationId\":\"bundle_statistics_explorer_custom_reports_data_sources\",\"responses\":{\"200\":{\"description\":\"bundle_statistics_explorer_custom_reports_data_sources_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleStatisticsExplorerDataSource\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/portal-engine/collection\":{\"post\":{\"tags\":[\"Bundle Portal Engine\"],\"summary\":\"bundle_portal_engine_collection_add_summary\",\"description\":\"bundle_portal_engine_collection_add_description\",\"operationId\":\"bundle_portal_engine_collection_add\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"name\",\"portalId\"],\"properties\":{\"name\":{\"type\":\"string\"},\"portalId\":{\"type\":\"integer\",\"example\":1}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_portal_engine_collection_add_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/PortalEngineCollection\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/portal-engine/collection/{collectionId}\":{\"delete\":{\"tags\":[\"Bundle Portal Engine\"],\"summary\":\"bundle_portal_engine_delete_collection_summary\",\"description\":\"bundle_portal_engine_delete_collection_description\",\"operationId\":\"bundle_portal_engine_delete_collection\",\"parameters\":[{\"name\":\"collectionId\",\"in\":\"path\",\"description\":\"CollectionId of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"translation_delete_by_key_success_description\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"patch\":{\"tags\":[\"Bundle Portal Engine\"],\"summary\":\"bundle_portal_engine_collection_update_summary\",\"description\":\"bundle_portal_engine_collection_update_description\",\"operationId\":\"bundle_portal_engine_collection_update\",\"parameters\":[{\"name\":\"collectionId\",\"in\":\"path\",\"description\":\"CollectionId of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"name\"],\"properties\":{\"name\":{\"type\":\"string\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_portal_engine_collection_update_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/PortalEngineCollection\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/portal-engine/collection/list\":{\"post\":{\"tags\":[\"Bundle Portal Engine\"],\"summary\":\"bundle_portal_engine_collection_list_summary\",\"description\":\"bundle_portal_engine_collection_list_description\",\"operationId\":\"bundle_portal_engine_collection_list\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"filters\":{\"properties\":{\"page\":{\"type\":\"integer\",\"example\":1},\"pageSize\":{\"type\":\"integer\",\"example\":50},\"columnFilters\":{\"type\":\"object\",\"example\":\"[{\\\"type\\\":\\\"search\\\", \\\"filterValue\\\": \\\"search term\\\"},{\\\"type\\\":\\\"showAll\\\", \\\"filterValue\\\": true}]\"},\"sortFilter\":{\"type\":\"object\",\"example\":\"{\\\"key\\\":\\\"portal\\\", \\\"direction\\\":\\\"ASC\\\"}\"}},\"type\":\"object\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_portal_engine_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/PortalEngineCollection\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/portal-engine/collection/list-portals\":{\"get\":{\"tags\":[\"Bundle Portal Engine\"],\"summary\":\"bundle_portal_engine_collection_list_portals_summary\",\"description\":\"bundle_portal_engine_collection_list_portals_description\",\"operationId\":\"bundle_portal_engine_collection_list_portals\",\"responses\":{\"200\":{\"description\":\"bundle_portal_engine_collection_list_portals_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/PortalEngineCollectionPortal\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/portal-engine/collection/{collectionId}/share-list\":{\"get\":{\"tags\":[\"Bundle Portal Engine\"],\"summary\":\"bundle_portal_engine_collection_share_list_summary\",\"description\":\"bundle_portal_engine_collection_share_list_description\",\"operationId\":\"bundle_portal_engine_collection_share_list\",\"parameters\":[{\"name\":\"collectionId\",\"in\":\"path\",\"description\":\"CollectionId of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"bundle_portal_engine_collection_share_list_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/PortalEngineCollectionShareListItem\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"post\":{\"tags\":[\"Bundle Portal Engine\"],\"summary\":\"bundle_portal_engine_collection_share_list_update_summary\",\"description\":\"bundle_portal_engine_collection_share_list_update_description\",\"operationId\":\"bundle_portal_engine_collection_share_list_update\",\"parameters\":[{\"name\":\"collectionId\",\"in\":\"path\",\"description\":\"CollectionId of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"shareListItems\"],\"properties\":{\"shareListItems\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/PortalEngineCollectionShareListItem\"}}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_portal_engine_collection_share_list_update_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/portal-engine/collection/{collectionId}/tree/add/{rootNodeId}\":{\"post\":{\"tags\":[\"Bundle Portal Engine\"],\"summary\":\"bundle_portal_engine_collections_tree_add_summary\",\"description\":\"bundle_portal_engine_collections_tree_add_description\",\"operationId\":\"bundle_portal_engine_collections_tree_add\",\"parameters\":[{\"name\":\"collectionId\",\"in\":\"path\",\"description\":\"CollectionId of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"rootNodeId\",\"in\":\"path\",\"description\":\"RootNodeId of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"elementIds\"],\"properties\":{\"elementIds\":{\"type\":\"object\",\"example\":[123,456]}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_portal_engine_collections_tree_add_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/portal-engine/collection/{collectionId}/tree/delete/{rootNodeId}\":{\"post\":{\"tags\":[\"Bundle Portal Engine\"],\"summary\":\"bundle_portal_engine_collections_tree_delete_elements_summary\",\"description\":\"bundle_portal_engine_collections_tree_delete_elements_description\",\"operationId\":\"bundle_portal_engine_collections_tree_delete_elements\",\"parameters\":[{\"name\":\"collectionId\",\"in\":\"path\",\"description\":\"CollectionId of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"rootNodeId\",\"in\":\"path\",\"description\":\"RootNodeId of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"elementIds\"],\"properties\":{\"elementIds\":{\"type\":\"object\",\"example\":[123,456]}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_portal_engine_collections_tree_delete_elements_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/portal-engine/collection/{collectionId}/tree-information\":{\"get\":{\"tags\":[\"Bundle Portal Engine\"],\"summary\":\"bundle_portal_engine_collections_tree_information_summary\",\"description\":\"bundle_portal_engine_collections_tree_information_description\",\"operationId\":\"bundle_portal_engine_collections_tree_information\",\"parameters\":[{\"name\":\"collectionId\",\"in\":\"path\",\"description\":\"CollectionId of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"bundle_portal_engine_collections_tree_information_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/PortalEngineTreeInformation\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/portal-engine/collection/{collectionId}/tree-items\":{\"get\":{\"tags\":[\"Bundle Portal Engine\"],\"summary\":\"bundle_portal_engine_collections_tree_items_summary\",\"description\":\"bundle_portal_engine_collections_tree_items_description\",\"operationId\":\"bundle_portal_engine_collections_tree_items\",\"parameters\":[{\"name\":\"collectionId\",\"in\":\"path\",\"description\":\"CollectionId of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"page\",\"in\":\"query\",\"description\":\"Page number\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":1}},{\"name\":\"pageSize\",\"in\":\"query\",\"description\":\"How many results to return\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":30}},{\"name\":\"node\",\"in\":\"query\",\"description\":\"Node is for items to list\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":30}},{\"name\":\"filter\",\"in\":\"query\",\"description\":\"When provided, the items are filtered by value.\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"some-search-term\"}}],\"responses\":{\"200\":{\"description\":\"bundle_portal_engine_collections_tree_items_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/components/schemas/BundlePortalEngineDataObject\"},{\"$ref\":\"#/components/schemas/BundlePortalEngineAsset\"}]}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/portal-engine/collection/{collectionId}/tree-root-nodes\":{\"get\":{\"tags\":[\"Bundle Portal Engine\"],\"summary\":\"bundle_portal_engine_collections_tree_root_nodes_summary\",\"description\":\"bundle_portal_engine_collections_tree_root_nodes_description\",\"operationId\":\"bundle_portal_engine_collections_tree_root_nodes\",\"parameters\":[{\"name\":\"collectionId\",\"in\":\"path\",\"description\":\"CollectionId of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"bundle_portal_engine_collections_tree_root_nodes_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/PortalEngineTreeFolder\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/portal-engine/collections/check-user-assignment\":{\"get\":{\"tags\":[\"Bundle Portal Engine\"],\"summary\":\"bundle_portal_engine_collections_user_assignment_check_summary\",\"description\":\"bundle_portal_engine_collections_user_assignment_check_description\",\"operationId\":\"bundle_portal_engine_collections_user_assignment_check\",\"responses\":{\"200\":{\"description\":\"bundle_portal_engine_collections_user_assignment_check_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/PortalEngineAdminUserAssignment\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/portal-engine/collection/{collectionId}/user-search\":{\"get\":{\"tags\":[\"Bundle Portal Engine\"],\"summary\":\"bundle_portal_engine_collection_user_search_summary\",\"description\":\"bundle_portal_engine_collection_user_search_description\",\"operationId\":\"bundle_portal_engine_collection_user_search\",\"parameters\":[{\"name\":\"collectionId\",\"in\":\"path\",\"description\":\"CollectionId of the element\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"searchQuery\",\"in\":\"query\",\"description\":\"Term to filter user groups\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"deal\"}},{\"name\":\"excludeIds\",\"in\":\"query\",\"description\":\"Comma-separated list of IDs excluded from the search result\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"1,2,3\"}}],\"responses\":{\"200\":{\"description\":\"bundle_portal_engine_collection_user_search_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/PortalEngineCollectionUserGroup\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/portal-engine/index-management\":{\"get\":{\"tags\":[\"Bundle Portal Engine\"],\"summary\":\"bundle_portal_engine_index_management_list_summary\",\"description\":\"bundle_portal_engine_index_management_list_description\",\"operationId\":\"bundle_portal_engine_index_management_list\",\"responses\":{\"200\":{\"description\":\"bundle_portal_engine_index_management_list_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/IndexStat\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/portal-engine/index-management/queue-item-count\":{\"get\":{\"tags\":[\"Bundle Portal Engine\"],\"summary\":\"bundle_portal_engine_index_management_queue_count_summary\",\"description\":\"bundle_portal_engine_index_management_queue_count_description\",\"operationId\":\"bundle_portal_engine_index_management_queue_count\",\"responses\":{\"200\":{\"description\":\"bundle_portal_engine_index_management_queue_count_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/QueueItemCount\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/portal-engine/index-management/re-index\":{\"post\":{\"tags\":[\"Bundle Portal Engine\"],\"summary\":\"bundle_portal_engine_index_management_re_index_summary\",\"description\":\"bundle_portal_engine_index_management_re_index_description\",\"operationId\":\"bundle_portal_engine_index_management_re_index\",\"responses\":{\"200\":{\"description\":\"bundle_portal_engine_index_management_re_index_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/portal-engine/index-management/update-index\":{\"post\":{\"tags\":[\"Bundle Portal Engine\"],\"summary\":\"bundle_portal_engine_index_management_update_index_summary\",\"description\":\"bundle_portal_engine_index_management_update_index_description\",\"operationId\":\"bundle_portal_engine_index_management_update_index\",\"responses\":{\"200\":{\"description\":\"bundle_portal_engine_index_management_update_index_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/portal-engine/wizard/create-portal\":{\"post\":{\"tags\":[\"Bundle Portal Engine\"],\"summary\":\"bundle_portal_engine_wizard_create_portal_summary\",\"description\":\"bundle_portal_engine_wizard_create_portal_description\",\"operationId\":\"bundle_portal_engine_wizard_create_portal\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"portalName\",\"domain\",\"availableLanguages\"],\"properties\":{\"portalName\":{\"type\":\"string\"},\"domain\":{\"type\":\"string\"},\"availableLanguages\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":[\"de\",\"en\"]},\"logo\":{\"type\":\"string\"},\"loginBackgroundImage\":{\"type\":\"string\"},\"objectPools\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/PortalEngineWizardObjectPool\"}},\"assetPools\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/PortalEngineWizardAssetPool\"}}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_portal_engine_wizard_create_portal_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/PortalEngineWizardStartResponse\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/portal-engine/wizard/custom-layouts/{classId}\":{\"get\":{\"tags\":[\"Bundle Portal Engine\"],\"summary\":\"bundle_portal_engine_wizard_class_custom_layouts_summary\",\"description\":\"bundle_portal_engine_wizard_class_custom_layouts_description\",\"operationId\":\"bundle_portal_engine_wizard_class_custom_layouts\",\"parameters\":[{\"name\":\"classId\",\"in\":\"path\",\"description\":\"Class ID\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"CAR\"}}],\"responses\":{\"200\":{\"description\":\"bundle_portal_engine_wizard_class_custom_layouts_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/PortalEngineWizardCustomLayout\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/portal-engine/wizard/available-formats\":{\"get\":{\"tags\":[\"Bundle Portal Engine\"],\"summary\":\"bundle_portal_engine_wizard_available_formats_summary\",\"description\":\"bundle_portal_engine_wizard_available_formats_description\",\"operationId\":\"bundle_portal_engine_wizard_available_formats\",\"responses\":{\"200\":{\"description\":\"bundle_portal_engine_wizard_available_formats_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/PortalEngineWizardFormat\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/portal-engine/wizard/icons\":{\"get\":{\"tags\":[\"Bundle Portal Engine\"],\"summary\":\"bundle_portal_engine_wizard_icons_summary\",\"description\":\"bundle_portal_engine_wizard_icons_description\",\"operationId\":\"bundle_portal_engine_wizard_icons\",\"responses\":{\"200\":{\"description\":\"bundle_portal_engine_wizard_icons_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/PortalEngineIcon\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/portal-engine/wizard/available-thumbnails\":{\"get\":{\"tags\":[\"Bundle Portal Engine\"],\"summary\":\"bundle_portal_engine_wizard_available_thumbnails_summary\",\"description\":\"bundle_portal_engine_wizard_available_thumbnails_description\",\"operationId\":\"bundle_portal_engine_wizard_available_thumbnails\",\"responses\":{\"200\":{\"description\":\"bundle_portal_engine_wizard_available_thumbnails_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/PortalEngineWizardThumbnail\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/portal-engine/wizard/{tmpStoreKey}/status\":{\"get\":{\"tags\":[\"Bundle Portal Engine\"],\"summary\":\"bundle_portal_engine_wizard_status_summary\",\"description\":\"bundle_portal_engine_wizard_status_description\",\"operationId\":\"bundle_portal_engine_wizard_status\",\"parameters\":[{\"name\":\"tmpStoreKey\",\"in\":\"path\",\"description\":\"Temporary store key returned by the wizard start endpoint.\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"portal-engine_wizard_650a9242c8b1d\"}}],\"responses\":{\"200\":{\"description\":\"bundle_portal_engine_wizard_status_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/PortalEngineWizardStatusResponse\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/data-hub-file-export/config/{name}\":{\"get\":{\"tags\":[\"Bundle Data Hub File Export\"],\"summary\":\"bundle_data_hub_file_export_config_get_summary\",\"description\":\"bundle_data_hub_file_export_config_get_description\",\"operationId\":\"bundle_data_hub_file_export_config_get\",\"parameters\":[{\"name\":\"name\",\"in\":\"path\",\"description\":\"Name of the configuration\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"bundle_data_hub_file_export_config_get_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleDataHubFileExportConfigurationDetail\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"put\":{\"tags\":[\"Bundle Data Hub File Export\"],\"summary\":\"bundle_data_hub_file_export_config_update_summary\",\"description\":\"bundle_data_hub_file_export_config_update_description\",\"operationId\":\"bundle_data_hub_file_export_config_update\",\"parameters\":[{\"name\":\"name\",\"in\":\"path\",\"description\":\"Name of the configuration\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleDataHubFileExportUpdateConfiguration\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_data_hub_file_export_config_update_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleDataHubFileExportUpdateConfigurationResponse\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Bundle Data Hub File Export\"],\"summary\":\"bundle_data_hub_file_export_config_delete_summary\",\"description\":\"bundle_data_hub_file_export_config_delete_description\",\"operationId\":\"bundle_data_hub_file_export_config_delete\",\"parameters\":[{\"name\":\"name\",\"in\":\"path\",\"description\":\"Name of the configuration\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"bundle_data_hub_file_export_config_delete_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/data-hub-file-export/exporter-services\":{\"get\":{\"tags\":[\"Bundle Data Hub File Export\"],\"summary\":\"bundle_data_hub_file_export_exporter_services_summary\",\"description\":\"bundle_data_hub_file_export_exporter_services_description\",\"operationId\":\"bundle_data_hub_file_export_exporter_services\",\"responses\":{\"200\":{\"description\":\"bundle_data_hub_file_export_exporter_services_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleDataHubFileExportExporterService\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/data-hub-file-export/exporter-types\":{\"get\":{\"tags\":[\"Bundle Data Hub File Export\"],\"summary\":\"bundle_data_hub_file_export_exporter_types_summary\",\"description\":\"bundle_data_hub_file_export_exporter_types_description\",\"operationId\":\"bundle_data_hub_file_export_exporter_types\",\"responses\":{\"200\":{\"description\":\"bundle_data_hub_file_export_exporter_types_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleDataHubFileExportExporterType\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/data-hub-file-export/thumbnails\":{\"get\":{\"tags\":[\"Bundle Data Hub File Export\"],\"summary\":\"bundle_data_hub_file_export_thumbnails_summary\",\"description\":\"bundle_data_hub_file_export_thumbnails_description\",\"operationId\":\"bundle_data_hub_file_export_thumbnails\",\"responses\":{\"200\":{\"description\":\"bundle_data_hub_file_export_thumbnails_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleDataHubFileExportThumbnailCollection\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/data-hub-file-export/validate-cron\":{\"get\":{\"tags\":[\"Bundle Data Hub File Export\"],\"summary\":\"bundle_data_hub_file_export_validate_cron_summary\",\"description\":\"bundle_data_hub_file_export_validate_cron_description\",\"operationId\":\"bundle_data_hub_file_export_validate_cron\",\"parameters\":[{\"name\":\"cron_expression\",\"in\":\"query\",\"description\":\"The cron expression to validate\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"*/5 * * * *\"}}],\"responses\":{\"200\":{\"description\":\"bundle_data_hub_file_export_validate_cron_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleDataHubFileExportCronValidationResult\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/data-hub-file-export/export/cancel\":{\"put\":{\"tags\":[\"Bundle Data Hub File Export\"],\"summary\":\"bundle_data_hub_file_export_export_cancel_summary\",\"description\":\"bundle_data_hub_file_export_export_cancel_description\",\"operationId\":\"bundle_data_hub_file_export_export_cancel\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"configName\"],\"properties\":{\"configName\":{\"description\":\"Configuration name\",\"type\":\"string\",\"example\":\"my-file-export\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_data_hub_file_export_export_cancel_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/data-hub-file-export/export/progress\":{\"get\":{\"tags\":[\"Bundle Data Hub File Export\"],\"summary\":\"bundle_data_hub_file_export_export_progress_summary\",\"description\":\"bundle_data_hub_file_export_export_progress_description\",\"operationId\":\"bundle_data_hub_file_export_export_progress\",\"parameters\":[{\"name\":\"config_name\",\"in\":\"query\",\"description\":\"Configuration name\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"my-file-export\"}}],\"responses\":{\"200\":{\"description\":\"bundle_data_hub_file_export_export_progress_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleDataHubFileExportExportProgress\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/data-hub-file-export/export/start\":{\"put\":{\"tags\":[\"Bundle Data Hub File Export\"],\"summary\":\"bundle_data_hub_file_export_export_start_summary\",\"description\":\"bundle_data_hub_file_export_export_start_description\",\"operationId\":\"bundle_data_hub_file_export_export_start\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleDataHubFileExportStartExport\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_data_hub_file_export_export_start_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/data-hub-simple-rest/config/{name}\":{\"get\":{\"tags\":[\"Bundle Data Hub Simple Rest\"],\"summary\":\"bundle_data_hub_simple_rest_config_get_summary\",\"description\":\"bundle_data_hub_simple_rest_config_get_description\",\"operationId\":\"bundle_data_hub_simple_rest_config_get\",\"parameters\":[{\"name\":\"name\",\"in\":\"path\",\"description\":\"Name of the configuration\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"bundle_data_hub_simple_rest_config_get_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleDataHubSimpleRestConfigurationDetail\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"put\":{\"tags\":[\"Bundle Data Hub Simple Rest\"],\"summary\":\"bundle_data_hub_simple_rest_config_update_summary\",\"description\":\"bundle_data_hub_simple_rest_config_update_description\",\"operationId\":\"bundle_data_hub_simple_rest_config_update\",\"parameters\":[{\"name\":\"name\",\"in\":\"path\",\"description\":\"Name of the configuration\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleDataHubSimpleRestUpdateConfiguration\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_data_hub_simple_rest_config_update_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleDataHubSimpleRestUpdateConfigurationResponse\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>409 - Conflict<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/data-hub-simple-rest/config/{name}/label-list\":{\"get\":{\"tags\":[\"Bundle Data Hub Simple Rest\"],\"summary\":\"bundle_data_hub_simple_rest_config_get_label_list_summary\",\"description\":\"bundle_data_hub_simple_rest_config_get_label_list_description\",\"operationId\":\"bundle_data_hub_simple_rest_config_get_label_list\",\"parameters\":[{\"name\":\"name\",\"in\":\"path\",\"description\":\"Name of the configuration\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"bundle_data_hub_simple_rest_config_get_label_list_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleDataHubSimpleRestLabel\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/data-hub-simple-rest/queue/item-count\":{\"get\":{\"tags\":[\"Bundle Data Hub Simple Rest\"],\"summary\":\"bundle_data_hub_simple_rest_queue_get_item_count_summary\",\"description\":\"bundle_data_hub_simple_rest_queue_get_item_count_description\",\"operationId\":\"bundle_data_hub_simple_rest_queue_get_item_count\",\"responses\":{\"200\":{\"description\":\"bundle_data_hub_simple_rest_queue_get_item_count_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleDataHubSimpleRestQueueItemCount\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/data-hub-simple-rest/thumbnails\":{\"get\":{\"tags\":[\"Bundle Data Hub Simple Rest\"],\"summary\":\"bundle_data_hub_simple_rest_thumbnails_collection_summary\",\"description\":\"bundle_data_hub_simple_rest_thumbnails_collection_description\",\"operationId\":\"bundle_data_hub_simple_rest_thumbnails_collection\",\"responses\":{\"200\":{\"description\":\"bundle_data_hub_simple_rest_thumbnails_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleDataHubSimpleRestThumbnail\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/data-hub-webhooks/config/{name}\":{\"get\":{\"tags\":[\"Bundle Data Hub Webhooks\"],\"summary\":\"bundle_data_hub_webhooks_config_get_summary\",\"description\":\"bundle_data_hub_webhooks_config_get_description\",\"operationId\":\"bundle_data_hub_webhooks_config_get\",\"parameters\":[{\"name\":\"name\",\"in\":\"path\",\"description\":\"Name of the configuration\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"bundle_data_hub_webhooks_config_get_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleDataHubWebhooksConfigurationDetail\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"put\":{\"tags\":[\"Bundle Data Hub Webhooks\"],\"summary\":\"bundle_data_hub_webhooks_config_update_summary\",\"description\":\"bundle_data_hub_webhooks_config_update_description\",\"operationId\":\"bundle_data_hub_webhooks_config_update\",\"parameters\":[{\"name\":\"name\",\"in\":\"path\",\"description\":\"Name of the configuration\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleDataHubWebhooksUpdateConfiguration\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_data_hub_webhooks_config_update_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleDataHubWebhooksUpdateConfigurationResponse\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>409 - Conflict<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/data-hub-webhooks/config/test-subscribers\":{\"post\":{\"tags\":[\"Bundle Data Hub Webhooks\"],\"summary\":\"bundle_data_hub_webhooks_config_test_subscribers_summary\",\"description\":\"bundle_data_hub_webhooks_config_test_subscribers_description\",\"operationId\":\"bundle_data_hub_webhooks_config_test_subscribers\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleDataHubWebhooksTestSubscribersParameters\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_data_hub_webhooks_config_test_subscribers_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleDataHubWebhooksTestSubscribersResponse\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/web-to-print/{documentId}/cancel-generation\":{\"post\":{\"tags\":[\"Bundle Web To Print\"],\"summary\":\"bundle_web_to_print_cancel_generation_process_summary\",\"description\":\"bundle_web_to_print_cancel_generation_process_description\",\"operationId\":\"bundle_web_to_print_cancel_generation_process\",\"parameters\":[{\"name\":\"documentId\",\"in\":\"path\",\"description\":\"DocumentId of the web to print document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"bundle_web_to_print_cancel_generation_process_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/web-to-print/{documentId}/check-pdf-dirty\":{\"get\":{\"tags\":[\"Bundle Web To Print\"],\"summary\":\"bundle_web_to_print_get_pdf_dirty_summary\",\"description\":\"bundle_web_to_print_get_pdf_dirty_description\",\"operationId\":\"bundle_web_to_print_get_pdf_dirty\",\"parameters\":[{\"name\":\"documentId\",\"in\":\"path\",\"description\":\"DocumentId of the web to print document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"bundle_web_to_print_get_pdf_dirty_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"isDirty\"],\"properties\":{\"isDirty\":{\"title\":\"isDirty\",\"description\":\"True if document changed since the last PDF generation\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/web-to-print/{documentId}/pdf-download\":{\"get\":{\"tags\":[\"Bundle Web To Print\"],\"summary\":\"bundle_web_to_print_pdf_download_summary\",\"description\":\"bundle_web_to_print_pdf_download_description\",\"operationId\":\"bundle_web_to_print_pdf_download\",\"parameters\":[{\"name\":\"documentId\",\"in\":\"path\",\"description\":\"DocumentId of the web to print document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"bundle_web_to_print_pdf_download_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"attachment; filename=\\\"someGeneratedDocument.pdf\\\"\"}}},\"content\":{\"application/pdf\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/web-to-print/{documentId}/generation-process-data\":{\"get\":{\"tags\":[\"Bundle Web To Print\"],\"summary\":\"bundle_web_to_print_get_generation_process_data_summary\",\"description\":\"bundle_web_to_print_get_generation_process_data_description\",\"operationId\":\"bundle_web_to_print_get_generation_process_data\",\"parameters\":[{\"name\":\"documentId\",\"in\":\"path\",\"description\":\"DocumentId of the web to print document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"bundle_web_to_print_get_generation_process_data_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleWebToPrintGenerateProcessData\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/web-to-print/{documentId}/processing-options\":{\"get\":{\"tags\":[\"Bundle Web To Print\"],\"summary\":\"bundle_web_to_print_get_processing_options_summary\",\"description\":\"bundle_web_to_print_get_processing_options_description\",\"operationId\":\"bundle_web_to_print_get_processing_options\",\"parameters\":[{\"name\":\"documentId\",\"in\":\"path\",\"description\":\"DocumentId of the web to print document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"bundle_web_to_print_get_processing_options_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"options\"],\"properties\":{\"options\":{\"title\":\"Processing Options\",\"description\":\"Processing options used for PDF generation.\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleWebToPrintProcessingOption\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/web-to-print/{documentId}/start-generation\":{\"post\":{\"tags\":[\"Bundle Web To Print\"],\"summary\":\"bundle_web_to_print_start_generation_process_summary\",\"description\":\"bundle_web_to_print_start_generation_process_description\",\"operationId\":\"bundle_web_to_print_start_generation_process\",\"parameters\":[{\"name\":\"documentId\",\"in\":\"path\",\"description\":\"DocumentId of the web to print document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"data\"],\"properties\":{\"data\":{\"properties\":{\"author\":{\"type\":[\"string\",\"null\"]},\"title\":{\"type\":[\"string\",\"null\"]},\"printermarks\":{\"type\":[\"boolean\",\"null\"]},\"addOverprint\":{\"type\":[\"boolean\",\"null\"]},\"links\":{\"type\":[\"boolean\",\"null\"]},\"bookmarks\":{\"type\":[\"boolean\",\"null\"]},\"tags\":{\"type\":[\"boolean\",\"null\"]},\"javaScriptMode\":{\"type\":[\"string\",\"null\"]},\"viewerPreference\":{\"type\":[\"string\",\"null\"]},\"colorspace\":{\"type\":[\"string\",\"null\"]},\"encryption\":{\"type\":[\"string\",\"null\"]},\"loglevel\":{\"type\":[\"string\",\"null\"]},\"enableDebugMode\":{\"type\":[\"boolean\",\"null\"]}},\"type\":\"object\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_web_to_print_start_generation_process_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/web-to-print/{documentId}/pdf-stream\":{\"get\":{\"tags\":[\"Bundle Web To Print\"],\"summary\":\"bundle_web_to_print_pdf_stream_summary\",\"description\":\"bundle_web_to_print_pdf_stream_description\",\"operationId\":\"bundle_web_to_print_pdf_stream\",\"parameters\":[{\"name\":\"documentId\",\"in\":\"path\",\"description\":\"DocumentId of the web to print document\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"bundle_web_to_print_pdf_stream_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"inline; filename=\\\"someGeneratedDocument.pdf\\\"\"}}},\"content\":{\"application/pdf\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/data-quality-management/color-settings\":{\"get\":{\"tags\":[\"Bundle Data Quality Management\"],\"summary\":\"bundle_data_quality_management_color_settings_list_summary\",\"description\":\"bundle_data_quality_management_color_settings_list_description\",\"operationId\":\"bundle_data_quality_management_color_settings_list\",\"responses\":{\"200\":{\"description\":\"bundle_data_quality_management_color_settings_list_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"items\"],\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleDataQualityManagementColorSettings\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/data-quality-management/detail-widget/{id}/{locale}\":{\"get\":{\"tags\":[\"Bundle Data Quality Management\"],\"summary\":\"bundle_data_quality_management_detail_widget_get_summary\",\"description\":\"bundle_data_quality_management_detail_widget_get_description\",\"operationId\":\"bundle_data_quality_management_detail_widget_get\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the data-object\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"locale\",\"in\":\"path\",\"description\":\"Local used for detail translations\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"en\"}}],\"responses\":{\"200\":{\"description\":\"bundle_data_quality_management_detail_widget_get_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"items\"],\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleDataQualityManagementDetailWidget\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/backend-power-tools/aet/class-definition/common-relation-fields\":{\"get\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_aet_list_common_relation_fields_summary\",\"description\":\"bundle_backend_power_tools_aet_list_common_relation_fields_description\",\"operationId\":\"bundle_backend_power_tools_aet_list_common_relation_fields\",\"parameters\":[{\"name\":\"classId\",\"in\":\"query\",\"description\":\"Class ID to retrieve common relation fields for\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"Car\"}},{\"name\":\"relationField\",\"in\":\"query\",\"description\":\"Relation field name to find common fields across related classes\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"manufacturer\"}}],\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_aet_list_common_relation_fields_success_description\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"items\"],\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsAETClassDefinitionField\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/backend-power-tools/aet/class-definition/fields\":{\"get\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_aet_list_class_definition_fields_summary\",\"description\":\"bundle_backend_power_tools_aet_list_class_definition_fields_description\",\"operationId\":\"bundle_backend_power_tools_aet_list_class_definition_fields\",\"parameters\":[{\"name\":\"classId\",\"in\":\"query\",\"description\":\"Class ID to retrieve fields for\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"Car\"}},{\"name\":\"onlySimpleValueFields\",\"in\":\"query\",\"description\":\"Only return simple value fields\",\"required\":false,\"schema\":{\"type\":\"boolean\",\"example\":false}}],\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_aet_list_class_definition_fields_success_description\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"items\"],\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsAETClassDefinitionField\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/backend-power-tools/aet/configuration/{configurationId}/clone\":{\"post\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_aet_clone_configuration_summary\",\"description\":\"bundle_backend_power_tools_aet_clone_configuration_description\",\"operationId\":\"bundle_backend_power_tools_aet_clone_configuration\",\"parameters\":[{\"name\":\"configurationId\",\"in\":\"path\",\"description\":\"Alternative Element Tree Configuration ID\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"019a962e_40b9_7889_ba79_88f5871047a3\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"configurationName\"],\"properties\":{\"configurationName\":{\"description\":\"Name for the cloned configuration\",\"type\":\"string\",\"example\":\"My Cloned Tree\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_aet_clone_configuration_success_description\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/backend-power-tools/aet/configuration\":{\"post\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_aet_create_configuration_summary\",\"description\":\"bundle_backend_power_tools_aet_create_configuration_description\",\"operationId\":\"bundle_backend_power_tools_aet_create_configuration\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"configurationName\"],\"properties\":{\"configurationName\":{\"description\":\"Name of the new configuration\",\"type\":\"string\",\"example\":\"My Custom Tree\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_aet_create_configuration_success_description\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsAETConfigurationId\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/backend-power-tools/aet/configuration/default-perspective\":{\"get\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_aet_default_perspective_configurations_summary\",\"description\":\"bundle_backend_power_tools_aet_default_perspective_configurations_description\",\"operationId\":\"bundle_backend_power_tools_aet_default_perspective_configurations\",\"parameters\":[{\"name\":\"openAlternativeElementTrees\",\"in\":\"query\",\"description\":\"Comma-separated list of open alternative element tree IDs\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"019a962e_40b9_7889_ba79_88f5871047a3\"}}],\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_aet_default_perspective_configurations_success_description\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsAETDefaultPerspectiveConfigurationItem\"}}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/backend-power-tools/aet/configuration/{configurationId}\":{\"get\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_aet_get_configuration_summary\",\"description\":\"bundle_backend_power_tools_aet_get_configuration_description\",\"operationId\":\"bundle_backend_power_tools_aet_get_configuration\",\"parameters\":[{\"name\":\"configurationId\",\"in\":\"path\",\"description\":\"Alternative Element Tree Configuration ID\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"019a962e_40b9_7889_ba79_88f5871047a3\"}}],\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_aet_get_configuration_success_description\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsAETConfigurationData\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"put\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_aet_update_configuration_summary\",\"description\":\"bundle_backend_power_tools_aet_update_configuration_description\",\"operationId\":\"bundle_backend_power_tools_aet_update_configuration\",\"parameters\":[{\"name\":\"configurationId\",\"in\":\"path\",\"description\":\"Alternative Element Tree Configuration ID\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"019a962e_40b9_7889_ba79_88f5871047a3\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"configurationName\",\"data\"],\"properties\":{\"configurationName\":{\"description\":\"Name of the configuration\",\"type\":\"string\",\"example\":\"My Custom Tree\"},\"data\":{\"description\":\"JSON encoded configuration data\",\"type\":\"string\",\"example\":\"{\\\"general\\\":{},\\\"dataSource\\\":{},\\\"treeLevels\\\":[]}\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_aet_update_configuration_success_description\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsAETConfigurationModificationDate\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_aet_delete_configuration_summary\",\"description\":\"bundle_backend_power_tools_aet_delete_configuration_description\",\"operationId\":\"bundle_backend_power_tools_aet_delete_configuration\",\"parameters\":[{\"name\":\"configurationId\",\"in\":\"path\",\"description\":\"Alternative Element Tree Configuration ID\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"019a962e_40b9_7889_ba79_88f5871047a3\"}}],\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_aet_delete_configuration_success_description\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/backend-power-tools/aet/configuration/{configurationId}/export\":{\"get\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_aet_export_configuration_summary\",\"description\":\"bundle_backend_power_tools_aet_export_configuration_description\",\"operationId\":\"bundle_backend_power_tools_aet_export_configuration\",\"parameters\":[{\"name\":\"configurationId\",\"in\":\"path\",\"description\":\"Alternative Element Tree Configuration ID\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"019a962e_40b9_7889_ba79_88f5871047a3\"}}],\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_aet_export_configuration_success_description\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/backend-power-tools/aet/configuration/{configurationId}/details\":{\"get\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_aet_get_configuration_details_summary\",\"description\":\"bundle_backend_power_tools_aet_get_configuration_details_description\",\"operationId\":\"bundle_backend_power_tools_aet_get_configuration_details\",\"parameters\":[{\"name\":\"configurationId\",\"in\":\"path\",\"description\":\"Alternative Element Tree Configuration ID\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"019a962e_40b9_7889_ba79_88f5871047a3\"}}],\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_aet_get_configuration_details_success_description\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsAETConfigurationDetails\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/backend-power-tools/aet/configuration/import\":{\"post\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_aet_import_configuration_summary\",\"description\":\"bundle_backend_power_tools_aet_import_configuration_description\",\"operationId\":\"bundle_backend_power_tools_aet_import_configuration\",\"requestBody\":{\"required\":true,\"content\":{\"multipart/form-data\":{\"schema\":{\"required\":[\"file\"],\"properties\":{\"file\":{\"description\":\"JSON file with alternative element tree configuration\",\"type\":\"string\",\"format\":\"binary\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_aet_import_configuration_success_description\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsAETConfigurationId\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/backend-power-tools/aet/configuration/list\":{\"get\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_aet_list_configuration_admin_summary\",\"description\":\"bundle_backend_power_tools_aet_list_configuration_admin_description\",\"operationId\":\"bundle_backend_power_tools_aet_list_configuration_admin\",\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_aet_list_configuration_admin_success_description\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsAETConfigurationListItem\"}}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/backend-power-tools/aet/grid/batch-edit-ids\":{\"post\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_aet_grid_batch_edit_ids_summary\",\"description\":\"bundle_backend_power_tools_aet_grid_batch_edit_ids_description\",\"operationId\":\"bundle_backend_power_tools_aet_grid_batch_edit_ids\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"configurationId\",\"language\"],\"properties\":{\"configurationId\":{\"description\":\"Alternative Element Tree Configuration ID\",\"type\":\"string\",\"example\":\"1ee8ea3a_843a_6a10_b965_c5dc3c5dac9b\"},\"language\":{\"description\":\"Language for the listing\",\"type\":\"string\",\"example\":\"en\"},\"filter\":{\"description\":\"Filter expression\",\"type\":[\"string\",\"null\"],\"example\":null},\"path\":{\"description\":\"Base path for the listing\",\"type\":[\"string\",\"null\"],\"example\":\"/\"},\"fields\":{\"description\":\"Fields to include in the response\",\"type\":[\"array\",\"null\"],\"items\":{\"type\":\"string\"}},\"selectedItems\":{\"description\":\"Pre-selected item IDs\",\"type\":[\"array\",\"null\"],\"items\":{\"type\":\"integer\"}},\"query\":{\"description\":\"Search query string\",\"type\":[\"string\",\"null\"],\"example\":null},\"start\":{\"description\":\"Offset to start from\",\"type\":\"integer\",\"example\":0},\"limit\":{\"description\":\"Maximum number of results\",\"type\":\"integer\",\"example\":50},\"sort\":{\"description\":\"JSON-encoded sort configuration\",\"type\":[\"string\",\"null\"],\"example\":\"[{\\\"property\\\":\\\"id\\\",\\\"direction\\\":\\\"ASC\\\"}]\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_aet_grid_batch_edit_ids_success_description\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsAETGridBatchEditIds\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/backend-power-tools/aet/grid/export-jobs\":{\"post\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_aet_grid_export_jobs_summary\",\"description\":\"bundle_backend_power_tools_aet_grid_export_jobs_description\",\"operationId\":\"bundle_backend_power_tools_aet_grid_export_jobs\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"configurationId\",\"language\"],\"properties\":{\"configurationId\":{\"description\":\"Alternative Element Tree Configuration ID\",\"type\":\"string\",\"example\":\"1ee8ea3a_843a_6a10_b965_c5dc3c5dac9b\"},\"language\":{\"description\":\"Language for the listing\",\"type\":\"string\",\"example\":\"en\"},\"filter\":{\"description\":\"Filter expression\",\"type\":[\"string\",\"null\"],\"example\":null},\"path\":{\"description\":\"Base path for the listing\",\"type\":[\"string\",\"null\"],\"example\":\"/\"},\"fields\":{\"description\":\"Fields to include in the response\",\"type\":[\"array\",\"null\"],\"items\":{\"type\":\"string\"}},\"selectedItems\":{\"description\":\"Pre-selected item IDs\",\"type\":[\"array\",\"null\"],\"items\":{\"type\":\"integer\"}},\"query\":{\"description\":\"Search query string\",\"type\":[\"string\",\"null\"],\"example\":null},\"start\":{\"description\":\"Offset to start from\",\"type\":\"integer\",\"example\":0},\"limit\":{\"description\":\"Maximum number of results\",\"type\":\"integer\",\"example\":50},\"sort\":{\"description\":\"JSON-encoded sort configuration\",\"type\":[\"string\",\"null\"],\"example\":\"[{\\\"property\\\":\\\"id\\\",\\\"direction\\\":\\\"ASC\\\"}]\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_aet_grid_export_jobs_success_description\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsAETGridExportJobs\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/backend-power-tools/aet/grid/listing\":{\"post\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_aet_grid_listing_summary\",\"description\":\"bundle_backend_power_tools_aet_grid_listing_description\",\"operationId\":\"bundle_backend_power_tools_aet_grid_listing\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"configurationId\",\"language\"],\"properties\":{\"configurationId\":{\"description\":\"Alternative Element Tree Configuration ID\",\"type\":\"string\",\"example\":\"1ee8ea3a_843a_6a10_b965_c5dc3c5dac9b\"},\"language\":{\"description\":\"Language for the listing\",\"type\":\"string\",\"example\":\"en\"},\"filter\":{\"description\":\"Filter expression\",\"type\":[\"string\",\"null\"],\"example\":null},\"path\":{\"description\":\"Base path for the listing\",\"type\":[\"string\",\"null\"],\"example\":\"/\"},\"fields\":{\"description\":\"Fields to include in the response\",\"type\":[\"array\",\"null\"],\"items\":{\"type\":\"string\"}},\"selectedItems\":{\"description\":\"Pre-selected item IDs\",\"type\":[\"array\",\"null\"],\"items\":{\"type\":\"integer\"}},\"query\":{\"description\":\"Search query string\",\"type\":[\"string\",\"null\"],\"example\":null},\"start\":{\"description\":\"Offset to start from\",\"type\":\"integer\",\"example\":0},\"limit\":{\"description\":\"Maximum number of results\",\"type\":\"integer\",\"example\":50},\"sort\":{\"description\":\"JSON-encoded sort configuration\",\"type\":[\"string\",\"null\"],\"example\":\"[{\\\"property\\\":\\\"id\\\",\\\"direction\\\":\\\"ASC\\\"}]\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_aet_grid_listing_success_description\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsAETGridListing\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/backend-power-tools/aet/configurations\":{\"get\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_aet_list_configurations_summary\",\"description\":\"bundle_backend_power_tools_aet_list_configurations_description\",\"operationId\":\"bundle_backend_power_tools_aet_list_configurations\",\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_aet_list_configurations_success_description\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"items\"],\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsAETTreeConfigurationItem\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/backend-power-tools/aet/data-object-classes\":{\"get\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_aet_list_data_object_classes_summary\",\"description\":\"bundle_backend_power_tools_aet_list_data_object_classes_description\",\"operationId\":\"bundle_backend_power_tools_aet_list_data_object_classes\",\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_aet_list_data_object_classes_success_description\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"items\"],\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsAETDataObjectClassItem\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/backend-power-tools/aet/precondition-filters\":{\"get\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_aet_list_precondition_filters_summary\",\"description\":\"bundle_backend_power_tools_aet_list_precondition_filters_description\",\"operationId\":\"bundle_backend_power_tools_aet_list_precondition_filters\",\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_aet_list_precondition_filters_success_description\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"items\"],\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsAETPreconditionFilterItem\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/backend-power-tools/aet/valid-languages\":{\"get\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_aet_list_valid_languages_summary\",\"description\":\"bundle_backend_power_tools_aet_list_valid_languages_description\",\"operationId\":\"bundle_backend_power_tools_aet_list_valid_languages\",\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_aet_list_valid_languages_success_description\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"items\"],\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsAETValidLanguageItem\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/backend-power-tools/aet/object-brick/fields\":{\"get\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_aet_list_object_brick_fields_summary\",\"description\":\"bundle_backend_power_tools_aet_list_object_brick_fields_description\",\"operationId\":\"bundle_backend_power_tools_aet_list_object_brick_fields\",\"parameters\":[{\"name\":\"objectBrick\",\"in\":\"query\",\"description\":\"Object brick key to retrieve fields for\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"MyObjectBrick\"}}],\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_aet_list_object_brick_fields_success_description\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"items\"],\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsAETClassDefinitionField\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/backend-power-tools/aet/tree/{configurationId}/update/{objectId}\":{\"patch\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_aet_patch_data_object_summary\",\"description\":\"bundle_backend_power_tools_aet_patch_data_object_description\",\"operationId\":\"bundle_backend_power_tools_aet_patch_data_object\",\"parameters\":[{\"name\":\"configurationId\",\"in\":\"path\",\"description\":\"Alternative Element Tree Configuration ID\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"1ee8ea3a_843a_6a10_b965_c5dc3c5dac9b\"}},{\"name\":\"objectId\",\"in\":\"path\",\"description\":\"ObjectId of the data-object\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"data\"],\"properties\":{\"data\":{\"type\":\"object\",\"example\":[\"Super car\",\"red\"]}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_aet_patch_data_object_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/backend-power-tools/aet/tree/{configurationId}/calculation-status\":{\"get\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_aet_get_tree_calculation_status_summary\",\"description\":\"bundle_backend_power_tools_aet_get_tree_calculation_status_description\",\"operationId\":\"bundle_backend_power_tools_aet_get_tree_calculation_status\",\"parameters\":[{\"name\":\"configurationId\",\"in\":\"path\",\"description\":\"Alternative Element Tree Configuration ID\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"1ee8ea3a_843a_6a10_b965_c5dc3c5dac9b\"}}],\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_aet_get_tree_calculation_status_response_description\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"inProgress\"],\"properties\":{\"inProgress\":{\"title\":\"inProgress\",\"description\":\"True if a tree calculation is currently in progress\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/backend-power-tools/aet/tree\":{\"get\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_aet_get_tree_summary\",\"description\":\"bundle_backend_power_tools_aet_get_tree_description\",\"operationId\":\"bundle_backend_power_tools_aet_get_tree\",\"parameters\":[{\"name\":\"configurationId\",\"in\":\"query\",\"description\":\"Alternative Element Tree Configuration ID\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"1ee8ea3a_843a_6a10_b965_c5dc3c5dac9b\"}},{\"name\":\"path\",\"in\":\"query\",\"description\":\"Path of the current level\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"/\"}},{\"name\":\"page\",\"in\":\"query\",\"description\":\"Page number\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":1}},{\"name\":\"start\",\"in\":\"query\",\"description\":\"From which result to start\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":0}},{\"name\":\"limit\",\"in\":\"query\",\"description\":\"How many results to return\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":30}},{\"name\":\"level\",\"in\":\"query\",\"description\":\"Current tree level.\",\"required\":false,\"schema\":{\"type\":\"integer\",\"example\":0}},{\"name\":\"filter\",\"in\":\"query\",\"description\":\"When provided, the items are filtered by value.\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"some-search-term\"}}],\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_aet_get_tree_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsAETDataObject\"},{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsAETVirtualFolder\"}]}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/backend-power-tools/bl/add\":{\"post\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_bl_add_summary\",\"description\":\"bundle_backend_power_tools_bl_add_description\",\"operationId\":\"bundle_backend_power_tools_bl_add\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"name\"],\"properties\":{\"name\":{\"type\":\"string\",\"example\":\"My bookmark list\"},\"sortBy\":{\"type\":[\"string\",\"null\"],\"example\":\"name\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_bl_add_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsBookmarkList\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/backend-power-tools/bl/\":{\"post\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_bl_get_collection_summary\",\"description\":\"bundle_backend_power_tools_bl_get_collection_description\",\"operationId\":\"bundle_backend_power_tools_bl_get_collection\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"filters\":{\"properties\":{\"page\":{\"type\":\"integer\",\"example\":1},\"pageSize\":{\"type\":\"integer\",\"example\":50},\"columnFilters\":{\"type\":\"object\",\"example\":\"[{\\\"type\\\":\\\"search\\\", \\\"filterValue\\\": \\\"search term\\\"},{\\\"type\\\":\\\"showAll\\\", \\\"filterValue\\\": true}]\"},\"sortFilter\":{\"type\":\"object\",\"example\":\"{\\\"key\\\":\\\"id\\\",\\\"direction\\\":\\\"ASC\\\"}\"}},\"type\":\"object\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_bl_get_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsBookmarkList\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/backend-power-tools/bl/{id}\":{\"get\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_bl_get_by_id_summary\",\"description\":\"bundle_backend_power_tools_bl_get_by_id_description\",\"operationId\":\"bundle_backend_power_tools_bl_get_by_id\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the Bookmark List\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_bl_get_by_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsBookmarkList\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_bl_delete_summary\",\"description\":\"bundle_backend_power_tools_bl_delete_description\",\"operationId\":\"bundle_backend_power_tools_bl_delete\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the Bookmark List\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_bl_delete_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/backend-power-tools/bl/{id}/share/recipients\":{\"get\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_bl_get_share_collection_summary\",\"description\":\"bundle_backend_power_tools_bl_get_share_collection_description\",\"operationId\":\"bundle_backend_power_tools_bl_get_share_collection\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the Bookmark List\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_bl_get_share_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsShareRecipient\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"patch\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_bl_patch_share_list_summary\",\"description\":\"bundle_backend_power_tools_bl_patch_share_list_description\",\"operationId\":\"bundle_backend_power_tools_bl_patch_share_list\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the Bookmark List\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"shares\",\"deletedShares\"],\"properties\":{\"shares\":{\"type\":\"array\",\"items\":{\"required\":[\"userId\",\"permission\"],\"properties\":{\"userId\":{\"description\":\"User ID\",\"type\":\"integer\",\"example\":1},\"permission\":{\"description\":\"User permission for share\",\"type\":\"string\",\"example\":\"edit\"}},\"type\":\"object\"}},\"deletedShares\":{\"description\":\"Array of user IDs whose shares are to be removed from the bookmark list.\",\"type\":\"object\",\"example\":[5,7]}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_bl_patch_share_list_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsShareRecipient\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/backend-power-tools/bl/{id}/share/users\":{\"get\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_bl_get_user_collection_summary\",\"description\":\"bundle_backend_power_tools_bl_get_user_collection_description\",\"operationId\":\"bundle_backend_power_tools_bl_get_user_collection\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the Bookmark List\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"searchTerm\",\"in\":\"query\",\"description\":\"Filter results by name\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"admin\"}}],\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_bl_get_user_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsShareUser\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/backend-power-tools/bl/{id}/tree/folder\":{\"put\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_bl_tree_rename_folder_summary\",\"description\":\"bundle_backend_power_tools_bl_tree_rename_folder_description\",\"operationId\":\"bundle_backend_power_tools_bl_tree_rename_folder\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the Bookmark List\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"folderName\",\"folderId\"],\"properties\":{\"folderName\":{\"type\":\"string\",\"example\":\"Bookmark Folder\"},\"folderId\":{\"type\":\"integer\",\"example\":83}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_bl_tree_rename_folder_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>409 - Conflict<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"post\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_bl_tree_add_folder_summary\",\"description\":\"bundle_backend_power_tools_bl_tree_add_folder_description\",\"operationId\":\"bundle_backend_power_tools_bl_tree_add_folder\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the Bookmark List\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"folderName\",\"parentId\"],\"properties\":{\"folderName\":{\"type\":\"string\",\"example\":\"Bookmark Folder\"},\"parentId\":{\"type\":\"integer\",\"example\":1}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_bl_tree_add_folder_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>405 - Method Not Allowed<br>409 - Conflict<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/backend-power-tools/bl/{id}/tree/items\":{\"post\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_bl_tree_add_update_items_summary\",\"description\":\"bundle_backend_power_tools_bl_tree_add_update_items_description\",\"operationId\":\"bundle_backend_power_tools_bl_tree_add_update_items\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the Bookmark List\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"selectedNodes\",\"elementSortOrder\"],\"properties\":{\"selectedNodes\":{\"description\":\"Selected nodes to add\",\"type\":\"array\",\"items\":{\"required\":[\"elementId\",\"elementType\"],\"properties\":{\"elementId\":{\"description\":\"Element ID\",\"type\":\"integer\",\"example\":123},\"elementType\":{\"description\":\"Element type\",\"type\":\"string\",\"example\":\"object\"},\"bookmarkListItemId\":{\"description\":\"Bookmark list item ID\",\"type\":[\"integer\",\"null\"],\"example\":1},\"parentFolderId\":{\"description\":\"Parent folder ID\",\"type\":[\"integer\",\"null\"],\"example\":5},\"copy\":{\"description\":\"Whether to copy the item\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"}},\"elementSortOrder\":{\"description\":\"Sort order based on IDs which should be applied for tree manual sorting\",\"type\":[\"string\",\"null\"],\"example\":\"1,2,newElement,3\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_bl_tree_add_update_items_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_bl_tree_remove_items_summary\",\"description\":\"bundle_backend_power_tools_bl_tree_remove_items_description\",\"operationId\":\"bundle_backend_power_tools_bl_tree_remove_items\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the Bookmark List\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"nodesToRemove\"],\"properties\":{\"nodesToRemove\":{\"description\":\"Selected nodes to remove from bookmark list\",\"type\":\"array\",\"items\":{\"required\":[\"elementId\",\"elementType\",\"id\"],\"properties\":{\"elementId\":{\"description\":\"Element ID\",\"type\":\"integer\",\"example\":123},\"elementType\":{\"description\":\"Element type\",\"type\":\"string\",\"example\":\"object\"},\"id\":{\"description\":\"Bookmark list item ID\",\"type\":\"integer\",\"example\":1}},\"type\":\"object\"}}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_bl_tree_remove_items_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/backend-power-tools/bl/{id}/tree\":{\"get\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_bl_get_tree_summary\",\"description\":\"bundle_backend_power_tools_bl_get_tree_description\",\"operationId\":\"bundle_backend_power_tools_bl_get_tree\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the Bookmark List\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}},{\"name\":\"page\",\"in\":\"query\",\"description\":\"Page number\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":1}},{\"name\":\"pageSize\",\"in\":\"query\",\"description\":\"Number of items per page\",\"required\":true,\"schema\":{\"type\":\"integer\",\"minimum\":1,\"example\":30}},{\"name\":\"parentId\",\"in\":\"query\",\"description\":\"ID of the parent\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":0}},{\"name\":\"elementType\",\"in\":\"query\",\"description\":\"Necessary to get data from default element trees by type.\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"asset\"}},{\"name\":\"searchTerm\",\"in\":\"query\",\"description\":\"Search term to filter elements.\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"search text\"}}],\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_bl_get_tree_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsBLTreeAsset\"},{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsBLTreeDataObject\"},{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsBLTreeDocument\"},{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsBLTreeFolder\"},{\"$ref\":\"#/components/schemas/Document\"},{\"$ref\":\"#/components/schemas/Image\"},{\"$ref\":\"#/components/schemas/AssetDocument\"},{\"$ref\":\"#/components/schemas/Audio\"},{\"$ref\":\"#/components/schemas/Video\"},{\"$ref\":\"#/components/schemas/Archive\"},{\"$ref\":\"#/components/schemas/Text\"},{\"$ref\":\"#/components/schemas/AssetFolder\"},{\"$ref\":\"#/components/schemas/Unknown\"},{\"$ref\":\"#/components/schemas/DataObject\"},{\"$ref\":\"#/components/schemas/DataObjectFolder\"}]}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/backend-power-tools/bl/update/{id}\":{\"put\":{\"tags\":[\"Bundle Backend Power Tools\"],\"summary\":\"bundle_backend_power_tools_bl_update_summary\",\"description\":\"bundle_backend_power_tools_bl_update_description\",\"operationId\":\"bundle_backend_power_tools_bl_update\",\"parameters\":[{\"name\":\"id\",\"in\":\"path\",\"description\":\"Id of the Bookmark List\",\"required\":true,\"schema\":{\"type\":\"integer\",\"example\":83}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"name\"],\"properties\":{\"name\":{\"type\":\"string\",\"example\":\"My bookmark list\"},\"sortBy\":{\"type\":[\"string\",\"null\"],\"example\":\"name\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"bundle_backend_power_tools_bl_update_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsBookmarkList\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/studio-dashboards/dashboard\":{\"post\":{\"tags\":[\"Bundle Studio Dashboards\"],\"summary\":\"dashboards_create_dashboard_config_summary\",\"description\":\"dashboards_create_dashboard_config_description\",\"operationId\":\"dashboards_create_dashboard_config\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"data\"],\"properties\":{\"data\":{\"required\":[\"name\",\"menuShortcutGroup\",\"shareGlobally\",\"rows\"],\"properties\":{\"name\":{\"type\":[\"string\",\"null\"]},\"menuShortcutGroup\":{\"type\":[\"string\",\"null\"]},\"shareGlobally\":{\"type\":[\"boolean\",\"null\"]},\"rows\":{\"title\":\"Rows\",\"description\":\"Define the rows of the dashboard.\",\"type\":\"array\",\"items\":{\"required\":[\"layout_id\",\"widgets\"],\"properties\":{\"layout_id\":{\"type\":[\"string\",\"null\"]},\"widgets\":{\"title\":\"Widgets\",\"description\":\"Define the widgets of the row.\",\"type\":\"array\",\"items\":{\"required\":[\"id\",\"type\",\"position\"],\"properties\":{\"id\":{\"type\":[\"string\",\"null\"]},\"type\":{\"type\":[\"string\",\"null\"]},\"position\":{\"type\":[\"integer\",\"null\"],\"minimum\":1}},\"type\":\"object\"}}},\"type\":\"object\"}}},\"type\":\"object\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"dashboards_create_dashboard_config_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"id\"],\"properties\":{\"id\":{\"title\":\"id\",\"description\":\"Id of the created dashboard configuration\",\"type\":\"string\",\"example\":\"12345678-1234-1234-1234-123456789012\"}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/studio-dashboards/dashboard/{dashboardId}\":{\"get\":{\"tags\":[\"Bundle Studio Dashboards\"],\"summary\":\"dashboards_get_dashboard_by_id_summary\",\"description\":\"dashboards_get_dashboard_by_id_description\",\"operationId\":\"dashboards_get_dashboard_by_id\",\"parameters\":[{\"name\":\"dashboardId\",\"in\":\"path\",\"description\":\"Dashboard ID\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"studio_default_dashboard\"}}],\"responses\":{\"200\":{\"description\":\"dashboards_get_dashboard_by_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DashboardConfiguration\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"put\":{\"tags\":[\"Bundle Studio Dashboards\"],\"summary\":\"dashboards_update_dashboard_config_by_id_summary\",\"description\":\"dashboards_update_dashboard_config_by_id_description\",\"operationId\":\"dashboards_update_dashboard_config_by_id\",\"parameters\":[{\"name\":\"dashboardId\",\"in\":\"path\",\"description\":\"Update dashboard by matching dashboard Id\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"d061699e_da42_4075_b504_c2c93c687819\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"data\"],\"properties\":{\"data\":{\"required\":[\"name\",\"menuShortcutGroup\",\"shareGlobally\",\"rows\"],\"properties\":{\"name\":{\"type\":[\"string\",\"null\"]},\"menuShortcutGroup\":{\"type\":[\"string\",\"null\"]},\"shareGlobally\":{\"type\":[\"boolean\",\"null\"]},\"rows\":{\"title\":\"Rows\",\"description\":\"Define the rows of the dashboard.\",\"type\":\"array\",\"items\":{\"required\":[\"layout_id\",\"widgets\"],\"properties\":{\"layout_id\":{\"type\":[\"string\",\"null\"]},\"widgets\":{\"title\":\"Widgets\",\"description\":\"Define the widgets of the row.\",\"type\":\"array\",\"items\":{\"required\":[\"id\",\"type\",\"position\"],\"properties\":{\"id\":{\"type\":[\"string\",\"null\"]},\"type\":{\"type\":[\"string\",\"null\"]},\"position\":{\"type\":[\"integer\",\"null\"],\"minimum\":1}},\"type\":\"object\"}}},\"type\":\"object\"}}},\"type\":\"object\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"dashboards_update_dashboard_config_by_id_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Bundle Studio Dashboards\"],\"summary\":\"dashboards_delete_dashboard_by_id_summary\",\"description\":\"dashboards_delete_dashboard_by_id_description\",\"operationId\":\"dashboards_delete_dashboard_by_id\",\"parameters\":[{\"name\":\"dashboardId\",\"in\":\"path\",\"description\":\"Delete dashboard by matching dashboard Id\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"d061699e_da42_4075_b504_c2c93c687819\"}}],\"responses\":{\"200\":{\"description\":\"dashboards_delete_dashboard_by_id_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/studio-dashboards/dashboard/{dashboardId}/export\":{\"get\":{\"tags\":[\"Bundle Studio Dashboards\"],\"summary\":\"dashboards_export_dashboard_by_id_summary\",\"description\":\"dashboards_export_dashboard_by_id_description\",\"operationId\":\"dashboards_export_dashboard_by_id\",\"parameters\":[{\"name\":\"dashboardId\",\"in\":\"path\",\"description\":\"Dashboard ID\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"studio_default_dashboard\"}}],\"responses\":{\"200\":{\"description\":\"dashboards_export_dashboard_by_id_success_response\",\"headers\":{\"Content-Disposition\":{\"description\":\"Content-Disposition header\",\"schema\":{\"type\":\"string\",\"example\":\"attachment; filename=\\\"example.jpg\\\"\"}}},\"content\":{\"application/zip\":{\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/studio-dashboards/dashboard/import/{dashboardId}\":{\"post\":{\"tags\":[\"Bundle Studio Dashboards\"],\"summary\":\"dashboards_import_dashboard_summary\",\"description\":\"dashboards_import_dashboard_description\",\"operationId\":\"dashboards_import_dashboard\",\"parameters\":[{\"name\":\"dashboardId\",\"in\":\"path\",\"description\":\"Dashboard ID\",\"required\":false,\"schema\":{\"type\":\"string\",\"example\":\"studio_default_dashboard\"}}],\"requestBody\":{\"required\":true,\"content\":{\"multipart/form-data\":{\"schema\":{\"required\":[\"file\"],\"properties\":{\"file\":{\"description\":\"CSV import file to upload\",\"type\":\"string\",\"format\":\"binary\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"dashboards_import_dashboard_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/studio-dashboards/dashboards\":{\"get\":{\"tags\":[\"Bundle Studio Dashboards\"],\"summary\":\"dashboards_list_dashboards_summary\",\"description\":\"dashboards_list_dashboards_description\",\"operationId\":\"dashboards_list_dashboards\",\"responses\":{\"200\":{\"description\":\"dashboards_list_dashboards_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/SimpleDashboard\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/studio-dashboards/dashboard/{dashboardId}/update-menu-shortcut\":{\"put\":{\"tags\":[\"Bundle Studio Dashboards\"],\"summary\":\"dashboards_dashboard_update_menu_shortcut_summary\",\"description\":\"dashboards_dashboard_update_menu_shortcut_description\",\"operationId\":\"dashboards_dashboard_update_menu_shortcut\",\"parameters\":[{\"name\":\"dashboardId\",\"in\":\"path\",\"description\":\"Dashboard ID\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"studio_default_dashboard\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"shortcut\"],\"properties\":{\"shortcut\":{\"type\":[\"string\",\"null\"]}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"dashboards_dashboard_update_menu_shortcut_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/studio-dashboards/layout-options\":{\"get\":{\"tags\":[\"Bundle Studio Dashboards\"],\"summary\":\"dashboards_get_layout_options_summary\",\"description\":\"dashboards_get_layout_options_description\",\"operationId\":\"dashboards_get_layout_options\",\"responses\":{\"200\":{\"description\":\"dashboards_get_layout_options_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/LayoutOption\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/studio-dashboards/widgets/{widgetType}/configuration\":{\"post\":{\"tags\":[\"Bundle Studio Dashboards\"],\"summary\":\"dashboards_widget_create_summary\",\"description\":\"dashboards_widget_create_description\",\"operationId\":\"dashboards_widget_create\",\"parameters\":[{\"name\":\"widgetType\",\"in\":\"path\",\"description\":\"Create widget by matching widget type\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"wysiwyg\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"data\"],\"properties\":{\"data\":{\"properties\":{\"name\":{\"type\":[\"string\",\"null\"]},\"color\":{\"type\":[\"string\",\"null\"]},\"visualization\":{\"type\":[\"string\",\"null\"]}},\"type\":\"object\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"dashboards_widget_create_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"id\"],\"properties\":{\"id\":{\"title\":\"id\",\"description\":\"Id of the created widget configuration\",\"type\":\"integer\",\"example\":66}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/studio-dashboards/widgets/configurations\":{\"get\":{\"tags\":[\"Bundle Studio Dashboards\"],\"summary\":\"dashboards_widget_get_config_collection_summary\",\"description\":\"dashboards_widget_get_config_collection_description\",\"operationId\":\"dashboards_widget_get_config_collection\",\"responses\":{\"200\":{\"description\":\"dashboards_widget_get_config_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"totalItems\",\"items\"],\"properties\":{\"totalItems\":{\"title\":\"totalItems\",\"type\":\"integer\",\"example\":666},\"items\":{\"title\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/DashboardsWidgetConfig\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/studio-dashboards/widgets/{widgetType}/data/{widgetId}\":{\"get\":{\"tags\":[\"Bundle Studio Dashboards\"],\"summary\":\"dashboards_widget_get_data_by_id_summary\",\"description\":\"dashboards_widget_get_data_by_id_description\",\"operationId\":\"dashboards_widget_get_data_by_id\",\"parameters\":[{\"name\":\"widgetId\",\"in\":\"path\",\"description\":\"Filter widgets by matching widget Id\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"d061699e_da42_4075_b504_c2c93c687819\"}},{\"name\":\"widgetType\",\"in\":\"path\",\"description\":\"Filter widgets by matching widget type\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"wysiwyg\"}}],\"responses\":{\"200\":{\"description\":\"dashboards_widget_get_data_by_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"data\"],\"properties\":{\"data\":{\"title\":\"data\",\"description\":\"Widget data\",\"type\":\"string\",\"example\":\"Some data defined by the widget resolver\"}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/studio-dashboards/widgets/{widgetType}/configuration/{widgetId}\":{\"get\":{\"tags\":[\"Bundle Studio Dashboards\"],\"summary\":\"dashboards_widget_get_config_by_id_summary\",\"description\":\"dashboards_widget_get_config_by_id_description\",\"operationId\":\"dashboards_widget_get_config_by_id\",\"parameters\":[{\"name\":\"widgetId\",\"in\":\"path\",\"description\":\"Filter widgets by matching widget Id\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"d061699e_da42_4075_b504_c2c93c687819\"}},{\"name\":\"widgetType\",\"in\":\"path\",\"description\":\"Filter widgets by matching widget type\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"wysiwyg\"}}],\"responses\":{\"200\":{\"description\":\"dashboards_widget_get_config_by_id_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"data\"],\"properties\":{\"data\":{\"title\":\"data\",\"description\":\"Data of the widget configuration\",\"type\":\"string\",\"example\":\"Widget configuration data\"}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>403 - Forbidden<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"put\":{\"tags\":[\"Bundle Studio Dashboards\"],\"summary\":\"dashboards_widget_update_config_by_id_summary\",\"description\":\"dashboards_widget_update_config_by_id_description\",\"operationId\":\"dashboards_widget_update_config_by_id\",\"parameters\":[{\"name\":\"widgetId\",\"in\":\"path\",\"description\":\"Update widget by matching widget Id\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"d061699e_da42_4075_b504_c2c93c687819\"}},{\"name\":\"widgetType\",\"in\":\"path\",\"description\":\"Update widget by matching widget type\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"wysiwyg\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"required\":[\"data\"],\"properties\":{\"data\":{\"properties\":{\"name\":{\"type\":[\"string\",\"null\"]},\"color\":{\"type\":[\"string\",\"null\"]},\"visualization\":{\"type\":[\"string\",\"null\"]}},\"type\":\"object\"}},\"type\":\"object\"}}}},\"responses\":{\"200\":{\"description\":\"dashboards_widget_update_config_by_id_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}},\"delete\":{\"tags\":[\"Bundle Studio Dashboards\"],\"summary\":\"dashboards_widget_delete_summary\",\"description\":\"dashboards_widget_delete_description\",\"operationId\":\"dashboards_widget_delete\",\"parameters\":[{\"name\":\"widgetId\",\"in\":\"path\",\"description\":\"Delete widget by matching widget Id\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"d061699e_da42_4075_b504_c2c93c687819\"}},{\"name\":\"widgetType\",\"in\":\"path\",\"description\":\"Delete widget by matching widget type\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"wysiwyg\"}}],\"responses\":{\"200\":{\"description\":\"dashboards_widget_delete_success_response\"},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>404 - Not Found<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content<br>500 - Internal Server Error\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/studio-dashboards/widgets/{widgetType}/configurations\":{\"get\":{\"tags\":[\"Bundle Studio Dashboards\"],\"summary\":\"dashboards_widget_get_configuration_options_summary\",\"description\":\"dashboards_widget_get_configuration_options_description\",\"operationId\":\"dashboards_widget_get_configuration_options\",\"parameters\":[{\"name\":\"widgetType\",\"in\":\"path\",\"description\":\"Filter options by matching widget type\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"wysiwyg\"}}],\"responses\":{\"200\":{\"description\":\"dashboards_widget_get_configuration_options_success_response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DashboardsWidgetConfigConfiguration\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/studio-dashboards/widgets/types\":{\"get\":{\"tags\":[\"Bundle Studio Dashboards\"],\"summary\":\"dashboards_widget_get_type_collection_summary\",\"description\":\"dashboards_widget_get_type_collection_description\",\"operationId\":\"dashboards_widget_get_type_collection\",\"responses\":{\"200\":{\"description\":\"dashboards_widget_get_type_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"items\"],\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/WidgetType\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}},\"/pimcore-studio/api/bundle/studio-dashboards/widgets/{widgetType}/visualizations\":{\"get\":{\"tags\":[\"Bundle Studio Dashboards\"],\"summary\":\"dashboards_widget_get_visualization_collection_summary\",\"description\":\"dashboards_widget_get_visualization_collection_description\",\"operationId\":\"dashboards_widget_get_visualization_collection\",\"parameters\":[{\"name\":\"widgetType\",\"in\":\"path\",\"description\":\"Filter options by matching widget type\",\"required\":true,\"schema\":{\"type\":\"string\",\"example\":\"wysiwyg\"}}],\"responses\":{\"200\":{\"description\":\"dashboards_widget_get_visualization_collection_success_response\",\"content\":{\"application/json\":{\"schema\":{\"required\":[\"visualizations\"],\"properties\":{\"visualizations\":{\"title\":\"Visualizations\",\"description\":\"Dashboard widget visualization options.\",\"type\":\"array\",\"items\":{\"type\":\"string\",\"example\":\"table\"}}},\"type\":\"object\"}}}},\"default\":{\"description\":\"400 - Bad Request<br>401 - Unauthorized<br>405 - Method Not Allowed<br>415 - Unsupported Media Type<br>422 - Unprocessable Content\",\"content\":{\"application/json\":{\"schema\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Error\"},{\"$ref\":\"#/components/schemas/DevError\"}]}}}}}}}},\"components\":{\"schemas\":{\"AMDCDLayout\":{\"title\":\"AMDCD_Layout\",\"required\":[\"name\",\"dataType\",\"type\",\"region\",\"title\",\"width\",\"height\",\"collapsible\",\"collapsed\",\"bodyStyle\",\"children\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"name\":{\"description\":\"Name\",\"type\":[\"string\",\"null\"],\"example\":\"pimcore_root\"},\"dataType\":{\"description\":\"Data Type\",\"type\":\"string\",\"example\":\"layout\"},\"type\":{\"description\":\"Type\",\"type\":[\"string\",\"null\"],\"example\":null},\"region\":{\"description\":\"Region\",\"type\":[\"string\",\"null\"],\"example\":\"center\"},\"title\":{\"description\":\"Title\",\"type\":[\"string\",\"null\"],\"example\":\"MyLayout\"},\"width\":{\"description\":\"Width\",\"type\":\"integer\",\"example\":0},\"height\":{\"description\":\"Height\",\"type\":\"integer\",\"example\":0},\"collapsible\":{\"description\":\"Collapsible\",\"type\":\"boolean\",\"example\":false},\"collapsed\":{\"description\":\"Collapsed\",\"type\":\"boolean\",\"example\":false},\"bodyStyle\":{\"description\":\"Body Style\",\"type\":[\"string\",\"null\"],\"example\":\"(float: left;)\"},\"children\":{\"description\":\"Children\",\"type\":\"array\",\"items\":{\"type\":\"object\"},\"example\":\"[{id: 1}]\"}},\"type\":\"object\"},\"AMDCDListConfig\":{\"title\":\"AMDCD_ListConfig\",\"description\":\"List version of config\",\"required\":[\"name\",\"title\",\"prefix\",\"iconCls\",\"layoutDefinitions\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"Author\"},\"title\":{\"description\":\"title\",\"type\":\"string\",\"example\":\"Name of Author\"},\"prefix\":{\"description\":\"Prefix\",\"type\":\"string\",\"default\":\"\",\"example\":\"amcd\"},\"iconCls\":{\"description\":\"Icon Class\",\"type\":\"string\",\"default\":\"pimcore_icon_settings\",\"example\":\"pimcore_icon_settings\"},\"layoutDefinitions\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/AMDCDLayout\",\"description\":\"layoutDefinitions\"},{\"type\":\"null\"}],\"description\":\"layoutDefinitions\"}},\"type\":\"object\"},\"AMDCDSimpleConfig\":{\"title\":\"AMDCD_SimpleConfig\",\"description\":\"Simple version of config\",\"required\":[\"name\",\"type\",\"iconCls\",\"expandable\",\"leaf\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"Author\"},\"title\":{\"description\":\"title\",\"type\":\"string\",\"example\":\"Name of Author\"},\"type\":{\"description\":\"Type\",\"type\":\"string\",\"default\":\"config\",\"example\":\"config\"},\"iconCls\":{\"description\":\"Icon Class\",\"type\":\"string\",\"default\":\"pimcore_icon_settings\",\"example\":\"pimcore_icon_settings\"},\"expandable\":{\"description\":\"Is Expandable\",\"type\":\"boolean\",\"default\":false,\"example\":false},\"leaf\":{\"description\":\"Is Leaf\",\"type\":\"boolean\",\"default\":true,\"example\":true}},\"type\":\"object\"},\"ActiveBundle\":{\"title\":\"Active Bundle\",\"required\":[\"name\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"name\":{\"description\":\"Bundle name\",\"type\":\"string\",\"example\":\"PimcoreStudioBackendBundle\"}},\"type\":\"object\"},\"AddPerspectiveConfig\":{\"title\":\"Add Perspective Config\",\"required\":[\"name\"],\"properties\":{\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"Cars\"}},\"type\":\"object\"},\"AdminSettings\":{\"title\":\"Admin Settings\",\"required\":[\"branding\",\"assets\",\"writeable\"],\"properties\":{\"branding\":{\"$ref\":\"#/components/schemas/Branding\",\"description\":\"Branding configuration\"},\"assets\":{\"$ref\":\"#/components/schemas/Assets\",\"description\":\"Assets configuration\"},\"writeable\":{\"description\":\"Whether the settings are writeable\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"},\"AdminSettingsThumbnailPath\":{\"title\":\"Admin Settings Thumbnail Path\",\"required\":[\"customLogoSmall\",\"customLogo\",\"loginScreenCustomBackgroundImage\"],\"properties\":{\"customLogoSmall\":{\"description\":\"Path to custom logo thumbnail\",\"type\":[\"string\",\"null\"],\"example\":\"/Sample%20Content/Background%20Images/321/image_small.png\"},\"customLogo\":{\"description\":\"Path to custom logo thumbnail\",\"type\":[\"string\",\"null\"],\"example\":\"/Sample%20Content/Background%20Images/321/image-thumb.png\"},\"loginScreenCustomBackgroundImage\":{\"description\":\"Path to custom background image\",\"type\":[\"string\",\"null\"],\"example\":\"/Sample%20Content/Background%20Images/317/background.png\"}},\"type\":\"object\"},\"AdvancedColumnConfig\":{\"title\":\"Advanced Column Config\",\"required\":[\"advancedColumns\"],\"properties\":{\"advancedColumns\":{\"description\":\"advancedColumns\",\"type\":\"array\",\"items\":{\"required\":[\"key\",\"config\"],\"properties\":{\"key\":{\"description\":\"Type of the column, e.g. \\\"simpleField\\\", \\\"relationField\\\", \\\"staticText\\\"\",\"type\":\"string\",\"example\":\"simpleField\"},\"config\":{\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/components/schemas/RelationFieldConfig\"},{\"$ref\":\"#/components/schemas/SimpleFieldConfig\"},{\"$ref\":\"#/components/schemas/StaticTextConfig\"}]},\"example\":{\"field\":\"name\",\"relation\":\"manufacturer\"}}},\"type\":\"object\"},\"example\":[{\"key\":\"simpleField\",\"config\":{\"field\":\"name\"}}]},\"transformers\":{\"description\":\"List if Transformers that should be applied\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Transformer\"}}},\"type\":\"object\"},\"AllowedTransition\":{\"title\":\"AllowedTransition\",\"required\":[\"name\",\"label\",\"iconCls\",\"objectLayout\",\"unsavedChangesBehaviour\",\"notes\"],\"properties\":{\"name\":{\"description\":\"name\",\"type\":\"string\",\"example\":\"start_workflow\"},\"label\":{\"description\":\"label\",\"type\":\"string\",\"example\":\"Start Workflow\"},\"iconCls\":{\"description\":\"iconCls\",\"type\":\"string\",\"example\":\"pimcore_workflow_start\"},\"objectLayout\":{\"description\":\"objectLayout\",\"type\":\"boolean\",\"example\":false},\"unsavedChangesBehaviour\":{\"description\":\"unsavedChangesBehaviour\",\"type\":\"string\",\"example\":\"warn\"},\"notes\":{\"description\":\"notes\",\"type\":\"array\",\"items\":{\"type\":\"object\"},\"example\":{\"commentEnabled\":true,\"commentRequired\":true}}},\"type\":\"object\"},\"Archive\":{\"title\":\"Archive\",\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/Asset\"}]},\"RenderAreaBlockData\":{\"title\":\"Area block render data for editmode\",\"required\":[\"editableDefinitions\",\"htmlCode\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"editableDefinitions\":{\"description\":\"Dynamic array of editable definitions\",\"type\":\"array\",\"items\":{\"type\":\"object\"},\"example\":\"[{ \\\"id\\\": \\\"editable_1\\\", \\\"type\\\": \\\"text\\\", \\\"config\\\": { \\\"label\\\": \\\"Text\\\", \\\"defaultValue\\\": \\\"Default text\\\" }, \\\"data\\\": { \\\"text\\\": \\\"Some text\\\" } }]\"},\"htmlCode\":{\"description\":\"HTML code of the snippet\",\"type\":\"string\",\"example\":\"<div class=\\\"editable\\\" data-key=\\\"editable_1\\\">Some text</div>\"}},\"type\":\"object\"},\"Asset\":{\"title\":\"Asset\",\"required\":[\"hasChildren\",\"type\",\"filename\",\"mimeType\",\"hasMetadata\",\"hasWorkflowWithPermissions\",\"fullPath\",\"customAttributes\",\"permissions\",\"hasWorkflowAvailable\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/Element\"},{\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"customAttributes\":{\"$ref\":\"#/components/schemas/CustomAttributes\",\"description\":\"Custom attributes for the tree\"},\"hasWorkflowAvailable\":{\"description\":\"Has workflow available\",\"type\":\"boolean\",\"example\":false},\"hasChildren\":{\"description\":\"Has children\",\"required\":[\"hasChildren\"],\"type\":\"boolean\",\"example\":false},\"type\":{\"description\":\"Type\",\"type\":\"string\",\"example\":\"image\"},\"filename\":{\"description\":\"Filename\",\"type\":\"string\",\"example\":\"cool.jpg\"},\"mimeType\":{\"description\":\"Mimetype\",\"type\":[\"string\",\"null\"],\"example\":\"image/jpeg\"},\"hasMetadata\":{\"description\":\"Has metadata\",\"type\":\"boolean\",\"example\":false},\"hasWorkflowWithPermissions\":{\"description\":\"Workflow permissions\",\"type\":\"boolean\",\"example\":false},\"fullPath\":{\"description\":\"Full path\",\"type\":\"string\",\"example\":\"/path/to/asset.jpg\"},\"permissions\":{\"$ref\":\"#/components/schemas/AssetPermissions\"}},\"type\":\"object\"}]},\"AssetDocument\":{\"title\":\"Asset Document\",\"required\":[\"pageCount\",\"imageThumbnailPath\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/Asset\"},{\"properties\":{\"pageCount\":{\"description\":\"Page count\",\"type\":[\"integer\",\"null\"],\"example\":2},\"imageThumbnailPath\":{\"description\":\"Path to image thumbnail\",\"type\":[\"string\",\"null\"],\"example\":\"/path/to/document/imagethumbnail.jpg\"}},\"type\":\"object\"}]},\"AssetFolder\":{\"title\":\"Asset Folder\",\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/Asset\"}]},\"AssetPermissions\":{\"title\":\"Asset Permissions\",\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/Permissions\"}]},\"AssetType\":{\"title\":\"Asset Type\",\"required\":[\"key\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"key\":{\"description\":\"key\",\"type\":\"string\",\"example\":\"image\"}},\"type\":\"object\"},\"AssetUploadInfo\":{\"title\":\"Asset Upload Info\",\"required\":[\"exists\",\"assetId\"],\"properties\":{\"exists\":{\"description\":\"True if asset exists\",\"type\":\"boolean\",\"example\":true},\"assetId\":{\"description\":\"Id of existing asset\",\"type\":[\"integer\",\"null\"],\"example\":83}},\"type\":\"object\"},\"AssetVersion\":{\"title\":\"AssetVersion\",\"required\":[\"type\",\"fileName\",\"creationDate\",\"fileSize\",\"mimeType\",\"metadata\",\"dimensions\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"type\":{\"description\":\"asset type\",\"type\":\"string\",\"example\":\"image\"},\"fileName\":{\"description\":\"file name\",\"type\":\"string\",\"example\":\"myImageFile.png\"},\"creationDate\":{\"description\":\"creation date\",\"type\":\"integer\",\"example\":1707312457},\"modificationDate\":{\"description\":\"modification date\",\"type\":[\"integer\",\"null\"],\"example\":1707312457},\"fileSize\":{\"description\":\"file size\",\"type\":\"integer\",\"example\":41862},\"mimeType\":{\"description\":\"mime type\",\"type\":\"string\",\"example\":\"image/png\"},\"metadata\":{\"description\":\"Metadata\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/CustomMetadataVersion\"}},\"dimensions\":{\"$ref\":\"#/components/schemas/Dimensions\",\"description\":\"dimensions\"}},\"type\":\"object\"},\"Assets\":{\"title\":\"Assets\",\"required\":[\"hide_edit_image\",\"disable_tree_preview\"],\"properties\":{\"hide_edit_image\":{\"description\":\"Hide edit image button\",\"type\":\"boolean\",\"example\":false},\"disable_tree_preview\":{\"description\":\"Disable tree preview\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"},\"Audio\":{\"title\":\"Audio\",\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/Asset\"}]},\"AuthenticationToken\":{\"title\":\"Authentication Token\",\"description\":\"Token for authentication\",\"required\":[\"token\"],\"properties\":{\"token\":{\"description\":\"Token\",\"type\":\"string\",\"example\":\"abc123xyz\"}},\"type\":\"object\"},\"AvailableCountry\":{\"title\":\"Available Country\",\"required\":[\"name\",\"code\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"name\":{\"description\":\"Country name\",\"type\":\"string\",\"example\":\"Austria\"},\"code\":{\"description\":\"Country ISO 3166-1 code\",\"type\":\"string\",\"example\":\"AT\"}},\"type\":\"object\"},\"BlocklistEntry\":{\"title\":\"Blocklist\",\"required\":[\"email\",\"creationDate\",\"modificationDate\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"email\":{\"description\":\"email address\",\"type\":\"string\",\"example\":\"email@pimcore.com\"},\"creationDate\":{\"description\":\"creation date\",\"type\":\"integer\",\"example\":1707312457},\"modificationDate\":{\"description\":\"modification date\",\"type\":[\"integer\",\"null\"],\"example\":1707312457}},\"type\":\"object\"},\"EmailAddressParameter\":{\"title\":\"Blocklist\",\"required\":[\"email\"],\"properties\":{\"email\":{\"description\":\"email address\",\"type\":\"string\",\"example\":\"someEmail@email-domain.com\"}},\"type\":\"object\"},\"Branding\":{\"title\":\"Branding\",\"required\":[\"backgroundShade\",\"brandColor\",\"loginScreenCustomBackgroundImage\"],\"properties\":{\"backgroundShade\":{\"description\":\"Background shade\",\"type\":\"string\",\"example\":\"#CCCCCC\"},\"brandColor\":{\"description\":\"Brand color\",\"type\":\"string\",\"example\":\"#FFCC00\"},\"loginScreenCustomBackgroundImage\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/RelatedElementData\",\"description\":\"Custom image for login screen\"},{\"type\":\"null\"}],\"description\":\"Custom image for login screen\",\"type\":\"object\"},\"customLogo\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/RelatedElementData\",\"description\":\"Custom logo\"},{\"type\":\"null\"}],\"description\":\"Custom logo\",\"type\":\"object\"}},\"type\":\"object\"},\"BundleApplicationLoggerLogEntry\":{\"title\":\"Bundle Application Logger Log Entry\",\"required\":[\"id\",\"priority\",\"date\",\"pid\",\"message\",\"fileObject\",\"relatedElementData\",\"component\",\"source\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"ID\",\"type\":\"integer\",\"example\":1},\"priority\":{\"description\":\"Log priority level\",\"type\":\"integer\",\"example\":2},\"date\":{\"description\":\"Date\",\"type\":[\"string\",\"null\"],\"example\":\"2023-10-01T12:00:00+00:00\"},\"pid\":{\"description\":\"PID\",\"type\":[\"integer\",\"null\"],\"example\":22},\"message\":{\"description\":\"Message\",\"type\":[\"string\",\"null\"],\"example\":\"Some Log Message\"},\"fileObject\":{\"description\":\"File object path\",\"type\":[\"string\",\"null\"],\"example\":\"path/to/file.txt\"},\"relatedElementData\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/RelatedElementData\",\"description\":\"Data of related element\"},{\"type\":\"null\"}],\"description\":\"Data of related element\",\"type\":\"object\"},\"component\":{\"description\":\"Component\",\"type\":[\"string\",\"null\"],\"example\":\"SomeComponent::Class\"},\"source\":{\"description\":\"Source\",\"type\":[\"string\",\"null\"],\"example\":\"Pimcore\\\\Bundle\"}},\"type\":\"object\"},\"BundleBackendPowerToolsAETClassDefinitionField\":{\"title\":\"Bundle Backend Power Tools AET Class Definition Field\",\"required\":[\"name\",\"title\",\"fieldType\",\"adapterType\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"name\":{\"description\":\"Field name\",\"type\":\"string\",\"example\":\"color\"},\"title\":{\"description\":\"Field title\",\"type\":\"string\",\"example\":\"Color\"},\"fieldType\":{\"description\":\"Field type\",\"type\":\"string\",\"example\":\"select\"},\"adapterType\":{\"description\":\"Adapter type\",\"type\":\"string\",\"example\":\"SimpleValueAdapter\"},\"additionalData\":{\"description\":\"Additional data for the field\",\"type\":[\"object\",\"null\"]}},\"type\":\"object\"},\"BundleBackendPowerToolsAETConfigurationData\":{\"title\":\"Bundle Backend Power Tools AET Configuration Data\",\"required\":[\"id\",\"general\",\"dataSource\",\"treeLevels\",\"isWritable\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Configuration ID\",\"type\":\"string\",\"example\":\"019a962e_40b9_7889_ba79_88f5871047a3\"},\"general\":{\"description\":\"General configuration settings\",\"type\":\"object\"},\"dataSource\":{\"description\":\"Data source configuration\",\"type\":\"object\"},\"treeLevels\":{\"description\":\"Tree level definitions\",\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"isWritable\":{\"description\":\"Whether the configuration is writable\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"},\"BundleBackendPowerToolsAETConfigurationDetails\":{\"title\":\"Bundle Backend Power Tools AET Configuration Details\",\"required\":[\"progressIndicatorPollInterval\",\"allowDragAndDrop\",\"classId\",\"className\",\"paths\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"icon\":{\"description\":\"Icon CSS class or path\",\"type\":[\"string\",\"null\"],\"example\":\"pimcore_icon_settings\"},\"progressIndicatorPollInterval\":{\"description\":\"Poll interval for progress indicator in ms\",\"type\":\"integer\",\"example\":5000},\"allowDragAndDrop\":{\"description\":\"Whether drag and drop is allowed\",\"type\":\"boolean\",\"example\":false},\"classId\":{\"description\":\"Class definition ID\",\"type\":\"string\",\"example\":\"Car\"},\"className\":{\"description\":\"Class name\",\"type\":\"string\",\"example\":\"Car\"},\"paths\":{\"description\":\"Path definitions for the tree\",\"type\":\"array\",\"items\":{\"type\":\"object\"}}},\"type\":\"object\"},\"BundleBackendPowerToolsAETConfigurationId\":{\"title\":\"Bundle Backend Power Tools AET Configuration ID\",\"required\":[\"id\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Configuration ID\",\"type\":\"string\",\"example\":\"019a962e_40b9_7889_ba79_88f5871047a3\"}},\"type\":\"object\"},\"BundleBackendPowerToolsAETConfigurationListGroup\":{\"title\":\"Bundle Backend Power Tools AET Configuration List Group\",\"required\":[\"id\",\"text\",\"expandable\",\"leaf\",\"allowChildren\",\"iconCls\",\"group\",\"children\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Group identifier\",\"type\":\"string\",\"example\":\"group_my_group\"},\"text\":{\"description\":\"Display name of the group\",\"type\":\"string\",\"example\":\"My Group\"},\"expandable\":{\"description\":\"Whether the node is expandable\",\"type\":\"boolean\",\"example\":true},\"leaf\":{\"description\":\"Whether the node is a leaf node\",\"type\":\"boolean\",\"example\":false},\"allowChildren\":{\"description\":\"Whether children are allowed\",\"type\":\"boolean\",\"example\":true},\"iconCls\":{\"description\":\"Icon CSS class\",\"type\":\"string\",\"example\":\"pimcore_icon_folder\"},\"group\":{\"description\":\"Group name\",\"type\":\"string\",\"example\":\"My Group\"},\"children\":{\"description\":\"Child configuration items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsAETConfigurationListItem\"}}},\"type\":\"object\"},\"BundleBackendPowerToolsAETConfigurationListItem\":{\"title\":\"Bundle Backend Power Tools AET Configuration List Item\",\"required\":[\"id\",\"text\",\"expandable\",\"leaf\",\"writable\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Configuration ID\",\"type\":\"string\",\"example\":\"019a962e_40b9_7889_ba79_88f5871047a3\"},\"text\":{\"description\":\"Display name of the configuration\",\"type\":\"string\",\"example\":\"My Custom Tree\"},\"expandable\":{\"description\":\"Whether the node is expandable\",\"type\":\"boolean\",\"example\":false},\"leaf\":{\"description\":\"Whether the node is a leaf node\",\"type\":\"boolean\",\"example\":true},\"iconCls\":{\"description\":\"Icon CSS class\",\"type\":[\"string\",\"null\"],\"example\":\"pimcore_icon_settings\"},\"icon\":{\"description\":\"Custom icon path\",\"type\":[\"string\",\"null\"]},\"isWritable\":{\"description\":\"Whether the configuration is writable\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"},\"BundleBackendPowerToolsAETConfigurationModificationDate\":{\"title\":\"Bundle Backend Power Tools AET Configuration Modification Date\",\"required\":[\"modificationDate\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"modificationDate\":{\"description\":\"Modification date as unix timestamp\",\"type\":\"integer\",\"example\":1700000000}},\"type\":\"object\"},\"BundleBackendPowerToolsAETDataObject\":{\"title\":\"Bundle Backend Power Tools AET Data Object\",\"required\":[\"text\",\"allowDrag\",\"allowDrop\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/DataObject\"},{\"properties\":{\"text\":{\"description\":\"Text\",\"type\":\"string\",\"example\":\"orange (/Path/to/element/)\"},\"allowDrag\":{\"description\":\"Allow drag\",\"type\":\"boolean\",\"example\":true},\"allowDrop\":{\"description\":\"Allow drop\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"}]},\"BundleBackendPowerToolsAETDataObjectClassItem\":{\"title\":\"Bundle Backend Power Tools AET Data Object Class Item\",\"required\":[\"id\",\"name\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Class ID\",\"type\":\"string\",\"example\":\"CAR\"},\"name\":{\"description\":\"Class name\",\"type\":\"string\",\"example\":\"Car\"}},\"type\":\"object\"},\"BundleBackendPowerToolsAETDefaultPerspectiveConfigurationItem\":{\"title\":\"Bundle Backend Power Tools AET Default Perspective Configuration Item\",\"required\":[\"id\",\"name\",\"position\",\"type\",\"expanded\",\"hidden\",\"sort\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Configuration ID\",\"type\":\"string\",\"example\":\"019a962e_40b9_7889_ba79_88f5871047a3\"},\"name\":{\"description\":\"Configuration display name\",\"type\":\"string\",\"example\":\"My Custom Tree\"},\"position\":{\"description\":\"Panel position\",\"type\":\"string\",\"example\":\"right\"},\"type\":{\"description\":\"Tree type\",\"type\":\"string\",\"example\":\"alternative_element_tree\"},\"expanded\":{\"description\":\"Whether the tree is expanded\",\"type\":\"boolean\",\"example\":false},\"hidden\":{\"description\":\"Whether the tree is hidden\",\"type\":\"boolean\",\"example\":false},\"sort\":{\"description\":\"Sort order\",\"type\":\"integer\",\"example\":0}},\"type\":\"object\"},\"BundleBackendPowerToolsAETGridBatchEditIds\":{\"title\":\"Bundle Backend Power Tools AET Grid Batch Edit IDs\",\"required\":[\"jobs\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"jobs\":{\"description\":\"Array of element IDs for batch editing\",\"type\":\"array\",\"items\":{\"type\":\"integer\"}}},\"type\":\"object\"},\"BundleBackendPowerToolsAETGridExportJobs\":{\"title\":\"Bundle Backend Power Tools AET Grid Export Jobs\",\"required\":[\"jobs\",\"fileHandle\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"jobs\":{\"description\":\"Chunked arrays of element IDs for export\",\"type\":\"array\",\"items\":{\"type\":\"array\",\"items\":{\"type\":\"integer\"}}},\"fileHandle\":{\"description\":\"File handle for the export CSV\",\"type\":\"string\",\"example\":\"export-65f1a2b3c4d5e6.12345678\"}},\"type\":\"object\"},\"BundleBackendPowerToolsAETGridListing\":{\"title\":\"Bundle Backend Power Tools AET Grid Listing\",\"required\":[\"total\",\"data\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"total\":{\"description\":\"Total number of items\",\"type\":\"integer\",\"example\":100},\"data\":{\"description\":\"Grid listing data\",\"type\":\"array\",\"items\":{\"type\":\"object\"}}},\"type\":\"object\"},\"BundleBackendPowerToolsAETPreconditionFilterItem\":{\"title\":\"Bundle Backend Power Tools AET Precondition Filter Item\",\"required\":[\"name\",\"value\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"name\":{\"description\":\"Filter name\",\"type\":\"string\",\"example\":\"Tag Filter\"},\"value\":{\"description\":\"Filter class value\",\"type\":\"string\",\"example\":\"App\\\\PreconditionFilter\\\\TagFilter\"}},\"type\":\"object\"},\"BundleBackendPowerToolsAETTreeConfigurationItem\":{\"title\":\"Bundle Backend Power Tools AET Tree Configuration Item\",\"required\":[\"id\",\"name\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Configuration ID\",\"type\":\"string\",\"example\":\"1ee8ea3a_843a_6a10_b965_c5dc3c5dac9b\"},\"name\":{\"description\":\"Configuration display name\",\"type\":\"string\",\"example\":\"My Custom Tree\"}},\"type\":\"object\"},\"BundleBackendPowerToolsAETValidLanguageItem\":{\"title\":\"Bundle Backend Power Tools AET Valid Language Item\",\"required\":[\"key\",\"name\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"key\":{\"description\":\"Language key\",\"type\":\"string\",\"example\":\"en\"},\"name\":{\"description\":\"Language display name\",\"type\":\"string\",\"example\":\"English\"}},\"type\":\"object\"},\"BundleBackendPowerToolsAETVirtualFolder\":{\"title\":\"Bundle Backend Power Tools AET Virtual Folder\",\"required\":[\"id\",\"type\",\"key\",\"path\",\"icon\",\"allowDrag\",\"allowDrop\",\"hasChildren\",\"level\"],\"properties\":{\"customAttributes\":{\"$ref\":\"#/components/schemas/CustomAttributes\",\"description\":\"Custom attributes for the tree\"},\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"ID\",\"type\":\"string\",\"example\":\"1f0a82ba_4398_61a8_a4c3_016155cfcb10\"},\"type\":{\"description\":\"Type\",\"type\":\"string\",\"example\":\"folder\"},\"key\":{\"description\":\"Key\",\"type\":\"string\",\"example\":\"City Car\"},\"path\":{\"description\":\"Path\",\"type\":\"string\",\"example\":\"/City Car/\"},\"icon\":{\"$ref\":\"#/components/schemas/ElementIcon\",\"description\":\"Icon\"},\"allowDrag\":{\"description\":\"Allow drag of this element\",\"type\":\"boolean\",\"example\":false},\"allowDrop\":{\"description\":\"Allow drop of new element\",\"type\":\"boolean\",\"example\":false},\"hasChildren\":{\"description\":\"Has children\",\"type\":\"boolean\",\"example\":true},\"level\":{\"description\":\"Level of the folder\",\"type\":\"integer\",\"example\":2}},\"type\":\"object\"},\"BundleBackendPowerToolsAETWidgetConfig\":{\"title\":\"Bundle Backend Power Tools Alternative Element Tree Widget Config\",\"required\":[\"progressIndicatorPollInterval\",\"label\",\"classId\",\"className\",\"workspaces\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/WidgetConfig\"},{\"properties\":{\"progressIndicatorPollInterval\":{\"description\":\"Progress indicator poll interval in ms\",\"type\":\"integer\",\"example\":60000},\"label\":{\"description\":\"Configuration label\",\"type\":[\"string\",\"null\"],\"example\":\"My custom AET\"},\"classId\":{\"description\":\"Configuration class ID\",\"type\":[\"string\",\"null\"],\"example\":\"CAR\"},\"className\":{\"description\":\"Configuration class name\",\"type\":[\"string\",\"null\"],\"example\":\"Car\"},\"workspaces\":{\"description\":\"Workspaces\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleBackendPowerToolsAETWidgetConfigPath\"}}},\"type\":\"object\"}]},\"BundleBackendPowerToolsAETWidgetConfigPath\":{\"title\":\"Bundle Backend Power Tools Alternative Element Tree Widget Config Path\",\"required\":[\"workspaceItem\",\"include\"],\"properties\":{\"workspaceItem\":{\"$ref\":\"#/components/schemas/RelatedElementData\",\"description\":\"Data of the workspace item\"},\"include\":{\"description\":\"Include workspace\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"},\"BundleBackendPowerToolsBLTreeAsset\":{\"title\":\"Bundle Backend Power Tools BL Tree Asset\",\"required\":[\"text\",\"itemId\",\"originalId\",\"uid\",\"allowDrag\",\"allowDrop\",\"sortOrder\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/Asset\"},{\"properties\":{\"text\":{\"description\":\"Text\",\"type\":\"string\",\"example\":\"key (/Path/to/element/)\"},\"itemId\":{\"description\":\"Item ID in the tree\",\"type\":\"integer\",\"example\":1},\"originalId\":{\"description\":\"Original ID\",\"type\":\"string\",\"example\":\"83-object\"},\"uid\":{\"description\":\"UID\",\"type\":\"string\",\"example\":\"24-object-root\"},\"allowDrag\":{\"description\":\"Allow drag\",\"type\":\"boolean\",\"example\":true},\"allowDrop\":{\"description\":\"Allow drop\",\"type\":\"boolean\",\"example\":true},\"sortOrder\":{\"description\":\"Sort order\",\"type\":\"string\",\"example\":\"key (/Path/to/element/)\"}},\"type\":\"object\"}]},\"BundleBackendPowerToolsBLTreeDataObject\":{\"title\":\"Bundle Backend Power Tools BL Tree Data Object\",\"required\":[\"text\",\"itemId\",\"originalId\",\"uid\",\"allowDrag\",\"allowDrop\",\"sortOrder\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/DataObject\"},{\"properties\":{\"text\":{\"description\":\"Text\",\"type\":\"string\",\"example\":\"key (/Path/to/element/)\"},\"itemId\":{\"description\":\"Item ID in the tree\",\"type\":\"integer\",\"example\":1},\"originalId\":{\"description\":\"Original ID\",\"type\":\"string\",\"example\":\"83-object\"},\"uid\":{\"description\":\"UID\",\"type\":\"string\",\"example\":\"24-object-root\"},\"allowDrag\":{\"description\":\"Allow drag\",\"type\":\"boolean\",\"example\":true},\"allowDrop\":{\"description\":\"Allow drop\",\"type\":\"boolean\",\"example\":true},\"sortOrder\":{\"description\":\"Sort order\",\"type\":\"string\",\"example\":\"key (/Path/to/element/)\"}},\"type\":\"object\"}]},\"BundleBackendPowerToolsBLTreeDocument\":{\"title\":\"Bundle Backend Power Tools BL Tree Document\",\"required\":[\"text\",\"itemId\",\"originalId\",\"uid\",\"allowDrag\",\"allowDrop\",\"sortOrder\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/Document\"},{\"properties\":{\"text\":{\"description\":\"Text\",\"type\":\"string\",\"example\":\"key (/Path/to/element/)\"},\"itemId\":{\"description\":\"Item ID in the tree\",\"type\":\"integer\",\"example\":1},\"originalId\":{\"description\":\"Original ID\",\"type\":\"string\",\"example\":\"83-object\"},\"uid\":{\"description\":\"UID\",\"type\":\"string\",\"example\":\"24-object-root\"},\"allowDrag\":{\"description\":\"Allow drag\",\"type\":\"boolean\",\"example\":true},\"allowDrop\":{\"description\":\"Allow drop\",\"type\":\"boolean\",\"example\":true},\"sortOrder\":{\"description\":\"Sort order\",\"type\":\"string\",\"example\":\"key (/Path/to/element/)\"}},\"type\":\"object\"}]},\"BundleBackendPowerToolsBLTreeFolder\":{\"title\":\"Bundle Backend Power Tools BL Tree Folder\",\"required\":[\"id\",\"originalId\",\"uid\",\"type\",\"elementType\",\"parentId\",\"key\",\"icon\",\"allowDrag\",\"allowDrop\",\"hasChildren\",\"sortOrder\"],\"properties\":{\"customAttributes\":{\"$ref\":\"#/components/schemas/CustomAttributes\",\"description\":\"Custom attributes for the tree\"},\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"ID\",\"type\":\"integer\",\"example\":83},\"originalId\":{\"description\":\"Original ID\",\"type\":\"string\",\"example\":\"83-bookmark_folder\"},\"uid\":{\"description\":\"UID\",\"type\":\"string\",\"example\":\"24-bookmark_folder-root\"},\"type\":{\"description\":\"Type\",\"type\":\"string\",\"example\":\"folder\"},\"elementType\":{\"description\":\"ElementType\",\"type\":\"string\",\"example\":\"bookmark_folder\"},\"parentId\":{\"description\":\"Parent ID\",\"type\":\"integer\",\"example\":0},\"key\":{\"description\":\"Key\",\"type\":\"string\",\"example\":\"City Car\"},\"icon\":{\"$ref\":\"#/components/schemas/ElementIcon\",\"description\":\"Icon\"},\"allowDrag\":{\"description\":\"Allow drag of this element\",\"type\":\"boolean\",\"example\":false},\"allowDrop\":{\"description\":\"Allow drop of new element\",\"type\":\"boolean\",\"example\":false},\"hasChildren\":{\"description\":\"Has children\",\"type\":\"boolean\",\"example\":true},\"sortOrder\":{\"description\":\"Sort order\",\"type\":\"integer\",\"example\":0}},\"type\":\"object\"},\"BundleBackendPowerToolsBookmarkList\":{\"title\":\"Bundle Backend Power Tools Bookmark List\",\"required\":[\"id\",\"name\",\"sortBy\",\"owner\",\"isOwner\",\"itemCount\",\"creationDate\",\"shared\",\"permission\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"ID\",\"type\":\"integer\",\"example\":1},\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"My bookmark list\"},\"sortBy\":{\"description\":\"Sort by field\",\"type\":\"string\",\"example\":\"name\"},\"owner\":{\"description\":\"Owner username\",\"type\":\"string\",\"example\":\"admin\"},\"isOwner\":{\"description\":\"Is current user the owner\",\"type\":\"boolean\",\"example\":true},\"itemCount\":{\"description\":\"Number of items in the list\",\"type\":\"integer\",\"example\":0},\"creationDate\":{\"description\":\"Creation date timestamp\",\"type\":\"integer\",\"example\":1760593921},\"shared\":{\"description\":\"Is shared with other users\",\"type\":\"boolean\",\"example\":false},\"permission\":{\"description\":\"Permission level\",\"type\":\"string\",\"example\":\"edit\"}},\"type\":\"object\"},\"BundleBackendPowerToolsShareRecipient\":{\"title\":\"Bundle Backend Power Tools Share Recipient\",\"required\":[\"permission\",\"recipientName\",\"recipientId\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"permission\":{\"description\":\"Permission\",\"type\":\"string\",\"example\":\"edit\"},\"recipientName\":{\"description\":\"Recipient name\",\"type\":\"string\",\"example\":\"nameOfRecipient\"},\"recipientId\":{\"description\":\"Recipient Id\",\"type\":\"integer\",\"example\":1}},\"type\":\"object\"},\"BundleBackendPowerToolsShareUser\":{\"title\":\"Bundle Backend Power Tools Share User\",\"required\":[\"id\",\"name\",\"type\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"User Id\",\"type\":\"integer\",\"example\":1},\"name\":{\"description\":\"User name\",\"type\":\"string\",\"example\":\"someAdminUser (Admin)\"},\"type\":{\"description\":\"Type\",\"type\":\"string\",\"example\":\"user\"}},\"type\":\"object\"},\"BundleCopilotAction\":{\"title\":\"Bundle Copilot Action\",\"required\":[\"title\",\"jsAdapterName\",\"jsConfig\",\"icon\",\"iconCls\",\"context\",\"searchTerms\",\"category\",\"labelClass\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"title\":{\"description\":\"Title\",\"type\":\"string\",\"example\":\"Car Variant Generator\"},\"jsAdapterName\":{\"description\":\"JS adapter name\",\"type\":\"string\",\"example\":\"automationActionAdapter\"},\"jsConfig\":{\"description\":\"JS configuration\",\"type\":\"object\",\"example\":\"{\\\"key\\\":\\\"value\\\"}\"},\"context\":{\"description\":\"Context\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":\"[\\\"object_car\\\", \\\"object_car_selection\\\"]\"},\"searchTerms\":{\"description\":\"Search terms\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":\"[\\\"Car Variant Generator\\\", \\\"Automation Action\\\"]\"},\"category\":{\"description\":\"Category\",\"type\":\"string\",\"example\":\"automation_action\"},\"labelClass\":{\"description\":\"Label class\",\"type\":\"string\",\"example\":\"blue\"},\"icon\":{\"description\":\"Icon\",\"type\":[\"string\",\"null\"],\"example\":\"/bundles/pimcoreadmin/img/flat-color-icons/page.svg\"},\"iconCls\":{\"description\":\"Icon class\",\"type\":[\"string\",\"null\"],\"example\":\"plugin_pimcore_automation_actions\"}},\"type\":\"object\"},\"BundleCopilotActionInteractionChatHistory\":{\"title\":\"Bundle Copilot Action Interaction Chat History\",\"required\":[\"content\",\"role\"],\"properties\":{\"content\":{\"description\":\"Content\",\"type\":\"string\",\"example\":\"Generate a description for the classic ...\"},\"role\":{\"description\":\"Role\",\"type\":\"string\",\"example\":\"user\"},\"prompt\":{\"description\":\"Prompt\",\"type\":[\"string\",\"null\"],\"example\":\"\"},\"negativePrompt\":{\"description\":\"Negative prompt\",\"type\":[\"string\",\"null\"],\"example\":\"\"},\"imageMimeType\":{\"description\":\"Image mime type\",\"type\":[\"string\",\"null\"],\"example\":\"image/jpeg\"}},\"type\":\"object\"},\"BundleCopilotActionInteractionOneStep\":{\"title\":\"Bundle Copilot Action Interaction One Step\",\"required\":[\"result\"],\"properties\":{\"result\":{\"description\":\"Result\",\"type\":\"string\",\"example\":\"The Cobra is a masterpiece of engineering...\"}},\"type\":\"object\"},\"BundleCopilotJobRun\":{\"title\":\"Bundle Copilot Job Run\",\"required\":[\"id\",\"jobName\",\"startedAt\",\"lastUpdated\",\"owner\",\"state\",\"currentMessage\",\"canCancel\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Id\",\"type\":\"integer\",\"example\":\"3\"},\"jobName\":{\"description\":\"Job name\",\"type\":\"string\",\"example\":\"CarVariantGenerator\"},\"startedAt\":{\"description\":\"Job run started at\",\"type\":\"integer\",\"example\":\"1760355978\"},\"lastUpdated\":{\"description\":\"Job run last updated at\",\"type\":\"integer\",\"example\":\"1760355978\"},\"owner\":{\"description\":\"Job owner\",\"type\":\"string\",\"example\":\"admin\"},\"state\":{\"description\":\"Job state\",\"type\":\"string\",\"example\":\"finished\"},\"currentMessage\":{\"description\":\"Current log message\",\"type\":\"string\",\"example\":\"Job Run CarVariantGenerator (3) completed successfully.\"},\"canCancel\":{\"description\":\"Job run can be cancelled\",\"type\":\"boolean\",\"example\":\"false\"},\"currentStep\":{\"description\":\"Current step nr\",\"type\":[\"integer\",\"null\"],\"example\":\"1\"}},\"type\":\"object\"},\"BundleCopilotJobRunId\":{\"title\":\"Bundle Copilot Job Run Id\",\"required\":[\"id\"],\"properties\":{\"id\":{\"description\":\"Id\",\"type\":\"integer\",\"example\":\"3\"}},\"type\":\"object\"},\"BundleCopilotJobRunProgress\":{\"title\":\"Bundle Copilot Job Run Progress\",\"required\":[\"success\",\"state\",\"currentMessage\",\"displayLogDetailLink\",\"totalSteps\",\"startedAt\",\"lastUpdated\",\"log\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"success\":{\"description\":\"Success state of job run\",\"type\":\"boolean\",\"example\":\"true\"},\"state\":{\"description\":\"Job state\",\"type\":\"string\",\"example\":\"finished\"},\"currentMessage\":{\"description\":\"Current log message\",\"type\":\"string\",\"example\":\"Job Run CarVariantGenerator (3) completed successfully.\"},\"displayLogDetailLink\":{\"description\":\"Display log detail link\",\"type\":\"boolean\",\"example\":\"true\"},\"totalSteps\":{\"description\":\"Nr of total steps\",\"type\":\"integer\",\"example\":\"1\"},\"startedAt\":{\"description\":\"Job run started at\",\"type\":\"integer\",\"example\":\"1760355978\"},\"lastUpdated\":{\"description\":\"Job run last updated at\",\"type\":\"integer\",\"example\":\"1760355978\"},\"log\":{\"description\":\"Log\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"format\":\"string\"},\"example\":\"\\n            [{\\\"logMessage\\\": \\\"Job Run CarVariantGenerator (13) started.\\\",\\\"createdAt\\\": \\\"2024-01-01T12:00:00+00:00\\\"}]\"},\"currentStep\":{\"description\":\"Current step nr\",\"type\":[\"integer\",\"null\"],\"example\":\"1\"}},\"type\":\"object\"},\"BundleCustomReportAdd\":{\"title\":\"Bundle Custom Report Add\",\"required\":[\"name\"],\"properties\":{\"name\":{\"description\":\"Name of the new custom report\",\"type\":\"string\",\"example\":\"myReport\"}},\"type\":\"object\"},\"BundleCustomReportClone\":{\"title\":\"Bundle Custom Report Clone\",\"required\":[\"newName\"],\"properties\":{\"newName\":{\"description\":\"New name the cloned custom report\",\"type\":\"string\",\"example\":\"myNewReport\"}},\"type\":\"object\"},\"BundleCustomReportUpdate\":{\"title\":\"Bundle Custom Report Update\",\"required\":[\"sql\",\"dataSourceConfig\",\"columnConfigurations\",\"niceName\",\"group\",\"groupIconClass\",\"iconClass\",\"menuShortcut\",\"reportClass\",\"chartType\",\"pieColumn\",\"pieLabelColumn\",\"xAxis\",\"yAxis\",\"sharedUserNames\",\"sharedRoleNames\",\"sharedGlobally\"],\"properties\":{\"sql\":{\"description\":\"Sql\",\"type\":\"string\",\"example\":\"\"},\"columnConfigurations\":{\"description\":\"Configuration for columns to be displayed in report\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleCustomReportsColumnConfigurationUpdate\"}},\"niceName\":{\"description\":\"Label/nice name of report\",\"type\":\"string\",\"example\":\"Attributes\"},\"group\":{\"description\":\"Group of the report\",\"type\":\"string\",\"example\":\"My Reports\"},\"groupIconClass\":{\"description\":\"Group icon class\",\"type\":\"string\",\"example\":\"pimcore_group_icon_attributes\"},\"iconClass\":{\"description\":\"Icon class\",\"type\":\"string\",\"example\":\"pimcore_icon_attributes\"},\"menuShortcut\":{\"description\":\"Whether the report has a shortcut in the menu\",\"type\":\"boolean\",\"example\":true},\"reportClass\":{\"description\":\"Report class of custom report implementation\",\"type\":\"string\",\"example\":\"\"},\"chartType\":{\"description\":\"Chart type\",\"type\":\"string\",\"example\":\"pie\"},\"sharedUserNames\":{\"description\":\"Array with user names the report is shared with\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":\"[\\\"admin\\\", \\\"superuser\\\"]\"},\"sharedRoleNames\":{\"description\":\"Array with roles the report is shared with\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":\"[\\\"role\\\", \\\"role2\\\"]\"},\"sharedGlobally\":{\"description\":\"Whether the report is shared globally\",\"type\":\"boolean\",\"example\":false},\"dataSourceConfig\":{\"description\":\"Configuration for data source. Content of array depends on selected adapter/data source\",\"type\":\"array\",\"items\":{\"type\":\"object\"},\"example\":[{\"sql\":\"carClass\",\"from\":\"object_localized_CAR_en\",\"where\":\"objectType = 'actual-car'\",\"groupby\":\"carClass\",\"orderby\":\"\",\"orderbydir\":null,\"type\":\"sql\"}]},\"pieColumn\":{\"description\":\"Data column for pie chart\",\"type\":[\"string\",\"null\"],\"example\":\"count(*)\"},\"pieLabelColumn\":{\"description\":\"Label of data column for pie chart\",\"type\":[\"string\",\"null\"],\"example\":\"attributesAvailable\"},\"xAxis\":{\"description\":\"X axis column names\",\"type\":[\"string\",\"null\"],\"example\":\"attributesAvailable\"},\"yAxis\":{\"description\":\"Y axis column information\",\"type\":[\"array\",\"null\"],\"items\":{\"type\":\"string\"},\"example\":\"[\\\"attributesAvailable\\\", \\\"count(*)\\\"]\"}},\"type\":\"object\"},\"BundleCustomReportsChartData\":{\"title\":\"Bundle Custom Reports Chart Data\",\"required\":[\"data\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"data\":{\"description\":\"Chart data depending on the adapter in the report configuration.\",\"type\":\"object\"}},\"type\":\"object\"},\"BundleCustomReportsColumnConfiguration\":{\"title\":\"Bundle Custom Reports Column Configuration\",\"required\":[\"disableOrderBy\",\"disableFilterable\",\"disableDropdownFilterable\",\"disableLabel\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/BundleCustomReportsColumnConfigurationUpdate\"},{\"properties\":{\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"attributesAvailable\"},\"display\":{\"description\":\"Display column\",\"type\":\"boolean\",\"example\":true},\"export\":{\"description\":\"Whether the column should be included in exports\",\"type\":\"boolean\",\"example\":true},\"order\":{\"description\":\"Order\",\"type\":\"boolean\",\"example\":true},\"label\":{\"description\":\"Label/display name of column\",\"type\":\"string\",\"example\":\"Attributes\"},\"action\":{\"description\":\"Action of the column\",\"type\":\"string\",\"example\":\"openObject\"},\"id\":{\"description\":\"Id\",\"type\":\"string\",\"example\":\"401-3\"},\"width\":{\"description\":\"Width of the column\",\"type\":[\"integer\",\"null\"],\"example\":200},\"displayType\":{\"description\":\"Display type of the column\",\"type\":[\"string\",\"null\"],\"example\":\"text\"},\"filterType\":{\"description\":\"Type of the filter\",\"type\":[\"string\",\"null\"],\"example\":\"numeric\"},\"filterDrilldown\":{\"description\":\"Drilldown filter\",\"type\":[\"string\",\"null\"],\"example\":\"only_filter\"},\"disableOrderBy\":{\"description\":\"Disable order by\",\"type\":\"boolean\",\"example\":false},\"disableFilterable\":{\"description\":\"Disable filterable\",\"type\":\"boolean\",\"example\":false},\"disableDropdownFilterable\":{\"description\":\"Disable dropdown filterable\",\"type\":\"boolean\",\"example\":false},\"disableLabel\":{\"description\":\"Disable label\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"}]},\"BundleCustomReportsColumnConfigurationUpdate\":{\"title\":\"Bundle Custom Reports Column Configuration Update Data\",\"required\":[\"name\",\"display\",\"export\",\"order\",\"label\",\"action\",\"id\",\"width\",\"displayType\",\"filterType\",\"filterDrilldown\"],\"properties\":{\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"attributesAvailable\"},\"display\":{\"description\":\"Display column\",\"type\":\"boolean\",\"example\":true},\"export\":{\"description\":\"Whether the column should be included in exports\",\"type\":\"boolean\",\"example\":true},\"order\":{\"description\":\"Order\",\"type\":\"boolean\",\"example\":true},\"label\":{\"description\":\"Label/display name of column\",\"type\":\"string\",\"example\":\"Attributes\"},\"action\":{\"description\":\"Action of the column\",\"type\":\"string\",\"example\":\"openObject\"},\"id\":{\"description\":\"Id\",\"type\":\"string\",\"example\":\"401-3\"},\"width\":{\"description\":\"Width of the column\",\"type\":[\"integer\",\"null\"],\"example\":200},\"displayType\":{\"description\":\"Display type of the column\",\"type\":[\"string\",\"null\"],\"example\":\"text\"},\"filterType\":{\"description\":\"Type of the filter\",\"type\":[\"string\",\"null\"],\"example\":\"numeric\"},\"filterDrilldown\":{\"description\":\"Drilldown filter\",\"type\":[\"string\",\"null\"],\"example\":\"only_filter\"}},\"type\":\"object\"},\"BundleCustomReportsColumnInformation\":{\"title\":\"Bundle Custom Reports Column Information\",\"required\":[\"name\",\"disableOrderBy\",\"disableFilterable\",\"disableDropdownFilterable\",\"disableLabel\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"attributesAvailable\"},\"disableOrderBy\":{\"description\":\"Disable order by\",\"type\":\"boolean\",\"example\":false},\"disableFilterable\":{\"description\":\"Disable filterable\",\"type\":\"boolean\",\"example\":false},\"disableDropdownFilterable\":{\"description\":\"Disable dropdown filterable\",\"type\":\"boolean\",\"example\":false},\"disableLabel\":{\"description\":\"Disable label\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"},\"BundleCustomReportsConfigurationTreeNode\":{\"title\":\"Bundle Custom Reports Configuration Tree Node\",\"required\":[\"id\",\"text\",\"cls\",\"writeable\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"id\",\"type\":\"string\",\"example\":\"Quality_Attributes\"},\"text\":{\"description\":\"text\",\"type\":\"string\",\"example\":\"Quality_Attributes\"},\"cls\":{\"description\":\"css class\",\"type\":\"string\",\"example\":\"pimcore_treenode_disabled\"},\"writeable\":{\"description\":\"writeable\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"},\"BundleCustomReportsDataSourceConfig\":{\"title\":\"Bundle Custom Reports Data Source Config\",\"required\":[\"configuration\"],\"properties\":{\"configuration\":{\"description\":\"Configuration for data source. Content of array depends on selected adapter/data source\",\"type\":\"object\",\"example\":{\"sql\":\"carClass\",\"from\":\"object_localized_CAR_en\",\"where\":\"objectType = 'actual-car'\",\"groupby\":\"carClass\",\"orderby\":\"\",\"orderbydir\":null,\"type\":\"sql\"}}},\"type\":\"object\"},\"BundleCustomReportsDetails\":{\"title\":\"Bundle Custom Reports Details\",\"required\":[\"name\",\"sql\",\"dataSourceConfig\",\"columnConfigurations\",\"niceName\",\"group\",\"groupIconClass\",\"iconClass\",\"menuShortcut\",\"reportClass\",\"chartType\",\"pieColumn\",\"pieLabelColumn\",\"xAxis\",\"yAxis\",\"modificationDate\",\"creationDate\",\"sharedUserNames\",\"sharedRoleNames\",\"sharedGlobally\",\"writeable\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"Quality_Attributes\"},\"sql\":{\"description\":\"Sql\",\"type\":\"string\",\"example\":\"\"},\"columnConfigurations\":{\"description\":\"Configuration for columns to be displayed in report\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleCustomReportsColumnConfiguration\"}},\"niceName\":{\"description\":\"Label/nice name of report\",\"type\":\"string\",\"example\":\"Attributes\"},\"group\":{\"description\":\"Group of the report\",\"type\":\"string\",\"example\":\"My Reports\"},\"groupIconClass\":{\"description\":\"Group icon class\",\"type\":\"string\",\"example\":\"pimcore_group_icon_attributes\"},\"iconClass\":{\"description\":\"Icon class\",\"type\":\"string\",\"example\":\"pimcore_icon_attributes\"},\"menuShortcut\":{\"description\":\"Whether the report has a shortcut in the menu\",\"type\":\"boolean\",\"example\":true},\"reportClass\":{\"description\":\"Report class of custom report implementation\",\"type\":\"string\",\"example\":\"\"},\"chartType\":{\"description\":\"Chart type\",\"type\":\"string\",\"example\":\"pie\"},\"modificationDate\":{\"description\":\"Modification date time stamp\",\"type\":\"integer\",\"example\":1736762668},\"creationDate\":{\"description\":\"Creation date time stamp\",\"type\":\"integer\",\"example\":1567409307},\"sharedUserNames\":{\"description\":\"Array with user names the report is shared with\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":\"[\\\"admin\\\", \\\"superuser\\\"]\"},\"sharedRoleNames\":{\"description\":\"Array with roles the report is shared with\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":\"[\\\"role\\\", \\\"role2\\\"]\"},\"sharedGlobally\":{\"description\":\"Whether the report is shared globally\",\"type\":\"boolean\",\"example\":false},\"writeable\":{\"description\":\"Whether the report is writeable\",\"type\":\"boolean\",\"example\":true},\"dataSourceConfig\":{\"description\":\"Configuration for data source. Content of array depends on selected adapter/data source\",\"type\":[\"object\",\"null\"],\"example\":[]},\"pieColumn\":{\"description\":\"Data column for pie chart\",\"type\":[\"string\",\"null\"],\"example\":\"count(*)\"},\"pieLabelColumn\":{\"description\":\"Label of data column for pie chart\",\"type\":[\"string\",\"null\"],\"example\":\"attributesAvailable\"},\"xAxis\":{\"description\":\"X axis column names\",\"type\":[\"string\",\"null\"],\"example\":\"attributesAvailable\"},\"yAxis\":{\"description\":\"Y axis column information\",\"type\":[\"array\",\"null\"],\"items\":{\"type\":\"string\"},\"example\":\"[\\\"attributesAvailable\\\", \\\"count(*)\\\"]\"}},\"type\":\"object\"},\"BundleCustomReportsDrillDownOption\":{\"title\":\"Bundle Custom Reports Drill Down Option\",\"description\":\"Drill down option data for custom reports\",\"required\":[\"name\",\"value\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"name\":{\"description\":\"name\",\"example\":\"Full-Size\",\"anyOf\":[{\"type\":\"string\"},{\"type\":\"integer\"},{\"type\":\"float\"}]},\"value\":{\"description\":\"value\",\"example\":\"Full-Size\",\"anyOf\":[{\"type\":\"string\"},{\"type\":\"integer\"},{\"type\":\"float\"},{\"type\":\"null\"}]}},\"type\":\"object\"},\"BundleCustomReportsSaveWidgetConfig\":{\"title\":\"Bundle Custom Reports Save Widget Config\",\"required\":[\"customReportName\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/CreateWidgetConfig\"},{\"properties\":{\"customReportName\":{\"description\":\"Report Configuration Name\",\"type\":\"string\",\"example\":\"Quality_Attributes\"},\"showLegend\":{\"description\":\"Show Legend\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"}]},\"BundleCustomReportsTreeNode\":{\"title\":\"Bundle Custom Reports Tree Node\",\"required\":[\"name\",\"niceName\",\"iconClass\",\"group\",\"groupIconClass\",\"menuShortcut\",\"reportClass\",\"hasDataSourceConfig\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"name\":{\"description\":\"report name\",\"type\":\"string\",\"example\":\"Quality_Attributes\"},\"niceName\":{\"description\":\"nice name\",\"type\":\"string\",\"example\":\"Attributes\"},\"iconClass\":{\"description\":\"icon class\",\"type\":\"string\",\"example\":\"pimcore_icon_attributes\"},\"group\":{\"description\":\"group\",\"type\":\"string\",\"example\":\"Quality\"},\"groupIconClass\":{\"description\":\"group icon class\",\"type\":\"string\",\"example\":\"pimcore_group_icon_attributes\"},\"menuShortcut\":{\"description\":\"menu shortcut\",\"type\":\"boolean\",\"example\":true},\"reportClass\":{\"description\":\"report class\",\"type\":\"string\",\"example\":\"\"},\"hasDataSourceConfig\":{\"description\":\"Whether the report has a data source configuration.\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"},\"BundleCustomReportsWidgetConfig\":{\"title\":\"Bundle Custom Reports Widget Config\",\"required\":[\"color\",\"customReportName\",\"isWriteable\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/DashboardsWidgetConfig\"},{\"properties\":{\"color\":{\"description\":\" Color\",\"type\":\"string\",\"example\":\"#FF5733\"},\"customReportName\":{\"description\":\"Report Configuration Name\",\"type\":\"string\",\"example\":\"Quality_Attributes\"},\"isWriteable\":{\"description\":\"Is Writeable\",\"type\":\"boolean\",\"example\":true},\"showLegend\":{\"description\":\"Show Legend\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"}]},\"BundleDataHubConfiguration\":{\"title\":\"Bundle Data Hub Configuration\",\"required\":[\"id\",\"text\",\"type\",\"iconCls\",\"expandable\",\"leaf\",\"adapter\",\"writable\",\"permissions\",\"studioColumnConfig\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"ID\",\"type\":\"string\",\"example\":\"assets\"},\"text\":{\"description\":\"Text\",\"type\":\"string\",\"example\":\"assets\"},\"type\":{\"description\":\"Type\",\"type\":\"string\",\"example\":\"config\"},\"iconCls\":{\"description\":\"iconCls\",\"type\":\"string\",\"example\":\"plugin_pimcore_datahub_icon_graphql\"},\"expandable\":{\"description\":\"Expandable\",\"type\":\"boolean\",\"example\":\"false\"},\"leaf\":{\"description\":\"Leaf\",\"type\":\"boolean\",\"example\":\"true\"},\"permissions\":{\"description\":\"Permissions\",\"type\":[\"object\",\"null\"],\"example\":\"{\\\"delete\\\": true, \\\"update\\\": true}\"},\"allowChildren\":{\"description\":\"Allow children\",\"type\":\"boolean\",\"example\":\"false\"},\"group\":{\"description\":\"Group\",\"type\":[\"string\",\"null\"],\"example\":\"General Folder\"},\"children\":{\"description\":\"Children\",\"type\":[\"array\",\"null\"],\"items\":{\"$ref\":\"#/components/schemas/BundleDataHubConfiguration\"}},\"adapter\":{\"description\":\"Adapter\",\"type\":[\"string\",\"null\"],\"example\":\"graphql\"},\"writable\":{\"description\":\"Writable\",\"type\":\"boolean\",\"example\":\"true\"},\"studioColumnConfig\":{\"description\":\"Has Studio Column Configuration\",\"type\":\"boolean\",\"example\":\"false\"}},\"type\":\"object\"},\"BundleDataHubConfigurationDetail\":{\"title\":\"Bundle Data Hub Configuration Detail\",\"required\":[\"name\",\"configuration\",\"userPermissions\",\"supportedGraphQLQueryDataTypes\",\"supportedGraphQLMutationDataTypes\",\"modificationDate\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"name\":{\"description\":\"Configuration name\",\"type\":\"string\",\"example\":\"assets\"},\"configuration\":{\"description\":\"Configuration data\",\"type\":\"object\"},\"userPermissions\":{\"description\":\"User permissions\",\"type\":\"object\",\"example\":{\"update\":true,\"delete\":true}},\"supportedGraphQLQueryDataTypes\":{\"description\":\"Supported GraphQL query data types\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"supportedGraphQLMutationDataTypes\":{\"description\":\"Supported GraphQL mutation data types\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"modificationDate\":{\"description\":\"Modification date timestamp\",\"type\":\"integer\",\"example\":1705075200}},\"type\":\"object\"},\"BundleDataHubFileExportConfigurationDetail\":{\"title\":\"Bundle Data Hub File Export Configuration Detail\",\"required\":[\"name\",\"configuration\",\"userPermissions\",\"modificationDate\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"name\":{\"description\":\"Configuration name\",\"type\":\"string\",\"example\":\"my-file-export\"},\"configuration\":{\"description\":\"Configuration data\",\"type\":\"object\"},\"userPermissions\":{\"description\":\"User permissions\",\"type\":\"object\",\"example\":{\"update\":true,\"delete\":true}},\"modificationDate\":{\"description\":\"Modification date timestamp\",\"type\":\"integer\",\"example\":1705075200}},\"type\":\"object\"},\"BundleDataHubFileExportCronValidationResult\":{\"title\":\"Bundle Data Hub File Export Cron Validation Result\",\"required\":[\"isValid\",\"message\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"isValid\":{\"description\":\"Whether the cron expression is valid\",\"type\":\"boolean\",\"example\":true},\"message\":{\"description\":\"Validation error message (empty if valid)\",\"type\":\"string\",\"example\":\"\"}},\"type\":\"object\"},\"BundleDataHubFileExportExportProgress\":{\"title\":\"Bundle Data Hub File Export Export Progress\",\"required\":[\"isRunning\",\"totalItems\",\"processedItems\",\"progress\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"isRunning\":{\"description\":\"Whether the export is currently running\",\"type\":\"boolean\",\"example\":true},\"totalItems\":{\"description\":\"Total number of items to export\",\"type\":\"integer\",\"example\":100},\"processedItems\":{\"description\":\"Number of items already processed\",\"type\":\"integer\",\"example\":42},\"progress\":{\"description\":\"Progress ratio (0.0 to 1.0)\",\"type\":\"number\",\"format\":\"float\",\"example\":0.42}},\"type\":\"object\"},\"BundleDataHubFileExportExporterService\":{\"title\":\"Bundle Data Hub File Export Exporter Service\",\"required\":[\"id\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Exporter service identifier\",\"type\":\"string\",\"example\":\"my_exporter_service\"}},\"type\":\"object\"},\"BundleDataHubFileExportExporterType\":{\"title\":\"Bundle Data Hub File Export Exporter Type\",\"required\":[\"name\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"name\":{\"description\":\"Exporter type name\",\"type\":\"string\",\"example\":\"CSV\"}},\"type\":\"object\"},\"BundleDataHubFileExportStartExport\":{\"title\":\"Bundle Data Hub File Export Start Export\",\"required\":[\"configName\"],\"properties\":{\"configName\":{\"description\":\"Configuration name to export\",\"type\":\"string\",\"example\":\"my-file-export\"},\"onlyQueueItems\":{\"description\":\"Only process queued items\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"},\"BundleDataHubFileExportThumbnailCollection\":{\"title\":\"Bundle Data Hub File Export Thumbnail Collection\",\"required\":[\"imageThumbnails\",\"videoThumbnails\"],\"properties\":{\"imageThumbnails\":{\"description\":\"Image thumbnail configurations\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleDataHubFileExportThumbnailItem\"}},\"videoThumbnails\":{\"description\":\"Video thumbnail configurations\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleDataHubFileExportThumbnailItem\"}}},\"type\":\"object\"},\"BundleDataHubFileExportThumbnailItem\":{\"title\":\"Bundle Data Hub File Export Thumbnail Item\",\"required\":[\"id\",\"text\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Thumbnail configuration name (empty string for none/original)\",\"type\":\"string\",\"example\":\"content\"},\"text\":{\"description\":\"Display text\",\"type\":\"string\",\"example\":\"content - Content Thumbnail\"}},\"type\":\"object\"},\"BundleDataHubFileExportUpdateConfiguration\":{\"title\":\"Bundle Data Hub File Export Update Configuration\",\"required\":[\"data\"],\"properties\":{\"data\":{\"description\":\"Configuration data containing general, schema, workspaceSettings, workspaces, deliveryDestination, triggerForDelivery, executionConfig, and permissions\",\"type\":\"object\",\"example\":{\"general\":{\"active\":false,\"type\":\"fileExport\",\"name\":\"my-export\",\"description\":\"\",\"group\":\"\"},\"schema\":{\"classId\":\"Product\",\"thumbnailImage\":null,\"thumbnailVideo\":null,\"columns\":[{\"key\":\"id\",\"fieldtype\":\"system\",\"type\":\"system.id\",\"locale\":null},{\"key\":\"name\",\"fieldtype\":\"input\",\"type\":\"dataobject.adapter\",\"locale\":\"en\",\"config\":[]}]},\"workspaceSettings\":{\"customExportService\":\"\"},\"workspaces\":{\"object\":[{\"read\":true,\"cpath\":\"/Products\"}]},\"deliveryDestination\":{\"filetype\":\"CSV\",\"delimiter\":\";\",\"dateFormat\":\"\",\"filename\":\"export\",\"conflictStrategy\":\"overwrite\",\"transmitter\":\"localDirectory\",\"transmitter_localDirectory\":{\"directory\":\"/path/to/export\"}},\"triggerForDelivery\":{\"saveHookType\":\"\"},\"executionConfig\":{\"cronDefinitionFullExport\":\"\",\"cronDefinitionQueueOnly\":\"\"},\"permissions\":{\"user\":[{\"id\":1,\"name\":\"John Doe\",\"read\":true}],\"role\":[{\"id\":2,\"name\":\"Editor\",\"update\":true}]}}},\"saveType\":{\"description\":\"Save type, use \\\"reset\\\" to reset export tracking data\",\"type\":[\"string\",\"null\"],\"example\":\"regular\"}},\"type\":\"object\"},\"BundleDataHubFileExportUpdateConfigurationResponse\":{\"title\":\"Bundle Data Hub File Export Update Configuration Response\",\"required\":[\"modificationDate\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"modificationDate\":{\"description\":\"New modification date timestamp\",\"type\":\"integer\",\"example\":1705075200}},\"type\":\"object\"},\"BundleDataHubPermissionUser\":{\"title\":\"Bundle Data Hub Permission User\",\"required\":[\"id\",\"text\",\"elementType\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"User or Role ID\",\"type\":\"integer\",\"example\":42},\"text\":{\"description\":\"User or Role name\",\"type\":\"string\",\"example\":\"admin\"},\"elementType\":{\"description\":\"Element type\",\"type\":\"string\",\"example\":\"user\"}},\"type\":\"object\"},\"BundleDataHubSimpleRestConfigurationDetail\":{\"title\":\"Bundle Data Hub Simple Rest Configuration Detail\",\"required\":[\"name\",\"configuration\",\"userPermissions\",\"modificationDate\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"name\":{\"description\":\"Configuration name\",\"type\":\"string\",\"example\":\"my-rest-config\"},\"configuration\":{\"description\":\"Configuration data\",\"type\":\"object\"},\"userPermissions\":{\"description\":\"User permissions\",\"type\":\"object\",\"example\":{\"update\":true,\"delete\":true}},\"modificationDate\":{\"description\":\"Modification date timestamp\",\"type\":\"integer\",\"example\":1705075200}},\"type\":\"object\"},\"BundleDataHubSimpleRestLabel\":{\"title\":\"Bundle Data Hub Simple Rest Label\",\"required\":[\"key\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"key\":{\"description\":\"Label key from the search index\",\"type\":\"string\",\"example\":\"dimensionData.height\"}},\"type\":\"object\"},\"BundleDataHubSimpleRestQueueItemCount\":{\"title\":\"Bundle Data Hub Simple Rest Queue Item Count\",\"required\":[\"count\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"count\":{\"description\":\"Number of items in the indexing queue\",\"type\":\"integer\",\"example\":42}},\"type\":\"object\"},\"BundleDataHubSimpleRestThumbnail\":{\"title\":\"Bundle Data Hub Simple Rest Thumbnail\",\"required\":[\"name\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"name\":{\"description\":\"Thumbnail configuration name\",\"type\":\"string\",\"example\":\"content\"}},\"type\":\"object\"},\"BundleDataHubSimpleRestUpdateConfiguration\":{\"title\":\"Bundle Data Hub Simple Rest Update Configuration\",\"required\":[\"data\",\"modificationDate\"],\"properties\":{\"data\":{\"description\":\"Configuration data containing general, schema, deliverySettings, workspaces, labelSettings, and permissions\",\"type\":\"object\",\"example\":{\"general\":{\"active\":true,\"type\":\"Simple Rest Service\",\"name\":\"test\",\"description\":\"Test Description\",\"group\":\"Test Group\"},\"schema\":{\"assets\":{\"enabled\":\"on\",\"allowOriginalImage\":\"on\",\"thumbnails\":[\"cart\",\"events_header\"]},\"dataObjectClasses\":[{\"id\":\"car\",\"columns\":[{\"key\":\"id\",\"fieldtype\":\"system\",\"type\":\"system.id\",\"locale\":null},{\"key\":\"someImage\",\"fieldtype\":\"image\",\"type\":\"dataobject.adapter\",\"locale\":\"de\",\"config\":[]}]}]},\"deliverySettings\":{\"apikey\":\"key1\\nkey2\"},\"workspaces\":{\"asset\":[{\"read\":false,\"cpath\":\"/Assets\"}],\"object\":[{\"read\":true,\"cpath\":\"/Products\"}]},\"labelSettings\":[{\"id\":\"dimensionData.height\",\"en\":\"Height\",\"useInAggs\":true}],\"permissions\":{\"user\":[{\"id\":1,\"name\":\"John Doe\",\"read\":true}],\"role\":[{\"id\":2,\"name\":\"Editor\",\"update\":true}]}}},\"modificationDate\":{\"description\":\"Client-side modification date timestamp for conflict detection\",\"type\":\"integer\",\"example\":1768215191}},\"type\":\"object\"},\"BundleDataHubSimpleRestUpdateConfigurationResponse\":{\"title\":\"Bundle Data Hub Simple Rest Update Configuration Response\",\"required\":[\"modificationDate\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"modificationDate\":{\"description\":\"New modification date timestamp\",\"type\":\"integer\",\"example\":1705075200}},\"type\":\"object\"},\"BundleDataHubThumbnail\":{\"title\":\"Bundle Data Hub Thumbnail\",\"required\":[\"id\",\"text\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Thumbnail ID\",\"type\":\"string\",\"example\":\"content\"},\"text\":{\"description\":\"Thumbnail name\",\"type\":\"string\",\"example\":\"content\"}},\"type\":\"object\"},\"BundleDataHubUpdateConfiguration\":{\"title\":\"Bundle Data Hub Update Configuration\",\"required\":[\"data\",\"modificationDate\"],\"properties\":{\"data\":{\"description\":\"JSON-encoded configuration containing general, schema, security, workspaces, and permissions\",\"type\":\"string\",\"example\":\"{\\\"general\\\":{\\\"active\\\":true,\\\"type\\\":\\\"GraphQL\\\",\\\"name\\\":\\\"assets\\\",\\\"description\\\":\\\"\\\",\\\"group\\\":\\\"GQL\\\"},\\\"schema\\\":{\\\"queryEntities\\\":[],\\\"mutationEntities\\\":[],\\\"specialEntities\\\":[]},\\\"security\\\":{\\\"method\\\":\\\"datahub_apikey\\\",\\\"apikey\\\":\\\"your-key\\\",\\\"skipPermissionCheck\\\":false,\\\"disableIntrospection\\\":false},\\\"workspaces\\\":{\\\"asset\\\":[],\\\"document\\\":[],\\\"object\\\":[]},\\\"permissions\\\":{\\\"user\\\":[],\\\"role\\\":[]}}\"},\"modificationDate\":{\"description\":\"Client-side modification date timestamp for conflict detection\",\"type\":\"integer\",\"example\":1768215191}},\"type\":\"object\"},\"BundleDataHubUpdateConfigurationResponse\":{\"title\":\"Bundle Data Hub Update Configuration Response\",\"required\":[\"modificationDate\"],\"properties\":{\"modificationDate\":{\"description\":\"New modification date timestamp\",\"type\":\"integer\",\"example\":1705075200}},\"type\":\"object\"},\"BundleDataHubWebhooksConfigurationDetail\":{\"title\":\"Bundle Data Hub Webhooks Configuration Detail\",\"required\":[\"name\",\"configuration\",\"userPermissions\",\"modificationDate\",\"documentTypes\",\"assetTypes\",\"imageData\",\"videoData\",\"events\",\"workflows\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"name\":{\"description\":\"Configuration name\",\"type\":\"string\",\"example\":\"my_webhook\"},\"configuration\":{\"description\":\"Full configuration data\",\"type\":\"object\"},\"userPermissions\":{\"description\":\"User permissions\",\"type\":\"object\",\"example\":{\"update\":true,\"delete\":true}},\"modificationDate\":{\"description\":\"Modification date timestamp\",\"type\":\"integer\",\"example\":1705075200},\"documentTypes\":{\"description\":\"Available document types\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleDataHubWebhooksLabelItem\"}},\"assetTypes\":{\"description\":\"Available asset types\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleDataHubWebhooksLabelItem\"}},\"imageData\":{\"description\":\"Available image thumbnail configurations\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleDataHubWebhooksIdLabelItem\"}},\"videoData\":{\"description\":\"Available video thumbnail configurations\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleDataHubWebhooksIdLabelItem\"}},\"events\":{\"description\":\"Available webhook event types\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleDataHubWebhooksIdLabelItem\"}},\"workflows\":{\"description\":\"Available workflows\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleDataHubWebhooksIdLabelItem\"}}},\"type\":\"object\"},\"BundleDataHubWebhooksIdLabelItem\":{\"title\":\"Bundle Data Hub Webhooks Id Label Item\",\"required\":[\"id\",\"label\"],\"properties\":{\"id\":{\"description\":\"Identifier\",\"type\":\"string\",\"example\":\"pimcore.dataobject.postAdd\"},\"label\":{\"description\":\"Display label\",\"type\":\"string\",\"example\":\"Data Object - Post Add\"}},\"type\":\"object\"},\"BundleDataHubWebhooksLabelItem\":{\"title\":\"Bundle Data Hub Webhooks Label Item\",\"required\":[\"label\"],\"properties\":{\"label\":{\"description\":\"Label\",\"type\":\"string\",\"example\":\"Page\"}},\"type\":\"object\"},\"BundleDataHubWebhooksTestSubscribersParameters\":{\"title\":\"Bundle Data Hub Webhooks Test Subscribers Parameters\",\"required\":[\"subscribers\"],\"properties\":{\"subscribers\":{\"description\":\"List of subscriber URLs to test\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":[\"https://webhook.site/example-uuid\"]}},\"type\":\"object\"},\"BundleDataHubWebhooksTestSubscribersResponse\":{\"title\":\"Bundle Data Hub Webhooks Test Subscribers Response\",\"required\":[\"success\",\"errors\"],\"properties\":{\"success\":{\"description\":\"Whether all subscribers are reachable\",\"type\":\"boolean\",\"example\":true},\"errors\":{\"description\":\"Error messages from unreachable subscribers\",\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"type\":\"object\"},\"BundleDataHubWebhooksUpdateConfiguration\":{\"title\":\"Bundle Data Hub Webhooks Update Configuration\",\"required\":[\"configuration\",\"modificationDate\"],\"properties\":{\"configuration\":{\"description\":\"Configuration object containing general, eventsSchema, subscribersSettings, workspaces, and permissions\",\"type\":\"object\",\"example\":{\"general\":{\"active\":true,\"name\":\"my_webhook\"},\"subscribersSettings\":{\"subscribers\":[\"https://example.com/webhook\"],\"customHeaders\":[]},\"eventsSchema\":{\"events\":[\"pimcore.dataobject.postAdd\"]},\"workspaces\":{\"asset\":[],\"object\":[],\"document\":[]},\"permissions\":{\"user\":[],\"role\":[]}}},\"modificationDate\":{\"description\":\"Client-side modification date timestamp for optimistic locking\",\"type\":\"integer\",\"example\":1705075200}},\"type\":\"object\"},\"BundleDataHubWebhooksUpdateConfigurationResponse\":{\"title\":\"Bundle Data Hub Webhooks Update Configuration Response\",\"required\":[\"modificationDate\"],\"properties\":{\"modificationDate\":{\"description\":\"New modification date timestamp after save\",\"type\":\"integer\",\"example\":1705075200}},\"type\":\"object\"},\"BundleDataQualityManagementColorSettings\":{\"title\":\"Bundle Data Quality Management Color Settings\",\"required\":[\"mark\",\"fontColor\",\"backgroundColor\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"mark\":{\"description\":\"Mark\",\"type\":\"string\",\"example\":\"A\"},\"fontColor\":{\"description\":\"Hex code of the font color\",\"type\":\"string\",\"example\":\"#104400\"},\"backgroundColor\":{\"description\":\"Hex code of the background color\",\"type\":\"string\",\"example\":\"#DAECB8\"}},\"type\":\"object\"},\"BundleDataQualityManagementDetailWidget\":{\"title\":\"Bundle Data Quality Management Detail Widget\",\"required\":[\"name\",\"title\",\"mark\",\"score\",\"rules\",\"lastUpdated\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"name\":{\"description\":\"Data quality field name\",\"type\":\"string\",\"example\":\"textsAvailable\"},\"title\":{\"description\":\"Data quality field title\",\"type\":\"string\",\"example\":\"Texts Available\"},\"mark\":{\"description\":\"Mark for the data quality field\",\"type\":[\"string\",\"null\"],\"example\":\"C\"},\"score\":{\"description\":\"Score for the data quality field\",\"type\":[\"number\",\"null\"],\"format\":\"float\",\"example\":\"0.66\"},\"rules\":{\"description\":\"Array of rule details\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleDataQualityManagementRule\"}},\"lastUpdated\":{\"description\":\"Last updated timestamp\",\"type\":[\"integer\",\"null\"],\"example\":1752670892}},\"type\":\"object\"},\"BundleDataQualityManagementRule\":{\"title\":\"Bundle Data Quality Management Rule Data\",\"required\":[\"title\",\"suggestion\",\"valid\"],\"properties\":{\"title\":{\"description\":\"Title of the rule\",\"type\":\"string\",\"example\":\"Completeness\"},\"suggestion\":{\"description\":\"Suggestion\",\"type\":\"string\",\"example\":\"Fill in some required fields\"},\"valid\":{\"description\":\"Is rule valid\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"},\"BundleEnterpriseSubscriptionToolsLicenseInformation\":{\"title\":\"Bundle Enterprise Subscription Tools License Information\",\"required\":[\"success\",\"instanceId\",\"legacyInstanceId\",\"environment\",\"instanceCode\"],\"properties\":{\"success\":{\"description\":\"Whether license check was successful or not\",\"type\":\"boolean\",\"example\":\"true\"},\"instanceId\":{\"description\":\"Instance Id\",\"type\":\"string\",\"example\":\"4q7D8Gce\"},\"legacyInstanceId\":{\"description\":\"Legacy Instance Id\",\"type\":\"string\",\"example\":\"a79ba4252e2e\"},\"environment\":{\"description\":\"Environment\",\"type\":\"string\",\"example\":\"dev\"},\"instanceCode\":{\"description\":\"Instance Code\",\"type\":\"string\",\"example\":\"ZTNiMGM0NDI5OGZjMWMxN\"}},\"type\":\"object\"},\"BundlePersonalizationTargetGroup\":{\"title\":\"Bundle Personalization Target Group\",\"required\":[\"id\",\"active\",\"name\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Id\",\"type\":\"integer\",\"example\":83},\"active\":{\"description\":\"Is group active\",\"type\":\"boolean\",\"example\":true},\"name\":{\"description\":\"Name of the group\",\"type\":\"string\",\"example\":\"regular-customer\"}},\"type\":\"object\"},\"BundlePortalEngineAsset\":{\"title\":\"Bundle Portal Engine Asset\",\"required\":[\"allowDrag\",\"allowDrop\",\"collectionId\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/Asset\"},{\"properties\":{\"allowDrag\":{\"description\":\"Allow drag\",\"type\":\"boolean\",\"example\":true},\"allowDrop\":{\"description\":\"Allow drop\",\"type\":\"boolean\",\"example\":true},\"collectionId\":{\"description\":\"Collection ID\",\"type\":\"number\",\"example\":5}},\"type\":\"object\"}]},\"BundlePortalEngineDataObject\":{\"title\":\"Bundle Portal Engine Data Object\",\"required\":[\"allowDrag\",\"allowDrop\",\"collectionId\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/DataObject\"},{\"properties\":{\"allowDrag\":{\"description\":\"Allow drag\",\"type\":\"boolean\",\"example\":true},\"allowDrop\":{\"description\":\"Allow drop\",\"type\":\"boolean\",\"example\":true},\"collectionId\":{\"description\":\"Collection ID\",\"type\":\"number\",\"example\":5}},\"type\":\"object\"}]},\"BundleSeoRedirect\":{\"title\":\"Bundle Seo Redirect\",\"required\":[\"id\",\"type\",\"source\",\"sourceSite\",\"passThroughParameters\",\"target\",\"targetSite\",\"statusCode\",\"priority\",\"regex\",\"active\",\"expiry\",\"creationDate\",\"modificationDate\",\"userOwner\",\"userModification\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"ID\",\"type\":[\"integer\",\"null\"],\"example\":1},\"type\":{\"description\":\"Type of redirect\",\"type\":\"string\",\"example\":\"auto_create\"},\"source\":{\"description\":\"Source URL\",\"type\":[\"string\",\"null\"],\"example\":\"/old-path\"},\"sourceSite\":{\"description\":\"ID of the source site\",\"type\":[\"integer\",\"null\"],\"example\":1},\"passThroughParameters\":{\"description\":\"Whether to pass through parameters\",\"type\":\"boolean\",\"example\":true},\"target\":{\"description\":\"Target URL\",\"type\":[\"string\",\"null\"],\"example\":\"/new-path\"},\"targetSite\":{\"description\":\"ID of the target site\",\"type\":[\"integer\",\"null\"],\"example\":1},\"statusCode\":{\"description\":\"Status code\",\"type\":\"integer\",\"example\":301},\"priority\":{\"description\":\"Priority\",\"type\":\"integer\",\"example\":8},\"regex\":{\"description\":\"Whether the redirect uses regex\",\"type\":[\"boolean\",\"null\"],\"example\":true},\"active\":{\"description\":\"Whether the redirect is active\",\"type\":\"boolean\",\"example\":true},\"expiry\":{\"description\":\"Expiry date in timestamp format\",\"type\":[\"integer\",\"null\"],\"example\":1712345678},\"creationDate\":{\"description\":\"Creation date in timestamp format\",\"type\":[\"integer\",\"null\"],\"example\":1712345678},\"modificationDate\":{\"description\":\"Modification date in timestamp format\",\"type\":[\"integer\",\"null\"],\"example\":1712345678},\"userOwner\":{\"description\":\"ID of the user who owns the redirect\",\"type\":[\"integer\",\"null\"],\"example\":1},\"userModification\":{\"description\":\"ID of the user who last modified the redirect\",\"type\":[\"integer\",\"null\"],\"example\":1}},\"type\":\"object\"},\"BundleSeoRedirectAdd\":{\"title\":\"Bundle Seo Redirect Add\",\"required\":[\"type\",\"source\",\"target\"],\"properties\":{\"type\":{\"description\":\"Type of redirect\",\"type\":\"string\",\"example\":\"entire_uri\"},\"source\":{\"description\":\"Source URL\",\"type\":[\"string\",\"null\"],\"example\":\"/old-path\"},\"target\":{\"description\":\"Target URL\",\"type\":[\"string\",\"null\"],\"example\":\"/new-path\"}},\"type\":\"object\"},\"BundleSeoRedirectStatus\":{\"title\":\"Bundle Seo Redirect Status\",\"required\":[\"code\",\"label\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"code\":{\"description\":\"Status code\",\"type\":\"integer\",\"example\":301},\"label\":{\"description\":\"Status label\",\"type\":\"string\",\"example\":\"Moved Permanently\"}},\"type\":\"object\"},\"BundleSeoRedirectUpdate\":{\"title\":\"Bundle Seo Redirect Update\",\"required\":[\"type\",\"sourceSite\",\"source\",\"targetSite\",\"target\",\"statusCode\",\"priority\",\"regex\",\"active\",\"passThroughParameters\",\"expiry\"],\"properties\":{\"type\":{\"description\":\"Type of redirect\",\"type\":\"string\",\"example\":\"entire_uri\"},\"sourceSite\":{\"description\":\"ID of the source site\",\"type\":[\"integer\",\"null\"],\"example\":1},\"source\":{\"description\":\"Source URL\",\"type\":[\"string\",\"null\"],\"example\":\"/old-path\"},\"targetSite\":{\"description\":\"ID of the target site\",\"type\":[\"integer\",\"null\"],\"example\":1},\"target\":{\"description\":\"Target URL\",\"type\":[\"string\",\"null\"],\"example\":\"/new-path\"},\"statusCode\":{\"description\":\"Status code\",\"type\":\"integer\",\"example\":301},\"priority\":{\"description\":\"Priority\",\"type\":\"integer\",\"example\":8},\"regex\":{\"description\":\"Whether the redirect uses regex\",\"type\":\"boolean\",\"example\":false},\"active\":{\"description\":\"Whether the redirect is active\",\"type\":\"boolean\",\"example\":true},\"passThroughParameters\":{\"description\":\"Whether to pass through parameters\",\"type\":\"boolean\",\"example\":false},\"expiry\":{\"description\":\"Expiry date in timestamp format\",\"type\":[\"integer\",\"null\"],\"example\":1712345678}},\"type\":\"object\"},\"BundleSeoRedirectImportStats\":{\"title\":\"Bundle Seo Redirects Import Statistics\",\"required\":[\"total\",\"imported\",\"created\",\"updated\",\"errored\",\"errors\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"total\":{\"description\":\"Number of total redirects\",\"type\":\"integer\",\"example\":20},\"imported\":{\"description\":\"Number of imported redirects\",\"type\":\"integer\",\"example\":15},\"created\":{\"description\":\"Number of created redirects\",\"type\":\"integer\",\"example\":10},\"updated\":{\"description\":\"Number of updated redirects\",\"type\":\"integer\",\"example\":5},\"errored\":{\"description\":\"Number of errored redirects\",\"type\":\"integer\",\"example\":2},\"errors\":{\"description\":\"List of errors where index is the index of import line\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"example\":{\"3\":\"Invalid source URL\",\"5\":\"Target URL already exists\"}}}},\"type\":\"object\"},\"BundleStatisticsExplorerDataSource\":{\"title\":\"Bundle Statistics Explorer Data Source\",\"required\":[\"value\",\"label\",\"type\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"value\":{\"description\":\"Value\",\"type\":\"string\",\"example\":\"db_assets\"},\"label\":{\"description\":\"Label\",\"type\":\"string\",\"example\":\"[DB] Assets\"},\"type\":{\"description\":\"Type\",\"type\":\"string\",\"example\":\"MYSQL\"}},\"type\":\"object\"},\"BundleStatisticsExplorerDataSourceFields\":{\"title\":\"Bundle Statistics Explorer Data Source Fields\",\"required\":[\"data\",\"operators\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"data\":{\"description\":\"data\",\"type\":\"array\",\"items\":{\"type\":\"object\"},\"example\":\"[{\\\"key1\\\":\\\"value1\\\", \\\"key2\\\": \\\"value2\\\"}, {\\\"key1\\\":\\\"value1\\\", \\\"key2\\\": \\\"value2\\\"}]\"},\"operators\":{\"description\":\"operators\",\"type\":\"array\",\"items\":{\"type\":\"object\"},\"example\":\"[{\\\"key1\\\":\\\"value1\\\", \\\"key2\\\": \\\"value2\\\"}, {\\\"key1\\\":\\\"value1\\\", \\\"key2\\\": \\\"value2\\\"}]\"}},\"type\":\"object\"},\"BundleStatisticsExplorerDataSourceFieldsDefinition\":{\"title\":\"Bundle Statistics Explorer Data Source Fields Definition\",\"required\":[\"label\",\"name\",\"typeGroup\",\"fields\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"label\":{\"description\":\"label\",\"type\":\"string\",\"example\":\"creationDate\"},\"name\":{\"description\":\"name\",\"type\":\"string\",\"example\":\"creationDate\"},\"typeGroup\":{\"description\":\"typeGroup\",\"type\":\"string\",\"example\":\"numeric\"},\"fields\":{\"description\":\"fields\",\"type\":\"array\",\"items\":{\"type\":\"object\"},\"example\":\"[{\\\"key1\\\":\\\"value1\\\", \\\"key2\\\": \\\"value2\\\"}, {\\\"key1\\\":\\\"value1\\\", \\\"key2\\\": \\\"value2\\\"}]\"}},\"type\":\"object\"},\"BundleStatisticsExplorerDataSourceFieldsSettings\":{\"title\":\"Bundle Statistics Explorer Data Source Fields Settings\",\"required\":[\"statisticsMode\",\"aggregations\",\"columns\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"statisticsMode\":{\"description\":\"statisticsMode\",\"type\":\"string\",\"enum\":[\"list\",\"statistic\"],\"example\":\"list\"},\"aggregations\":{\"description\":\"aggregations\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleStatisticsExplorerDataSourceFieldsSettingsArray\"}},\"columns\":{\"description\":\"columns\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/BundleStatisticsExplorerDataSourceFieldsSettingsArray\"}}},\"type\":\"object\"},\"BundleStatisticsExplorerDataSourceFieldsSettingsArray\":{\"title\":\"Bundle Statistics Explorer Data Source Fields Settings Array\",\"required\":[\"id\",\"label\",\"typeGroup\",\"value\"],\"properties\":{\"id\":{\"description\":\"id\",\"type\":\"string\",\"example\":\"extModel2097-7\"},\"label\":{\"description\":\"label\",\"type\":\"string\",\"example\":\"creationDate\"},\"typeGroup\":{\"description\":\"typeGroup\",\"type\":\"string\",\"example\":\"numeric\"},\"value\":{\"description\":\"value\",\"type\":\"string\",\"example\":\"creationDate\"}},\"type\":\"object\"},\"BundleWebToPrintGenerateProcessData\":{\"title\":\"Bundle Web To Print Generate Process Data\",\"required\":[\"active\",\"downloadAvailable\",\"date\",\"message\",\"statusUpdate\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"active\":{\"description\":\"Whether a PDF generation process is currently active\",\"type\":\"boolean\",\"example\":true},\"downloadAvailable\":{\"description\":\"Whether the generated PDF is available for download\",\"type\":\"boolean\",\"example\":false},\"statusUpdate\":{\"description\":\"Status update information\",\"type\":[\"array\",\"null\"],\"items\":{\"type\":\"string\"},\"example\":[\"Processing page 1 of 5\",\"Rendering images\"]},\"date\":{\"description\":\"Last generation date\",\"type\":[\"string\",\"null\"],\"example\":\"2025-11-05 14:30\"},\"message\":{\"description\":\"Last generation message\",\"type\":[\"string\",\"null\"],\"example\":\"PDF generation completed successfully\"}},\"type\":\"object\"},\"BundleWebToPrintProcessingOption\":{\"title\":\"Bundle Web To Print Processing Option\",\"required\":[\"name\",\"label\",\"type\",\"value\",\"values\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"name\":{\"description\":\"Option name\",\"type\":\"string\",\"example\":\"dpi\"},\"label\":{\"description\":\"Option label\",\"type\":\"string\",\"example\":\"dpi\"},\"type\":{\"description\":\"Option type\",\"type\":\"string\",\"example\":\"select\"},\"value\":{\"description\":\"Option value\",\"example\":\"Some value\",\"oneOf\":[{\"type\":\"boolean\"},{\"type\":\"string\"},{\"type\":\"integer\"},{\"type\":\"number\"},{\"type\":\"null\"},{\"type\":\"null\"}]},\"values\":{\"description\":\"Available option values\",\"type\":[\"array\",\"null\"],\"items\":{\"oneOf\":[{\"type\":\"boolean\"},{\"type\":\"string\"},{\"type\":\"integer\"},{\"type\":\"number\"},{\"type\":\"null\"}]},\"example\":[72,150,300,600]}},\"type\":\"object\"},\"CsvSettings\":{\"title\":\"CSV Settings\",\"required\":[\"delimiter\",\"quoteChar\",\"escapeChar\",\"lineTerminator\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"delimiter\":{\"description\":\"Field delimiter character\",\"type\":\"string\",\"example\":\";\"},\"quoteChar\":{\"description\":\"Quote character for fields\",\"type\":\"string\",\"example\":\"\\\"\"},\"escapeChar\":{\"description\":\"Escape character\",\"type\":\"string\",\"example\":\"\\\\\"},\"lineTerminator\":{\"description\":\"Line terminator character\",\"type\":\"string\",\"example\":\"\"}},\"type\":\"object\"},\"ChangeMainDocument\":{\"title\":\"Change Main Document\",\"required\":[\"mainDocumentPath\"],\"properties\":{\"mainDocumentPath\":{\"description\":\"Main document path\",\"type\":[\"string\",\"null\"],\"example\":\"/path/to/main/document\"}},\"type\":\"object\"},\"UpdateTagParameters\":{\"title\":\"Change Tag Parameters\",\"description\":\"Parameters for changing a tag\",\"properties\":{\"parentId\":{\"description\":\"Parent id\",\"type\":[\"integer\",\"null\"],\"example\":0},\"name\":{\"description\":\"Tag name\",\"type\":[\"string\",\"null\"],\"example\":\"tag 1\"}},\"type\":\"object\"},\"CheckPrettyUrl\":{\"title\":\"Check Pretty URL\",\"required\":[\"prettyUrl\"],\"properties\":{\"prettyUrl\":{\"description\":\"Pretty URL to check\",\"type\":\"string\",\"example\":\"/my-pretty-url\"}},\"type\":\"object\"},\"ClassDefinitionIdentifierData\":{\"title\":\"Class Definition Identifier Data\",\"required\":[\"suggestedId\",\"existingIds\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"suggestedId\":{\"description\":\"Suggested unique ID for the new class definition\",\"type\":\"string\",\"example\":\"AP\"},\"existingIds\":{\"description\":\"Array of existing class definition IDs\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":[\"AP\",\"CP\",\"MP\"]}},\"type\":\"object\"},\"ClassDefinitionList\":{\"title\":\"Class Definition List Item\",\"required\":[\"id\",\"name\",\"title\",\"icon\",\"group\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Id of class definition\",\"type\":\"string\",\"example\":\"AP\"},\"name\":{\"description\":\"Name of class definition\",\"type\":\"string\",\"example\":\"AccessoryPart\"},\"title\":{\"description\":\"Title\",\"type\":\"string\",\"example\":\"Accessory Part\"},\"icon\":{\"$ref\":\"#/components/schemas/ElementIcon\",\"description\":\"icon\"},\"group\":{\"description\":\"Group\",\"type\":[\"string\",\"null\"],\"example\":\"system\"}},\"type\":\"object\"},\"ClassDefinitionObjectBrickData\":{\"title\":\"Class Definition Object Brick Data\",\"required\":[\"key\",\"fieldName\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"key\":{\"description\":\"Key of the object brick\",\"type\":\"string\",\"example\":\"SaleInformation\"},\"fieldName\":{\"description\":\"Name of class definition field\",\"type\":\"string\",\"example\":\"saleInformation\"}},\"type\":\"object\"},\"ClassDefinitionTreeNodeFolder\":{\"title\":\"Class Definition Tree Node Folder\",\"required\":[\"children\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/ClassDefinitionList\"},{\"properties\":{\"children\":{\"description\":\"Child nodes\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ClassDefinitionTreeNode\"}}},\"type\":\"object\"}]},\"ClassDefinitionTreeNode\":{\"title\":\"Class Definition Tree Node Item\",\"required\":[\"enableGridLocking\",\"hasBrickField\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/ClassDefinitionList\"},{\"properties\":{\"enableGridLocking\":{\"description\":\"Enable grid locking\",\"type\":\"boolean\",\"example\":false},\"hasBrickField\":{\"description\":\"Has brick field\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"}]},\"AvailableVisibleField\":{\"title\":\"Class definition Visible Field\",\"required\":[\"key\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"key\":{\"description\":\"Field key\",\"type\":\"string\",\"example\":\"id\"}},\"type\":\"object\"},\"ClassDefinitionFolderItem\":{\"title\":\"Class in data object folder\",\"required\":[\"id\",\"name\",\"inheritance\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"ID of class\",\"type\":\"string\",\"example\":\"NE\"},\"name\":{\"description\":\"Name of class\",\"type\":\"string\",\"example\":\"News\"},\"inheritance\":{\"description\":\"Inheritance allowed\",\"type\":\"boolean\",\"example\":\"true\"}},\"type\":\"object\"},\"ClassLayoutCompact\":{\"title\":\"Class layout data in compact format to be used for e.g. listing in workspaces\",\"required\":[\"id\",\"name\",\"type\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Id of layout\",\"type\":\"string\",\"example\":\"CAR_0\"},\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"Car\"},\"type\":{\"description\":\"Whether it is the default layout\",\"type\":\"string\",\"example\":\"main\"}},\"type\":\"object\"},\"ClassDefinition\":{\"title\":\"ClassDefinition\",\"required\":[\"id\",\"name\",\"title\",\"description\",\"creationDate\",\"modificationDate\",\"userOwner\",\"parentClass\",\"implementsInterfaces\",\"listingParentClass\",\"useTraits\",\"listingUseTraits\",\"encryption\",\"allowInherit\",\"allowVariants\",\"showVariants\",\"icon\",\"group\",\"showAppLoggerTab\",\"linkGeneratorReference\",\"previewGeneratorReference\",\"compositeIndices\",\"showFieldLookup\",\"propertyVisibility\",\"enableGridLocking\",\"blockedVarsForExport\",\"isWriteable\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Id of class definition\",\"type\":\"string\",\"example\":\"AP\"},\"name\":{\"description\":\"Name of class definition\",\"type\":\"string\",\"example\":\"AccessoryPart\"},\"title\":{\"description\":\"Title\",\"type\":\"string\",\"example\":\"Accessory Part\"},\"description\":{\"description\":\"Description\",\"type\":\"string\",\"example\":\"This class represents an accessory part\"},\"creationDate\":{\"description\":\"Creation date timestamp\",\"type\":[\"integer\",\"null\"],\"example\":1700000000},\"modificationDate\":{\"description\":\"Modification date timestamp\",\"type\":[\"integer\",\"null\"],\"example\":1700000000},\"userOwner\":{\"description\":\"User id of owner\",\"type\":\"integer\",\"example\":1},\"parentClass\":{\"description\":\"Namespace of parent class\",\"type\":\"string\",\"example\":\"App\\\\Model\\\\DataObject\\\\AccessoryPart\"},\"implementsInterfaces\":{\"description\":\"Interface implementations\",\"type\":\"string\",\"example\":\"App\\\\Model\\\\DataObject\\\\Interface\"},\"listingParentClass\":{\"description\":\"List of parent class\",\"type\":\"string\",\"example\":\"App\\\\Model\\\\DataObject\\\\Listing\"},\"useTraits\":{\"description\":\"Traits usage\",\"type\":\"string\",\"example\":\"App\\\\Model\\\\DataObject\\\\Trait\"},\"listingUseTraits\":{\"description\":\"Traits usage listing\",\"type\":\"string\",\"example\":\"App\\\\Model\\\\DataObject\\\\ListingTrait\"},\"encryption\":{\"description\":\"Whether encryption is ued\",\"type\":\"boolean\",\"example\":true},\"allowInherit\":{\"description\":\"Whether inheritance is allowed\",\"type\":\"boolean\",\"example\":true},\"allowVariants\":{\"description\":\"Whether variants are allowed\",\"type\":\"boolean\",\"example\":true},\"showVariants\":{\"description\":\"Whether variants are visible in the tree\",\"type\":\"boolean\",\"example\":true},\"icon\":{\"$ref\":\"#/components/schemas/ElementIcon\",\"description\":\"icon\"},\"showAppLoggerTab\":{\"description\":\"Show application logger tab\",\"type\":\"boolean\",\"example\":true},\"linkGeneratorReference\":{\"description\":\"Namespace of link generator\",\"type\":\"string\",\"example\":\"App\\\\Model\\\\DataObject\\\\LinkGenerator\"},\"previewGeneratorReference\":{\"description\":\"Namespace of preview generator\",\"type\":\"string\",\"example\":\"App\\\\Model\\\\DataObject\\\\PreviewGenerator\"},\"compositeIndices\":{\"description\":\"Composite indices\",\"type\":\"object\",\"example\":[]},\"showFieldLookup\":{\"description\":\"Show field lookup\",\"type\":\"boolean\",\"example\":true},\"propertyVisibility\":{\"description\":\"Visibility of properties for grid, search, ...\",\"type\":\"object\",\"example\":[]},\"enableGridLocking\":{\"description\":\"Whether grid locking is enabled\",\"type\":\"boolean\",\"example\":true},\"blockedVarsForExport\":{\"description\":\"Blocked variables for export\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":[]},\"isWriteable\":{\"description\":\"Whether the class definition can be written to\",\"type\":\"boolean\",\"example\":true},\"group\":{\"description\":\"Group\",\"type\":[\"string\",\"null\"],\"example\":\"system\"}},\"type\":\"object\"},\"Collection\":{\"title\":\"Classification Store Collection\",\"required\":[\"id\",\"name\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"ID\",\"type\":\"integer\",\"example\":42},\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"value\"},\"description\":{\"description\":\"Description\",\"type\":\"string\",\"example\":\"value\"},\"groups\":{\"description\":\"List of Group IDs in collection\",\"type\":\"object\"}},\"type\":\"object\"},\"KeyLayout\":{\"title\":\"Classification Store Collection\",\"required\":[\"id\",\"name\",\"description\",\"definition\"],\"properties\":{\"id\":{\"description\":\"ID\",\"type\":\"integer\",\"example\":42},\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"value\"},\"description\":{\"description\":\"Description\",\"type\":\"string\",\"example\":\"value\"},\"definition\":{\"description\":\"Layout Definition\",\"type\":\"object\"}},\"type\":\"object\"},\"ClassificationStoreStoreConfig\":{\"title\":\"Classification Store Configuration\",\"required\":[\"id\",\"name\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"ID\",\"type\":\"integer\",\"example\":42},\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"value\"}},\"type\":\"object\"},\"Group\":{\"title\":\"Classification Store Group\",\"required\":[\"id\",\"name\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"ID\",\"type\":\"integer\",\"example\":42},\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"value\"},\"description\":{\"description\":\"Description\",\"type\":[\"string\",\"null\"],\"example\":\"value\"}},\"type\":\"object\"},\"CollectionLayout\":{\"title\":\"Classification Store Group Layout\",\"required\":[\"groups\"],\"properties\":{\"groups\":{\"description\":\"Groups\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/GroupLayout\"}}},\"type\":\"object\"},\"GroupLayout\":{\"title\":\"Classification Store Group Layout\",\"required\":[\"id\",\"name\",\"keys\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"ID\",\"type\":\"integer\",\"example\":42},\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"value\"},\"description\":{\"description\":\"Description\",\"type\":[\"string\",\"null\"],\"example\":\"value\"},\"keys\":{\"description\":\"Description\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/KeyLayout\"}}},\"type\":\"object\"},\"KeyGroupRelation\":{\"title\":\"Classification Store KeyGroupRelation\",\"required\":[\"keyId\",\"groupId\",\"keyName\",\"groupName\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"keyId\":{\"description\":\"Key ID\",\"type\":\"integer\",\"example\":42},\"groupId\":{\"description\":\"Group ID\",\"type\":\"integer\",\"example\":42},\"keyName\":{\"description\":\"Key Name\",\"type\":\"string\",\"example\":\"value\"},\"groupName\":{\"description\":\"Group Name\",\"type\":\"string\",\"example\":\"value\"},\"keyDescription\":{\"description\":\"Key Description\",\"type\":[\"string\",\"null\"],\"example\":\"value\"},\"groupDescription\":{\"description\":\"Key Description\",\"type\":[\"string\",\"null\"],\"example\":\"value\"}},\"type\":\"object\"},\"ColumnSchema\":{\"title\":\"Column\",\"required\":[\"key\",\"locale\",\"group\"],\"properties\":{\"key\":{\"description\":\"Key of the Column\",\"type\":\"string\",\"example\":\"id\"},\"locale\":{\"description\":\"Locale of the Column\",\"type\":[\"string\",\"null\"],\"example\":\"de\"},\"group\":{\"description\":\"Define the group structure\",\"type\":\"object\",\"example\":[\"system\"]}},\"type\":\"object\"},\"ConfigLayoutDefinition\":{\"title\":\"Config Layout Definition\",\"required\":[\"name\",\"type\",\"region\",\"title\",\"width\",\"height\",\"collapsible\",\"collapsed\",\"bodyStyle\",\"datatype\",\"children\",\"locked\",\"fieldtype\",\"layout\",\"border\",\"icon\",\"labelWidth\",\"labelAlign\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"name\":{\"description\":\"Name\",\"type\":[\"string\",\"null\"],\"example\":null},\"type\":{\"description\":\"Type\",\"type\":[\"string\",\"null\"],\"example\":null},\"region\":{\"description\":\"Region\",\"type\":[\"string\",\"null\"],\"example\":null},\"title\":{\"description\":\"Title\",\"type\":[\"string\",\"null\"],\"example\":null},\"width\":{\"description\":\"Width\",\"type\":\"integer\",\"example\":0},\"height\":{\"description\":\"Height\",\"type\":\"integer\",\"example\":0},\"collapsible\":{\"description\":\"Collapsible\",\"type\":\"boolean\",\"example\":false},\"collapsed\":{\"description\":\"Collapsed\",\"type\":\"boolean\",\"example\":false},\"bodyStyle\":{\"description\":\"Body Style\",\"type\":[\"string\",\"null\"],\"example\":null},\"datatype\":{\"description\":\"Data Type\",\"type\":\"string\",\"example\":\"layout\"},\"children\":{\"description\":\"Children\",\"type\":\"array\",\"items\":{\"type\":\"object\"},\"example\":[]},\"locked\":{\"description\":\"Locked\",\"type\":\"boolean\",\"example\":false},\"fieldtype\":{\"description\":\"Field Type\",\"type\":\"string\",\"example\":\"panel\"},\"layout\":{\"description\":\"Layout\",\"type\":[\"string\",\"null\"],\"example\":null},\"border\":{\"description\":\"Border\",\"type\":\"boolean\",\"example\":false},\"icon\":{\"description\":\"Icon\",\"type\":[\"string\",\"null\"],\"example\":null},\"labelWidth\":{\"description\":\"Label Width\",\"type\":\"integer\",\"example\":100},\"labelAlign\":{\"description\":\"Label Align\",\"type\":\"string\",\"example\":\"left\"}},\"type\":\"object\"},\"ConvertedQuantityValue\":{\"title\":\"Converted quantity values\",\"required\":[\"unitAbbreviation\",\"unitLongName\",\"convertedValue\"],\"properties\":{\"unitAbbreviation\":{\"description\":\"Unit Abbreviation\",\"type\":\"string\",\"example\":\"m\"},\"unitLongName\":{\"description\":\"Unit Long Name\",\"type\":\"string\",\"example\":\"Meter\"},\"convertedValue\":{\"description\":\"Converted Values\",\"type\":\"number\",\"format\":\"float\",\"example\":160}},\"type\":\"object\"},\"ConvertedQuantityValues\":{\"title\":\"Converted quantity values\",\"required\":[\"originalValue\",\"fromUnitId\",\"convertedValues\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"originalValue\":{\"description\":\"Original Value\",\"example\":5,\"anyOf\":[{\"type\":\"float\"},{\"type\":\"integer\"}]},\"fromUnitId\":{\"description\":\"From Unit Id\",\"type\":\"string\",\"example\":\"m\"},\"convertedValues\":{\"description\":\"Converted Values\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ConvertedQuantityValue\"}}},\"type\":\"object\"},\"SaveElementTreeWidgetConfig\":{\"title\":\"Create Element Tree Widget Config\",\"required\":[\"id\",\"name\",\"icon\",\"contextPermissions\",\"elementType\",\"rootFolder\",\"showRoot\",\"classes\",\"pql\",\"pageSize\"],\"properties\":{\"id\":{\"description\":\"Widget ID\",\"type\":\"string\",\"example\":\"5026c239_eb75_499a_8576_841bca283350\"},\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"Cars\"},\"icon\":{\"$ref\":\"#/components/schemas/ElementIcon\",\"description\":\"Icon\"},\"contextPermissions\":{\"description\":\"Context Permissions\",\"type\":\"object\",\"example\":{\"add\":true,\"addFolder\":true,\"changeChildrenSortBy\":true,\"copy\":true,\"cut\":true,\"delete\":true,\"lock\":true,\"lockAndPropagate\":true,\"paste\":true,\"publish\":true,\"refresh\":true,\"rename\":true,\"searchAndMove\":true,\"unlock\":true,\"unlockAndPropagate\":true,\"unpublish\":true}},\"elementType\":{\"description\":\"Element Type\",\"type\":\"string\",\"example\":\"data-object\"},\"rootFolder\":{\"description\":\"Root Folder\",\"type\":\"string\",\"example\":\"/Product Data/Cars\"},\"showRoot\":{\"description\":\"Show Root\",\"type\":\"boolean\",\"example\":false},\"classes\":{\"description\":\"Classes\",\"type\":\"object\",\"example\":[\"CAR\"]},\"pql\":{\"description\":\"PQL\",\"type\":[\"string\",\"null\"],\"example\":null},\"pageSize\":{\"description\":\"Page size\",\"type\":[\"integer\",\"null\"],\"example\":20}},\"type\":\"object\"},\"CreateNotificationsWidgetConfig\":{\"title\":\"Create Notifications Widget Config\",\"required\":[\"page\",\"pageSize\",\"dateFilterValue\",\"dateFilterOperator\",\"senderFilter\",\"typeFilter\",\"onlyUnread\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/CreateWidgetConfig\"},{\"properties\":{\"page\":{\"description\":\"Page\",\"type\":\"integer\",\"example\":1},\"pageSize\":{\"description\":\"Page Size\",\"type\":\"integer\",\"example\":1},\"dateFilterValue\":{\"description\":\"Date Filter Value\",\"type\":[\"string\",\"null\"],\"example\":\"08/20/2024\"},\"dateFilterOperator\":{\"description\":\"Date Filter Operator\",\"type\":[\"string\",\"null\"],\"example\":\"on\"},\"senderFilter\":{\"description\":\"Sender Filter \",\"type\":[\"integer\",\"null\"],\"example\":20},\"typeFilter\":{\"description\":\"Type Filter \",\"type\":[\"string\",\"null\"],\"example\":\"info\"},\"onlyUnread\":{\"description\":\"Filter Only Unread Notifications \",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"}]},\"SavePerspectiveConfig\":{\"title\":\"Create Perspective Config\",\"required\":[\"icon\",\"contextPermissions\",\"widgetsLeft\",\"widgetsRight\",\"widgetsBottom\",\"expandedLeft\",\"expandedRight\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/AddPerspectiveConfig\"},{\"properties\":{\"icon\":{\"$ref\":\"#/components/schemas/ElementIcon\",\"description\":\"Icon\"},\"contextPermissions\":{\"description\":\"Context Permissions\",\"type\":\"object\"},\"widgetsLeft\":{\"description\":\"Widgets Left\",\"type\":\"object\",\"example\":{\"widget_id\":\"widget_type\"}},\"widgetsRight\":{\"description\":\"Widgets Right\",\"type\":\"object\",\"example\":{\"widget_id\":\"widget_type\"}},\"widgetsBottom\":{\"description\":\"Widgets Bottom\",\"type\":\"object\",\"example\":{\"widget_id\":\"widget_type\"}},\"expandedLeft\":{\"description\":\"Left Expanded Widget\",\"type\":[\"string\",\"null\"],\"example\":\"widget_id\"},\"expandedRight\":{\"description\":\"Right Expanded Widget\",\"type\":[\"string\",\"null\"],\"example\":\"widget_id\"}},\"type\":\"object\"}]},\"CreateRecentlyModifiedWidgetConfig\":{\"title\":\"Create Recently Modified Widget Config\",\"required\":[\"elementType\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/CreateWidgetConfig\"},{\"properties\":{\"elementType\":{\"description\":\"Element Type\",\"type\":\"string\",\"example\":\"asset\"}},\"type\":\"object\"}]},\"CreateTagParameters\":{\"title\":\"Create Tag Parameters\",\"description\":\"Parameters for creating a new tag\",\"properties\":{\"parentId\":{\"description\":\"Parent id\",\"type\":\"integer\",\"example\":0},\"name\":{\"description\":\"Tag name\",\"type\":\"string\",\"example\":\"tag 1\"}},\"type\":\"object\"},\"CreateThumbnailConfig\":{\"title\":\"Create Thumbnail Config\",\"required\":[\"name\"],\"properties\":{\"name\":{\"description\":\"Thumbnail configuration name\",\"type\":\"string\",\"example\":\"my-thumbnail\"}},\"type\":\"object\"},\"CreateUnitParameters\":{\"title\":\"Create Unit Parameters\",\"required\":[\"id\"],\"properties\":{\"id\":{\"description\":\"Unique unit ID\",\"type\":\"string\",\"example\":\"mm\"},\"abbreviation\":{\"description\":\"Abbreviation\",\"type\":[\"string\",\"null\"],\"example\":\"mm\"},\"longname\":{\"description\":\"Long name\",\"type\":[\"string\",\"null\"],\"example\":\"Millimeter\"},\"group\":{\"description\":\"Group\",\"type\":[\"string\",\"null\"],\"example\":\"Length\"},\"baseunit\":{\"description\":\"Base unit ID\",\"type\":[\"string\",\"null\"],\"example\":\"m\"},\"factor\":{\"description\":\"Conversion factor\",\"type\":[\"number\",\"null\"],\"example\":0.001},\"conversionOffset\":{\"description\":\"Conversion offset\",\"type\":[\"number\",\"null\"],\"example\":null},\"converter\":{\"description\":\"Converter service class\",\"type\":[\"string\",\"null\"],\"example\":null},\"reference\":{\"description\":\"Reference\",\"type\":[\"string\",\"null\"],\"example\":null}},\"type\":\"object\"},\"CreateWidgetConfig\":{\"title\":\"Create Widget Config\",\"required\":[\"id\",\"name\",\"icon\",\"color\",\"visualization\"],\"properties\":{\"id\":{\"description\":\"Widget ID\",\"type\":\"string\",\"example\":\"5026c239_eb75_499a_8576_841bca283350\"},\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"My Widget\"},\"icon\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/ElementIcon\",\"description\":\"Icon\"},{\"type\":\"null\"}],\"description\":\"Icon\"},\"color\":{\"description\":\"Color\",\"type\":\"string\",\"example\":\"#FF5733\"},\"visualization\":{\"description\":\"Visualization\",\"type\":[\"string\",\"null\"],\"example\":\"table\"}},\"type\":\"object\"},\"CreateWysiwygWidgetConfig\":{\"title\":\"Create Wysiwyg Widget Config\",\"required\":[\"wysiwyg\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/CreateWidgetConfig\"},{\"properties\":{\"wysiwyg\":{\"description\":\"Wysiwyg Content\",\"type\":[\"string\",\"null\"],\"example\":\"<p>Hello World</p>\"}},\"type\":\"object\"}]},\"CreateNote\":{\"title\":\"CreateNote\",\"required\":[\"title\",\"description\",\"type\"],\"properties\":{\"title\":{\"description\":\"title\",\"type\":\"string\",\"example\":\"Title of note\"},\"description\":{\"description\":\"description\",\"type\":\"string\",\"example\":\"Description of note\"},\"type\":{\"description\":\"type\",\"type\":\"string\",\"example\":\"Type of note\"}},\"type\":\"object\"},\"Credentials\":{\"title\":\"Credentials\",\"description\":\"Credentials for authentication\",\"required\":[\"username\",\"password\"],\"properties\":{\"username\":{\"description\":\"Username\",\"type\":\"string\",\"example\":\"shaquille.oatmeal\"},\"password\":{\"description\":\"Password\",\"type\":\"string\",\"example\":\"*****\"}},\"type\":\"object\"},\"CustomLayoutIdentifierData\":{\"title\":\"Custom Layout Identifier Data\",\"required\":[\"suggestedId\",\"existingIds\",\"existingNames\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"suggestedId\":{\"description\":\"Suggested unique ID for custom layout\",\"type\":\"string\",\"example\":\"custom_layout_1\"},\"existingIds\":{\"description\":\"Array of existing custom layout IDs\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":[\"custom_layout_1\",\"custom_layout_2\",\"custom_layout_3\"]},\"existingNames\":{\"description\":\"Array of existing custom layout names\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":[\"Custom Layout 1\",\"Custom Layout 2\",\"Custom Layout 3\"]}},\"type\":\"object\"},\"CustomLayout\":{\"title\":\"Custom layouts\",\"required\":[\"id\",\"name\",\"description\",\"creationDate\",\"modificationDate\",\"userOwner\",\"classId\",\"default\",\"layoutDefinition\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Id of custom layout\",\"type\":\"string\",\"example\":\"custom_layout_1\"},\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"Custom Layout 1\"},\"description\":{\"description\":\"Description\",\"type\":\"string\",\"example\":\"This is a custom layout\"},\"creationDate\":{\"description\":\"Creation date timestamp\",\"type\":\"integer\",\"example\":1633036800},\"modificationDate\":{\"description\":\"Modification date timestamp\",\"type\":\"integer\",\"example\":1633036800},\"userOwner\":{\"description\":\"User id of owner\",\"type\":\"integer\",\"example\":1},\"classId\":{\"description\":\"Class id\",\"type\":\"string\",\"example\":\"Product\"},\"default\":{\"description\":\"Whether it is the default layout\",\"type\":\"boolean\",\"example\":false},\"layoutDefinition\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/Layout\",\"description\":\"Layout definitions\"},{\"type\":\"null\"}],\"description\":\"Layout definitions\",\"type\":\"object\"}},\"type\":\"object\"},\"CustomLayoutCompact\":{\"title\":\"Custom layouts in compact format to be used for e.g. listings\",\"required\":[\"id\",\"name\",\"default\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Id of custom layout\",\"type\":\"string\",\"example\":\"custom_layout_1\"},\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"Custom Layout 1\"},\"default\":{\"description\":\"Whether it is the default layout\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"},\"CustomAttributes\":{\"title\":\"CustomAttributes\",\"description\":\"Custom attributes used mainly for the tree\",\"required\":[\"icon\",\"tooltip\",\"additionalIcons\",\"key\",\"additionalCssClasses\"],\"properties\":{\"icon\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/ElementIcon\",\"description\":\"Custom Icon\"},{\"type\":\"null\"}],\"description\":\"Custom Icon\"},\"tooltip\":{\"description\":\"Custom Tooltip\",\"type\":[\"string\",\"null\"],\"example\":\"<b>My Tooltip</b>\"},\"additionalIcons\":{\"description\":\"AdditionalIcons\",\"type\":\"array\",\"items\":{\"type\":\"string\",\"example\":\"some_other_icon\"}},\"key\":{\"description\":\"Custom Key/Filename\",\"type\":[\"string\",\"null\"],\"example\":\"my_custom_key\"},\"additionalCssClasses\":{\"description\":\"Additional Css Classes\",\"type\":\"array\",\"items\":{\"type\":\"string\",\"example\":\"my_custom_class\"}}},\"type\":\"object\"},\"CustomMetadata\":{\"title\":\"CustomMetadata\",\"required\":[\"name\",\"language\",\"type\",\"data\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"custom_metadata\"},\"language\":{\"description\":\"Language\",\"type\":\"string\",\"example\":\"en\"},\"type\":{\"description\":\"Type\",\"type\":\"string\",\"example\":\"input\"},\"data\":{\"description\":\"Data\",\"type\":[\"mixed\",\"null\"],\"example\":\"data\"}},\"type\":\"object\"},\"CustomMetadataVersion\":{\"title\":\"CustomMetadataVersion\",\"required\":[\"name\",\"type\",\"data\"],\"properties\":{\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"custom_metadata\"},\"language\":{\"description\":\"Language\",\"type\":[\"string\",\"null\"],\"example\":\"en\"},\"type\":{\"description\":\"Type\",\"type\":\"string\",\"example\":\"input\"},\"data\":{\"description\":\"Data\",\"type\":[\"string\",\"null\"],\"example\":\"data\"}},\"type\":\"object\"},\"CustomSettings\":{\"title\":\"CustomSettings\",\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"fixedCustomSettings\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/FixedCustomSettings\",\"description\":\"fixed custom settings\"},{\"type\":\"null\"}],\"description\":\"fixed custom settings\",\"example\":\"{ embeddedMetadata: { FileSize: 360 KiB }, checksum: b3685e8348e7ac4d30d0268f7e58902a }\"},\"dynamicCustomSettings\":{\"description\":\"dynamic custom settings - can be any key-value pair\",\"type\":\"array\",\"items\":{\"type\":\"object\"},\"example\":\"[{ imageWidth: 1280 }, { imageHeight: 720 }]\"}},\"type\":\"object\"},\"DashboardConfiguration\":{\"title\":\"Dashboard Configuration\",\"required\":[\"id\",\"name\",\"rows\",\"ownerId\",\"ownerUsername\",\"isWriteable\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Unique identifier for the dashboard\",\"type\":\"string\",\"example\":\"5026c239_eb75_499a_8576_841bca283350\"},\"name\":{\"description\":\"Name of the dashboard\",\"type\":\"string\",\"example\":\"My Dashboard\"},\"ownerId\":{\"description\":\"ID of the owner of the dashboard\",\"type\":\"integer\",\"example\":1},\"ownerUsername\":{\"description\":\"Username of the owner of the dashboard\",\"type\":\"string\",\"example\":\"john_doe\"},\"rows\":{\"description\":\"Number of rows in the dashboard\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/LayoutOption\"}},\"isWriteable\":{\"description\":\"Is Writeable\",\"type\":\"boolean\",\"example\":true},\"shareGlobally\":{\"description\":\"If Dashboard is shared globally\",\"type\":\"boolean\",\"example\":true},\"sharedUserNames\":{\"description\":\"List of names the Dashboard is shared with\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":[\"jane_doe\",\"max_mustermann\"]},\"sharedRoleNames\":{\"description\":\"List of roles the Dashboard is shared with\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":[\"jane_doe\",\"max_mustermann\"]},\"menuShortcutGroup\":{\"description\":\"Name of the group in the Menu\",\"type\":[\"string\",\"null\"],\"example\":\"My Dashboard\"}},\"type\":\"object\"},\"DashboardsWidgetConfig\":{\"title\":\"Dashboards Widget Config\",\"required\":[\"id\",\"name\",\"widgetType\",\"icon\",\"visualization\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Widget ID\",\"type\":\"string\",\"example\":\"5026c239_eb75_499a_8576_841bca283350\"},\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"Cars\"},\"widgetType\":{\"description\":\"Widget Type\",\"type\":\"string\",\"example\":\"wysiwyg\"},\"icon\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/ElementIcon\",\"description\":\"Icon\"},{\"type\":\"null\"}],\"description\":\"Icon\"},\"visualization\":{\"description\":\"Visualization\",\"type\":[\"string\",\"null\"],\"example\":\"table\"}},\"type\":\"object\"},\"DashboardsWidgetConfigConfiguration\":{\"title\":\"Dashboards Widget Config Configuration\",\"required\":[\"name\",\"options\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"name\":{\"description\":\"Name of the configuration\",\"type\":[\"string\",\"null\"],\"example\":\"elementType\"},\"options\":{\"description\":\"Configuration options\",\"type\":\"object\",\"example\":[\"asset\"]}},\"type\":\"object\"},\"DashboardsWidgetType\":{\"title\":\"Dashboards Widget Type\",\"required\":[\"id\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"id\",\"type\":\"string\",\"example\":\"last_changes\"}},\"type\":\"object\"},\"CloneParameters\":{\"title\":\"Data Object Clone Parameters\",\"required\":[\"recursive\",\"updateReferences\"],\"properties\":{\"recursive\":{\"description\":\"Recursive\",\"type\":\"boolean\",\"example\":false},\"updateReferences\":{\"description\":\"Update References\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"},\"DataObjectFolder\":{\"title\":\"Data Object Folder\",\"required\":[\"hasWorkflowAvailable\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/DataObject\"},{\"properties\":{\"hasWorkflowAvailable\":{\"description\":\"Has workflow available\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"}]},\"DataObjectPermissions\":{\"title\":\"Data Object Permissions\",\"required\":[\"save\",\"unpublish\",\"localizedEdit\",\"localizedView\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/Permissions\"},{\"properties\":{\"save\":{\"description\":\"Save\",\"type\":\"boolean\",\"example\":true},\"unpublish\":{\"description\":\"Unpublish\",\"type\":\"boolean\",\"example\":true},\"localizedEdit\":{\"description\":\"Localized Edit\",\"type\":[\"string\",\"null\"],\"example\":\"default\"},\"localizedView\":{\"description\":\"Localized View\",\"type\":[\"string\",\"null\"],\"example\":\"default\"}},\"type\":\"object\"}]},\"PreviewParameter\":{\"title\":\"Data Object Preview Parameters\",\"required\":[\"id\"],\"properties\":{\"id\":{\"description\":\"ID\",\"type\":\"integer\",\"example\":83},\"site\":{\"description\":\"Site\",\"type\":\"integer\",\"default\":0,\"example\":1}},\"type\":\"object\"},\"DataObjectDetail\":{\"title\":\"Data object with detail data\",\"required\":[\"objectData\",\"inheritanceData\",\"draftData\",\"allowInheritance\",\"showVariants\",\"hasPreview\",\"hasWorkflowAvailable\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/DataObject\"},{\"properties\":{\"showVariants\":{\"description\":\"Show variants\",\"type\":\"boolean\",\"example\":false},\"allowInheritance\":{\"description\":\"Inheritance allowed\",\"type\":\"boolean\",\"example\":false},\"hasPreview\":{\"description\":\"Has preview\",\"type\":\"boolean\",\"example\":false},\"hasWorkflowAvailable\":{\"description\":\"Has workflow available\",\"type\":\"boolean\",\"example\":false},\"objectData\":{\"description\":\"Detail object data\",\"type\":\"object\",\"example\":{\"fieldKey\":\"field value\"}},\"inheritanceData\":{\"description\":\"Inheritance object data\",\"type\":\"object\",\"example\":{\"fieldKey\":{}}},\"draftData\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/DataObjectDraftData\"},{\"type\":\"null\"}]}},\"type\":\"object\"}]},\"DataObject\":{\"title\":\"DataObject\",\"required\":[\"key\",\"className\",\"type\",\"published\",\"hasChildren\",\"hasWorkflowWithPermissions\",\"fullPath\",\"customAttributes\",\"permissions\",\"index\",\"childrenSortBy\",\"childrenSortOrder\",\"allowVariants\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/Element\"},{\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"customAttributes\":{\"$ref\":\"#/components/schemas/CustomAttributes\",\"description\":\"Custom attributes for the tree\"},\"key\":{\"description\":\"Key\",\"type\":\"string\",\"example\":\"Giulietta\"},\"className\":{\"description\":\"Class name\",\"type\":\"string\",\"example\":\"car\"},\"type\":{\"description\":\"Type\",\"type\":\"string\",\"example\":\"image\"},\"published\":{\"description\":\"Published\",\"type\":\"boolean\",\"example\":false},\"hasChildren\":{\"description\":\"Has children\",\"type\":\"boolean\",\"example\":false},\"hasWorkflowWithPermissions\":{\"description\":\"Workflow permissions\",\"type\":\"boolean\",\"example\":false},\"fullPath\":{\"description\":\"Full path\",\"type\":\"string\",\"example\":\"/path/to/dataObject\"},\"permissions\":{\"$ref\":\"#/components/schemas/DataObjectPermissions\"},\"index\":{\"description\":\"Custom index\",\"type\":\"integer\",\"example\":0},\"childrenSortBy\":{\"description\":\"Sort mode of children\",\"type\":\"string\",\"example\":\"index\"},\"childrenSortOrder\":{\"description\":\"Sort order of children\",\"type\":\"string\",\"example\":\"asc\"},\"allowVariants\":{\"description\":\"Allow variants\",\"type\":[\"boolean\",\"null\"],\"example\":false}},\"type\":\"object\"}]},\"DataObjectAddParameters\":{\"title\":\"DataObjectAdd\",\"required\":[\"key\",\"classId\",\"type\"],\"properties\":{\"key\":{\"description\":\"Key\",\"type\":\"string\",\"example\":\"my_new_data_object\"},\"classId\":{\"description\":\"Class Id\",\"type\":\"string\",\"example\":\"data_object_class_id\"},\"type\":{\"description\":\"Type\",\"type\":\"string\",\"enum\":[\"object\",\"variant\"],\"example\":\"object\"}},\"type\":\"object\"},\"DataObjectDraftData\":{\"title\":\"DataObjectDraftData\",\"required\":[\"id\",\"modificationDate\",\"isAutoSave\"],\"properties\":{\"id\":{\"description\":\"ID\",\"type\":\"integer\",\"example\":83},\"modificationDate\":{\"description\":\"Modification date\",\"type\":\"integer\",\"example\":1634025600},\"isAutoSave\":{\"description\":\"Is auto save\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"},\"DataObjectVersion\":{\"title\":\"DataObjectVersion\",\"required\":[\"allowInheritance\",\"showVariants\",\"hasPreview\",\"hasWorkflowAvailable\",\"key\",\"type\",\"hasChildren\",\"fullPath\",\"index\",\"allowVariants\",\"className\",\"published\",\"objectData\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/Element\"},{\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"showVariants\":{\"description\":\"Show variants\",\"type\":\"boolean\",\"example\":false},\"allowInheritance\":{\"description\":\"Inheritance allowed\",\"type\":\"boolean\",\"example\":false},\"hasPreview\":{\"description\":\"Has preview\",\"type\":\"boolean\",\"example\":false},\"hasWorkflowAvailable\":{\"description\":\"Has workflow available\",\"type\":\"boolean\",\"example\":false},\"key\":{\"description\":\"Key\",\"type\":\"string\",\"example\":\"Giulietta\"},\"type\":{\"description\":\"Type\",\"type\":\"string\",\"example\":\"image\"},\"hasChildren\":{\"description\":\"Has children\",\"type\":\"boolean\",\"example\":false},\"fullPath\":{\"description\":\"Full path\",\"type\":\"string\",\"example\":\"/path/to/dataObject\"},\"index\":{\"description\":\"Custom index\",\"type\":\"integer\",\"example\":0},\"className\":{\"description\":\"Class name\",\"type\":[\"string\",\"null\"],\"example\":\"car\"},\"published\":{\"description\":\"Published\",\"type\":[\"boolean\",\"null\"],\"example\":false},\"objectData\":{\"description\":\"Detail object data\",\"type\":\"object\",\"example\":{\"fieldKey\":\"field value\"}},\"allowVariants\":{\"description\":\"Allow variants\",\"type\":[\"boolean\",\"null\"],\"example\":false},\"properties\":{\"description\":\"Properties\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ElementProperty\"}}},\"type\":\"object\"}]},\"ElementProperty\":{\"title\":\"DataProperty\",\"required\":[\"key\",\"data\",\"type\",\"inheritable\",\"inherited\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"key\":{\"description\":\"key\",\"type\":\"string\",\"example\":\"key_of_the_property\"},\"data\":{\"description\":\"data\",\"type\":[\"mixed\",\"null\"],\"example\":\"123\"},\"type\":{\"description\":\"type\",\"type\":\"string\",\"example\":\"document\"},\"inheritable\":{\"description\":\"inheritable\",\"type\":\"boolean\",\"example\":false},\"inherited\":{\"description\":\"inherited\",\"type\":\"boolean\",\"example\":false},\"config\":{\"description\":\"config\",\"type\":[\"string\",\"null\"],\"example\":\"comma,separated,values\"},\"predefinedName\":{\"description\":\"predefinedName\",\"type\":[\"string\",\"null\"],\"example\":\"name of the predefined property\"},\"description\":{\"description\":\"description\",\"type\":[\"string\",\"null\"],\"example\":\"Description of the predefined property\"}},\"type\":\"object\"},\"DeleteInfo\":{\"title\":\"DeleteInfo\",\"required\":[\"hasDependencies\",\"canUseRecycleBin\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"hasDependencies\":{\"description\":\"hasDependencies\",\"type\":\"boolean\",\"example\":true},\"canUseRecycleBin\":{\"description\":\"canUseRecycleBin\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"},\"DeltaItem\":{\"title\":\"Delta Item\",\"description\":\"Translation delta item after merge\",\"required\":[\"key\",\"deltaValues\"],\"properties\":{\"key\":{\"description\":\"Key of the translation\",\"type\":\"string\",\"example\":\"car\"},\"deltaValues\":{\"description\":\"List of translation deltas for the given key\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/TranslationDeltaValues\"}}},\"type\":\"object\"},\"Dependency\":{\"title\":\"Dependency\",\"required\":[\"id\",\"path\",\"type\",\"subType\",\"published\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"id\",\"type\":\"integer\",\"example\":1020},\"path\":{\"description\":\"path\",\"type\":\"string\",\"example\":\"text\"},\"type\":{\"description\":\"type\",\"type\":\"string\",\"example\":\"asset\"},\"subType\":{\"description\":\"subType\",\"type\":\"string\",\"example\":\"image\"},\"published\":{\"description\":\"published\",\"type\":\"boolean\",\"example\":\"true\"}},\"type\":\"object\"},\"UserDependency\":{\"title\":\"Dependency to an Object\",\"description\":\"Dependency to an Object\",\"required\":[\"id\",\"path\",\"subtype\"],\"properties\":{\"id\":{\"description\":\"ID of the object\",\"type\":\"integer\",\"example\":42},\"path\":{\"description\":\"Path to the object\",\"type\":\"string\",\"example\":\"/path/to/object\"},\"subtype\":{\"description\":\"Subtype of the object\",\"type\":\"string\",\"example\":\"Car\"}},\"type\":\"object\"},\"DetailedRole\":{\"title\":\"Detailed User Role\",\"description\":\"Contains all information about a role\",\"required\":[\"id\",\"name\",\"classes\",\"parentId\",\"permissions\",\"docTypes\",\"websiteTranslationLanguagesEdit\",\"websiteTranslationLanguagesView\",\"assetWorkspaces\",\"dataObjectWorkspaces\",\"documentWorkspaces\",\"perspectives\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"ID of the User\",\"type\":\"integer\",\"example\":\"1\"},\"name\":{\"description\":\"Name of Folder or Role\",\"type\":[\"string\",\"null\"],\"example\":\"admin\"},\"classes\":{\"description\":\"Classes the user is allows to see\",\"type\":\"object\",\"example\":[\"CAR\"]},\"parentId\":{\"description\":\"Parent ID\",\"type\":[\"integer\",\"null\"],\"example\":2},\"permissions\":{\"description\":\"List of permissions for the user\",\"type\":\"object\",\"example\":[\"objects\",\"documents\"]},\"docTypes\":{\"description\":\"List of document types for the role\",\"type\":\"object\",\"example\":[\"1\",\"2\"]},\"websiteTranslationLanguagesEdit\":{\"type\":\"object\",\"example\":[\"de\",\"en\"]},\"websiteTranslationLanguagesView\":{\"type\":\"object\",\"example\":[\"de\"]},\"assetWorkspaces\":{\"description\":\"Asset Workspace\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/UserWorkspace\"}},\"dataObjectWorkspaces\":{\"description\":\"Data Object Workspace\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/UserWorkspace\"}},\"documentWorkspaces\":{\"description\":\"Document Workspace\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/UserWorkspace\"}},\"perspectives\":{\"description\":\"Allowed studio perspectives\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/PerspectiveConfig\"}}},\"type\":\"object\"},\"DevError\":{\"title\":\"DevError\",\"description\":\"Error with details for developers\",\"required\":[\"message\",\"details\"],\"properties\":{\"message\":{\"description\":\"Message\",\"type\":\"string\",\"example\":\"I got a bad feeling about this\"},\"details\":{\"description\":\"Details\",\"type\":\"string\",\"example\":\"Search your feelings. (Stack trace)\"}},\"type\":\"object\"},\"DocType\":{\"title\":\"DocType\",\"required\":[\"id\",\"name\",\"type\",\"group\",\"controller\",\"template\",\"priority\",\"creationDate\",\"modificationDate\",\"staticGeneratorEnabled\",\"writeable\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"ID\",\"type\":\"string\",\"example\":\"1\"},\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"Default Page\"},\"type\":{\"description\":\"Type\",\"type\":\"string\",\"example\":\"page\"},\"group\":{\"description\":\"Group\",\"type\":[\"string\",\"null\"],\"example\":\"Default\"},\"controller\":{\"description\":\"Controller\",\"type\":[\"string\",\"null\"],\"example\":\"App\\\\Controller\\\\DefaultController::indexAction\"},\"template\":{\"description\":\"Template\",\"type\":[\"string\",\"null\"],\"example\":\"@App/Resources/views/default.html.twig\"},\"priority\":{\"description\":\"Priority\",\"type\":\"integer\",\"example\":0},\"creationDate\":{\"description\":\"Creation date\",\"type\":[\"integer\",\"null\"],\"example\":null},\"modificationDate\":{\"description\":\"Modification date\",\"type\":[\"integer\",\"null\"],\"example\":null},\"staticGeneratorEnabled\":{\"description\":\"Static generator enabled\",\"type\":\"boolean\",\"example\":false},\"writeable\":{\"description\":\"Is writeable\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"},\"DocTypeType\":{\"title\":\"DocType Type\",\"required\":[\"name\",\"validTable\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"page\"},\"validTable\":{\"description\":\"Valid table\",\"type\":\"string\",\"example\":\"page\"},\"childrenSupported\":{\"description\":\"Children supported\",\"type\":\"boolean\",\"example\":false},\"directRoute\":{\"description\":\"Direct route\",\"type\":\"boolean\",\"example\":false},\"predefinedDocumentTypes\":{\"description\":\"Predefined document types\",\"type\":\"boolean\",\"example\":false},\"translatable\":{\"description\":\"Translatable\",\"type\":\"boolean\",\"example\":false},\"translatableInheritance\":{\"description\":\"Translatable Inheritance\",\"type\":\"boolean\",\"example\":false},\"onlyPrintableChildren\":{\"description\":\"Only printable children\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"},\"DocTypeAddParameters\":{\"title\":\"DocTypeAdd\",\"required\":[\"name\",\"type\"],\"properties\":{\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"New Document Type\"},\"type\":{\"description\":\"Type\",\"type\":\"string\",\"example\":\"page\"}},\"type\":\"object\"},\"DocTypeUpdateParameters\":{\"title\":\"DocTypeUpdate\",\"required\":[\"name\",\"type\",\"group\",\"controller\",\"template\",\"priority\",\"staticGeneratorEnabled\"],\"properties\":{\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"My docType\"},\"type\":{\"description\":\"Type\",\"type\":\"string\",\"example\":\"page\"},\"group\":{\"description\":\"Group\",\"type\":[\"string\",\"null\"],\"example\":\"Default\"},\"controller\":{\"description\":\"Controller\",\"type\":[\"string\",\"null\"],\"example\":\"App\\\\Controller\\\\DefaultController::indexAction\"},\"template\":{\"description\":\"Template\",\"type\":[\"string\",\"null\"],\"example\":\"@App/Resources/views/default.html.twig\"},\"priority\":{\"description\":\"Priority\",\"type\":\"integer\",\"example\":0},\"staticGeneratorEnabled\":{\"description\":\"Static generator enabled\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"},\"Document\":{\"title\":\"Document\",\"required\":[\"fullPath\",\"published\",\"type\",\"key\",\"index\",\"hasChildren\",\"hasWorkflowWithPermissions\",\"permissions\",\"isSite\",\"navigationExclude\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/Element\"},{\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"customAttributes\":{\"$ref\":\"#/components/schemas/CustomAttributes\",\"description\":\"Custom attributes for the tree\"},\"fullPath\":{\"description\":\"Full path\",\"type\":\"string\",\"example\":\"/path/to/document\"},\"published\":{\"description\":\"Published\",\"type\":\"boolean\",\"example\":false},\"type\":{\"description\":\"Type\",\"type\":\"string\",\"example\":\"link\"},\"key\":{\"description\":\"Key\",\"type\":\"string\",\"example\":\"page.html\"},\"index\":{\"description\":\"Custom index\",\"type\":\"integer\",\"example\":0},\"hasChildren\":{\"description\":\"Has children\",\"type\":\"boolean\",\"example\":false},\"hasWorkflowWithPermissions\":{\"description\":\"Workflow permissions\",\"type\":\"boolean\",\"example\":false},\"permissions\":{\"$ref\":\"#/components/schemas/DocumentPermissions\"},\"isSite\":{\"description\":\"Is document a site\",\"type\":\"boolean\",\"example\":false},\"navigationExclude\":{\"description\":\"Exclude document from navigation\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"}]},\"DocumentCloneParameters\":{\"title\":\"Document Clone Parameters\",\"required\":[\"language\",\"enableInheritance\",\"recursive\",\"updateReferences\"],\"properties\":{\"language\":{\"description\":\"Language for the new translation\",\"type\":[\"string\",\"null\"],\"example\":\"en\"},\"enableInheritance\":{\"description\":\"Enable Inheritance\",\"type\":\"boolean\",\"example\":false},\"recursive\":{\"description\":\"Recursive\",\"type\":\"boolean\",\"example\":false},\"updateReferences\":{\"description\":\"Update References\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"},\"DocumentController\":{\"title\":\"Document Controller\",\"required\":[\"name\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"App\\\\Controller\\\\ContentController::indexAction\"}},\"type\":\"object\"},\"DocumentDetail\":{\"title\":\"Document Detail Data\",\"required\":[\"editableData\",\"missingRequiredEditable\",\"settingsData\",\"draftData\",\"hasWorkflowAvailable\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/Document\"},{\"properties\":{\"editableData\":{\"description\":\"Document Editable Data\",\"type\":\"object\",\"example\":{\"editable\":\"value\"}},\"missingRequiredEditable\":{\"description\":\"Is missing required editable\",\"type\":\"boolean\",\"example\":false},\"settingsData\":{\"description\":\"Document Settings Data\",\"type\":\"object\",\"example\":{\"title\":\"Some Title\",\"description\":\"Some Description\",\"prettyUrl\":\"pretty/url\",\"controller\":\"App\\\\Controller\\\\PageController\",\"template\":\"@app/template.html.twig\",\"contentMainDocumentId\":123,\"contentMainDocumentPath\":\"/path/to/main/document\",\"supportsContentMain\":false,\"missingRequiredEditable\":false,\"staticGeneratorEnabled\":false,\"staticGeneratorLifetime\":123456,\"staticLastGenerated\":1700000000,\"url\":\"https://example.com/\"}},\"draftData\":{\"$ref\":\"#/components/schemas/PageSnippetDraftData\"},\"hasWorkflowAvailable\":{\"description\":\"Has workflow available\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"}]},\"DocumentPermissions\":{\"title\":\"Document Permissions\",\"required\":[\"save\",\"unpublish\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/Permissions\"},{\"properties\":{\"save\":{\"description\":\"Save\",\"type\":\"boolean\",\"example\":true},\"unpublish\":{\"description\":\"Unpublish\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"}]},\"DocumentTemplate\":{\"title\":\"Document Template\",\"required\":[\"path\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"path\":{\"description\":\"Path\",\"type\":\"string\",\"example\":\"@App/Resources/views/default.html.twig\"}},\"type\":\"object\"},\"DocumentTranslationLink\":{\"title\":\"Document Translation Link\",\"required\":[\"language\",\"documentId\"],\"properties\":{\"language\":{\"description\":\"Language\",\"type\":\"string\",\"example\":\"en\"},\"documentId\":{\"description\":\"Document Id\",\"type\":\"integer\",\"example\":83}},\"type\":\"object\"},\"DocumentTranslationLinks\":{\"title\":\"Document Translation Links\",\"required\":[\"language\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"language\":{\"description\":\"Language\",\"type\":\"string\",\"example\":\"en\"},\"translationLinks\":{\"description\":\"Translation links\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/DocumentTranslationLink\"}}},\"type\":\"object\"},\"DocumentTranslationParent\":{\"title\":\"Document Translation Parent\",\"required\":[\"id\",\"fullPath\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Document Id\",\"type\":\"integer\",\"example\":83},\"fullPath\":{\"description\":\"Document full path\",\"type\":\"string\",\"example\":\"/path/to/document\"}},\"type\":\"object\"},\"DocumentType\":{\"title\":\"Document Type\",\"required\":[\"key\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"key\":{\"description\":\"key\",\"type\":\"string\",\"example\":\"page\"}},\"type\":\"object\"},\"DocumentAddParameters\":{\"title\":\"DocumentAdd\",\"required\":[\"key\",\"type\",\"title\",\"navigationName\",\"docTypeId\",\"template\",\"translationsSourceId\",\"language\",\"inheritanceSourceId\"],\"properties\":{\"key\":{\"description\":\"Key\",\"type\":\"string\",\"example\":\"my_new_document\"},\"type\":{\"description\":\"Type\",\"type\":\"string\",\"example\":\"page\"},\"title\":{\"description\":\"Title\",\"type\":[\"string\",\"null\"],\"example\":\"Some page title\"},\"navigationName\":{\"description\":\"Navigation name\",\"type\":[\"string\",\"null\"],\"example\":\"Some navigation name\"},\"docTypeId\":{\"description\":\"Document type ID\",\"type\":[\"string\",\"null\"],\"example\":\"page\"},\"template\":{\"description\":\"Document template\",\"type\":[\"string\",\"null\"],\"example\":\"default\"},\"translationsSourceId\":{\"description\":\"Id of the base document for new translation\",\"type\":[\"integer\",\"null\"],\"example\":33},\"language\":{\"description\":\"Document language when adding a translation\",\"type\":[\"string\",\"null\"],\"example\":\"en\"},\"inheritanceSourceId\":{\"description\":\"Id of the base document for content\",\"type\":[\"integer\",\"null\"],\"example\":33}},\"type\":\"object\"},\"DocumentVersion\":{\"title\":\"DocumentVersion\",\"required\":[\"modificationDate\",\"path\",\"published\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"modificationDate\":{\"description\":\"modification date\",\"type\":\"integer\",\"example\":1712823182},\"path\":{\"description\":\"path\",\"type\":\"string\",\"example\":\"/path/to/object\"},\"published\":{\"description\":\"published\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"},\"Element\":{\"title\":\"Element\",\"required\":[\"id\",\"parentId\",\"path\",\"icon\",\"userOwner\",\"userModification\",\"locked\",\"isLocked\",\"creationDate\",\"modificationDate\",\"elementType\"],\"properties\":{\"id\":{\"description\":\"ID\",\"type\":\"integer\",\"example\":83},\"parentId\":{\"description\":\"ID of parent\",\"type\":\"integer\",\"example\":1},\"path\":{\"description\":\"path\",\"type\":\"string\",\"example\":\"/path/to/element\"},\"icon\":{\"$ref\":\"#/components/schemas/ElementIcon\",\"description\":\"icon\"},\"userOwner\":{\"description\":\"ID of owner\",\"type\":\"integer\",\"example\":1},\"userModification\":{\"description\":\"User that modified the element\",\"type\":[\"integer\",\"null\"],\"example\":1},\"locked\":{\"description\":\"Locked\",\"type\":[\"string\",\"null\"],\"example\":\"locked\"},\"isLocked\":{\"description\":\"Is locked\",\"type\":\"boolean\",\"example\":false},\"creationDate\":{\"description\":\"Creation date\",\"type\":[\"integer\",\"null\"],\"example\":221846400},\"modificationDate\":{\"description\":\"Modification date\",\"type\":[\"integer\",\"null\"],\"example\":327417600},\"elementType\":{\"description\":\"elementType\",\"type\":\"string\",\"example\":\"asset\"}},\"type\":\"object\"},\"LocationData\":{\"title\":\"Element Location Data\",\"required\":[\"widgetId\",\"treeLevelData\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"widgetId\":{\"description\":\"Widget Id\",\"type\":\"string\",\"example\":\"d061699e_da42_4075_b504_c2c93c687819\"},\"treeLevelData\":{\"description\":\"Tree level data\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/TreeLevelData\"}}},\"type\":\"object\"},\"ElementPath\":{\"title\":\"Element Path\",\"required\":[\"elementPath\"],\"properties\":{\"elementPath\":{\"description\":\"Element Path\",\"type\":\"string\",\"example\":\"path/to/element\"}},\"type\":\"object\"},\"ElementTreeWidgetConfig\":{\"title\":\"Element Tree Widget\",\"required\":[\"contextPermissions\",\"elementType\",\"rootFolder\",\"showRoot\",\"classes\",\"pql\",\"pageSize\",\"isWriteable\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/WidgetConfig\"},{\"properties\":{\"contextPermissions\":{\"description\":\"Context Permissions\",\"type\":\"object\",\"example\":{\"add\":true,\"addFolder\":true,\"changeChildrenSortBy\":true,\"copy\":true,\"cut\":true,\"delete\":true,\"lock\":true,\"lockAndPropagate\":true,\"paste\":true,\"publish\":true,\"refresh\":true,\"rename\":true,\"searchAndMove\":true,\"unlock\":true,\"unlockAndPropagate\":true,\"unpublish\":true}},\"elementType\":{\"description\":\"Element Type\",\"type\":\"string\",\"example\":\"data-object\"},\"rootFolder\":{\"$ref\":\"#/components/schemas/RelatedElementData\",\"description\":\"Data of root folder element\"},\"showRoot\":{\"description\":\"Show Root\",\"type\":\"boolean\",\"example\":false},\"classes\":{\"description\":\"Classes\",\"type\":\"object\",\"example\":[\"CAR\"]},\"pql\":{\"description\":\"PQL\",\"type\":[\"string\",\"null\"],\"example\":null},\"pageSize\":{\"description\":\"Page size\",\"type\":[\"integer\",\"null\"],\"example\":20},\"isWriteable\":{\"description\":\"Is Writeable\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"}]},\"ElementUsage\":{\"title\":\"Element Usage\",\"required\":[\"data\",\"hasHidden\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"data\":{\"description\":\"Data\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ElementUsageItem\"}},\"hasHidden\":{\"description\":\"hasHidden\",\"type\":\"boolean\",\"example\":\"false\"},\"totalCount\":{\"description\":\"totalCount\",\"type\":\"integer\",\"example\":\"40\"}},\"type\":\"object\"},\"ElementUsageBaseItem\":{\"title\":\"Element Usage Base Item\",\"required\":[\"id\",\"type\"],\"properties\":{\"id\":{\"description\":\"ID\",\"type\":\"integer\",\"example\":83},\"type\":{\"description\":\"type\",\"type\":\"string\",\"enum\":[\"data-object\",\"object\",\"asset\",\"document\"],\"example\":\"data-object\"}},\"type\":\"object\"},\"ElementUsageItem\":{\"title\":\"Element Usage Item\",\"required\":[\"id\",\"type\",\"path\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/ElementUsageBaseItem\"},{\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"ID\",\"type\":\"integer\",\"example\":9},\"type\":{\"description\":\"type\",\"type\":\"string\",\"example\":\"object\"},\"path\":{\"description\":\"path\",\"type\":\"string\",\"example\":\"/Product Data/Cars/jaguar/E-Type\"}},\"type\":\"object\"}]},\"ElementIcon\":{\"title\":\"ElementIcon\",\"required\":[\"type\",\"value\"],\"properties\":{\"type\":{\"description\":\"Icon type\",\"type\":\"string\",\"enum\":[\"name\",\"path\"],\"example\":\"path\"},\"value\":{\"description\":\"Icon value\",\"type\":\"string\",\"example\":\"/path/to/icon\"}},\"type\":\"object\"},\"EmailSettingsData\":{\"title\":\"Email Settings Data\",\"required\":[\"subject\",\"from\",\"replyTo\",\"to\",\"cc\",\"bcc\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/SnippetSettingsData\"},{\"properties\":{\"subject\":{\"description\":\"Subject\",\"type\":\"string\",\"example\":\"Some subject\"},\"from\":{\"description\":\"From\",\"type\":\"string\",\"example\":\"some-sender@email\"},\"replyTo\":{\"description\":\"Reply to\",\"type\":\"string\",\"example\":\"some-reply@email\"},\"to\":{\"description\":\"To\",\"type\":\"string\",\"example\":\"some-receiver@email\"},\"cc\":{\"description\":\"CC\",\"type\":\"string\",\"example\":\"some-copy@email\"},\"bcc\":{\"description\":\"BCC\",\"type\":\"string\",\"example\":\"some-hidden-copy@email\"}},\"type\":\"object\"}]},\"EmailDocumentParameters\":{\"title\":\"EmailDocumentParameters\",\"required\":[\"key\",\"value\"],\"properties\":{\"key\":{\"description\":\"parameter key\",\"type\":\"string\",\"example\":\"some_parameter_key\"},\"value\":{\"description\":\"parameter value\",\"type\":\"mixed\",\"example\":\"some_parameter_value\",\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"},{\"type\":\"null\"}]}},\"type\":\"object\"},\"EmailLogEntry\":{\"title\":\"EmailLog\",\"required\":[\"id\",\"sentDate\",\"hasHtmlLog\",\"hasTextLog\",\"hasError\",\"from\",\"to\",\"subject\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"id\",\"type\":\"integer\",\"example\":23},\"sentDate\":{\"description\":\"sent date\",\"type\":\"integer\",\"example\":1707312457},\"hasHtmlLog\":{\"description\":\"HTML log exists\",\"type\":\"boolean\",\"example\":true},\"hasTextLog\":{\"description\":\"Text log exists\",\"type\":\"boolean\",\"example\":true},\"hasError\":{\"description\":\"Error occurred\",\"type\":\"boolean\",\"example\":true},\"from\":{\"description\":\"from\",\"type\":[\"string\",\"null\"],\"example\":\"from@pimcore.com\"},\"to\":{\"description\":\"to\",\"type\":[\"string\",\"null\"],\"example\":\"to@pimcore.com\"},\"subject\":{\"description\":\"subject\",\"type\":[\"string\",\"null\"],\"example\":\"E-Mail subject\"}},\"type\":\"object\"},\"EmailLogEntryDetail\":{\"title\":\"EmailLogDetail\",\"required\":[\"bcc\",\"cc\",\"error\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/EmailLogEntry\"},{\"properties\":{\"bcc\":{\"description\":\"bcc\",\"type\":[\"string\",\"null\"],\"example\":\"email@pimcore.com\"},\"cc\":{\"description\":\"cc\",\"type\":[\"string\",\"null\"],\"example\":\"email@pimcore.com\"},\"error\":{\"description\":\"error\",\"type\":[\"string\",\"null\"],\"example\":\"Some error occurred\"}},\"type\":\"object\"}]},\"ObjectParameter\":{\"title\":\"EmailLogObjectParameterData\",\"required\":[\"id\",\"type\",\"class\",\"path\"],\"properties\":{\"id\":{\"description\":\"id\",\"type\":\"integer\",\"example\":1020},\"elementType\":{\"description\":\"elementType\",\"type\":\"string\",\"example\":\"object\"},\"type\":{\"description\":\"type\",\"type\":\"string\",\"example\":\"object\"},\"class\":{\"description\":\"class\",\"type\":\"string\",\"example\":\"AppBundle\\\\Model\\\\MyObject\"},\"path\":{\"description\":\"path\",\"type\":\"string\",\"example\":\"/path/to/object\"}},\"type\":\"object\"},\"EmailLogEntryParameter\":{\"title\":\"EmailLogParameters\",\"required\":[\"name\",\"value\",\"objectData\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"name\":{\"description\":\"name\",\"type\":\"string\",\"example\":\"myParameter\"},\"value\":{\"description\":\"value\",\"type\":[\"string\",\"null\"],\"example\":\"Some value\"},\"objectData\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/ObjectParameter\",\"description\":\"data for object parameters\"},{\"type\":\"null\"}],\"description\":\"data for object parameters\"}},\"type\":\"object\"},\"Error\":{\"title\":\"Error\",\"description\":\"Bad credentials or missing token, bad request, method not allowed, etc.\",\"required\":[\"message\"],\"properties\":{\"message\":{\"description\":\"Message\",\"type\":\"string\",\"example\":\"I am an error message\"}},\"type\":\"object\"},\"ExportAllFilter\":{\"title\":\"Export All Filter\",\"description\":\"Contains all data that is needed to get all the data for the column.\",\"required\":[\"columnFilters\",\"sortFilter\"],\"properties\":{\"columnFilters\":{\"description\":\"Column Filter\",\"type\":\"object\",\"example\":\"[{\\\"key\\\":\\\"name\\\",\\\"type\\\": \\\"metadata.object\\\",\\\"filterValue\\\": 1, \\\"locale\\\":\\\"de\\\"}]\"},\"sortFilter\":{\"description\":\"Sort Filter\",\"type\":\"object\",\"example\":\"{\\\"key\\\":\\\"id\\\",\\\"direction\\\": \\\"ASC\\\"}\"}},\"type\":\"object\"},\"FieldCollectionConfig\":{\"title\":\"Field Collection Configuration\",\"required\":[\"key\",\"title\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"key\":{\"description\":\"Key\",\"type\":\"string\",\"example\":\"MyFieldCollection\"},\"title\":{\"description\":\"Title\",\"type\":\"string\",\"example\":\"My Field Collection\"}},\"type\":\"object\"},\"FieldCollectionDetail\":{\"title\":\"Field Collection Detail\",\"required\":[\"key\",\"title\",\"group\",\"parentClass\",\"implementsInterfaces\",\"blockedVarsForExport\",\"isWriteable\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"key\":{\"description\":\"Key\",\"type\":\"string\",\"example\":\"MyFieldCollection\"},\"title\":{\"description\":\"Title\",\"type\":[\"string\",\"null\"],\"example\":\"My Field Collection\"},\"group\":{\"description\":\"Group\",\"type\":[\"string\",\"null\"],\"example\":\"system\"},\"parentClass\":{\"description\":\"Namespace of parent class\",\"type\":[\"string\",\"null\"],\"example\":\"App\\\\Model\\\\DataObject\\\\FieldCollection\"},\"implementsInterfaces\":{\"description\":\"Interface implementations\",\"type\":[\"string\",\"null\"],\"example\":\"App\\\\Model\\\\DataObject\\\\Interface\"},\"blockedVarsForExport\":{\"description\":\"Blocked variables for export\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":[]},\"isWriteable\":{\"description\":\"Whether the field collection definition can be written to\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"},\"FieldCollectionLayoutDefinition\":{\"title\":\"Field Collection Layout Definition\",\"required\":[\"key\",\"title\",\"width\",\"height\",\"collapsible\",\"collapsed\",\"datatype\",\"children\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"key\":{\"description\":\"Key of Field Collection\",\"type\":\"string\",\"example\":\"my_field_collection\"},\"datatype\":{\"description\":\"Data Type\",\"type\":\"string\",\"example\":\"layout\"},\"group\":{\"description\":\"Group\",\"type\":[\"string\",\"null\"],\"example\":\"Group Name\"},\"name\":{\"description\":\"Name\",\"type\":[\"string\",\"null\"],\"example\":\"Layout\"},\"type\":{\"description\":\"Type\",\"type\":[\"string\",\"null\"],\"example\":\"object\"},\"region\":{\"description\":\"Region\",\"type\":[\"string\",\"null\"],\"example\":\"main\"},\"title\":{\"description\":\"Title\",\"type\":[\"string\",\"null\"],\"example\":\"My Field Collection\"},\"width\":{\"description\":\"Width\",\"type\":\"integer\",\"example\":0},\"height\":{\"description\":\"Height\",\"type\":\"integer\",\"example\":0},\"collapsible\":{\"description\":\"Collapsible\",\"type\":\"boolean\",\"example\":false},\"collapsed\":{\"description\":\"collapsed\",\"type\":\"boolean\",\"example\":false},\"children\":{\"description\":\"Children\",\"type\":\"object\",\"example\":[]}},\"type\":\"object\"},\"FieldCollectionTreeNodeFolder\":{\"title\":\"Field Collection Tree Node Folder\",\"required\":[\"key\",\"title\",\"icon\",\"children\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"key\":{\"description\":\"Key of folder with group_ prefix\",\"type\":\"string\",\"example\":\"group_News\"},\"name\":{\"description\":\"Group name\",\"type\":\"string\",\"example\":\"News\"},\"icon\":{\"$ref\":\"#/components/schemas/ElementIcon\",\"description\":\"icon\"},\"group\":{\"description\":\"Group\",\"type\":\"string\",\"example\":\"News\"},\"children\":{\"description\":\"Child nodes\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/FieldCollectionTreeNode\"}}},\"type\":\"object\"},\"FieldCollectionTreeNode\":{\"title\":\"Field Collection Tree Node Item\",\"required\":[\"key\",\"name\",\"icon\",\"group\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"key\":{\"description\":\"Key of field collection\",\"type\":\"string\",\"example\":\"myCollection\"},\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"My Collection\"},\"icon\":{\"$ref\":\"#/components/schemas/ElementIcon\",\"description\":\"icon\"},\"group\":{\"description\":\"Group name\",\"type\":[\"string\",\"null\"],\"example\":\"News\"}},\"type\":\"object\"},\"FieldCollectionUsageData\":{\"title\":\"Field Collection Usage Data\",\"required\":[\"class\",\"field\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"class\":{\"description\":\"Name of the class using the field collection\",\"type\":\"string\",\"example\":\"Car\"},\"field\":{\"description\":\"Name of the field in the class\",\"type\":\"string\",\"example\":\"myFieldCollection\"}},\"type\":\"object\"},\"FieldByType\":{\"title\":\"Field key by type\",\"required\":[\"key\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"key\":{\"description\":\"Field key\",\"type\":\"string\",\"example\":\"car\"}},\"type\":\"object\"},\"FixedCustomSettings\":{\"title\":\"FixedCustomSettings\",\"required\":[\"embeddedMetadata\",\"embeddedMetadataExtracted\"],\"properties\":{\"embeddedMetadata\":{\"description\":\"embedded meta data of the asset - array of any key-value pairs\",\"type\":\"array\",\"items\":{\"type\":\"object\"},\"example\":\"{ FileSize: \\\"265 KiB\\\", MIMEType: \\\"image/jpeg\\\" }\"},\"embeddedMetadataExtracted\":{\"description\":\"flag to indicate if the embedded meta data has been extracted from the asset\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"},\"FocalPoint\":{\"title\":\"FocalPoint\",\"required\":[\"x\",\"y\"],\"properties\":{\"x\":{\"description\":\"x Coordinate of FocalPoint\",\"type\":\"integer\",\"example\":50},\"y\":{\"description\":\"y Coordinate of FocalPoint\",\"type\":\"integer\",\"example\":50}},\"type\":\"object\"},\"FolderData\":{\"title\":\"Folder Data\",\"description\":\"Folder Data Scheme for API\",\"required\":[\"folderName\"],\"properties\":{\"folderName\":{\"description\":\"Folder Name\",\"type\":\"string\",\"example\":\"Awesome stuff inside\"}},\"type\":\"object\"},\"PortalEngineWizardFormat\":{\"title\":\"Format for Wizard\",\"required\":[\"id\",\"name\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Identifier of the format configuration\",\"type\":\"string\",\"example\":\"portal_default\"},\"name\":{\"description\":\"Display name of the format configuration\",\"type\":\"string\",\"example\":\"Portal Default\"}},\"type\":\"object\"},\"GdprDataProvider\":{\"title\":\"GDPR Data Provider\",\"description\":\"GDPR Data Extractor search source(e.g., \\\"Data Objects\\\", \\\"Pimcore user\\\").\",\"required\":[\"key\",\"label\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"key\":{\"description\":\"Unique key of the provider\",\"type\":\"string\",\"example\":\"data_objects\"},\"label\":{\"description\":\"Label of the provider\",\"type\":\"string\",\"example\":\"Data Objects\"}},\"type\":\"object\"},\"GdprDataRow\":{\"title\":\"GDPR Data Row\",\"description\":\"GDPR Data Row\",\"required\":[\"data\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"data\":{\"description\":\"Data row values\",\"type\":\"object\"}},\"type\":\"object\"},\"SearchTerms\":{\"title\":\"GDPR Search Terms\",\"description\":\"Object containing the values to search for. All fields are optional.\",\"properties\":{\"id\":{\"description\":\"The ID to search for.\",\"type\":[\"integer\",\"null\"],\"example\":3},\"firstname\":{\"description\":\"The first name to search for.\",\"type\":[\"string\",\"null\"],\"example\":\"John\"},\"lastname\":{\"description\":\"The last name to search for.\",\"type\":[\"string\",\"null\"],\"example\":\"Doe\"},\"email\":{\"description\":\"The email address to search for.\",\"type\":[\"string\",\"null\"],\"example\":\"john.doe@example.com\"}},\"type\":\"object\"},\"GlobalAction\":{\"title\":\"GlobalAction\",\"required\":[\"name\",\"label\",\"iconCls\",\"objectLayout\",\"notes\"],\"properties\":{\"name\":{\"description\":\"name\",\"type\":\"string\",\"example\":\"start_workflow\"},\"label\":{\"description\":\"label\",\"type\":\"string\",\"example\":\"Start Workflow\"},\"iconCls\":{\"description\":\"iconCls\",\"type\":\"string\",\"example\":\"pimcore_workflow_start\"},\"objectLayout\":{\"description\":\"objectLayout\",\"type\":\"boolean\",\"example\":false},\"notes\":{\"description\":\"notes\",\"type\":\"array\",\"items\":{\"type\":\"object\"},\"example\":{\"commentEnabled\":true,\"commentRequired\":true}}},\"type\":\"object\"},\"Column\":{\"title\":\"Grid Column Request\",\"description\":\"Contains all data that is needed to get all the data for the column.\",\"required\":[\"type\"],\"properties\":{\"key\":{\"description\":\"Key\",\"type\":\"string\",\"example\":\"id\"},\"locale\":{\"description\":\"Locale\",\"type\":[\"string\",\"null\"],\"example\":\"en\"},\"type\":{\"description\":\"Type\",\"type\":\"string\",\"example\":\"system.id\"},\"group\":{\"description\":\"Group\",\"type\":[\"array\",\"null\"],\"items\":{\"type\":\"string\"},\"example\":[\"system\"]},\"config\":{\"description\":\"Config\",\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"string\"},{\"$ref\":\"#/components/schemas/AdvancedColumnConfig\"}]},\"example\":{\"key\":\"value\"}}},\"type\":\"object\"},\"Filter\":{\"title\":\"Grid Filter\",\"description\":\"Contains all data that is needed to get all the data for the column.\",\"required\":[\"page\",\"pageSize\",\"includeDescendants\"],\"properties\":{\"page\":{\"description\":\"Page\",\"type\":\"integer\",\"example\":1},\"pageSize\":{\"description\":\"Page Size\",\"type\":\"integer\",\"example\":50},\"includeDescendants\":{\"description\":\"Include Descendant Items\",\"type\":\"boolean\",\"example\":false},\"columnFilters\":{\"description\":\"Column Filter\",\"type\":\"object\",\"example\":\"[{\\\"key\\\":\\\"name\\\",\\\"type\\\": \\\"metadata.object\\\",\\\"filterValue\\\": 1, \\\"locale\\\":\\\"de\\\"}]\"},\"sortFilter\":{\"description\":\"Sort Filter\",\"type\":\"object\",\"example\":\"{\\\"key\\\":\\\"id\\\",\\\"direction\\\": \\\"ASC\\\", \\\"locale\\\": \\\"en\\\"}\"}},\"type\":\"object\"},\"ColumnConfiguration\":{\"title\":\"GridColumnConfiguration\",\"description\":\"Contains all data to configure a grid column\",\"required\":[\"key\",\"group\",\"sortable\",\"editable\",\"localizable\",\"type\",\"config\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"key\":{\"description\":\"Key\",\"type\":\"string\",\"example\":\"id\"},\"group\":{\"description\":\"Define the group structure\",\"type\":\"object\",\"example\":[\"system\",\"id\"]},\"sortable\":{\"description\":\"Sortable\",\"type\":\"boolean\",\"example\":true},\"editable\":{\"description\":\"Editable\",\"type\":\"boolean\",\"example\":false},\"exportable\":{\"description\":\"Exportable\",\"type\":\"boolean\",\"example\":false},\"filterable\":{\"description\":\"Filterable\",\"type\":\"boolean\",\"example\":false},\"localizable\":{\"description\":\"Localizable\",\"type\":\"boolean\",\"example\":false},\"locale\":{\"description\":\"Locale\",\"type\":[\"string\",\"null\"],\"example\":\"en\"},\"type\":{\"description\":\"Type\",\"type\":\"string\",\"example\":\"integer\"},\"frontendType\":{\"description\":\"Frontend Type\",\"type\":\"string\",\"example\":\"integer\"},\"config\":{\"description\":\"Config\",\"type\":\"object\",\"example\":{\"key\":\"value\"}}},\"type\":\"object\"},\"ColumnData\":{\"title\":\"GridColumnData\",\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"key\":{\"description\":\"Key\",\"type\":\"string\",\"example\":\"id\"},\"locale\":{\"description\":\"Locale\",\"type\":[\"string\",\"null\"],\"example\":\"en\"},\"value\":{\"description\":\"Value\",\"type\":[\"mixed\",\"null\"],\"example\":73},\"fieldType\":{\"description\":\"Field Type of the column\",\"type\":[\"string\",\"null\"],\"example\":\"input\"},\"inheritance\":{\"description\":\"inheritance\",\"type\":[\"object\",\"null\"],\"example\":{\"objectId\":42,\"inInherited\":true}}},\"type\":\"object\"},\"Configuration\":{\"title\":\"GridConfiguration\",\"description\":\"Contains all data to configure a grid column\",\"required\":[\"id\",\"name\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"ID\",\"type\":\"integer\",\"example\":42},\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"My Configuration\"},\"description\":{\"description\":\"Description\",\"type\":[\"string\",\"null\"],\"example\":\"My Configuration Description\"}},\"type\":\"object\"},\"DetailedConfiguration\":{\"title\":\"GridDetailedConfiguration\",\"description\":\"Contains all data to configure a grid column\",\"required\":[\"name\",\"shareGlobal\",\"saveFilter\",\"setAsFavorite\",\"sharedUsers\",\"sharedRoles\",\"columns\",\"filter\",\"pageSize\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"My Configuration\"},\"description\":{\"description\":\"Description\",\"type\":[\"string\",\"null\"],\"example\":\"My Configuration Description\"},\"shareGlobal\":{\"description\":\"shareGlobal\",\"type\":\"boolean\",\"example\":false},\"saveFilter\":{\"description\":\"saveFilter\",\"type\":\"boolean\",\"example\":false},\"setAsFavorite\":{\"description\":\"setAsFavorite\",\"type\":\"boolean\",\"example\":false},\"sharedUsers\":{\"description\":\"sharedUsers\",\"type\":\"object\",\"example\":[42,1337]},\"sharedRoles\":{\"description\":\"sharedRoles\",\"type\":\"object\",\"example\":[42,1337]},\"columns\":{\"description\":\"columns\",\"type\":\"array\",\"items\":{\"anyOf\":[{\"$ref\":\"#/components/schemas/ColumnSchema\"},{\"$ref\":\"#/components/schemas/Column\"}]}},\"filter\":{\"description\":\"filter\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Filter\"}},\"pageSize\":{\"description\":\"Page Size\",\"type\":\"integer\",\"example\":42},\"modificationDate\":{\"description\":\"Modification Date\",\"type\":[\"integer\",\"null\"],\"example\":1634025600},\"creationDate\":{\"description\":\"Creation Date\",\"type\":[\"integer\",\"null\"],\"example\":1634025600},\"ownerId\":{\"description\":\"ID of the owner\",\"type\":[\"integer\",\"null\"],\"example\":42},\"id\":{\"description\":\"ID of the configuration\",\"type\":[\"integer\",\"null\"],\"example\":42}},\"type\":\"object\"},\"HardlinkSettingsData\":{\"title\":\"Hardlink settings data\",\"required\":[\"sourceId\",\"propertiesFromSource\",\"childrenFromSource\"],\"properties\":{\"sourceId\":{\"description\":\"Source ID\",\"type\":[\"integer\",\"null\"],\"example\":83},\"propertiesFromSource\":{\"description\":\"Properties from source\",\"type\":\"boolean\",\"example\":true},\"childrenFromSource\":{\"description\":\"Children from source\",\"type\":\"boolean\",\"example\":false},\"sourcePath\":{\"description\":\"Source path\",\"type\":[\"string\",\"null\"],\"example\":\"/path/to/source\"}},\"type\":\"object\"},\"Image\":{\"title\":\"Image\",\"required\":[\"format\",\"width\",\"height\",\"isVectorGraphic\",\"isAnimated\",\"imageThumbnailPath\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/Asset\"},{\"properties\":{\"format\":{\"description\":\"Format\",\"type\":\"string\",\"example\":\"muhFormat\"},\"width\":{\"description\":\"width\",\"type\":\"integer\",\"example\":666},\"height\":{\"description\":\"height\",\"type\":\"integer\",\"example\":333},\"isVectorGraphic\":{\"description\":\"is vector graphic\",\"type\":\"boolean\",\"example\":false},\"isAnimated\":{\"description\":\"is animated\",\"type\":\"boolean\",\"example\":false},\"imageThumbnailPath\":{\"description\":\"path to thumbnail\",\"type\":\"string\",\"example\":\"/path/to/element/hulk-smash.jpg\"}},\"type\":\"object\"}]},\"ImageThumbnailConfigDetail\":{\"title\":\"Image Thumbnail Config Detail\",\"required\":[\"settings\",\"writeable\",\"medias\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"settings\":{\"$ref\":\"#/components/schemas/ImageThumbnailSettings\",\"description\":\"Thumbnail settings\"},\"writeable\":{\"description\":\"Is configuration writeable\",\"type\":\"boolean\",\"example\":true},\"medias\":{\"description\":\"Media query configurations with transformation items\",\"type\":\"object\",\"example\":{\"default\":[{\"method\":\"cover\",\"arguments\":{\"width\":1920,\"height\":600,\"positioning\":\"center\",\"forceResize\":true}}]}}},\"type\":\"object\"},\"ImageThumbnailSettings\":{\"title\":\"Image Thumbnail Settings\",\"required\":[\"name\",\"description\",\"group\",\"format\",\"quality\",\"highResolution\",\"preserveColor\",\"forceProcessICCProfiles\",\"preserveMetaData\",\"rasterizeSVG\",\"useCropBox\",\"downloadable\",\"modificationDate\",\"creationDate\",\"filenameSuffix\",\"preserveAnimation\"],\"properties\":{\"name\":{\"description\":\"Thumbnail name\",\"type\":\"string\",\"example\":\"portalCarousel\"},\"description\":{\"description\":\"Thumbnail description\",\"type\":[\"string\",\"null\"],\"example\":\"\"},\"group\":{\"description\":\"Thumbnail group\",\"type\":[\"string\",\"null\"],\"example\":\"Areas\"},\"format\":{\"description\":\"Output format\",\"type\":\"string\",\"example\":\"SOURCE\"},\"quality\":{\"description\":\"Quality setting\",\"type\":\"integer\",\"example\":85},\"highResolution\":{\"description\":\"High resolution factor\",\"type\":[\"number\",\"null\"],\"example\":0},\"preserveColor\":{\"description\":\"Preserve color profile\",\"type\":\"boolean\",\"example\":false},\"forceProcessICCProfiles\":{\"description\":\"Force process ICC profiles\",\"type\":\"boolean\",\"example\":false},\"preserveMetaData\":{\"description\":\"Preserve meta data\",\"type\":\"boolean\",\"example\":false},\"rasterizeSVG\":{\"description\":\"Rasterize SVG\",\"type\":\"boolean\",\"example\":false},\"useCropBox\":{\"description\":\"Use crop box\",\"type\":\"boolean\",\"example\":false},\"downloadable\":{\"description\":\"Is downloadable\",\"type\":\"boolean\",\"example\":true},\"modificationDate\":{\"description\":\"Modification date timestamp\",\"type\":[\"integer\",\"null\"],\"example\":1755073298},\"creationDate\":{\"description\":\"Creation date timestamp\",\"type\":[\"integer\",\"null\"],\"example\":1565355190},\"filenameSuffix\":{\"description\":\"Filename suffix\",\"type\":[\"string\",\"null\"],\"example\":null},\"preserveAnimation\":{\"description\":\"Preserve animation\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"},\"ImageData\":{\"title\":\"ImageData\",\"properties\":{\"focalPoint\":{\"$ref\":\"#/components/schemas/FocalPoint\",\"description\":\"focalPoint\"}},\"type\":\"object\"},\"IndexStat\":{\"title\":\"Index Statistic\",\"required\":[\"name\",\"items\",\"size\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"pimcore_root\"},\"items\":{\"description\":\"Number of items in index\",\"type\":\"integer\",\"example\":100},\"size\":{\"description\":\"Size\",\"type\":\"number\",\"format\":\"float\",\"example\":123.45}},\"type\":\"object\"},\"InvalidCredentials\":{\"title\":\"Invalid Credentials\",\"description\":\"Invalid credentials after login attempt\",\"required\":[\"error\"],\"properties\":{\"error\":{\"description\":\"Error\",\"type\":\"string\",\"example\":\"Invalid credentials\"}},\"type\":\"object\"},\"JsonExport\":{\"title\":\"JSON Export\",\"required\":[\"json\",\"fileName\"],\"properties\":{\"json\":{\"description\":\"JSON encoded export data\",\"type\":\"string\"},\"fileName\":{\"description\":\"Suggested file name for download\",\"type\":\"string\",\"example\":\"export.json\"}},\"type\":\"object\"},\"JobRun\":{\"title\":\"JobRun\",\"required\":[\"id\",\"ownerId\",\"state\",\"executionContext\",\"totalElements\",\"currentMessage\",\"jobRunChildId\",\"currentStep\",\"totalSteps\",\"creationDate\",\"modificationDate\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"ID\",\"type\":\"integer\",\"example\":1},\"ownerId\":{\"description\":\"Owner ID\",\"type\":[\"integer\",\"null\"],\"example\":123},\"state\":{\"description\":\"State\",\"type\":\"string\",\"example\":\"running\"},\"executionContext\":{\"description\":\"Execution context\",\"type\":\"string\",\"example\":\"studio_stop_on_error\"},\"totalElements\":{\"description\":\"Total elements\",\"type\":\"integer\",\"example\":0},\"currentMessage\":{\"description\":\"Current Message og the last Event\",\"type\":\"string\",\"example\":\"Message\"},\"jobRunChildId\":{\"description\":\"Id of the child Job run\",\"type\":[\"integer\",\"null\"],\"example\":55},\"currentStep\":{\"description\":\"Current Step of a running Job\",\"type\":[\"integer\",\"null\"],\"example\":0},\"totalSteps\":{\"description\":\"Number of total Steps of a running Job\",\"type\":[\"integer\",\"null\"],\"example\":0},\"creationDate\":{\"description\":\"Creation date\",\"type\":[\"integer\",\"null\"],\"example\":null},\"modificationDate\":{\"description\":\"Modification date\",\"type\":[\"integer\",\"null\"],\"example\":null}},\"type\":\"object\"},\"KeyBinding\":{\"title\":\"Key Binding for a User\",\"description\":\"Key Binding for a User\",\"required\":[\"key\",\"action\",\"ctrl\",\"alt\",\"shift\"],\"properties\":{\"key\":{\"description\":\"ASCII Code for a key on the Keyboard\",\"type\":\"integer\",\"example\":\"83\"},\"action\":{\"description\":\"The action the key binding should execute\",\"type\":\"string\",\"example\":\"save\"},\"ctrl\":{\"description\":\"If CTRL key should be pressed\",\"type\":\"boolean\",\"example\":\"true\"},\"alt\":{\"description\":\"If ALT key should be pressed\",\"type\":\"boolean\",\"example\":\"true\"},\"shift\":{\"description\":\"If SHIFT key should be pressed\",\"type\":\"boolean\",\"example\":\"true\"}},\"type\":\"object\"},\"LastChangesEntry\":{\"title\":\"Last Changes Entry Data\",\"required\":[\"date\",\"dateText\",\"assets\",\"dataObjects\",\"documents\"],\"properties\":{\"date\":{\"description\":\"Modification Date\",\"type\":\"integer\",\"example\":327417600},\"dateText\":{\"description\":\"Modification Date Text\",\"type\":\"string\",\"example\":\"2025-07-24T12:00:00+00:00\"},\"assets\":{\"description\":\"Number of assets objects changed\",\"type\":\"integer\",\"example\":0},\"dataObjects\":{\"description\":\"Number of data objects changed\",\"type\":\"integer\",\"example\":0},\"documents\":{\"description\":\"Number of documents objects changed\",\"type\":\"integer\",\"example\":0}},\"type\":\"object\"},\"LastChangesWidgetConfig\":{\"title\":\"Last Changes Widget Config\",\"required\":[\"color\",\"isWriteable\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/DashboardsWidgetConfig\"},{\"properties\":{\"color\":{\"description\":\"Widget Color\",\"type\":\"string\",\"example\":\"#FF5733\"},\"isWriteable\":{\"description\":\"Is Writeable\",\"type\":\"boolean\",\"example\":true},\"showAssets\":{\"description\":\"Show Assets\",\"type\":\"boolean\",\"example\":true},\"showDataObjects\":{\"description\":\"Show Data Objects\",\"type\":\"boolean\",\"example\":true},\"showDocuments\":{\"description\":\"Show Documents\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"}]},\"Layout\":{\"title\":\"Layout\",\"required\":[\"name\",\"dataType\",\"fieldType\",\"type\",\"layout\",\"region\",\"title\",\"width\",\"height\",\"collapsible\",\"collapsed\",\"bodyStyle\",\"locked\",\"children\",\"icon\",\"labelAlign\",\"labelWidth\",\"border\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"pimcore_root\"},\"dataType\":{\"description\":\"Data Type\",\"type\":\"string\",\"example\":\"layout\"},\"fieldType\":{\"description\":\"Field Type\",\"type\":\"string\",\"example\":\"panel\"},\"type\":{\"description\":\"Type\",\"type\":[\"string\",\"null\"],\"example\":null},\"layout\":{\"description\":\"Layout\",\"type\":[\"string\",\"null\"],\"example\":null},\"region\":{\"description\":\"Region\",\"type\":[\"string\",\"null\"],\"example\":\"center\"},\"title\":{\"description\":\"Title\",\"type\":[\"string\",\"null\"],\"example\":\"MyLayout\"},\"width\":{\"description\":\"Width\",\"type\":\"integer\",\"example\":0},\"height\":{\"description\":\"Height\",\"type\":\"integer\",\"example\":0},\"collapsible\":{\"description\":\"Collapsible\",\"type\":\"boolean\",\"example\":false},\"collapsed\":{\"description\":\"Collapsed\",\"type\":\"boolean\",\"example\":false},\"bodyStyle\":{\"description\":\"Body Style\",\"type\":[\"string\",\"null\"],\"example\":\"(float: left;)\"},\"locked\":{\"description\":\"Locked\",\"type\":\"boolean\",\"example\":false},\"children\":{\"description\":\"Children\",\"type\":\"array\",\"items\":{\"type\":\"object\"},\"example\":\"[{id: 1}]\"},\"icon\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/ElementIcon\",\"description\":\"Icon\"},{\"type\":\"null\"}],\"description\":\"Icon\"},\"labelAlign\":{\"description\":\"Label Align\",\"type\":\"string\",\"example\":\"left\"},\"labelWidth\":{\"description\":\"Label Width\",\"type\":\"integer\",\"example\":100},\"border\":{\"description\":\"Border\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"},\"LayoutOption\":{\"title\":\"Layout Option\",\"required\":[\"layoutId\",\"rows\",\"columns\",\"items\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"layoutId\":{\"description\":\"Unique identifier for the layout\",\"type\":\"string\",\"example\":\"dashboard-layout-1\"},\"rows\":{\"description\":\"Number of rows in the layout\",\"type\":\"integer\",\"example\":4},\"columns\":{\"description\":\"Number of columns in the layout\",\"type\":\"integer\",\"example\":3},\"items\":{\"description\":\"Array of layout items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/LayoutItem\"}}},\"type\":\"object\"},\"LayoutItem\":{\"title\":\"Layout item\",\"required\":[\"id\",\"colSpan\",\"rowSpan\",\"colStart\",\"rowStart\",\"widget\"],\"properties\":{\"id\":{\"description\":\"Unique identifier for the layout item\",\"type\":\"integer\",\"example\":1},\"colSpan\":{\"description\":\"Number of columns the item spans\",\"type\":\"integer\",\"example\":2},\"rowSpan\":{\"description\":\"Number of rows the item spans\",\"type\":\"integer\",\"example\":1},\"colStart\":{\"description\":\"Column index where the item starts\",\"type\":\"integer\",\"example\":0},\"rowStart\":{\"description\":\"Row index where the item starts\",\"type\":\"integer\",\"example\":0},\"widget\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/DashboardsWidgetConfig\",\"description\":\"Widget for this position\"},{\"type\":\"null\"}],\"description\":\"Widget for this position\"}},\"type\":\"object\"},\"LinkSettingsData\":{\"title\":\"Link Settings Data\",\"required\":[\"internal\",\"internalType\",\"direct\",\"linkType\",\"href\",\"rawHref\"],\"properties\":{\"internal\":{\"description\":\"Internal ID\",\"type\":[\"integer\",\"null\"],\"example\":83},\"internalType\":{\"description\":\"Internal type\",\"type\":[\"string\",\"null\"],\"example\":\"asset\"},\"direct\":{\"description\":\"Direct\",\"type\":\"string\",\"example\":\"/path/to/asset\"},\"linkType\":{\"description\":\"Link type\",\"type\":\"string\",\"example\":\"direct\"},\"href\":{\"description\":\"Href\",\"type\":\"string\",\"example\":\"/path/to/asset\"},\"rawHref\":{\"description\":\"Raw Href\",\"type\":\"string\",\"example\":\"/some/raw/href\"}},\"type\":\"object\"},\"Note\":{\"title\":\"Note\",\"required\":[\"id\",\"type\",\"cId\",\"cType\",\"cPath\",\"date\",\"title\",\"description\",\"locked\",\"data\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"id\",\"type\":\"integer\",\"example\":666},\"type\":{\"description\":\"type\",\"type\":\"string\",\"example\":\"Type of note\"},\"cId\":{\"description\":\"Id of element\",\"type\":\"integer\",\"example\":667},\"cType\":{\"description\":\"Type of element\",\"type\":\"string\",\"example\":\"asset\"},\"cPath\":{\"description\":\"Path of element\",\"type\":\"string\",\"example\":\"/path/to/element\"},\"date\":{\"description\":\"Creation date of note\",\"type\":\"integer\",\"example\":1634025600},\"title\":{\"description\":\"title\",\"type\":\"string\",\"example\":\"Title of note\"},\"description\":{\"description\":\"description\",\"type\":\"string\",\"example\":\"This is a description\"},\"locked\":{\"description\":\"Locked\",\"type\":\"boolean\",\"example\":false},\"data\":{\"description\":\"Data of note\",\"type\":\"array\",\"items\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]},\"example\":\"Can be pretty much anything\"},\"userId\":{\"description\":\"User ID\",\"type\":[\"integer\",\"null\"],\"example\":1},\"userName\":{\"description\":\"Username\",\"type\":[\"string\",\"null\"],\"example\":\"shaquille.oatmeal\"}},\"type\":\"object\"},\"NoteType\":{\"title\":\"NoteType\",\"required\":[\"id\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"id\",\"type\":\"string\",\"example\":\"info\"}},\"type\":\"object\"},\"NoteTypeCollection\":{\"title\":\"NoteTypeCollection\",\"required\":[\"items\"],\"properties\":{\"items\":{\"description\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/NoteType\"}}},\"type\":\"object\"},\"Notification\":{\"title\":\"Notification\",\"required\":[\"message\",\"payload\",\"attachmentType\",\"attachmentId\",\"attachmentFullPath\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/NotificationListItem\"},{\"properties\":{\"message\":{\"description\":\"message\",\"type\":[\"string\",\"null\"],\"example\":\"Notification message\"},\"payload\":{\"description\":\"payload\",\"type\":[\"string\",\"null\"],\"example\":\"{\\\"key\\\": \\\"value\\\"}\"},\"attachmentType\":{\"description\":\"linked attachment type\",\"type\":[\"string\",\"null\"],\"example\":\"object\"},\"attachmentId\":{\"description\":\"linked attachment ID\",\"type\":[\"integer\",\"null\"],\"example\":3669},\"attachmentFullPath\":{\"description\":\"linked attachment fullPath\",\"type\":[\"string\",\"null\"],\"example\":\"/path/to/attachment.jpg\"}},\"type\":\"object\"}]},\"NotificationMinimal\":{\"title\":\"Notification Minimal Data\",\"required\":[\"id\",\"type\",\"title\",\"read\",\"creationDate\",\"recipient\",\"sender\"],\"properties\":{\"id\":{\"description\":\"id\",\"type\":\"integer\",\"example\":23},\"type\":{\"description\":\"type\",\"type\":\"string\",\"example\":\"info\"},\"title\":{\"description\":\"title\",\"type\":\"string\",\"example\":\"Notification title\"},\"read\":{\"description\":\"read\",\"type\":\"boolean\",\"example\":false},\"creationDate\":{\"description\":\"creation date\",\"type\":\"integer\",\"example\":1707312457},\"recipient\":{\"description\":\"recipient ID\",\"type\":\"integet\",\"example\":1},\"sender\":{\"description\":\"sender\",\"type\":[\"string\",\"null\"],\"example\":\"Pimcore Admin\"}},\"type\":\"object\"},\"NotificationListItem\":{\"title\":\"NotificationListItem\",\"required\":[\"id\",\"type\",\"title\",\"read\",\"hasAttachment\",\"creationDate\",\"sender\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"id\",\"type\":\"integer\",\"example\":23},\"type\":{\"description\":\"type\",\"type\":\"string\",\"example\":\"info\"},\"title\":{\"description\":\"title\",\"type\":\"string\",\"example\":\"Notification title\"},\"read\":{\"description\":\"read\",\"type\":\"boolean\",\"example\":false},\"hasAttachment\":{\"description\":\"has attachment\",\"type\":\"boolean\",\"example\":true},\"creationDate\":{\"description\":\"creation date\",\"type\":\"integer\",\"example\":1707312457},\"sender\":{\"description\":\"sender\",\"type\":[\"string\",\"null\"],\"example\":\"Pimcore Admin\"}},\"type\":\"object\"},\"NotificationsWidgetConfig\":{\"title\":\"Notifications Widget Config\",\"required\":[\"color\",\"page\",\"pageSize\",\"dateFilterValue\",\"dateFilterOperator\",\"senderFilter\",\"typeFilter\",\"onlyUnread\",\"isWriteable\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/DashboardsWidgetConfig\"},{\"properties\":{\"color\":{\"description\":\"Widget Color\",\"type\":\"string\",\"example\":\"#FF5733\"},\"page\":{\"description\":\"Page\",\"type\":\"integer\",\"example\":1},\"pageSize\":{\"description\":\"Page Size\",\"type\":\"integer\",\"example\":1},\"dateFilterValue\":{\"description\":\"Date Filter Value\",\"type\":[\"string\",\"null\"],\"example\":\"08/20/2024\"},\"dateFilterOperator\":{\"description\":\"Date Filter Operator\",\"type\":[\"string\",\"null\"],\"example\":\"on\"},\"senderFilter\":{\"description\":\"Sender Filter \",\"type\":[\"integer\",\"null\"],\"example\":20},\"typeFilter\":{\"description\":\"Type Filter \",\"type\":[\"string\",\"null\"],\"example\":\"info\"},\"onlyUnread\":{\"description\":\"Filter Only Unread Notifications \",\"type\":\"boolean\",\"example\":false},\"isWriteable\":{\"description\":\"Is Writeable\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"}]},\"ObjectBrickConfig\":{\"title\":\"Object Brick Configuration\",\"required\":[\"key\",\"title\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"key\":{\"description\":\"Key\",\"type\":\"string\",\"example\":\"MyObjectBrick\"},\"title\":{\"description\":\"Title\",\"type\":\"string\",\"example\":\"My Object Brick\"}},\"type\":\"object\"},\"ObjectBrickDetail\":{\"title\":\"Object Brick Detail\",\"required\":[\"key\",\"title\",\"group\",\"parentClass\",\"implementsInterfaces\",\"blockedVarsForExport\",\"isWriteable\",\"classDefinitions\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"key\":{\"description\":\"Key\",\"type\":\"string\",\"example\":\"MyObjectBrick\"},\"title\":{\"description\":\"Title\",\"type\":[\"string\",\"null\"],\"example\":\"My Object Brick\"},\"group\":{\"description\":\"Group\",\"type\":[\"string\",\"null\"],\"example\":\"system\"},\"parentClass\":{\"description\":\"Namespace of parent class\",\"type\":[\"string\",\"null\"],\"example\":\"App\\\\Model\\\\DataObject\\\\ObjectBrick\"},\"implementsInterfaces\":{\"description\":\"Interface implementations\",\"type\":[\"string\",\"null\"],\"example\":\"App\\\\Model\\\\DataObject\\\\Interface\"},\"blockedVarsForExport\":{\"description\":\"Blocked variables for export\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":[]},\"isWriteable\":{\"description\":\"Whether the object brick definition can be written to\",\"type\":\"boolean\",\"example\":true},\"classDefinitions\":{\"description\":\"Class definitions assigned to this object brick\",\"type\":\"array\",\"items\":{\"properties\":{\"classname\":{\"type\":\"string\",\"example\":\"Product\"},\"fieldname\":{\"type\":\"string\",\"example\":\"myBrickField\"}},\"type\":\"object\"},\"example\":[{\"classname\":\"fieldTest\",\"fieldname\":\"myBrickField\"}]}},\"type\":\"object\"},\"ObjectBrickLayoutDefinition\":{\"title\":\"Object Brick Layout Definition\",\"required\":[\"key\",\"title\",\"width\",\"height\",\"collapsible\",\"collapsed\",\"datatype\",\"children\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"key\":{\"description\":\"Key of Object Brick\",\"type\":\"string\",\"example\":\"my_object_brick\"},\"datatype\":{\"description\":\"Data Type\",\"type\":\"string\",\"example\":\"layout\"},\"name\":{\"description\":\"Name\",\"type\":[\"string\",\"null\"],\"example\":\"Layout\"},\"type\":{\"description\":\"Type\",\"type\":[\"string\",\"null\"],\"example\":\"object\"},\"region\":{\"description\":\"Region\",\"type\":[\"string\",\"null\"],\"example\":\"main\"},\"title\":{\"description\":\"Title\",\"type\":[\"string\",\"null\"],\"example\":\"My Object Brick\"},\"width\":{\"description\":\"Width\",\"type\":\"integer\",\"example\":0},\"height\":{\"description\":\"Height\",\"type\":\"integer\",\"example\":0},\"collapsible\":{\"description\":\"Collapsible\",\"type\":\"boolean\",\"example\":false},\"collapsed\":{\"description\":\"collapsed\",\"type\":\"boolean\",\"example\":false},\"children\":{\"description\":\"Children\",\"type\":\"object\",\"example\":[]}},\"type\":\"object\"},\"ObjectBrickTreeNodeFolder\":{\"title\":\"Object Brick Tree Node Folder\",\"required\":[\"key\",\"name\",\"icon\",\"group\",\"children\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"key\":{\"description\":\"Key of folder with group_ prefix\",\"type\":\"string\",\"example\":\"group_Parts\"},\"name\":{\"description\":\"Group name\",\"type\":\"string\",\"example\":\"Parts\"},\"icon\":{\"$ref\":\"#/components/schemas/ElementIcon\",\"description\":\"icon\"},\"group\":{\"description\":\"Group\",\"type\":\"string\",\"example\":\"Parts\"},\"children\":{\"description\":\"Child nodes\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ObjectBrickTreeNode\"}}},\"type\":\"object\"},\"ObjectBrickTreeNode\":{\"title\":\"Object Brick Tree Node Item\",\"required\":[\"key\",\"name\",\"icon\",\"group\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"key\":{\"description\":\"Key of object brick\",\"type\":\"string\",\"example\":\"myBrick\"},\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"My Brick\"},\"icon\":{\"$ref\":\"#/components/schemas/ElementIcon\",\"description\":\"icon\"},\"group\":{\"description\":\"Group name\",\"type\":[\"string\",\"null\"],\"example\":\"News\"}},\"type\":\"object\"},\"ObjectBrickUsageData\":{\"title\":\"Object Brick Usage Data\",\"required\":[\"class\",\"field\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"class\":{\"description\":\"Name of the class using the object brick\",\"type\":\"string\",\"example\":\"Product\"},\"field\":{\"description\":\"Name of the field in the class\",\"type\":\"string\",\"example\":\"myBrickField\"}},\"type\":\"object\"},\"PageSettingsData\":{\"title\":\"Page Settings Data\",\"required\":[\"title\",\"description\",\"prettyUrl\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/SnippetSettingsData\"},{\"properties\":{\"title\":{\"description\":\"Title\",\"type\":[\"string\",\"null\"],\"example\":\"Link Title\"},\"description\":{\"description\":\"Description\",\"type\":[\"string\",\"null\"],\"example\":\"Link Description\"},\"prettyUrl\":{\"description\":\"Pretty Url\",\"type\":[\"string\",\"null\"],\"example\":\"pretty/url\"}},\"type\":\"object\"}]},\"SnippetSettingsData\":{\"title\":\"Page Settings Data\",\"required\":[\"controller\",\"template\",\"contentMainDocumentId\",\"contentMainDocumentPath\",\"supportsContentMain\",\"staticGeneratorEnabled\",\"staticGeneratorLifetime\",\"staticLastGenerated\",\"url\"],\"properties\":{\"controller\":{\"description\":\"Controller\",\"type\":[\"string\",\"null\"],\"example\":\"App\\\\Controller\\\\PageController\"},\"template\":{\"description\":\"Template\",\"type\":[\"string\",\"null\"],\"example\":\"@app/template.html.twig\"},\"contentMainDocumentId\":{\"description\":\"Main document ID\",\"type\":[\"integer\",\"null\"],\"example\":1},\"contentMainDocumentPath\":{\"description\":\"Main document path\",\"type\":[\"string\",\"null\"],\"example\":\"/path/to/main/document\"},\"supportsContentMain\":{\"description\":\"Supports main content\",\"type\":\"boolean\",\"example\":false},\"staticGeneratorEnabled\":{\"description\":\"Is static generator enabled\",\"type\":\"boolean\",\"example\":false},\"staticGeneratorLifetime\":{\"description\":\"Lifetime of static generator\",\"type\":[\"integer\",\"null\"],\"example\":123456},\"staticLastGenerated\":{\"description\":\"Timestamp of last generated data\",\"type\":[\"integer\",\"null\"],\"example\":1700000000},\"url\":{\"description\":\"Document Url\",\"type\":[\"string\",\"null\"],\"example\":\"https://example.com/\"}},\"type\":\"object\"},\"PageSnippet\":{\"title\":\"PageSnippet\",\"required\":[\"title\",\"description\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/Document\"},{\"properties\":{\"title\":{\"description\":\"Title of the Page Snippet\",\"type\":[\"string\",\"null\"],\"example\":\"Title\"},\"description\":{\"description\":\"Description of the Page Snippet\",\"type\":[\"string\",\"null\"],\"example\":\"Description\"}},\"type\":\"object\"}]},\"PageSnippetDraftData\":{\"title\":\"PageSnippetDraftData\",\"required\":[\"id\",\"modificationDate\",\"isAutoSave\"],\"properties\":{\"id\":{\"description\":\"ID\",\"type\":\"integer\",\"example\":83},\"modificationDate\":{\"description\":\"Modification date\",\"type\":\"integer\",\"example\":1634025600},\"isAutoSave\":{\"description\":\"Is auto save\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"},\"PatchCustomMetadata\":{\"title\":\"PatchCustomMetadata\",\"required\":[\"name\",\"language\",\"type\",\"data\"],\"properties\":{\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"custom_metadata\"},\"language\":{\"description\":\"Language\",\"type\":[\"string\",\"null\"],\"example\":\"en\"},\"type\":{\"description\":\"Type\",\"type\":\"string\",\"example\":\"input\"},\"data\":{\"description\":\"Data\",\"type\":[\"string\",\"null\"],\"example\":\"data\"}},\"type\":\"object\"},\"PatchError\":{\"title\":\"PatchError\",\"description\":\"Response for PATCH requests with errors\",\"properties\":{\"id\":{\"description\":\"ID\",\"type\":\"integer\",\"example\":83},\"message\":{\"description\":\"Message\",\"type\":\"string\",\"example\":\"I am an error message\"}},\"type\":\"object\"},\"Permissions\":{\"title\":\"Permissions\",\"required\":[\"list\",\"view\",\"publish\",\"delete\",\"rename\",\"create\",\"settings\",\"versions\",\"properties\"],\"properties\":{\"list\":{\"description\":\"List\",\"type\":\"boolean\",\"example\":true},\"view\":{\"description\":\"View\",\"type\":\"boolean\",\"example\":true},\"publish\":{\"description\":\"Publish\",\"type\":\"boolean\",\"example\":true},\"delete\":{\"description\":\"Delete\",\"type\":\"boolean\",\"example\":true},\"rename\":{\"description\":\"Rename\",\"type\":\"boolean\",\"example\":true},\"create\":{\"description\":\"Create\",\"type\":\"boolean\",\"example\":true},\"settings\":{\"description\":\"Settings\",\"type\":\"boolean\",\"example\":true},\"versions\":{\"description\":\"Versions\",\"type\":\"boolean\",\"example\":true},\"properties\":{\"description\":\"Properties\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"},\"PerspectiveConfig\":{\"title\":\"Perspective Config\",\"required\":[\"id\",\"name\",\"icon\",\"isWriteable\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Perspective ID\",\"type\":\"string\",\"example\":\"5026c239_eb75_499a_8576_841bca283350\"},\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"Cars\"},\"icon\":{\"$ref\":\"#/components/schemas/ElementIcon\",\"description\":\"Icon\"},\"isWriteable\":{\"description\":\"Is Writeable\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"},\"PerspectiveConfigDetail\":{\"title\":\"Perspective Config Detail\",\"required\":[\"contextPermissions\",\"widgetsLeft\",\"widgetsRight\",\"widgetsBottom\",\"expandedLeft\",\"expandedRight\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/PerspectiveConfig\"},{\"properties\":{\"contextPermissions\":{\"description\":\"Context Permissions\",\"type\":\"object\",\"example\":{\"permission_group\":{\"permission1\":true,\"permission2\":false}}},\"widgetsLeft\":{\"description\":\"Widgets Left\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ElementTreeWidgetConfig\"}},\"widgetsRight\":{\"description\":\"Widgets Right\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ElementTreeWidgetConfig\"}},\"widgetsBottom\":{\"description\":\"Widgets Bottom\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ElementTreeWidgetConfig\"}},\"expandedLeft\":{\"description\":\"Left Expanded Widget\",\"type\":[\"string\",\"null\"],\"example\":\"widget_id\"},\"expandedRight\":{\"description\":\"Right Expanded Widget\",\"type\":[\"string\",\"null\"],\"example\":\"widget_id\"}},\"type\":\"object\"}]},\"PortalEngineWizardThumbnail\":{\"title\":\"Portal Engin Wizard Thumbnail\",\"required\":[\"id\",\"name\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Identifier of the thumbnail configuration\",\"type\":\"string\",\"example\":\"portal_thumbnail\"},\"name\":{\"description\":\"Display name of the thumbnail configuration\",\"type\":\"string\",\"example\":\"Portal Thumbnail\"}},\"type\":\"object\"},\"PortalEngineAdminUserAssignment\":{\"title\":\"Portal Engine Admin User Assignment\",\"required\":[\"canSeeMenu\",\"canAddNewCollection\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"canSeeMenu\":{\"description\":\"Determines whether the collections menu is visible for the user\",\"type\":\"boolean\",\"example\":true},\"canAddNewCollection\":{\"description\":\"Determines whether the user may create new collections\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"},\"PortalEngineCollection\":{\"title\":\"Portal Engine Collection\",\"required\":[\"id\",\"name\",\"userEmail\",\"itemCount\",\"creationDate\",\"currentSiteId\",\"editable\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Unique identifier of the collection.\",\"type\":\"integer\",\"example\":42},\"name\":{\"description\":\"Human readable name of the collection.\",\"type\":\"string\",\"example\":\"My Favorites\"},\"userEmail\":{\"description\":\"Email address of the collection owner.\",\"type\":\"string\",\"example\":\"user@example.com\"},\"itemCount\":{\"description\":\"Number of items contained in the collection.\",\"type\":\"integer\",\"example\":12},\"creationDate\":{\"description\":\"Unix timestamp representing the creation time of the collection.\",\"type\":\"integer\",\"example\":1704067200},\"currentSiteId\":{\"description\":\"Name of the portal site the collection belongs to.\",\"type\":\"string\",\"example\":\"Dealer Portal\"},\"editable\":{\"description\":\"Indicates whether the collection can be edited by the current user.\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"},\"PortalEngineCollectionShareListItem\":{\"title\":\"Portal Engine Collection Share List Item\",\"required\":[\"id\",\"userName\",\"permission\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"User Id with whom the collection is shared\",\"type\":\"integer\",\"example\":101},\"userName\":{\"description\":\"User Name with whom the collection is shared\",\"type\":\"string\",\"example\":\"admin\"},\"permission\":{\"description\":\"Permission assigned to the share (read|edit)\",\"type\":\"string\",\"example\":\"read\"}},\"type\":\"object\"},\"PortalEngineCollectionUserGroup\":{\"title\":\"Portal Engine Collection User Group\",\"required\":[\"id\",\"name\",\"isGroup\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Identifier of the user group\",\"type\":\"integer\",\"example\":42},\"name\":{\"description\":\"Display name of the user group\",\"type\":\"string\",\"example\":\"Dealer Managers\"},\"isGroup\":{\"description\":\"Flag indicating the entry represents a group\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"},\"PortalEngineTreeFolder\":{\"title\":\"Portal Engine Tree Folder\",\"required\":[\"id\",\"className\",\"key\",\"path\",\"icon\",\"elementType\",\"allowDrag\",\"allowDrop\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Data Pool ID\",\"type\":\"string\",\"example\":1},\"key\":{\"description\":\"Key\",\"type\":\"string\",\"example\":\"City Car\"},\"path\":{\"description\":\"Path\",\"type\":\"string\",\"example\":\"/City Car/\"},\"className\":{\"description\":\"Class Name\",\"type\":\"string\",\"example\":\"Car\"},\"elementType\":{\"description\":\"Type of the elements in the Folder\",\"type\":\"string\",\"example\":\"asset\"},\"type\":{\"description\":\"Type of the Folder\",\"type\":\"string\",\"example\":\"folder\"},\"icon\":{\"$ref\":\"#/components/schemas/ElementIcon\",\"description\":\"Icon\"},\"allowDrag\":{\"description\":\"Allow drag of this element\",\"type\":\"boolean\",\"example\":false},\"allowDrop\":{\"description\":\"Allow drop of new element\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"},\"PortalEngineTreeInformation\":{\"title\":\"Portal Engine Tree Information\",\"required\":[\"name\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"name\":{\"description\":\"Name of the tree\",\"type\":\"string\",\"example\":\"Collections\"}},\"type\":\"object\"},\"PortalEngineWizardAssetPool\":{\"title\":\"Portal Engine Wizard Asset Pool\",\"required\":[\"dataPoolName\"],\"properties\":{\"dataPoolName\":{\"description\":\"Unique identifier for the wizard asset pool.\",\"type\":\"string\",\"example\":\"Images\"},\"icon\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/ElementIcon\",\"description\":\"Icon\"},{\"type\":\"null\"}],\"description\":\"Icon\"},\"enableFolderNavigation\":{\"description\":\"Whether folder navigation is enabled for this pool.\",\"type\":\"boolean\",\"example\":false},\"enableTagNavigation\":{\"description\":\"Whether tag-based navigation is enabled for this pool.\",\"type\":\"boolean\",\"example\":false},\"availableDownloadThumbnails\":{\"description\":\"Configured download thumbnails for this pool.\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":[\"custom\"]},\"directDownloadShortcuts\":{\"description\":\"Available direct download shortcuts.\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":[\"cart\"]},\"availableDownloadFormats\":{\"description\":\"Download formats that can be used for exporting assets.\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":[\"Pimcore\\\\Bundle\\\\PortalEngineBundle\\\\Service\\\\DataPool\\\\DownloadFormat\\\\ZipDownloadFormat\"]},\"visibleLanguages\":{\"description\":\"Languages visible in the asset pool.\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":[\"de\",\"en\"]},\"editableLanguages\":{\"description\":\"Languages that can be edited within the asset pool.\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":[\"de\",\"en\"]}},\"type\":\"object\"},\"PortalEngineWizardCustomLayout\":{\"title\":\"Portal Engine Wizard Custom Layout\",\"required\":[\"id\",\"name\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Identifier of the custom layout\",\"type\":\"string\",\"example\":\"CP\"},\"name\":{\"description\":\"Display name of the custom layout\",\"type\":\"string\",\"example\":\"Product Detail (ID: CP)\"}},\"type\":\"object\"},\"PortalEngineIcon\":{\"title\":\"Portal Engine Wizard Icon\",\"required\":[\"name\",\"file\"],\"properties\":{\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"crow\"},\"file\":{\"description\":\"File\",\"type\":\"string\",\"example\":\"<svg>...</svg>\"}},\"type\":\"object\"},\"PortalEngineWizardObjectPool\":{\"title\":\"Portal Engine Wizard Object Pool\",\"required\":[\"dataPoolName\",\"classDefinition\",\"detailPageLayout\"],\"properties\":{\"dataPoolName\":{\"description\":\"Unique identifier for the wizard object pool.\",\"type\":\"string\",\"example\":\"Products\"},\"classDefinition\":{\"description\":\"Class definition key backing the object pool.\",\"type\":\"string\",\"example\":\"Product\"},\"detailPageLayout\":{\"description\":\"Custom layout identifier used for the detail page.\",\"type\":\"string\",\"example\":\"ProductDetailLayout\"},\"icon\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/ElementIcon\",\"description\":\"Icon\"},{\"type\":\"null\"}],\"description\":\"Icon\"},\"enableFolderNavigation\":{\"description\":\"Whether folder navigation is enabled for this pool.\",\"type\":\"boolean\",\"example\":false},\"enableTagNavigation\":{\"description\":\"Whether tag-based navigation is enabled for this pool.\",\"type\":\"boolean\",\"example\":false},\"availableDownloadThumbnails\":{\"description\":\"Configured download thumbnails for this pool.\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":[\"custom\"]},\"availableDownloadFormats\":{\"description\":\"Download formats that can be used for exporting data objects.\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":[\"Pimcore\\\\Bundle\\\\PortalEngineBundle\\\\Service\\\\DataPool\\\\DownloadFormat\\\\JsonDownloadFormat\"]},\"visibleLanguages\":{\"description\":\"Languages visible in the object pool.\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":[\"de\",\"en\"]}},\"type\":\"object\"},\"PortalEngineWizardStartResponse\":{\"title\":\"Portal Engine Wizard Start Response\",\"required\":[\"tmpStoreKey\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"tmpStoreKey\":{\"description\":\"Temporary storage key generated for the running wizard.\",\"type\":\"string\",\"example\":\"portal-engine_wizard_650a9242c8b1d\"}},\"type\":\"object\"},\"PortalEngineWizardStatusResponse\":{\"title\":\"Portal Engine Wizard Status Response\",\"required\":[\"isWizardFinished\",\"isWizardSuccess\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"isWizardFinished\":{\"description\":\"Whether the wizard has finished processing.\",\"type\":\"boolean\",\"example\":true},\"isWizardSuccess\":{\"description\":\"Whether the wizard run finished successfully.\",\"type\":\"boolean\",\"example\":true},\"portalDocumentId\":{\"description\":\"ID of the created portal document when available.\",\"type\":[\"integer\",\"null\"],\"example\":1234},\"statusMessage\":{\"description\":\"Latest status message returned by the wizard run.\",\"type\":[\"string\",\"null\"],\"example\":\"Portal created\"}},\"type\":\"object\"},\"PortalEngineCollectionPortal\":{\"title\":\"Portal entry for collection selection\",\"required\":[\"id\",\"name\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Identifier of the portal site\",\"type\":\"integer\",\"example\":123},\"name\":{\"description\":\"Display name of the portal\",\"type\":\"string\",\"example\":\"Dealer Portal\"}},\"type\":\"object\"},\"PredefinedMetadata\":{\"title\":\"PredefinedMetadata\",\"required\":[\"id\",\"name\",\"type\",\"creationDate\",\"modificationDate\",\"isWriteable\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Id\",\"type\":\"string\",\"example\":\"1\"},\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"custom_metadata\"},\"description\":{\"description\":\"Description\",\"type\":[\"string\",\"null\"],\"example\":\"A predefined metadata\"},\"type\":{\"description\":\"Type\",\"type\":\"string\",\"example\":\"input\"},\"targetSubType\":{\"description\":\"Target sub type\",\"type\":[\"string\",\"null\"],\"example\":\"input\"},\"data\":{\"description\":\"Data\",\"type\":[\"mixed\",\"null\"],\"example\":\"data\"},\"config\":{\"description\":\"Config\",\"type\":[\"string\",\"null\"],\"example\":\"config\"},\"language\":{\"description\":\"Language\",\"type\":[\"string\",\"null\"],\"example\":\"en\"},\"group\":{\"description\":\"Group\",\"type\":[\"string\",\"null\"],\"example\":\"group\"},\"creationDate\":{\"description\":\"Creation Date\",\"type\":\"integer\",\"example\":1634025600},\"modificationDate\":{\"description\":\"Modfication Date\",\"type\":\"integer\",\"example\":1634025600},\"isWriteable\":{\"description\":\"Writable\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"},\"PredefinedProperty\":{\"title\":\"PredefinedProperty\",\"required\":[\"id\",\"name\",\"key\",\"type\",\"ctype\",\"inheritable\",\"creationDate\",\"modificationDate\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"id\",\"type\":\"string\",\"example\":\"alpha-numerical-value\"},\"name\":{\"description\":\"name\",\"type\":\"string\",\"example\":\"Mister Proper\"},\"description\":{\"description\":\"description\",\"type\":[\"string\",\"null\"],\"example\":\"Detailed description of the property\"},\"key\":{\"description\":\"key\",\"type\":\"string\",\"example\":\"Key for referencing\"},\"type\":{\"description\":\"type\",\"type\":\"string\",\"example\":\"text\"},\"data\":{\"description\":\"data\",\"type\":[\"string\",\"null\"],\"example\":\"test\"},\"config\":{\"description\":\"config\",\"type\":[\"string\",\"null\"],\"example\":\"comma,separated,values\"},\"ctype\":{\"description\":\"ctype\",\"type\":\"string\",\"example\":\"document\"},\"inheritable\":{\"description\":\"inheritable\",\"type\":\"boolean\",\"example\":false},\"creationDate\":{\"description\":\"Creation date\",\"type\":\"integer\",\"example\":221846400},\"modificationDate\":{\"description\":\"Modification date\",\"type\":\"integer\",\"example\":327417600}},\"type\":\"object\"},\"QuantityValueUnit\":{\"title\":\"QuantityValueUnit\",\"required\":[\"id\",\"abbreviation\",\"group\",\"longName\",\"baseUnit\",\"reference\",\"factor\",\"conversionOffset\",\"converter\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"ID\",\"type\":[\"string\",\"null\"],\"example\":\"mm\"},\"abbreviation\":{\"description\":\"Abbreviation\",\"type\":[\"string\",\"null\"],\"example\":\"mm\"},\"group\":{\"description\":\"Group\",\"type\":[\"string\",\"null\"],\"example\":null},\"longName\":{\"description\":\"Long Name\",\"type\":[\"string\",\"null\"],\"example\":\"Millimeter\"},\"baseUnit\":{\"description\":\"Base Unit\",\"type\":[\"string\",\"null\"],\"example\":\"m\"},\"reference\":{\"description\":\"Reference\",\"type\":[\"string\",\"null\"],\"example\":null},\"factor\":{\"description\":\"Factor\",\"type\":[\"number\",\"null\"],\"format\":\"float\",\"example\":null},\"conversionOffset\":{\"description\":\"Conversion Offset\",\"type\":[\"number\",\"null\"],\"format\":\"float\",\"example\":null},\"converter\":{\"description\":\"Converter\",\"type\":[\"string\",\"null\"],\"example\":null}},\"type\":\"object\"},\"QueueItemCount\":{\"title\":\"Queue Item Count\",\"required\":[\"count\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"count\":{\"description\":\"Items in queue\",\"type\":\"integer\",\"example\":42}},\"type\":\"object\"},\"RecentlyModifiedElement\":{\"title\":\"Recently Modified Element Data\",\"required\":[\"id\",\"type\",\"subtype\",\"fullPath\",\"modificationDate\",\"isPublished\"],\"properties\":{\"id\":{\"description\":\"Element ID\",\"type\":\"integer\",\"example\":123},\"type\":{\"description\":\"Type of the element\",\"type\":\"string\",\"example\":\"asset\"},\"subtype\":{\"description\":\"Subtype of the element\",\"type\":\"string\",\"example\":\"Image\"},\"fullPath\":{\"description\":\"Full path of the element\",\"type\":\"string\",\"example\":\"/path/to/element\"},\"modificationDate\":{\"description\":\"Modification Date\",\"type\":\"integer\",\"example\":327417600},\"isPublished\":{\"description\":\"Is the element published\",\"type\":[\"boolean\",\"null\"],\"example\":true}},\"type\":\"object\"},\"RecentlyModifiedWidgetConfig\":{\"title\":\"Recently Modified Elements Widget Config\",\"required\":[\"color\",\"elementType\",\"isWriteable\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/DashboardsWidgetConfig\"},{\"properties\":{\"color\":{\"description\":\"Widget Color\",\"type\":\"string\",\"example\":\"#FF5733\"},\"elementType\":{\"description\":\"Element Type\",\"type\":\"string\",\"example\":\"asset\"},\"isWriteable\":{\"description\":\"Is Writeable\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"}]},\"Recipient\":{\"title\":\"Recipient\",\"required\":[\"id\",\"recipientName\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"ID of the Recipient\",\"type\":\"integer\",\"example\":1},\"recipientName\":{\"description\":\"User name or Group Name of the Recipient\",\"type\":\"string\",\"example\":\"Max Mustermann\"}},\"type\":\"object\"},\"RecycleBin\":{\"title\":\"Recycle Bin\",\"required\":[\"id\",\"amount\",\"date\",\"deletedBy\",\"path\",\"subtype\",\"type\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"ID\",\"type\":\"integer\",\"example\":1},\"amount\":{\"description\":\"Amount\",\"type\":\"integer\",\"example\":1},\"date\":{\"description\":\"Date\",\"type\":\"integer\",\"example\":1617267600},\"deletedBy\":{\"description\":\"Deleted By\",\"type\":\"string\",\"example\":\"admin\"},\"path\":{\"description\":\"Path\",\"type\":\"string\",\"example\":\"/path/to/element\"},\"subtype\":{\"description\":\"Subtype\",\"type\":\"string\",\"example\":\"folder\"},\"type\":{\"description\":\"Type\",\"type\":\"string\",\"example\":\"asset\"}},\"type\":\"object\"},\"RelatedElementData\":{\"title\":\"RelatedElementData\",\"required\":[\"id\",\"type\",\"subtype\",\"fullPath\",\"isPublished\"],\"properties\":{\"id\":{\"description\":\"ID\",\"type\":\"integer\",\"example\":83},\"type\":{\"description\":\"Type of the element\",\"type\":\"string\",\"example\":\"object\"},\"subtype\":{\"description\":\"Subtype of the element\",\"type\":\"string\",\"example\":\"Product\"},\"fullPath\":{\"description\":\"Full path of the element\",\"type\":\"string\",\"example\":\"/path/to/element\"},\"isPublished\":{\"description\":\"Is the element published\",\"type\":[\"boolean\",\"null\"],\"example\":true}},\"type\":\"object\"},\"RelationFieldConfig\":{\"title\":\"Relation Field Config\",\"required\":[\"relation\",\"field\"],\"properties\":{\"relation\":{\"description\":\"Relation Getter\",\"type\":\"string\",\"example\":\"manufacturer\"},\"field\":{\"description\":\"Field getter\",\"type\":\"string\",\"example\":\"name\"}},\"type\":\"object\"},\"ResetPassword\":{\"title\":\"ResetPassword\",\"description\":\"Reset password parameters\",\"required\":[\"username\",\"resetPasswordUrl\"],\"properties\":{\"username\":{\"description\":\"Username\",\"type\":\"string\",\"example\":\"shaquille.oatmeal\"},\"resetPasswordUrl\":{\"description\":\"Reset password URL\",\"type\":\"string\",\"example\":\"https://example.com/reset-password\"}},\"type\":\"object\"},\"Progress\":{\"title\":\"SSEHandlerProgress\",\"required\":[\"progress\",\"currentStep\",\"totalSteps\",\"jobStepName\",\"jobName\",\"jobRunId\",\"user\"],\"properties\":{\"progress\":{\"description\":\"progress\",\"type\":\"integer\",\"example\":69},\"currentStep\":{\"description\":\"currentStep\",\"type\":\"integer\",\"example\":1},\"totalSteps\":{\"description\":\"totalSteps\",\"type\":\"integer\",\"example\":3},\"jobStepName\":{\"description\":\"jobStepName\",\"type\":\"string\",\"example\":\"Job Step Name\"},\"jobName\":{\"description\":\"jobName\",\"type\":\"string\",\"example\":\"Job Name\"},\"jobRunId\":{\"description\":\"jobRunId\",\"type\":\"integer\",\"example\":73},\"user\":{\"description\":\"user\",\"type\":\"integer\",\"example\":2}},\"type\":\"object\"},\"Finished\":{\"title\":\"SSEJobRunFinished\",\"required\":[\"jobRunId\",\"jobRunName\",\"ownerId\",\"status\",\"messages\",\"notifyAll\"],\"properties\":{\"jobRunId\":{\"description\":\"jobRunId\",\"type\":\"integer\",\"example\":73},\"jobRunName\":{\"description\":\"jobRunName\",\"type\":\"string\",\"example\":\"my-job-name\"},\"ownerId\":{\"description\":\"ownerId\",\"type\":\"integer\",\"example\":13},\"status\":{\"description\":\"status\",\"type\":\"string\",\"example\":\"finished\"},\"messages\":{\"description\":\"messages\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":[\"Something went wrong\"]},\"notifyAll\":{\"description\":\"notifyAll\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"},\"SaveLastChangesWidgetConfig\":{\"title\":\"Save Last Changes Widget Config\",\"required\":[\"showAssets\",\"showDataObjects\",\"showDocuments\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/CreateWidgetConfig\"},{\"properties\":{\"showAssets\":{\"description\":\"Show Assets\",\"type\":\"boolean\",\"example\":true},\"showDataObjects\":{\"description\":\"Show Data Objects\",\"type\":\"boolean\",\"example\":true},\"showDocuments\":{\"description\":\"Show Documents\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"}]},\"Schedule\":{\"title\":\"Schedule\",\"required\":[\"id\",\"ctype\",\"date\",\"active\",\"userId\",\"username\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"id\",\"type\":\"integer\",\"example\":666},\"ctype\":{\"description\":\"ctype\",\"type\":\"string\",\"example\":\"Type of element\"},\"date\":{\"description\":\"Date of schedule\",\"type\":\"integer\",\"example\":1634025600},\"action\":{\"description\":\"Action\",\"type\":[\"string\",\"null\"],\"enum\":[\"publish\",\"delete\"],\"example\":\"publish\"},\"version\":{\"description\":\"Version ID\",\"type\":[\"integer\",\"null\"],\"example\":987},\"active\":{\"description\":\"Active\",\"type\":\"boolean\",\"example\":true},\"userId\":{\"description\":\"User ID\",\"type\":\"integer\",\"example\":999},\"username\":{\"description\":\"Username\",\"type\":\"string\",\"example\":\"shaquille.oatmeal\"}},\"type\":\"object\"},\"CreateClassDefinition\":{\"title\":\"Schema used to create class definitions\",\"required\":[\"name\",\"uid\"],\"properties\":{\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"My Class Definition\"},\"uid\":{\"description\":\"Class definition unique ID\",\"type\":\"string\",\"example\":\"my_class_definition_uid\"}},\"type\":\"object\"},\"CustomLayoutNew\":{\"title\":\"Schema used to create custom layouts\",\"required\":[\"name\",\"classId\"],\"properties\":{\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"My Custom Layout\"},\"classId\":{\"description\":\"Data object class id\",\"type\":\"integer\",\"example\":\"CAR\"}},\"type\":\"object\"},\"CreateFieldCollection\":{\"title\":\"Schema used to create field collection definitions\",\"required\":[\"key\"],\"properties\":{\"key\":{\"description\":\"Key of the field collection\",\"type\":\"string\",\"example\":\"MyFieldCollection\"}},\"type\":\"object\"},\"CreateObjectBrick\":{\"title\":\"Schema used to create object brick definitions\",\"required\":[\"key\"],\"properties\":{\"key\":{\"description\":\"Key of the object brick\",\"type\":\"string\",\"example\":\"MyObjectBrick\"}},\"type\":\"object\"},\"CreateSelectOption\":{\"title\":\"Schema used to create select option configurations\",\"required\":[\"id\"],\"properties\":{\"id\":{\"description\":\"ID of the select options configuration\",\"type\":\"string\",\"example\":\"EventStatus\"}},\"type\":\"object\"},\"ClassDefinitionUpdate\":{\"title\":\"Schema used to update class definition configuration\",\"required\":[\"configuration\",\"values\"],\"properties\":{\"configuration\":{\"description\":\"Layout configuration for fields (Panel, Input, ..)\",\"type\":\"object\",\"example\":{\"children\":[{\"name\":\"Layout\",\"datatype\":\"layout\",\"fieldtype\":\"panel\",\"type\":null,\"region\":null,\"title\":\"\",\"width\":\"\",\"height\":\"\",\"collapsible\":false,\"collapsed\":false,\"bodyStyle\":\"\",\"locked\":false,\"layout\":null,\"border\":false,\"icon\":\"\",\"labelWidth\":100,\"labelAlign\":\"left\",\"invalidFieldError\":null,\"children\":[]}]}},\"values\":{\"description\":\"Values for class definition object itself\",\"type\":\"object\",\"example\":{\"name\":\"MyClass\",\"title\":\"My class title\",\"description\":\"Description of my class\",\"parentClass\":\"\",\"implementsInterfaces\":\"\",\"listingParentClass\":\"\",\"useTraits\":\"\",\"listingUseTraits\":\"\",\"encryption\":false,\"encryptedTables\":[],\"allowInherit\":true,\"allowVariants\":false,\"showVariants\":false,\"icon\":\"\",\"group\":\"\",\"showAppLoggerTab\":false,\"linkGeneratorReference\":\"\",\"previewGeneratorReference\":\"\",\"compositeIndices\":[],\"showFieldLookup\":false,\"propertyVisibility\":{\"grid\":{\"id\":true,\"key\":false,\"path\":true,\"published\":true,\"modificationDate\":true,\"creationDate\":true},\"search\":{\"id\":true,\"key\":false,\"path\":true,\"published\":true,\"modificationDate\":true,\"creationDate\":true}},\"enableGridLocking\":false,\"propertyVisibility.grid.id\":true,\"propertyVisibility.search.id\":true,\"propertyVisibility.grid.key\":false,\"propertyVisibility.search.key\":false,\"propertyVisibility.grid.path\":true,\"propertyVisibility.search.path\":true,\"propertyVisibility.grid.published\":true,\"propertyVisibility.search.published\":true,\"propertyVisibility.grid.modificationDate\":true,\"propertyVisibility.search.modificationDate\":true,\"propertyVisibility.grid.creationDate\":true,\"propertyVisibility.search.creationDate\":true}}},\"type\":\"object\"},\"CustomLayoutUpdate\":{\"title\":\"Schema used to update custom layouts\",\"required\":[\"configuration\",\"values\"],\"properties\":{\"configuration\":{\"description\":\"Layout configuration for fields (Panel, Input, ..)\",\"type\":\"object\"},\"values\":{\"description\":\"Values for custom layout object itself\",\"type\":\"object\"}},\"type\":\"object\"},\"FieldCollectionUpdate\":{\"title\":\"Schema used to update field collection definition\",\"required\":[\"configuration\",\"values\"],\"properties\":{\"configuration\":{\"description\":\"Layout configuration for fields (Panel, Input, ..)\",\"type\":\"object\",\"example\":{\"children\":[{\"name\":\"Layout\",\"datatype\":\"layout\",\"fieldtype\":\"panel\",\"type\":null,\"region\":\"\",\"title\":\"Pattern\",\"width\":\"\",\"height\":\"\",\"collapsible\":false,\"collapsed\":false,\"bodyStyle\":\"\",\"locked\":false,\"layout\":\"\",\"border\":false,\"icon\":null,\"labelWidth\":100,\"labelAlign\":\"left\",\"invalidFieldError\":null,\"children\":[{\"name\":\"count\",\"datatype\":\"data\",\"fieldtype\":\"numeric\",\"title\":\"Token Count\",\"tooltip\":\"\",\"mandatory\":false,\"noteditable\":false,\"index\":false,\"locked\":false,\"style\":\"\",\"permissions\":null,\"relationType\":false,\"invisible\":false,\"visibleGridView\":false,\"visibleSearch\":false,\"defaultValue\":null,\"integer\":true,\"unsigned\":true,\"minValue\":1,\"maxValue\":null,\"unique\":false,\"decimalSize\":null,\"decimalPrecision\":null,\"width\":400,\"defaultValueGenerator\":\"\",\"invalidFieldError\":null,\"children\":null}]}]}},\"values\":{\"description\":\"Values for field collection definition metadata\",\"type\":\"object\",\"example\":{\"parentClass\":\"\\\\App\\\\Bundle\\\\Model\\\\MyCustomParentType\",\"implementsInterfaces\":\"\",\"title\":\"\",\"group\":\"Voucher\",\"blockedVarsForExport\":[]}}},\"type\":\"object\"},\"ObjectBrickUpdate\":{\"title\":\"Schema used to update object brick definition\",\"required\":[\"configuration\",\"values\"],\"properties\":{\"configuration\":{\"description\":\"Layout configuration for fields (Panel, Input, ..)\",\"type\":\"object\",\"example\":{\"children\":[{\"name\":\"Layout\",\"datatype\":\"layout\",\"fieldtype\":\"panel\",\"type\":null,\"region\":\"\",\"title\":\"Pattern\",\"width\":\"\",\"height\":\"\",\"collapsible\":false,\"collapsed\":false,\"bodyStyle\":\"\",\"locked\":false,\"layout\":\"\",\"border\":false,\"icon\":null,\"labelWidth\":100,\"labelAlign\":\"left\",\"invalidFieldError\":null,\"children\":[{\"name\":\"count\",\"datatype\":\"data\",\"fieldtype\":\"numeric\",\"title\":\"Token Count\",\"tooltip\":\"\",\"mandatory\":false,\"noteditable\":false,\"index\":false,\"locked\":false,\"style\":\"\",\"permissions\":null,\"relationType\":false,\"invisible\":false,\"visibleGridView\":false,\"visibleSearch\":false,\"defaultValue\":null,\"integer\":true,\"unsigned\":true,\"minValue\":1,\"maxValue\":null,\"unique\":false,\"decimalSize\":null,\"decimalPrecision\":null,\"width\":400,\"defaultValueGenerator\":\"\",\"invalidFieldError\":null,\"children\":null}]}]}},\"values\":{\"description\":\"Values for object brick definition metadata\",\"type\":\"object\",\"example\":{\"parentClass\":\"\\\\App\\\\Bundle\\\\Model\\\\MyCustomParentType\",\"implementsInterfaces\":\"\",\"title\":\"\",\"group\":\"Voucher\",\"classDefinitions\":[{\"classname\":\"Product\",\"fieldname\":\"myBrickField\"}],\"blockedVarsForExport\":[]}}},\"type\":\"object\"},\"UpdateSelectOption\":{\"title\":\"Schema used to update select option configurations\",\"required\":[\"group\",\"adminOnly\",\"useTraits\",\"implementsInterfaces\",\"selectOptions\"],\"properties\":{\"group\":{\"description\":\"Group name\",\"type\":[\"string\",\"null\"],\"example\":\"system\"},\"adminOnly\":{\"description\":\"Whether this configuration is restricted to admin\",\"type\":\"boolean\",\"example\":false},\"useTraits\":{\"description\":\"PHP traits to use\",\"type\":\"string\",\"example\":\"\"},\"implementsInterfaces\":{\"description\":\"PHP interfaces to implement\",\"type\":\"string\",\"example\":\"\"},\"selectOptions\":{\"description\":\"Select option entries\",\"type\":[\"array\",\"null\"],\"items\":{\"$ref\":\"#/components/schemas/SelectOptionData\"}}},\"type\":\"object\"},\"FormatedPath\":{\"title\":\"Select Option\",\"required\":[\"objectReference\",\"formatedPath\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"objectReference\":{\"description\":\"Object Reference\",\"type\":\"string\",\"example\":\"object_11\"},\"formatedPath\":{\"description\":\"Formated Path\",\"type\":\"string\",\"example\":\"nice/path\"}},\"type\":\"object\"},\"SelectOption\":{\"title\":\"Select Option\",\"required\":[\"key\",\"value\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"key\":{\"description\":\"Key\",\"type\":\"string\",\"example\":\"key\"},\"value\":{\"description\":\"Value\",\"type\":\"string\",\"example\":\"value\"}},\"type\":\"object\"},\"SelectOptionData\":{\"title\":\"Select Option Data\",\"required\":[\"value\",\"label\",\"name\"],\"properties\":{\"value\":{\"description\":\"Value of the select option\",\"type\":\"string\",\"example\":\"active\"},\"label\":{\"description\":\"Display label of the select option\",\"type\":\"string\",\"example\":\"Active\"},\"name\":{\"description\":\"Enum case name of the select option\",\"type\":\"string\",\"example\":\"Active\"}},\"type\":\"object\"},\"SelectOptionDetail\":{\"title\":\"Select Option Detail\",\"required\":[\"id\",\"group\",\"adminOnly\",\"useTraits\",\"implementsInterfaces\",\"selectOptions\",\"enumName\",\"isWriteable\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"ID of the select options configuration\",\"type\":\"string\",\"example\":\"EventStatus\"},\"group\":{\"description\":\"Group name\",\"type\":[\"string\",\"null\"],\"example\":\"system\"},\"adminOnly\":{\"description\":\"Whether this configuration is restricted to admin\",\"type\":\"boolean\",\"example\":false},\"useTraits\":{\"description\":\"PHP traits to use\",\"type\":\"string\",\"example\":\"\"},\"implementsInterfaces\":{\"description\":\"PHP interfaces to implement\",\"type\":\"string\",\"example\":\"\"},\"selectOptions\":{\"description\":\"Select option entries\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/SelectOptionData\"}},\"enumName\":{\"description\":\"Fully qualified enum name\",\"type\":\"string\",\"example\":\"Pimcore\\\\Model\\\\DataObject\\\\SelectOptions\\\\EventStatus\"},\"isWriteable\":{\"description\":\"Whether the configuration is writeable\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"},\"SelectOptionTreeFolder\":{\"title\":\"Select Option Tree Folder\",\"required\":[\"id\",\"name\",\"icon\",\"group\",\"children\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Id of select option\",\"type\":\"string\",\"example\":\"EventStatus\"},\"name\":{\"description\":\"Text of select option\",\"type\":\"string\",\"example\":\"EventStatus\"},\"icon\":{\"$ref\":\"#/components/schemas/ElementIcon\",\"description\":\"icon\"},\"group\":{\"description\":\"Group\",\"type\":[\"string\",\"null\"],\"example\":\"system\"},\"children\":{\"description\":\"Child nodes\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/SelectOptionTree\"}}},\"type\":\"object\"},\"SelectOptionTree\":{\"title\":\"Select Option Tree Item\",\"required\":[\"id\",\"name\",\"icon\",\"group\",\"adminOnly\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Id of select option\",\"type\":\"string\",\"example\":\"EventStatus\"},\"name\":{\"description\":\"Text of select option\",\"type\":\"string\",\"example\":\"EventStatus\"},\"icon\":{\"$ref\":\"#/components/schemas/ElementIcon\",\"description\":\"icon\"},\"group\":{\"description\":\"Group\",\"type\":[\"string\",\"null\"],\"example\":\"system\"},\"adminOnly\":{\"description\":\"Only for admin user\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"},\"SelectOptionUsageItem\":{\"title\":\"Select Option Usage Item\",\"required\":[\"class\",\"field\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"class\":{\"description\":\"Name of the class using the select options\",\"type\":\"string\",\"example\":\"Car\"},\"field\":{\"description\":\"Name of the field using the select options\",\"type\":\"string\",\"example\":\"status\"}},\"type\":\"object\"},\"SendEmailParameters\":{\"title\":\"SendEmailParameters\",\"required\":[\"from\",\"to\",\"subject\",\"contentType\"],\"properties\":{\"from\":{\"description\":\"from email address(es)\",\"type\":\"string\",\"example\":\"from@sender.com\"},\"to\":{\"description\":\"to email address(es)\",\"type\":\"string\",\"example\":\"to@receiver.com\"},\"subject\":{\"description\":\"email subject\",\"type\":\"string\",\"example\":\"My email subject\"},\"contentType\":{\"description\":\"email content type\",\"type\":\"string\",\"enum\":[\"document\",\"html\",\"text\"],\"example\":\"text\"},\"content\":{\"description\":\"email content\",\"type\":[\"string\",\"null\"],\"example\":\"My email message\"},\"documentPath\":{\"description\":\"path to the email document\",\"type\":[\"string\",\"null\"],\"example\":\"/path/to/document\"},\"documentParameters\":{\"description\":\"email document parameters\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/EmailDocumentParameters\"}},\"attachmentId\":{\"description\":\"id of the asset attachment\",\"type\":[\"integer\",\"null\"],\"example\":83}},\"type\":\"object\"},\"SendNotificationParameters\":{\"title\":\"SendEmailParameters\",\"required\":[\"recipientId\",\"title\",\"message\"],\"properties\":{\"recipientId\":{\"description\":\"recipient ID\",\"type\":\"integer\",\"example\":\"33\"},\"title\":{\"description\":\"title\",\"type\":\"string\",\"example\":\"New notification\"},\"message\":{\"description\":\"message\",\"type\":\"string\",\"example\":\"My notification message\"},\"attachmentType\":{\"description\":\"type of the attachment\",\"type\":[\"string\",\"null\"],\"enum\":[\"asset\",\"document\",\"object\"],\"example\":null},\"attachmentId\":{\"description\":\"ID of the attachment\",\"type\":[\"integer\",\"null\"],\"example\":83}},\"type\":\"object\"},\"SettingsConfigurationData\":{\"title\":\"Settings Configuration Data\",\"required\":[\"id\",\"name\",\"icon\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Configuration ID\",\"type\":\"string\",\"example\":\"my-config\"},\"name\":{\"description\":\"Configuration name\",\"type\":\"string\",\"example\":\"My Configuration\"},\"icon\":{\"$ref\":\"#/components/schemas/ElementIcon\",\"description\":\"Configuration icon\"}},\"type\":\"object\"},\"SimpleDashboard\":{\"title\":\"Simple Dashboard\",\"required\":[\"id\",\"name\",\"owner\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Unique identifier for the dashboard\",\"type\":\"string\",\"example\":\"5026c239_eb75_499a_8576_841bca283350\"},\"name\":{\"description\":\"Name of the dashboard\",\"type\":\"string\",\"example\":\"My Dashboard\"},\"owner\":{\"description\":\"ID of the owner of the dashboard\",\"type\":\"integer\",\"example\":1},\"menuShortcutGroup\":{\"description\":\"Name of the group in the Menu\",\"type\":[\"string\",\"null\"],\"example\":\"My Dashboard\"}},\"type\":\"object\"},\"SimpleFieldConfig\":{\"title\":\"Simple Field Config\",\"required\":[\"field\"],\"properties\":{\"field\":{\"description\":\"Field getter\",\"type\":\"string\",\"example\":\"name\"}},\"type\":\"object\"},\"PhpCodeTransformer\":{\"title\":\"Simple PHP Code Transformer\",\"description\":\"A PHP code transformer service with basic information\",\"required\":[\"key\",\"label\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"key\":{\"description\":\"Unique key of the transformer\",\"type\":\"string\",\"example\":\"t_key\"},\"label\":{\"description\":\"Label of the transformer\",\"type\":\"string\",\"example\":\"Transformer\"}},\"type\":\"object\"},\"SimpleUser\":{\"title\":\"Simple User\",\"description\":\"A user with the most imported information.\",\"required\":[\"id\",\"username\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"ID of the User\",\"type\":\"integer\",\"example\":\"1\"},\"username\":{\"description\":\"Name of the User\",\"type\":\"string\",\"example\":\"userName\"}},\"type\":\"object\"},\"SimpleRole\":{\"title\":\"Simple User Role\",\"description\":\"A user role which is a combination of permissions and settings.\",\"required\":[\"id\",\"name\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"ID of the Role\",\"type\":\"integer\",\"example\":\"1\"},\"name\":{\"description\":\"Name of the Role\",\"type\":\"string\",\"example\":\"role\"}},\"type\":\"object\"},\"AssetSearchPreview\":{\"title\":\"SimpleSearchAssetDetail\",\"required\":[\"mimeType\",\"thumbnail\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/SimpleSearchPreview\"},{\"properties\":{\"mimeType\":{\"description\":\"Mimetype\",\"type\":[\"string\",\"null\"],\"example\":\"image/jpeg\"},\"thumbnail\":{\"description\":\"Thumbnail path\",\"type\":[\"string\",\"null\"],\"example\":\"path/to/thumbnail\"}},\"type\":\"object\"}]},\"DataObjectSearchPreview\":{\"title\":\"SimpleSearchDataObjectDetail\",\"required\":[\"class\",\"objectData\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/SimpleSearchPreview\"},{\"properties\":{\"class\":{\"description\":\"Class name and Id\",\"type\":[\"string\",\"null\"],\"example\":\"Car [CAR]\"},\"objectData\":{\"description\":\"Detail object data\",\"type\":\"object\",\"example\":{\"fieldKey\":\"field value\"}}},\"type\":\"object\"}]},\"SimpleSearchPreview\":{\"title\":\"SimpleSearchDetail\",\"required\":[\"id\",\"elementType\",\"type\",\"userOwner\",\"userOwnerName\",\"userModification\",\"userModificationName\",\"creationDate\",\"modificationDate\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Id\",\"type\":\"integer\",\"example\":\"74\"},\"elementType\":{\"description\":\"elementType\",\"type\":\"string\",\"example\":\"asset\"},\"type\":{\"description\":\"Type\",\"type\":\"string\",\"example\":\"image\"},\"userOwner\":{\"description\":\"Id of owner\",\"type\":[\"integer\",\"null\"],\"example\":1},\"userOwnerName\":{\"description\":\"Name of owner\",\"type\":[\"string\",\"null\"],\"example\":\"admin\"},\"userModification\":{\"description\":\"Id of the user that modified the element\",\"type\":[\"integer\",\"null\"],\"example\":1},\"userModificationName\":{\"description\":\"Name of the user that modified the element\",\"type\":[\"integer\",\"null\"],\"example\":\"admin\"},\"creationDate\":{\"description\":\"Creation date\",\"type\":[\"integer\",\"null\"],\"example\":221846400},\"modificationDate\":{\"description\":\"Modification date\",\"type\":[\"integer\",\"null\"],\"example\":327417600}},\"type\":\"object\"},\"DocumentSearchPreview\":{\"title\":\"SimpleSearchDocumentDetail\",\"required\":[\"language\",\"documentData\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/SimpleSearchPreview\"},{\"properties\":{\"language\":{\"description\":\"Document Language\",\"type\":[\"string\",\"null\"],\"example\":\"English\"},\"documentData\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/PageSearchPreview\",\"description\":\"Page document data\"},{\"type\":\"null\"}],\"description\":\"Page document data\"}},\"type\":\"object\"}]},\"PageSearchPreview\":{\"title\":\"SimpleSearchPageDetail\",\"required\":[\"title\",\"description\",\"name\",\"hasPreviewImage\"],\"properties\":{\"title\":{\"description\":\"Title\",\"type\":[\"string\",\"null\"],\"example\":\"Page\"},\"description\":{\"description\":\"Description\",\"type\":[\"string\",\"null\"],\"example\":\"This is some page\"},\"name\":{\"description\":\"Navigation name\",\"type\":[\"string\",\"null\"],\"example\":\"Awesome Page\"},\"hasPreviewImage\":{\"description\":\"Has Preview image\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"},\"SimpleSearchResult\":{\"title\":\"SimpleSearchResult\",\"required\":[\"id\",\"elementType\",\"type\",\"path\",\"icon\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"customAttributes\":{\"$ref\":\"#/components/schemas/CustomAttributes\",\"description\":\"Custom attributes for the tree\"},\"id\":{\"description\":\"id\",\"type\":\"integer\",\"example\":\"74\"},\"elementType\":{\"description\":\"elementType\",\"type\":\"string\",\"example\":\"asset\"},\"type\":{\"description\":\"type\",\"type\":\"string\",\"example\":\"image\"},\"path\":{\"description\":\"path\",\"type\":\"string\",\"example\":\"/path/to/asset\"},\"icon\":{\"$ref\":\"#/components/schemas/ElementIcon\",\"description\":\"icon\"}},\"type\":\"object\"},\"Site\":{\"title\":\"Site\",\"required\":[\"id\",\"domains\",\"domain\",\"rootId\",\"rootPath\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"ID\",\"type\":\"integer\",\"example\":0},\"domains\":{\"description\":\"Domains\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":[\"other_domain\"]},\"domain\":{\"description\":\"Domain\",\"type\":\"string\",\"example\":\"main_site\"},\"rootId\":{\"description\":\"ID of the root\",\"type\":[\"integer\",\"null\"],\"example\":1},\"rootPath\":{\"description\":\"Root path\",\"type\":[\"string\",\"null\"],\"example\":\"/\"}},\"type\":\"object\"},\"SiteDetailData\":{\"title\":\"Site Detail Data\",\"required\":[\"id\",\"creationDate\",\"modificationDate\",\"mainDomain\",\"domains\",\"errorDocument\",\"localizedErrorDocuments\",\"redirectToMainDomain\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"ID\",\"type\":\"integer\",\"example\":0},\"creationDate\":{\"description\":\"Creation Date\",\"type\":[\"integer\",\"null\"],\"example\":1712345678},\"modificationDate\":{\"description\":\"Modification Date\",\"type\":[\"integer\",\"null\"],\"example\":1712345678},\"mainDomain\":{\"description\":\"Main domain\",\"type\":\"string\",\"example\":\"main_site\"},\"domains\":{\"description\":\"Domains\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":[\"other_domain\"]},\"errorDocument\":{\"oneOf\":[{\"$ref\":\"#/components/schemas/RelatedElementData\",\"description\":\"Data of error document\"},{\"type\":\"null\"}],\"description\":\"Data of error document\",\"type\":\"object\"},\"localizedErrorDocuments\":{\"description\":\"Localized error documents mapped by locale\",\"type\":\"object\",\"example\":{\"en\":{\"id\":123,\"type\":\"document\",\"subtype\":\"page\",\"fullPath\":\"en/error-page\",\"isPublished\":true}},\"additionalProperties\":{\"$ref\":\"#/components/schemas/RelatedElementData\",\"description\":\"Error document data for locale\"}},\"redirectToMainDomain\":{\"description\":\"Redirect to main domain\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"},\"StaticTextConfig\":{\"title\":\"Static Text Config\",\"required\":[\"text\"],\"properties\":{\"text\":{\"description\":\"Static Text\",\"type\":\"string\",\"example\":\"My Text\"}},\"type\":\"object\"},\"SubmitAction\":{\"title\":\"SubmitAction\",\"description\":\"Schema for submission of workflow action\",\"required\":[\"actionType\",\"elementId\",\"elementType\",\"workflowId\",\"transitionId\",\"workflowOptions\"],\"properties\":{\"actionType\":{\"description\":\"type of the action\",\"type\":\"string\",\"example\":\"transition\"},\"elementId\":{\"description\":\"Id of the element\",\"type\":\"integer\",\"example\":50},\"elementType\":{\"description\":\"Type of the element\",\"type\":\"string\",\"example\":\"data-object\"},\"workflowId\":{\"description\":\"Id of the workflow\",\"type\":\"string\",\"example\":\"my_first_workflow\"},\"transitionId\":{\"description\":\"Id of the transition\",\"type\":\"string\",\"example\":\"start_workflow\"},\"workflowOptions\":{\"description\":\"workflowOptions\",\"type\":[\"object\",\"null\"],\"example\":\"{\\\"notes\\\": \\\"Some note I want to write\\\"}\"}},\"type\":\"object\"},\"Subtype\":{\"title\":\"Subtype\",\"required\":[\"elementId\",\"elementType\",\"elementSubtype\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"elementId\":{\"description\":\"Element Id\",\"type\":\"integer\",\"example\":14},\"elementType\":{\"description\":\"Element Type\",\"type\":\"string\",\"example\":\"asset\"},\"elementSubtype\":{\"description\":\"Element Subtype\",\"type\":\"string\",\"example\":\"image\"}},\"type\":\"object\"},\"Tag\":{\"title\":\"Tag\",\"required\":[\"id\",\"parentId\",\"text\",\"path\",\"hasChildren\",\"iconName\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"tag ID\",\"type\":\"integer\",\"example\":2},\"parentId\":{\"description\":\"parent tag ID\",\"type\":\"integer\",\"example\":0},\"text\":{\"description\":\"tag text\",\"type\":\"string\",\"example\":\"Tag 1\"},\"path\":{\"description\":\"path\",\"type\":\"string\",\"example\":\"/test\"},\"hasChildren\":{\"description\":\"has children\",\"type\":\"boolean\",\"example\":false},\"iconName\":{\"description\":\"IconName\",\"type\":\"string\",\"example\":\"pimcore_icon_pdf\"},\"children\":{\"description\":\"children\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Tag\"}}},\"type\":\"object\"},\"Text\":{\"title\":\"Text\",\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/Asset\"}]},\"TextLayoutPreview\":{\"title\":\"Text Layout Preview Data\",\"required\":[\"className\",\"path\",\"renderingData\",\"renderingClass\",\"html\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"className\":{\"description\":\"Name of class definition\",\"type\":\"string\",\"example\":\"Car\"},\"path\":{\"description\":\"Path of the data object for preview\",\"type\":[\"string\",\"null\"],\"example\":\"/cars/my-car\"},\"renderingData\":{\"description\":\"Data for preview\",\"type\":[\"string\",\"null\"],\"example\":\"{\\\"field1\\\":\\\"value1\\\",\\\"field2\\\":\\\"value2\\\"}\"},\"renderingClass\":{\"description\":\"Rendering class for preview\",\"type\":[\"string\",\"null\"],\"example\":\"App\\\\DataObject\\\\Car\"},\"html\":{\"description\":\"HTML preview of the layout\",\"type\":[\"string\",\"null\"],\"example\":\"<div>...</div>\"}},\"type\":\"object\"},\"Thumbnail\":{\"title\":\"Thumbnail\",\"required\":[\"id\",\"text\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"id\",\"type\":\"string\",\"example\":\"pimcore_system_treepreview\"},\"text\":{\"description\":\"text\",\"type\":\"string\",\"example\":\"original\"}},\"type\":\"object\"},\"ThumbnailConfigurationData\":{\"title\":\"Thumbnail Configuration Data\",\"required\":[\"writeable\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/SettingsConfigurationData\"},{\"properties\":{\"writeable\":{\"description\":\"Is configuration writeable\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"}]},\"ThumbnailConfigurationFolderData\":{\"title\":\"Thumbnail Configuration Folder Data\",\"required\":[\"children\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/SettingsConfigurationData\"},{\"properties\":{\"children\":{\"description\":\"Child nodes\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ThumbnailConfigurationData\"}}},\"type\":\"object\"}]},\"ThumbnailCollection\":{\"title\":\"ThumbnailCollection\",\"required\":[\"items\"],\"properties\":{\"items\":{\"description\":\"items\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Thumbnail\"}}},\"type\":\"object\"},\"TokenLink\":{\"title\":\"TokenLink\",\"description\":\"Token link parameters\",\"required\":[\"tokenLoginUrl\"],\"properties\":{\"tokenLoginUrl\":{\"description\":\"Token login URL\",\"type\":\"string\",\"example\":\"https://example.com/login\"}},\"type\":\"object\"},\"Transformer\":{\"title\":\"Transformer\",\"required\":[\"key\"],\"properties\":{\"key\":{\"description\":\"Key of the Transformer\",\"type\":\"string\",\"example\":\"uppercase\"},\"config\":{\"description\":\"Configuration for the transformer\",\"type\":\"object\"}},\"type\":\"object\"},\"Translation\":{\"title\":\"Translation\",\"description\":\"Translation Scheme for API\",\"required\":[\"locale\",\"keys\"],\"properties\":{\"locale\":{\"description\":\"Locale\",\"type\":\"string\",\"example\":\"en\"},\"keys\":{\"description\":\"Keys for Translation - Fallback will be  applied to all Keys automatically\",\"type\":\"array\",\"items\":{\"type\":\"string\",\"example\":\"not_your_typical_key\"}},\"useFallback\":{\"description\":\"Apply Fallback Language. Used only if no keys are defined\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"},\"CreateTranslation\":{\"title\":\"Translation Create\",\"description\":\"Translation Create Scheme for API\",\"required\":[\"translationData\"],\"properties\":{\"errorOnDuplicate\":{\"description\":\"Throw an error on duplicate key\",\"type\":\"boolean\",\"example\":false},\"translationData\":{\"description\":\"Translation Data\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/CreateTranslationData\"}}},\"type\":\"object\"},\"TranslationData\":{\"title\":\"Translation Data\",\"description\":\"Translation Data Scheme for API\",\"required\":[\"locale\",\"translation\"],\"properties\":{\"locale\":{\"description\":\"Locale\",\"type\":\"string\",\"example\":\"en\"},\"translation\":{\"description\":\"Translation\",\"type\":\"string\",\"example\":\"some_translated_string\"}},\"type\":\"object\"},\"CreateTranslationData\":{\"title\":\"Translation Data for create\",\"description\":\"Translation Data Scheme for create endpoint of the API\",\"required\":[\"key\",\"type\"],\"properties\":{\"key\":{\"description\":\"Key\",\"type\":\"string\",\"example\":\"my_translation_key\"},\"type\":{\"description\":\"Type\",\"type\":\"string\",\"example\":\"simple\"},\"domain\":{\"description\":\"Domain\",\"type\":\"string\",\"example\":\"studio\"}},\"type\":\"object\"},\"UpdateTranslation\":{\"title\":\"Translation Update\",\"description\":\"Translation Update Scheme for API\",\"required\":[\"key\",\"type\",\"translationData\"],\"properties\":{\"key\":{\"description\":\"Key of the translation\",\"type\":\"string\",\"example\":\"car\"},\"type\":{\"description\":\"Type of the translation\",\"type\":[\"string\",\"null\"],\"example\":\"simple\"},\"translationData\":{\"description\":\"Translation Data\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/TranslationData\"}}},\"type\":\"object\"},\"TranslationDeltaValues\":{\"title\":\"Translation delta values\",\"description\":\"Translation delta values\",\"required\":[\"locale\",\"currentTranslation\",\"importTranslation\"],\"properties\":{\"locale\":{\"description\":\"Locale\",\"type\":\"string\",\"example\":\"en\"},\"currentTranslation\":{\"description\":\"Current translation\",\"type\":\"string\",\"example\":\"some translation\"},\"importTranslation\":{\"description\":\"Imported translation\",\"type\":\"string\",\"example\":\"some translation updated\"}},\"type\":\"object\"},\"Translations\":{\"title\":\"Translations\",\"description\":\"Translations including all languages and keys\",\"required\":[\"key\",\"translations\",\"type\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"key\":{\"description\":\"Key of the translation\",\"type\":\"string\",\"example\":\"car\"},\"translations\":{\"description\":\"List of translations for the given key\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"example\":{\"en\":\"Car\",\"de\":\"Auto\",\"fr\":\"Voiture\"}}},\"type\":{\"description\":\"Type simple or custom\",\"type\":\"string\",\"example\":\"simple\"}},\"type\":\"object\"},\"TreeLevelData\":{\"title\":\"Tree Level Data\",\"required\":[\"level\",\"elementId\",\"pageNumber\"],\"properties\":{\"parentId\":{\"description\":\"Parent ID\",\"type\":\"integer\",\"example\":1},\"elementId\":{\"description\":\"Element ID\",\"type\":\"integer\",\"example\":66},\"pageNumber\":{\"description\":\"Page Number\",\"type\":\"integer\",\"example\":1}},\"type\":\"object\"},\"TreeNode\":{\"title\":\"Tree Node\",\"description\":\"One node in the a tree\",\"required\":[\"id\",\"name\",\"type\",\"hasChildren\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Unique Identifier\",\"type\":\"integer\",\"example\":\"1\"},\"name\":{\"description\":\"Name of the tree node\",\"type\":\"string\",\"example\":\"admin\"},\"type\":{\"description\":\"Is ether folder or a specific item in the folder\",\"type\":\"string\",\"example\":\"user\"},\"hasChildren\":{\"description\":\"If a folder has sub items\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"},\"TwoFactorAuth\":{\"title\":\"Two Factor Authentication Data\",\"description\":\"Two Factor Authentication Data for a User\",\"required\":[\"required\",\"enabled\",\"type\",\"active\"],\"properties\":{\"required\":{\"description\":\"Required\",\"type\":\"boolean\",\"example\":true},\"enabled\":{\"description\":\"Enabled\",\"type\":\"boolean\",\"example\":true},\"type\":{\"description\":\"Type\",\"type\":\"string\",\"example\":\"totp\"},\"active\":{\"description\":\"Active\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"},\"ConvertParameters\":{\"title\":\"Unit Convert Parameters\",\"required\":[\"fromUnitId\",\"toUnitId\",\"value\"],\"properties\":{\"fromUnitId\":{\"description\":\"From Unit Id\",\"type\":\"string\",\"example\":\"m\"},\"toUnitId\":{\"description\":\"To Unit Id\",\"type\":\"string\",\"example\":\"mm\"},\"value\":{\"description\":\"Value\",\"example\":5,\"anyOf\":[{\"type\":\"float\"},{\"type\":\"integer\"}]}},\"type\":\"object\"},\"Unknown\":{\"title\":\"Unknown\",\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/Asset\"}]},\"UnreadCount\":{\"title\":\"Unread Count\",\"required\":[\"unreadNotificationsCount\"],\"properties\":{\"unreadNotificationsCount\":{\"description\":\"Count of unread notifications\",\"type\":\"integer\",\"example\":1}},\"type\":\"object\"},\"UpdateAdminSettings\":{\"title\":\"Update Admin Settings\",\"required\":[\"branding\",\"assets\"],\"properties\":{\"branding\":{\"$ref\":\"#/components/schemas/Branding\",\"description\":\"Branding configuration\"},\"assets\":{\"$ref\":\"#/components/schemas/Assets\",\"description\":\"Assets configuration\"}},\"type\":\"object\"},\"UpdateSite\":{\"title\":\"Update Site\",\"required\":[\"mainDomain\",\"domains\",\"errorDocument\",\"localizedErrorDocuments\",\"redirectToMainDomain\"],\"properties\":{\"mainDomain\":{\"description\":\"Main domain\",\"type\":\"string\",\"example\":\"main_site\"},\"domains\":{\"description\":\"Domains\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":[\"other_domain\"]},\"errorDocument\":{\"description\":\"Error document\",\"type\":\"string\",\"example\":\"path/to/error/document\"},\"localizedErrorDocuments\":{\"description\":\"Localized error documents\",\"type\":\"object\",\"example\":{\"en\":\"path/to/en/error/document\",\"de\":\"path/to/de/error/document\"}},\"redirectToMainDomain\":{\"description\":\"Redirect to main domain\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"},\"UpdateThumbnailConfig\":{\"title\":\"Update Thumbnail Config\",\"required\":[\"settings\",\"medias\",\"mediaOrder\"],\"properties\":{\"settings\":{\"description\":\"Thumbnail settings configuration\",\"type\":\"object\",\"example\":{\"description\":\"My thumbnail description\",\"group\":\"Areas\",\"format\":\"SOURCE\",\"quality\":95,\"highResolution\":0,\"preserveColor\":false,\"forceProcessICCProfiles\":false,\"preserveMetaData\":false,\"rasterizeSVG\":false,\"preserveAnimation\":false,\"downloadable\":false}},\"medias\":{\"description\":\"Media configurations with transformation items\",\"type\":\"object\",\"example\":{\"default\":[{\"method\":\"scaleByWidth\",\"arguments\":{\"width\":1140,\"forceResize\":false}}]}},\"mediaOrder\":{\"description\":\"Media configurations order\",\"type\":\"object\",\"example\":{\"default\":0,\"(max-width: 940px)\":1}}},\"type\":\"object\"},\"UpdateUnitParameters\":{\"title\":\"Update Unit Parameters\",\"properties\":{\"abbreviation\":{\"description\":\"Abbreviation\",\"type\":[\"string\",\"null\"],\"example\":\"mm\"},\"longname\":{\"description\":\"Long name\",\"type\":[\"string\",\"null\"],\"example\":\"Millimeter\"},\"group\":{\"description\":\"Group\",\"type\":[\"string\",\"null\"],\"example\":\"Length\"},\"baseunit\":{\"description\":\"Base unit ID\",\"type\":[\"string\",\"null\"],\"example\":\"m\"},\"factor\":{\"description\":\"Conversion factor\",\"type\":[\"number\",\"null\"],\"example\":0.001},\"conversionOffset\":{\"description\":\"Conversion offset\",\"type\":[\"number\",\"null\"],\"example\":null},\"converter\":{\"description\":\"Converter service class\",\"type\":[\"string\",\"null\"],\"example\":null},\"reference\":{\"description\":\"Reference\",\"type\":[\"string\",\"null\"],\"example\":null}},\"type\":\"object\"},\"UpdateRole\":{\"title\":\"Update User Role\",\"description\":\"Contains all information about a role that can be updated.\",\"required\":[\"name\",\"classes\",\"parentId\",\"permissions\",\"docTypes\",\"websiteTranslationLanguagesEdit\",\"websiteTranslationLanguagesView\",\"assetWorkspaces\",\"dataObjectWorkspaces\",\"documentWorkspaces\",\"perspectives\"],\"properties\":{\"name\":{\"description\":\"Name of Folder or Role\",\"type\":[\"string\",\"null\"],\"example\":\"admin\"},\"classes\":{\"description\":\"Classes the user is allows to see\",\"type\":\"object\",\"example\":[\"CAR\"]},\"parentId\":{\"description\":\"Parent ID\",\"type\":[\"integer\",\"null\"],\"example\":2},\"permissions\":{\"description\":\"List of permissions for the user\",\"type\":\"object\",\"example\":[\"objects\",\"documents\"]},\"docTypes\":{\"description\":\"List of document types for the role\",\"type\":\"object\",\"example\":[\"1\",\"2\"]},\"websiteTranslationLanguagesEdit\":{\"type\":\"object\",\"example\":[\"de\",\"en\"]},\"websiteTranslationLanguagesView\":{\"type\":\"object\",\"example\":[\"de\"]},\"assetWorkspaces\":{\"description\":\"Asset Workspace\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/UserWorkspace\"}},\"dataObjectWorkspaces\":{\"description\":\"Data Object Workspace\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/UserWorkspace\"}},\"documentWorkspaces\":{\"description\":\"Document Workspace\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/UserWorkspace\"}},\"perspectives\":{\"description\":\"Allowed studio perspectives\",\"type\":\"object\",\"example\":[\"studio_default_perspective\",\"some_otherPerspective_Id\"]}},\"type\":\"object\"},\"UpdateCustomMetadata\":{\"title\":\"UpdateCustomMetadata\",\"required\":[\"name\",\"language\",\"type\",\"data\"],\"properties\":{\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"custom_metadata\"},\"language\":{\"description\":\"Language\",\"type\":\"string\",\"example\":\"en\"},\"type\":{\"description\":\"Type\",\"type\":\"string\",\"example\":\"input\"},\"data\":{\"description\":\"Data\",\"type\":[\"mixed\",\"null\"],\"example\":\"data\"}},\"type\":\"object\"},\"UpdateCustomSettings\":{\"title\":\"UpdateCustomSettings\",\"required\":[\"key\",\"value\"],\"properties\":{\"key\":{\"description\":\"Key\",\"type\":\"string\",\"example\":\"my_custom_setting_key\"},\"value\":{\"description\":\"Value\",\"type\":[\"mixed\",\"null\"],\"example\":\"data\"}},\"type\":\"object\"},\"UpdateElementProperty\":{\"title\":\"UpdateDataProperty\",\"required\":[\"key\",\"data\",\"type\",\"inheritable\"],\"properties\":{\"key\":{\"description\":\"key\",\"type\":\"string\",\"example\":\"Mister Proper\"},\"data\":{\"description\":\"data\",\"type\":[\"mixed\",\"null\"],\"example\":\"123\"},\"type\":{\"description\":\"type\",\"type\":\"string\",\"example\":\"document\"},\"inheritable\":{\"description\":\"inheritable\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"},\"UpdatePredefinedProperty\":{\"title\":\"UpdatePredefinedProperty\",\"required\":[\"name\",\"key\",\"type\",\"ctype\",\"inheritable\"],\"properties\":{\"name\":{\"description\":\"name\",\"type\":\"string\",\"example\":\"Mister Proper\"},\"description\":{\"description\":\"description\",\"type\":[\"string\",\"null\"],\"example\":\"Detailed description of the property\"},\"key\":{\"description\":\"key\",\"type\":\"string\",\"example\":\"Key for referencing\"},\"type\":{\"description\":\"type\",\"type\":\"string\",\"example\":\"text\"},\"data\":{\"description\":\"data\",\"type\":[\"string\",\"null\"],\"example\":\"test\"},\"config\":{\"description\":\"config\",\"type\":[\"string\",\"null\"],\"example\":\"comma,separated,values\"},\"ctype\":{\"description\":\"ctype\",\"type\":\"string\",\"example\":\"document\"},\"inheritable\":{\"description\":\"inheritable\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"},\"UpdateSchedule\":{\"title\":\"UpdateSchedule\",\"required\":[\"id\",\"date\",\"active\"],\"properties\":{\"id\":{\"description\":\"Id of schedule, if null a new one will be created\",\"type\":[\"integer\",\"null\"],\"example\":666},\"date\":{\"description\":\"Date of schedule\",\"type\":\"integer\",\"example\":1634025600},\"action\":{\"description\":\"Action\",\"type\":[\"string\",\"null\"],\"enum\":[\"publish\",\"delete\"],\"example\":\"publish\"},\"version\":{\"description\":\"Version ID\",\"type\":[\"integer\",\"null\"],\"example\":987},\"active\":{\"description\":\"Active\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"},\"UpdateVersion\":{\"title\":\"UpdateVersion\",\"properties\":{\"public\":{\"description\":\"Public\",\"type\":[\"boolean\",\"null\"],\"example\":null},\"note\":{\"description\":\"Note\",\"type\":[\"string\",\"null\"],\"example\":null}},\"type\":\"object\"},\"UpdateUser\":{\"title\":\"User\",\"description\":\"User Schema to update a User.\",\"required\":[\"email\",\"firstname\",\"lastname\",\"admin\",\"active\",\"classes\",\"docTypes\",\"closeWarning\",\"allowDirtyClose\",\"contentLanguages\",\"keyBindings\",\"language\",\"memorizeTabs\",\"parentId\",\"permissions\",\"roles\",\"twoFactorAuthenticationRequired\",\"websiteTranslationLanguagesEdit\",\"websiteTranslationLanguagesView\",\"welcomeScreen\",\"assetWorkspaces\",\"dataObjectWorkspaces\",\"documentWorkspaces\",\"perspectives\"],\"properties\":{\"email\":{\"description\":\"Email of the User\",\"type\":[\"string\",\"null\"],\"example\":\"\"},\"firstname\":{\"description\":\"Firstname of the User\",\"type\":[\"string\",\"null\"],\"example\":\"\"},\"lastname\":{\"description\":\"Lastname of the User\",\"type\":[\"string\",\"null\"],\"example\":\"\"},\"admin\":{\"description\":\"If User is admin\",\"type\":\"boolean\",\"example\":false},\"active\":{\"description\":\"If User is active\",\"type\":\"boolean\",\"example\":true},\"classes\":{\"description\":\"Classes the user is allows to see\",\"type\":\"object\",\"example\":[\"CAR\"]},\"docTypes\":{\"description\":\"Allowed Document types to create\",\"type\":\"object\",\"example\":[\"3\",\"5\"]},\"closeWarning\":{\"description\":\"Show Close Warning\",\"type\":\"boolean\",\"example\":true},\"allowDirtyClose\":{\"description\":\"Allow Dirty Close\",\"type\":\"boolean\",\"example\":true},\"contentLanguages\":{\"description\":\"List of available content Language already sorted.\",\"type\":\"object\",\"example\":[\"de\",\"en\"]},\"keyBindings\":{\"description\":\"Key Bindings\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/KeyBinding\"}},\"language\":{\"description\":\"Language of the User\",\"type\":\"string\",\"example\":\"de\"},\"dateTimeLocale\":{\"description\":\"Date Time Locale for the User\",\"type\":\"string\",\"example\":\"\"},\"memorizeTabs\":{\"description\":\"Memorize Tabs\",\"type\":\"boolean\",\"example\":true},\"parentId\":{\"description\":\"Parent ID\",\"type\":\"integer\",\"example\":2},\"permissions\":{\"description\":\"List of permissions for the user\",\"type\":\"object\",\"example\":[\"objects\",\"documents\"]},\"roles\":{\"description\":\"ID List of roles the user is assigned\",\"type\":\"object\",\"example\":[12,14]},\"twoFactorAuthenticationRequired\":{\"description\":\"Two Factor Authentication Enabled\",\"type\":\"boolean\",\"example\":false},\"websiteTranslationLanguagesEdit\":{\"description\":\"Website Translation Languages Edit\",\"type\":\"object\",\"example\":[\"de\",\"en\"]},\"websiteTranslationLanguagesView\":{\"description\":\"Website Translation Languages View\",\"type\":\"object\",\"example\":[\"de\"]},\"welcomeScreen\":{\"description\":\"Show welcome Screen\",\"type\":\"boolean\",\"example\":true},\"assetWorkspaces\":{\"description\":\"Asset Workspace\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/UserWorkspace\"}},\"dataObjectWorkspaces\":{\"description\":\"Data Object Workspace\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/UserWorkspace\"}},\"documentWorkspaces\":{\"description\":\"Document Workspace\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/UserWorkspace\"}},\"perspectives\":{\"description\":\"Allowed studio perspectives\",\"type\":\"object\",\"example\":[\"studio_default_perspective\",\"some_otherPerspective_Id\"]}},\"type\":\"object\"},\"User\":{\"title\":\"User\",\"description\":\"Contains all information about a user\",\"required\":[\"id\",\"name\",\"email\",\"firstname\",\"lastname\",\"active\",\"admin\",\"classes\",\"docTypes\",\"closeWarning\",\"allowDirtyClose\",\"contentLanguages\",\"hasImage\",\"keyBindings\",\"language\",\"memorizeTabs\",\"parentId\",\"permissions\",\"roles\",\"twoFactorAuthentication\",\"websiteTranslationLanguagesEdit\",\"websiteTranslationLanguagesView\",\"welcomeScreen\",\"assetWorkspaces\",\"dataObjectWorkspaces\",\"documentWorkspaces\",\"objectDependencies\",\"perspectives\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"ID of the User\",\"type\":\"integer\",\"example\":\"1\"},\"name\":{\"description\":\"Name of Folder or User\",\"type\":[\"string\",\"null\"],\"example\":\"admin\"},\"email\":{\"description\":\"Email of the User\",\"type\":[\"string\",\"null\"],\"example\":\"\"},\"firstname\":{\"description\":\"Firstname of the User\",\"type\":[\"string\",\"null\"],\"example\":\"\"},\"lastname\":{\"description\":\"Lastname of the User\",\"type\":[\"string\",\"null\"],\"example\":\"\"},\"active\":{\"description\":\"If a User is active\",\"type\":\"boolean\",\"example\":true},\"admin\":{\"description\":\"If User is admin\",\"type\":\"boolean\",\"example\":false},\"classes\":{\"description\":\"Classes the user is allows to see\",\"type\":\"object\",\"example\":[\"CAR\"]},\"docTypes\":{\"description\":\"Allowed doc types to create\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"closeWarning\":{\"description\":\"Show close warning\",\"type\":\"boolean\",\"example\":true},\"allowDirtyClose\":{\"description\":\"Allow Dirty Close\",\"type\":\"boolean\",\"example\":true},\"contentLanguages\":{\"description\":\"List of available content Language already sorted.\",\"type\":\"object\",\"example\":[\"de\",\"en\"]},\"hasImage\":{\"description\":\"If User has an Image\",\"type\":\"boolean\",\"example\":true},\"keyBindings\":{\"description\":\"Key Bindings\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/KeyBinding\"}},\"language\":{\"description\":\"Language of the User\",\"type\":\"string\",\"example\":\"de\"},\"dateTimeLocale\":{\"description\":\"Locale for dateTime\",\"type\":[\"string\",\"null\"],\"example\":\"\"},\"lastLogin\":{\"description\":\"Timestamp of the last login\",\"type\":[\"integer\",\"null\"],\"example\":\"1718757677\"},\"memorizeTabs\":{\"description\":\"Memorize Tabs\",\"type\":\"boolean\",\"example\":true},\"parentId\":{\"description\":\"Parent ID\",\"type\":[\"integer\",\"null\"],\"example\":2},\"permissions\":{\"description\":\"List of permissions for the user\",\"type\":\"object\",\"example\":[\"objects\",\"documents\"]},\"roles\":{\"description\":\"ID List of roles the user is assigned\",\"type\":\"object\",\"example\":[12,14]},\"twoFactorAuthentication\":{\"$ref\":\"#/components/schemas/TwoFactorAuth\",\"description\":\"Two Factor Authentication\"},\"websiteTranslationLanguagesEdit\":{\"description\":\"Website Translation Languages Edit\",\"type\":\"object\",\"example\":[\"de\",\"en\"]},\"websiteTranslationLanguagesView\":{\"description\":\"Website Translation Languages View\",\"type\":\"object\",\"example\":[\"de\"]},\"welcomeScreen\":{\"description\":\"Show Welcome Screen\",\"type\":\"boolean\",\"example\":true},\"assetWorkspaces\":{\"description\":\"Asset Workspace\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/UserWorkspace\"}},\"dataObjectWorkspaces\":{\"description\":\"Data Object Workspace\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/UserDataObjectWorkspace\"}},\"documentWorkspaces\":{\"description\":\"Document Workspace\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/UserDocumentWorkspace\"}},\"objectDependencies\":{\"$ref\":\"#/components/schemas/ObjectDependencies\",\"description\":\"Object Dependencies\"},\"perspectives\":{\"description\":\"Allowed studio perspectives\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/PerspectiveConfig\"}}},\"type\":\"object\"},\"UserDataObjectWorkspace\":{\"title\":\"User Document Workspace\",\"required\":[\"save\",\"unpublish\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/UserWorkspace\"},{\"properties\":{\"save\":{\"description\":\"Save\",\"type\":\"boolean\",\"example\":true},\"unpublish\":{\"description\":\"Unpublish\",\"type\":\"boolean\",\"example\":true},\"localizedEdit\":{\"description\":\"Localized Edit\",\"type\":[\"string\",\"null\"],\"example\":\"default\"},\"localizedView\":{\"description\":\"Localized View\",\"type\":[\"string\",\"null\"],\"example\":\"default\"},\"layouts\":{\"description\":\"Layouts\",\"type\":[\"string\",\"null\"],\"example\":\"CAR\"}},\"type\":\"object\"}]},\"UserDocumentWorkspace\":{\"title\":\"User Document Workspace\",\"required\":[\"save\",\"unpublish\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/UserWorkspace\"},{\"properties\":{\"save\":{\"description\":\"Save\",\"type\":\"boolean\",\"example\":true},\"unpublish\":{\"description\":\"Unpublish\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"}]},\"UserInformation\":{\"title\":\"User Information\",\"description\":\"Information about the user\",\"required\":[\"id\",\"username\",\"email\",\"firstname\",\"lastname\",\"permissions\",\"isAdmin\",\"classes\",\"docTypes\",\"language\",\"dateTimeLocale\",\"welcomeScreen\",\"memorizeTabs\",\"allowDirtyClose\",\"hasImage\",\"contentLanguages\",\"keyBindings\",\"twoFactorAuthentication\",\"activePerspective\",\"perspectives\",\"allowedLanguagesForEditingWebsiteTranslations\",\"allowedLanguagesForViewingWebsiteTranslations\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"User ID\",\"type\":\"integer\",\"example\":1},\"username\":{\"description\":\"Username\",\"type\":\"string\",\"example\":\"admin\"},\"email\":{\"description\":\"Email\",\"type\":[\"string\",\"null\"],\"example\":\"\"},\"firstname\":{\"description\":\"Firstname\",\"type\":[\"string\",\"null\"],\"example\":\"\"},\"lastname\":{\"description\":\"Lastname\",\"type\":[\"string\",\"null\"],\"example\":\"\"},\"permissions\":{\"description\":\"Permissions\",\"type\":\"array\",\"items\":{\"type\":\"string\",\"example\":\"clear_cache\"}},\"isAdmin\":{\"description\":\"If user is an admin user\",\"type\":\"boolean\",\"example\":false},\"classes\":{\"description\":\"Allowed classes to create\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"docTypes\":{\"description\":\"Allowed doc types to create\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"language\":{\"description\":\"User Language\",\"type\":\"string\",\"example\":\"en\"},\"dateTimeLocale\":{\"description\":\"Locale for dateTime\",\"type\":[\"string\",\"null\"],\"example\":\"\"},\"welcomeScreen\":{\"description\":\"Welcome Screen\",\"type\":\"boolean\",\"example\":true},\"memorizeTabs\":{\"description\":\"Memorize Tabs\",\"type\":\"boolean\",\"example\":true},\"allowDirtyClose\":{\"description\":\"Allow Dirty Close\",\"type\":\"boolean\",\"example\":true},\"hasImage\":{\"description\":\"Has Image\",\"type\":\"boolean\",\"example\":true},\"contentLanguages\":{\"description\":\"List of available content Language already sorted.\",\"type\":\"object\",\"example\":[\"de\",\"en\"]},\"allowedLanguagesForEditingWebsiteTranslations\":{\"description\":\"List of valid website Languages to edit.\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":[\"de\",\"en\"]},\"allowedLanguagesForViewingWebsiteTranslations\":{\"description\":\"List of valid website Languages to view.\",\"type\":\"array\",\"items\":{\"type\":\"string\"},\"example\":[\"de\",\"en\"]},\"keyBindings\":{\"description\":\"Key Bindings\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/KeyBinding\"}},\"twoFactorAuthentication\":{\"$ref\":\"#/components/schemas/TwoFactorAuth\",\"description\":\"Two Factor Authentication\"},\"activePerspective\":{\"description\":\"Active studio perspective ID\",\"type\":[\"string\",\"null\"],\"example\":\"studio_default_perspective\"},\"perspectives\":{\"description\":\"Allowed studio perspectives\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/PerspectiveConfig\"}}},\"type\":\"object\"},\"ObjectDependencies\":{\"title\":\"User Object Dependencies\",\"description\":\"User Object Dependencies\",\"required\":[\"hasHidden\",\"dependencies\"],\"properties\":{\"dependencies\":{\"description\":\"Dependencies to objects\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/UserDependency\"}},\"hasHidden\":{\"description\":\"If is has hidden dependencies\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"},\"UserPermission\":{\"title\":\"User Permission\",\"description\":\"A permission for a user or role\",\"required\":[\"key\",\"category\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"key\":{\"description\":\"Key of the Permission\",\"type\":\"string\",\"example\":\"objects\"},\"category\":{\"description\":\"Category of the Permission\",\"type\":\"string\",\"example\":\"Datahub\"}},\"type\":\"object\"},\"UpdateUserProfile\":{\"title\":\"User Profile\",\"description\":\"Schema to update a current User Profile.\",\"required\":[\"firstname\",\"lastname\",\"email\",\"language\",\"dateTimeLocale\",\"welcomeScreen\",\"memorizeTabs\",\"contentLanguages\",\"keyBindings\"],\"properties\":{\"firstname\":{\"description\":\"Firstname of the User\",\"type\":[\"string\",\"null\"],\"example\":\"\"},\"lastname\":{\"description\":\"Lastname of the User\",\"type\":[\"string\",\"null\"],\"example\":\"\"},\"email\":{\"description\":\"Email of the User\",\"type\":[\"string\",\"null\"],\"example\":\"\"},\"language\":{\"description\":\"Language of the User\",\"type\":\"string\",\"example\":\"de\"},\"dateTimeLocale\":{\"description\":\"Date Time Locale for the User\",\"type\":\"string\",\"example\":\"\"},\"welcomeScreen\":{\"description\":\"Show Welcome Screen\",\"type\":\"boolean\",\"example\":true},\"memorizeTabs\":{\"description\":\"Memorize Tabs\",\"type\":\"boolean\",\"example\":true},\"contentLanguages\":{\"description\":\"List of available content Language already sorted.\",\"type\":\"object\",\"example\":[\"de\",\"en\"]},\"keyBindings\":{\"description\":\"Key Bindings\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/KeyBinding\"}}},\"type\":\"object\"},\"UserWorkspace\":{\"title\":\"User Workspace\",\"description\":\"Workspace of a user\",\"required\":[\"cid\",\"cpath\",\"list\",\"view\",\"publish\",\"delete\",\"rename\",\"create\",\"settings\",\"versions\",\"properties\"],\"properties\":{\"cid\":{\"description\":\"ID of the element\",\"type\":\"integer\",\"example\":\"1\"},\"cpath\":{\"description\":\"Path of the element\",\"type\":\"string\",\"example\":\"/path/to/element\"},\"list\":{\"description\":\"List Permission\",\"type\":\"boolean\",\"example\":true},\"view\":{\"description\":\"View Permission\",\"type\":\"boolean\",\"example\":true},\"publish\":{\"description\":\"Publish Permission\",\"type\":\"boolean\",\"example\":true},\"delete\":{\"description\":\"Delete Permission\",\"type\":\"boolean\",\"example\":true},\"rename\":{\"description\":\"Rename Permission\",\"type\":\"boolean\",\"example\":true},\"create\":{\"description\":\"Create Permission\",\"type\":\"boolean\",\"example\":true},\"settings\":{\"description\":\"Settings Permission\",\"type\":\"boolean\",\"example\":true},\"versions\":{\"description\":\"Versions Permission\",\"type\":\"boolean\",\"example\":true},\"properties\":{\"description\":\"Properties Permission\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"},\"Version\":{\"title\":\"Version\",\"required\":[\"id\",\"cid\",\"ctype\",\"note\",\"date\",\"public\",\"published\",\"versionCount\",\"autosave\",\"user\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"version ID\",\"type\":\"integer\",\"example\":2},\"cid\":{\"description\":\"element ID\",\"type\":\"integer\",\"example\":10},\"ctype\":{\"description\":\"element type\",\"type\":\"string\",\"example\":\"object\"},\"note\":{\"description\":\"note\",\"type\":\"string\",\"example\":\"some note\"},\"date\":{\"description\":\"date\",\"type\":\"integer\",\"example\":1712823182},\"public\":{\"description\":\"public\",\"type\":\"boolean\",\"example\":false},\"published\":{\"description\":\"published\",\"type\":\"boolean\",\"example\":false},\"versionCount\":{\"description\":\"version count\",\"type\":\"integer\",\"example\":10},\"autosave\":{\"description\":\"autosave\",\"type\":\"boolean\",\"example\":false},\"user\":{\"$ref\":\"#/components/schemas/VersionUser\",\"description\":\"user\"},\"scheduled\":{\"description\":\"scheduled\",\"type\":[\"integer\",\"null\"],\"example\":null}},\"type\":\"object\"},\"Dimensions\":{\"title\":\"VersionDimensions\",\"properties\":{\"width\":{\"description\":\"width\",\"type\":[\"integer\",\"null\"],\"example\":1920},\"height\":{\"description\":\"height\",\"type\":[\"integer\",\"null\"],\"example\":1080}},\"type\":\"object\"},\"VersionUser\":{\"title\":\"VersionUser\",\"properties\":{\"id\":{\"description\":\"ID\",\"type\":[\"integer\",\"null\"],\"example\":2},\"name\":{\"description\":\"name\",\"type\":[\"string\",\"null\"],\"example\":\"John Doe\"}},\"type\":\"object\"},\"Video\":{\"title\":\"Video\",\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/Asset\"},{\"properties\":{\"duration\":{\"description\":\"Duration\",\"type\":[\"number\",\"null\"],\"format\":\"float\",\"example\":43560.5},\"width\":{\"description\":\"Width\",\"type\":[\"integer\",\"null\"],\"example\":1920},\"height\":{\"description\":\"Height\",\"type\":[\"integer\",\"null\"],\"example\":1080},\"imageThumbnailPath\":{\"description\":\"Path to Image Thumbnail\",\"type\":[\"string\",\"null\"],\"example\":\"/path/to/video/imagethumbnail.jpg\"}},\"type\":\"object\"}]},\"VideoThumbnailConfigDetail\":{\"title\":\"Video Thumbnail Config Detail\",\"required\":[\"settings\",\"writeable\",\"medias\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"settings\":{\"$ref\":\"#/components/schemas/VideoThumbnailSettings\",\"description\":\"Thumbnail settings\"},\"writeable\":{\"description\":\"Is configuration writeable\",\"type\":\"boolean\",\"example\":true},\"medias\":{\"description\":\"Media query configurations with transformation items\",\"type\":\"object\",\"example\":{\"default\":[{\"method\":\"scaleByHeight\",\"arguments\":{\"height\":300}}],\"500K\":[{\"method\":\"scaleByHeight\",\"arguments\":{\"height\":500}}]}}},\"type\":\"object\"},\"VideoThumbnailSettings\":{\"title\":\"Video Thumbnail Settings\",\"required\":[\"name\",\"description\",\"group\",\"videoBitrate\",\"audioBitrate\",\"modificationDate\",\"creationDate\",\"filenameSuffix\"],\"properties\":{\"name\":{\"description\":\"Thumbnail name\",\"type\":\"string\",\"example\":\"content\"},\"description\":{\"description\":\"Thumbnail description\",\"type\":[\"string\",\"null\"],\"example\":\"thumbnail for content videos\"},\"group\":{\"description\":\"Thumbnail group\",\"type\":[\"string\",\"null\"],\"example\":\"\"},\"videoBitrate\":{\"description\":\"Video bitrate in kbps\",\"type\":[\"integer\",\"null\"],\"example\":450},\"audioBitrate\":{\"description\":\"Audio bitrate in kbps\",\"type\":[\"integer\",\"null\"],\"example\":128},\"modificationDate\":{\"description\":\"Modification date timestamp\",\"type\":[\"integer\",\"null\"],\"example\":1769430880},\"creationDate\":{\"description\":\"Creation date timestamp\",\"type\":[\"integer\",\"null\"],\"example\":1565353556},\"filenameSuffix\":{\"description\":\"Filename suffix\",\"type\":[\"string\",\"null\"],\"example\":null}},\"type\":\"object\"},\"VideoType\":{\"title\":\"Video Type\",\"required\":[\"key\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"key\":{\"description\":\"key\",\"type\":\"string\",\"example\":\"image\"}},\"type\":\"object\"},\"WebsiteSetting\":{\"title\":\"Website Setting\",\"required\":[\"id\",\"name\",\"type\",\"data\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"ID\",\"type\":\"integer\",\"example\":1},\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"site_title\"},\"language\":{\"description\":\"Language\",\"type\":\"string\",\"example\":\"en\"},\"type\":{\"description\":\"Type\",\"type\":[\"string\",\"null\"],\"example\":\"text\"},\"data\":{\"description\":\"Data\",\"example\":\"Some text data\",\"anyOf\":[{\"type\":\"string\"},{\"type\":\"boolean\"},{\"$ref\":\"#/components/schemas/WebsiteSettingsObjectData\"},{\"type\":\"null\"}]},\"siteId\":{\"description\":\"Site ID\",\"type\":[\"integer\",\"null\"],\"example\":1},\"creationDate\":{\"description\":\"Creation date\",\"type\":[\"integer\",\"null\"],\"example\":null},\"modificationDate\":{\"description\":\"Modification date\",\"type\":[\"integer\",\"null\"],\"example\":null}},\"type\":\"object\"},\"WebsiteSettingsAdd\":{\"title\":\"Website Settings Add\",\"required\":[\"name\",\"type\"],\"properties\":{\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"New Custom Setting\"},\"type\":{\"description\":\"Type\",\"type\":\"string\",\"example\":\"document\"}},\"type\":\"object\"},\"WebsiteSettingsObjectData\":{\"title\":\"Website Settings Object Data\",\"required\":[\"id\",\"fullPath\"],\"properties\":{\"id\":{\"description\":\"element id\",\"type\":\"integer\",\"example\":1020},\"fullPath\":{\"description\":\"element fullPath\",\"type\":\"string\",\"example\":\"/path/to/object\"}},\"type\":\"object\"},\"WebsiteSettingsType\":{\"title\":\"Website Settings Type\",\"required\":[\"key\",\"title\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"key\":{\"description\":\"Key\",\"type\":\"string\",\"example\":\"boolean\"},\"title\":{\"description\":\"Title\",\"type\":\"string\",\"example\":\"Checkbox\"}},\"type\":\"object\"},\"WebsiteSettingsUpdate\":{\"title\":\"Website Settings Update\",\"required\":[\"name\",\"language\",\"data\",\"siteId\"],\"properties\":{\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"Updated Setting Title\"},\"language\":{\"description\":\"Language\",\"type\":\"string\",\"example\":\"en\"},\"data\":{\"description\":\"Data\",\"example\":\"{\\\"id\\\": 136,\\\"fullPath\\\": \\\"/de\\\"}\",\"anyOf\":[{\"type\":\"string\"},{\"type\":\"boolean\"},{\"$ref\":\"#/components/schemas/WebsiteSettingsObjectData\"},{\"type\":\"null\"}]},\"siteId\":{\"description\":\"Site ID\",\"type\":[\"integer\",\"null\"],\"example\":1}},\"type\":\"object\"},\"WidgetConfig\":{\"title\":\"Widget Config\",\"required\":[\"id\",\"name\",\"widgetType\",\"icon\",\"onlyWrapper\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"Widget ID\",\"type\":\"string\",\"example\":\"5026c239_eb75_499a_8576_841bca283350\"},\"name\":{\"description\":\"Name\",\"type\":\"string\",\"example\":\"Cars\"},\"widgetType\":{\"description\":\"Widget Type\",\"type\":\"string\",\"example\":\"element_trees\"},\"icon\":{\"$ref\":\"#/components/schemas/ElementIcon\",\"description\":\"Icon\"},\"onlyWrapper\":{\"description\":\"If widget is only wrapper of another configuration\",\"type\":\"boolean\",\"example\":false}},\"type\":\"object\"},\"WidgetType\":{\"title\":\"WidgetType\",\"required\":[\"id\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"id\":{\"description\":\"id\",\"type\":\"string\",\"example\":\"info\"}},\"type\":\"object\"},\"WorkflowDetails\":{\"title\":\"WorkflowDetails\",\"required\":[\"workflowName\",\"workflowLabel\",\"workflowStatus\",\"graph\",\"workflowLayoutId\",\"allowedTransitions\",\"globalActions\"],\"properties\":{\"additionalAttributes\":{\"description\":\"AdditionalAttributes\",\"type\":\"object\",\"additionalProperties\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"object\"}]}},\"workflowName\":{\"description\":\"workflowName\",\"type\":\"string\",\"example\":\"simple_asset\"},\"workflowLabel\":{\"description\":\"workflowLabel\",\"type\":\"string\",\"example\":\"Sample Asset Workflow\"},\"workflowStatus\":{\"description\":\"workflowStatus\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/WorkflowStatus\"}},\"graph\":{\"description\":\"graph\",\"type\":\"string\",\"example\":\"<svg>...</svg>\"},\"workflowLayoutId\":{\"description\":\"workflowLayoutId\",\"type\":[\"string\",\"null\"],\"example\":\"someWorkflowLayoutId\"},\"allowedTransitions\":{\"description\":\"allowedTransitions\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/AllowedTransition\"}},\"globalActions\":{\"description\":\"globalActions\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/GlobalAction\"}}},\"type\":\"object\"},\"WorkflowStatus\":{\"title\":\"WorkflowStatus\",\"required\":[\"color\",\"colorInverted\",\"title\",\"label\",\"layoutId\",\"visibleInDetail\"],\"properties\":{\"color\":{\"description\":\"color\",\"type\":\"string\",\"example\":\"#3572b0\"},\"colorInverted\":{\"description\":\"colorInverted\",\"type\":\"boolean\",\"example\":false},\"title\":{\"description\":\"borderColor\",\"type\":\"string\",\"example\":\"#ffa500\"},\"label\":{\"description\":\"label\",\"type\":\"string\",\"example\":\"Edit Images\"},\"layoutId\":{\"description\":\"layoutId\",\"type\":[\"string\",\"null\"],\"example\":\"someStatusLayoutId\"},\"visibleInDetail\":{\"description\":\"visibleInDetail\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"},\"WysiwygWidgetConfig\":{\"title\":\"Wysiwyg Widget Config\",\"required\":[\"color\",\"wysiwyg\",\"isWriteable\"],\"type\":\"object\",\"allOf\":[{\"$ref\":\"#/components/schemas/DashboardsWidgetConfig\"},{\"properties\":{\"color\":{\"description\":\"Widget Color\",\"type\":\"string\",\"example\":\"#FF5733\"},\"wysiwyg\":{\"description\":\"Wysiwyg Content\",\"type\":[\"string\",\"null\"],\"example\":\"<p>Hello World</p>\"},\"isWriteable\":{\"description\":\"Is Writeable\",\"type\":\"boolean\",\"example\":true}},\"type\":\"object\"}]}}},\"tags\":[{\"name\":\"Assets\",\"description\":\"tag_assets_description\"},{\"name\":\"Asset Grid\",\"description\":\"tag_asset_grid_description\"},{\"name\":\"Asset Thumbnails\",\"description\":\"tag_asset_thumbnail_description\"},{\"name\":\"Authorization\",\"description\":\"tag_authorization_description\"},{\"name\":\"Class Definition\",\"description\":\"tag_class_description\"},{\"name\":\"Classification Store\",\"description\":\"tag_classification_store\"},{\"name\":\"Data Objects\",\"description\":\"tag_dataobjects_description\"},{\"name\":\"Data Object Grid\",\"description\":\"tag_dataobject_grid_description\"},{\"name\":\"Dependencies\",\"description\":\"tag_dependencies_description\"},{\"name\":\"Documents\",\"description\":\"tag_documents_description\"},{\"name\":\"Elements\",\"description\":\"tag_elements_description\"},{\"name\":\"Execution Engine\",\"description\":\"tag_execution_engine_description\"},{\"name\":\"E-Mails\",\"description\":\"tag_emails_description\"},{\"name\":\"Export\",\"description\":\"tag_export_description\"},{\"name\":\"GDPR Data Extractor\",\"description\":\"tag_gdpr_description\"},{\"name\":\"Mercure\",\"description\":\"tag_mercure_description\"},{\"name\":\"Metadata\",\"description\":\"tag_metadata_description\"},{\"name\":\"Notes\",\"description\":\"tag_notes_description\"},{\"name\":\"Notifications\",\"description\":\"tag_notifications_description\"},{\"name\":\"Perspectives\",\"description\":\"tag_perspectives_description\"},{\"name\":\"Properties\",\"description\":\"tag_properties_description\"},{\"name\":\"Recycle Bin\",\"description\":\"tag_recycle_bin_description\"},{\"name\":\"Role Management\",\"description\":\"tag_role_description\"},{\"name\":\"Schedule\",\"description\":\"tag_schedule_description\"},{\"name\":\"Search\",\"description\":\"tag_search_description\"},{\"name\":\"Settings\",\"description\":\"tag_settings_description\"},{\"name\":\"Tags\",\"description\":\"tag_tags_description\"},{\"name\":\"Tags for Element\",\"description\":\"tag_tags_for_element_description\"},{\"name\":\"Translation\",\"description\":\"tag_translation_description\"},{\"name\":\"Units\",\"description\":\"tag_units_description\"},{\"name\":\"User Management\",\"description\":\"tag_user_description\"},{\"name\":\"Versions\",\"description\":\"tag_versions_description\"},{\"name\":\"Website Settings\",\"description\":\"tag_website_settings_description\"},{\"name\":\"Workflows\",\"description\":\"tag_workflows_description\"},{\"name\":\"Settings Admin\",\"description\":\"Settings Admin\"},{\"name\":\"Bundle Application Logger\",\"description\":\"tag_bundle_application_logger_description\"},{\"name\":\"Bundle Asset Metadata Class Definitions\",\"description\":\"bundle_tag_asset_metadata_class_definitions_description\"},{\"name\":\"Bundle Backend Power Tools\",\"description\":\"bundle_tag_backend_power_tools_description\"},{\"name\":\"Bundle Copilot\",\"description\":\"bundle_tag_copilot_description\"},{\"name\":\"Bundle Custom Reports\",\"description\":\"tag_bundle_custom_reports_description\"},{\"name\":\"Bundle Data Hub\",\"description\":\"bundle_tag_data_hub_description\"},{\"name\":\"Bundle Data Hub File Export\",\"description\":\"bundle_tag_data_hub_file_export_description\"},{\"name\":\"Bundle Data Hub Simple Rest\",\"description\":\"bundle_tag_data_hub_simple_rest_description\"},{\"name\":\"Bundle Data Hub Webhooks\",\"description\":\"bundle_tag_data_hub_webhooks_description\"},{\"name\":\"Bundle Data Quality Management\",\"description\":\"bundle_tag_data_quality_management_description\"},{\"name\":\"Bundle Enterprise Subscription Tools\",\"description\":\"bundle_tag_enterprise_subscription_tools_description\"},{\"name\":\"Bundle Personalization\",\"description\":\"bundle_tag_personalization_description\"},{\"name\":\"Bundle Portal Engine\",\"description\":\"bundle_tag_portal_engine_description\"},{\"name\":\"Bundle Seo\",\"description\":\"tag_bundle_seo_description\"},{\"name\":\"Bundle Statistics Explorer\",\"description\":\"bundle_tag_statistics_explorer_description\"},{\"name\":\"Bundle Studio Dashboards\",\"description\":\"bundle_tag_dashboards_description\"},{\"name\":\"Bundle Web To Print\",\"description\":\"bundle_tag_web_to_print_description\"}]}"
  },
  {
    "path": "assets/studio/build/api/openapi-config.ts",
    "content": "/**\n* Pimcore\n*\n* This source file is available under two different licenses:\n* - Pimcore Open Core License (POCL)\n* - Pimcore Commercial License (PCL)\n* Full copyright and license information is available in\n* LICENSE.md which is distributed with this source code.\n*\n*  @copyright  Copyright (c) Pimcore GmbH (http://www.pimcore.org)\n*  @license    https://github.com/pimcore/studio-ui-bundle/blob/1.x/LICENSE.md POCL and PCL\n*/\n\nimport { type ConfigFile } from '@rtk-query/codegen-openapi'\nimport { EndpointMatcherFunction } from '@rtk-query/codegen-openapi/lib/types';\n\nconst pathMatcher = (pattern: RegExp): EndpointMatcherFunction => {\n  return (name, definition) => {\n    return pattern.test(definition.path);\n  }\n}\n\nconst config: ConfigFile = {\n  schemaFile: './docs.jsonopenapi.json',\n  apiFile: '@pimcore/studio-ui-bundle/api',\n  apiImport: 'api',\n  outputFiles: {\n    '../../js/src/modules/config/config-api-slice.gen.ts': {\n      filterEndpoints: pathMatcher(/bundle\\/data-hub\\/config/i)\n    },\n    '../../js/src/modules/config/users-api-slice.gen.ts': {\n      filterEndpoints: pathMatcher(/bundle\\/data-hub\\/users/i)\n    },\n    '../../js/src/modules/graphql/graphql-api-slice.gen.ts': {\n      filterEndpoints: pathMatcher(/bundle\\/data-hub\\/graphql/i)\n    },\n    '../../js/src/modules/operators/thumbnails-api-slice.gen.ts': {\n      filterEndpoints: pathMatcher(/bundle\\/data-hub\\/thumbnails/i)\n    },\n  },\n  exportName: 'api',\n  hooks: true,\n  tag: true\n}\n\nexport default config\n"
  },
  {
    "path": "assets/studio/dist/.gitkeep",
    "content": ""
  },
  {
    "path": "assets/studio/eslint.config.mjs",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport tseslint from 'typescript-eslint'\nimport js from '@eslint/js'\nimport globals from 'globals'\nimport stylistic from '@stylistic/eslint-plugin'\nimport reactPlugin from 'eslint-plugin-react'\nimport jsxA11y from 'eslint-plugin-jsx-a11y'\nimport importPlugin from 'eslint-plugin-import'\nimport promisePlugin from 'eslint-plugin-promise'\nimport nPlugin from 'eslint-plugin-n'\nimport headerPluginRaw from 'eslint-plugin-header'\nimport { fileURLToPath } from 'url'\nimport path from 'path'\n\nconst __filename = fileURLToPath(import.meta.url)\nconst __dirname = path.dirname(__filename)\n\n// eslint-plugin-header v3.x has no schema defined; ESLint v9 defaults to []\n// which blocks all options. Patch in a permissive schema as a workaround.\nconst headerPlugin = {\n  ...headerPluginRaw,\n  rules: {\n    ...headerPluginRaw.rules,\n    header: {\n      ...headerPluginRaw.rules.header,\n      meta: {\n        ...headerPluginRaw.rules.header.meta,\n        schema: { type: 'array' }\n      }\n    }\n  }\n}\n\nexport default tseslint.config(\n  // 1. Ignore patterns\n  {\n    ignores: ['**/*.gen.ts']\n  },\n\n  // 2. Main config for all TS/TSX/JS/JSX source files\n  {\n    files: ['**/*.{js,jsx,ts,tsx}'],\n    extends: [\n      js.configs.recommended,\n      ...tseslint.configs.recommended\n    ],\n    plugins: {\n      '@stylistic': stylistic,\n      react: reactPlugin,\n      'jsx-a11y': jsxA11y,\n      import: importPlugin,\n      promise: promisePlugin,\n      n: nPlugin,\n      header: headerPlugin\n    },\n    languageOptions: {\n      globals: {\n        ...globals.browser,\n        ...globals.es2021\n      },\n      parserOptions: {\n        project: true,\n        tsconfigRootDir: __dirname,\n        ecmaFeatures: { jsx: true }\n      }\n    },\n    settings: {\n      react: { version: 'detect' }\n    },\n    rules: {\n      // -----------------------------------------------------------------------\n      // React rules (from plugin:react/recommended)\n      // -----------------------------------------------------------------------\n      ...reactPlugin.configs.flat.recommended.rules,\n\n      // -----------------------------------------------------------------------\n      // jsx-a11y rules (from plugin:jsx-a11y/recommended)\n      // -----------------------------------------------------------------------\n      ...jsxA11y.flatConfigs.recommended.rules,\n\n      // -----------------------------------------------------------------------\n      // import rules (subset from eslint-config-standard)\n      // -----------------------------------------------------------------------\n      'import/export': 'error',\n      'import/first': 'error',\n      'import/no-absolute-path': ['error', { esmodule: true, commonjs: true, amd: false }],\n      'import/no-duplicates': 'error',\n      'import/no-named-default': 'error',\n      'import/no-webpack-loader-syntax': 'error',\n\n      // -----------------------------------------------------------------------\n      // promise rules (subset from eslint-config-standard)\n      // -----------------------------------------------------------------------\n      'promise/param-names': 'error',\n\n      // -----------------------------------------------------------------------\n      // n rules (subset from eslint-config-standard)\n      // -----------------------------------------------------------------------\n      'n/handle-callback-err': ['error', '^(err|error)$'],\n      'n/no-callback-literal': 'error',\n      'n/no-deprecated-api': 'error',\n      'n/no-exports-assign': 'error',\n      'n/no-new-require': 'error',\n      'n/no-path-concat': 'error',\n      'n/process-exit-as-throw': 'error',\n\n      // -----------------------------------------------------------------------\n      // Standard JS style rules (from eslint-config-standard)\n      // Base ESLint rules that are not superseded by @typescript-eslint/*\n      // -----------------------------------------------------------------------\n      'no-var': 'warn',\n      'object-shorthand': ['warn', 'properties'],\n      'accessor-pairs': ['error', { setWithoutGet: true, enforceForClassMembers: true }],\n      'array-bracket-spacing': ['error', 'never'],\n      'array-callback-return': ['error', { allowImplicit: false, checkForEach: false }],\n      'arrow-spacing': ['error', { before: true, after: true }],\n      'comma-style': ['error', 'last'],\n      'computed-property-spacing': ['error', 'never', { enforceForClassMembers: true }],\n      'constructor-super': 'error',\n      'curly': ['error', 'multi-line'],\n      'default-case-last': 'error',\n      'dot-location': ['error', 'property'],\n      'eol-last': 'error',\n      'eqeqeq': ['error', 'always', { null: 'ignore' }],\n      'generator-star-spacing': ['error', { before: true, after: true }],\n      'new-cap': ['error', { newIsCap: true, capIsNew: false, properties: true }],\n      'new-parens': 'error',\n      'no-array-constructor': 'off', // superseded by @typescript-eslint/no-array-constructor\n      'no-async-promise-executor': 'error',\n      'no-caller': 'error',\n      'no-case-declarations': 'error',\n      'no-class-assign': 'error',\n      'no-compare-neg-zero': 'error',\n      'no-cond-assign': 'error',\n      'no-const-assign': 'error',\n      'no-constant-condition': ['error', { checkLoops: false }],\n      'no-control-regex': 'error',\n      'no-debugger': 'error',\n      'no-delete-var': 'error',\n      'no-dupe-args': 'error',\n      'no-dupe-keys': 'error',\n      'no-duplicate-case': 'error',\n      'no-empty': ['error', { allowEmptyCatch: true }],\n      'no-empty-character-class': 'error',\n      'no-empty-pattern': 'error',\n      'no-eval': 'error',\n      'no-ex-assign': 'error',\n      'no-extend-native': 'error',\n      'no-extra-bind': 'error',\n      'no-extra-boolean-cast': 'error',\n      'no-fallthrough': 'error',\n      'no-floating-decimal': 'error',\n      'no-func-assign': 'error',\n      'no-global-assign': 'error',\n      'no-import-assign': 'error',\n      'no-invalid-regexp': 'error',\n      'no-irregular-whitespace': 'error',\n      'no-iterator': 'error',\n      'no-labels': ['error', { allowLoop: true }],\n      'no-lone-blocks': 'error',\n      'no-misleading-character-class': 'error',\n      'no-multi-str': 'error',\n      'no-new': 'error',\n      'no-new-func': 'error',\n      'no-new-object': 'error',\n      'no-new-wrappers': 'error',\n      'no-obj-calls': 'error',\n      'no-octal': 'error',\n      'no-octal-escape': 'error',\n      'no-proto': 'error',\n      'no-prototype-builtins': 'error',\n      'no-regex-spaces': 'error',\n      'no-return-assign': ['error', 'except-parens'],\n      'no-self-assign': ['error', { props: true }],\n      'no-self-compare': 'error',\n      'no-sequences': 'error',\n      'no-setter-return': 'error',\n      'no-shadow-restricted-names': 'error',\n      'no-sparse-arrays': 'error',\n      'no-template-curly-in-string': 'error',\n      'no-this-before-super': 'error',\n      'no-undef-init': 'error',\n      'no-unexpected-multiline': 'error',\n      'no-unmodified-loop-condition': 'error',\n      'no-unneeded-ternary': ['error', { defaultAssignment: false }],\n      'no-unreachable': 'error',\n      'no-unreachable-loop': 'error',\n      'no-unsafe-finally': 'error',\n      'no-unsafe-negation': 'error',\n      'no-unused-private-class-members': 'error',\n      'no-useless-backreference': 'error',\n      'no-useless-call': 'error',\n      'no-useless-catch': 'error',\n      'no-useless-computed-key': 'error',\n      'no-useless-escape': 'error',\n      'no-useless-rename': 'error',\n      'no-useless-return': 'error',\n      'no-whitespace-before-property': 'error',\n      'no-with': 'error',\n      'object-curly-newline': ['error', { multiline: true, consistent: true }],\n      'object-property-newline': ['error', { allowMultiplePropertiesPerLine: true }],\n      'one-var': ['error', { initialized: 'never' }],\n      'operator-linebreak': ['error', 'after', { overrides: { '?': 'before', ':': 'before', '|>': 'before' } }],\n      'padded-blocks': ['error', { blocks: 'never', switches: 'never', classes: 'never' }],\n      'prefer-const': ['error', { destructuring: 'all' }],\n      'prefer-promise-reject-errors': 'error',\n      'prefer-regex-literals': ['error', { disallowRedundantWrapping: true }],\n      'quote-props': ['error', 'as-needed'],\n      'rest-spread-spacing': ['error', 'never'],\n      'semi-spacing': ['error', { before: false, after: true }],\n      'space-in-parens': ['error', 'never'],\n      'space-unary-ops': ['error', { words: true, nonwords: false }],\n      'spaced-comment': ['error', 'always', {\n        line: { markers: ['*package', '!', '/', ',', '='] },\n        block: { balanced: true, markers: ['*package', '!', ',', ':', '::', 'flow-include'], exceptions: ['*'] }\n      }],\n      'symbol-description': 'error',\n      'template-curly-spacing': ['error', 'never'],\n      'template-tag-spacing': ['error', 'never'],\n      'unicode-bom': ['error', 'never'],\n      'use-isnan': ['error', { enforceForSwitchCase: true, enforceForIndexOf: true }],\n      'valid-typeof': ['error', { requireStringLiterals: true }],\n      'wrap-iife': ['error', 'any', { functionPrototypeMethods: true }],\n      'yield-star-spacing': ['error', 'both'],\n      'yoda': ['error', 'never'],\n      // Turn off base rules superseded by @typescript-eslint/* equivalents\n      'camelcase': 'off',\n      'dot-notation': 'off',\n      'no-implied-eval': 'off',\n      'no-loss-of-precision': 'off',\n      'no-redeclare': 'off',\n      'no-throw-literal': 'off',\n      'no-unused-vars': 'off',\n      'no-unused-expressions': 'off',\n      '@typescript-eslint/no-unused-expressions': 'off',\n      'no-useless-constructor': 'off',\n      'no-void': ['error', { allowAsStatement: true }],\n\n      // -----------------------------------------------------------------------\n      // @stylistic rules (replaces the 17 formatting rules removed from\n      // @typescript-eslint v8, previously wired through standard-with-typescript)\n      // -----------------------------------------------------------------------\n      '@stylistic/block-spacing': ['error', 'always'],\n      '@stylistic/brace-style': ['error', '1tbs', { allowSingleLine: true }],\n      '@stylistic/comma-dangle': ['error', {\n        arrays: 'never',\n        objects: 'never',\n        imports: 'never',\n        exports: 'never',\n        functions: 'never',\n        enums: 'ignore',\n        generics: 'ignore',\n        tuples: 'ignore'\n      }],\n      '@stylistic/comma-spacing': ['error', { before: false, after: true }],\n      '@stylistic/function-call-spacing': ['error', 'never'],\n      '@stylistic/indent': ['error', 2, {\n        SwitchCase: 1,\n        VariableDeclarator: 1,\n        outerIIFEBody: 1,\n        MemberExpression: 1,\n        FunctionDeclaration: { parameters: 1, body: 1 },\n        FunctionExpression: { parameters: 1, body: 1 },\n        CallExpression: { arguments: 1 },\n        ArrayExpression: 1,\n        ObjectExpression: 1,\n        ImportDeclaration: 1,\n        flatTernaryExpressions: false,\n        ignoreComments: false,\n        ignoredNodes: [\n          'TemplateLiteral *',\n          'JSXElement',\n          'JSXElement > *',\n          'JSXAttribute',\n          'JSXIdentifier',\n          'JSXNamespacedName',\n          'JSXMemberExpression',\n          'JSXSpreadAttribute',\n          'JSXExpressionContainer',\n          'JSXOpeningElement',\n          'JSXClosingElement',\n          'JSXFragment',\n          'JSXOpeningFragment',\n          'JSXClosingFragment',\n          'JSXText',\n          'JSXEmptyExpression',\n          'JSXSpreadChild'\n        ],\n        offsetTernaryExpressions: true\n      }],\n      '@stylistic/key-spacing': ['error', { beforeColon: false, afterColon: true }],\n      '@stylistic/keyword-spacing': ['error', { before: true, after: true }],\n      '@stylistic/lines-between-class-members': ['error', 'always', { exceptAfterSingleLine: true }],\n      '@stylistic/member-delimiter-style': ['error', {\n        multiline: { delimiter: 'none' },\n        singleline: { delimiter: 'comma', requireLast: false }\n      }],\n      '@stylistic/object-curly-spacing': ['error', 'always'],\n      '@stylistic/quotes': ['error', 'single', { avoidEscape: true, allowTemplateLiterals: 'never' }],\n      '@stylistic/semi': ['error', 'never'],\n      '@stylistic/space-before-blocks': ['error', 'always'],\n      '@stylistic/space-before-function-paren': ['error', 'always'],\n      '@stylistic/space-infix-ops': 'error',\n      '@stylistic/type-annotation-spacing': 'error',\n\n      // -----------------------------------------------------------------------\n      // @typescript-eslint type-aware rules (from standard-with-typescript)\n      // -----------------------------------------------------------------------\n      // no-explicit-any / no-unused-vars: turned off — pre-existing widespread usage;\n      // address in a dedicated cleanup PR\n      '@typescript-eslint/no-explicit-any': 'off',\n      '@typescript-eslint/no-unused-vars': 'off',\n      'no-unused-vars': 'off',\n      // -----------------------------------------------------------------------\n      '@typescript-eslint/consistent-type-assertions': ['error', {\n        assertionStyle: 'as',\n        objectLiteralTypeAssertions: 'never'\n      }],\n      '@typescript-eslint/consistent-type-definitions': ['error', 'interface'],\n      '@typescript-eslint/consistent-type-exports': 'off',\n      '@typescript-eslint/consistent-type-imports': ['error', {\n        prefer: 'type-imports',\n        disallowTypeAnnotations: true,\n        fixStyle: 'inline-type-imports'\n      }],\n      '@typescript-eslint/explicit-function-return-type': ['error', {\n        allowExpressions: true,\n        allowHigherOrderFunctions: true,\n        allowTypedFunctionExpressions: true,\n        allowDirectConstAssertionInArrowFunctions: true\n      }],\n      '@typescript-eslint/method-signature-style': 'error',\n      '@typescript-eslint/naming-convention': ['error', {\n        selector: 'variableLike',\n        leadingUnderscore: 'allow',\n        trailingUnderscore: 'allow',\n        format: ['camelCase', 'PascalCase', 'UPPER_CASE']\n      }],\n      '@typescript-eslint/no-array-constructor': 'error',\n      '@typescript-eslint/no-base-to-string': 'off',\n      '@typescript-eslint/no-confusing-void-expression': ['error', {\n        ignoreArrowShorthand: false,\n        ignoreVoidOperator: false\n      }],\n      '@typescript-eslint/no-dynamic-delete': 'error',\n      '@typescript-eslint/no-extraneous-class': ['error', { allowWithDecorator: true }],\n      '@typescript-eslint/no-floating-promises': 'error',\n      '@typescript-eslint/no-for-in-array': 'error',\n      '@typescript-eslint/no-invalid-void-type': 'error',\n      '@typescript-eslint/no-misused-new': 'error',\n      '@typescript-eslint/no-misused-promises': 'off',\n      '@typescript-eslint/no-namespace': 'error',\n      '@typescript-eslint/no-non-null-asserted-optional-chain': 'error',\n      '@typescript-eslint/no-non-null-assertion': 'off',\n      '@typescript-eslint/no-this-alias': ['error', { allowDestructuring: true }],\n      '@typescript-eslint/no-unnecessary-boolean-literal-compare': 'error',\n      '@typescript-eslint/no-unnecessary-type-assertion': 'error',\n      '@typescript-eslint/no-unnecessary-type-constraint': 'error',\n      '@typescript-eslint/no-unsafe-argument': 'error',\n      '@typescript-eslint/non-nullable-type-assertion-style': 'error',\n      '@typescript-eslint/prefer-function-type': 'error',\n      '@typescript-eslint/prefer-includes': 'error',\n      '@typescript-eslint/prefer-nullish-coalescing': ['error', {\n        ignoreConditionalTests: false,\n        ignoreMixedLogicalExpressions: false\n      }],\n      '@typescript-eslint/prefer-optional-chain': 'error',\n      '@typescript-eslint/prefer-readonly': 'error',\n      '@typescript-eslint/prefer-reduce-type-parameter': 'error',\n      '@typescript-eslint/prefer-return-this-type': 'error',\n      '@typescript-eslint/promise-function-async': 'error',\n      '@typescript-eslint/require-array-sort-compare': ['error', { ignoreStringArrays: true }],\n      '@typescript-eslint/restrict-plus-operands': ['error', { skipCompoundAssignments: false }],\n      '@typescript-eslint/restrict-template-expressions': ['error', { allowNumber: true }],\n      '@typescript-eslint/return-await': ['error', 'always'],\n      '@typescript-eslint/strict-boolean-expressions': 'off',\n      '@typescript-eslint/triple-slash-reference': ['error', {\n        lib: 'never',\n        path: 'never',\n        types: 'never'\n      }],\n      '@typescript-eslint/unbound-method': 'off',\n      // v8: renamed no-var-requires → no-require-imports\n      '@typescript-eslint/no-require-imports': 'error',\n      // v8: ban-types split into targeted rules\n      '@typescript-eslint/no-unsafe-function-type': 'error',\n      '@typescript-eslint/no-wrapper-object-types': 'error',\n      '@typescript-eslint/no-empty-object-type': ['error', { allowInterfaces: 'always' }],\n      // v8: no-throw-literal renamed to only-throw-error\n      '@typescript-eslint/only-throw-error': 'error',\n      // v8: prefer-ts-expect-error deprecated in favour of ban-ts-comment option\n      '@typescript-eslint/ban-ts-comment': ['error', { 'ts-expect-error': 'allow-with-description' }],\n\n      // -----------------------------------------------------------------------\n      // header (license block check)\n      // -----------------------------------------------------------------------\n      'header/header': [2, 'block', [\n        '*',\n        ' * This source file is available under the terms of the',\n        ' * Pimcore Open Core License (POCL)',\n        ' * Full copyright and license information is available in',\n        ' * LICENSE.md which is distributed with this source code.',\n        ' *',\n        ' *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)',\n        ' *  @license    Pimcore Open Core License (POCL)',\n        ' '\n      ], 2],\n\n      // -----------------------------------------------------------------------\n      // React JSX rules (from original .eslintrc.js)\n      // -----------------------------------------------------------------------\n      'react/jsx-boolean-value': 'error',\n      'react/jsx-closing-bracket-location': 'error',\n      'react/jsx-curly-spacing': ['error', 'always'],\n      'react/jsx-equals-spacing': 'error',\n      'react/jsx-first-prop-new-line': 'error',\n      'react/jsx-indent-props': ['error', 2],\n      'react/jsx-indent': ['error', 2],\n      'react/jsx-key': 'error',\n      'react/jsx-max-props-per-line': ['error', { maximum: 1 }],\n      'react/jsx-no-literals': 'off',\n      'react/jsx-no-target-blank': 'error',\n      'react/jsx-pascal-case': 'error',\n      'react/jsx-sort-props': 'error',\n      'react/jsx-tag-spacing': 'error',\n      'react/jsx-no-constructed-context-values': 'error',\n      'react/jsx-wrap-multilines': ['error', {\n        declaration: 'parens-new-line',\n        assignment: 'parens-new-line',\n        return: 'parens-new-line',\n        arrow: 'parens-new-line',\n        condition: 'parens-new-line',\n        logical: 'parens-new-line',\n        prop: 'ignore'\n      }],\n\n      // -----------------------------------------------------------------------\n      // Misc\n      // -----------------------------------------------------------------------\n      'max-lines': ['error', { max: 300 }]\n    }\n  },\n\n  // 3. Node environment for config files themselves\n  {\n    files: ['eslint.config.{js,mjs,cjs}', '.eslintrc.{js,cjs}'],\n    languageOptions: {\n      globals: { ...globals.node }\n    }\n  }\n)\n"
  },
  {
    "path": "assets/studio/js/src/components/base-detail-view/base-detail-view.styles.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { createStyles } from 'antd-style'\n\nexport const useStyles = createStyles(({ css }) => {\n  return {\n    formWrapper: css`\n      display: contents;\n\n      > form {\n        display: flex;\n        flex-direction: column;\n        flex: 1;\n        min-height: 0;\n      }\n    `\n  }\n})\n"
  },
  {
    "path": "assets/studio/js/src/components/base-detail-view/base-detail-view.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { type ReactNode } from 'react'\nimport { Tabs, FormKit, Content, ContentLayout, type formInstanceType } from '@pimcore/studio-ui-bundle/components'\nimport { useStyles } from './base-detail-view.styles'\n\nexport interface TabItem {\n  key: string\n  label: string\n  children: ReactNode\n  /** When true, the tab content fills full height without a scrollable Panel wrapper. */\n  fullHeight?: boolean\n}\n\nexport interface BaseDetailViewProps {\n  toolbar: ReactNode\n  tabs: TabItem[]\n  isLoading: boolean\n  form: formInstanceType\n  initialValues: any\n  onValuesChange: (changedValues: any, allValues: any) => void\n  disabled?: boolean\n  requestId?: string\n}\n\nexport function BaseDetailView ({\n  toolbar,\n  tabs,\n  isLoading,\n  form,\n  initialValues,\n  onValuesChange,\n  disabled = false,\n  requestId\n}: BaseDetailViewProps): React.JSX.Element {\n  const { styles } = useStyles()\n\n  const enhancedTabs = tabs.map((tab) => ({\n    ...tab,\n    children: tab.fullHeight === true\n      ? tab.children\n      : (\n        <Content padded>\n          { tab.children }\n        </Content>\n        )\n  }))\n\n  return (\n    <ContentLayout renderToolbar={ toolbar }>\n      <Content\n        loading={ isLoading }\n        overflow={ { x: 'auto', y: 'hidden' } }\n      >\n        {!isLoading && (\n          <div className={ styles.formWrapper }>\n            <FormKit\n              formProps={ {\n                form,\n                initialValues,\n                layout: 'vertical',\n                onValuesChange,\n                disabled\n              } }\n              key={ requestId }\n              wrapInPanel={ false }\n            >\n              <Tabs\n                defaultActiveKey=\"general\"\n                fullHeight\n                items={ enhancedTabs }\n                noTabBarMargin\n                type=\"card\"\n              />\n            </FormKit>\n          </div>\n        )}\n      </Content>\n    </ContentLayout>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/components/base-detail-view/components/config-toolbar/config-toolbar.styles.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { createStyles } from 'antd-style'\n\nexport const useStyles = createStyles(({ css, token }) => {\n  return {\n    divider: css`\n      height: ${token.fontSizeLG}px;\n      align-self: center;\n      margin-top: 0 !important;\n      margin-bottom: 0 !important;\n      margin-inline: ${token.marginXXS}px;\n    `\n  }\n})\n"
  },
  {
    "path": "assets/studio/js/src/components/base-detail-view/components/config-toolbar/config-toolbar.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { type ReactNode } from 'react'\nimport { Button, ButtonGroup, Divider, Tooltip, Toolbar, IconButton, Space } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { ExportButton } from '../../../../modules/config/components/export-button'\nimport { useStyles } from './config-toolbar.styles'\n\nexport interface ConfigToolbarProps {\n  configName: string\n  isWriteable: boolean\n  isLoading: boolean\n  isSaving: boolean\n  isDirty: boolean\n  onSave: () => void\n  onRefresh: () => void\n  onDelete: () => void\n  additionalButtons?: ReactNode[]\n  leftAdditionalContent?: ReactNode\n}\n\nexport function ConfigToolbar ({\n  configName,\n  isWriteable,\n  isLoading,\n  isSaving,\n  isDirty,\n  onSave,\n  onRefresh,\n  onDelete,\n  additionalButtons = [],\n  leftAdditionalContent\n}: ConfigToolbarProps): React.JSX.Element {\n  const { t } = useTranslation()\n  const { styles } = useStyles()\n\n  const saveButton = (\n    <Button\n      disabled={ !isDirty || !isWriteable }\n      key=\"save\"\n      loading={ isSaving }\n      onClick={ onSave }\n      type=\"primary\"\n    >\n      {t('save')}\n    </Button>\n  )\n\n  const rightButtons: ReactNode[] = [\n    ...additionalButtons,\n    !isWriteable\n      ? (\n        <Tooltip\n          key=\"save-tooltip\"\n          title={ t('config_not_writeable') }\n        >\n          <span>{saveButton}</span>\n        </Tooltip>\n        )\n      : saveButton\n  ]\n\n  return (\n    <Toolbar>\n      <Space size=\"extra-small\">\n        <Tooltip title={ t('refresh') }>\n          <IconButton\n            disabled={ isLoading }\n            icon={ { value: 'refresh' } }\n            onClick={ onRefresh }\n          />\n        </Tooltip>\n        <Tooltip title={ isWriteable ? t('delete') : t('config_not_writeable') }>\n          <IconButton\n            disabled={ !isWriteable }\n            icon={ { value: 'trash' } }\n            onClick={ onDelete }\n          />\n        </Tooltip>\n        <ExportButton configName={ configName } />\n        {leftAdditionalContent !== undefined && (\n          <>\n            <Divider\n              className={ styles.divider }\n              type=\"vertical\"\n            />\n            {leftAdditionalContent}\n          </>\n        )}\n      </Space>\n      <ButtonGroup items={ rightButtons as any } />\n    </Toolbar>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/components/base-detail-view/components/config-toolbar/index.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nexport * from './config-toolbar'\n"
  },
  {
    "path": "assets/studio/js/src/components/base-detail-view/hooks/index.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nexport * from './use-detail-view'\n"
  },
  {
    "path": "assets/studio/js/src/components/base-detail-view/hooks/use-detail-view.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { useEffect, useState, useMemo, useRef } from 'react'\nimport { Form, useMessage, type formInstanceType } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { ApiError, trackError, isApiErrorData } from '@pimcore/studio-ui-bundle/modules/app'\nimport { isNil } from 'lodash'\n\nexport interface UseDetailViewProps<TFormValues, TBackendConfig> {\n  configName: string\n  configData: TBackendConfig | undefined\n  modificationDate: number | undefined\n  isLoading: boolean\n  requestId: string | undefined\n  transformToForm: (backendConfig: TBackendConfig, configName: string) => TFormValues\n  transformToBackend: (formValues: TFormValues, existingConfig: TBackendConfig) => TBackendConfig\n  onSave: (updatedConfig: TBackendConfig, modificationDate: number) => Promise<{ modificationDate?: number }>\n  onChange: (isDirty: boolean) => void\n  successMessageKey?: string\n}\n\nexport interface UseDetailViewReturn<TFormValues> {\n  form: formInstanceType\n  isDirty: boolean\n  initialValues: TFormValues\n  handleSave: () => void\n  handleValuesChange: () => void\n}\n\nexport function useDetailView<TFormValues extends Record<string, any>, TBackendConfig extends Record<string, any>> ({\n  configName,\n  configData,\n  modificationDate,\n  isLoading,\n  requestId,\n  transformToForm,\n  transformToBackend,\n  onSave,\n  onChange,\n  successMessageKey = 'save-success'\n}: UseDetailViewProps<TFormValues, TBackendConfig>): UseDetailViewReturn<TFormValues> {\n  const [form] = Form.useForm()\n  const { t } = useTranslation()\n  const messageApi = useMessage()\n  const [isDirty, setIsDirty] = useState(false)\n  const modificationDateRef = useRef<number>(0)\n  const isSavingRef = useRef<boolean>(false)\n\n  const initialValues = useMemo<TFormValues>(() => {\n    return transformToForm((configData ?? {}) as TBackendConfig, configName)\n  }, [configData, configName])\n\n  useEffect(() => {\n    if (isLoading || isNil(configData)) return\n\n    form.setFieldsValue(initialValues)\n    setIsDirty(false)\n    onChange(false)\n\n    if (!isSavingRef.current) {\n      modificationDateRef.current = modificationDate ?? 0\n    }\n  }, [requestId, initialValues, modificationDate, isLoading])\n\n  const handleValuesChange = (): void => {\n    setIsDirty(true)\n    onChange(true)\n  }\n\n  const handleSave = (): void => {\n    if (isSavingRef.current) {\n      return\n    }\n\n    form.validateFields().then(async (values) => {\n      isSavingRef.current = true\n\n      try {\n        const mergedValues: TFormValues = {\n          ...initialValues,\n          ...values as TFormValues\n        }\n\n        const updatedConfig = transformToBackend(mergedValues, (configData ?? {}) as TBackendConfig)\n        const response = await onSave(updatedConfig, modificationDateRef.current)\n\n        if (!isNil(response?.modificationDate)) {\n          modificationDateRef.current = response.modificationDate\n        }\n\n        setIsDirty(false)\n        onChange(false)\n        void messageApi.success(t(successMessageKey))\n      } catch (error) {\n        if (isApiErrorData(error)) {\n          trackError(new ApiError(error))\n        }\n      } finally {\n        isSavingRef.current = false\n      }\n    }).catch((error) => {\n      console.error('Validation failed:', error)\n      void messageApi.error(t('data-hub.save-validation-error'))\n    })\n  }\n\n  return {\n    form,\n    isDirty,\n    initialValues,\n    handleSave,\n    handleValuesChange\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/components/base-detail-view/index.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nexport * from './base-detail-view'\nexport * from './components/config-toolbar'\nexport * from './hooks'\n"
  },
  {
    "path": "assets/studio/js/src/config/service-ids.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\n/**\n * Service IDs for the Data Hub Bundle\n * Centralized location for all dependency injection service identifiers\n */\nexport const bundleServiceIds = {\n  'DataHub/DynamicTypes/Adapter/Registry': 'DataHub/DynamicTypes/Adapter/Registry',\n  'DataHub/DynamicTypes/Adapter/GraphQL': 'DataHub/DynamicTypes/Adapter/GraphQL',\n  'DataHub/DynamicTypes/Operator/GraphQL/QueryRegistry': 'DataHub/DynamicTypes/Operator/GraphQL/QueryRegistry',\n  'DataHub/DynamicTypes/Operator/GraphQL/MutationRegistry': 'DataHub/DynamicTypes/Operator/GraphQL/MutationRegistry',\n  // Query Operators\n  'DataHub/DynamicTypes/Operator/Alias': 'DataHub/DynamicTypes/Operator/Alias',\n  'DataHub/DynamicTypes/Operator/Concatenator': 'DataHub/DynamicTypes/Operator/Concatenator',\n  'DataHub/DynamicTypes/Operator/DateFormatter': 'DataHub/DynamicTypes/Operator/DateFormatter',\n  'DataHub/DynamicTypes/Operator/ElementCounter': 'DataHub/DynamicTypes/Operator/ElementCounter',\n  'DataHub/DynamicTypes/Operator/Substring': 'DataHub/DynamicTypes/Operator/Substring',\n  'DataHub/DynamicTypes/Operator/Text': 'DataHub/DynamicTypes/Operator/Text',\n  'DataHub/DynamicTypes/Operator/Thumbnail': 'DataHub/DynamicTypes/Operator/Thumbnail',\n  'DataHub/DynamicTypes/Operator/ThumbnailHtml': 'DataHub/DynamicTypes/Operator/ThumbnailHtml',\n  'DataHub/DynamicTypes/Operator/TranslateValue': 'DataHub/DynamicTypes/Operator/TranslateValue',\n  'DataHub/DynamicTypes/Operator/Trimmer': 'DataHub/DynamicTypes/Operator/Trimmer',\n  // Mutation Operators\n  'DataHub/DynamicTypes/Operator/IfEmpty': 'DataHub/DynamicTypes/Operator/IfEmpty',\n  'DataHub/DynamicTypes/Operator/LocaleCollector': 'DataHub/DynamicTypes/Operator/LocaleCollector',\n  'DataHub/DynamicTypes/Operator/LocaleSwitcher': 'DataHub/DynamicTypes/Operator/LocaleSwitcher'\n} as const\n"
  },
  {
    "path": "assets/studio/js/src/main.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n// eslint-disable-next-line header/header\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/components/column-config-modal/base-column-editor.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { useCallback, useEffect, useImperativeHandle, useMemo, useState, forwardRef } from 'react'\nimport { Empty, Tag } from 'antd'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport {\n  Button,\n  Content,\n  ContentLayout,\n  Dropdown,\n  Flex,\n  IconButton,\n  IconTextButton,\n  Space,\n  Spin,\n  StackList,\n  Toolbar,\n  type StackListProps\n} from '@pimcore/studio-ui-bundle/components'\nimport {\n  LanguageSelectionContext,\n  LanguageSelectionWithProvider\n} from '@pimcore/studio-ui-bundle/modules/data-object'\nimport { useUser } from '@pimcore/studio-ui-bundle/modules/auth'\nimport { isNil } from 'lodash'\nimport { ColumnEditorItemBody } from './column-editor-item'\nimport { ColumnLocaleControl } from './column-locale-control'\nimport { useColumnEditorState } from './use-column-editor-state'\nimport {\n  ADVANCED_COLUMN_TYPE,\n  type ColumnEditorHandle,\n  type SchemaColumn,\n  type AdvancedEditorColumn\n} from './types'\n\nconst getColumnLabel = (col: AdvancedEditorColumn): string => {\n  if (col.key === '') return ''\n  return col.key\n}\n\nexport interface BaseColumnEditorProps {\n  entity: string\n  classDefinitionId?: string\n  columns: SchemaColumn[]\n  onApply: (columns: SchemaColumn[]) => void\n  onCancel: () => void\n  /** When true, the Apply/Discard/Add-column toolbar is hidden (used in split migration view). */\n  hideToolbar?: boolean\n  /** Service ID of the DynamicTypePipelineRegistry to use for source fields. */\n  sourceFieldsRegistryId: string\n  /** Service ID of the DynamicTypePipelineRegistry to use for transformers. */\n  transformersRegistryId: string\n  /** The currently selected preview language. When provided, the LanguageSelection is controlled externally. */\n  language?: string\n  /** Called when the user changes the preview language inside the modal. */\n  onLanguageChange?: (language: string) => void\n}\n\nexport const BaseColumnEditor = forwardRef<ColumnEditorHandle, BaseColumnEditorProps>(\n  function BaseColumnEditor ({\n    entity,\n    classDefinitionId,\n    columns,\n    onApply,\n    onCancel,\n    hideToolbar = false,\n    sourceFieldsRegistryId,\n    transformersRegistryId,\n    language,\n    onLanguageChange\n  }: BaseColumnEditorProps, ref): React.JSX.Element {\n    const { t } = useTranslation()\n    const user = useUser()\n\n    // Own the language state here. Initialize once from the prop, falling back to\n    // the user's first content language. This is the single source of truth —\n    // no synchronization effects needed.\n    const initialLanguage = language ?? (user.contentLanguages as string[] | undefined)?.[0] ?? 'en'\n    const [currentLanguage, setCurrentLanguage] = useState(initialLanguage)\n    const [hasLocalizedFields, setHasLocalizedFields] = useState(false)\n\n    // On mount, persist the resolved initial language to the parent so that\n    // entities that have never had a language set get one saved immediately.\n    useEffect(() => {\n      onLanguageChange?.(currentLanguage)\n    }, [])\n\n    const handleLanguageChange = useCallback((lang: string) => {\n      setCurrentLanguage(lang)\n      onLanguageChange?.(lang)\n    }, [onLanguageChange])\n\n    // Build a stable context value to pass to the provider.\n    const languageContextValue = useMemo(() => ({\n      currentLanguage,\n      setCurrentLanguage: handleLanguageChange,\n      hasLocalizedFields,\n      setHasLocalizedFields\n    }), [currentLanguage, handleLanguageChange, hasLocalizedFields])\n\n    const {\n      draft,\n      isLoading,\n      objectId,\n      addColumnMenu,\n      openElementSelector,\n      handleAddColumnOfType,\n      handlePipelineChange,\n      handleRemove,\n      handleApply,\n      handleDiscard,\n      handleLocaleChange,\n      handleReorder,\n      getColumns\n    } = useColumnEditorState({ entity, classDefinitionId, columns, onApply, onCancel })\n\n    useImperativeHandle(ref, () => ({\n      getColumns,\n      addColumn: handleAddColumnOfType\n    }), [getColumns, handleAddColumnOfType])\n\n    const stackItems: StackListProps['items'] = draft.map(col => {\n      const isAdvanced = col.type === ADVANCED_COLUMN_TYPE\n      const label = getColumnLabel(col)\n\n      return {\n        id: col._id,\n        sortable: true,\n        type: isAdvanced ? 'collapse' as const : 'default' as const,\n        children: isAdvanced\n          ? <Tag color='purple'>{ !isNil(col.pipeline?.title) ? String(col.pipeline?.title) : label }</Tag>\n          : <Tag>{ label }</Tag>,\n        ...(isAdvanced\n          ? {\n              body: col.pipelineConfig !== undefined\n                ? (\n                  <ColumnEditorItemBody\n                    column={ col }\n                    entity={ entity }\n                    objectId={ objectId }\n                    onPipelineChange={ handlePipelineChange }\n                    sourceFieldsRegistryId={ sourceFieldsRegistryId }\n                    transformersRegistryId={ transformersRegistryId }\n                  />\n                  )\n                : <Spin />\n            }\n          : {}),\n        renderRightToolbar: (\n          <Space size='mini'>\n            { col.localizable === true && isAdvanced && (\n              <ColumnLocaleControl\n                onChange={ (locale) => { handleLocaleChange(col._id, locale) } }\n                value={ col.locale }\n              />\n            ) }\n            <IconButton\n              icon={ { value: 'trash' } }\n              onClick={ () => { handleRemove(col._id) } }\n              theme='secondary'\n            />\n          </Space>\n        )\n      }\n    })\n\n    if (isLoading) {\n      return (\n        <Flex\n          align='center'\n          justify='center'\n          style={ { minHeight: 200 } }\n        >\n          <Spin />\n        </Flex>\n      )\n    }\n\n    return (\n      <LanguageSelectionContext.Provider value={ languageContextValue }>\n        <ContentLayout\n          renderToolbar={ hideToolbar\n            ? undefined\n            : (\n              <Toolbar\n                padding={ { x: 'none', y: 'small' } }\n                theme='secondary'\n              >\n                <Dropdown menu={ addColumnMenu }>\n                  <IconTextButton icon={ { value: 'new' } }>\n                    { t('data-hub.column-config-modal.add-column') }\n                  </IconTextButton>\n                </Dropdown>\n\n                <Space size='extra-small'>\n                  <Button\n                    onClick={ handleDiscard }\n                    type='default'\n                  >\n                    { t('data-hub.column-config-modal.discard') }\n                  </Button>\n\n                  <Button\n                    onClick={ handleApply }\n                    type='primary'\n                  >\n                    { t('data-hub.column-config-modal.apply') }\n                  </Button>\n                </Space>\n              </Toolbar>\n              ) }\n          renderTopBar={ (\n            <Toolbar\n              align='center'\n              position='content'\n              theme='secondary'\n            >\n              <Button onClick={ openElementSelector }>\n                { t('data-hub.column-config-modal.preview.select-object') }\n              </Button>\n\n              <LanguageSelectionWithProvider />\n            </Toolbar>\n          ) }\n        >\n          <Content\n            padded\n            padding={ { x: 'none', y: 'small' } }\n            style={ { height: 'calc(80vh - 200px)' } }\n          >\n            <Space\n              direction='vertical'\n              style={ { width: '100%' } }\n            >\n              { draft.length === 0 && (\n                <Empty image={ Empty.PRESENTED_IMAGE_SIMPLE } />\n              ) }\n\n              { draft.length > 0 && (\n                <StackList\n                  items={ stackItems }\n                  onItemsChange={ (items) => {\n                    handleReorder(items.map(item => String(item.id)))\n                  } }\n                  sortable\n                />\n              ) }\n            </Space>\n          </Content>\n        </ContentLayout>\n      </LanguageSelectionContext.Provider>\n    )\n  }\n)\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/components/column-config-modal/column-config-modal.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { useCallback, useRef, useState } from 'react'\nimport { Dropdown, Flex, IconTextButton, Modal, ModalTitle, useAlertModal } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { api, type GridColumnConfiguration } from '@pimcore/studio-ui-bundle/api/data-object'\nimport { useClassDefinitions } from '@pimcore/studio-ui-bundle/modules/data-object'\nimport { MigrationModal } from '../migration-modal'\nimport { useAddColumnDropdown } from './use-add-column-dropdown'\nimport { type ColumnEditorHandle, type SchemaColumn } from './types'\n\n/**\n * Props passed from ColumnConfigModal down to the consumer's renderEditor callback.\n * The consumer must forward `ref` to their editor component so ColumnConfigModal\n * can imperatively call `getColumns()` on confirm.\n */\nexport interface EditorRenderProps<TColumns = SchemaColumn> {\n  ref: React.Ref<ColumnEditorHandle<TColumns>>\n  classDefinitionId: string\n  columns: TColumns[]\n  entity: string\n  /** True in the split migration view — the editor should hide its own Apply/Discard toolbar. */\n  hideToolbar: boolean\n  onApply: (columns: TColumns[]) => void\n  onCancel: () => void\n  /** The currently persisted preview language for this entity. */\n  language?: string\n  /** Called when the user changes the preview language so the adapter can persist it. */\n  onLanguageChange?: (language: string) => void\n}\n\nexport interface ColumnConfigModalProps<TColumns = SchemaColumn> {\n  entity: string\n  /**\n   * The numeric Pimcore class definition ID (e.g. \"EV\", \"42\").\n   * When omitted the ID is resolved from the class name via useClassDefinitions().\n   */\n  classDefinitionId?: string\n  columns: TColumns[]\n  /**\n   * Legacy ExtJS column configuration blob. When present, the migration flow is shown.\n   * When absent (undefined), the normal new-format editor modal is shown.\n   */\n  columnConfig?: Record<string, unknown>\n  open: boolean\n  /** Already-translated modal title string. */\n  title: string\n  onApply: (columns: TColumns[]) => void\n  onCancel: () => void\n  /** The currently persisted preview language for this entity. */\n  language?: string\n  /** Called when the user changes the preview language so the adapter can persist it. */\n  onLanguageChange?: (language: string) => void\n  /**\n   * Render prop that returns the adapter-specific column editor element.\n   * The consumer MUST forward the `ref` to their editor component (forwardRef).\n   *\n   * @example\n   * renderEditor={(props) => <ColumnEditor {...props} />}\n   */\n  renderEditor: (props: EditorRenderProps<TColumns>) => React.ReactNode\n}\n\n/**\n * Generic ColumnConfigModal for Data Hub adapter bundles.\n *\n * Handles both the new-format path (plain Modal + editor) and the legacy\n * migration path (MigrationModal with split view). The adapter-specific\n * editor is injected via the `renderEditor` render prop.\n */\nexport const ColumnConfigModal = <TColumns = SchemaColumn>({\n  entity,\n  classDefinitionId,\n  columns,\n  columnConfig,\n  open,\n  title,\n  onApply,\n  onCancel,\n  language,\n  onLanguageChange,\n  renderEditor\n}: ColumnConfigModalProps<TColumns>): React.JSX.Element => {\n  const { t } = useTranslation()\n  const alertModal = useAlertModal()\n  const { getByName } = useClassDefinitions()\n\n  const resolvedClassId: string = React.useMemo(() => {\n    if (classDefinitionId !== undefined) return classDefinitionId\n    return getByName(entity)?.id ?? entity\n  }, [classDefinitionId, entity, getByName])\n\n  const [migratedColumns, setMigratedColumns] = useState<TColumns[]>([])\n  const [isMigrated, setIsMigrated] = useState(false)\n  const columnEditorRef = useRef<ColumnEditorHandle<TColumns>>(null)\n\n  const isLegacy = columnConfig !== undefined && !isMigrated\n\n  const { data: availableFieldsData } = api.endpoints.dataObjectGetAvailableGridColumns.useQuery(\n    { classId: resolvedClassId, folderId: 1 },\n    { skip: !isLegacy }\n  )\n  const availableFields: GridColumnConfiguration[] = availableFieldsData?.columns ?? []\n\n  const handleAddColumn = useCallback((column: GridColumnConfiguration): void => {\n    columnEditorRef.current?.addColumn(column)\n  }, [])\n\n  const addColumnMenu = useAddColumnDropdown(availableFields, handleAddColumn)\n\n  const commitMigration = (cols: TColumns[]): void => {\n    setMigratedColumns(cols)\n    setIsMigrated(true)\n  }\n\n  const handleConfirmMigration = (): void => {\n    const cols = columnEditorRef.current?.getColumns() ?? migratedColumns\n\n    if (cols.length === 0) {\n      alertModal.warn({\n        title: t('data-hub.migration-modal.confirm-empty-columns-title'),\n        content: t('data-hub.migration-modal.confirm-empty-columns-content'),\n        okText: t('data-hub.migration-modal.confirm-empty-columns-ok'),\n        cancelText: t('data-hub.migration-modal.confirm-empty-columns-cancel'),\n        okCancel: true,\n        onOk: () => { commitMigration(cols) }\n      })\n      return\n    }\n\n    commitMigration(cols)\n  }\n\n  const handleCancel = (): void => {\n    setIsMigrated(false)\n    onCancel()\n  }\n\n  const modalTitle = (\n    <ModalTitle iconName=\"settings\">\n      { title }\n    </ModalTitle>\n  )\n\n  if (!isLegacy) {\n    return (\n      <Modal\n        footer={ null }\n        onCancel={ handleCancel }\n        open={ open }\n        size=\"XL\"\n        title={ modalTitle }\n      >\n        { renderEditor({\n          ref: columnEditorRef,\n          classDefinitionId: resolvedClassId,\n          columns: isMigrated ? migratedColumns : columns,\n          entity,\n          hideToolbar: false,\n          language,\n          onLanguageChange,\n          onApply: (updatedColumns) => {\n            onApply(updatedColumns)\n            handleCancel()\n          },\n          onCancel: handleCancel\n        }) }\n      </Modal>\n    )\n  }\n\n  return (\n    <MigrationModal\n      legacyConfig={ columnConfig }\n      onClose={ handleCancel }\n      onConfirm={ handleConfirmMigration }\n      open={ open }\n      renderToolbarLeft={\n        <Dropdown menu={ addColumnMenu }>\n          <IconTextButton icon={ { value: 'new' } }>\n            { t('data-hub.column-config-modal.add-column') }\n          </IconTextButton>\n        </Dropdown>\n      }\n      title={ title }\n    >\n      <Flex\n        style={ { flex: 1, minWidth: 0, overflow: 'hidden' } }\n        vertical\n      >\n        { renderEditor({\n          ref: columnEditorRef,\n          classDefinitionId: resolvedClassId,\n          columns: migratedColumns,\n          entity,\n          hideToolbar: true,\n          language,\n          onLanguageChange,\n          onApply: (cols) => { setMigratedColumns(cols) },\n          onCancel: () => {}\n        }) }\n      </Flex>\n    </MigrationModal>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/components/column-config-modal/column-editor-item.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { type AdvancedEditorColumn } from './types'\nimport { ColumnPipelineForm } from './column-pipeline-form'\n\nexport interface ColumnEditorItemBodyProps {\n  column: AdvancedEditorColumn\n  entity: string\n  objectId: number | null\n  onPipelineChange: (id: string, pipeline: Record<string, any>) => void\n  /** Service ID of the DynamicTypePipelineRegistry to use for source fields. */\n  sourceFieldsRegistryId: string\n  /** Service ID of the DynamicTypePipelineRegistry to use for transformers. */\n  transformersRegistryId: string\n}\n\nexport const ColumnEditorItemBody = ({\n  column,\n  entity,\n  objectId,\n  onPipelineChange,\n  sourceFieldsRegistryId,\n  transformersRegistryId\n}: ColumnEditorItemBodyProps): React.JSX.Element => {\n  return (\n    <ColumnPipelineForm\n      column={ column }\n      config={ column.pipelineConfig }\n      entity={ entity }\n      objectId={ objectId }\n      onChange={ (pipeline) => { onPipelineChange(column._id, pipeline) } }\n      sourceFieldsRegistryId={ sourceFieldsRegistryId }\n      transformersRegistryId={ transformersRegistryId }\n      value={ column.pipeline }\n    />\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/components/column-config-modal/column-locale-control.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { LanguageSelection } from '@pimcore/studio-ui-bundle/components'\nimport { useUser } from '@pimcore/studio-ui-bundle/modules/auth'\n\nexport interface ColumnLocaleControlProps {\n  value: string | null | undefined\n  onChange: (locale: string | null) => void\n}\n\nexport const ColumnLocaleControl = ({ value, onChange }: ColumnLocaleControlProps): React.JSX.Element => {\n  const user = useUser()\n  const languages: string[] = [\n    '-',\n    ...(Array.isArray(user.contentLanguages) ? (user.contentLanguages as string[]) : [])\n  ]\n  const selected = value ?? '-'\n\n  return (\n    <LanguageSelection\n      languages={ languages }\n      onSelectLanguage={ (lang) => { onChange(lang === '-' ? null : lang) } }\n      selectedLanguage={ selected }\n    />\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/components/column-config-modal/column-pipeline-form.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { useEffect, useState } from 'react'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { Box, Form, Input, Pipeline, PipelineConfigProvider, SplitLayout } from '@pimcore/studio-ui-bundle/components'\nimport { isEqual } from 'lodash'\nimport { type AdvancedEditorColumn } from './types'\nimport { ColumnPreview } from './column-preview'\n\nexport interface ColumnPipelineFormProps {\n  column?: AdvancedEditorColumn\n  entity?: string\n  config?: Record<string, any>\n  objectId?: number | null\n  value?: Record<string, any>\n  onChange?: (value: Record<string, any>) => void\n  /** Service ID of the DynamicTypePipelineRegistry to use for source fields. */\n  sourceFieldsRegistryId: string\n  /** Service ID of the DynamicTypePipelineRegistry to use for transformers. */\n  transformersRegistryId: string\n}\n\nexport const ColumnPipelineForm = ({\n  column,\n  entity,\n  config,\n  objectId,\n  value,\n  onChange,\n  sourceFieldsRegistryId,\n  transformersRegistryId\n}: ColumnPipelineFormProps): React.JSX.Element => {\n  const { t } = useTranslation()\n  const [form] = Form.useForm()\n  const [liveValue, setLiveValue] = useState<Record<string, any>>(value ?? {})\n\n  useEffect(() => {\n    form.setFieldValue('value', value ?? {})\n  }, [value])\n\n  const onValuesChange = (changedValues: Record<string, any>): void => {\n    const newPipelineValue = form.getFieldValue('value') as Record<string, any>\n    if (newPipelineValue !== undefined && !isEqual(liveValue, newPipelineValue)) {\n      setLiveValue(newPipelineValue)\n      onChange?.(newPipelineValue)\n    }\n  }\n\n  return (\n    <Form\n      form={ form }\n      initialValues={ { value: value ?? {} } }\n      layout='vertical'\n      onValuesChange={ onValuesChange }\n    >\n      <PipelineConfigProvider initialConfig={ config ?? {} }>\n        <Form.Item name='value'>\n          <Pipeline\n            items={ [\n              {\n                id: 'title',\n                component: (\n                  <Pipeline.CustomItem>\n                    <Box padding={ { top: 'mini', bottom: 'mini', x: 'none' } }>\n                      <Form.Item name='title'>\n                        <Input\n                          placeholder={ t('data-hub.column-config-modal.pipeline.title') }\n                          style={ { maxWidth: '100%' } }\n                        />\n                      </Form.Item>\n                    </Box>\n                  </Pipeline.CustomItem>\n                )\n              },\n              {\n                id: 'fields',\n                component: (\n                  <Pipeline.CustomItem>\n                    <SplitLayout\n                      leftItem={ {\n                        children: (\n                          <Pipeline.DynamicGroupItem\n                            dynamicTypeRegistryId={ sourceFieldsRegistryId }\n                            id='sourceFields'\n                            showTitle\n                            translationKeyPrefix='data-hub.column-config-modal.pipeline'\n                          />\n                        ),\n                        size: 50\n                      } }\n                      rightItem={ {\n                        children: (\n                          <Pipeline.DynamicGroupItem\n                            dynamicTypeRegistryId={ transformersRegistryId }\n                            id='transformers'\n                            showTitle\n                            translationKeyPrefix='data-hub.column-config-modal.pipeline'\n                          />\n                        ),\n                        size: 50\n                      } }\n                      withDivider\n                    />\n                  </Pipeline.CustomItem>\n                )\n              },\n              {\n                id: 'preview',\n                component: (\n                  <Pipeline.CustomItem>\n                    { column !== undefined && (\n                      <ColumnPreview\n                        column={ column }\n                        objectId={ objectId ?? null }\n                        pipelineValue={ liveValue }\n                      />\n                    ) }\n                  </Pipeline.CustomItem>\n                )\n              }\n            ] }\n            value={ value ?? {} }\n          />\n        </Form.Item>\n      </PipelineConfigProvider>\n    </Form>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/components/column-config-modal/column-preview.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { useEffect, useRef, useState } from 'react'\nimport { useTranslation, serviceIds, useInjection } from '@pimcore/studio-ui-bundle/app'\nimport { Box, Flex, Grid, GridContentRenderer, Text } from '@pimcore/studio-ui-bundle/components'\nimport { type DynamicTypeGridCellRegistry } from '@pimcore/studio-ui-bundle/modules/element'\nimport { useLanguageSelection } from '@pimcore/studio-ui-bundle/modules/data-object'\nimport { api, type AdvancedColumnConfig } from '@pimcore/studio-ui-bundle/api/data-object'\nimport { createColumnHelper } from '@tanstack/react-table'\nimport { type AdvancedEditorColumn } from './types'\n\nexport interface ColumnPreviewProps {\n  column: AdvancedEditorColumn\n  objectId: number | null\n  pipelineValue?: Record<string, any>\n}\n\nconst columnHelper = createColumnHelper()\n\nconst PreviewGrid = ({ value }: { value: Array<{ type: string, value: any }> }): React.JSX.Element => {\n  const advancedGridCellRegistry = useInjection<DynamicTypeGridCellRegistry>(\n    serviceIds['DynamicTypes/AdvancedGridCellRegistry']\n  )\n\n  const columns = value.map((item, index) => {\n    const isAdvancedCellType = advancedGridCellRegistry.hasDynamicType(item.type)\n    const safeKey = `${item.type.replace(/\\./g, '_')}-${index}`\n\n    return columnHelper.accessor(safeKey, {\n      header: item.type,\n      meta: {\n        editable: false,\n        type: isAdvancedCellType ? item.type : 'dataobject.adapter',\n        config: {\n          ...(isAdvancedCellType\n            ? {}\n            : {\n                dataObjectType: item.type,\n                dataObjectConfig: {}\n              })\n        }\n      }\n    })\n  })\n\n  const row: Record<string, any> = {}\n  value.forEach((item, index) => {\n    const safeKey = `${item.type.replace(/\\./g, '_')}-${index}`\n    row[safeKey] = item.value\n  })\n\n  return (\n    <GridContentRenderer>\n      <Grid\n        autoWidth\n        columns={ columns }\n        data={ [row] }\n      />\n    </GridContentRenderer>\n  )\n}\n\nconst PreviewResult = ({ column, objectId, pipelineValue }: { column: AdvancedEditorColumn, objectId: number, pipelineValue?: Record<string, any> }): React.JSX.Element => {\n  const { t } = useTranslation()\n  const { currentLanguage } = useLanguageSelection()\n\n  const pipeline = (pipelineValue !== undefined && Object.keys(pipelineValue).length > 0) ? pipelineValue : column.pipeline\n\n  // Resolve locale: explicit per-column override > global language (only for localizable columns)\n  const resolvedLocale = column.localizable === true\n    ? (column.locale ?? currentLanguage)\n    : undefined\n\n  const { data, error, isFetching } = api.endpoints.dataObjectGetGridPreview.useQuery({\n    body: {\n      objectId,\n      column: {\n        type: column.type,\n        key: column.key,\n        locale: resolvedLocale,\n        config: pipeline !== undefined\n          ? {\n              advancedColumns: pipeline.sourceFields ?? [],\n              transformers: pipeline.transformers\n            } as unknown as AdvancedColumnConfig\n          : undefined\n      }\n    }\n  })\n\n  // Keep the last successful data so re-fetches don't flash \"no data\"\n  const lastData = useRef(data)\n  if (data !== undefined) lastData.current = data\n\n  if (error !== undefined) {\n    const message = 'error' in (error as object) ? (error as any).error : t('data-hub.column-config-modal.preview.error')\n    return <Text type='danger'>{ message }</Text>\n  }\n\n  if (isFetching && lastData.current === undefined) {\n    return <Text type='secondary'>{ t('data-hub.column-config-modal.preview.loading') }</Text>\n  }\n\n  const value = lastData.current?.value\n\n  if (value === undefined || value === null || !Array.isArray(value) || value.length === 0) {\n    return <Text type='secondary'>{ t('data-hub.column-config-modal.preview.no-data') }</Text>\n  }\n\n  return <PreviewGrid value={ value } />\n}\n\nexport const ColumnPreview = ({ column, objectId, pipelineValue }: ColumnPreviewProps): React.JSX.Element => {\n  const { t } = useTranslation()\n\n  // Debounce pipeline changes so the previous result stays visible during edits\n  const [debouncedPipelineValue, setDebouncedPipelineValue] = useState(pipelineValue)\n  useEffect(() => {\n    const timer = setTimeout(() => { setDebouncedPipelineValue(pipelineValue) }, 300)\n    return () => { clearTimeout(timer) }\n  }, [pipelineValue])\n\n  return (\n    <Box padding={ { top: 'small', bottom: 'none', x: 'small' } }>\n      <Flex\n        align='center'\n        gap='small'\n      >\n        <Text style={ { wordBreak: 'keep-all' } }>{ t('grid.advanced-column.preview') }:</Text>\n        { objectId === null\n          ? (\n            <Text type='secondary'>\n              { t('data-hub.column-config-modal.preview.placeholder') }\n            </Text>\n            )\n          : (\n            <PreviewResult\n              column={ column }\n              objectId={ objectId }\n              pipelineValue={ debouncedPipelineValue }\n            />\n            ) }\n      </Flex>\n    </Box>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/components/column-config-modal/index.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nexport * from './column-config-modal'\nexport * from './use-add-column-dropdown'\nexport * from './types'\nexport * from './column-preview'\nexport * from './column-pipeline-form'\nexport * from './column-editor-item'\nexport * from './column-locale-control'\nexport * from './base-column-editor'\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/components/column-config-modal/types.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { type GridColumnConfiguration } from '@pimcore/studio-ui-bundle/api/data-object'\n\n/**\n * Persisted column shape shared across all Data Hub adapter bundles.\n * For advanced columns (type === ADVANCED_COLUMN_TYPE), `key` holds the user-defined title.\n */\nexport interface SchemaColumn {\n  key: string\n  fieldtype: string\n  type: string\n  /** Adapter-specific persisted column data (e.g. { advancedColumns, transformers } for advanced columns). */\n  config?: Record<string, any>\n  locale?: string | null\n}\n\n/**\n * Imperative handle exposed by adapter-specific column editor components via forwardRef.\n * Allows ColumnConfigModal to imperatively read the current draft and add a column.\n */\nexport interface ColumnEditorHandle<TColumns = SchemaColumn> {\n  /** Returns the current list of columns from the editor draft. */\n  getColumns: () => TColumns[]\n  /** Programmatically adds a column from the available-columns list. */\n  addColumn: (column: GridColumnConfiguration) => void\n}\n\n/**\n * The special column key that identifies an advanced/pipeline column.\n * Advanced columns have a pipeline (sourceFields + transformers) instead of a direct field mapping.\n */\nexport const ADVANCED_COLUMN_KEY = 'advanced'\n\n/**\n * The column type registered by the backend for advanced/pipeline columns.\n * Used as the reliable discriminator when loading persisted columns, because the key\n * is now set to the user-defined title rather than the hardcoded sentinel 'advanced'.\n */\nexport const ADVANCED_COLUMN_TYPE = 'dataobject.advanced'\n\n/**\n * Frontend-only draft column type used by adapter column editors that support\n * advanced (pipeline) columns. Extends the base persisted shape with working-state\n * fields that are never written to the backend directly.\n */\nexport interface AdvancedEditorColumn {\n  /** Frontend-only unique id for list keying. */\n  _id: string\n  key: string\n  fieldtype: string\n  type: string\n  /** Persisted column config blob (e.g. { advancedColumns, transformers } for advanced columns). */\n  config?: Record<string, any>\n  /**\n   * Frontend-only pipeline schema fetched from the available-columns API.\n   * Drives what source field types are available in the pipeline form.\n   * Never persisted.\n   */\n  pipelineConfig?: Record<string, any>\n  /**\n   * Draft pipeline value: { title, sourceFields, transformers }.\n   * Present only for advanced columns (type === ADVANCED_COLUMN_TYPE).\n   * Never persisted directly — on save, title becomes the column key and\n   * sourceFields/transformers are packed into config.advancedColumns/config.transformers.\n   */\n  pipeline?: Record<string, any>\n  /** Whether this column supports per-column locale selection. */\n  localizable?: boolean\n  locale?: string | null\n}\n\n/**\n * Converts a persisted SchemaColumn into an AdvancedEditorColumn draft.\n * For advanced columns (type === ADVANCED_COLUMN_TYPE) the persisted config is\n * unpacked into the frontend `pipeline` working state, and the column key\n * (which holds the user title) is mapped to pipeline.title.\n */\nexport const advancedFromSchemaColumn = (col: SchemaColumn): AdvancedEditorColumn => ({\n  _id: crypto.randomUUID(),\n  key: col.key,\n  fieldtype: col.fieldtype,\n  type: col.type,\n  config: col.config,\n  pipeline: col.type === ADVANCED_COLUMN_TYPE\n    ? {\n        // New format: key holds the title. Legacy format: key === 'advanced', title was a separate field.\n        title: col.key !== ADVANCED_COLUMN_KEY ? col.key : (col as any).title,\n        sourceFields: (col.config?.advancedColumns ?? []).map((sf: Record<string, any>) => ({\n          ...sf,\n          config: sf.config ?? {}\n        })),\n        transformers: col.config?.transformers\n      }\n    : undefined,\n  locale: col.locale\n})\n\n/**\n * Converts an AdvancedEditorColumn draft back to a persisted SchemaColumn.\n * For advanced columns the frontend `pipeline` is packed into config.advancedColumns + config.transformers.\n */\nexport const advancedToSchemaColumn = (col: AdvancedEditorColumn): SchemaColumn => ({\n  key: col.type === ADVANCED_COLUMN_TYPE && col.pipeline?.title !== undefined && col.pipeline.title !== ''\n    ? col.pipeline.title as string\n    : col.key,\n  fieldtype: col.fieldtype,\n  type: col.type,\n  config: col.pipeline !== undefined\n    ? {\n        advancedColumns: (col.pipeline.sourceFields ?? []).map((sf: Record<string, any>) => ({\n          ...sf,\n          config: sf.config ?? {}\n        })),\n        transformers: col.pipeline.transformers\n      }\n    : col.config,\n  locale: col.locale\n})\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/components/column-config-modal/use-add-column-dropdown.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { useMemo } from 'react'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { type ItemType } from '@pimcore/studio-ui-bundle/components'\nimport { type GridColumnConfiguration } from '@pimcore/studio-ui-bundle/api/data-object'\nimport { isNil, isEmpty } from 'lodash'\n\nexport interface AddColumnDropdownMenu {\n  items: ItemType[]\n}\n\n/**\n * Builds a nested Ant Design dropdown menu from a flat list of GridColumnConfiguration entries.\n */\nexport const useAddColumnDropdown = (\n  availableColumns: GridColumnConfiguration[],\n  onMenuItemClick: (column: GridColumnConfiguration) => void\n): AddColumnDropdownMenu => {\n  const { t } = useTranslation()\n\n  return useMemo((): AddColumnDropdownMenu => {\n    const groupTree: Record<string, any> = {}\n    let menuIndex = 0\n\n    availableColumns.forEach((column) => {\n      let normalizedGroups: Array<string | string[]> = []\n      if (Array.isArray(column.group)) {\n        const hasNestedArrays = column.group.some((item: any) => Array.isArray(item))\n        if (hasNestedArrays) {\n          normalizedGroups = column.group\n        } else {\n          normalizedGroups = [column.group as unknown as string[]]\n        }\n      } else if (typeof column.group === 'string') {\n        normalizedGroups = [column.group]\n      } else {\n        normalizedGroups = [String(column.group)]\n      }\n\n      normalizedGroups.forEach((groupPath) => {\n        let groupParts: string[]\n        if (typeof groupPath === 'string') {\n          groupParts = groupPath.split('.')\n        } else if (Array.isArray(groupPath)) {\n          groupParts = groupPath.map((part: any) => String(part))\n        } else {\n          groupParts = [String(groupPath)]\n        }\n\n        let currentLevel = groupTree\n        groupParts.forEach((part, index) => {\n          if (isNil(currentLevel[part])) {\n            currentLevel[part] = { items: [], subGroups: {} }\n          }\n          if (index === groupParts.length - 1) {\n            currentLevel[part].items.push(column)\n          } else {\n            currentLevel = currentLevel[part].subGroups\n          }\n        })\n      })\n    })\n\n    const convertTreeToMenuItems = (tree: Record<string, any>): ItemType[] => {\n      return Object.entries(tree).map(([groupName, groupData]) => {\n        const menuItem: any = { key: `group-${menuIndex++}`, label: t(groupName) }\n        const subGroupItems = !isEmpty(Object.keys(groupData.subGroups as Record<string, any>))\n          ? convertTreeToMenuItems(groupData.subGroups as Record<string, any>)\n          : []\n        const columnItems: ItemType[] = groupData.items.map((column: GridColumnConfiguration) => {\n          let translationKey = column.key\n          if (!isNil(column.config) && 'fieldDefinition' in column.config) {\n            const fieldDefinition = column.config.fieldDefinition as Record<string, any>\n            translationKey = fieldDefinition?.title ?? column.key\n          }\n          return { key: column.key, label: t(translationKey), onClick: () => { onMenuItemClick(column) } }\n        })\n        const allChildren = [...subGroupItems, ...columnItems]\n        if (allChildren.length > 0) menuItem.children = allChildren\n        return menuItem as ItemType\n      })\n    }\n\n    return { items: convertTreeToMenuItems(groupTree) }\n  }, [availableColumns, t, onMenuItemClick])\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/components/column-config-modal/use-column-editor-state.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { useState, useEffect, useRef, useCallback, useMemo } from 'react'\nimport { useElementSelector, SelectionType } from '@pimcore/studio-ui-bundle/modules/element'\nimport { api, type GridColumnConfiguration } from '@pimcore/studio-ui-bundle/api/data-object'\nimport { useClassDefinitions } from '@pimcore/studio-ui-bundle/modules/data-object'\nimport { isNil } from 'lodash'\nimport {\n  advancedFromSchemaColumn,\n  advancedToSchemaColumn,\n  ADVANCED_COLUMN_TYPE,\n  type AdvancedEditorColumn,\n  type SchemaColumn\n} from './types'\nimport { useAddColumnDropdown, type AddColumnDropdownMenu } from './use-add-column-dropdown'\n\nconst SYSTEM_COLUMNS = [\n  { key: 'id', type: 'system.id', group: ['system'] as string[], config: [] as never[] },\n  { key: 'fullpath', type: 'system.string', group: ['system'] as string[], config: [] as never[] }\n]\n\ninterface UseColumnEditorStateOptions {\n  entity: string\n  classDefinitionId?: string\n  columns: SchemaColumn[]\n  onApply: (columns: SchemaColumn[]) => void\n  onCancel: () => void\n}\n\ninterface UseColumnEditorStateResult {\n  draft: AdvancedEditorColumn[]\n  isLoading: boolean\n  objectId: number | null\n  availableFields: GridColumnConfiguration[]\n  addColumnMenu: AddColumnDropdownMenu\n  openElementSelector: () => void\n  handleAddColumnOfType: (column: GridColumnConfiguration) => void\n  handlePipelineChange: (id: string, pipeline: Record<string, any>) => void\n  handleRemove: (id: string) => void\n  handleApply: () => void\n  handleDiscard: () => void\n  handleLocaleChange: (id: string, locale: string | null) => void\n  handleReorder: (ids: string[]) => void\n  getColumns: () => SchemaColumn[]\n}\n\nexport const useColumnEditorState = ({\n  entity,\n  classDefinitionId,\n  columns,\n  onApply,\n  onCancel\n}: UseColumnEditorStateOptions): UseColumnEditorStateResult => {\n  const { getByName } = useClassDefinitions()\n\n  const resolvedClassId = useMemo(() => {\n    if (!isNil(classDefinitionId)) return classDefinitionId\n    return getByName(entity)?.id ?? entity\n  }, [classDefinitionId, entity, getByName])\n\n  const { data, isLoading } = api.endpoints.dataObjectGetAvailableGridColumns.useQuery({\n    classId: resolvedClassId,\n    folderId: 1\n  })\n\n  const [draft, setDraft] = useState<AdvancedEditorColumn[]>(() =>\n    columns.map(advancedFromSchemaColumn)\n  )\n\n  useEffect(() => {\n    setDraft(columns.map(advancedFromSchemaColumn))\n  }, [columns])\n\n  const [objectId, setObjectId] = useState<number | null>(null)\n  const hasManualSelection = useRef(false)\n\n  const { data: gridData } = api.endpoints.dataObjectGetGrid.useQuery(\n    { classId: resolvedClassId, body: { folderId: 1, columns: SYSTEM_COLUMNS, filters: { includeDescendants: true, page: 1, pageSize: 1 } } },\n    { skip: resolvedClassId === undefined }\n  )\n\n  useEffect(() => {\n    if (hasManualSelection.current) return\n    const firstItem = gridData?.items?.[0]\n    if (firstItem?.id !== undefined) {\n      setObjectId(firstItem.id as number)\n    }\n  }, [gridData?.items])\n\n  const { open: openElementSelector } = useElementSelector({\n    selectionType: SelectionType.Single,\n    areas: { object: true, asset: false, document: false },\n    config: {\n      objects: {\n        allowedTypes: ['object'],\n        ...(entity !== undefined ? { allowedClasses: [entity] } : {})\n      }\n    },\n    onFinish: (event) => {\n      const item = event?.items?.[0]\n      if (item !== undefined) {\n        hasManualSelection.current = true\n        setObjectId(item.data.id)\n      }\n    }\n  })\n\n  const availableFields: GridColumnConfiguration[] = data?.columns ?? []\n\n  useEffect(() => {\n    if (availableFields.length === 0) return\n    setDraft(prev => prev.map(col => {\n      const available = availableFields.find(f =>\n        f.key === col.key || (col.type === ADVANCED_COLUMN_TYPE && f.type === col.type)\n      )\n      if (available === undefined) return col\n      return {\n        ...col,\n        localizable: col.localizable ?? available.localizable,\n        pipelineConfig: col.pipelineConfig ?? (available.config as Record<string, any> | undefined)\n      }\n    }))\n  }, [availableFields])\n\n  const handleAddColumnOfType = useCallback((column: GridColumnConfiguration): void => {\n    setDraft(prev => [...prev, {\n      _id: crypto.randomUUID(),\n      key: column.key,\n      fieldtype: column.key,\n      type: column.type,\n      pipelineConfig: column.config as Record<string, any> | undefined,\n      localizable: column.localizable\n    }])\n  }, [])\n\n  const addColumnMenu = useAddColumnDropdown(availableFields, handleAddColumnOfType)\n\n  const handlePipelineChange = (id: string, pipeline: Record<string, any>): void => {\n    setDraft(prev => prev.map(col =>\n      col._id === id ? { ...col, pipeline } : col\n    ))\n  }\n\n  const handleRemove = (id: string): void => {\n    setDraft(prev => prev.filter(col => col._id !== id))\n  }\n\n  const handleApply = (): void => {\n    onApply(draft.filter(col => col.key !== '').map(advancedToSchemaColumn))\n  }\n\n  const handleDiscard = (): void => {\n    setDraft(columns.map(advancedFromSchemaColumn))\n    onCancel()\n  }\n\n  const handleLocaleChange = (id: string, locale: string | null): void => {\n    setDraft(prev => prev.map(c => c._id === id ? { ...c, locale } : c))\n  }\n\n  const handleReorder = (ids: string[]): void => {\n    setDraft(prev => {\n      return ids\n        .map(id => prev.find(col => col._id === id))\n        .filter((col): col is AdvancedEditorColumn => col !== undefined)\n    })\n  }\n\n  return {\n    draft,\n    isLoading,\n    objectId,\n    availableFields,\n    addColumnMenu,\n    openElementSelector,\n    handleAddColumnOfType,\n    handlePipelineChange,\n    handleRemove,\n    handleApply,\n    handleDiscard,\n    handleLocaleChange,\n    handleReorder,\n    getColumns: () => draft.filter(col => col.key !== '').map(advancedToSchemaColumn)\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/components/config-sidebar/components/config-sidebar-toolbar/toolbar.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { Toolbar, DropdownButton, Dropdown, type DropdownProps, IconButton, Icon, Flex, Tooltip } from '@pimcore/studio-ui-bundle/components'\nimport { container, useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { bundleServiceIds } from '../../../../../../config/service-ids'\nimport { type DynamicTypeDataHubAdapterRegistry } from '../../../../dynamic-types/dynamic-type-data-hub-adapter-registry'\nimport { ImportButton } from '../../../import-button/import-button'\nimport { type BundleDataHubConfiguration } from '../../../../config-api-slice.gen'\n\ninterface ConfigSidebarToolbarProps {\n  onAdd: (adapterType: string) => void\n  onRefresh: () => Promise<{ data?: { items?: BundleDataHubConfiguration[] } }>\n  handleOpenConfig: (config: BundleDataHubConfiguration) => void\n  isFetching: boolean\n}\n\nexport const ConfigSidebarToolbar = ({ onAdd, onRefresh, handleOpenConfig, isFetching }: ConfigSidebarToolbarProps): React.JSX.Element => {\n  const { t } = useTranslation()\n  const adapterRegistry = container.get<DynamicTypeDataHubAdapterRegistry>(bundleServiceIds['DataHub/DynamicTypes/Adapter/Registry'])\n\n  const adapters = adapterRegistry.getDynamicTypes()\n\n  const dropdownItems: DropdownProps['menu']['items'] = adapters.map((adapter) => ({\n    key: adapter.id,\n    label: t(adapter.getNameTranslationKey()),\n    icon: <Icon { ...adapter.getIcon() } />,\n    onClick: () => { onAdd(adapter.id) }\n  }))\n\n  return (\n    <Toolbar>\n      <Flex gap=\"extra-small\">\n        <Tooltip title={ t('refresh') }>\n          <IconButton\n            disabled={ isFetching }\n            icon={ { value: 'refresh' } }\n            onClick={ onRefresh }\n            type=\"link\"\n          />\n        </Tooltip>\n\n        <ImportButton\n          disabled={ isFetching }\n          handleOpenConfig={ handleOpenConfig }\n          onRefresh={ onRefresh }\n        />\n      </Flex>\n\n      <Dropdown\n        menu={ { items: dropdownItems } }\n        trigger={ ['click'] }\n      >\n        <DropdownButton>\n          <Flex\n            align='center'\n            gap='extra-small'\n          >\n            <Icon value=\"new\" />\n            {t('new')}\n          </Flex>\n        </DropdownButton>\n      </Dropdown>\n    </Toolbar>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/components/config-sidebar/config-sidebar.styles.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { createStyles } from 'antd-style'\n\nexport const useStyles = createStyles(({ css }) => {\n  return {\n    treeContainer: css`\n      .ant-tree-list-holder-inner {\n        align-items: start;\n      }\n\n      .ant-tree-node-content-wrapper {\n        white-space: nowrap;\n      }\n    `\n  }\n})\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/components/config-sidebar/config-sidebar.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { useEffect, useState, useMemo } from 'react'\nimport { isNil, isUndefined } from 'lodash'\nimport {\n  Content,\n  ContentLayout, Icon,\n  SearchInput, TreeElement,\n  type TreeDataItem\n} from '@pimcore/studio-ui-bundle/components'\nimport { container, useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { type BundleDataHubConfiguration } from '../../config-api-slice-enhanced'\nimport { ConfigSidebarToolbar } from './components/config-sidebar-toolbar/toolbar'\nimport { type DynamicTypeDataHubAdapterRegistry } from '../../dynamic-types/dynamic-type-data-hub-adapter-registry'\nimport { bundleServiceIds } from '../../../../config/service-ids'\nimport { useConfigContext } from '../../providers/config-provider'\nimport { useDataHubConfig } from '../../hooks/use-data-hub-config'\nimport { findConfigById, filterConfigsRecursive } from '../../utils/tree-helpers'\nimport { hasValidAdapter } from '../../utils/adapter-helpers'\nimport { getExportUrl } from '../../utils/get-export-url'\nimport { useStyles } from './config-sidebar.styles'\n\ninterface ConfigSidebarProps {\n  handleOpenConfig: (config: BundleDataHubConfiguration) => void\n}\n\nexport const ConfigSidebar = ({\n  handleOpenConfig\n}: ConfigSidebarProps): React.JSX.Element => {\n  const { configurationsData, isLoading, isFetching, refetch, expandedKeys, setExpandedKeys } = useConfigContext()\n  const [configListData, setConfigListData] = useState<BundleDataHubConfiguration[]>([])\n  const [filteredData, setFilteredData] = useState<BundleDataHubConfiguration[]>([])\n  const [searchValue, setSearchValue] = useState('')\n  const [treeKey, setTreeKey] = useState(0)\n\n  const { handleAdd, handleClone, handleDelete } = useDataHubConfig({ refetch })\n\n  useEffect(() => {\n    if (!isNil(configurationsData?.items)) {\n      setConfigListData(configurationsData.items)\n      setFilteredData(configurationsData.items)\n      setTreeKey(prev => prev + 1)\n    }\n  }, [configurationsData])\n\n  useEffect(() => {\n    if (searchValue === '') {\n      setFilteredData(configListData)\n    } else {\n      setFilteredData(filterConfigsRecursive(configListData, searchValue))\n    }\n  }, [searchValue, configListData])\n\n  const { t } = useTranslation()\n  const { styles } = useStyles()\n\n  const adapterRegistry = container.get<DynamicTypeDataHubAdapterRegistry>(bundleServiceIds['DataHub/DynamicTypes/Adapter/Registry'])\n\n  const getTreeItemIcon = (item: BundleDataHubConfiguration): React.JSX.Element | undefined => {\n    if (item.allowChildren === true) {\n      return <Icon value=\"folder\" />\n    }\n\n    const adapterType = item.adapter as string | undefined\n    if (isUndefined(adapterType)) {\n      return undefined\n    }\n\n    const adapter = adapterRegistry.getDynamicType(adapterType, false)\n    return isUndefined(adapter) ? undefined : <Icon { ...adapter.getIcon() } />\n  }\n\n  const getTreeItemActions = (item: BundleDataHubConfiguration): Array<{ key: string, icon: string }> => {\n    if (item.allowChildren === true) {\n      return []\n    }\n\n    const actions: Array<{ key: string, icon: string }> = [\n      { key: 'clone', icon: 'copy-03' },\n      { key: 'export', icon: 'export' }\n    ]\n\n    // Only add delete action if writeable\n    if (item.writable) {\n      actions.push({ key: 'delete', icon: 'trash' })\n    }\n\n    return actions\n  }\n\n  const transformToTreeData = (items: BundleDataHubConfiguration[] | null): TreeDataItem[] => {\n    if (isNil(items)) {\n      return []\n    }\n\n    return items\n      .filter((item) => {\n        if (item.allowChildren === true) return true\n\n        return hasValidAdapter(item.adapter as string | undefined, adapterRegistry)\n      })\n      .sort((a, b) => {\n        return a.text.localeCompare(b.text, undefined, { sensitivity: 'base' })\n      })\n      .map((item) => {\n        return {\n          key: isUndefined(item.id) ? '' : String(item.id),\n          title: item.text,\n          icon: getTreeItemIcon(item),\n          children: isUndefined(item.children) ? undefined : transformToTreeData(item.children),\n          isLeaf: item.leaf,\n          actions: getTreeItemActions(item),\n          allowDrag: false,\n          allowDrop: false\n        }\n      })\n  }\n\n  const treeData = useMemo(() => transformToTreeData(filteredData), [filteredData])\n\n  const handleAddWrapper = (adapterType: string): void => {\n    handleAdd(adapterType, handleOpenConfig)\n  }\n\n  const handleCloneWrapper = (key: string): void => {\n    const config = findConfigById(key, configListData)\n    if (!isNil(config)) {\n      handleClone(config, handleOpenConfig)\n    }\n  }\n\n  const handleDeleteWrapper = (key: string): void => {\n    const config = findConfigById(key, configListData)\n    if (!isNil(config)) {\n      handleDelete(config)\n    }\n  }\n  const handleExportWrapper = (key: string): void => {\n    const config = findConfigById(key, configListData)\n    if (!isNil(config)) {\n      window.location.href = getExportUrl(config.text)\n    }\n  }\n\n  const handleActionsClick = (key: string, action: string): void => {\n    switch (action) {\n      case 'clone':\n        handleCloneWrapper(key)\n        break\n      case 'export':\n        handleExportWrapper(key)\n        break\n      case 'delete':\n        handleDeleteWrapper(key)\n        break\n    }\n  }\n\n  const handleTreeItemClick = (key: string): void => {\n    const config = findConfigById(key, configListData)\n    if (!isNil(config)) {\n      if (config.allowChildren === true) {\n        const currentKeys = expandedKeys\n        if (!isNil(currentKeys) && currentKeys.includes(key)) {\n          setExpandedKeys(currentKeys.filter(k => k !== key))\n        } else {\n          setExpandedKeys([...currentKeys, key])\n        }\n      } else {\n        handleOpenConfig(config)\n      }\n    }\n  }\n\n  return (\n    <ContentLayout\n      renderToolbar={\n        <ConfigSidebarToolbar\n          handleOpenConfig={ handleOpenConfig }\n          isFetching={ isFetching }\n          onAdd={ handleAddWrapper }\n          onRefresh={ refetch }\n        />\n      }\n    >\n      <Content\n        loading={ isLoading }\n        padded\n      >\n        <SearchInput\n          onChange={ (e) => { setSearchValue(e.target.value) } }\n          placeholder={ t('search') }\n          withoutAddon\n        />\n\n        <Content\n          loading={ isFetching }\n          none={ filteredData.length === 0 }\n        >\n\n          <TreeElement\n            className={ styles.treeContainer }\n            defaultExpandedKeys={ expandedKeys }\n            key={ `config-tree-${treeKey}` }\n            onActionsClick={ handleActionsClick }\n            onExpand={ (keys) => { setExpandedKeys(keys as string[]) } }\n            onSelected={ (key) => { handleTreeItemClick(String(key)) } }\n            treeData={ treeData }\n          />\n\n        </Content>\n      </Content>\n    </ContentLayout>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/components/export-button/export-button.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { IconButton, Tooltip } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { getExportUrl } from '../../utils/get-export-url'\n\ninterface ExportButtonProps {\n  configName: string\n  disabled?: boolean\n}\n\nexport const ExportButton = ({ configName, disabled }: ExportButtonProps): React.JSX.Element => {\n  const { t } = useTranslation()\n\n  const handleExport = (): void => {\n    window.location.href = getExportUrl(configName)\n  }\n\n  return (\n    <Tooltip title={ t('tree.actions.export') }>\n      <IconButton\n        disabled={ disabled }\n        icon={ { value: 'export' } }\n        onClick={ handleExport }\n      />\n    </Tooltip>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/components/export-button/index.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nexport { ExportButton } from './export-button'\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/components/field-width-container.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { type ReactNode } from 'react'\nimport { useFieldWidth } from '@pimcore/studio-ui-bundle/modules/element'\n\ninterface FieldWidthContainerProps {\n  children: ReactNode\n}\n\nexport const FieldWidthContainer = ({ children }: FieldWidthContainerProps): React.JSX.Element => {\n  const fieldWidth = useFieldWidth()\n\n  return (\n    <div style={ { maxWidth: `${fieldWidth.large}px`, width: '100%' } }>\n      {children}\n    </div>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/components/import-button/import-button.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { ImportModal, IconButton, Tooltip } from '@pimcore/studio-ui-bundle/components'\nimport { getPrefix } from '@pimcore/studio-ui-bundle/api'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { type BundleDataHubConfiguration } from '../../config-api-slice.gen'\nimport { findConfigInTree } from '../../utils/tree-helpers'\nimport { isUndefined } from 'lodash'\n\ninterface ImportResponse {\n  success: boolean\n  type: string\n  name: string\n}\n\ninterface ImportButtonProps {\n  onRefresh: () => Promise<{ data?: { items?: BundleDataHubConfiguration[] } }>\n  handleOpenConfig: (config: BundleDataHubConfiguration) => void\n  disabled?: boolean\n}\n\nexport const ImportButton = ({\n  onRefresh,\n  handleOpenConfig,\n  disabled = false\n}: ImportButtonProps): React.JSX.Element => {\n  const { t } = useTranslation()\n\n  const handleImportSuccess = async (data: ImportResponse): Promise<void> => {\n    const { data: updatedData } = await onRefresh()\n\n    if (!isUndefined(updatedData?.items)) {\n      const importedConfig = findConfigInTree(updatedData.items, (item) =>\n        !isUndefined(item.id) && item.id === data.name\n      )\n\n      if (!isUndefined(importedConfig)) {\n        handleOpenConfig(importedConfig)\n      }\n    }\n  }\n\n  return (\n    <ImportModal\n      accept=\".json,application/json\"\n      action={ `${getPrefix()}/bundle/data-hub/config/import` }\n      onUploadSuccess={ handleImportSuccess }\n    >\n      <Tooltip title={ t('tree.actions.import') }>\n        <IconButton\n          disabled={ disabled }\n          icon={ { value: 'import' } }\n          type=\"link\"\n        />\n      </Tooltip>\n    </ImportModal>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/components/migration-modal/index.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nexport * from './migration-modal'\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/components/migration-modal/migration-modal.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { type ReactNode, useState } from 'react'\nimport {\n  Alert,\n  Button,\n  CodeEditor,\n  Flex,\n  Modal,\n  ModalTitle,\n  Space,\n  Toolbar\n} from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { stringifyYaml } from '../../../../sdk/utils/yaml'\n\nexport interface MigrationModalProps {\n  /** Controls modal visibility */\n  open: boolean\n  /** Modal title — already translated by the consumer */\n  title: string\n  /** Icon name rendered in the modal title bar (defaults to \"settings\") */\n  iconName?: string\n  /** The raw legacy config object — serialized to YAML internally for the read-only reference pane */\n  legacyConfig: Record<string, unknown>\n  /**\n   * Optional toolbar slot rendered left-aligned in the split-view toolbar.\n   * Use this to provide an \"Add column\" / \"Add field\" dropdown specific to your editor.\n   */\n  renderToolbarLeft?: ReactNode\n  /**\n   * Called when the user clicks \"Confirm Migration\".\n   * The consumer is responsible for reading the current state from its editor\n   * (e.g. via an imperative ref) and persisting it before or after this callback.\n   */\n  onConfirm: () => void\n  /**\n   * Called when the user closes the modal from either the initial legacy view\n   * (X button or Cancel in the initial toolbar) or from the split migration view\n   * (Cancel button returns to the initial view — the modal stays open).\n   * To close the modal entirely from the initial view, this should set `open` to false.\n   */\n  onClose: () => void\n  /**\n   * The new-format editor component rendered in the left pane during migration.\n   * The consumer is responsible for wiring this up with its own state / ref.\n   */\n  children: ReactNode\n}\n\n/**\n * MigrationModal — generic split-view migration shell for Data Hub adapters.\n *\n * Manages two visual states internally:\n *  1. **Initial legacy view** (`isMigrating = false`): shows the legacy config as\n *     read-only YAML with a warning alert and a \"Start Migration\" button.\n *  2. **Split migration view** (`isMigrating = true`): left pane renders `children`\n *     (the consumer's new editor), right pane shows the legacy YAML as reference.\n *     Toolbar provides Cancel (returns to initial view) and Confirm Migration.\n */\nexport const MigrationModal = ({\n  open,\n  title,\n  iconName = 'settings',\n  legacyConfig,\n  renderToolbarLeft,\n  onConfirm,\n  onClose,\n  children\n}: MigrationModalProps): React.JSX.Element => {\n  const { t } = useTranslation()\n  const [isMigrating, setIsMigrating] = useState(false)\n\n  const yamlValue = stringifyYaml(legacyConfig)\n\n  const modalTitle = (\n    <ModalTitle iconName={ iconName }>\n      { title }\n    </ModalTitle>\n  )\n\n  // ── Initial legacy view ──────────────────────────────────────────────────\n  if (!isMigrating) {\n    return (\n      <Modal\n        footer={ null }\n        onCancel={ onClose }\n        open={ open }\n        size=\"XL\"\n        title={ modalTitle }\n      >\n        <Flex\n          gap=\"small\"\n          vertical\n        >\n          <Alert\n            description={ t('data-hub.migration-modal.legacy-notice') }\n            showIcon\n            type=\"warning\"\n          />\n\n          <CodeEditor\n            height=\"400px\"\n            preset=\"yaml\"\n            readOnly\n            value={ yamlValue }\n          />\n        </Flex>\n\n        <Toolbar\n          padding={ { x: 'none', y: 'small' } }\n          theme='secondary'\n        >\n          <Space size='extra-small'>\n            <Button\n              onClick={ () => { setIsMigrating(true) } }\n              type='primary'\n            >\n              { t('data-hub.migration-modal.start-migration') }\n            </Button>\n          </Space>\n        </Toolbar>\n      </Modal>\n    )\n  }\n\n  // ── Split migration view ─────────────────────────────────────────────────\n  return (\n    <Modal\n      footer={ null }\n      onCancel={ () => { setIsMigrating(false) } }\n      open={ open }\n      size=\"XL\"\n      title={ modalTitle }\n    >\n      <Flex\n        gap=\"small\"\n        style={ { height: 'calc(80vh - 120px)', overflow: 'hidden' } }\n      >\n        { /* Left — new editor supplied by consumer */ }\n        <Flex\n          style={ { flex: 1, minWidth: 0, overflow: 'hidden' } }\n          vertical\n        >\n          { children }\n        </Flex>\n\n        <div style={ { width: 1, background: 'var(--ant-color-split, rgba(0,0,0,.06))', flexShrink: 0 } } />\n\n        { /* Right — legacy config (read-only YAML reference) */ }\n        <Flex\n          gap=\"small\"\n          style={ { flex: 1, minWidth: 0, overflow: 'auto' } }\n          vertical\n        >\n          <Alert\n            description={ t('data-hub.migration-modal.legacy-notice') }\n            showIcon\n            type=\"warning\"\n          />\n          <CodeEditor\n            height=\"100%\"\n            preset=\"yaml\"\n            readOnly\n            value={ yamlValue }\n          />\n        </Flex>\n      </Flex>\n\n      <Toolbar\n        padding={ { x: 'none', y: 'small' } }\n        theme='secondary'\n      >\n        { renderToolbarLeft }\n\n        <Space size='extra-small'>\n          <Button\n            onClick={ () => { setIsMigrating(false) } }\n            type='default'\n          >\n            { t('data-hub.migration-modal.cancel') }\n          </Button>\n\n          <Button\n            onClick={ onConfirm }\n            type='primary'\n          >\n            { t('data-hub.migration-modal.confirm-migration') }\n          </Button>\n        </Space>\n      </Toolbar>\n    </Modal>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/components/tabs/config-tab-content.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { useCallback } from 'react'\nimport { type BundleDataHubConfiguration } from '../../config-api-slice-enhanced'\nimport { isUndefined, isNil } from 'lodash'\nimport { container } from '@pimcore/studio-ui-bundle/app'\nimport { bundleServiceIds } from '../../../../config/service-ids'\nimport { type DynamicTypeDataHubAdapterRegistry } from '../../dynamic-types/dynamic-type-data-hub-adapter-registry'\n\ninterface ConfigTabContentProps {\n  config: BundleDataHubConfiguration\n  onDelete: () => void\n  modifiedConfigs: string[]\n  setModifiedConfigs: React.Dispatch<React.SetStateAction<string[]>>\n  isActive: boolean\n}\n\nexport const ConfigTabContent = ({ config, onDelete, modifiedConfigs, setModifiedConfigs, isActive }: ConfigTabContentProps): React.JSX.Element => {\n  const adapterRegistry = container.get<DynamicTypeDataHubAdapterRegistry>(bundleServiceIds['DataHub/DynamicTypes/Adapter/Registry'])\n\n  const handleChange = useCallback((isDirty: boolean) => {\n    setModifiedConfigs((prev) => {\n      const isCurrentlyModified = prev.includes(config.id)\n      if (isDirty && !isCurrentlyModified) {\n        return [...prev, config.id]\n      } else if (!isDirty && isCurrentlyModified) {\n        return prev.filter(id => id !== config.id)\n      }\n      return prev\n    })\n  }, [config.id, setModifiedConfigs])\n\n  const adapterType = config.adapter as string | undefined\n\n  if (isUndefined(adapterType)) {\n    return <div>Unknown adapter type</div>\n  }\n\n  try {\n    const adapter = adapterRegistry.getDynamicType(adapterType, false)\n    if (isNil(adapter)) {\n      return <div>Adapter not found: {adapterType}</div>\n    }\n\n    return adapter.renderDetailView({\n      configName: config.text,\n      configId: config.id,\n      isActive,\n      hasStudioColumnConfig: config.studioColumnConfig,\n      onChange: handleChange,\n      onDelete\n    })\n  } catch (err) {\n    console.error('Error rendering form:', err)\n    return <div>Error rendering adapter form</div>\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/components/tabs/config-tabs.styles.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { createStyles } from 'antd-style'\n\nexport const useStyles = createStyles(({ css, token }) => {\n  return {\n    tabsContainer: css`\n      height: 100%;\n\n      .ant-tabs-content-holder {\n        flex: 1;\n        min-height: 0;\n        overflow: hidden;\n      }\n\n      .ant-tabs-content,\n      .ant-tabs-tabpane {\n        height: 100%;\n      }\n    `,\n\n    tabs: css`\n      .ant-tabs-tab {\n        padding: ${token.paddingSM}px ${token.paddingXXS}px !important;\n      }\n    `\n  }\n})\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/components/tabs/config-tabs.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { useMemo, useCallback } from 'react'\nimport { Tabs, Content, Icon } from '@pimcore/studio-ui-bundle/components'\nimport { type BundleDataHubConfiguration } from '../../config-api-slice-enhanced'\nimport { isUndefined, isNil } from 'lodash'\nimport { ConfigTabContent } from './config-tab-content'\nimport { useStyles } from './config-tabs.styles'\nimport { container } from '@pimcore/studio-ui-bundle/app'\nimport { type DynamicTypeDataHubAdapterRegistry } from '../../dynamic-types/dynamic-type-data-hub-adapter-registry'\nimport { bundleServiceIds } from '../../../../config/service-ids'\nimport { useDataHubConfig } from '../../hooks/use-data-hub-config'\nimport { useConfigContext } from '../../providers/config-provider'\n\ninterface ConfigTabsProps {\n  openedConfigs: BundleDataHubConfiguration[]\n  activeTabKey: string | undefined\n  configurationsData?: { items: BundleDataHubConfiguration[] }\n  onChangeTab: (key: string) => void\n  onCloseTab: (key: string) => void\n  modifiedConfigs: string[]\n  setModifiedConfigs: React.Dispatch<React.SetStateAction<string[]>>\n}\n\nconst TabItem = ({ config }: { config: BundleDataHubConfiguration }): React.JSX.Element | null => {\n  const adapterRegistry = container.get<DynamicTypeDataHubAdapterRegistry>(bundleServiceIds['DataHub/DynamicTypes/Adapter/Registry'])\n  const adapterType = config.adapter as string | undefined\n\n  if (isUndefined(adapterType)) {\n    return null\n  }\n\n  const adapter = adapterRegistry.getDynamicType(adapterType, false)\n  return isUndefined(adapter) ? null : <Icon { ...adapter.getIcon() } />\n}\n\nexport const ConfigTabs = ({\n  openedConfigs,\n  activeTabKey,\n  configurationsData,\n  onChangeTab,\n  onCloseTab,\n  modifiedConfigs,\n  setModifiedConfigs\n}: ConfigTabsProps): React.JSX.Element => {\n  const { styles } = useStyles()\n  const { refetch } = useConfigContext()\n  const { handleDelete } = useDataHubConfig({ refetch })\n\n  const handleDeleteConfig = useCallback((configId: string): void => {\n    const config = openedConfigs.find(c => c.id === configId)\n    if (!isNil(config)) {\n      handleDelete(config, () => {\n        onCloseTab(configId)\n      })\n    }\n  }, [openedConfigs, handleDelete, onCloseTab])\n\n  const tabItems = useMemo(() => {\n    // Recursively collect all config IDs from the tree\n    const collectConfigIds = (items: BundleDataHubConfiguration[]): Set<string> => {\n      const ids = new Set<string>()\n      items.forEach(item => {\n        ids.add(item.id)\n        if (!isNil(item.children)) {\n          collectConfigIds(item.children).forEach(id => ids.add(id))\n        }\n      })\n      return ids\n    }\n\n    const existingConfigIds = isNil(configurationsData?.items)\n      ? new Set<string>()\n      : collectConfigIds(configurationsData.items)\n\n    return openedConfigs\n      .filter(config => !isNil(existingConfigIds) && existingConfigIds.has(config.id))\n      .map((config) => ({\n        key: config.id,\n        label: `${config.text} ${modifiedConfigs.includes(config.id) ? '*' : ''}`,\n        icon: <TabItem config={ config } />,\n        children: <ConfigTabContent\n          config={ config }\n          isActive={ activeTabKey === config.id }\n          modifiedConfigs={ modifiedConfigs }\n          onDelete={ () => { handleDeleteConfig(config.id) } }\n          setModifiedConfigs={ setModifiedConfigs }\n                  />\n      }))\n  }, [configurationsData, openedConfigs, modifiedConfigs, setModifiedConfigs, activeTabKey, handleDeleteConfig])\n\n  if (isUndefined(activeTabKey)) {\n    return <Content none />\n  }\n\n  return (\n    <Tabs\n      activeKey={ activeTabKey }\n      className={ styles.tabs }\n      hasStickyHeader\n      items={ tabItems }\n      onChange={ onChangeTab }\n      onClose={ onCloseTab }\n      rootClassName={ styles.tabsContainer }\n    />\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/config-api-slice-enhanced.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { api as baseApi } from './config-api-slice.gen'\n\nexport const api = baseApi.enhanceEndpoints({\n  addTagTypes: ['DataHubConfigs'],\n  endpoints: {\n    bundleDataHubConfigCollection: {\n      providesTags: ['DataHubConfigs']\n    },\n    bundleDataHubConfigAdd: {\n      invalidatesTags: ['DataHubConfigs']\n    },\n    bundleDataHubConfigClone: {\n      invalidatesTags: ['DataHubConfigs']\n    },\n    bundleDataHubConfigDelete: {\n      invalidatesTags: ['DataHubConfigs']\n    },\n    bundleDataHubConfigGet: {\n      providesTags: []\n    },\n    bundleDataHubConfigExport: {\n      providesTags: (result, error, arg) => [{ type: 'DataHubConfigs', id: arg.name }]\n    },\n    bundleDataHubConfigImport: {\n      invalidatesTags: ['DataHubConfigs']\n    },\n    bundleDataHubConfigUpdate: {\n      invalidatesTags: ['DataHubConfigs']\n    }\n  }\n})\n\nexport type * from './config-api-slice.gen'\n\nexport const {\n  useBundleDataHubConfigCollectionQuery,\n  useBundleDataHubConfigAddMutation,\n  useBundleDataHubConfigCloneMutation,\n  useBundleDataHubConfigDeleteMutation,\n  useBundleDataHubConfigGetQuery,\n  useBundleDataHubConfigExportQuery,\n  useBundleDataHubConfigImportMutation,\n  useBundleDataHubConfigUpdateMutation\n} = api\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/config-api-slice.gen.ts",
    "content": "import { api } from \"@pimcore/studio-ui-bundle/api\";\nexport const addTagTypes = [\"Bundle Data Hub\"] as const;\nconst injectedRtkApi = api\n    .enhanceEndpoints({\n        addTagTypes,\n    })\n    .injectEndpoints({\n        endpoints: (build) => ({\n            bundleDataHubConfigAdd: build.mutation<\n                BundleDataHubConfigAddApiResponse,\n                BundleDataHubConfigAddApiArg\n            >({\n                query: (queryArg) => ({\n                    url: `/pimcore-studio/api/bundle/data-hub/config/add`,\n                    method: \"POST\",\n                    params: {\n                        name: queryArg.name,\n                        type: queryArg[\"type\"],\n                        path: queryArg.path,\n                    },\n                }),\n                invalidatesTags: [\"Bundle Data Hub\"],\n            }),\n            bundleDataHubConfigClone: build.mutation<\n                BundleDataHubConfigCloneApiResponse,\n                BundleDataHubConfigCloneApiArg\n            >({\n                query: (queryArg) => ({\n                    url: `/pimcore-studio/api/bundle/data-hub/config/clone`,\n                    method: \"POST\",\n                    params: {\n                        name: queryArg.name,\n                        originalName: queryArg.originalName,\n                    },\n                }),\n                invalidatesTags: [\"Bundle Data Hub\"],\n            }),\n            bundleDataHubConfigCollection: build.query<\n                BundleDataHubConfigCollectionApiResponse,\n                BundleDataHubConfigCollectionApiArg\n            >({\n                query: () => ({\n                    url: `/pimcore-studio/api/bundle/data-hub/config`,\n                }),\n                providesTags: [\"Bundle Data Hub\"],\n            }),\n            bundleDataHubConfigDelete: build.mutation<\n                BundleDataHubConfigDeleteApiResponse,\n                BundleDataHubConfigDeleteApiArg\n            >({\n                query: (queryArg) => ({\n                    url: `/pimcore-studio/api/bundle/data-hub/config/delete/${queryArg.name}`,\n                    method: \"DELETE\",\n                }),\n                invalidatesTags: [\"Bundle Data Hub\"],\n            }),\n            bundleDataHubConfigExport: build.query<\n                BundleDataHubConfigExportApiResponse,\n                BundleDataHubConfigExportApiArg\n            >({\n                query: (queryArg) => ({\n                    url: `/pimcore-studio/api/bundle/data-hub/config/${queryArg.name}/export`,\n                }),\n                providesTags: [\"Bundle Data Hub\"],\n            }),\n            bundleDataHubConfigGet: build.query<\n                BundleDataHubConfigGetApiResponse,\n                BundleDataHubConfigGetApiArg\n            >({\n                query: (queryArg) => ({\n                    url: `/pimcore-studio/api/bundle/data-hub/config/${queryArg.name}`,\n                }),\n                providesTags: [\"Bundle Data Hub\"],\n            }),\n            bundleDataHubConfigUpdate: build.mutation<\n                BundleDataHubConfigUpdateApiResponse,\n                BundleDataHubConfigUpdateApiArg\n            >({\n                query: (queryArg) => ({\n                    url: `/pimcore-studio/api/bundle/data-hub/config/${queryArg.name}`,\n                    method: \"PUT\",\n                    body: queryArg.bundleDataHubUpdateConfiguration,\n                }),\n                invalidatesTags: [\"Bundle Data Hub\"],\n            }),\n            bundleDataHubConfigImport: build.mutation<\n                BundleDataHubConfigImportApiResponse,\n                BundleDataHubConfigImportApiArg\n            >({\n                query: (queryArg) => ({\n                    url: `/pimcore-studio/api/bundle/data-hub/config/import`,\n                    method: \"POST\",\n                    body: queryArg.body,\n                }),\n                invalidatesTags: [\"Bundle Data Hub\"],\n            }),\n        }),\n        overrideExisting: false,\n    });\nexport { injectedRtkApi as api };\nexport type BundleDataHubConfigAddApiResponse =\n    /** status 201 bundle_data_hub_config_add_success_response */ void;\nexport type BundleDataHubConfigAddApiArg = {\n    /** The name of the configuration */\n    name: string;\n    /** Type of the adapter */\n    type: string;\n    /** Configuration path */\n    path?: string;\n};\nexport type BundleDataHubConfigCloneApiResponse =\n    /** status 201 bundle_data_hub_config_clone_success_response */ void;\nexport type BundleDataHubConfigCloneApiArg = {\n    /** The name of the new configuration */\n    name: string;\n    /** The name of the configuration to clone */\n    originalName: string;\n};\nexport type BundleDataHubConfigCollectionApiResponse =\n    /** status 200 bundle_copilot_actions_success_response */ {\n        totalItems: number;\n        items: BundleDataHubConfiguration[];\n    };\nexport type BundleDataHubConfigCollectionApiArg = void;\nexport type BundleDataHubConfigDeleteApiResponse =\n    /** status 200 bundle_data_hub_config_delete_success_response */ void;\nexport type BundleDataHubConfigDeleteApiArg = {\n    /** Name of the configuration */\n    name: string;\n};\nexport type BundleDataHubConfigExportApiResponse =\n    /** status 200 bundle_data_hub_config_export_success_response */ void;\nexport type BundleDataHubConfigExportApiArg = {\n    /** Name of the configuration */\n    name: string;\n};\nexport type BundleDataHubConfigGetApiResponse =\n    /** status 200 bundle_data_hub_config_get_success_response */ BundleDataHubConfigurationDetail;\nexport type BundleDataHubConfigGetApiArg = {\n    /** Name of the configuration */\n    name: string;\n};\nexport type BundleDataHubConfigUpdateApiResponse =\n    /** status 200 bundle_data_hub_config_update_success_response */ BundleDataHubUpdateConfigurationResponse;\nexport type BundleDataHubConfigUpdateApiArg = {\n    /** Name of the configuration */\n    name: string;\n    bundleDataHubUpdateConfiguration: BundleDataHubUpdateConfiguration;\n};\nexport type BundleDataHubConfigImportApiResponse =\n    /** status 201 bundle_data_hub_config_import_success_response */ void;\nexport type BundleDataHubConfigImportApiArg = {\n    /** Configuration file to import */\n    body: {\n        /** JSON configuration file */\n        file: Blob;\n    };\n};\nexport type Error = {\n    /** Message */\n    message: string;\n};\nexport type DevError = {\n    /** Message */\n    message: string;\n    /** Details */\n    details: string;\n};\nexport type BundleDataHubConfiguration = {\n    /** AdditionalAttributes */\n    additionalAttributes?: {\n        [key: string]: string | number | boolean | object;\n    };\n    /** ID */\n    id: string;\n    /** Text */\n    text: string;\n    /** Type */\n    type: string;\n    /** iconCls */\n    iconCls: string;\n    /** Expandable */\n    expandable: boolean;\n    /** Leaf */\n    leaf: boolean;\n    /** Permissions */\n    permissions: any;\n    /** Allow children */\n    allowChildren?: boolean;\n    /** Group */\n    group?: any;\n    /** Children */\n    children?: BundleDataHubConfiguration[];\n    /** Adapter */\n    adapter: any;\n    /** Writable */\n    writable: boolean;\n    /** Has Studio Column Configuration */\n    studioColumnConfig: boolean;\n};\nexport type BundleDataHubConfigurationDetail = {\n    /** AdditionalAttributes */\n    additionalAttributes?: {\n        [key: string]: string | number | boolean | object;\n    };\n    /** Configuration name */\n    name: string;\n    /** Configuration data */\n    configuration: object;\n    /** User permissions */\n    userPermissions: object;\n    /** Supported GraphQL query data types */\n    supportedGraphQLQueryDataTypes: string[];\n    /** Supported GraphQL mutation data types */\n    supportedGraphQLMutationDataTypes: string[];\n    /** Modification date timestamp */\n    modificationDate: number;\n};\nexport type BundleDataHubUpdateConfigurationResponse = {\n    /** New modification date timestamp */\n    modificationDate: number;\n};\nexport type BundleDataHubUpdateConfiguration = {\n    /** JSON-encoded configuration containing general, schema, security, workspaces, and permissions */\n    data: string;\n    /** Client-side modification date timestamp for conflict detection */\n    modificationDate: number;\n};\nexport const {\n    useBundleDataHubConfigAddMutation,\n    useBundleDataHubConfigCloneMutation,\n    useBundleDataHubConfigCollectionQuery,\n    useBundleDataHubConfigDeleteMutation,\n    useBundleDataHubConfigExportQuery,\n    useBundleDataHubConfigGetQuery,\n    useBundleDataHubConfigUpdateMutation,\n    useBundleDataHubConfigImportMutation,\n} = injectedRtkApi;\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/config-container.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { useState } from 'react'\nimport { ConfigLayout } from '@pimcore/studio-ui-bundle/components'\nimport { ConfigSidebar } from './components/config-sidebar/config-sidebar'\nimport { ConfigTabs } from './components/tabs/config-tabs'\nimport { useBundleDataHubConfigCollectionQuery } from './config-api-slice-enhanced'\nimport { useTabManager } from './hooks/use-tab-manager'\nimport { ConfigProvider } from './providers/config-provider'\n\nexport const ConfigContainer = (): React.JSX.Element => {\n  const { data: configurationsData, isLoading, isFetching, refetch } = useBundleDataHubConfigCollectionQuery()\n  const { openedConfigs, activeTabKey, handleOpenConfig, handleCloseTab, handleChangeTab } = useTabManager()\n  const [expandedKeys, setExpandedKeys] = useState<string[]>([])\n  const [modifiedConfigs, setModifiedConfigs] = useState<string[]>([])\n\n  return (\n    <ConfigProvider\n      value={ {\n        configurationsData,\n        isLoading,\n        isFetching,\n        refetch,\n        expandedKeys,\n        setExpandedKeys\n      } }\n    >\n      <ConfigLayout\n        leftItem={ {\n          children: (\n            <ConfigSidebar handleOpenConfig={ handleOpenConfig } />\n          )\n        } }\n        rightItem={ {\n          children: (\n            <ConfigTabs\n              activeTabKey={ activeTabKey }\n              configurationsData={ configurationsData }\n              modifiedConfigs={ modifiedConfigs }\n              onChangeTab={ handleChangeTab }\n              onCloseTab={ handleCloseTab }\n              openedConfigs={ openedConfigs }\n              setModifiedConfigs={ setModifiedConfigs }\n            />\n          )\n        } }\n      />\n    </ConfigProvider>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/dynamic-types/adapters/dynamic-type-data-hub-adapter-graphql.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { injectable } from '@pimcore/studio-ui-bundle/app'\nimport type { ElementIcon } from '@pimcore/studio-ui-bundle/modules/widget-manager'\nimport { DynamicTypeDataHubAdapterAbstract, type DataHubAdapterDetailViewProps } from '../dynamic-type-data-hub-adapter-abstract'\nimport { GraphQLDetailView } from '../../../graphql/components/graphql-detail-view'\n\n@injectable()\nexport class DynamicTypeDataHubAdapterGraphQL extends DynamicTypeDataHubAdapterAbstract {\n  readonly id = 'graphql'\n\n  getIcon (): ElementIcon {\n    return { type: 'name', value: 'graphql', colorToken: 'colorCodingViolet4' }\n  }\n\n  renderDetailView (props: DataHubAdapterDetailViewProps): React.JSX.Element {\n    return <GraphQLDetailView { ...props } />\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/dynamic-types/dynamic-type-data-hub-adapter-abstract.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport type React from 'react'\nimport { injectable } from '@pimcore/studio-ui-bundle/app'\nimport type { ElementIcon } from '@pimcore/studio-ui-bundle/modules/widget-manager'\n\nexport interface DataHubAdapterDetailViewProps {\n  configName: string\n  configId: string\n  isActive: boolean\n  hasStudioColumnConfig: boolean\n  onChange: (isDirty: boolean) => void\n  onDelete: () => void\n}\n\n@injectable()\nexport abstract class DynamicTypeDataHubAdapterAbstract {\n  abstract readonly id: string\n  abstract getIcon (): ElementIcon\n  abstract renderDetailView (props: DataHubAdapterDetailViewProps): React.JSX.Element\n\n  getNameTranslationKey (): string {\n    return `data-hub.adapter.${this.id}`\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/dynamic-types/dynamic-type-data-hub-adapter-registry.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { injectable } from '@pimcore/studio-ui-bundle/app'\nimport { DynamicTypeRegistryAbstract } from '@pimcore/studio-ui-bundle/modules/element'\nimport { type DynamicTypeDataHubAdapterAbstract } from './dynamic-type-data-hub-adapter-abstract'\n\n@injectable()\nexport class DynamicTypeDataHubAdapterRegistry extends DynamicTypeRegistryAbstract<DynamicTypeDataHubAdapterAbstract> {}\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/dynamic-types/index.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nexport * from './dynamic-type-data-hub-adapter-abstract'\nexport * from './dynamic-type-data-hub-adapter-registry'\nexport * from './adapters/dynamic-type-data-hub-adapter-graphql'\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/hooks/use-data-hub-config.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { useCallback, useEffect } from 'react'\nimport { useFormModal } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { isNil, isUndefined, has, isString } from 'lodash'\nimport {\n  useBundleDataHubConfigAddMutation,\n  useBundleDataHubConfigCloneMutation,\n  useBundleDataHubConfigDeleteMutation,\n  type BundleDataHubConfiguration,\n  type BundleDataHubConfigCollectionApiResponse\n} from '../config-api-slice-enhanced'\nimport { findConfigInTree } from '../utils/tree-helpers'\nimport { ApiError, trackError } from '@pimcore/studio-ui-bundle/modules/app'\n\ninterface UseDataHubConfigReturn {\n  handleAdd: (adapterType: string, onSuccess?: (config: BundleDataHubConfiguration) => void) => void\n  handleClone: (config: BundleDataHubConfiguration, onSuccess?: (config: BundleDataHubConfiguration) => void) => void\n  handleDelete: (config: BundleDataHubConfiguration, onSuccess?: () => void) => void\n}\n\ninterface UseDataHubConfigProps {\n  refetch: () => Promise<{ data?: BundleDataHubConfigCollectionApiResponse }>\n}\n\nexport const useDataHubConfig = ({ refetch }: UseDataHubConfigProps): UseDataHubConfigReturn => {\n  const { t } = useTranslation()\n  const modal = useFormModal()\n  const [addConfig, { error: addError }] = useBundleDataHubConfigAddMutation()\n  const [cloneConfig, { error: cloneError }] = useBundleDataHubConfigCloneMutation()\n  const [deleteConfig, { error: deleteError }] = useBundleDataHubConfigDeleteMutation()\n\n  const validateConfigName = async (_rule: any, value: string): Promise<void> => {\n    if (!isString(value) || value.trim().length === 0) {\n      throw new Error(t('data-hub.config.name-required'))\n    }\n    if (value.length < 3) {\n      throw new Error(t('data-hub.config.name-min-length'))\n    }\n    if (value.length > 80) {\n      throw new Error(t('data-hub.config.name-max-length'))\n    }\n    if (!/^[a-zA-Z0-9_-]+$/.test(value)) {\n      throw new Error(t('data-hub.config.name-pattern'))\n    }\n    await Promise.resolve()\n  }\n\n  useEffect(() => {\n    if (!isNil(addError)) {\n      trackError(new ApiError(addError))\n    }\n  }, [addError])\n\n  useEffect(() => {\n    if (!isNil(cloneError)) {\n      trackError(new ApiError(cloneError))\n    }\n  }, [cloneError])\n\n  useEffect(() => {\n    if (!isNil(deleteError)) {\n      const apiError = new ApiError(deleteError)\n      trackError(apiError)\n    }\n  }, [deleteError])\n\n  const handleAdd = useCallback((\n    adapterType: string,\n    onSuccess?: (config: BundleDataHubConfiguration) => void\n  ): void => {\n    modal.input({\n      label: t('data-hub.add.name'),\n      rule: {\n        required: true,\n        validator: validateConfigName\n      },\n      onOk: async (value: string) => {\n        const result = await addConfig({ name: value, type: adapterType })\n\n        if (has(result, 'error')) {\n          return\n        }\n\n        const { data: updatedData } = await refetch()\n\n        if (!isUndefined(updatedData?.items)) {\n          const addedConfig = findConfigInTree(updatedData.items, (item) =>\n            !isUndefined(item.id) && item.id === value\n          )\n\n          if (!isUndefined(addedConfig) && !isNil(onSuccess)) {\n            onSuccess(addedConfig)\n          }\n        }\n      }\n    })\n  }, [addConfig, refetch, modal])\n\n  const handleClone = useCallback((\n    config: BundleDataHubConfiguration,\n    onSuccess?: (config: BundleDataHubConfiguration) => void\n  ): void => {\n    if (isNil(config)) return\n\n    modal.input({\n      label: t('data-hub.clone.name'),\n      rule: {\n        required: true,\n        validator: validateConfigName\n      },\n      onOk: async (value: string) => {\n        const configId = String(config.id ?? '')\n        const result = await cloneConfig({ name: value, originalName: configId })\n\n        if (has(result, 'error')) {\n          return\n        }\n\n        const { data: updatedData } = await refetch()\n\n        if (!isUndefined(updatedData?.items)) {\n          const clonedConfig = findConfigInTree(updatedData.items, (item) =>\n            !isUndefined(item.id) && item.id === value\n          )\n\n          if (!isUndefined(clonedConfig) && !isNil(onSuccess)) {\n            onSuccess(clonedConfig)\n          }\n        }\n      }\n    })\n  }, [cloneConfig, refetch, modal])\n\n  const handleDelete = useCallback((\n    config: BundleDataHubConfiguration,\n    onSuccess?: () => void\n  ): void => {\n    if (isNil(config)) return\n\n    modal.confirm({\n      title: t('delete'),\n      content: t('data-hub.delete.confirm', { name: config.text }),\n      onOk: async () => {\n        const configId = String(config.id ?? '')\n        const result = await deleteConfig({ name: configId })\n\n        if (has(result, 'error')) {\n          return\n        }\n\n        await refetch()\n\n        if (!isNil(onSuccess)) {\n          onSuccess()\n        }\n      }\n    })\n  }, [deleteConfig, refetch, modal])\n\n  return {\n    handleAdd,\n    handleClone,\n    handleDelete\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/hooks/use-tab-manager.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { useState, useCallback } from 'react'\nimport { type BundleDataHubConfiguration } from '../config-api-slice.gen'\n\ninterface UseTabManagerReturn {\n  openedConfigs: BundleDataHubConfiguration[]\n  activeTabKey: string | undefined\n  handleOpenConfig: (config: BundleDataHubConfiguration) => void\n  handleCloseTab: (key: string) => void\n  handleChangeTab: (key: string) => void\n}\n\nexport const useTabManager = (): UseTabManagerReturn => {\n  const [openedConfigs, setOpenedConfigs] = useState<BundleDataHubConfiguration[]>([])\n  const [activeTabKey, setActiveTabKey] = useState<string | undefined>(undefined)\n\n  const handleOpenConfig = useCallback((config: BundleDataHubConfiguration): void => {\n    const isAlreadyOpened = openedConfigs.some(item => item.id === config.id)\n\n    if (!isAlreadyOpened) {\n      setOpenedConfigs(prev => [...prev, config])\n    }\n\n    setActiveTabKey(config.id)\n  }, [openedConfigs])\n\n  const handleCloseTab = useCallback((key: string): void => {\n    setOpenedConfigs(prev => {\n      const targetIndex = prev.findIndex((tab) => tab?.id === key)\n      const updatedConfigs = prev.filter((config) => config.id !== key)\n\n      if (key === activeTabKey) {\n        const prevTab = prev[targetIndex - 1]\n        const nextTab = prev[targetIndex + 1]\n\n        setActiveTabKey(prevTab?.id ?? nextTab?.id)\n      }\n\n      return updatedConfigs\n    })\n  }, [activeTabKey])\n\n  const handleChangeTab = useCallback((key: string): void => {\n    setActiveTabKey(key)\n  }, [])\n\n  return {\n    openedConfigs,\n    activeTabKey,\n    handleOpenConfig,\n    handleCloseTab,\n    handleChangeTab\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/index.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { container, type AbstractModule } from '@pimcore/studio-ui-bundle'\nimport { serviceIds } from '@pimcore/studio-ui-bundle/app'\nimport { type MainNavRegistry } from '@pimcore/studio-ui-bundle/modules/app'\nimport { type WidgetRegistry } from '@pimcore/studio-ui-bundle/modules/widget-manager'\nimport { ConfigContainer } from './config-container'\nimport { type DynamicTypeDataHubAdapterRegistry } from './dynamic-types/dynamic-type-data-hub-adapter-registry'\nimport { bundleServiceIds } from '../../config/service-ids'\n\nexport const DataHubModule: AbstractModule = {\n  onInit: (): void => {\n    const adapterRegistry = container.get<DynamicTypeDataHubAdapterRegistry>(bundleServiceIds['DataHub/DynamicTypes/Adapter/Registry'])\n    adapterRegistry.registerDynamicType(container.get(bundleServiceIds['DataHub/DynamicTypes/Adapter/GraphQL']))\n\n    const widgetRegistryService = container.get<WidgetRegistry>(serviceIds.widgetManager)\n    const mainNavRegistryService = container.get<MainNavRegistry>(serviceIds.mainNavRegistry)\n\n    widgetRegistryService.registerWidget({\n      name: 'data-hub-configuration',\n      component: ConfigContainer\n    })\n\n    mainNavRegistryService.registerMainNavItem({\n      path: 'AutomationIntegration/DataHub',\n      label: 'data-hub.configuration',\n      order: 100,\n      permission: 'plugin_datahub_config',\n      perspectivePermission: 'automationIntegration.dataHubConfiguration',\n      className: 'item-style-modifier',\n      widgetConfig: {\n        name: 'Data Hub Configuration',\n        id: 'data-hub-configuration',\n        component: 'data-hub-configuration',\n        config: {\n          translationKey: 'data-hub.configuration',\n          icon: {\n            type: 'name',\n            value: 'datahub'\n          }\n        }\n      }\n    })\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/providers/config-provider.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { createContext, useContext, type ReactNode } from 'react'\nimport { type BundleDataHubConfigCollectionApiResponse } from '../config-api-slice-enhanced'\nimport { isUndefined } from 'lodash'\n\ninterface ConfigContextValue {\n  configurationsData?: BundleDataHubConfigCollectionApiResponse\n  isLoading: boolean\n  isFetching: boolean\n  refetch: () => Promise<{ data?: BundleDataHubConfigCollectionApiResponse }>\n  expandedKeys: string[]\n  setExpandedKeys: (keys: string[]) => void\n}\n\nconst ConfigContext = createContext<ConfigContextValue | undefined>(undefined)\n\ninterface ConfigProviderProps {\n  children: ReactNode\n  value: ConfigContextValue\n}\n\nexport const ConfigProvider = ({ children, value }: ConfigProviderProps): React.JSX.Element => {\n  return (\n    <ConfigContext.Provider value={ value }>\n      {children}\n    </ConfigContext.Provider>\n  )\n}\n\nexport const useConfigContext = (): ConfigContextValue => {\n  const context = useContext(ConfigContext)\n\n  if (isUndefined(context)) {\n    throw new Error('useConfigContext must be used within ConfigProvider')\n  }\n\n  return context\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/users-api-slice.gen.ts",
    "content": "import { api } from \"@pimcore/studio-ui-bundle/api\";\nexport const addTagTypes = [\"Bundle Data Hub\"] as const;\nconst injectedRtkApi = api\n    .enhanceEndpoints({\n        addTagTypes,\n    })\n    .injectEndpoints({\n        endpoints: (build) => ({\n            bundleDataHubUsersCollection: build.query<\n                BundleDataHubUsersCollectionApiResponse,\n                BundleDataHubUsersCollectionApiArg\n            >({\n                query: (queryArg) => ({\n                    url: `/pimcore-studio/api/bundle/data-hub/users`,\n                    params: { type: queryArg[\"type\"] },\n                }),\n                providesTags: [\"Bundle Data Hub\"],\n            }),\n        }),\n        overrideExisting: false,\n    });\nexport { injectedRtkApi as api };\nexport type BundleDataHubUsersCollectionApiResponse =\n    /** status 200 bundle_data_hub_users_collection_success_response */ {\n        totalItems: number;\n        items: BundleDataHubPermissionUser[];\n    };\nexport type BundleDataHubUsersCollectionApiArg = {\n    /** Filter by user type (user or role) */\n    type?: \"user\" | \"role\";\n};\nexport type BundleDataHubPermissionUser = {\n    /** AdditionalAttributes */\n    additionalAttributes?: {\n        [key: string]: string | number | boolean | object;\n    };\n    /** User or Role ID */\n    id: number;\n    /** User or Role name */\n    text: string;\n    /** Element type */\n    elementType: string;\n};\nexport type Error = {\n    /** Message */\n    message: string;\n};\nexport type DevError = {\n    /** Message */\n    message: string;\n    /** Details */\n    details: string;\n};\nexport const { useBundleDataHubUsersCollectionQuery } = injectedRtkApi;\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/utils/adapter-helpers.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { type DynamicTypeDataHubAdapterRegistry } from '../dynamic-types/dynamic-type-data-hub-adapter-registry'\nimport { isUndefined } from 'lodash'\n\nexport const hasValidAdapter = (\n  adapterType: string | undefined,\n  adapterRegistry: DynamicTypeDataHubAdapterRegistry\n): boolean => {\n  if (isUndefined(adapterType)) return false\n\n  return adapterRegistry.hasDynamicType(adapterType)\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/utils/get-export-url.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { getPrefix } from '@pimcore/studio-ui-bundle/api'\n\nexport const getExportUrl = (configName: string): string => {\n  return `${getPrefix()}/bundle/data-hub/config/${configName}/export`\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/config/utils/tree-helpers.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { type BundleDataHubConfiguration } from '../config-api-slice.gen'\nimport { isUndefined, isNil, isArray } from 'lodash'\n\nexport const findConfigById = (\n  id: string,\n  items: BundleDataHubConfiguration[] | undefined | null\n): BundleDataHubConfiguration | null => {\n  if (isNil(items) || !Array.isArray(items)) {\n    return null\n  }\n\n  for (const item of items) {\n    if (!isNil(item.id) && String(item.id) === String(id)) return item\n    if (!isUndefined(item.children) && !isNil(item.children)) {\n      const found = findConfigById(id, item.children)\n      if (!isNil(found)) return found\n    }\n  }\n  return null\n}\n\nexport const findConfigInTree = (\n  items: BundleDataHubConfiguration[] | undefined | null,\n  predicate: (item: BundleDataHubConfiguration) => boolean\n): BundleDataHubConfiguration | undefined => {\n  if (isNil(items) || !Array.isArray(items)) {\n    return undefined\n  }\n\n  for (const item of items) {\n    if (predicate(item)) return item\n    if (!isUndefined(item.children)) {\n      const found = findConfigInTree(item.children, predicate)\n      if (!isUndefined(found)) return found\n    }\n  }\n  return undefined\n}\n\nexport const filterConfigsRecursive = (\n  items: BundleDataHubConfiguration[] | undefined | null,\n  searchValue: string\n): BundleDataHubConfiguration[] => {\n  if (!isArray(items)) {\n    return []\n  }\n\n  return items.reduce<BundleDataHubConfiguration[]>((acc, item) => {\n    const matchesSearch = item.text.toLowerCase().includes(searchValue.toLowerCase())\n    const filteredChildren = filterConfigsRecursive(item.children, searchValue)\n\n    if (matchesSearch || filteredChildren.length > 0) {\n      acc.push({\n        ...item,\n        children: filteredChildren.length > 0 ? filteredChildren : item.children\n      })\n    }\n\n    return acc\n  }, [])\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/backend-types.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\n// Backend configuration types\nexport interface BackendWorkspace {\n  cpath: string\n  create: boolean\n  read: boolean\n  update: boolean\n  delete: boolean\n}\n\nexport interface BackendPermission {\n  id?: number\n  name?: string\n  role?: string\n  user?: string\n  read?: boolean\n  update?: boolean\n  delete?: boolean\n}\n\nexport interface BackendSchemaEntity {\n  id: string\n  name: string\n  [key: string]: any\n}\n\nexport interface BackendSpecialEntity {\n  name: string\n  readAllowed: boolean\n  createAllowed: boolean\n  updateAllowed: boolean\n  deleteAllowed: boolean\n  readPossible?: boolean\n  createPossible?: boolean\n  updatePossible?: boolean\n  deletePossible?: boolean\n}\n\nexport interface BackendConfiguration {\n  general?: {\n    active: boolean\n    description: string\n    group: string\n    writeable?: boolean\n    [key: string]: any\n  }\n  security?: {\n    method: string\n    apikey: string | string[]\n    skipPermissionCheck: boolean\n    disableIntrospection: boolean\n    [key: string]: any\n  }\n  workspaces?: {\n    document?: BackendWorkspace[]\n    asset?: BackendWorkspace[]\n    object?: BackendWorkspace[]\n  }\n  permissions?: {\n    role?: BackendPermission[]\n    user?: BackendPermission[]\n  }\n  schema?: {\n    queryEntities?: Record<string, BackendSchemaEntity> | BackendSchemaEntity[]\n    mutationEntities?: Record<string, BackendSchemaEntity> | BackendSchemaEntity[]\n    specialEntities?: BackendSpecialEntity[]\n    [key: string]: any\n  }\n  [key: string]: any\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/graphql-detail-view.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { useEffect } from 'react'\nimport { IconTextButton } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { type DataHubAdapterDetailViewProps } from '../../config/dynamic-types/dynamic-type-data-hub-adapter-abstract'\nimport { BaseDetailView, type TabItem, ConfigToolbar, useDetailView } from '../../../components/base-detail-view'\nimport { GeneralTab } from './tabs/general-tab'\nimport { SchemaDefinitionTab } from './tabs/schema-definition-tab'\nimport { SecurityDefinitionTab } from './tabs/security-definition-tab'\nimport { PermissionsTab } from './tabs/permissions-tab'\nimport { useBundleDataHubGraphqlExplorerUrlQuery } from '../graphql-api-slice-enhanced'\nimport { useBundleDataHubConfigGetQuery, useBundleDataHubConfigUpdateMutation } from '../../config/config-api-slice-enhanced'\nimport { isEmpty, isNil } from 'lodash'\nimport { type GraphQLFormValues } from './types'\nimport { transformFormToBackend, transformBackendToForm } from '../utils/transformers'\nimport { type BackendConfiguration } from './backend-types'\nimport { ApiError, trackError } from '@pimcore/studio-ui-bundle/modules/app'\n\nexport const GraphQLDetailView = ({ configName, onChange, onDelete }: DataHubAdapterDetailViewProps): React.JSX.Element => {\n  const { t } = useTranslation()\n\n  // API hooks\n  const { data: configData, error: fetchError, isLoading, isFetching, refetch, requestId } = useBundleDataHubConfigGetQuery(\n    { name: configName },\n    { refetchOnMountOrArgChange: true }\n  )\n  const { data: explorerUrlData } = useBundleDataHubGraphqlExplorerUrlQuery({ name: configName })\n  const [updateConfig, { error: updateError, isLoading: isSaving }] = useBundleDataHubConfigUpdateMutation()\n\n  // Error tracking\n  useEffect(() => {\n    if (!isNil(fetchError)) {\n      trackError(new ApiError(fetchError))\n    }\n  }, [fetchError])\n\n  useEffect(() => {\n    if (!isNil(updateError)) {\n      trackError(new ApiError(updateError))\n    }\n  }, [updateError])\n\n  const loading = isLoading || isFetching\n  const backendConfig = (configData?.configuration ?? {}) as BackendConfiguration\n  const isWriteable = backendConfig?.general?.writeable ?? true\n\n  const handleSaveToApi = async (updatedConfig: BackendConfiguration, modificationDate: number): Promise<{ modificationDate?: number }> => {\n    const response = await updateConfig({\n      name: configName,\n      bundleDataHubUpdateConfiguration: {\n        data: JSON.stringify(updatedConfig),\n        modificationDate\n      }\n    }).unwrap()\n\n    return { modificationDate: response?.modificationDate }\n  }\n\n  // Shared form state management\n  const { form, isDirty, initialValues, handleSave, handleValuesChange } = useDetailView<GraphQLFormValues, BackendConfiguration>({\n    configName,\n    configData: backendConfig,\n    modificationDate: configData?.modificationDate,\n    isLoading: loading,\n    requestId,\n    transformToForm: transformBackendToForm,\n    transformToBackend: transformFormToBackend,\n    onSave: handleSaveToApi,\n    onChange\n  })\n\n  const handleOpenInTab = (): void => {\n    if (explorerUrlData !== undefined && !isEmpty(explorerUrlData.explorerUrl)) {\n      let explorerUrl = explorerUrlData.explorerUrl\n      const securityMethod = form.getFieldValue(['security', 'method']) as string | undefined\n      if (securityMethod === 'datahub_apikey') {\n        const apikey = form.getFieldValue(['security', 'apikey']) as string | undefined\n        if (!isNil(apikey) && !isEmpty(apikey)) {\n          const firstKey = apikey.split('\\n')[0]\n          if (!isEmpty(firstKey)) {\n            explorerUrl = `${explorerUrl}?apikey=${firstKey}`\n          }\n        }\n      }\n      window.open(explorerUrl, '_blank')\n    }\n  }\n\n  const tabs: TabItem[] = [\n    {\n      key: 'general',\n      label: t('data-hub.tabs.general'),\n      children: <GeneralTab adapterTypeLabel={ t('data-hub.adapter.graphql') } />\n    },\n    {\n      key: 'schema',\n      label: t('data-hub.tabs.schema-definition'),\n      children: <SchemaDefinitionTab isWriteable={ isWriteable } />\n    },\n    {\n      key: 'security',\n      label: t('data-hub.tabs.security-definition'),\n      children: <SecurityDefinitionTab isWriteable={ isWriteable } />\n    },\n    {\n      key: 'permissions',\n      label: t('data-hub.tabs.permissions'),\n      children: <PermissionsTab isWriteable={ isWriteable } />\n    }\n  ]\n\n  const toolbar = (\n    <ConfigToolbar\n      additionalButtons={ [\n        <IconTextButton\n          disabled={ false }\n          icon={ { value: 'graphql', colorToken: 'colorCodingViolet4' } }\n          key=\"open-in-tab\"\n          onClick={ handleOpenInTab }\n        >\n          {t('data-hub.open-in-tab')}\n        </IconTextButton>\n      ] }\n      configName={ configName }\n      isDirty={ isDirty }\n      isLoading={ loading }\n      isSaving={ isSaving }\n      isWriteable={ isWriteable }\n      onDelete={ onDelete }\n      onRefresh={ refetch }\n      onSave={ handleSave }\n    />\n  )\n\n  return (\n    <BaseDetailView\n      disabled={ !isWriteable }\n      form={ form }\n      initialValues={ initialValues }\n      isLoading={ loading }\n      onValuesChange={ handleValuesChange }\n      requestId={ requestId ?? '' }\n      tabs={ tabs }\n      toolbar={ toolbar }\n    />\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/inline-dropdown-panel/inline-dropdown-panel.styles.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { createStyles } from 'antd-style'\n\nexport const useStyles = createStyles(({ token, css }) => {\n  return {\n    panel: css`\n      position: absolute;\n      z-index: ${token.zIndexPopupBase};\n      min-width: 400px;\n      background-color: ${token.colorBgContainer};\n      padding: ${token.padding}px;\n      box-shadow: ${token.boxShadowSecondary};\n      border-radius: ${token.borderRadius}px;\n    `\n  }\n})\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/inline-dropdown-panel/inline-dropdown-panel.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { useStyles } from './inline-dropdown-panel.styles'\n\ninterface InlineDropdownPanelProps {\n  children: React.ReactNode\n}\n\nexport const InlineDropdownPanel = ({ children }: InlineDropdownPanelProps): React.JSX.Element => {\n  const { styles } = useStyles()\n\n  return (\n    <div className={ styles.panel }>\n      {children}\n    </div>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/general-tab.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { Form, Input, Switch, TextArea, FormKit } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\n\nexport interface GeneralTabProps {\n  adapterTypeLabel?: string\n}\n\nexport const GeneralTab = ({ adapterTypeLabel }: GeneralTabProps = {}): React.JSX.Element => {\n  const { t } = useTranslation()\n  const typeLabel = adapterTypeLabel ?? t('data-hub.adapter.graphql')\n\n  return (\n    <FormKit.Panel contentPadding=\"extra-small\">\n      <Form.Item\n        name=\"active\"\n        valuePropName=\"checked\"\n      >\n        <Switch labelRight={ t('data-hub.config.active') } />\n      </Form.Item>\n\n      <Form.Item label={ t('data-hub.config.type') }>\n        <Input\n          disabled\n          value={ typeLabel }\n        />\n      </Form.Item>\n\n      <Form.Item\n        label={ t('data-hub.config.name') }\n        name=\"name\"\n      >\n        <Input disabled />\n      </Form.Item>\n\n      <Form.Item\n        label={ t('data-hub.config.description') }\n        name=\"description\"\n      >\n        <TextArea rows={ 4 } />\n      </Form.Item>\n\n      <Form.Item\n        label={ t('data-hub.config.group') }\n        name=\"group\"\n      >\n        <Input />\n      </Form.Item>\n    </FormKit.Panel>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/permissions-tab/permission-accordion.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { useState, useMemo } from 'react'\nimport { Flex, IconTextButton, Select, Button, Icon, OperationalGrid, Accordion } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { isNil } from 'lodash'\nimport { type Permission } from './types'\nimport { type AccordionItemType } from '@pimcore/studio-ui-bundle/components'\nimport { InlineDropdownPanel } from '../../inline-dropdown-panel/inline-dropdown-panel'\nimport { useBundleDataHubUsersCollectionQuery } from '../../../../config/users-api-slice.gen'\n\ninterface PermissionAccordionProps {\n  type: 'roles' | 'users'\n  value?: Permission[]\n  onChange?: (value: Permission[]) => void\n}\n\nexport const PermissionAccordion = ({\n  type,\n  value = [],\n  onChange\n}: PermissionAccordionProps): React.JSX.Element => {\n  const { t } = useTranslation()\n  const [openDropdown, setOpenDropdown] = useState(false)\n  const [selectedItems, setSelectedItems] = useState<number[]>([])\n\n  const isRoles = type === 'roles'\n  const { data: roleList } = useBundleDataHubUsersCollectionQuery({ type: 'role' }, { skip: !isRoles, refetchOnMountOrArgChange: true })\n  const { data: userList } = useBundleDataHubUsersCollectionQuery({ type: 'user' }, { skip: isRoles, refetchOnMountOrArgChange: true })\n\n  const items = isRoles ? roleList?.items : userList?.items\n\n  const currentNames = useMemo(() => value.map((p: Permission) => p.name), [value])\n\n  const options = useMemo(() => {\n    return items\n      ?.filter((item) => {\n        const name: string = item.text\n        return !currentNames.includes(name)\n      })\n      .map((item) => ({\n        value: item.id,\n        label: (\n          <Flex\n            align=\"center\"\n            gap=\"mini\"\n          >\n            <Icon value={ isRoles ? 'shield' : 'user' } />\n            {item.text}\n          </Flex>\n        ),\n        searchValue: item.text\n      })) ?? []\n  }, [items, currentNames, isRoles])\n\n  const createPermission = (id: number): Permission | undefined => {\n    const item = items?.find(i => i.id === id)\n    if (isNil(item)) return undefined\n\n    const existingPermission = value.find((p: Permission) => p.name === item.text)\n    if (!isNil(existingPermission)) return undefined\n\n    return {\n      id: item.id,\n      name: item.text,\n      read: true,\n      update: false,\n      delete: false\n    }\n  }\n\n  const handleOpen = (): void => {\n    setSelectedItems([])\n    setOpenDropdown(true)\n  }\n\n  const handleCancel = (): void => {\n    setSelectedItems([])\n    setOpenDropdown(false)\n  }\n\n  const handleApply = (): void => {\n    if (selectedItems.length > 0) {\n      const newPermissions = selectedItems\n        .map(id => createPermission(id))\n        .filter((p): p is Permission => !isNil(p))\n\n      if (!isNil(onChange) && newPermissions.length > 0) {\n        onChange([...value, ...newPermissions])\n      }\n    }\n    setSelectedItems([])\n    setOpenDropdown(false)\n  }\n\n  const accordionItem: AccordionItemType = useMemo(() => ({\n    key: type,\n    id: type,\n    title: <>{t(isRoles ? 'data-hub.permissions.role-permissions' : 'data-hub.permissions.user-permissions')}</>,\n    info: (\n      <>\n        <IconTextButton\n          icon={ { value: 'plus-circle' } }\n          onClick={ (e) => {\n            e.stopPropagation()\n            handleOpen()\n          } }\n        >\n          {t('add')}\n        </IconTextButton>\n        {openDropdown && (\n          <InlineDropdownPanel>\n            <Select\n              listHeight={ 150 }\n              mode=\"multiple\"\n              onChange={ (values) => { setSelectedItems(values as number[]) } }\n              optionFilterProp=\"searchValue\"\n              options={ options }\n              placeholder={ t(isRoles ? 'data-hub.permissions.role' : 'data-hub.permissions.user') }\n              placement=\"topLeft\"\n              showSearch\n              style={ { width: '400px' } }\n              value={ selectedItems }\n            />\n            <Flex\n              gap=\"small\"\n              justify=\"flex-end\"\n              style={ { marginTop: '12px' } }\n            >\n              <Button\n                onClick={ handleCancel }\n                type=\"default\"\n              >\n                {t('button.cancel')}\n              </Button>\n              <Button\n                onClick={ handleApply }\n                type=\"primary\"\n              >\n                {t('button.apply')}\n              </Button>\n            </Flex>\n          </InlineDropdownPanel>\n        )}\n      </>\n    ),\n    children: (\n      <OperationalGrid.Grid />\n    )\n  }), [type, openDropdown, options, selectedItems])\n\n  return (\n    <Accordion\n      activeKey={ type }\n      bordered\n      collapsible=\"icon\"\n      items={ [accordionItem] }\n      size=\"small\"\n      table\n    />\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/permissions-tab/permission-grid.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { useMemo } from 'react'\nimport { Flex, OperationalGrid, IconButton } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { createColumnHelper } from '@tanstack/react-table'\nimport { PermissionAccordion } from './permission-accordion'\nimport { isNil } from 'lodash'\nimport { type Permission } from './types'\n\ninterface PermissionGridProps {\n  type: 'roles' | 'users'\n  value?: Permission[]\n  onChange?: (value: Permission[]) => void\n  isWriteable?: boolean\n}\n\nexport const PermissionGrid = ({ type, value = [], onChange, isWriteable = true }: PermissionGridProps): React.JSX.Element => {\n  const { t } = useTranslation()\n\n  const itemType = type === 'roles' ? 'role' : 'user'\n\n  const columns = useMemo(() => {\n    const columnHelper = createColumnHelper<Permission>()\n\n    return [\n      columnHelper.accessor('name', {\n        header: itemType === 'role' ? t('data-hub.permissions.role') : t('data-hub.permissions.user'),\n        size: 300,\n        meta: {\n          editable: false,\n          autoWidth: true\n        }\n      }),\n      columnHelper.accessor('read', {\n        header: t('data-hub.permissions.read'),\n        size: 80,\n        meta: {\n          type: 'checkbox',\n          editable: isWriteable,\n          config: {\n            align: 'center',\n            disabled: !isWriteable\n          }\n        }\n      }),\n      columnHelper.accessor('update', {\n        header: t('data-hub.permissions.update'),\n        size: 80,\n        meta: {\n          type: 'checkbox',\n          editable: isWriteable,\n          config: {\n            align: 'center',\n            disabled: !isWriteable\n          }\n        }\n      }),\n      columnHelper.accessor('delete', {\n        header: t('data-hub.permissions.delete'),\n        size: 80,\n        meta: {\n          type: 'checkbox',\n          editable: isWriteable,\n          config: {\n            align: 'center',\n            disabled: !isWriteable\n          }\n        }\n      }),\n      {\n        id: 'actions',\n        header: '',\n        size: 60,\n        cell: (info: { row: { index: number } }) => (\n          <Flex\n            align=\"center\"\n            justify=\"center\"\n          >\n            <IconButton\n              icon={ { value: 'trash' } }\n              onClick={ () => {\n                const newData = [...value]\n                newData.splice(info.row.index, 1)\n                if (!isNil(onChange)) {\n                  onChange(newData)\n                }\n              } }\n              type=\"link\"\n            />\n          </Flex>\n        ),\n        enableResizing: false,\n        enableSorting: false\n      }\n    ]\n  }, [itemType, t, value, onChange, isWriteable])\n\n  return (\n    <OperationalGrid\n      autoWidth\n      columns={ columns }\n      onChange={ onChange }\n      value={ value }\n    >\n      <OperationalGrid.Operations>\n        {() => (\n          <PermissionAccordion\n            onChange={ onChange }\n            type={ type }\n            value={ value }\n          />\n        )}\n      </OperationalGrid.Operations>\n    </OperationalGrid>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/permissions-tab/types.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nexport interface Permission {\n  id?: number\n  name: string\n  read: boolean\n  update: boolean\n  delete: boolean\n}\n\nexport interface RoleItem {\n  id: number\n  name: string\n}\n\nexport interface UserItem {\n  id: number\n  username: string\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/permissions-tab.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { Form, Flex, FormKit } from '@pimcore/studio-ui-bundle/components'\nimport { PermissionGrid } from './permissions-tab/permission-grid'\nimport { FieldWidthContainer } from '../../../config/components/field-width-container'\n\ninterface PermissionsTabProps {\n  isWriteable?: boolean\n}\n\nexport const PermissionsTab = ({ isWriteable = true }: PermissionsTabProps): React.JSX.Element => {\n  return (\n    <FormKit.Panel contentPadding=\"extra-small\">\n      <FieldWidthContainer>\n        <Flex\n          gap=\"small\"\n          vertical\n        >\n          <Form.Item\n            name={ ['permissions', 'roles'] }\n            noStyle\n          >\n            <PermissionGrid\n              isWriteable={ isWriteable }\n              type=\"roles\"\n            />\n          </Form.Item>\n          <Form.Item\n            name={ ['permissions', 'users'] }\n            noStyle\n          >\n            <PermissionGrid\n              isWriteable={ isWriteable }\n              type=\"users\"\n            />\n          </Form.Item>\n        </Flex>\n      </FieldWidthContainer>\n    </FormKit.Panel>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/generic-types-grid.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { useMemo } from 'react'\nimport { Flex, OperationalGrid, Accordion, type AccordionItemType } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { createColumnHelper } from '@tanstack/react-table'\nimport { type GenericType } from './types'\n\ninterface GenericTypesGridProps {\n  value?: GenericType[]\n  onChange?: (value: GenericType[]) => void\n  isWriteable?: boolean\n}\n\nexport const GenericTypesGrid = ({ value = [], onChange, isWriteable = true }: GenericTypesGridProps): React.JSX.Element => {\n  const { t } = useTranslation()\n\n  const columns = useMemo(() => {\n    const columnHelper = createColumnHelper<GenericType>()\n\n    return [\n      columnHelper.accessor('name', {\n        header: '',\n        size: 200,\n        meta: {\n          autoWidth: true\n        },\n        cell: (info) => {\n          const entityName = info.getValue()\n          return (\n            <Flex\n              align=\"center\"\n              style={ { paddingLeft: '12px' } }\n            >\n              {t(`data-hub.schema.special.${entityName}`)}\n            </Flex>\n          )\n        }\n      }),\n      columnHelper.accessor('create', {\n        header: t('data-hub.workspaces.create'),\n        size: 80,\n        meta: {\n          type: 'checkbox',\n          editable: (row: GenericType) => isWriteable && row.createPossible,\n          tooltip: (row: GenericType) => !isWriteable ? null : (row.createPossible ? null : t('data-hub.schema.operation-not-implemented')),\n          config: {\n            align: 'center',\n            disabled: (row: GenericType) => !isWriteable || !row.createPossible\n          }\n        }\n      }),\n      columnHelper.accessor('read', {\n        header: t('data-hub.workspaces.read'),\n        size: 80,\n        meta: {\n          type: 'checkbox',\n          editable: (row: GenericType) => isWriteable && row.readPossible,\n          tooltip: (row: GenericType) => !isWriteable ? null : (row.readPossible ? null : t('data-hub.schema.operation-not-implemented')),\n          config: {\n            align: 'center',\n            disabled: (row: GenericType) => !isWriteable || !row.readPossible\n          }\n        }\n      }),\n      columnHelper.accessor('update', {\n        header: t('data-hub.workspaces.update'),\n        size: 80,\n        meta: {\n          type: 'checkbox',\n          editable: (row: GenericType) => isWriteable && row.updatePossible,\n          tooltip: (row: GenericType) => !isWriteable ? null : (row.updatePossible ? null : t('data-hub.schema.operation-not-implemented')),\n          config: {\n            align: 'center',\n            disabled: (row: GenericType) => !isWriteable || !row.updatePossible\n          }\n        }\n      }),\n      columnHelper.accessor('delete', {\n        header: t('data-hub.workspaces.delete'),\n        size: 80,\n        meta: {\n          type: 'checkbox',\n          editable: (row: GenericType) => isWriteable && row.deletePossible,\n          tooltip: (row: GenericType) => !isWriteable ? null : (row.deletePossible ? null : t('data-hub.schema.operation-not-implemented')),\n          config: {\n            align: 'center',\n            disabled: (row: GenericType) => !isWriteable || !row.deletePossible\n          }\n        }\n      })\n    ]\n  }, [t, isWriteable])\n\n  const accordionItem: AccordionItemType = useMemo(() => ({\n    key: 'genericTypes',\n    id: 'genericTypes',\n    title: <>{t('data-hub.schema.generic-types')}</>,\n    children: (\n      <OperationalGrid.Grid />\n    )\n  }), [t])\n\n  return (\n    <OperationalGrid\n      autoWidth\n      columns={ columns }\n      onChange={ onChange }\n      value={ value }\n    >\n      <OperationalGrid.Operations>\n        {() => (\n          <Accordion\n            activeKey=\"genericTypes\"\n            bordered\n            collapsible=\"icon\"\n            items={ [accordionItem] }\n            size=\"small\"\n            table\n          />\n        )}\n      </OperationalGrid.Operations>\n    </OperationalGrid>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/mutation-grid.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { useMemo, useState } from 'react'\nimport { Flex, OperationalGrid, IconButton } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { createColumnHelper } from '@tanstack/react-table'\nimport { SchemaAccordion } from './schema-accordion'\nimport { isNil } from 'lodash'\nimport { type MutationEntity } from './types'\nimport { SchemaFieldsModal } from './schema-fields-modal/schema-fields-modal'\nimport { bundleServiceIds } from '../../../../../config/service-ids'\n\ninterface MutationGridProps {\n  value?: MutationEntity[]\n  onChange?: (value: MutationEntity[]) => void\n  isWriteable?: boolean\n}\n\nexport const MutationGrid = ({ value = [], onChange, isWriteable = true }: MutationGridProps): React.JSX.Element => {\n  const { t } = useTranslation()\n  const [modalOpen, setModalOpen] = useState(false)\n  const [selectedEntity, setSelectedEntity] = useState<MutationEntity | null>(null)\n\n  const columns = useMemo(() => {\n    const columnHelper = createColumnHelper<MutationEntity>()\n\n    return [\n      columnHelper.accessor('entity', {\n        header: t('data-hub.schema.entity'),\n        size: 200,\n        meta: {\n          type: 'input-text',\n          editable: isWriteable,\n          autoWidth: true\n        }\n      }),\n      columnHelper.accessor('create', {\n        header: t('data-hub.workspaces.create'),\n        size: 80,\n        meta: {\n          type: 'checkbox',\n          editable: isWriteable,\n          config: {\n            align: 'center',\n            disabled: !isWriteable\n          }\n        }\n      }),\n      columnHelper.accessor('update', {\n        header: t('data-hub.workspaces.update'),\n        size: 80,\n        meta: {\n          type: 'checkbox',\n          editable: isWriteable,\n          config: {\n            align: 'center',\n            disabled: !isWriteable\n          }\n        }\n      }),\n      columnHelper.accessor('delete', {\n        header: t('data-hub.workspaces.delete'),\n        size: 80,\n        meta: {\n          type: 'checkbox',\n          editable: isWriteable,\n          config: {\n            align: 'center',\n            disabled: !isWriteable\n          }\n        }\n      }),\n      {\n        id: 'settings',\n        header: t('data-hub.schema.settings'),\n        size: 100,\n        cell: (info) => {\n          return (\n            <Flex\n              align=\"center\"\n              justify=\"center\"\n            >\n              <IconButton\n                disabled={ false }\n                icon={ { value: 'settings' } }\n                onClick={ () => {\n                  setSelectedEntity(value[info.row.index])\n                  setModalOpen(true)\n                } }\n                type=\"link\"\n              />\n            </Flex>\n          )\n        }\n      },\n      {\n        id: 'actions',\n        header: '',\n        size: 60,\n        cell: (info: { row: { index: number } }) => (\n          <Flex\n            align=\"center\"\n            justify=\"center\"\n          >\n            <IconButton\n              icon={ { value: 'trash' } }\n              onClick={ () => {\n                const newData = [...value]\n                newData.splice(info.row.index, 1)\n                if (!isNil(onChange)) {\n                  onChange(newData)\n                }\n              } }\n              type=\"link\"\n            />\n          </Flex>\n        )\n      }\n    ]\n  }, [value, onChange, t, isWriteable])\n\n  return (\n    <>\n      <OperationalGrid\n        autoWidth\n        columns={ columns }\n        onChange={ onChange }\n        value={ value }\n      >\n        <OperationalGrid.Operations>\n          {() => (\n            <SchemaAccordion\n              onChange={ onChange }\n              type=\"mutation\"\n              value={ value }\n            />\n          )}\n        </OperationalGrid.Operations>\n      </OperationalGrid>\n\n      {modalOpen && !isNil(selectedEntity) && (\n        <SchemaFieldsModal\n          className={ selectedEntity.entity }\n          disabled={ !isWriteable }\n          onApply={ () => { setModalOpen(false) } }\n          onCancel={ () => { setModalOpen(false) } }\n          open={ modalOpen }\n          operatorRegistryServiceId={ bundleServiceIds['DataHub/DynamicTypes/Operator/GraphQL/MutationRegistry'] }\n          type=\"mutation\"\n        />\n      )}\n    </>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/query-grid.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { useMemo, useState } from 'react'\nimport { Flex, OperationalGrid, IconButton } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { createColumnHelper } from '@tanstack/react-table'\nimport { SchemaAccordion } from './schema-accordion'\nimport { isNil } from 'lodash'\nimport { type QueryEntity } from './types'\nimport { SchemaFieldsModal } from './schema-fields-modal/schema-fields-modal'\nimport { bundleServiceIds } from '../../../../../config/service-ids'\n\ninterface QueryGridProps {\n  value?: QueryEntity[]\n  onChange?: (value: QueryEntity[]) => void\n  isWriteable?: boolean\n}\n\nexport const QueryGrid = ({ value = [], onChange, isWriteable = true }: QueryGridProps): React.JSX.Element => {\n  const { t } = useTranslation()\n  const [modalOpen, setModalOpen] = useState(false)\n  const [selectedEntity, setSelectedEntity] = useState<QueryEntity | null>(null)\n\n  const columns = useMemo(() => {\n    const columnHelper = createColumnHelper<QueryEntity>()\n\n    return [\n      columnHelper.accessor('entity', {\n        header: t('data-hub.schema.entity'),\n        size: 300,\n        meta: {\n          type: 'input-text',\n          editable: isWriteable,\n          autoWidth: true\n        }\n      }),\n      {\n        id: 'settings',\n        header: t('data-hub.schema.settings'),\n        size: 100,\n        cell: (info) => {\n          return (\n            <Flex\n              align=\"center\"\n              justify=\"center\"\n            >\n              <IconButton\n                disabled={ false }\n                icon={ { value: 'settings' } }\n                onClick={ () => {\n                  setSelectedEntity(value[info.row.index])\n                  setModalOpen(true)\n                } }\n                type=\"link\"\n              />\n            </Flex>\n          )\n        }\n      },\n      {\n        id: 'actions',\n        header: '',\n        size: 60,\n        cell: (info: { row: { index: number } }) => (\n          <Flex\n            align=\"center\"\n            justify=\"center\"\n          >\n            <IconButton\n              icon={ { value: 'trash' } }\n              onClick={ () => {\n                const newData = [...value]\n                newData.splice(info.row.index, 1)\n                if (!isNil(onChange)) {\n                  onChange(newData)\n                }\n              } }\n              type=\"link\"\n            />\n          </Flex>\n        )\n      }\n    ]\n  }, [t, value, onChange, isWriteable])\n\n  return (\n    <>\n      <OperationalGrid\n        autoWidth\n        columns={ columns }\n        onChange={ onChange }\n        value={ value }\n      >\n        <OperationalGrid.Operations>\n          {() => (\n            <SchemaAccordion\n              onChange={ onChange }\n              type=\"query\"\n              value={ value }\n            />\n          )}\n        </OperationalGrid.Operations>\n      </OperationalGrid>\n\n      {modalOpen && (\n        <SchemaFieldsModal\n          className={ selectedEntity?.entity ?? '' }\n          disabled={ !isWriteable }\n          onApply={ () => { setModalOpen(false) } }\n          onCancel={ () => { setModalOpen(false) } }\n          open={ modalOpen }\n          operatorRegistryServiceId={ bundleServiceIds['DataHub/DynamicTypes/Operator/GraphQL/QueryRegistry'] }\n        />\n      )}\n    </>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/schema-accordion.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { useState, useMemo } from 'react'\nimport { IconTextButton, Select, Button, Flex, OperationalGrid, Accordion, type AccordionItemType } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { isNil } from 'lodash'\nimport { type QueryEntity, type MutationEntity } from './types'\nimport { useClassDefinitions } from '@pimcore/studio-ui-bundle/modules/data-object'\nimport { InlineDropdownPanel } from '../../inline-dropdown-panel/inline-dropdown-panel'\n\ninterface SchemaAccordionProps {\n  type: 'query' | 'mutation'\n  value?: QueryEntity[] | MutationEntity[]\n  onChange?: (value: QueryEntity[] | MutationEntity[]) => void\n}\n\nexport const SchemaAccordion = ({\n  type,\n  value = [],\n  onChange\n}: SchemaAccordionProps): React.JSX.Element => {\n  const { t } = useTranslation()\n  const [openDropdown, setOpenDropdown] = useState(false)\n  const [selectedClasses, setSelectedClasses] = useState<string[]>([])\n\n  const { getAllClassDefinitions } = useClassDefinitions()\n  const availableClasses = useMemo(() => {\n    return getAllClassDefinitions()\n  }, [getAllClassDefinitions])\n\n  const currentEntityNames = useMemo(() => {\n    return value.map((entity) => entity.entity)\n  }, [value])\n\n  const options = useMemo(() => {\n    return availableClasses\n      .filter(cls => !currentEntityNames.includes(cls.name as string))\n      .map(cls => ({\n        value: cls.name,\n        label: cls.name,\n        searchValue: cls.name\n      }))\n  }, [availableClasses, currentEntityNames])\n\n  const handleOpen = (): void => {\n    setSelectedClasses([])\n    setOpenDropdown(true)\n  }\n\n  const handleCancel = (): void => {\n    setSelectedClasses([])\n    setOpenDropdown(false)\n  }\n\n  const handleApply = (): void => {\n    if (selectedClasses.length > 0 && !isNil(onChange)) {\n      const newEntities = selectedClasses.map(className => {\n        if (type === 'query') {\n          return {\n            id: className,\n            entity: className\n          }\n        } else {\n          return {\n            id: className,\n            entity: className,\n            create: false,\n            update: true,\n            delete: false\n          }\n        }\n      })\n      onChange([...value, ...newEntities])\n    }\n    setSelectedClasses([])\n    setOpenDropdown(false)\n  }\n\n  const accordionItem: AccordionItemType = useMemo(() => ({\n    key: type,\n    id: type,\n    title: <>{t(`data-hub.schema.${type}-schema`)}</>,\n    info: (\n      <>\n        <IconTextButton\n          icon={ { value: 'add-find' } }\n          onClick={ (e) => {\n            e.stopPropagation()\n            handleOpen()\n          } }\n        >\n          {t('add')}\n        </IconTextButton>\n        {openDropdown && (\n          <InlineDropdownPanel>\n            <Select\n              listHeight={ 150 }\n              mode=\"multiple\"\n              onChange={ (values) => { setSelectedClasses(values as string[]) } }\n              optionFilterProp=\"searchValue\"\n              options={ options }\n              placeholder={ t('data-hub.schema.select-class') }\n              placement=\"topLeft\"\n              showSearch\n              style={ { width: '400px' } }\n              value={ selectedClasses }\n            />\n            <Flex\n              gap=\"small\"\n              justify=\"flex-end\"\n              style={ { marginTop: '12px' } }\n            >\n              <Button\n                onClick={ handleCancel }\n                type=\"default\"\n              >\n                {t('button.cancel')}\n              </Button>\n              <Button\n                onClick={ handleApply }\n                type=\"primary\"\n              >\n                {t('button.apply')}\n              </Button>\n            </Flex>\n          </InlineDropdownPanel>\n        )}\n      </>\n    ),\n    children: (\n      <OperationalGrid.Grid />\n    )\n  }), [type, openDropdown, options, selectedClasses])\n\n  return (\n    <Accordion\n      activeKey={ type }\n      bordered\n      collapsible=\"icon\"\n      items={ [accordionItem] }\n      size=\"small\"\n      table\n    />\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/schema-fields-modal/available-fields-tree/available-fields-tree.styles.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { createStyles } from 'antd-style'\n\nexport const useStyles = createStyles(({ css, token }) => {\n  return {\n    treeContainer: css`\n      .ant-tree-title {\n        white-space: nowrap;\n      }\n      \n      .ant-tree-list-holder-inner .ant-tree-treenode {\n        padding: 1px ${token.paddingXS}px;\n      }\n    `\n  }\n})\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/schema-fields-modal/available-fields-tree/available-fields-tree.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { useMemo, useState, useCallback, useRef, useEffect } from 'react'\nimport { TreeElement } from '@pimcore/studio-ui-bundle/components'\nimport { type QueryEntityConfig, type PersistedColumnConfig } from '../types'\nimport { isNonEmptyString } from '@pimcore/studio-ui-bundle/utils'\nimport { isNil } from 'lodash'\nimport { TreeProvider, useTreeContext } from './hooks/use-tree-context'\nimport { type InternalTreeNode } from './tree-item/tree-item'\nimport { collectAllKeys } from './utils/tree-operations'\nimport { TreeNodeRenderer } from './tree-node-renderer'\nimport { EmptyTreeDropZone } from './empty-tree-drop-zone'\nimport { useStyles } from './available-fields-tree.styles'\nimport { useTreeNodes, type TreeNodeData } from './hooks/use-tree-nodes'\n\ninterface AvailableFieldsTreeProps {\n  entityConfig?: QueryEntityConfig\n  operatorRegistryServiceId: string\n  disabled?: boolean\n  onEntityConfigChange: (config: QueryEntityConfig) => void\n}\n\ninterface OperatorModalConfig {\n  itemData: InternalTreeNode\n  operatorId: string\n}\n\ninterface AvailableFieldsTreeInnerProps {\n  operatorModalConfig: OperatorModalConfig | null\n  disabled: boolean\n  setOperatorModalConfig: React.Dispatch<React.SetStateAction<OperatorModalConfig | null>>\n}\n\nconst AvailableFieldsTreeInner = ({\n  operatorModalConfig,\n  disabled,\n  setOperatorModalConfig\n}: AvailableFieldsTreeInnerProps): React.JSX.Element => {\n  const {\n    items,\n    operatorRegistry,\n    fieldDefinitionRegistry,\n    deleteByKey,\n    findPath,\n    getItem,\n    updateItemAttributes\n  } = useTreeContext()\n\n  const { styles } = useStyles()\n\n  const treeData = useTreeNodes({\n    items,\n    operatorRegistry,\n    fieldDefinitionRegistry,\n    disabled\n  })\n\n  const allKeys = useMemo(\n    () => collectAllKeys(items),\n    [items]\n  )\n\n  const [expandedKeys, setExpandedKeys] = useState<React.Key[]>([])\n  const prevAllKeysRef = useRef<string[]>([])\n\n  useEffect(() => {\n    const prevKeys = prevAllKeysRef.current\n    const currentKeys = allKeys.map(String)\n\n    if (prevKeys.length === 0 && currentKeys.length > 0) {\n      prevAllKeysRef.current = currentKeys\n      setExpandedKeys(currentKeys)\n      return\n    }\n\n    if (currentKeys.length > prevKeys.length) {\n      const newKeys = currentKeys.filter(k => !prevKeys.includes(k))\n      const keysToExpand = new Set(expandedKeys.map(String))\n\n      newKeys.forEach(newKey => {\n        const path = findPath(newKey)\n        if (path !== null && path.length > 1) {\n          const parentPath = path.slice(0, -1)\n          const parent = getItem(parentPath)\n          if (parent?.isOperator === true) {\n            keysToExpand.add(String(parent.key))\n          }\n        }\n      })\n\n      prevAllKeysRef.current = currentKeys\n      setExpandedKeys(Array.from(keysToExpand))\n      return\n    }\n\n    if (currentKeys.length < prevKeys.length) {\n      const validKeys = expandedKeys.filter(k => currentKeys.includes(String(k)))\n      prevAllKeysRef.current = currentKeys\n      setExpandedKeys(validKeys)\n      return\n    }\n\n    prevAllKeysRef.current = currentKeys\n  }, [allKeys, expandedKeys, findPath, getItem])\n\n  const handleExpand = useCallback((keys: React.Key[]): void => {\n    setExpandedKeys(keys)\n  }, [])\n\n  const handleModalApply = useCallback((updatedConfig: PersistedColumnConfig): void => {\n    if (isNil(operatorModalConfig)) return\n\n    updateItemAttributes(operatorModalConfig.itemData.key, updatedConfig.attributes)\n    setOperatorModalConfig(null)\n  }, [operatorModalConfig, updateItemAttributes, setOperatorModalConfig])\n\n  const handleModalCancel = useCallback((): void => {\n    setOperatorModalConfig(null)\n  }, [setOperatorModalConfig])\n\n  const handleActionsClick = useCallback((key: string, action: string): void => {\n    if (action === 'delete') {\n      if (disabled) return\n      deleteByKey(key)\n      return\n    }\n\n    if (action === 'edit' || action === 'view') {\n      const path = findPath(key)\n      if (path === null) return\n\n      const item = getItem(path)\n      if (!item?.isOperator) return\n      if (!isNonEmptyString(item.attributes.class)) return\n\n      setOperatorModalConfig({\n        itemData: item,\n        operatorId: item.attributes.class\n      })\n    }\n  }, [disabled, deleteByKey, findPath, getItem, setOperatorModalConfig])\n\n  const expandedKeysSet = useMemo(() => new Set(expandedKeys), [expandedKeys])\n\n  const titleRender = useCallback((node: TreeNodeData, initialComponent: React.ReactNode): React.JSX.Element => {\n    const isExpanded = expandedKeysSet.has(node.key)\n    const hasChildren = node.children !== undefined && node.children.length > 0\n    const hasExpandedChildren = isExpanded && hasChildren\n\n    return (\n      <TreeNodeRenderer\n        disabled={ disabled }\n        hasExpandedChildren={ hasExpandedChildren }\n        initialComponent={ initialComponent }\n        itemData={ node.itemData }\n      />\n    )\n  }, [expandedKeysSet, disabled])\n\n  return (\n    <>\n      {items.length === 0\n        ? (\n            disabled\n              ? <div style={ { padding: '16px', textAlign: 'center', color: '#999' } }>No fields configured</div>\n              : <EmptyTreeDropZone />\n          )\n        : (\n          <TreeElement\n            blockNode\n            className={ styles.treeContainer }\n            defaultExpandedKeys={ expandedKeys }\n            onActionsClick={ handleActionsClick }\n            onExpand={ handleExpand }\n            selectable={ false }\n            showIcon\n            titleRender={ titleRender }\n            treeData={ treeData }\n          />\n          )}\n\n      {!isNil(operatorModalConfig) && (() => {\n        const operatorType = operatorRegistry.getDynamicType(operatorModalConfig.operatorId, false)\n        if (isNil(operatorType)) return null\n\n        return operatorType.getConfigModal({\n          config: {\n            key: operatorModalConfig.itemData.key,\n            isOperator: true,\n            attributes: operatorModalConfig.itemData.attributes\n          },\n          operator: operatorType,\n          disabled,\n          onApply: handleModalApply,\n          onCancel: handleModalCancel\n        })\n      })()}\n    </>\n  )\n}\n\nexport const AvailableFieldsTree = ({\n  entityConfig,\n  operatorRegistryServiceId,\n  disabled = false,\n  onEntityConfigChange\n}: AvailableFieldsTreeProps): React.JSX.Element => {\n  const [operatorModalConfig, setOperatorModalConfig] = useState<OperatorModalConfig | null>(null)\n\n  const handleOperatorAdded = useCallback((item: InternalTreeNode): void => {\n    if (isNonEmptyString(item.attributes.class)) {\n      setOperatorModalConfig({\n        itemData: item,\n        operatorId: item.attributes.class\n      })\n    }\n  }, [])\n\n  return (\n    <TreeProvider\n      disabled={ disabled }\n      entityConfig={ entityConfig }\n      onEntityConfigChange={ onEntityConfigChange }\n      onOperatorAdded={ handleOperatorAdded }\n      operatorRegistryServiceId={ operatorRegistryServiceId }\n    >\n      <AvailableFieldsTreeInner\n        disabled={ disabled }\n        operatorModalConfig={ operatorModalConfig }\n        setOperatorModalConfig={ setOperatorModalConfig }\n      />\n    </TreeProvider>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/schema-fields-modal/available-fields-tree/empty-tree-drop-zone.styles.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { createStyles } from 'antd-style'\n\nexport const useStyles = createStyles(({ token, css }) => {\n  return {\n    dropZone: css`\n      padding: ${token.paddingSM}px ${token.paddingXS}px;\n      text-align: center;\n      color: ${token.colorTextTertiary};\n      border: 1px dashed ${token.colorBorder};\n      border-radius: ${token.borderRadius}px;\n      min-height: 100px;\n    `\n  }\n})\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/schema-fields-modal/available-fields-tree/empty-tree-drop-zone.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { forwardRef, useCallback } from 'react'\nimport { Droppable, useDroppable, Flex } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { useTreeContext, type DragInfo } from './hooks/use-tree-context'\nimport { useStyles } from './empty-tree-drop-zone.styles'\nimport cn from 'classnames'\n\nconst EmptyTreeDropContent = forwardRef<HTMLDivElement>(function EmptyTreeDropContent (props, ref): React.JSX.Element {\n  const { t } = useTranslation()\n  const { getStateClasses } = useDroppable()\n  const { styles } = useStyles()\n  const stateClasses = getStateClasses()\n\n  return (\n    <Flex\n      align=\"center\"\n      className={ cn(styles.dropZone, stateClasses.join(' ')) }\n      justify=\"center\"\n      ref={ ref }\n    >\n      {t('data-hub.schema.drag-class-attributes-or-operators')}\n    </Flex>\n  )\n})\n\nexport const EmptyTreeDropZone = (): React.JSX.Element => {\n  const {\n    isValidDragType,\n    canDropToRoot,\n    handleDropToRoot\n  } = useTreeContext()\n\n  const checkForValidContext = useCallback((info: DragInfo): boolean => {\n    return isValidDragType(info)\n  }, [isValidDragType])\n\n  const checkForValidData = useCallback((info: DragInfo): boolean => {\n    return canDropToRoot(info)\n  }, [canDropToRoot])\n\n  const onDrop = useCallback((info: DragInfo): void => {\n    handleDropToRoot(info)\n  }, [handleDropToRoot])\n\n  return (\n    <Droppable\n      isValidContext={ checkForValidContext }\n      isValidData={ checkForValidData }\n      onDrop={ onDrop }\n    >\n      <EmptyTreeDropContent />\n    </Droppable>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/schema-fields-modal/available-fields-tree/hooks/use-drop-validation.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { useCallback } from 'react'\nimport { get, isNil } from 'lodash'\nimport { type TreeNode, type PersistedColumnConfig } from '../../types'\nimport { type DynamicTypeOperatorRegistry } from '../../../../../../../operators/dynamic-type-operator-registry'\nimport { createSourceConfigFromDragInfo } from '../source-config-utils'\nimport { DragType, type DragInfo } from '../../drag-types'\n\ninterface UseDropValidationProps {\n  columns: PersistedColumnConfig[]\n  operatorRegistry: DynamicTypeOperatorRegistry\n}\n\ninterface UseDropValidationReturn {\n  isValidContext: (info: DragInfo, targetNodeKey: string) => boolean\n  isValidDropIntoOperator: (targetNode: TreeNode, dragInfo?: DragInfo) => boolean\n  isValidSiblingDrop: (targetNode: TreeNode, dragInfo?: DragInfo) => boolean\n}\n\nexport const useDropValidation = ({\n  columns,\n  operatorRegistry\n}: UseDropValidationProps): UseDropValidationReturn => {\n  const isValidContext = useCallback((info: DragInfo, targetNodeKey: string): boolean => {\n    if (info.type === DragType.TREE_ITEM && info.data?.key === targetNodeKey) {\n      return false\n    }\n    return true\n  }, [])\n\n  const getNodeConfig = useCallback((node: TreeNode): any => {\n    if (node.childIndex === undefined) {\n      const column = columns.find(col => col.key === node.columnConfig?.key)\n      return column\n    }\n\n    const parentColumn = columns.find(col => col.key === node.columnConfig?.key)\n    if (isNil(parentColumn) || !Array.isArray(parentColumn.attributes?.children)) {\n      return null\n    }\n\n    const findChildByKey = (children: any[], targetKey: string): any => {\n      for (const child of children) {\n        if (child.key === targetKey) {\n          return child\n        }\n        if (Array.isArray(child.attributes?.children)) {\n          const found = findChildByKey(child.attributes.children as any[], targetKey)\n          if (!isNil(found)) return found\n        }\n      }\n      return null\n    }\n\n    return findChildByKey(parentColumn.attributes.children, String(node.key))\n  }, [columns])\n\n  const isValidDropIntoOperator = useCallback((targetNode: TreeNode, dragInfo?: DragInfo): boolean => {\n    if (targetNode.isOperator !== true) {\n      return false\n    }\n\n    const operatorClass = isNil(targetNode.childIndex)\n      ? get(targetNode, 'columnConfig.attributes.class')\n      : get(\n          targetNode,\n          ['columnConfig', 'attributes', 'children', targetNode.childIndex, 'attributes', 'class']\n        )\n\n    const operatorType = operatorRegistry.getDynamicType(\n      String(operatorClass ?? ''),\n      false\n    )\n\n    if (isNil(operatorType)) {\n      return false\n    }\n\n    const allowsChildrenAtAll = operatorType.allowsChildren?.() ?? false\n    if (!allowsChildrenAtAll) {\n      return false\n    }\n\n    const currentConfig = getNodeConfig(targetNode)\n\n    if (!isNil(currentConfig)) {\n      const sourceConfig = createSourceConfigFromDragInfo(dragInfo)\n\n      const canAcceptChild = operatorType.allowChild?.(currentConfig as PersistedColumnConfig, sourceConfig) ?? true\n      if (!canAcceptChild) {\n        return false\n      }\n    }\n\n    return true\n  }, [operatorRegistry, getNodeConfig])\n\n  const isValidSiblingDrop = useCallback((targetNode: TreeNode, dragInfo?: DragInfo): boolean => {\n    if (targetNode.childIndex !== undefined && !isNil(targetNode.columnConfig)) {\n      const parentColumn = columns.find(col => col.key === targetNode.columnConfig?.key)\n\n      if (!isNil(parentColumn) && !isNil(parentColumn.attributes.class)) {\n        const operatorType = operatorRegistry.getDynamicType(parentColumn.attributes.class, false)\n\n        if (isNil(operatorType)) {\n          return false\n        }\n\n        if (!(operatorType.allowsChildren?.())) {\n          return false\n        }\n\n        if (dragInfo?.type === DragType.TREE_ITEM && dragInfo.data?.parentKey === parentColumn.key) {\n          return true\n        }\n\n        const sourceConfig = createSourceConfigFromDragInfo(dragInfo)\n\n        const canAcceptChild = operatorType.allowChild?.(parentColumn, sourceConfig) ?? true\n        return canAcceptChild\n      }\n    }\n\n    return true\n  }, [columns, operatorRegistry])\n\n  return {\n    isValidContext,\n    isValidDropIntoOperator,\n    isValidSiblingDrop\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/schema-fields-modal/available-fields-tree/hooks/use-tree-context.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { createContext, useContext, useMemo, useCallback } from 'react'\nimport { isNil } from 'lodash'\nimport { useInjection, serviceIds } from '@pimcore/studio-ui-bundle/app'\nimport { type DynamicTypeOperatorRegistry } from '../../../../../../../operators/dynamic-type-operator-registry'\nimport { type DynamicTypeFieldDefinitionRegistry } from '@pimcore/studio-ui-bundle/modules/field-definitions'\nimport { type QueryEntityConfig } from '../../types'\nimport { useTreeState } from './use-tree-state'\nimport { DragType, DropPosition, type DragInfo } from '../../drag-types'\nimport { type InternalTreeNode, type TreePath } from '../tree-item/tree-item'\nimport { createItemFromDragInfo } from '../utils/tree-conversion-utils'\n\nexport { type DragInfo } from '../../drag-types'\n\ninterface TreeContextValue {\n  items: InternalTreeNode[]\n  operatorRegistry: DynamicTypeOperatorRegistry\n  fieldDefinitionRegistry: DynamicTypeFieldDefinitionRegistry\n  findPath: (key: string) => TreePath | null\n  getItem: (path: TreePath) => InternalTreeNode | null\n  deleteByKey: (key: string) => void\n  insert: (item: InternalTreeNode, targetPath: TreePath, position: DropPosition) => void\n  move: (sourceKey: string, targetPath: TreePath, position: DropPosition) => void\n  updateItemAttributes: (key: string, attributes: Record<string, any>) => void\n  canDrop: (dragInfo: DragInfo, targetKey: string, position: DropPosition) => boolean\n  canDropToRoot: (dragInfo: DragInfo) => boolean\n  isValidDragType: (dragInfo: DragInfo) => boolean\n  handleDrop: (dragInfo: DragInfo, targetKey: string, position: DropPosition) => void\n  handleDropToRoot: (dragInfo: DragInfo) => void\n  onItemInserted?: (targetKey: string, position: DropPosition) => void\n}\n\nconst TreeContext = createContext<TreeContextValue | null>(null)\n\nexport const useTreeContext = (): TreeContextValue => {\n  const context = useContext(TreeContext)\n  if (context === null) {\n    throw new Error('useTreeContext must be used within a TreeProvider')\n  }\n  return context\n}\n\ninterface TreeProviderProps {\n  children: React.ReactNode\n  entityConfig?: QueryEntityConfig\n  operatorRegistryServiceId: string\n  disabled?: boolean\n  onEntityConfigChange: (config: QueryEntityConfig) => void\n  onOperatorAdded?: (item: InternalTreeNode) => void\n}\n\nexport const TreeProvider = ({\n  children,\n  entityConfig,\n  operatorRegistryServiceId,\n  disabled = false,\n  onEntityConfigChange,\n  onOperatorAdded\n}: TreeProviderProps): React.JSX.Element => {\n  const operatorRegistry = useInjection<DynamicTypeOperatorRegistry>(operatorRegistryServiceId)\n  const fieldDefinitionRegistry = useInjection<DynamicTypeFieldDefinitionRegistry>(\n    serviceIds['DynamicTypes/FieldDefinitionRegistry']\n  )\n\n  const {\n    items,\n    findPath,\n    getItem,\n    deleteByKey,\n    insert,\n    appendToRoot,\n    updateItemAttributes,\n    move,\n    canDrop,\n    canDropToRoot\n  } = useTreeState({\n    entityConfig,\n    onEntityConfigChange,\n    operatorRegistry\n  })\n\n  const isValidDragType = useCallback((dragInfo: DragInfo): boolean => {\n    return dragInfo.type === DragType.CLASS_ATTRIBUTE ||\n           dragInfo.type === DragType.OPERATOR ||\n           dragInfo.type === DragType.TREE_ITEM\n  }, [])\n\n  const handleDrop = useCallback((\n    dragInfo: DragInfo,\n    targetKey: string,\n    position: DropPosition\n  ): void => {\n    const targetPath = findPath(targetKey)\n    if (isNil(targetPath)) {\n      console.warn('handleDrop: Target not found', targetKey)\n      return\n    }\n\n    if (dragInfo.type === DragType.TREE_ITEM && !isNil(dragInfo.data.key)) {\n      move(String(dragInfo.data.key), targetPath, position)\n      return\n    }\n\n    const newItem = createItemFromDragInfo(dragInfo)\n    if (!isNil(newItem)) {\n      insert(newItem, targetPath, position)\n      if (newItem.isOperator) {\n        onOperatorAdded?.(newItem)\n      }\n    }\n  }, [findPath, move, insert, onOperatorAdded])\n\n  const handleDropToRoot = useCallback((dragInfo: DragInfo): void => {\n    if (dragInfo.type === DragType.TREE_ITEM && !isNil(dragInfo.data.key)) {\n      const sourcePath = findPath(String(dragInfo.data.key))\n      if (!isNil(sourcePath) && sourcePath.length === 1) {\n        return\n      }\n      move(String(dragInfo.data.key), [items.length], DropPosition.BEFORE)\n      return\n    }\n\n    const newItem = createItemFromDragInfo(dragInfo)\n    if (!isNil(newItem)) {\n      appendToRoot(newItem)\n      if (newItem.isOperator) {\n        onOperatorAdded?.(newItem)\n      }\n    }\n  }, [items, findPath, move, appendToRoot, onOperatorAdded])\n\n  const value = useMemo((): TreeContextValue => ({\n    items,\n    operatorRegistry,\n    fieldDefinitionRegistry,\n    findPath,\n    getItem,\n    deleteByKey,\n    insert,\n    move,\n    updateItemAttributes,\n    canDrop,\n    canDropToRoot,\n    isValidDragType,\n    handleDrop,\n    handleDropToRoot\n  }), [\n    items,\n    operatorRegistry,\n    fieldDefinitionRegistry,\n    findPath,\n    getItem,\n    deleteByKey,\n    insert,\n    move,\n    updateItemAttributes,\n    canDrop,\n    canDropToRoot,\n    isValidDragType,\n    handleDrop,\n    handleDropToRoot\n  ])\n\n  return (\n    <TreeContext.Provider value={ value }>\n      {children}\n    </TreeContext.Provider>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/schema-fields-modal/available-fields-tree/hooks/use-tree-nodes.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { useMemo } from 'react'\nimport { Icon } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { isNil } from 'lodash'\nimport { type DynamicTypeOperatorRegistry } from '../../../../../../../operators/dynamic-type-operator-registry'\nimport { type DynamicTypeFieldDefinitionRegistry } from '@pimcore/studio-ui-bundle/modules/field-definitions'\nimport { type InternalTreeNode, createTreeItem } from '../tree-item/tree-item'\nimport { systemColumnLookup } from '../../definitions/system-column-definitions'\nimport { useOperator } from '../../../../../../../operators/hooks/use-operator'\n\nexport interface TreeNodeData {\n  key: string\n  title: React.ReactNode\n  icon?: React.ReactNode\n  iconProps?: any\n  children?: TreeNodeData[]\n  className?: string\n  actions?: Array<{ key: string, icon: string }>\n  itemData: InternalTreeNode\n}\n\ninterface UseTreeNodesProps {\n  items: InternalTreeNode[]\n  operatorRegistry: DynamicTypeOperatorRegistry\n  fieldDefinitionRegistry: DynamicTypeFieldDefinitionRegistry\n  disabled?: boolean\n}\n\ninterface NodeDisplay {\n  icon?: React.ReactNode\n  iconProps?: any\n  title: React.ReactNode\n}\n\nexport const useTreeNodes = ({\n  items,\n  operatorRegistry,\n  fieldDefinitionRegistry,\n  disabled = false\n}: UseTreeNodesProps): TreeNodeData[] => {\n  const { t } = useTranslation()\n  const { getLocalizedName, getIcon } = useOperator()\n\n  return useMemo(() => {\n    const buildOperatorDisplay = (item: InternalTreeNode): NodeDisplay => {\n      const operatorType = operatorRegistry.getDynamicType(String(item.attributes.class ?? ''), false)\n      const config = { key: item.key, isOperator: true, attributes: item.attributes }\n\n      if (operatorType === null) {\n        return {\n          icon: undefined,\n          iconProps: undefined,\n          title: String(item.attributes.label ?? '')\n        }\n      }\n\n      const iconProps = getIcon(operatorType, operatorRegistry)\n\n      return {\n        icon: <Icon\n          { ...iconProps }\n          iconColorGroup=\"operator\"\n              />,\n        iconProps,\n        title: operatorType.getLabel(config, getLocalizedName(operatorType)) ?? String(item.attributes.label ?? '')\n      }\n    }\n\n    const buildSystemColumnDisplay = (item: InternalTreeNode): NodeDisplay => {\n      const attributeValue = item.attributes.attribute ?? ''\n      const systemColumn = systemColumnLookup.get(attributeValue)\n\n      if (systemColumn === undefined) {\n        return { icon: undefined, iconProps: undefined, title: undefined }\n      }\n\n      return {\n        icon: <Icon { ...systemColumn.iconProps } />,\n        iconProps: systemColumn.iconProps,\n        title: t(systemColumn.translationKey)\n      }\n    }\n\n    const buildFieldDefinitionDisplay = (item: InternalTreeNode): NodeDisplay => {\n      const fieldDef = fieldDefinitionRegistry.getDynamicType(item.attributes.dataType ?? '', false)\n      const iconProps = fieldDef?.getIcon()\n\n      return {\n        icon: isNil(iconProps)\n          ? undefined\n          : (\n            <Icon\n              { ...iconProps }\n              iconColorGroup=\"fieldDefinition\"\n            />\n            ),\n        iconProps,\n        title: item.attributes.label ?? item.attributes.attribute ?? ''\n      }\n    }\n\n    const getNodeDisplay = (item: InternalTreeNode): NodeDisplay => {\n      if (item.isOperator) return buildOperatorDisplay(item)\n      if (item.attributes.dataType === 'system') return buildSystemColumnDisplay(item)\n      return buildFieldDefinitionDisplay(item)\n    }\n\n    const buildNode = (item: InternalTreeNode): TreeNodeData => {\n      const treeItem = createTreeItem(item, operatorRegistry)\n      const display = getNodeDisplay(item)\n\n      // When disabled, show only 'view' action for operators, no actions for fields\n      let actions: Array<{ key: string, icon: string }> = []\n      if (disabled) {\n        if (item.isOperator) {\n          actions = [{ key: 'view', icon: 'view' }]\n        }\n      } else {\n        actions = treeItem.getActions()\n      }\n\n      return {\n        key: item.key,\n        title: display.title,\n        icon: display.icon,\n        iconProps: display.iconProps,\n        className: 'ant-tree-node--has-drag-and-drop',\n        actions,\n        itemData: item,\n        children: item.attributes.children?.map(buildNode)\n      }\n    }\n\n    return items.map(buildNode)\n  }, [items, operatorRegistry, fieldDefinitionRegistry, disabled])\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/schema-fields-modal/available-fields-tree/hooks/use-tree-state.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { useCallback, useState, useEffect, useRef } from 'react'\nimport { isNil } from 'lodash'\nimport { type QueryEntityConfig } from '../../types'\nimport { type InternalTreeNode, type TreePath } from '../tree-item/tree-item'\nimport {\n  ensureKeys,\n  findItemPath,\n  getItemAtPath,\n  insertAtPath,\n  removeAtPath,\n  adjustPathAfterRemoval,\n  mapTree\n} from '../utils/tree-operations'\nimport { type DynamicTypeOperatorRegistry } from '../../../../../../../operators/dynamic-type-operator-registry'\nimport { DragType, DropPosition, type DragInfo } from '../../drag-types'\nimport { persistedColumnsToInternalNodes, internalNodesToPersistedColumns } from '../utils/tree-conversion-utils'\nimport { validateDropIntoTarget, validateDropToParent } from '../utils/tree-validation-utils'\n\ninterface UseTreeStateProps {\n  entityConfig?: QueryEntityConfig\n  onEntityConfigChange: (config: QueryEntityConfig) => void\n  operatorRegistry: DynamicTypeOperatorRegistry\n}\n\ninterface UseTreeStateReturn {\n  items: InternalTreeNode[]\n  updateItems: (items: InternalTreeNode[]) => void\n  updateItemAttributes: (key: string, attributes: Record<string, any>) => void\n  findPath: (key: string) => TreePath | null\n  getItem: (path: TreePath) => InternalTreeNode | null\n  deleteByKey: (key: string) => void\n  insert: (item: InternalTreeNode, targetPath: TreePath, position: DropPosition) => void\n  appendToRoot: (item: InternalTreeNode) => void\n  move: (sourceKey: string, targetPath: TreePath, position: DropPosition) => void\n  canDrop: (dragInfo: DragInfo, targetKey: string, position: DropPosition) => boolean\n  canDropToRoot: (dragInfo: DragInfo) => boolean\n}\n\nexport const useTreeState = ({\n  entityConfig,\n  onEntityConfigChange,\n  operatorRegistry\n}: UseTreeStateProps): UseTreeStateReturn => {\n  const isInternalUpdate = useRef(false)\n\n  const [items, setItems] = useState<InternalTreeNode[]>(() => {\n    const externalColumns = entityConfig?.columnConfig?.columns ?? []\n    return ensureKeys(persistedColumnsToInternalNodes(externalColumns))\n  })\n\n  const itemsRef = useRef(items)\n  itemsRef.current = items\n\n  // Sync from entityConfig when it changes externally\n  useEffect(() => {\n    if (isInternalUpdate.current) {\n      isInternalUpdate.current = false\n      return\n    }\n\n    const externalColumns = entityConfig?.columnConfig?.columns ?? []\n    setItems(ensureKeys(persistedColumnsToInternalNodes(externalColumns)))\n  }, [entityConfig])\n\n  const updateItems = useCallback((newItems: InternalTreeNode[]): void => {\n    isInternalUpdate.current = true\n    itemsRef.current = newItems\n    setItems(newItems)\n\n    const columns = internalNodesToPersistedColumns(newItems)\n    const updatedConfig = {\n      ...entityConfig,\n      columnConfig: {\n        ...entityConfig?.columnConfig,\n        columns\n      }\n    }\n    onEntityConfigChange(updatedConfig as QueryEntityConfig)\n  }, [entityConfig, onEntityConfigChange])\n\n  const findPath = useCallback((key: string): TreePath | null => {\n    return findItemPath(items, key)\n  }, [items])\n\n  const getItem = useCallback((path: TreePath): InternalTreeNode | null => {\n    return getItemAtPath(items, path)\n  }, [items])\n\n  const deleteByKey = useCallback((key: string): void => {\n    const path = findItemPath(items, key)\n    if (isNil(path)) return\n\n    const { items: newItems } = removeAtPath(items, path)\n    updateItems(newItems)\n  }, [items, updateItems])\n\n  const insert = useCallback((\n    item: InternalTreeNode,\n    targetPath: TreePath,\n    position: DropPosition\n  ): void => {\n    const newItems = insertAtPath(items, item, targetPath, position)\n    updateItems(newItems)\n  }, [items, updateItems])\n\n  const appendToRoot = useCallback((item: InternalTreeNode): void => {\n    const newItems = [...items, item]\n    updateItems(newItems)\n  }, [items, updateItems])\n\n  const updateItemAttributes = useCallback((key: string, attributes: Record<string, any>): void => {\n    const newItems = mapTree(items, item =>\n      item.key === key\n        ? { ...item, attributes: { ...item.attributes, ...attributes } }\n        : item\n    )\n    updateItems(newItems)\n  }, [items, updateItems])\n\n  const move = useCallback((\n    sourceKey: string,\n    targetPath: TreePath,\n    position: DropPosition\n  ): void => {\n    const sourcePath = findItemPath(items, sourceKey)\n    if (isNil(sourcePath)) return\n\n    const { items: afterRemove, removed } = removeAtPath(items, sourcePath)\n    if (isNil(removed)) return\n\n    const adjustedPath = adjustPathAfterRemoval(targetPath, sourcePath)\n    const newItems = insertAtPath(afterRemove, removed, adjustedPath, position)\n    updateItems(newItems)\n  }, [items, updateItems])\n\n  const canDrop = useCallback((\n    dragInfo: DragInfo,\n    targetKey: string,\n    position: DropPosition\n  ): boolean => {\n    const currentItems = itemsRef.current\n\n    if (dragInfo.type === DragType.TREE_ITEM && dragInfo.data.key === targetKey) {\n      return false\n    }\n\n    const targetPath = findItemPath(currentItems, targetKey)\n    if (isNil(targetPath)) return false\n\n    const targetData = getItemAtPath(currentItems, targetPath)\n    if (isNil(targetData)) return false\n\n    if (position === DropPosition.INTO) {\n      return validateDropIntoTarget(dragInfo, targetData, targetPath, currentItems, operatorRegistry)\n    }\n\n    if (targetPath.length <= 1) {\n      return true\n    }\n\n    const parentPath = targetPath.slice(0, -1)\n    const parentData = getItemAtPath(currentItems, parentPath)\n\n    return isNil(parentData) || validateDropToParent(dragInfo, parentData, targetPath, currentItems, operatorRegistry)\n  }, [operatorRegistry])\n\n  const canDropToRoot = useCallback((_dragInfo: DragInfo): boolean => {\n    return true\n  }, [])\n\n  return {\n    items,\n    updateItems,\n    updateItemAttributes,\n    findPath,\n    getItem,\n    deleteByKey,\n    insert,\n    appendToRoot,\n    move,\n    canDrop,\n    canDropToRoot\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/schema-fields-modal/available-fields-tree/index.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nexport { AvailableFieldsTree } from './available-fields-tree'\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/schema-fields-modal/available-fields-tree/source-config-utils.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { type SourceConfig } from '../../../../../../operators/dynamic-type-operator-abstract'\nimport { isNil } from 'lodash'\nimport { DragType } from '../drag-types'\n\ninterface DragInfo {\n  type: string\n  data?: {\n    dataType?: string\n    operatorId?: string\n    [key: string]: any\n  }\n}\n\ninterface TreeItemAttributes {\n  dataType?: string\n  class?: string\n  [key: string]: any\n}\n\nexport function createSourceConfigFromDragInfo (dragInfo?: DragInfo): SourceConfig {\n  return {\n    dataType: !isNil(dragInfo) && dragInfo.type === DragType.CLASS_ATTRIBUTE && !isNil(dragInfo.data?.dataType)\n      ? String(dragInfo.data.dataType)\n      : undefined,\n    isOperator: !isNil(dragInfo) && dragInfo.type === DragType.OPERATOR,\n    operatorClass: !isNil(dragInfo) && dragInfo.type === DragType.OPERATOR && !isNil(dragInfo.data?.operatorId)\n      ? String(dragInfo.data.operatorId)\n      : undefined\n  }\n}\n\nexport function createSourceConfigFromAttributes (attributes: TreeItemAttributes, isOperator: boolean): SourceConfig {\n  return {\n    dataType: attributes.dataType,\n    isOperator,\n    operatorClass: isOperator && !isNil(attributes.class) ? String(attributes.class) : undefined\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/schema-fields-modal/available-fields-tree/tree-item/tree-item.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { type DynamicTypeOperatorRegistry } from '../../../../../../../operators/dynamic-type-operator-registry'\nimport { createSourceConfigFromAttributes } from '../source-config-utils'\n\nexport interface TreeItemAttributes {\n  attribute?: string\n  label?: string\n  dataType?: string\n  children?: InternalTreeNode[]\n  [key: string]: any\n}\n\nexport interface InternalTreeNode {\n  key: string\n  isOperator: boolean\n  attributes: TreeItemAttributes\n}\n\nexport interface TreeItemAction {\n  key: string\n  icon: string\n}\n\nexport type TreePath = number[]\n\nexport abstract class TreeItem {\n  constructor (\n    public readonly key: string,\n    public readonly attributes: TreeItemAttributes\n  ) {}\n\n  abstract get isOperator (): boolean\n  abstract canHaveChildren (): boolean\n  abstract canAcceptChild (child: TreeItem, isMovingWithinSameParent?: boolean): boolean\n  abstract getActions (): TreeItemAction[]\n  abstract getChildren (operatorRegistry: DynamicTypeOperatorRegistry): TreeItem[]\n\n  toData (): InternalTreeNode {\n    return {\n      key: this.key,\n      isOperator: this.isOperator,\n      attributes: { ...this.attributes }\n    }\n  }\n}\n\nexport class FieldDefinitionItem extends TreeItem {\n  readonly isOperator = false\n\n  canHaveChildren (): boolean {\n    return false\n  }\n\n  canAcceptChild (_child: TreeItem, _isMovingWithinSameParent: boolean = false): boolean {\n    return false\n  }\n\n  getActions (): TreeItemAction[] {\n    return [{ key: 'delete', icon: 'trash' }]\n  }\n\n  getChildren (_operatorRegistry: DynamicTypeOperatorRegistry): TreeItem[] {\n    return []\n  }\n}\n\nexport class OperatorItem extends TreeItem {\n  constructor (\n    key: string,\n    attributes: TreeItemAttributes,\n    private readonly operatorRegistry: DynamicTypeOperatorRegistry\n  ) {\n    super(key, attributes)\n  }\n\n  readonly isOperator = true\n\n  private getOperatorType (): any {\n    return this.operatorRegistry.getDynamicType(String(this.attributes.class ?? ''), false)\n  }\n\n  canHaveChildren (): boolean {\n    const operatorType = this.getOperatorType()\n    if (operatorType === undefined) return false\n    return operatorType.allowsChildren?.() ?? false\n  }\n\n  canAcceptChild (child: TreeItem, isMovingWithinSameParent: boolean = false): boolean {\n    const operatorType = this.getOperatorType()\n    if (operatorType === undefined) return false\n    if (!this.canHaveChildren()) return false\n    if (isMovingWithinSameParent) return true\n\n    const targetConfig = this.toData()\n    const sourceConfig = createSourceConfigFromAttributes(child.attributes, child.isOperator)\n    return operatorType.allowChild?.(targetConfig, sourceConfig) ?? true\n  }\n\n  getActions (): TreeItemAction[] {\n    return [\n      { key: 'edit', icon: 'edit' },\n      { key: 'delete', icon: 'trash' }\n    ]\n  }\n\n  getChildren (operatorRegistry: DynamicTypeOperatorRegistry): TreeItem[] {\n    const children = this.attributes.children ?? []\n    return children.map(child => createTreeItem(child, operatorRegistry))\n  }\n}\n\nexport function createTreeItem (data: InternalTreeNode, operatorRegistry: DynamicTypeOperatorRegistry): TreeItem {\n  if (data.isOperator) {\n    return new OperatorItem(data.key, data.attributes, operatorRegistry)\n  }\n  return new FieldDefinitionItem(data.key, data.attributes)\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/schema-fields-modal/available-fields-tree/tree-node-renderer.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { useMemo } from 'react'\nimport { isNil } from 'lodash'\nimport { HotspotDroppable, Draggable, type HotspotArea } from '@pimcore/studio-ui-bundle/components'\nimport { useTreeContext, type DragInfo } from './hooks/use-tree-context'\nimport { type InternalTreeNode, createTreeItem } from './tree-item/tree-item'\nimport { DragType, DropPosition } from '../drag-types'\nimport { useOperator } from '../../../../../../operators/hooks/use-operator'\n\ninterface TreeNodeRendererProps {\n  itemData: InternalTreeNode\n  initialComponent: React.ReactNode\n  hasExpandedChildren: boolean\n  disabled?: boolean\n}\n\nexport const TreeNodeRenderer = ({\n  itemData,\n  initialComponent,\n  hasExpandedChildren,\n  disabled = false\n}: TreeNodeRendererProps): React.JSX.Element => {\n  const {\n    operatorRegistry,\n    fieldDefinitionRegistry,\n    canDrop,\n    isValidDragType,\n    handleDrop\n  } = useTreeContext()\n\n  const { getIcon } = useOperator()\n\n  const nodeKey = itemData.key\n  const treeItem = createTreeItem(itemData, operatorRegistry)\n\n  const isSelfDrag = (info: DragInfo): boolean => {\n    return info.type === DragType.TREE_ITEM && info.data.key === nodeKey\n  }\n\n  const hotspots: HotspotArea[] = useMemo(() => {\n    const baseHotspots: HotspotArea[] = [\n      {\n        id: 'sorting-top',\n        className: 'dnd__sorting dnd__sorting--top',\n        isValidContext: (info: DragInfo) => isValidDragType(info),\n        isValidData: (info: DragInfo) => !isSelfDrag(info) && canDrop(info, nodeKey, DropPosition.BEFORE),\n        position: { x: 0, y: 0, width: '100%', height: '30%' },\n        onDrop: (info: DragInfo) => { handleDrop(info, nodeKey, DropPosition.BEFORE) }\n      },\n      {\n        id: 'drop-middle',\n        isValidContext: (info: DragInfo) => isValidDragType(info),\n        isValidData: (info: DragInfo) => !isSelfDrag(info) && treeItem.canHaveChildren() && canDrop(info, nodeKey, DropPosition.INTO),\n        position: { x: '0', y: '30%', width: '100%', height: '40%' },\n        onDrop: (info: DragInfo) => { handleDrop(info, nodeKey, DropPosition.INTO) }\n      }\n    ]\n\n    if (!hasExpandedChildren) {\n      baseHotspots.push({\n        id: 'sorting-bottom',\n        className: 'dnd__sorting dnd__sorting--bottom',\n        isValidContext: (info: DragInfo) => isValidDragType(info),\n        isValidData: (info: DragInfo) => !isSelfDrag(info) && canDrop(info, nodeKey, DropPosition.AFTER),\n        position: { x: 0, y: '70%', width: '100%', height: '30%' },\n        onDrop: (info: DragInfo) => { handleDrop(info, nodeKey, DropPosition.AFTER) }\n      })\n    }\n\n    return baseHotspots\n  }, [nodeKey, treeItem, isValidDragType, canDrop, handleDrop, hasExpandedChildren])\n\n  const iconProps = useMemo((): { value: string } | undefined => {\n    if (itemData.isOperator && !isNil(itemData.attributes.class)) {\n      const opType = operatorRegistry.getDynamicType(String(itemData.attributes.class), false)\n      return isNil(opType) ? undefined : getIcon(opType, operatorRegistry)\n    }\n    if (!isNil(itemData.attributes.dataType)) {\n      const fieldDef = fieldDefinitionRegistry.getDynamicType(String(itemData.attributes.dataType), false)\n      return fieldDef?.getIcon() ?? undefined\n    }\n    return undefined\n  }, [itemData, operatorRegistry, fieldDefinitionRegistry, getIcon])\n\n  const dragInfo = useMemo(() => ({\n    type: DragType.TREE_ITEM,\n    data: {\n      key: nodeKey,\n      isOperator: itemData.isOperator,\n      title: String(itemData.attributes.label ?? itemData.attributes.attribute ?? ''),\n      dataType: itemData.attributes.dataType,\n      operatorClass: itemData.attributes.class\n    },\n    icon: iconProps ?? { value: 'info' },\n    title: String(itemData.attributes.label ?? itemData.attributes.attribute ?? '')\n  }), [nodeKey, itemData, iconProps])\n\n  return disabled\n    ? <>{initialComponent}</>\n    : (\n      <Draggable info={ dragInfo }>\n        <HotspotDroppable\n          disableDndActiveIndicator\n          hotspots={ hotspots }\n        >\n          {initialComponent}\n        </HotspotDroppable>\n      </Draggable>\n      )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/schema-fields-modal/available-fields-tree/utils/tree-conversion-utils.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { uuid } from '@pimcore/studio-ui-bundle/utils'\nimport { isNil } from 'lodash'\nimport { type InternalTreeNode, type TreeItemAttributes } from '../tree-item/tree-item'\nimport { type PersistedColumnConfig, type FieldAttribute } from '../../types'\nimport { DragType, type DragInfo } from '../../drag-types'\n\nexport function persistedColumnsToInternalNodes (columns: PersistedColumnConfig[]): InternalTreeNode[] {\n  return columns.map(col => {\n    const { children: sourceChildren, ...restAttributes } = col.attributes as FieldAttribute & { children?: PersistedColumnConfig[] }\n    const attributes: TreeItemAttributes = { ...restAttributes }\n\n    if (!isNil(sourceChildren)) {\n      attributes.children = persistedColumnsToInternalNodes(sourceChildren)\n    }\n\n    return {\n      key: String(col.key ?? ''),\n      isOperator: col.isOperator,\n      attributes\n    }\n  })\n}\n\nexport function internalNodesToPersistedColumns (nodes: InternalTreeNode[]): PersistedColumnConfig[] {\n  return nodes.map(node => {\n    const { children: sourceChildren, ...restAttributes } = node.attributes\n    const attributes: FieldAttribute = {\n      label: restAttributes.label ?? '',\n      dataType: restAttributes.dataType ?? '',\n      ...restAttributes\n    }\n\n    if (!isNil(sourceChildren)) {\n      Object.assign(attributes, { children: internalNodesToPersistedColumns(sourceChildren) })\n    }\n\n    return {\n      key: node.key,\n      isOperator: node.isOperator,\n      attributes\n    }\n  })\n}\n\nexport function createItemFromDragInfo (dragInfo: DragInfo): InternalTreeNode | null {\n  if (dragInfo.type === DragType.CLASS_ATTRIBUTE) {\n    return {\n      key: uuid(),\n      isOperator: false,\n      attributes: {\n        attribute: String(dragInfo.data.attribute ?? dragInfo.data.key ?? ''),\n        label: String(dragInfo.data.title ?? ''),\n        dataType: String(dragInfo.data.dataType ?? 'text')\n      }\n    }\n  }\n\n  if (dragInfo.type === DragType.OPERATOR) {\n    return {\n      key: uuid(),\n      isOperator: true,\n      attributes: {\n        label: String(dragInfo.data.title ?? ''),\n        class: String(dragInfo.data.operatorId ?? ''),\n        type: DragType.OPERATOR,\n        children: []\n      }\n    }\n  }\n\n  return null\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/schema-fields-modal/available-fields-tree/utils/tree-operations.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { uuid, isNonEmptyString } from '@pimcore/studio-ui-bundle/utils'\nimport { isNil, flatMap } from 'lodash'\nimport { type InternalTreeNode, type TreePath } from '../tree-item/tree-item'\nimport { DropPosition } from '../../drag-types'\n\nexport function mapTree (\n  items: InternalTreeNode[],\n  transform: (item: InternalTreeNode) => InternalTreeNode\n): InternalTreeNode[] {\n  return items.map(item => {\n    const transformed = transform(item)\n    return {\n      ...transformed,\n      attributes: {\n        ...transformed.attributes,\n        ...(Array.isArray(item.attributes.children)\n          ? { children: mapTree(item.attributes.children, transform) }\n          : {})\n      }\n    }\n  })\n}\n\nexport function cloneItems (items: InternalTreeNode[]): InternalTreeNode[] {\n  return mapTree(items, item => ({ ...item, attributes: { ...item.attributes } }))\n}\n\nexport function ensureKeys (items: InternalTreeNode[]): InternalTreeNode[] {\n  return mapTree(items, item => ({\n    ...item,\n    key: isNonEmptyString(item.key) ? item.key : uuid(),\n    attributes: { ...item.attributes }\n  }))\n}\n\nexport function findItemPath (items: InternalTreeNode[], key: string, currentPath: TreePath = []): TreePath | null {\n  for (let i = 0; i < items.length; i++) {\n    const item = items[i]\n    const itemPath = [...currentPath, i]\n\n    if (item.key === key) {\n      return itemPath\n    }\n\n    if (Array.isArray(item.attributes.children)) {\n      const childPath = findItemPath(item.attributes.children, key, itemPath)\n      if (!isNil(childPath)) {\n        return childPath\n      }\n    }\n  }\n\n  return null\n}\n\nexport function getItemAtPath (items: InternalTreeNode[], path: TreePath): InternalTreeNode | null {\n  if (path.length === 0) return null\n\n  let current: InternalTreeNode | null = items[path[0]] ?? null\n\n  for (let i = 1; i < path.length && !isNil(current); i++) {\n    const children = current.attributes.children\n    if (!Array.isArray(children)) return null\n    current = children[path[i]] ?? null\n  }\n\n  return current\n}\n\nfunction getParentContext (items: InternalTreeNode[], path: TreePath): { parent: InternalTreeNode[] | null, index: number } {\n  if (path.length === 0) return { parent: null, index: -1 }\n  if (path.length === 1) return { parent: items, index: path[0] }\n\n  const parent = getItemAtPath(items, path.slice(0, -1))\n  if (isNil(parent) || !Array.isArray(parent.attributes.children)) {\n    return { parent: null, index: -1 }\n  }\n\n  return { parent: parent.attributes.children, index: path[path.length - 1] }\n}\n\nexport function insertAtPath (\n  items: InternalTreeNode[],\n  item: InternalTreeNode,\n  path: TreePath,\n  position: DropPosition = DropPosition.AFTER\n): InternalTreeNode[] {\n  const newItems = cloneItems(items)\n  const itemWithKey: InternalTreeNode = {\n    ...item,\n    key: isNonEmptyString(item.key) ? item.key : uuid(),\n    attributes: {\n      ...item.attributes,\n      ...(Array.isArray(item.attributes.children)\n        ? { children: cloneItems(item.attributes.children) }\n        : {})\n    }\n  }\n\n  if (path.length === 0) {\n    newItems.push(itemWithKey)\n    return newItems\n  }\n\n  if (position === DropPosition.INTO) {\n    const target = getItemAtPath(newItems, path)\n    if (isNil(target)) return items\n\n    if (!Array.isArray(target.attributes.children)) {\n      target.attributes.children = []\n    }\n    target.attributes.children.push(itemWithKey)\n    return newItems\n  }\n\n  const { parent, index } = getParentContext(newItems, path)\n  if (isNil(parent) || index === -1) return items\n\n  const insertIndex = position === DropPosition.BEFORE ? index : index + 1\n  parent.splice(insertIndex, 0, itemWithKey)\n\n  return newItems\n}\n\nexport function removeAtPath (\n  items: InternalTreeNode[],\n  path: TreePath\n): { items: InternalTreeNode[], removed: InternalTreeNode | null } {\n  if (path.length === 0) {\n    return { items, removed: null }\n  }\n\n  const newItems = cloneItems(items)\n  const { parent, index } = getParentContext(newItems, path)\n\n  if (isNil(parent) || index === -1 || index >= parent.length) {\n    return { items, removed: null }\n  }\n\n  const [removed] = parent.splice(index, 1)\n  return { items: newItems, removed }\n}\n\nexport function moveItem (\n  items: InternalTreeNode[],\n  fromPath: TreePath,\n  toPath: TreePath,\n  position: DropPosition = DropPosition.AFTER\n): InternalTreeNode[] {\n  const { items: afterRemove, removed } = removeAtPath(items, fromPath)\n  if (isNil(removed)) return items\n\n  // Adjust toPath if it was affected by the removal\n  const adjustedToPath = adjustPathAfterRemoval(toPath, fromPath)\n\n  return insertAtPath(afterRemove, removed, adjustedToPath, position)\n}\n\nexport function adjustPathAfterRemoval (path: TreePath, removedPath: TreePath): TreePath {\n  if (path.length === 0 || removedPath.length === 0) return path\n\n  if (path.length >= removedPath.length) {\n    const compareIndex = removedPath.length - 1\n    if (\n      removedPath.slice(0, compareIndex).every((v, i) => v === path[i]) &&\n      removedPath[compareIndex] < path[compareIndex]\n    ) {\n      // Decrement the affected index since an earlier sibling was removed\n      const adjusted = [...path]\n      adjusted[compareIndex]--\n      return adjusted\n    }\n  }\n\n  return path\n}\n\nexport function collectAllKeys (items: InternalTreeNode[]): string[] {\n  return flatMap(items, item => {\n    const children = item.attributes.children\n    return [item.key, ...(Array.isArray(children) ? collectAllKeys(children) : [])]\n  })\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/schema-fields-modal/available-fields-tree/utils/tree-validation-utils.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { isNil } from 'lodash'\nimport { type InternalTreeNode, type TreePath, type TreeItem, createTreeItem } from '../tree-item/tree-item'\nimport { type DynamicTypeOperatorRegistry } from '../../../../../../../operators/dynamic-type-operator-registry'\nimport { findItemPath, getItemAtPath } from './tree-operations'\nimport { type DragInfo, DragType } from '../../drag-types'\nimport { createItemFromDragInfo } from './tree-conversion-utils'\n\ninterface SourceTreeItemInfo {\n  item: TreeItem\n  path: TreePath\n}\n\nfunction getSourceTreeItem (\n  dragInfo: DragInfo,\n  currentItems: InternalTreeNode[],\n  operatorRegistry: DynamicTypeOperatorRegistry\n): SourceTreeItemInfo | null {\n  if (dragInfo.type !== DragType.TREE_ITEM || isNil(dragInfo.data.key)) {\n    return null\n  }\n\n  const sourcePath = findItemPath(currentItems, String(dragInfo.data.key))\n  if (isNil(sourcePath)) return null\n\n  const sourceData = getItemAtPath(currentItems, sourcePath)\n  if (isNil(sourceData)) return null\n\n  return { item: createTreeItem(sourceData, operatorRegistry), path: sourcePath }\n}\n\nfunction getDraggedTreeItem (\n  dragInfo: DragInfo,\n  operatorRegistry: DynamicTypeOperatorRegistry\n): TreeItem | null {\n  const newItemData = createItemFromDragInfo(dragInfo)\n  if (isNil(newItemData)) return null\n  return createTreeItem(newItemData, operatorRegistry)\n}\n\nfunction isChildPath (childPath: TreePath, parentPath: TreePath): boolean {\n  return childPath.length === parentPath.length + 1 &&\n    childPath.slice(0, -1).every((v, i) => v === parentPath[i])\n}\n\nfunction hasSameParent (path1: TreePath, path2: TreePath): boolean {\n  if (path1.length !== path2.length) return false\n  return path1.slice(0, -1).every((v, i) => v === path2.slice(0, -1)[i])\n}\n\nexport function validateDropIntoTarget (\n  dragInfo: DragInfo,\n  targetData: InternalTreeNode,\n  targetPath: TreePath,\n  currentItems: InternalTreeNode[],\n  operatorRegistry: DynamicTypeOperatorRegistry\n): boolean {\n  const targetItem = createTreeItem(targetData, operatorRegistry)\n  if (!targetItem.canHaveChildren()) return false\n\n  const source = getSourceTreeItem(dragInfo, currentItems, operatorRegistry)\n  if (!isNil(source)) {\n    const isAlreadyChild = isChildPath(source.path, targetPath)\n    return targetItem.canAcceptChild(source.item, isAlreadyChild)\n  }\n\n  const draggedItem = getDraggedTreeItem(dragInfo, operatorRegistry)\n  return !isNil(draggedItem) && targetItem.canAcceptChild(draggedItem, false)\n}\n\nexport function validateDropToParent (\n  dragInfo: DragInfo,\n  parentData: InternalTreeNode,\n  targetPath: TreePath,\n  currentItems: InternalTreeNode[],\n  operatorRegistry: DynamicTypeOperatorRegistry\n): boolean {\n  const parentItem = createTreeItem(parentData, operatorRegistry)\n\n  const source = getSourceTreeItem(dragInfo, currentItems, operatorRegistry)\n  if (!isNil(source)) {\n    if (hasSameParent(source.path, targetPath)) return true\n    return parentItem.canAcceptChild(source.item, false)\n  }\n\n  const draggedItem = getDraggedTreeItem(dragInfo, operatorRegistry)\n  return !isNil(draggedItem) && parentItem.canAcceptChild(draggedItem, false)\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/schema-fields-modal/components/add-all-definitions-button.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { useCallback } from 'react'\nimport { Button } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { uuid } from '@pimcore/studio-ui-bundle/utils'\nimport { isNil } from 'lodash'\nimport { type QueryEntityConfig, type PersistedColumnConfig } from '../types'\nimport { useClassAttributesTree } from '../hooks/use-class-attributes-tree'\n\ninterface AddAllDefinitionsButtonProps {\n  classId: string\n  enabled: boolean\n  entityConfig?: QueryEntityConfig\n  onEntityConfigChange: (config: QueryEntityConfig) => void\n}\n\nexport const AddAllDefinitionsButton = ({\n  classId,\n  enabled,\n  entityConfig,\n  onEntityConfigChange\n}: AddAllDefinitionsButtonProps): React.JSX.Element => {\n  const { t } = useTranslation()\n  const { getFieldDefinitions } = useClassAttributesTree({ classId, enabled })\n\n  const handleAddAllDefinitions = useCallback((): void => {\n    if (isNil(entityConfig)) return\n\n    const leafAttributes = getFieldDefinitions()\n\n    const currentColumns = entityConfig.columnConfig?.columns ?? []\n    const existingAttributes = new Set<string>(\n      currentColumns\n        .map(col => col.attributes?.attribute)\n        .filter((attr): attr is string => !isNil(attr))\n    )\n\n    const newColumns: PersistedColumnConfig[] = leafAttributes\n      .filter(attr => !isNil(attr.attribute) && !existingAttributes.has(attr.attribute))\n      .map(attr => ({\n        key: uuid(),\n        isOperator: false,\n        attributes: {\n          attribute: attr.attribute!,\n          label: String(attr.title ?? attr.attribute),\n          dataType: attr.dataType ?? 'text'\n        }\n      }))\n\n    if (newColumns.length > 0) {\n      onEntityConfigChange({\n        ...entityConfig,\n        columnConfig: {\n          ...entityConfig.columnConfig,\n          columns: [...currentColumns, ...newColumns]\n        }\n      })\n    }\n  }, [entityConfig, getFieldDefinitions, onEntityConfigChange])\n\n  const allDefinitionsAdded = useCallback((): boolean => {\n    if (isNil(entityConfig)) return false\n\n    const leafAttributes = getFieldDefinitions()\n    const currentColumns = entityConfig.columnConfig?.columns ?? []\n    const existingAttributes = new Set<string>(\n      currentColumns\n        .map(col => col.attributes?.attribute)\n        .filter((attr): attr is string => !isNil(attr))\n    )\n\n    const newAttributesCount = leafAttributes\n      .filter(attr => !isNil(attr.attribute) && !existingAttributes.has(attr.attribute))\n      .length\n\n    return newAttributesCount === 0\n  }, [entityConfig, getFieldDefinitions])\n\n  return (\n    <Button\n      disabled={ allDefinitionsAdded() }\n      onClick={ handleAddAllDefinitions }\n    >\n      {t('data-hub.schema.insert-all-definitions')}\n    </Button>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/schema-fields-modal/components/class-attributes-sidebar.styles.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { createStyles } from 'antd-style'\n\nexport const useStyles = createStyles(({ css }) => {\n  return {\n    treeContainer: css`\n      .ant-tree-title {\n        white-space: nowrap;\n      }\n    `\n  }\n})\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/schema-fields-modal/components/class-attributes-sidebar.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { useCallback, useState } from 'react'\nimport { Content, ContentLayout, TreeElement, SidebarTitle, Box, SearchInput } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { DraggableTreeTitle } from './draggable-tree-title'\nimport { type TreeNode } from '../types'\nimport { useClassAttributesTree } from '../hooks/use-class-attributes-tree'\nimport { useStyles } from './class-attributes-sidebar.styles'\n\ninterface ClassAttributesSidebarProps {\n  classId: string\n  enabled: boolean\n}\n\nexport const ClassAttributesSidebar = ({\n  classId,\n  enabled\n}: ClassAttributesSidebarProps): React.JSX.Element => {\n  const { t } = useTranslation()\n  const { styles } = useStyles()\n  const [searchValue, setSearchValue] = useState('')\n  const { filteredTree, expandedKeys, isLoading } = useClassAttributesTree({\n    classId,\n    enabled,\n    searchValue\n  })\n\n  const titleRender = useCallback((node: TreeNode, initialComponent: React.ReactNode): React.JSX.Element => {\n    return (\n      <DraggableTreeTitle\n        initialComponent={ initialComponent }\n        node={ node }\n      />\n    )\n  }, [])\n\n  return (\n    <ContentLayout\n      renderTopBar={\n        <>\n          <SidebarTitle withBorder>\n            {t('data-hub.schema.class-attributes')}\n          </SidebarTitle>\n          <Box padding={ 'small' }>\n            <SearchInput\n              onChange={ (e) => { setSearchValue(e.target.value) } }\n              placeholder={ t('search') }\n              style={ { width: '100%', maxWidth: '100%' } }\n              value={ searchValue }\n              withoutAddon\n            />\n          </Box>\n        </>\n      }\n    >\n      <Content\n        loading={ isLoading }\n        padding={ { x: 'small', top: 'extra-small', bottom: 'small' } }\n      >\n\n        <TreeElement\n          className={ styles.treeContainer }\n          defaultExpandedKeys={ expandedKeys }\n          draggable={ false }\n          selectable={ false }\n          showIcon\n          titleRender={ titleRender }\n          treeData={ filteredTree }\n        />\n      </Content>\n    </ContentLayout>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/schema-fields-modal/components/draggable-tree-title.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { Draggable } from '@pimcore/studio-ui-bundle/components'\nimport { DragType } from '../drag-types'\nimport { type TreeNode } from '../types'\n\ninterface DraggableTreeTitleProps {\n  node: TreeNode\n  initialComponent: React.ReactNode\n}\n\n/**\n * Wraps tree node titles with drag capability for the class attributes sidebar.\n * Only nodes marked as field definitions are draggable.\n */\nexport const DraggableTreeTitle = ({\n  node,\n  initialComponent\n}: DraggableTreeTitleProps): React.JSX.Element => {\n  if (node.isFieldDefinition !== true) {\n    return <>{initialComponent}</>\n  }\n\n  return (\n    <Draggable\n      info={ {\n        type: DragType.CLASS_ATTRIBUTE,\n        data: {\n          key: String(node.key),\n          attribute: node.attribute,\n          title: String(node.title),\n          dataType: String(node.dataType ?? 'text')\n        },\n        icon: node.iconProps,\n        title: String(node.title)\n      } }\n    >\n      {initialComponent}\n    </Draggable>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/schema-fields-modal/components/operator-grid-item.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { Draggable, GridButton } from '@pimcore/studio-ui-bundle/components'\nimport { DragType } from '../drag-types'\nimport { isNil } from 'lodash'\n\ninterface OperatorGridItemProps {\n  groupKey: string\n  subGroupKey?: string\n  operator: {\n    id: string\n    icon: any\n    localizedName: string\n  }\n}\n\nexport const OperatorGridItem = ({\n  groupKey,\n  subGroupKey,\n  operator\n}: OperatorGridItemProps): React.JSX.Element => {\n  const dragKey = isNil(subGroupKey)\n    ? `${groupKey}-${operator.id}`\n    : `${groupKey}-${subGroupKey}-${operator.id}`\n\n  return (\n    <Draggable\n      info={ {\n        type: DragType.OPERATOR,\n        data: {\n          key: dragKey,\n          title: operator.localizedName,\n          operatorId: operator.id\n        },\n        icon: operator.icon,\n        title: operator.localizedName\n      } }\n      key={ dragKey }\n    >\n      <GridButton\n        icon={ operator.icon }\n        label={ operator.localizedName }\n      />\n    </Draggable>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/schema-fields-modal/components/operators-sidebar.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { useMemo } from 'react'\nimport { SidebarTitle, Box, Panel } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation, useInjection } from '@pimcore/studio-ui-bundle/app'\nimport { type DynamicTypeOperatorRegistry } from '../../../../../../../modules/operators/dynamic-type-operator-registry'\nimport { useOperator } from '../../../../../../../modules/operators/hooks/use-operator'\nimport { OperatorGridItem } from './operator-grid-item'\n\ninterface OperatorsSidebarProps {\n  operatorRegistryServiceId: string\n  gridContainerClassName: string\n  groupName: string\n  translatedGroupName: string\n}\n\nexport const OperatorsSidebar = ({\n  operatorRegistryServiceId,\n  gridContainerClassName,\n  groupName,\n  translatedGroupName\n}: OperatorsSidebarProps): React.JSX.Element => {\n  const { t } = useTranslation()\n  const operatorRegistry = useInjection<DynamicTypeOperatorRegistry>(operatorRegistryServiceId)\n  const { getLocalizedName, getGroup, getIcon } = useOperator()\n\n  const groupData = useMemo(() => {\n    const operators = operatorRegistry.getDynamicTypes()\n    const subGroups = new Map<string | undefined, Array<{\n      id: string\n      icon: any\n      localizedName: string\n    }>>()\n\n    operators.forEach(operator => {\n      if (operator.getGroup() !== groupName) return\n\n      const translatedSubGroup = getGroup(operator).subGroup\n\n      if (!subGroups.has(translatedSubGroup)) {\n        subGroups.set(translatedSubGroup, [])\n      }\n\n      subGroups.get(translatedSubGroup)?.push({\n        id: operator.id,\n        icon: getIcon(operator, operatorRegistry),\n        localizedName: getLocalizedName(operator)\n      })\n    })\n\n    return subGroups\n  }, [operatorRegistry, groupName, getLocalizedName, getGroup, getIcon])\n\n  const hasSubGroups = useMemo(() => {\n    return Array.from(groupData.keys()).some(key => key !== undefined)\n  }, [groupData])\n\n  return (\n    <>\n      <SidebarTitle withBorder>\n        {translatedGroupName}\n      </SidebarTitle>\n\n      <Box padding={ hasSubGroups ? { x: 'extra-small' } : undefined }>\n        {Array.from(groupData.entries()).map(([subGroupKey, operators]) => {\n          const sortedOperators = operators.sort((a, b) => a.localizedName.localeCompare(b.localizedName))\n\n          if (subGroupKey === undefined) {\n            return (\n              <Box\n                className={ gridContainerClassName }\n                key={ `${translatedGroupName}-direct` }\n                padding={ { x: 'extra-small', bottom: 'small' } }\n              >\n                {sortedOperators.map(operator => (\n                  <OperatorGridItem\n                    groupKey={ translatedGroupName }\n                    key={ `${translatedGroupName}-${operator.id}` }\n                    operator={ operator }\n                  />\n                ))}\n              </Box>\n            )\n          } else {\n            return (\n              <Panel\n                border={ false }\n                collapsed={ false }\n                contentPadding=\"extra-small\"\n                key={ `${translatedGroupName}-${subGroupKey}` }\n                theme=\"card-with-highlight\"\n                title={ t(subGroupKey) }\n              >\n                <Box className={ gridContainerClassName }>\n                  {sortedOperators.map(operator => (\n                    <OperatorGridItem\n                      groupKey={ translatedGroupName }\n                      key={ `${translatedGroupName}-${subGroupKey}-${operator.id}` }\n                      operator={ operator }\n                      subGroupKey={ subGroupKey }\n                    />\n                  ))}\n                </Box>\n              </Panel>\n            )\n          }\n        })}\n      </Box>\n    </>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/schema-fields-modal/definitions/system-column-definitions.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { type IconProps } from '@pimcore/studio-ui-bundle/components'\n\nexport interface SystemColumnDefinition {\n  key: string\n  attribute: string\n  translationKey: string\n  iconProps: IconProps\n}\n\nexport const SYSTEM_COLUMN_ICON: IconProps = { value: 'system-columns', colorToken: 'colorCodingGreen1' }\n\nexport const systemColumnDefinitions: SystemColumnDefinition[] = [\n  {\n    key: 'system-id',\n    attribute: 'id',\n    translationKey: 'data-hub.schema.system.id',\n    iconProps: SYSTEM_COLUMN_ICON\n  },\n  {\n    key: 'system-fullpath',\n    attribute: 'fullpath',\n    translationKey: 'data-hub.schema.system.fullpath',\n    iconProps: SYSTEM_COLUMN_ICON\n  },\n  {\n    key: 'system-key',\n    attribute: 'key',\n    translationKey: 'data-hub.schema.system.key',\n    iconProps: SYSTEM_COLUMN_ICON\n  },\n  {\n    key: 'system-published',\n    attribute: 'published',\n    translationKey: 'data-hub.schema.system.published',\n    iconProps: SYSTEM_COLUMN_ICON\n  },\n  {\n    key: 'system-creationDate',\n    attribute: 'creationDate',\n    translationKey: 'data-hub.schema.system.creationDate',\n    iconProps: SYSTEM_COLUMN_ICON\n  },\n  {\n    key: 'system-modificationDate',\n    attribute: 'modificationDate',\n    translationKey: 'data-hub.schema.system.modificationDate',\n    iconProps: SYSTEM_COLUMN_ICON\n  },\n  {\n    key: 'system-filename',\n    attribute: 'filename',\n    translationKey: 'data-hub.schema.system.filename',\n    iconProps: SYSTEM_COLUMN_ICON\n  },\n  {\n    key: 'system-classname',\n    attribute: 'classname',\n    translationKey: 'data-hub.schema.system.classname',\n    iconProps: SYSTEM_COLUMN_ICON\n  },\n  {\n    key: 'system-index',\n    attribute: 'index',\n    translationKey: 'data-hub.schema.system.index',\n    iconProps: SYSTEM_COLUMN_ICON\n  }\n]\n\n// Create a lookup map for quick access by attribute name\nexport const systemColumnLookup = new Map<string, SystemColumnDefinition>(\n  systemColumnDefinitions.map(def => [def.attribute, def])\n)\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/schema-fields-modal/drag-types.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { type DragAndDropInfo } from '@pimcore/studio-ui-bundle/components'\n\nexport enum DragType {\n  CLASS_ATTRIBUTE = 'class-attribute',\n  OPERATOR = 'operator',\n  TREE_ITEM = 'tree-item'\n}\n\nexport enum DropPosition {\n  BEFORE = 'before',\n  AFTER = 'after',\n  INTO = 'into'\n}\n\nexport interface DragInfo extends DragAndDropInfo {\n  type: DragType.CLASS_ATTRIBUTE | DragType.OPERATOR | DragType.TREE_ITEM\n  data: {\n    key?: string\n    title?: string\n    dataType?: string\n    operatorId?: string\n    [key: string]: any\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/schema-fields-modal/hooks/class-attributes-tree-helpers.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { type Layout } from '@pimcore/studio-ui-bundle/api/class-definition'\nimport { isNil, flatMapDeep } from 'lodash'\nimport { type TreeNode } from '../types'\n\nexport interface ObjectBricksFieldInfo {\n  name: string\n  title: string | null\n  allowedTypes: string[]\n}\n\nexport const filterTreeNodesRecursive = (\n  nodes: TreeNode[],\n  searchValue: string\n): TreeNode[] => {\n  if (!Array.isArray(nodes)) {\n    return []\n  }\n\n  return nodes.reduce<TreeNode[]>((acc, node) => {\n    const isFieldDefinition = node.isFieldDefinition === true\n    const matchesSearch = isFieldDefinition &&\n      ((node.title?.toString().toLowerCase().includes(searchValue.toLowerCase()) ?? false) ||\n       (node.attribute?.toLowerCase().includes(searchValue.toLowerCase()) ?? false))\n\n    const filteredChildren = (!isNil(node.children) && Array.isArray(node.children))\n      ? filterTreeNodesRecursive(node.children as TreeNode[], searchValue)\n      : []\n\n    if ((matchesSearch ?? false) || filteredChildren.length > 0) {\n      acc.push({\n        ...node,\n        children: filteredChildren.length > 0 ? filteredChildren : node.children\n      })\n    }\n\n    return acc\n  }, [])\n}\n\nexport const collectAllKeys = (nodes: TreeNode[]): string[] => {\n  return flatMapDeep(nodes, (node) => [\n    ...(isNil(node.key) ? [] : [String(node.key)]),\n    ...(!isNil(node.children) && Array.isArray(node.children) ? collectAllKeys(node.children as TreeNode[]) : [])\n  ])\n}\n\n/**\n * Recursively walks a raw layout's children to collect all objectbricks fields\n * that have a non-empty allowedTypes list.\n */\nexport const scanForObjectBricksFields = (layout: Layout): ObjectBricksFieldInfo[] => {\n  const results: ObjectBricksFieldInfo[] = []\n\n  const walk = (children: object[]): void => {\n    children.forEach(child => {\n      const node = child as Record<string, unknown>\n\n      if (node.fieldtype === 'objectbricks') {\n        const allowedTypes = (node.allowedTypes as string[] | undefined) ?? []\n        if (allowedTypes.length > 0) {\n          results.push({\n            name: node.name as string,\n            title: (node.title as string | null | undefined) ?? null,\n            allowedTypes\n          })\n        }\n      }\n\n      if (Array.isArray(node.children)) {\n        walk(node.children as object[])\n      }\n    })\n  }\n\n  if (Array.isArray(layout.children)) {\n    walk(layout.children)\n  }\n\n  return results\n}\n\n/**\n * Recursively removes objectbricks field nodes from the tree.\n * They are replaced by brick group nodes appended at the root level.\n */\nexport const removeObjectBricksNodes = (nodes: TreeNode[]): TreeNode[] => {\n  return nodes\n    .filter(node => !(node.dataType === 'objectbricks' && node.isFieldDefinition === true))\n    .map(node => ({\n      ...node,\n      children: (!isNil(node.children) && Array.isArray(node.children))\n        ? removeObjectBricksNodes(node.children as TreeNode[])\n        : node.children\n    }))\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/schema-fields-modal/hooks/use-class-attributes-tree.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { useMemo, useCallback } from 'react'\nimport { useClassDefinitionGetLayoutByIdQuery, type Layout } from '@pimcore/studio-ui-bundle/api/class-definition'\nimport { reduce, buildTree } from '@pimcore/studio-ui-bundle/modules/field-definitions'\nimport { type DynamicTypeFieldDefinitionRegistry, DynamicTypeFieldDefinitionDataAbstract } from '@pimcore/studio-ui-bundle/modules/field-definitions'\nimport { useInjection, serviceIds, useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { Icon } from '@pimcore/studio-ui-bundle/components'\nimport { isNil, flatMap } from 'lodash'\nimport { systemColumnDefinitions, SYSTEM_COLUMN_ICON } from '../definitions/system-column-definitions'\nimport { type TreeNode } from '../types'\nimport { useObjectBrickLayouts } from './use-objectbrick-layouts'\nimport {\n  filterTreeNodesRecursive,\n  collectAllKeys,\n  scanForObjectBricksFields,\n  removeObjectBricksNodes\n} from './class-attributes-tree-helpers'\n\ninterface UseClassAttributesTreeProps {\n  classId: string\n  enabled: boolean\n  searchValue?: string\n}\n\ninterface UseClassAttributesTreeReturn {\n  classAttributesTree: TreeNode[]\n  filteredTree: TreeNode[]\n  expandedKeys: string[]\n  getFieldDefinitions: () => TreeNode[]\n  isLoading: boolean\n}\n\nexport const useClassAttributesTree = ({\n  classId,\n  enabled,\n  searchValue = ''\n}: UseClassAttributesTreeProps): UseClassAttributesTreeReturn => {\n  const fieldDefinitionRegistry = useInjection<DynamicTypeFieldDefinitionRegistry>(serviceIds['DynamicTypes/FieldDefinitionRegistry'])\n  const { t } = useTranslation()\n\n  const { data: classLayout, isLoading, isFetching } = useClassDefinitionGetLayoutByIdQuery(\n    { id: classId },\n    { skip: !enabled, refetchOnMountOrArgChange: true }\n  )\n\n  const objectBricksFields = useMemo(() => {\n    if (isNil(classLayout)) return []\n    return scanForObjectBricksFields(classLayout)\n  }, [classLayout])\n\n  const allBrickKeys = useMemo((): string[] => {\n    return Array.from(new Set<string>(flatMap(objectBricksFields, f => f.allowedTypes)))\n  }, [objectBricksFields])\n\n  const { layouts: brickLayouts, isLoading: brickLayoutsLoading } = useObjectBrickLayouts(allBrickKeys)\n\n  const classAttributesTree = useMemo(() => {\n    const buildItemCallback = (brickKey?: string) => (\n      { fieldDefinition, initialTreeItem }: { fieldDefinition: any, initialTreeItem: any }\n    ): any => {\n      const dynType = fieldDefinitionRegistry.getDynamicType(fieldDefinition.fieldtype as string, false)\n      const isFieldDefinition = dynType instanceof DynamicTypeFieldDefinitionDataAbstract\n\n      const { icon: _icon, ...restTreeItem } = initialTreeItem\n\n      const label = fieldDefinition.title ?? fieldDefinition.name\n\n      if (!isNil(brickKey) && isFieldDefinition) {\n        const attributeKey = `${brickKey}~${fieldDefinition.name}`\n        const title = `${label} (${brickKey}.${fieldDefinition.name})`\n\n        return {\n          ...restTreeItem,\n          title,\n          className: 'ant-tree-node--has-drag-and-drop',\n          icon: initialTreeItem.icon,\n          dataType: fieldDefinition.fieldtype,\n          attribute: attributeKey,\n          iconProps: dynType?.getIcon() ?? { value: 'info' },\n          isFieldDefinition: true\n        }\n      }\n\n      const title = isFieldDefinition\n        ? `${label} (${fieldDefinition.name})`\n        : initialTreeItem.title\n\n      return {\n        ...restTreeItem,\n        title,\n        className: isFieldDefinition ? 'ant-tree-node--has-drag-and-drop' : undefined,\n        icon: initialTreeItem.icon,\n        dataType: fieldDefinition.fieldtype,\n        attribute: fieldDefinition.name,\n        iconProps: dynType?.getIcon() ?? { value: 'info' },\n        isFieldDefinition\n      }\n    }\n\n    const buildDataObjectColumns = (): TreeNode['children'] => {\n      if (isNil(classLayout)) return []\n\n      const reduced = reduce({ layout: classLayout })\n      if (reduced?.structure === undefined) return []\n\n      const { structure, fieldDefinitions } = reduced\n      const tree = buildTree({\n        structure,\n        fieldDefinitions,\n        itemCallback: buildItemCallback()\n      })\n\n      const children = (tree?.children ?? []) as TreeNode[]\n\n      return removeObjectBricksNodes(children)\n    }\n\n    const buildBrickGroupNodes = (): TreeNode[] => {\n      if (isNil(classLayout) || brickLayouts.size === 0) return []\n\n      return flatMap(allBrickKeys, brickKey => {\n        const brickLayout = brickLayouts.get(brickKey)\n        if (isNil(brickLayout)) return []\n\n        // Cast: ConfigLayoutDefinition is structurally compatible with Layout for reduce/buildTree\n        const reduced = reduce({ layout: brickLayout as unknown as Layout })\n        if (isNil(reduced?.structure)) return []\n\n        const { structure, fieldDefinitions } = reduced\n        const brickTree = buildTree({\n          structure,\n          fieldDefinitions,\n          itemCallback: buildItemCallback(brickKey)\n        })\n\n        const brickGroupNode: TreeNode = {\n          key: `brick-group-${brickKey}`,\n          title: `${brickKey} Columns`,\n          isLeaf: false,\n          icon: <Icon value=\"object-bricks\" />,\n          iconProps: { value: 'object-bricks' },\n          // Use brickTree.children directly to skip the redundant root Panel node\n          children: (brickTree?.children ?? []) as TreeNode[]\n        }\n\n        return [brickGroupNode]\n      })\n    }\n\n    const buildSystemColumns = (): TreeNode => ({\n      key: 'system-columns',\n      title: t('data-hub.schema.system-columns'),\n      isLeaf: false,\n      icon: <Icon { ...SYSTEM_COLUMN_ICON } />,\n      iconProps: SYSTEM_COLUMN_ICON,\n      children: systemColumnDefinitions.map(({ key, attribute, translationKey, iconProps }) => ({\n        key,\n        title: t(translationKey),\n        isLeaf: true,\n        dataType: 'system',\n        icon: <Icon { ...iconProps } />,\n        iconProps,\n        className: 'ant-tree-node--has-drag-and-drop',\n        attribute,\n        isFieldDefinition: true\n      }))\n    })\n\n    try {\n      const dataObjectColumnsData = buildDataObjectColumns()\n      const dataObjectColumns = {\n        key: 'object-columns',\n        title: t('data-hub.schema.data-object-columns'),\n        isLeaf: false,\n        icon: <Icon value=\"data-object\" />,\n        iconProps: { value: 'data-object' },\n        children: dataObjectColumnsData\n      }\n\n      return [dataObjectColumns, buildSystemColumns(), ...buildBrickGroupNodes()]\n    } catch (error) {\n      console.error('Error building class attributes tree:', error)\n      return []\n    }\n  }, [classLayout, brickLayouts, allBrickKeys, fieldDefinitionRegistry, t])\n\n  const filteredTree = useMemo(() => {\n    if (searchValue === '') {\n      return classAttributesTree\n    }\n    return filterTreeNodesRecursive(classAttributesTree, searchValue)\n  }, [searchValue, classAttributesTree])\n\n  const expandedKeys = useMemo(() => {\n    if (searchValue === '') {\n      return collectAllKeys(classAttributesTree)\n    }\n    return collectAllKeys(filteredTree)\n  }, [searchValue, classAttributesTree, filteredTree])\n\n  const getFieldDefinitions = useCallback((): TreeNode[] => {\n    const collectFieldDefinitions = (nodes: TreeNode[]): TreeNode[] =>\n      flatMap(nodes, node => {\n        if (node.isFieldDefinition === true) return [node]\n        if (!isNil(node.children)) return collectFieldDefinitions(node.children as TreeNode[])\n        return []\n      })\n\n    const objectColumnsNode = classAttributesTree.find(node => node.key === 'object-columns')\n    const objectColumnDefs = (!isNil(objectColumnsNode) && !isNil(objectColumnsNode.children))\n      ? collectFieldDefinitions(objectColumnsNode.children as TreeNode[])\n      : []\n\n    const brickGroupNodes = classAttributesTree.filter(\n      node => typeof node.key === 'string' && node.key.startsWith('brick-group-')\n    )\n    const brickColumnDefs = collectFieldDefinitions(brickGroupNodes)\n\n    return [...objectColumnDefs, ...brickColumnDefs]\n  }, [classAttributesTree])\n\n  // Consider still loading if the class layout resolved but we know there are brick keys\n  // to fetch and the brick layouts haven't all been resolved yet. This prevents the\n  // intermediate flash between \"class layout done\" and \"brick fetch effect fires\".\n  const pendingBrickFetch = !isLoading && !isFetching && allBrickKeys.length > 0 && brickLayouts.size === 0\n\n  return {\n    classAttributesTree,\n    filteredTree,\n    expandedKeys,\n    getFieldDefinitions,\n    isLoading: isLoading || isFetching || brickLayoutsLoading || pendingBrickFetch\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/schema-fields-modal/hooks/use-objectbrick-layouts.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { useState, useEffect } from 'react'\nimport { useAppDispatch } from '@pimcore/studio-ui-bundle/app'\nimport { api, type ConfigLayoutDefinition } from '@pimcore/studio-ui-bundle/api/class-definition'\nimport { isNil } from 'lodash'\n\ninterface UseObjectBrickLayoutsReturn {\n  layouts: Map<string, ConfigLayoutDefinition>\n  isLoading: boolean\n}\n\nexport const useObjectBrickLayouts = (brickKeys: string[]): UseObjectBrickLayoutsReturn => {\n  const dispatch = useAppDispatch()\n  const [layouts, setLayouts] = useState<Map<string, ConfigLayoutDefinition>>(new Map())\n  // Start as true when keys are already known on first render — prevents a flash of the\n  // incomplete tree between \"class layout resolved\" and \"brick fetch effect fires\".\n  const [isLoading, setIsLoading] = useState(brickKeys.length > 0)\n\n  // Stable serialization used as effect dependency — avoids re-firing on same keys with new array reference\n  const sortedKeysString = [...brickKeys].sort((a, b) => a.localeCompare(b)).join(',')\n\n  useEffect(() => {\n    if (brickKeys.length === 0) {\n      setLayouts(new Map())\n      setIsLoading(false)\n      return\n    }\n\n    setIsLoading(true)\n    let cancelled = false\n\n    const promises = brickKeys.map(key =>\n      dispatch(api.endpoints.classObjectBrickGetLayoutByKey.initiate({ key }))\n    )\n\n    void Promise.all(promises).then((responses: Array<{ data?: ConfigLayoutDefinition }>) => {\n      if (cancelled) return\n\n      const newLayouts = new Map<string, ConfigLayoutDefinition>()\n\n      brickKeys.forEach((key, index) => {\n        const data = responses[index]?.data\n        if (!isNil(data)) {\n          newLayouts.set(key, data)\n        }\n      })\n\n      setLayouts(newLayouts)\n      setIsLoading(false)\n    })\n\n    return () => {\n      cancelled = true\n      promises.forEach(p => { p.unsubscribe() })\n    }\n  }, [dispatch, sortedKeysString])\n\n  return { layouts, isLoading }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/schema-fields-modal/hooks/use-sidebar-entries.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { useMemo } from 'react'\nimport { Icon, Content } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation, useInjection } from '@pimcore/studio-ui-bundle/app'\nimport { type DynamicTypeOperatorRegistry } from '../../../../../../../modules/operators/dynamic-type-operator-registry'\nimport { useOperator } from '../../../../../../../modules/operators/hooks/use-operator'\nimport { useOperatorGroups } from '../../../../../../../modules/operators/hooks/use-operator-groups'\nimport { ClassAttributesSidebar } from '../components/class-attributes-sidebar'\nimport { OperatorsSidebar } from '../components/operators-sidebar'\n\ninterface UseSidebarEntriesProps {\n  classId: string\n  enabled: boolean\n  operatorRegistryServiceId: string\n  gridContainerClassName: string\n}\n\ninterface SidebarEntry {\n  key: string\n  icon: React.JSX.Element\n  tooltip: string\n  component: React.JSX.Element\n}\n\nexport const useSidebarEntries = ({\n  classId,\n  enabled,\n  operatorRegistryServiceId,\n  gridContainerClassName\n}: UseSidebarEntriesProps): SidebarEntry[] => {\n  const { t } = useTranslation()\n  const operatorRegistry = useInjection<DynamicTypeOperatorRegistry>(operatorRegistryServiceId)\n  const { getGroup } = useOperator()\n  const { getGroupIcon } = useOperatorGroups(operatorRegistry)\n\n  return useMemo(() => {\n    const entries: SidebarEntry[] = []\n\n    // Add class attributes entry\n    entries.push({\n      key: 'class-attributes',\n      icon: <Icon value=\"data-object\" />,\n      tooltip: t('data-hub.schema.class-attributes'),\n      component: (\n        <ClassAttributesSidebar\n          classId={ classId }\n          enabled={ enabled }\n        />\n      )\n    })\n\n    // Organize operators by group\n    const operators = operatorRegistry.getDynamicTypes()\n    const groups = new Map<string, {\n      groupName: string\n      priority: number\n    }>()\n\n    operators.forEach(operator => {\n      const groupName = operator.getGroup()\n      const { group: translatedGroup } = getGroup(operator)\n      const groupConfig = operatorRegistry.getGroupConfig(groupName)\n      const priority = groupConfig?.priority ?? 999\n\n      if (!groups.has(translatedGroup)) {\n        groups.set(translatedGroup, { groupName, priority })\n      }\n    })\n\n    // Add operator group entries\n    Array.from(groups.entries())\n      .sort(([, a], [, b]) => a.priority - b.priority)\n      .forEach(([groupKey, groupData]) => {\n        const groupIcon = getGroupIcon(groupData.groupName)\n\n        entries.push({\n          key: groupKey,\n          icon: <Icon { ...groupIcon } />,\n          tooltip: t(groupKey),\n          component: (\n            <Content>\n              <OperatorsSidebar\n                gridContainerClassName={ gridContainerClassName }\n                groupName={ groupData.groupName }\n                operatorRegistryServiceId={ operatorRegistryServiceId }\n                translatedGroupName={ groupKey }\n              />\n            </Content>\n          )\n        })\n      })\n\n    return entries\n  }, [classId, enabled, operatorRegistryServiceId, gridContainerClassName])\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/schema-fields-modal/schema-fields-modal.styles.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { createStyles } from 'antd-style'\n\nexport const useStyles = createStyles(({ css, token }) => {\n  return {\n    contentLayout: css`\n      height: 60vh;\n      border-bottom: 1px solid ${token.colorBorderSecondary};\n      \n      .pimcore-content-layout__content {\n        padding-right: ${token.padding}px;\n      }\n    `,\n\n    gridContainer: css`\n      display: grid;\n      grid-template-columns: 1fr 1fr 1fr;\n      gap: ${token.marginXS}px;\n      width: 100%;\n      align-items: stretch;\n    `\n  }\n})\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/schema-fields-modal/schema-fields-modal.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { useState, useEffect } from 'react'\nimport { Modal, Flex, Button, Form, Content, ContentLayout, Sidebar, SidebarProvider, Title } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { useClassDefinitions } from '@pimcore/studio-ui-bundle/modules/data-object'\nimport { AvailableFieldsTree } from './available-fields-tree'\nimport { type QueryEntityConfig } from './types'\nimport { isNil, cloneDeep } from 'lodash'\nimport { useStyles } from './schema-fields-modal.styles'\nimport { useSidebarEntries } from './hooks/use-sidebar-entries'\nimport { AddAllDefinitionsButton } from './components/add-all-definitions-button'\n\ninterface SchemaFieldsModalProps {\n  open: boolean\n  className: string\n  operatorRegistryServiceId: string\n  type?: 'query' | 'mutation'\n  disabled?: boolean\n  onCancel: () => void\n  onApply: () => void\n}\n\nexport const SchemaFieldsModal = ({\n  open,\n  className,\n  operatorRegistryServiceId,\n  type = 'query',\n  disabled = false,\n  onCancel,\n  onApply\n}: SchemaFieldsModalProps): React.JSX.Element => {\n  const { t } = useTranslation()\n  const { styles } = useStyles()\n  const form = Form.useFormInstance()\n  const { getByName } = useClassDefinitions()\n\n  const classDefinition = getByName(className)\n  const classId = classDefinition?.id ?? ''\n  const enabled = open && !isNil(classDefinition)\n\n  const sidebarEntries = useSidebarEntries({\n    classId,\n    enabled,\n    operatorRegistryServiceId,\n    gridContainerClassName: styles.gridContainer\n  })\n\n  const [localEntityConfig, setLocalEntityConfig] = useState<QueryEntityConfig | undefined>(undefined)\n\n  useEffect(() => {\n    if (open) {\n      const entities = form.getFieldValue(['schema', type]) ?? []\n      const entity: QueryEntityConfig | undefined = entities.find((e: any) => e.entity === className)\n      setLocalEntityConfig(isNil(entity) ? undefined : cloneDeep(entity))\n    }\n  }, [open, form, className, type])\n\n  const handleApply = (): void => {\n    const entities = form.getFieldValue(['schema', type]) ?? []\n    const entityIndex = entities.findIndex((e: any) => e.entity === className)\n\n    if (entityIndex !== -1 && !isNil(localEntityConfig)) {\n      const updatedEntities = [...entities]\n      updatedEntities[entityIndex] = localEntityConfig\n\n      form.setFieldValue(['schema', type], updatedEntities, { triggerChange: true })\n    }\n\n    onApply()\n  }\n\n  return (\n    <Modal\n      footer={ disabled\n        ? null\n        : (\n          <Flex\n            gap=\"small\"\n            justify=\"space-between\"\n          >\n            <AddAllDefinitionsButton\n              classId={ classId }\n              enabled={ enabled }\n              entityConfig={ localEntityConfig }\n              onEntityConfigChange={ setLocalEntityConfig }\n            />\n            <Button\n              onClick={ handleApply }\n              type=\"primary\"\n            >\n              {t('button.apply')}\n            </Button>\n          </Flex>\n          ) }\n      key={ `${className}-${type}` }\n      onCancel={ onCancel }\n      open={ open }\n      size=\"XL\"\n      title={ t(`data-hub.schema.${type}-modal-title`, { entity: className }) }\n    >\n      <ContentLayout\n        className={ styles.contentLayout }\n        renderSidebar={ disabled\n          ? undefined\n          : (\n            <SidebarProvider initialActiveTab={ sidebarEntries[0]?.key }>\n              <Sidebar\n                entries={ sidebarEntries }\n                sizing=\"large\"\n              />\n            </SidebarProvider>\n            ) }\n      >\n        <Content\n          padded\n          padding={ { right: 'medium' } }\n        >\n          <Title level={ 3 }>{t('data-hub.schema.available-fields')}</Title>\n          <AvailableFieldsTree\n            disabled={ disabled }\n            entityConfig={ localEntityConfig }\n            onEntityConfigChange={ setLocalEntityConfig }\n            operatorRegistryServiceId={ operatorRegistryServiceId }\n          />\n        </Content>\n      </ContentLayout>\n    </Modal>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/schema-fields-modal/types.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { type TreeDataItem } from '@pimcore/studio-ui-bundle/components'\n\nexport interface ChildAttribute {\n  key?: string\n  attributes?: {\n    attribute?: string\n    label?: string\n    dataType?: string\n  }\n  isOperator?: boolean\n}\n\nexport interface FieldAttribute {\n  attribute?: string\n  label: string\n  dataType: string\n  layout?: Record<string, any>\n  type?: string\n  class?: string\n  children?: ChildAttribute[]\n  key?: string\n}\n\nexport interface PersistedColumnConfig {\n  attributes: FieldAttribute\n  isOperator: boolean\n  key?: string\n  label?: string\n}\n\nexport interface EntityPersistedColumnConfig {\n  columns: PersistedColumnConfig[]\n}\n\nexport interface QueryEntityConfig {\n  id: string\n  name: string\n  columnConfig?: EntityPersistedColumnConfig\n}\n\nexport interface TreeNode extends TreeDataItem {\n  dataType?: string\n  isOperator?: boolean\n  label?: string\n  columnConfig?: PersistedColumnConfig\n  childIndex?: number\n  attribute?: string\n  iconProps?: any\n  operatorId?: string\n  isFieldDefinition?: boolean\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab/types.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nexport interface QueryEntity {\n  id: string\n  entity: string\n  [key: string]: any\n}\n\nexport interface MutationEntity {\n  id: string\n  entity: string\n  create: boolean\n  update: boolean\n  delete: boolean\n  [key: string]: any\n}\n\nexport interface GenericType {\n  name: string\n  readPossible: boolean\n  createPossible: boolean\n  updatePossible: boolean\n  deletePossible: boolean\n  read: boolean\n  create: boolean\n  update: boolean\n  delete: boolean\n}\n\nexport type SchemaType = 'query' | 'mutation' | 'genericTypes'\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/schema-definition-tab.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { Form, Flex, FormKit } from '@pimcore/studio-ui-bundle/components'\nimport { QueryGrid } from './schema-definition-tab/query-grid'\nimport { MutationGrid } from './schema-definition-tab/mutation-grid'\nimport { GenericTypesGrid } from './schema-definition-tab/generic-types-grid'\nimport { FieldWidthContainer } from '../../../config/components/field-width-container'\n\ninterface SchemaDefinitionTabProps {\n  isWriteable?: boolean\n}\n\nexport const SchemaDefinitionTab = ({ isWriteable = true }: SchemaDefinitionTabProps): React.JSX.Element => {\n  return (\n    <FormKit.Panel contentPadding=\"extra-small\">\n      <FieldWidthContainer>\n        <Flex\n          gap=\"small\"\n          vertical\n        >\n          <Form.Item\n            name={ ['schema', 'query'] }\n            noStyle\n          >\n            <QueryGrid isWriteable={ isWriteable } />\n          </Form.Item>\n\n          <Form.Item\n            name={ ['schema', 'mutation'] }\n            noStyle\n          >\n            <MutationGrid isWriteable={ isWriteable } />\n          </Form.Item>\n\n          <Form.Item\n            name={ ['schema', 'genericTypes'] }\n            noStyle\n          >\n            <GenericTypesGrid isWriteable={ isWriteable } />\n          </Form.Item>\n        </Flex>\n      </FieldWidthContainer>\n    </FormKit.Panel>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/security-definition-tab/types.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nexport interface Workspace {\n  path: string\n  create: boolean\n  read: boolean\n  update: boolean\n  delete: boolean\n}\n\nexport type WorkspaceType = 'documents' | 'assets' | 'objects'\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/security-definition-tab/workspace-accordion.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { useMemo } from 'react'\nimport { IconTextButton, OperationalGrid, Accordion, type AccordionItemType } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { isNil } from 'lodash'\nimport { type Workspace, type WorkspaceType } from './types'\n\ninterface WorkspaceAccordionProps {\n  type: WorkspaceType\n  value?: Workspace[]\n  onChange?: (value: Workspace[]) => void\n}\n\nexport const WorkspaceAccordion = ({\n  type,\n  value = [],\n  onChange\n}: WorkspaceAccordionProps): React.JSX.Element => {\n  const { t } = useTranslation()\n\n  const handleAdd = (): void => {\n    if (!isNil(onChange)) {\n      onChange([...value, {\n        path: '',\n        create: false,\n        read: true,\n        update: false,\n        delete: false\n      }])\n    }\n  }\n\n  const accordionItem: AccordionItemType = useMemo(() => ({\n    key: type,\n    id: type,\n    title: <>{t(`data-hub.workspaces.${type}`)}</>,\n    info: (\n      <IconTextButton\n        icon={ { value: 'add-find' } }\n        onClick={ (e) => {\n          e.stopPropagation()\n          handleAdd()\n        } }\n      >\n        {t('add')}\n      </IconTextButton>\n    ),\n    children: (\n      <OperationalGrid.Grid />\n    )\n  }), [type, value, handleAdd, t])\n\n  return (\n    <Accordion\n      activeKey={ type }\n      bordered\n      collapsible=\"icon\"\n      items={ [accordionItem] }\n      size=\"small\"\n      table\n    />\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/security-definition-tab/workspace-grid.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { useMemo } from 'react'\nimport { Flex, OperationalGrid, IconButton } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { createColumnHelper } from '@tanstack/react-table'\nimport { WorkspaceAccordion } from './workspace-accordion'\nimport { isNil } from 'lodash'\nimport { type Workspace, type WorkspaceType } from './types'\n\ninterface WorkspaceGridProps {\n  type: WorkspaceType\n  value?: Workspace[]\n  onChange?: (value: Workspace[]) => void\n  isWriteable?: boolean\n}\n\nexport const WorkspaceGrid = ({ type, value = [], onChange, isWriteable = true }: WorkspaceGridProps): React.JSX.Element => {\n  const { t } = useTranslation()\n\n  // Map workspace type to link type for the column\n  const linkType = type === 'documents' ? 'document-link' : type === 'assets' ? 'asset-link' : 'object-link'\n\n  const columns = useMemo(() => {\n    const columnHelper = createColumnHelper<Workspace>()\n\n    return [\n      columnHelper.accessor('path', {\n        header: t('data-hub.workspaces.path'),\n        size: 300,\n        meta: {\n          editable: isWriteable,\n          type: linkType,\n          autoWidth: true\n        }\n      }),\n      columnHelper.accessor('create', {\n        header: t('data-hub.workspaces.create'),\n        size: 80,\n        meta: {\n          type: 'checkbox',\n          editable: isWriteable,\n          config: {\n            align: 'center',\n            disabled: !isWriteable\n          }\n        }\n      }),\n      columnHelper.accessor('read', {\n        header: t('data-hub.workspaces.read'),\n        size: 80,\n        meta: {\n          type: 'checkbox',\n          editable: isWriteable,\n          config: {\n            align: 'center',\n            disabled: !isWriteable\n          }\n        }\n      }),\n      columnHelper.accessor('update', {\n        header: t('data-hub.workspaces.update'),\n        size: 80,\n        meta: {\n          type: 'checkbox',\n          editable: isWriteable,\n          config: {\n            align: 'center',\n            disabled: !isWriteable\n          }\n        }\n      }),\n      columnHelper.accessor('delete', {\n        header: t('data-hub.workspaces.delete'),\n        size: 80,\n        meta: {\n          type: 'checkbox',\n          editable: isWriteable,\n          config: {\n            align: 'center',\n            disabled: !isWriteable\n          }\n        }\n      }),\n      {\n        id: 'actions',\n        header: '',\n        size: 60,\n        cell: (info: { row: { index: number } }) => (\n          <Flex\n            align=\"center\"\n            justify=\"center\"\n          >\n            <IconButton\n              icon={ { value: 'trash' } }\n              onClick={ () => {\n                const newData = [...value]\n                newData.splice(info.row.index, 1)\n                if (!isNil(onChange)) {\n                  onChange(newData)\n                }\n              } }\n              type=\"link\"\n            />\n          </Flex>\n        ),\n        enableResizing: false,\n        enableSorting: false\n      }\n    ]\n  }, [linkType, t, value, onChange, isWriteable])\n\n  return (\n    <OperationalGrid\n      autoWidth\n      columns={ columns }\n      onChange={ onChange }\n      value={ value }\n    >\n      <OperationalGrid.Operations>\n        {() => (\n          <WorkspaceAccordion\n            onChange={ onChange }\n            type={ type }\n            value={ value }\n          />\n        )}\n      </OperationalGrid.Operations>\n    </OperationalGrid>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/tabs/security-definition-tab.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { Form, Select, TextArea, Switch, Button, Flex, FormKit, Box } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { WorkspaceGrid } from './security-definition-tab/workspace-grid'\n\ninterface SecurityDefinitionTabProps {\n  isWriteable?: boolean\n}\n\nexport const SecurityDefinitionTab = ({ isWriteable = true }: SecurityDefinitionTabProps): React.JSX.Element => {\n  const { t } = useTranslation()\n  const form = Form.useFormInstance()\n\n  const generateApiKey = (): void => {\n    const currentValue = form.getFieldValue(['security', 'apikey']) as string | undefined\n    const currentValueStr = String(currentValue ?? '')\n    const newKey = generateRandomKey()\n    const newValue = currentValueStr.length > 0 ? `${currentValueStr}\\n${newKey}` : newKey\n\n    form.setFieldsValue({\n      security: {\n        apikey: newValue\n      }\n    }, { triggerChange: true })\n  }\n\n  const generateRandomKey = (): string => {\n    return Array.from(crypto.getRandomValues(new Uint8Array(16)))\n      .map(b => b.toString(16).padStart(2, '0'))\n      .join('')\n  }\n\n  const methodOptions = [\n    {\n      value: 'datahub_apikey',\n      label: t('data-hub.security.method.apikey')\n    }\n  ]\n\n  return (\n    <FormKit.Panel contentPadding=\"extra-small\">\n      <FormKit.Panel\n        contentPadding=\"extra-small\"\n        title={ t('data-hub.security.authentication') }\n      >\n        <Form.Item\n          initialValue=\"datahub_apikey\"\n          label={ t('data-hub.security.method') }\n          name={ ['security', 'method'] }\n        >\n          <Select\n            options={ methodOptions }\n          />\n        </Form.Item>\n\n        <Form.Item\n          label={ t('data-hub.security.apikey') }\n          name={ ['security', 'apikey'] }\n          tooltip={ t('data-hub.security.apikey-description') }\n        >\n          <TextArea\n            autoSize={ { minRows: 4, maxRows: 10 } }\n          />\n        </Form.Item>\n\n        <Box margin={ { bottom: 'small' } }>\n          <Button\n            onClick={ generateApiKey }\n            type=\"default\"\n          >\n            {t('data-hub.security.generate-apikey')}\n          </Button>\n        </Box>\n\n        <Form.Item\n          name={ ['security', 'skipPermissionCheck'] }\n          valuePropName=\"checked\"\n        >\n          <Switch labelRight={ t('data-hub.security.skip-permission-check') } />\n        </Form.Item>\n\n        <Form.Item\n          name={ ['security', 'disableIntrospection'] }\n          valuePropName=\"checked\"\n        >\n          <Switch\n            labelRight={ t('data-hub.security.disable-introspection') }\n            tooltip={ t('data-hub.security.introspection-description') }\n          />\n        </Form.Item>\n      </FormKit.Panel>\n\n      <FormKit.Panel\n        contentPadding=\"extra-small\"\n        title={ t('data-hub.workspaces.title') }\n      >\n        <Flex\n          gap=\"small\"\n          vertical\n        >\n          <Form.Item\n            name={ ['workspaces', 'documents'] }\n            noStyle\n          >\n            <WorkspaceGrid\n              isWriteable={ isWriteable }\n              type=\"documents\"\n            />\n          </Form.Item>\n\n          <Form.Item\n            name={ ['workspaces', 'assets'] }\n            noStyle\n          >\n            <WorkspaceGrid\n              isWriteable={ isWriteable }\n              type=\"assets\"\n            />\n          </Form.Item>\n\n          <Form.Item\n            name={ ['workspaces', 'objects'] }\n            noStyle\n          >\n            <WorkspaceGrid\n              isWriteable={ isWriteable }\n              type=\"objects\"\n            />\n          </Form.Item>\n        </Flex>\n      </FormKit.Panel>\n    </FormKit.Panel>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/components/types.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { type Permission } from './tabs/permissions-tab/types'\nimport { type Workspace } from './tabs/security-definition-tab/types'\nimport { type QueryEntity, type MutationEntity, type GenericType } from './tabs/schema-definition-tab/types'\n\nexport interface GraphQLFormValues {\n  active: boolean\n  name: string\n  description: string\n  group: string\n  security: {\n    method: string\n    apikey: string\n    skipPermissionCheck: boolean\n    disableIntrospection: boolean\n  }\n  workspaces: {\n    documents: Workspace[]\n    assets: Workspace[]\n    objects: Workspace[]\n  }\n  permissions: {\n    roles: Permission[]\n    users: Permission[]\n  }\n  schema: {\n    query: QueryEntity[]\n    mutation: MutationEntity[]\n    genericTypes: GenericType[]\n  }\n}\n\nexport type { Permission, Workspace, QueryEntity, MutationEntity, GenericType }\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/graphql-api-slice-enhanced.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { api as baseApi } from './graphql-api-slice.gen'\n\nconst enhancedGraphqlApiSlice = baseApi.enhanceEndpoints({\n  addTagTypes: ['DataHubGraphql'],\n  endpoints: {\n    bundleDataHubGraphqlExplorer: {\n      providesTags: (result, error, arg) => [\n        { type: 'DataHubGraphql', id: arg.clientname }\n      ]\n    }\n  }\n})\n\nexport { enhancedGraphqlApiSlice as api }\n\nexport const {\n  useBundleDataHubGraphqlExplorerQuery,\n  useLazyBundleDataHubGraphqlExplorerQuery,\n  useBundleDataHubGraphqlExplorerUrlQuery,\n  useLazyBundleDataHubGraphqlExplorerUrlQuery\n} = enhancedGraphqlApiSlice\n\nexport type * from './graphql-api-slice.gen'\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/graphql-api-slice.gen.ts",
    "content": "import { api } from \"@pimcore/studio-ui-bundle/api\";\nexport const addTagTypes = [\"Bundle Data Hub\"] as const;\nconst injectedRtkApi = api\n    .enhanceEndpoints({\n        addTagTypes,\n    })\n    .injectEndpoints({\n        endpoints: (build) => ({\n            bundleDataHubGraphqlExplorer: build.query<\n                BundleDataHubGraphqlExplorerApiResponse,\n                BundleDataHubGraphqlExplorerApiArg\n            >({\n                query: (queryArg) => ({\n                    url: `/pimcore-studio/api/bundle/data-hub/graphql/explorer/${queryArg.clientname}`,\n                }),\n                providesTags: [\"Bundle Data Hub\"],\n            }),\n            bundleDataHubGraphqlExplorerUrl: build.query<\n                BundleDataHubGraphqlExplorerUrlApiResponse,\n                BundleDataHubGraphqlExplorerUrlApiArg\n            >({\n                query: (queryArg) => ({\n                    url: `/pimcore-studio/api/bundle/data-hub/graphql/explorer-url/${queryArg.name}`,\n                }),\n                providesTags: [\"Bundle Data Hub\"],\n            }),\n        }),\n        overrideExisting: false,\n    });\nexport { injectedRtkApi as api };\nexport type BundleDataHubGraphqlExplorerApiResponse =\n    /** status 200 bundle_data_hub_graphql_explorer_success_response */ string;\nexport type BundleDataHubGraphqlExplorerApiArg = {\n    /** Clientname of the client */\n    clientname: string;\n};\nexport type BundleDataHubGraphqlExplorerUrlApiResponse =\n    /** status 200 bundle_data_hub_graphql_explorer_url_success_response */ {\n        /** The GraphQL Explorer URL for the specified configuration */\n        explorerUrl: string;\n    };\nexport type BundleDataHubGraphqlExplorerUrlApiArg = {\n    /** Name of the configuration */\n    name: string;\n};\nexport type Error = {\n    /** Message */\n    message: string;\n};\nexport type DevError = {\n    /** Message */\n    message: string;\n    /** Details */\n    details: string;\n};\nexport const {\n    useBundleDataHubGraphqlExplorerQuery,\n    useBundleDataHubGraphqlExplorerUrlQuery,\n} = injectedRtkApi;\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/index.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { container, type AbstractModule } from '@pimcore/studio-ui-bundle'\nimport { type DynamicTypeOperatorRegistry } from '../operators/dynamic-type-operator-registry'\nimport { bundleServiceIds } from '../../config/service-ids'\n\nexport const GraphQLModule: AbstractModule = {\n  onInit: (): void => {\n    const operatorQueryRegistry = container.get<DynamicTypeOperatorRegistry>(bundleServiceIds['DataHub/DynamicTypes/Operator/GraphQL/QueryRegistry'])\n    operatorQueryRegistry.registerDynamicType(container.get(bundleServiceIds['DataHub/DynamicTypes/Operator/Alias']))\n    operatorQueryRegistry.registerDynamicType(container.get(bundleServiceIds['DataHub/DynamicTypes/Operator/Concatenator']))\n    operatorQueryRegistry.registerDynamicType(container.get(bundleServiceIds['DataHub/DynamicTypes/Operator/DateFormatter']))\n    operatorQueryRegistry.registerDynamicType(container.get(bundleServiceIds['DataHub/DynamicTypes/Operator/ElementCounter']))\n    operatorQueryRegistry.registerDynamicType(container.get(bundleServiceIds['DataHub/DynamicTypes/Operator/Substring']))\n    operatorQueryRegistry.registerDynamicType(container.get(bundleServiceIds['DataHub/DynamicTypes/Operator/Text']))\n    operatorQueryRegistry.registerDynamicType(container.get(bundleServiceIds['DataHub/DynamicTypes/Operator/Thumbnail']))\n    operatorQueryRegistry.registerDynamicType(container.get(bundleServiceIds['DataHub/DynamicTypes/Operator/ThumbnailHtml']))\n    operatorQueryRegistry.registerDynamicType(container.get(bundleServiceIds['DataHub/DynamicTypes/Operator/TranslateValue']))\n    operatorQueryRegistry.registerDynamicType(container.get(bundleServiceIds['DataHub/DynamicTypes/Operator/Trimmer']))\n\n    const operatorMutationRegistry = container.get<DynamicTypeOperatorRegistry>(bundleServiceIds['DataHub/DynamicTypes/Operator/GraphQL/MutationRegistry'])\n    operatorMutationRegistry.registerDynamicType(container.get(bundleServiceIds['DataHub/DynamicTypes/Operator/IfEmpty']))\n    operatorMutationRegistry.registerDynamicType(container.get(bundleServiceIds['DataHub/DynamicTypes/Operator/LocaleCollector']))\n    operatorMutationRegistry.registerDynamicType(container.get(bundleServiceIds['DataHub/DynamicTypes/Operator/LocaleSwitcher']))\n\n    operatorQueryRegistry.registerGroupConfig('formatter', { icon: { type: 'name', value: 'formatters', colorToken: 'colorCodingRed2' }, priority: 10 })\n    operatorQueryRegistry.registerGroupConfig('transformer', { icon: { type: 'name', value: 'transformers', colorToken: 'colorCodingViolet2' }, priority: 20 })\n    operatorQueryRegistry.registerGroupConfig('other', { icon: { type: 'name', value: 'other-operators', colorToken: 'colorCodingBeige2' }, priority: 30 })\n\n    operatorMutationRegistry.registerGroupConfig('other', { icon: { type: 'name', value: 'other-operators', colorToken: 'colorCodingBeige2' }, priority: 30 })\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/graphql/utils/transformers.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { type ElementReference } from '@pimcore/studio-ui-bundle/modules/element'\nimport { isString, isNil } from 'lodash'\nimport { type GraphQLFormValues, type Workspace, type Permission, type GenericType } from '../components/types'\nimport { type BackendConfiguration, type BackendWorkspace, type BackendPermission, type BackendSchemaEntity, type BackendSpecialEntity } from '../components/backend-types'\n\nexport function extractElementPath (pathValue: ElementReference | string | null | undefined): string {\n  if (isString(pathValue)) {\n    return pathValue\n  }\n  return pathValue?.fullPath ?? ''\n}\n\nexport function transformWorkspaceToBackend (workspace: Workspace): BackendWorkspace {\n  return {\n    cpath: extractElementPath(workspace.path as ElementReference | string | null),\n    create: workspace.create ?? false,\n    read: workspace.read ?? false,\n    update: workspace.update ?? false,\n    delete: workspace.delete ?? false\n  }\n}\n\nexport function transformWorkspaceFromBackend (backendWorkspace: BackendWorkspace): Workspace {\n  return {\n    path: backendWorkspace.cpath ?? '',\n    create: backendWorkspace.create ?? false,\n    read: backendWorkspace.read ?? false,\n    update: backendWorkspace.update ?? false,\n    delete: backendWorkspace.delete ?? false\n  }\n}\n\nexport function transformWorkspacesToBackend (workspaces: GraphQLFormValues['workspaces'] | undefined): BackendConfiguration['workspaces'] {\n  return {\n    document: (workspaces?.documents ?? []).map(transformWorkspaceToBackend),\n    asset: (workspaces?.assets ?? []).map(transformWorkspaceToBackend),\n    object: (workspaces?.objects ?? []).map(transformWorkspaceToBackend)\n  }\n}\n\nexport function transformWorkspacesFromBackend (backendWorkspaces: BackendConfiguration['workspaces']): GraphQLFormValues['workspaces'] {\n  return {\n    documents: (backendWorkspaces?.document ?? []).map(transformWorkspaceFromBackend),\n    assets: (backendWorkspaces?.asset ?? []).map(transformWorkspaceFromBackend),\n    objects: (backendWorkspaces?.object ?? []).map(transformWorkspaceFromBackend)\n  }\n}\n\nexport function transformPermissionToBackend (permission: Permission, type: 'role' | 'user'): BackendPermission {\n  return {\n    id: permission.id,\n    name: permission.name,\n    read: permission.read ?? false,\n    update: permission.update ?? false,\n    delete: permission.delete ?? false\n  }\n}\n\nexport function transformPermissionFromBackend (backendPermission: BackendPermission, type: 'role' | 'user'): Permission {\n  return {\n    id: backendPermission.id,\n    name: backendPermission.name ?? (type === 'role' ? (backendPermission.role ?? '') : (backendPermission.user ?? '')),\n    read: backendPermission.read ?? false,\n    update: backendPermission.update ?? false,\n    delete: backendPermission.delete ?? false\n  }\n}\n\nexport function transformPermissionsToBackend (permissions: GraphQLFormValues['permissions'] | undefined): BackendConfiguration['permissions'] {\n  return {\n    role: (permissions?.roles ?? []).map(perm => transformPermissionToBackend(perm, 'role')),\n    user: (permissions?.users ?? []).map(perm => transformPermissionToBackend(perm, 'user'))\n  }\n}\n\nexport function transformPermissionsFromBackend (backendPermissions: BackendConfiguration['permissions']): GraphQLFormValues['permissions'] {\n  return {\n    roles: (backendPermissions?.role ?? []).map(perm => transformPermissionFromBackend(perm, 'role')),\n    users: (backendPermissions?.user ?? []).map(perm => transformPermissionFromBackend(perm, 'user'))\n  }\n}\n\nexport function transformGenericTypeToBackend (genericType: GenericType): BackendSpecialEntity {\n  return {\n    name: genericType.name,\n    readAllowed: genericType.read ?? false,\n    createAllowed: genericType.create ?? false,\n    updateAllowed: genericType.update ?? false,\n    deleteAllowed: genericType.delete ?? false\n  }\n}\n\nexport function transformGenericTypeFromBackend (backendEntity: BackendSpecialEntity): GenericType {\n  return {\n    name: backendEntity.name,\n    readPossible: backendEntity.readPossible ?? false,\n    createPossible: backendEntity.createPossible ?? false,\n    updatePossible: backendEntity.updatePossible ?? false,\n    deletePossible: backendEntity.deletePossible ?? false,\n    read: backendEntity.readAllowed ?? false,\n    create: backendEntity.createAllowed ?? false,\n    update: backendEntity.updateAllowed ?? false,\n    delete: backendEntity.deleteAllowed ?? false\n  }\n}\n\n// Maps UI 'entity' field to backend 'name' field\nexport function transformSchemaEntitiesToBackend (entities: Record<string, unknown> | unknown[]): BackendSchemaEntity[] {\n  if (Array.isArray(entities)) {\n    return entities.map((entity: any) => {\n      const { entity: entityField, id, ...rest } = entity\n      return {\n        id,\n        name: entityField ?? rest.name ?? id,\n        ...rest\n      }\n    })\n  }\n\n  return Object.entries(entities).map(([id, entity]: [string, any]) => {\n    const { entity: entityField, ...rest } = entity\n    return {\n      id,\n      name: entityField ?? rest.name ?? id,\n      ...rest\n    }\n  })\n}\n\nexport function transformSchemaEntitiesFromBackend (backendEntities: Record<string, BackendSchemaEntity> | BackendSchemaEntity[] | undefined, defaultValue: any[] = []): any[] {\n  if (isNil(backendEntities)) {\n    return defaultValue\n  }\n\n  if (Array.isArray(backendEntities)) {\n    return backendEntities.map((entity: any) => ({\n      ...entity,\n      entity: entity.name ?? entity.id\n    }))\n  }\n\n  return Object.entries(backendEntities as Record<string, unknown>).map(([id, entity]: [string, any]) => ({\n    id,\n    ...entity,\n    entity: entity.name ?? id\n  }))\n}\n\nexport function transformApiKeyToBackend (apikey: string | undefined | null): string[] {\n  if (isNil(apikey)) {\n    return []\n  }\n\n  if (typeof apikey === 'string') {\n    return apikey.split('\\n').filter((key: string) => key.trim() !== '')\n  }\n\n  return []\n}\n\nexport function transformApiKeyFromBackend (apikey: string | string[] | undefined | null): string {\n  if (isNil(apikey)) {\n    return ''\n  }\n\n  if (Array.isArray(apikey)) {\n    return apikey.join('\\n')\n  }\n\n  return apikey\n}\n\nexport function transformFormToBackend (\n  formValues: GraphQLFormValues,\n  existingConfig: BackendConfiguration\n): BackendConfiguration {\n  const { userPermissions, ...restConfig } = existingConfig\n  return {\n    ...restConfig,\n    general: {\n      ...existingConfig.general,\n      active: formValues.active,\n      description: formValues.description,\n      group: formValues.group\n    },\n    security: {\n      ...existingConfig.security,\n      method: formValues.security?.method,\n      apikey: transformApiKeyToBackend(formValues.security?.apikey),\n      skipPermissionCheck: formValues.security?.skipPermissionCheck ?? false,\n      disableIntrospection: formValues.security?.disableIntrospection ?? false\n    },\n    workspaces: transformWorkspacesToBackend(formValues.workspaces),\n    permissions: transformPermissionsToBackend(formValues.permissions),\n    schema: {\n      ...existingConfig.schema,\n      queryEntities: transformSchemaEntitiesToBackend(formValues.schema?.query ?? []),\n      mutationEntities: transformSchemaEntitiesToBackend(formValues.schema?.mutation ?? []),\n      specialEntities: (formValues.schema?.genericTypes ?? []).map(transformGenericTypeToBackend)\n    }\n  }\n}\n\nexport function transformBackendToForm (\n  backendConfig: BackendConfiguration,\n  configName: string\n): GraphQLFormValues {\n  return {\n    active: backendConfig.general?.active ?? true,\n    name: configName,\n    description: backendConfig.general?.description ?? '',\n    group: backendConfig.general?.group ?? '',\n    security: {\n      method: backendConfig.security?.method ?? 'datahub_apikey',\n      apikey: transformApiKeyFromBackend(backendConfig.security?.apikey),\n      skipPermissionCheck: backendConfig.security?.skipPermissionCheck ?? false,\n      disableIntrospection: backendConfig.security?.disableIntrospection ?? false\n    },\n    workspaces: transformWorkspacesFromBackend(backendConfig.workspaces),\n    permissions: transformPermissionsFromBackend(backendConfig.permissions),\n    schema: {\n      query: transformSchemaEntitiesFromBackend(backendConfig.schema?.queryEntities, []),\n      mutation: transformSchemaEntitiesFromBackend(backendConfig.schema?.mutationEntities, []),\n      genericTypes: (backendConfig.schema?.specialEntities ?? []).map(transformGenericTypeFromBackend)\n    }\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/log-tab/filter-sidebar/filter-sidebar.styles.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { createStyles } from 'antd-style'\n\nexport const useStyles = createStyles(({ css }) => {\n  return {\n    fullWidth: css`\n      width: 100%;\n    `\n  }\n})\n"
  },
  {
    "path": "assets/studio/js/src/modules/log-tab/filter-sidebar/filter-sidebar.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport {\n  Button,\n  Content,\n  ContentLayout,\n  DatePicker,\n  Form,\n  IconTextButton,\n  Input,\n  Space,\n  Title,\n  Toolbar\n} from '@pimcore/studio-ui-bundle/components'\nimport {\n  PrioritySelect,\n  useFilter\n} from '@pimcore/studio-ui-bundle/modules/application-logger'\nimport React from 'react'\nimport { useStyles } from './filter-sidebar.styles'\n\nexport const DATE_FORMAT = 'YYYY-MM-DD HH:mm'\n\nexport const FilterSidebar = (): React.JSX.Element => {\n  const { t } = useTranslation()\n  const { styles } = useStyles()\n  const [form] = Form.useForm()\n\n  const {\n    dateFrom,\n    setDateFrom,\n    dateTo,\n    setDateTo,\n    relatedObjectId,\n    setRelatedObjectId,\n    message,\n    setMessage,\n    pid,\n    setPid,\n    resetFilters,\n    updateFilters,\n    isLoading\n  } = useFilter()\n\n  const handleResetFilters = (): void => {\n    resetFilters()\n    form.resetFields()\n  }\n\n  return (\n    <ContentLayout\n      renderToolbar={\n        <Toolbar theme='secondary'>\n          <IconTextButton\n            disabled={ isLoading }\n            icon={ { value: 'close' } }\n            onClick={ handleResetFilters }\n            type='link'\n          >\n            {t('sidebar.clear-all-filters')}\n          </IconTextButton>\n\n          <Button\n            disabled={ isLoading }\n            loading={ isLoading }\n            onClick={ updateFilters }\n            type='primary'\n          >\n            {t('button.apply')}\n          </Button>\n        </Toolbar>\n      }\n    >\n      <Content padded>\n        <Form\n          form={ form }\n          layout=\"vertical\"\n        >\n          <Space\n            className={ styles.fullWidth }\n            direction='vertical'\n            size=\"none\"\n          >\n            <Title>{t('application-logger.sidebar.search-parameter')}</Title>\n\n            <Form.Item\n              label={ t('application-logger.filter.date-from') }\n              name=\"dateFrom\"\n            >\n              <DatePicker\n                className=\"w-full\"\n                format={ DATE_FORMAT }\n                onChange={ (value: string) => {\n                  setDateFrom(value)\n                } }\n                outputType=\"dateString\"\n                showTime={ { format: 'HH:mm' } }\n                value={ dateFrom }\n              />\n            </Form.Item>\n\n            <Form.Item\n              label={ t('application-logger.filter.date-to') }\n              name=\"dateTo\"\n            >\n              <DatePicker\n                className=\"w-full\"\n                format={ DATE_FORMAT }\n                onChange={ (value: string) => {\n                  setDateTo(value)\n                } }\n                outputType=\"dateString\"\n                showTime={ { format: 'HH:mm' } }\n                value={ dateTo }\n              />\n            </Form.Item>\n\n            <Form.Item\n              label={ t('application-logger.filter.priority') }\n              name=\"priority\"\n            >\n              <PrioritySelect />\n            </Form.Item>\n\n            <Form.Item\n              label={ t('application-logger.filter.message') }\n              name=\"message\"\n            >\n              <Input\n                onChange={ (e) => {\n                  const value = e.target.value\n                  setMessage(value === '' ? null : value)\n                } }\n                value={ message ?? undefined }\n              />\n            </Form.Item>\n\n            <Form.Item\n              label={ t('application-logger.filter.related-object-id') }\n              name=\"relatedObjectId\"\n            >\n              <Input\n                min=\"0\"\n                onChange={ (e) => {\n                  const value = e.target.value\n                  setRelatedObjectId(value === '' ? null : Number.parseInt(value))\n                } }\n                step=\"1\"\n                type=\"number\"\n                value={ relatedObjectId ?? undefined }\n              />\n            </Form.Item>\n\n            <Form.Item\n              label={ t('application-logger.filter.pid') }\n              name=\"pid\"\n            >\n              <Input\n                min=\"0\"\n                onChange={ (e) => {\n                  const value = e.target.value\n                  setPid(value === '' ? null : Number.parseInt(value))\n                } }\n                step=\"1\"\n                type=\"number\"\n                value={ pid ?? undefined }\n              />\n            </Form.Item>\n          </Space>\n        </Form>\n      </Content>\n    </ContentLayout>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/log-tab/hooks/use-refresh-interval/use-refresh-interval.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { isNil } from 'lodash'\nimport { useCallback, useEffect, useState } from 'react'\n\nexport interface UseRefreshIntervalReturn {\n  refreshInterval: string | undefined\n  setRefreshInterval: (value: string) => void\n}\n\nexport const useRefreshInterval = (onRefresh: () => void): UseRefreshIntervalReturn => {\n  const [refreshInterval, setRefreshInterval] = useState<string | undefined>(undefined)\n\n  const stableOnRefresh = useCallback(onRefresh, [onRefresh])\n\n  useEffect(() => {\n    if (isNil(refreshInterval)) {\n      return\n    }\n\n    const intervalMs = Number.parseInt(refreshInterval) * 1000\n    const intervalId = setInterval(() => {\n      stableOnRefresh()\n    }, intervalMs)\n\n    return () => {\n      clearInterval(intervalId)\n    }\n  }, [refreshInterval, stableOnRefresh])\n\n  return { refreshInterval, setRefreshInterval }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/log-tab/index.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nexport * from './log-tab'\n"
  },
  {
    "path": "assets/studio/js/src/modules/log-tab/log-tab.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { useAppDispatch, useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { invalidatingTags } from '@pimcore/studio-ui-bundle/api'\nimport {\n  Content,\n  ContentLayout,\n  CreatableSelect,\n  Divider,\n  Flex,\n  Icon,\n  IconButton,\n  Pagination,\n  Sidebar,\n  Toolbar\n} from '@pimcore/studio-ui-bundle/components'\nimport {\n  api,\n  ApplicationLoggerTable,\n  FilterProvider,\n  useFilter,\n  useBundleApplicationLoggerGetCollectionQuery\n} from '@pimcore/studio-ui-bundle/modules/application-logger'\nimport { isNil } from 'lodash'\nimport React, { useCallback, useEffect, useState } from 'react'\nimport { FilterSidebar } from './filter-sidebar/filter-sidebar'\nimport { useRefreshInterval } from './hooks/use-refresh-interval/use-refresh-interval'\nimport { SidebarProvider } from './sidebar-provider/sidebar-provider'\n\nexport interface DataHubLogTabProps {\n  /** Full component prefix string as written by PHP, e.g. 'FileExport :: ' */\n  componentPrefix: string\n  /** The DataHub configuration name */\n  configName: string\n}\n\nexport const DataHubLogTab = (props: DataHubLogTabProps): React.JSX.Element => {\n  return (\n    <FilterProvider>\n      <DataHubLogTabInner { ...props } />\n    </FilterProvider>\n  )\n}\n\nconst DataHubLogTabInner = (props: DataHubLogTabProps): React.JSX.Element => {\n  const { componentPrefix, configName } = props\n  const { t } = useTranslation()\n\n  const sidebarEntries = [\n    {\n      key: 'filter',\n      icon: (\n        <Icon\n          options={ { width: '16px', height: '16px' } }\n          value='filter'\n        />\n      ),\n      component: <FilterSidebar />\n    }\n  ]\n  const dispatch = useAppDispatch()\n  const [currentPage, setCurrentPage] = useState<number>(1)\n  const [pageSize, setPageSize] = useState<number>(20)\n\n  const { columnFilters, setIsLoading: setFilterLoading } = useFilter()\n\n  // Always append the fixed component filter silently\n  const mergedFilters = [\n    ...columnFilters,\n    {\n      key: 'component',\n      type: 'equals',\n      filterValue: componentPrefix + configName\n    }\n  ]\n\n  const { data, isFetching } = useBundleApplicationLoggerGetCollectionQuery({\n    body: {\n      filters: {\n        page: currentPage,\n        pageSize,\n        columnFilters: mergedFilters\n      }\n    }\n  })\n\n  const total = data?.totalItems ?? 0\n\n  const onPagerChange = (page: number, newPageSize: number): void => {\n    setCurrentPage(page)\n    setPageSize(newPageSize)\n  }\n\n  const refreshData = useCallback((): void => {\n    dispatch(\n      api.util.invalidateTags(\n        invalidatingTags.APPLICATION_LOGGER()\n      )\n    )\n  }, [dispatch])\n\n  const { refreshInterval, setRefreshInterval } = useRefreshInterval(refreshData)\n\n  useEffect(() => {\n    setFilterLoading(isFetching)\n  }, [isFetching])\n\n  return (\n    <SidebarProvider>\n      <ContentLayout\n        className='h-full'\n        renderSidebar={ <Sidebar entries={ sidebarEntries } /> }\n        renderToolbar={\n          <Toolbar\n            justify='space-between'\n            theme='secondary'\n          >\n            <Flex\n              align=\"center\"\n              gap={ 8 }\n            >\n              {!isNil(refreshInterval) && (\n                <span>{t('application-logger.refresh-interval')}</span>\n              )}\n              <CreatableSelect\n                allowClear\n                inputType='number'\n                minWidth={ 200 }\n                numberInputProps={ {\n                  min: 1\n                } }\n                onChange={ setRefreshInterval }\n                onCreateOption={ (value) => {\n                  return {\n                    value,\n                    label: t('application-logger.refresh-interval.seconds', { seconds: value })\n                  }\n                } }\n                options={ [\n                  { value: '3', label: t('application-logger.refresh-interval.seconds', { seconds: 3 }) },\n                  { value: '5', label: t('application-logger.refresh-interval.seconds', { seconds: 5 }) },\n                  { value: '10', label: t('application-logger.refresh-interval.seconds', { seconds: 10 }) },\n                  { value: '30', label: t('application-logger.refresh-interval.seconds', { seconds: 30 }) },\n                  { value: '60', label: t('application-logger.refresh-interval.seconds', { seconds: 60 }) }\n                ] }\n                placeholder={ t('application-logger.refresh-interval.select') }\n                validate={ (value) => !Number.isNaN(Number.parseInt(value)) && Number.parseInt(value) > 0 }\n                value={ refreshInterval }\n              />\n            </Flex>\n\n            <Flex>\n              <IconButton\n                disabled={ isFetching }\n                icon={ { value: 'refresh' } }\n                onClick={ refreshData }\n              />\n              {total > 0 && (\n                <>\n                  <Divider\n                    size=\"small\"\n                    type=\"vertical\"\n                  />\n                  <Pagination\n                    current={ currentPage }\n                    defaultPageSize={ pageSize }\n                    onChange={ onPagerChange }\n                    showSizeChanger\n                    showTotal={ (total) => t('pagination.show-total', { total }) }\n                    total={ total }\n                  />\n                </>\n              )}\n            </Flex>\n          </Toolbar>\n        }\n      >\n        <Content\n          loading={ isFetching }\n          padded\n        >\n          <ApplicationLoggerTable items={ data?.items ?? [] } />\n        </Content>\n      </ContentLayout>\n    </SidebarProvider>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/log-tab/sidebar-provider/sidebar-provider.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport {\n  SidebarContext,\n  type SidebarContextValue\n} from '@pimcore/studio-ui-bundle/components'\nimport React, { useMemo, useState } from 'react'\n\nexport interface SidebarProviderProps {\n  children: React.ReactNode\n}\n\n/**\n * Minimal SidebarContext provider that opens the 'filter' tab by default.\n * SidebarProvider from the SDK is not exported, so this is an inline workaround.\n */\nexport const SidebarProvider = ({ children }: SidebarProviderProps): React.JSX.Element => {\n  const [activeTab, setActiveTab] = useState<string>('filter')\n\n  const contextValue = useMemo<SidebarContextValue>(() => ({\n    entries: [],\n    buttons: [],\n    sizing: 'default',\n    highlights: [],\n    activeTab,\n    setEntries: () => {},\n    setButtons: () => {},\n    setSizing: () => {},\n    setHighlights: () => {},\n    setActiveTab,\n    addEntry: () => {},\n    removeEntry: () => {},\n    addButton: () => {},\n    removeButton: () => {},\n    toggleHighlight: () => {},\n    openTab: (key: string) => { setActiveTab(key) },\n    closeTab: () => { setActiveTab('') },\n    toggleTab: (key: string) => {\n      setActiveTab((prev) => prev === key ? '' : key)\n    }\n  }), [activeTab])\n\n  return (\n    <SidebarContext.Provider value={ contextValue }>\n      {children}\n    </SidebarContext.Provider>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/components/operator-modal.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React, { useCallback, useEffect } from 'react'\nimport { Modal, Form, FormKit } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { type OperatorConfigModalProps } from '../dynamic-type-operator-abstract'\nimport { useOperatorModal } from '../hooks/use-operator-modal'\nimport type { FormInstance } from 'antd'\n\ninterface OperatorModalProps<T = any> extends OperatorConfigModalProps<T> {\n  children: (context: { form: FormInstance }) => React.ReactNode\n  initialValues?: Partial<T>\n  size?: React.ComponentProps<typeof Modal>['size']\n  footer?: (context: { handleApply: () => Promise<void>, onCancel: () => void, disabled: boolean }) => React.ReactNode\n}\n\nexport const OperatorModal = <T = any>({\n  children,\n  initialValues,\n  size,\n  footer,\n  disabled = false,\n  ...props\n}: OperatorModalProps<T>): React.JSX.Element => {\n  const { onCancel } = props\n  const { t } = useTranslation()\n  const { localizedName, getInitialValues, updateAttributes } = useOperatorModal(props)\n  const [form] = Form.useForm()\n\n  useEffect(() => {\n    const initialData = getInitialValues(initialValues)\n    form.setFieldsValue(initialData as Partial<any>)\n  }, [])\n\n  const handleApply = useCallback(async (): Promise<void> => {\n    if (disabled) return\n    const values: Partial<T> = await form.validateFields()\n    updateAttributes(values)\n  }, [disabled, form, updateAttributes])\n\n  useEffect(() => {\n    if (disabled) return\n\n    const handleKeyDown = (e: KeyboardEvent): void => {\n      if (e.key === 'Enter') {\n        void handleApply()\n      }\n    }\n\n    document.addEventListener('keydown', handleKeyDown)\n    return () => { document.removeEventListener('keydown', handleKeyDown) }\n  }, [disabled, handleApply])\n\n  return (\n    <Modal\n      footer={ footer?.({ handleApply, onCancel, disabled }) ?? (disabled ? null : undefined) }\n      okText={ t('apply') }\n      onCancel={ onCancel }\n      onOk={ footer === undefined && !disabled ? () => { void handleApply() } : undefined }\n      open\n      size={ size }\n      title={ localizedName }\n    >\n      <FormKit formProps={ { form, disabled } }>\n        {children({ form })}\n      </FormKit>\n    </Modal>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/components/thumbnail-select.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { Select, type SelectProps } from '@pimcore/studio-ui-bundle/components'\nimport { useBundleDataHubThumbnailsCollectionQuery } from '../thumbnails-api-slice.gen'\n\ninterface ThumbnailSelectProps extends Omit<SelectProps, 'options'> {}\n\nexport const ThumbnailSelect = ({ ...props }: ThumbnailSelectProps): React.JSX.Element => {\n  const { data: thumbnailsData } = useBundleDataHubThumbnailsCollectionQuery()\n\n  const thumbnailOptions = thumbnailsData?.items.map((thumbnail) => ({\n    label: thumbnail.text,\n    value: thumbnail.id\n  })) ?? []\n\n  return (\n    <Select\n      options={ thumbnailOptions }\n      showSearch\n      style={ { width: '100%' } }\n      { ...props }\n    />\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/dynamic-type-operator-abstract.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport type React from 'react'\nimport { injectable } from '@pimcore/studio-ui-bundle/app'\nimport type { ElementIcon } from '@pimcore/studio-ui-bundle/modules/widget-manager'\n\nexport interface ColumnConfig<TAttributes = any> {\n  attributes: TAttributes\n  isOperator: boolean\n  key?: string\n  label?: string\n}\n\nexport interface SourceConfig {\n  dataType?: string\n  isOperator?: boolean\n  operatorClass?: string\n}\n\nexport interface OperatorConfigModalProps<TAttributes = any> {\n  config: ColumnConfig<TAttributes>\n  operator: DynamicTypeOperatorAbstract<TAttributes>\n  disabled?: boolean\n  onApply: (config: ColumnConfig<TAttributes>) => void\n  onCancel: () => void\n}\n\n@injectable()\nexport abstract class DynamicTypeOperatorAbstract<TAttributes = any> {\n  abstract readonly id: string\n\n  abstract getIcon (): ElementIcon\n\n  abstract getLabel (config: ColumnConfig<TAttributes>, localizedName: string): React.ReactNode\n\n  abstract getConfigModal (props: OperatorConfigModalProps<TAttributes>): React.JSX.Element | null\n\n  getGroup (): string {\n    return 'other'\n  }\n\n  getSubGroup (): string | undefined {\n    return undefined\n  }\n\n  // Return undefined for unlimited children or a number to enforce a limit\n  getMaxChildCount (): number | undefined {\n    return undefined\n  }\n\n  allowChild (targetConfig: ColumnConfig<TAttributes>, sourceConfig: SourceConfig): boolean {\n    const maxChildCount = this.getMaxChildCount()\n\n    if (maxChildCount !== undefined) {\n      const attributes = targetConfig.attributes as any\n      const currentChildCount = Array.isArray(attributes?.children)\n        ? attributes.children.length\n        : 0\n\n      if (currentChildCount >= maxChildCount) {\n        return false\n      }\n    }\n\n    const allowedTypes = this.allowedChildTypes()\n    if (allowedTypes.length > 0 && sourceConfig?.dataType !== undefined) {\n      return allowedTypes.includes(sourceConfig.dataType)\n    }\n\n    return true\n  }\n\n  allowsChildren (): boolean {\n    return true\n  }\n\n  // Return empty array for no restrictions on child data types\n  allowedChildTypes (): string[] {\n    return []\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/dynamic-type-operator-registry.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { injectable } from '@pimcore/studio-ui-bundle/app'\nimport { DynamicTypeRegistryAbstract } from '@pimcore/studio-ui-bundle/modules/element'\nimport { type DynamicTypeOperatorAbstract } from './dynamic-type-operator-abstract'\nimport type { ElementIcon } from '@pimcore/studio-ui-bundle/modules/widget-manager'\n\nexport interface GroupConfig {\n  icon: ElementIcon\n  priority: number\n}\n\n@injectable()\nexport class DynamicTypeOperatorRegistry extends DynamicTypeRegistryAbstract<DynamicTypeOperatorAbstract> {\n  private readonly groupConfigs = new Map<string, GroupConfig>()\n\n  registerGroupConfig (group: string, config: GroupConfig): void {\n    this.groupConfigs.set(group, config)\n  }\n\n  getGroupConfig (group: string): GroupConfig | undefined {\n    return this.groupConfigs.get(group)\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/hooks/use-operator-groups.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport type { DynamicTypeOperatorRegistry } from '../dynamic-type-operator-registry'\nimport type { ElementIcon } from '@pimcore/studio-ui-bundle/modules/widget-manager'\n\ninterface UseOperatorGroupsReturn {\n  getGroupIcon: (groupName: string) => ElementIcon\n}\n\nexport function useOperatorGroups (registry: DynamicTypeOperatorRegistry): UseOperatorGroupsReturn {\n  const getGroupIcon = React.useCallback(\n    (groupName: string): ElementIcon => {\n      const groupConfig = registry.getGroupConfig(groupName)\n      return groupConfig?.icon ?? { type: 'name' as const, value: 'data-object' }\n    },\n    [registry]\n  )\n\n  return {\n    getGroupIcon\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/hooks/use-operator-modal.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { useCallback, useMemo } from 'react'\nimport { type OperatorConfigModalProps } from '../dynamic-type-operator-abstract'\nimport { useOperator } from './use-operator'\n\ninterface UseOperatorModalReturn<T = any> {\n  localizedName: string\n  updateAttributes: (values: Partial<T>) => void\n  getInitialValues: (additionalDefaults?: Partial<T>) => T\n}\n\nexport function useOperatorModal<T = any> (\n  props: OperatorConfigModalProps<T>\n): UseOperatorModalReturn<T> {\n  const { operator, config, onApply } = props\n  const { getLocalizedName } = useOperator()\n\n  const localizedName = useMemo(\n    () => getLocalizedName(operator),\n    [getLocalizedName, operator]\n  )\n\n  const updateAttributes = useCallback(\n    (values: Partial<T>): void => {\n      const updatedConfig = {\n        ...config,\n        attributes: {\n          ...config.attributes,\n          ...values\n        }\n      }\n      onApply(updatedConfig)\n    },\n    [config, onApply]\n  )\n\n  const getInitialValues = useCallback(\n    (additionalDefaults?: Partial<T>): T => {\n      const result: T = {\n        label: localizedName,\n        ...additionalDefaults,\n        ...config.attributes\n      }\n      return result\n    },\n    [config.attributes, localizedName]\n  )\n\n  return {\n    localizedName,\n    updateAttributes,\n    getInitialValues\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/hooks/use-operator.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { useCallback } from 'react'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { kebabCase, isNil } from 'lodash'\nimport { type DynamicTypeOperatorAbstract } from '../dynamic-type-operator-abstract'\nimport type { DynamicTypeOperatorRegistry } from '../dynamic-type-operator-registry'\nimport type { ElementIcon } from '@pimcore/studio-ui-bundle/modules/widget-manager'\n\ninterface UseOperatorReturn {\n  getLocalizedName: (operator: DynamicTypeOperatorAbstract) => string\n  getGroup: (operator: DynamicTypeOperatorAbstract) => { group: string, subGroup?: string }\n  getIcon: (operator: DynamicTypeOperatorAbstract, registry: DynamicTypeOperatorRegistry) => ElementIcon\n}\n\nexport function useOperator (): UseOperatorReturn {\n  const { t } = useTranslation()\n\n  const getLocalizedName = useCallback(\n    (operator: DynamicTypeOperatorAbstract) => t(`data-hub.operator.${kebabCase(operator.id)}`),\n    []\n  )\n\n  const getGroup = useCallback(\n    (operator: DynamicTypeOperatorAbstract) => {\n      const group = operator.getGroup()\n      const subGroup = operator.getSubGroup()\n      return {\n        group: t(`data-hub.operator.group.${kebabCase(group)}`),\n        subGroup: isNil(subGroup) ? undefined : t(`data-hub.operator.subgroup.${kebabCase(subGroup)}`)\n      }\n    },\n    []\n  )\n\n  const getIcon = useCallback(\n    (operator: DynamicTypeOperatorAbstract, registry: DynamicTypeOperatorRegistry): ElementIcon => {\n      const operatorIcon = operator.getIcon()\n\n      if (!isNil(operatorIcon.colorToken)) {\n        return operatorIcon\n      }\n\n      const groupName = operator.getGroup()\n      const groupConfig = registry.getGroupConfig(groupName)\n\n      if (isNil(groupConfig?.icon.colorToken)) {\n        return operatorIcon\n      }\n\n      return {\n        ...operatorIcon,\n        colorToken: groupConfig.icon.colorToken\n      }\n    },\n    []\n  )\n\n  return {\n    getLocalizedName,\n    getGroup,\n    getIcon\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/operators/alias/alias-config-modal.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { Form, Input } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { type OperatorConfigModalProps } from '../../dynamic-type-operator-abstract'\nimport { type AliasAttributes } from './dynamic-type-operator-alias'\nimport { OperatorModal } from '../../components/operator-modal'\n\nexport const AliasConfigModal = (props: OperatorConfigModalProps<AliasAttributes>): React.JSX.Element => {\n  const { t } = useTranslation()\n\n  return (\n    <OperatorModal { ...props }>\n      {() => (\n        <Form.Item\n          label={ t('data-hub.label') }\n          name=\"label\"\n        >\n          <Input />\n        </Form.Item>\n      )}\n    </OperatorModal>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/operators/alias/dynamic-type-operator-alias.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { injectable } from '@pimcore/studio-ui-bundle/app'\nimport type { ElementIcon } from '@pimcore/studio-ui-bundle/modules/widget-manager'\nimport { isNonEmptyString } from '@pimcore/studio-ui-bundle/utils'\nimport { DynamicTypeOperatorAbstract, type OperatorConfigModalProps, type ColumnConfig } from '../../dynamic-type-operator-abstract'\nimport { AliasConfigModal } from './alias-config-modal'\n\nexport interface AliasAttributes {\n  label: string\n}\n\n@injectable()\nexport class DynamicTypeOperatorAlias extends DynamicTypeOperatorAbstract<AliasAttributes> {\n  readonly id = 'Alias'\n\n  getIcon (): ElementIcon {\n    return { type: 'name', value: 'text-input' }\n  }\n\n  getLabel (config: ColumnConfig<AliasAttributes>, localizedName: string): React.ReactNode {\n    const label = config.attributes.label\n    return isNonEmptyString(label) ? label : localizedName\n  }\n\n  getConfigModal (props: OperatorConfigModalProps<AliasAttributes>): React.JSX.Element {\n    return <AliasConfigModal { ...props } />\n  }\n\n  getGroup (): string {\n    return 'other'\n  }\n\n  getMaxChildCount (): number {\n    return 1\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/operators/concatenator/concatenator-config-modal.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { Form, Input } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { type OperatorConfigModalProps } from '../../dynamic-type-operator-abstract'\nimport { type ConcatenatorAttributes } from './dynamic-type-operator-concatenator'\nimport { OperatorModal } from '../../components/operator-modal'\n\nexport const ConcatenatorConfigModal = (props: OperatorConfigModalProps<ConcatenatorAttributes>): React.JSX.Element => {\n  const { t } = useTranslation()\n\n  return (\n    <OperatorModal\n      { ...props }\n      initialValues={ { glue: '' } }\n    >\n      {() => (\n        <>\n          <Form.Item\n            label={ t('data-hub.label') }\n            name=\"label\"\n          >\n            <Input />\n          </Form.Item>\n          <Form.Item\n            label={ t('data-hub.operator.glue') }\n            name=\"glue\"\n          >\n            <Input />\n          </Form.Item>\n        </>\n      )}\n    </OperatorModal>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/operators/concatenator/dynamic-type-operator-concatenator.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { injectable } from '@pimcore/studio-ui-bundle/app'\nimport { isNil } from 'lodash'\nimport { Text } from '@pimcore/studio-ui-bundle/components'\nimport { isNonEmptyString } from '@pimcore/studio-ui-bundle/utils'\nimport type { ElementIcon } from '@pimcore/studio-ui-bundle/modules/widget-manager'\nimport { DynamicTypeOperatorAbstract, type OperatorConfigModalProps, type ColumnConfig } from '../../dynamic-type-operator-abstract'\nimport { ConcatenatorConfigModal } from './concatenator-config-modal'\n\nexport interface ConcatenatorAttributes {\n  label: string\n  glue?: string\n}\n\n@injectable()\nexport class DynamicTypeOperatorConcatenator extends DynamicTypeOperatorAbstract<ConcatenatorAttributes> {\n  readonly id = 'Concatenator'\n\n  getIcon (): ElementIcon {\n    return { type: 'name', value: 'operator-concatenator' }\n  }\n\n  getLabel (config: ColumnConfig<ConcatenatorAttributes>, localizedName: string): React.ReactNode {\n    const label = config.attributes.label\n    const glue = config.attributes.glue\n    const displayLabel = isNonEmptyString(label) ? label : localizedName\n\n    if (!isNil(glue) && glue !== '') {\n      return (\n        <>\n          {displayLabel} <Text type=\"secondary\">({glue})</Text>\n        </>\n      )\n    }\n\n    return displayLabel\n  }\n\n  getConfigModal (props: OperatorConfigModalProps<ConcatenatorAttributes>): React.JSX.Element {\n    return <ConcatenatorConfigModal { ...props } />\n  }\n\n  getGroup (): string {\n    return 'transformer'\n  }\n\n  getSubGroup (): string | undefined {\n    return 'other'\n  }\n\n  allowsChildren (): boolean {\n    return true\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/operators/date-formatter/date-formatter-config-modal.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { Input, Form, Flex, Button, IconTextButton } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { type OperatorConfigModalProps } from '../../dynamic-type-operator-abstract'\nimport { type DateFormatterAttributes } from './dynamic-type-operator-date-formatter'\nimport { OperatorModal } from '../../components/operator-modal'\n\nexport const DateFormatterConfigModal = (props: OperatorConfigModalProps<DateFormatterAttributes>): React.JSX.Element => {\n  const { t } = useTranslation()\n\n  const openHelp = (): void => {\n    window.open('https://www.php.net/manual/en/function.date.php', '_blank', 'noopener,noreferrer')\n  }\n\n  return (\n    <OperatorModal\n      { ...props }\n      footer={ ({ handleApply, onCancel, disabled }) => (\n        disabled\n          ? null\n          : (\n            <Flex justify=\"space-between\">\n              <IconTextButton\n                icon={ { value: 'help-circle' } }\n                onClick={ openHelp }\n                type=\"default\"\n              >\n                {t('data-hub.help')}\n              </IconTextButton>\n\n              <Flex gap=\"small\">\n                <Button onClick={ onCancel }>\n                  {t('cancel')}\n                </Button>\n                <Button\n                  onClick={ () => { void handleApply() } }\n                  type=\"primary\"\n                >\n                  {t('apply')}\n                </Button>\n              </Flex>\n            </Flex>\n            )\n      ) }\n      initialValues={ { format: 'Y-m-d H:i:s' } }\n      size=\"M\"\n    >\n      {() => (\n        <>\n          <Form.Item\n            label={ t('data-hub.label') }\n            name=\"label\"\n          >\n            <Input maxLength={ 255 } />\n          </Form.Item>\n\n          <Form.Item\n            label={ t('data-hub.operator.dateformatter.format') }\n            name=\"format\"\n          >\n            <Input maxLength={ 255 } />\n          </Form.Item>\n        </>\n      )}\n    </OperatorModal>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/operators/date-formatter/dynamic-type-operator-date-formatter.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { injectable } from '@pimcore/studio-ui-bundle/app'\nimport { isNil } from 'lodash'\nimport { Text } from '@pimcore/studio-ui-bundle/components'\nimport { isNonEmptyString } from '@pimcore/studio-ui-bundle/utils'\nimport type { ElementIcon } from '@pimcore/studio-ui-bundle/modules/widget-manager'\nimport { DynamicTypeOperatorAbstract, type OperatorConfigModalProps, type ColumnConfig } from '../../dynamic-type-operator-abstract'\nimport { DateFormatterConfigModal } from './date-formatter-config-modal'\n\nexport interface DateFormatterAttributes {\n  label: string\n  format: string\n}\n\n@injectable()\nexport class DynamicTypeOperatorDateFormatter extends DynamicTypeOperatorAbstract<DateFormatterAttributes> {\n  readonly id = 'DateFormatter'\n\n  getIcon (): ElementIcon {\n    return { type: 'name', value: 'date-formatter' }\n  }\n\n  getLabel (config: ColumnConfig<DateFormatterAttributes>, localizedName: string): React.ReactNode {\n    const label = config.attributes.label\n    const format = config.attributes.format\n    const displayLabel = isNonEmptyString(label) ? label : localizedName\n\n    if (!isNil(format)) {\n      return (\n        <>\n          {displayLabel} <Text type=\"secondary\">({format})</Text>\n        </>\n      )\n    }\n\n    return displayLabel\n  }\n\n  getConfigModal (props: OperatorConfigModalProps<DateFormatterAttributes>): React.JSX.Element {\n    return <DateFormatterConfigModal { ...props } />\n  }\n\n  getGroup (): string {\n    return 'formatter'\n  }\n\n  getSubGroup (): string | undefined {\n    return 'other'\n  }\n\n  getMaxChildCount (): number {\n    return 1\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/operators/element-counter/dynamic-type-operator-element-counter.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { injectable } from '@pimcore/studio-ui-bundle/app'\nimport type { ElementIcon } from '@pimcore/studio-ui-bundle/modules/widget-manager'\nimport { isNonEmptyString } from '@pimcore/studio-ui-bundle/utils'\nimport { DynamicTypeOperatorAbstract, type OperatorConfigModalProps, type ColumnConfig } from '../../dynamic-type-operator-abstract'\nimport { ElementCounterConfigModal } from './element-counter-config-modal'\n\nexport interface ElementCounterAttributes {\n  label: string\n  countEmpty: boolean\n}\n\n@injectable()\nexport class DynamicTypeOperatorElementCounter extends DynamicTypeOperatorAbstract<ElementCounterAttributes> {\n  readonly id = 'ElementCounter'\n\n  getIcon (): ElementIcon {\n    return { type: 'name', value: 'counter' }\n  }\n\n  getLabel (config: ColumnConfig<ElementCounterAttributes>, localizedName: string): React.ReactNode {\n    const label = config.attributes.label\n    return isNonEmptyString(label) ? label : localizedName\n  }\n\n  getConfigModal (props: OperatorConfigModalProps<ElementCounterAttributes>): React.JSX.Element {\n    return <ElementCounterConfigModal { ...props } />\n  }\n\n  getGroup (): string {\n    return 'transformer'\n  }\n\n  getSubGroup (): string | undefined {\n    return 'other'\n  }\n\n  allowsChildren (): boolean {\n    return true\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/operators/element-counter/element-counter-config-modal.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { Form, Input, Switch } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { type OperatorConfigModalProps } from '../../dynamic-type-operator-abstract'\nimport { type ElementCounterAttributes } from './dynamic-type-operator-element-counter'\nimport { OperatorModal } from '../../components/operator-modal'\n\nexport const ElementCounterConfigModal = (props: OperatorConfigModalProps<ElementCounterAttributes>): React.JSX.Element => {\n  const { t } = useTranslation()\n\n  return (\n    <OperatorModal\n      { ...props }\n      initialValues={ { countEmpty: false } }\n    >\n      {() => (\n        <>\n          <Form.Item\n            label={ t('data-hub.label') }\n            name=\"label\"\n          >\n            <Input />\n          </Form.Item>\n          <Form.Item\n            name=\"countEmpty\"\n          >\n            <Switch labelRight={ t('data-hub.operator.element-counter.count-empty') } />\n          </Form.Item>\n        </>\n      )}\n    </OperatorModal>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/operators/if-empty/dynamic-type-operator-if-empty.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { injectable } from '@pimcore/studio-ui-bundle/app'\nimport React from 'react'\nimport { isNonEmptyString } from '@pimcore/studio-ui-bundle/utils'\nimport type { ElementIcon } from '@pimcore/studio-ui-bundle/modules/widget-manager'\nimport { DynamicTypeOperatorAbstract, type OperatorConfigModalProps, type ColumnConfig } from '../../dynamic-type-operator-abstract'\nimport { IfEmptyConfigModal } from './if-empty-config-modal'\n\nexport interface IfEmptyAttributes {\n  label: string\n}\n\n@injectable()\nexport class DynamicTypeOperatorIfEmpty extends DynamicTypeOperatorAbstract<IfEmptyAttributes> {\n  readonly id = 'IfEmpty'\n\n  getIcon (): ElementIcon {\n    return { type: 'name', value: 'settings-brightness' }\n  }\n\n  getLabel (config: ColumnConfig<IfEmptyAttributes>, localizedName: string): React.ReactNode {\n    const label = config.attributes.label\n    return isNonEmptyString(label) ? label : localizedName\n  }\n\n  getGroup (): string {\n    return 'other'\n  }\n\n  getConfigModal (props: OperatorConfigModalProps<IfEmptyAttributes>): React.JSX.Element {\n    return <IfEmptyConfigModal { ...props } />\n  }\n\n  getMaxChildCount (): number {\n    return 1\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/operators/if-empty/if-empty-config-modal.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { Form, Input } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { type IfEmptyAttributes } from './dynamic-type-operator-if-empty'\nimport { type OperatorConfigModalProps } from '../../dynamic-type-operator-abstract'\nimport { OperatorModal } from '../../components/operator-modal'\n\nexport const IfEmptyConfigModal = (props: OperatorConfigModalProps<IfEmptyAttributes>): React.JSX.Element => {\n  const { t } = useTranslation()\n\n  return (\n    <OperatorModal { ...props }>\n      {() => (\n        <Form.Item\n          label={ t('data-hub.label') }\n          name=\"label\"\n        >\n          <Input />\n        </Form.Item>\n      )}\n    </OperatorModal>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/operators/index.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\n// Query Operators\nexport { DynamicTypeOperatorAlias } from './alias/dynamic-type-operator-alias'\nexport { DynamicTypeOperatorConcatenator } from './concatenator/dynamic-type-operator-concatenator'\nexport { DynamicTypeOperatorDateFormatter } from './date-formatter/dynamic-type-operator-date-formatter'\nexport { DynamicTypeOperatorElementCounter } from './element-counter/dynamic-type-operator-element-counter'\nexport { DynamicTypeOperatorSubstring } from './substring/dynamic-type-operator-substring'\nexport { DynamicTypeOperatorText } from './text/dynamic-type-operator-text'\nexport { DynamicTypeOperatorThumbnail } from './thumbnail/dynamic-type-operator-thumbnail'\nexport { DynamicTypeOperatorThumbnailHtml } from './thumbnail-html/dynamic-type-operator-thumbnail-html'\nexport { DynamicTypeOperatorTranslateValue } from './translate-value/dynamic-type-operator-translate-value'\nexport { DynamicTypeOperatorTrimmer } from './trimmer/dynamic-type-operator-trimmer'\n\n// Mutation Operators\nexport { DynamicTypeOperatorIfEmpty } from './if-empty/dynamic-type-operator-if-empty'\nexport { DynamicTypeOperatorLocaleCollector } from './locale-collector/dynamic-type-operator-locale-collector'\nexport { DynamicTypeOperatorLocaleSwitcher } from './locale-switcher/dynamic-type-operator-locale-switcher'\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/operators/locale-collector/dynamic-type-operator-locale-collector.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { injectable } from '@pimcore/studio-ui-bundle/app'\nimport React from 'react'\nimport { isNonEmptyString } from '@pimcore/studio-ui-bundle/utils'\nimport type { ElementIcon } from '@pimcore/studio-ui-bundle/modules/widget-manager'\nimport { DynamicTypeOperatorAbstract, type OperatorConfigModalProps, type ColumnConfig } from '../../dynamic-type-operator-abstract'\nimport { LocaleCollectorConfigModal } from './locale-collector-config-modal'\n\nexport interface LocaleCollectorAttributes {\n  label: string\n}\n\n@injectable()\nexport class DynamicTypeOperatorLocaleCollector extends DynamicTypeOperatorAbstract<LocaleCollectorAttributes> {\n  readonly id = 'LocaleCollector'\n\n  getIcon (): ElementIcon {\n    return { type: 'name', value: 'locale-collector' }\n  }\n\n  getLabel (config: ColumnConfig<LocaleCollectorAttributes>, localizedName: string): React.ReactNode {\n    const label = config.attributes.label\n    return isNonEmptyString(label) ? label : localizedName\n  }\n\n  getGroup (): string {\n    return 'other'\n  }\n\n  getConfigModal (props: OperatorConfigModalProps<LocaleCollectorAttributes>): React.JSX.Element {\n    return <LocaleCollectorConfigModal { ...props } />\n  }\n\n  getMaxChildCount (): number {\n    return 1\n  }\n\n  allowedChildTypes (): string[] {\n    return [\n      'booleanSelect',\n      'checkbox',\n      'country',\n      'countrymultiselect',\n      'date',\n      'datetime',\n      'email',\n      'externalImage',\n      'geopoint',\n      'firstname',\n      'gender',\n      'input',\n      'image',\n      'language',\n      'lastname',\n      'newsletterActive',\n      'manyToOneRelation',\n      'multiselect',\n      'newsletterConfirmed',\n      'numeric',\n      'select',\n      'slider',\n      'textarea',\n      'time',\n      'wysiwyg'\n    ]\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/operators/locale-collector/locale-collector-config-modal.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { Form, Input } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { type LocaleCollectorAttributes } from './dynamic-type-operator-locale-collector'\nimport { type OperatorConfigModalProps } from '../../dynamic-type-operator-abstract'\nimport { OperatorModal } from '../../components/operator-modal'\n\nexport const LocaleCollectorConfigModal = (props: OperatorConfigModalProps<LocaleCollectorAttributes>): React.JSX.Element => {\n  const { t } = useTranslation()\n\n  return (\n    <OperatorModal { ...props }>\n      {() => (\n        <Form.Item\n          label={ t('data-hub.label') }\n          name=\"label\"\n        >\n          <Input />\n        </Form.Item>\n      )}\n    </OperatorModal>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/operators/locale-switcher/dynamic-type-operator-locale-switcher.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { Text } from '@pimcore/studio-ui-bundle/components'\nimport { isNonEmptyString } from '@pimcore/studio-ui-bundle/utils'\nimport { DynamicTypeOperatorAbstract, type OperatorConfigModalProps, type ColumnConfig } from '../../dynamic-type-operator-abstract'\nimport type { ElementIcon } from '@pimcore/studio-ui-bundle/modules/widget-manager'\nimport { LocaleSwitcherConfigModal } from './locale-switcher-config-modal'\nimport { isNil } from 'lodash'\n\nexport interface LocaleSwitcherAttributes {\n  label: string\n  locale: string\n}\n\nexport class DynamicTypeOperatorLocaleSwitcher extends DynamicTypeOperatorAbstract<LocaleSwitcherAttributes> {\n  readonly id = 'LocaleSwitcher'\n\n  getIcon (): ElementIcon {\n    return {\n      type: 'name',\n      value: 'locale-switcher'\n    }\n  }\n\n  getLabel (config: ColumnConfig<LocaleSwitcherAttributes>, localizedName: string): React.ReactNode {\n    const label = config.attributes.label\n    const locale = config.attributes.locale\n    const displayLabel = isNonEmptyString(label) ? label : localizedName\n\n    if (!isNil(locale) && locale !== '') {\n      return (\n        <>\n          {displayLabel} <Text type=\"secondary\">({locale})</Text>\n        </>\n      )\n    }\n\n    return displayLabel\n  }\n\n  getConfigModal (props: OperatorConfigModalProps<LocaleSwitcherAttributes>): React.JSX.Element {\n    return <LocaleSwitcherConfigModal { ...props } />\n  }\n\n  getMaxChildCount (): number {\n    return 1\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/operators/locale-switcher/locale-switcher-config-modal.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { Input, Form, Select } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { type OperatorConfigModalProps } from '../../dynamic-type-operator-abstract'\nimport { useSettings } from '@pimcore/studio-ui-bundle/modules/app'\nimport { useLanguageLookup } from '@pimcore/studio-ui-bundle/modules/translations'\nimport { type LocaleSwitcherAttributes } from './dynamic-type-operator-locale-switcher'\nimport { OperatorModal } from '../../components/operator-modal'\n\nexport const LocaleSwitcherConfigModal = (props: OperatorConfigModalProps<LocaleSwitcherAttributes>): React.JSX.Element => {\n  const { t } = useTranslation()\n  const settings = useSettings()\n  const { getDisplayName } = useLanguageLookup()\n\n  const availableLanguages = (settings.validLanguages ?? []).map((locale: string) => ({\n    value: locale,\n    label: `${getDisplayName(locale)} [${locale}]`\n  }))\n\n  return (\n    <OperatorModal\n      { ...props }\n      initialValues={ { locale: '' } }\n      size=\"M\"\n    >\n      {() => (\n        <>\n          <Form.Item\n            label={ t('data-hub.label') }\n            name=\"label\"\n          >\n            <Input maxLength={ 255 } />\n          </Form.Item>\n\n          <Form.Item\n            label={ t('data-hub.locale') }\n            name=\"locale\"\n          >\n            <Select\n              options={ availableLanguages }\n              placeholder={ t('data-hub.locale.select') }\n            />\n          </Form.Item>\n        </>\n      )}\n    </OperatorModal>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/operators/substring/dynamic-type-operator-substring.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { injectable } from '@pimcore/studio-ui-bundle/app'\nimport { isNil } from 'lodash'\nimport { Text } from '@pimcore/studio-ui-bundle/components'\nimport { isNonEmptyString } from '@pimcore/studio-ui-bundle/utils'\nimport type { ElementIcon } from '@pimcore/studio-ui-bundle/modules/widget-manager'\nimport { DynamicTypeOperatorAbstract, type OperatorConfigModalProps, type ColumnConfig } from '../../dynamic-type-operator-abstract'\nimport { SubstringConfigModal } from './substring-config-modal'\n\nexport interface SubstringAttributes {\n  label: string\n  start: number\n  length?: number\n  ellipses?: boolean\n}\n\n@injectable()\nexport class DynamicTypeOperatorSubstring extends DynamicTypeOperatorAbstract<SubstringAttributes> {\n  readonly id = 'Substring'\n\n  getIcon (): ElementIcon {\n    return { type: 'name', value: 'substring' }\n  }\n\n  getLabel (config: ColumnConfig<SubstringAttributes>, localizedName: string): React.ReactNode {\n    const label = config.attributes.label\n    const start = config.attributes.start\n    const length = config.attributes.length\n    const displayLabel = isNonEmptyString(label) ? label : localizedName\n\n    if (!isNil(start) || !isNil(length)) {\n      return (\n        <>\n          {displayLabel} <Text type=\"secondary\">({start},{length ?? '∞'})</Text>\n        </>\n      )\n    }\n\n    return displayLabel\n  }\n\n  getConfigModal (props: OperatorConfigModalProps<SubstringAttributes>): React.JSX.Element {\n    return <SubstringConfigModal { ...props } />\n  }\n\n  getGroup (): string {\n    return 'transformer'\n  }\n\n  getSubGroup (): string | undefined {\n    return 'string'\n  }\n\n  getMaxChildCount (): number {\n    return 1\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/operators/substring/substring-config-modal.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { Form, Input, InputNumber, Switch } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { type OperatorConfigModalProps } from '../../dynamic-type-operator-abstract'\nimport { type SubstringAttributes } from './dynamic-type-operator-substring'\nimport { OperatorModal } from '../../components/operator-modal'\n\nexport const SubstringConfigModal = (props: OperatorConfigModalProps<SubstringAttributes>): React.JSX.Element => {\n  const { t } = useTranslation()\n\n  return (\n    <OperatorModal\n      { ...props }\n      initialValues={ { start: 0, ellipses: false } }\n    >\n      {() => (\n        <>\n          <Form.Item\n            label={ t('data-hub.label') }\n            name=\"label\"\n          >\n            <Input />\n          </Form.Item>\n          <Form.Item\n            label={ t('data-hub.operator.start') }\n            name=\"start\"\n          >\n            <InputNumber\n              min={ 0 }\n              style={ { width: '100%' } }\n            />\n          </Form.Item>\n          <Form.Item\n            label={ t('data-hub.operator.length') }\n            name=\"length\"\n          >\n            <InputNumber\n              min={ 0 }\n              style={ { width: '100%' } }\n            />\n          </Form.Item>\n          <Form.Item\n            name=\"ellipses\"\n          >\n            <Switch labelRight={ t('data-hub.operator.ellipses') } />\n          </Form.Item>\n        </>\n      )}\n    </OperatorModal>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/operators/text/dynamic-type-operator-text.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { injectable } from '@pimcore/studio-ui-bundle/app'\nimport { isNonEmptyString } from '@pimcore/studio-ui-bundle/utils'\nimport type { ElementIcon } from '@pimcore/studio-ui-bundle/modules/widget-manager'\nimport { DynamicTypeOperatorAbstract, type OperatorConfigModalProps, type ColumnConfig } from '../../dynamic-type-operator-abstract'\nimport { TextConfigModal } from './text-config-modal'\n\nexport interface TextAttributes {\n  label: string\n  textValue: string\n}\n\n@injectable()\nexport class DynamicTypeOperatorText extends DynamicTypeOperatorAbstract<TextAttributes> {\n  readonly id = 'Text'\n\n  getIcon (): ElementIcon {\n    return { type: 'name', value: 'long-text' }\n  }\n\n  getLabel (config: ColumnConfig<TextAttributes>, localizedName: string): React.ReactNode {\n    const textValue = config.attributes.textValue\n    return isNonEmptyString(textValue) ? textValue : localizedName\n  }\n\n  getConfigModal (props: OperatorConfigModalProps<TextAttributes>): React.JSX.Element {\n    return <TextConfigModal { ...props } />\n  }\n\n  getGroup (): string {\n    return 'formatter'\n  }\n\n  getSubGroup (): string | undefined {\n    return 'string'\n  }\n\n  allowsChildren (): boolean {\n    return false\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/operators/text/text-config-modal.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { Form, Input } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { type OperatorConfigModalProps } from '../../dynamic-type-operator-abstract'\nimport { type TextAttributes } from './dynamic-type-operator-text'\nimport { OperatorModal } from '../../components/operator-modal'\n\nexport const TextConfigModal = (props: OperatorConfigModalProps<TextAttributes>): React.JSX.Element => {\n  const { t } = useTranslation()\n\n  return (\n    <OperatorModal\n      { ...props }\n      initialValues={ { textValue: '' } }\n    >\n      {() => (\n        <Form.Item\n          label={ t('data-hub.operator.text') }\n          name=\"textValue\"\n        >\n          <Input />\n        </Form.Item>\n      )}\n    </OperatorModal>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/operators/thumbnail/dynamic-type-operator-thumbnail.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { injectable } from '@pimcore/studio-ui-bundle/app'\nimport React from 'react'\nimport { isNil } from 'lodash'\nimport { Text } from '@pimcore/studio-ui-bundle/components'\nimport { isNonEmptyString } from '@pimcore/studio-ui-bundle/utils'\nimport type { ElementIcon } from '@pimcore/studio-ui-bundle/modules/widget-manager'\nimport { DynamicTypeOperatorAbstract, type OperatorConfigModalProps, type ColumnConfig } from '../../dynamic-type-operator-abstract'\nimport { ThumbnailConfigModal } from './thumbnail-config-modal'\n\nexport interface ThumbnailAttributes {\n  label: string\n  thumbnailConfig?: string\n}\n\n@injectable()\nexport class DynamicTypeOperatorThumbnail extends DynamicTypeOperatorAbstract<ThumbnailAttributes> {\n  readonly id = 'Thumbnail'\n\n  getIcon (): ElementIcon {\n    return { type: 'name', value: 'image-thumbnail' }\n  }\n\n  getLabel (config: ColumnConfig<ThumbnailAttributes>, localizedName: string): React.ReactNode {\n    const label = config.attributes.label\n    const thumbnailConfig = config.attributes.thumbnailConfig\n    const displayLabel = isNonEmptyString(label) ? label : localizedName\n\n    if (!isNil(thumbnailConfig) && thumbnailConfig !== '') {\n      return (\n        <>\n          {displayLabel} <Text type=\"secondary\">({thumbnailConfig})</Text>\n        </>\n      )\n    }\n\n    return displayLabel\n  }\n\n  getGroup (): string {\n    return 'transformer'\n  }\n\n  getSubGroup (): string | undefined {\n    return 'other'\n  }\n\n  getConfigModal (props: OperatorConfigModalProps<ThumbnailAttributes>): React.JSX.Element {\n    return <ThumbnailConfigModal { ...props } />\n  }\n\n  getMaxChildCount (): number {\n    return 1\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/operators/thumbnail/thumbnail-config-modal.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { Form, Input } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { type ThumbnailAttributes } from './dynamic-type-operator-thumbnail'\nimport { type OperatorConfigModalProps } from '../../dynamic-type-operator-abstract'\nimport { OperatorModal } from '../../components/operator-modal'\nimport { ThumbnailSelect } from '../../components/thumbnail-select'\n\nexport const ThumbnailConfigModal = (props: OperatorConfigModalProps<ThumbnailAttributes>): React.JSX.Element => {\n  const { t } = useTranslation()\n\n  return (\n    <OperatorModal { ...props }>\n      {() => (\n        <>\n          <Form.Item\n            label={ t('data-hub.label') }\n            name=\"label\"\n          >\n            <Input />\n          </Form.Item>\n\n          <Form.Item\n            label={ t('data-hub.thumbnail') }\n            name=\"thumbnailConfig\"\n          >\n            <ThumbnailSelect placeholder={ t('data-hub.operator.thumbnail.thumbnail-name') } />\n          </Form.Item>\n        </>\n      )}\n    </OperatorModal>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/operators/thumbnail-html/dynamic-type-operator-thumbnail-html.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { injectable } from '@pimcore/studio-ui-bundle/app'\nimport React from 'react'\nimport { isNil } from 'lodash'\nimport { Text } from '@pimcore/studio-ui-bundle/components'\nimport { isNonEmptyString } from '@pimcore/studio-ui-bundle/utils'\nimport type { ElementIcon } from '@pimcore/studio-ui-bundle/modules/widget-manager'\nimport { DynamicTypeOperatorAbstract, type OperatorConfigModalProps, type ColumnConfig } from '../../dynamic-type-operator-abstract'\nimport { ThumbnailHtmlConfigModal } from './thumbnail-html-config-modal'\n\nexport interface ThumbnailHtmlAttributes {\n  label: string\n  thumbnailHtmlConfig?: string\n}\n\n@injectable()\nexport class DynamicTypeOperatorThumbnailHtml extends DynamicTypeOperatorAbstract<ThumbnailHtmlAttributes> {\n  readonly id = 'ThumbnailHtml'\n\n  getIcon (): ElementIcon {\n    return { type: 'name', value: 'thumbnail-html' }\n  }\n\n  getLabel (config: ColumnConfig<ThumbnailHtmlAttributes>, localizedName: string): React.ReactNode {\n    const label = config.attributes.label\n    const thumbnailHtmlConfig = config.attributes.thumbnailHtmlConfig\n    const displayLabel = isNonEmptyString(label) ? label : localizedName\n\n    if (!isNil(thumbnailHtmlConfig) && thumbnailHtmlConfig !== '') {\n      return (\n        <>\n          {displayLabel} <Text type=\"secondary\">({thumbnailHtmlConfig})</Text>\n        </>\n      )\n    }\n\n    return displayLabel\n  }\n\n  getGroup (): string {\n    return 'transformer'\n  }\n\n  getSubGroup (): string | undefined {\n    return 'other'\n  }\n\n  getConfigModal (props: OperatorConfigModalProps<ThumbnailHtmlAttributes>): React.JSX.Element {\n    return <ThumbnailHtmlConfigModal { ...props } />\n  }\n\n  getMaxChildCount (): number {\n    return 1\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/operators/thumbnail-html/thumbnail-html-config-modal.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { Form, Input } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { type ThumbnailHtmlAttributes } from './dynamic-type-operator-thumbnail-html'\nimport { type OperatorConfigModalProps } from '../../dynamic-type-operator-abstract'\nimport { OperatorModal } from '../../components/operator-modal'\nimport { ThumbnailSelect } from '../../components/thumbnail-select'\n\nexport const ThumbnailHtmlConfigModal = (props: OperatorConfigModalProps<ThumbnailHtmlAttributes>): React.JSX.Element => {\n  const { t } = useTranslation()\n\n  return (\n    <OperatorModal { ...props }>\n      {() => (\n        <>\n          <Form.Item\n            label={ t('data-hub.label') }\n            name=\"label\"\n          >\n            <Input />\n          </Form.Item>\n\n          <Form.Item\n            label={ t('data-hub.thumbnail') }\n            name=\"thumbnailHtmlConfig\"\n          >\n            <ThumbnailSelect placeholder={ t('data-hub.operator.thumbnail-html.thumbnail-name') } />\n          </Form.Item>\n        </>\n      )}\n    </OperatorModal>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/operators/translate-value/dynamic-type-operator-translate-value.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { injectable } from '@pimcore/studio-ui-bundle/app'\nimport React from 'react'\nimport { isNil } from 'lodash'\nimport { Text } from '@pimcore/studio-ui-bundle/components'\nimport { isNonEmptyString } from '@pimcore/studio-ui-bundle/utils'\nimport type { ElementIcon } from '@pimcore/studio-ui-bundle/modules/widget-manager'\nimport { DynamicTypeOperatorAbstract, type OperatorConfigModalProps, type ColumnConfig } from '../../dynamic-type-operator-abstract'\nimport { TranslateValueConfigModal } from './translate-value-config-modal'\n\nexport interface TranslateValueAttributes {\n  label: string\n  prefix?: string\n}\n\n@injectable()\nexport class DynamicTypeOperatorTranslateValue extends DynamicTypeOperatorAbstract<TranslateValueAttributes> {\n  readonly id = 'TranslateValue'\n\n  getIcon (): ElementIcon {\n    return { type: 'name', value: 'translate' }\n  }\n\n  getLabel (config: ColumnConfig<TranslateValueAttributes>, localizedName: string): React.ReactNode {\n    const label = config.attributes.label\n    const prefix = config.attributes.prefix\n    const displayLabel = isNonEmptyString(label) ? label : localizedName\n\n    if (!isNil(prefix) && prefix !== '') {\n      return (\n        <>\n          {displayLabel} <Text type=\"secondary\">({prefix})</Text>\n        </>\n      )\n    }\n\n    return displayLabel\n  }\n\n  getGroup (): string {\n    return 'transformer'\n  }\n\n  getSubGroup (): string | undefined {\n    return 'string'\n  }\n\n  getConfigModal (props: OperatorConfigModalProps<TranslateValueAttributes>): React.JSX.Element {\n    return <TranslateValueConfigModal { ...props } />\n  }\n\n  getMaxChildCount (): number {\n    return 1\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/operators/translate-value/translate-value-config-modal.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { Form, Input } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { type TranslateValueAttributes } from './dynamic-type-operator-translate-value'\nimport { type OperatorConfigModalProps } from '../../dynamic-type-operator-abstract'\nimport { OperatorModal } from '../../components/operator-modal'\n\nexport const TranslateValueConfigModal = (props: OperatorConfigModalProps<TranslateValueAttributes>): React.JSX.Element => {\n  const { t } = useTranslation()\n\n  return (\n    <OperatorModal { ...props }>\n      {() => (\n        <>\n          <Form.Item\n            label={ t('data-hub.label') }\n            name=\"label\"\n          >\n            <Input />\n          </Form.Item>\n\n          <Form.Item\n            label={ t('data-hub.prefix') }\n            name=\"prefix\"\n          >\n            <Input />\n          </Form.Item>\n        </>\n      )}\n    </OperatorModal>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/operators/trimmer/dynamic-type-operator-trimmer.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { injectable, useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { isNil } from 'lodash'\nimport { Text } from '@pimcore/studio-ui-bundle/components'\nimport { isNonEmptyString } from '@pimcore/studio-ui-bundle/utils'\nimport type { ElementIcon } from '@pimcore/studio-ui-bundle/modules/widget-manager'\nimport { DynamicTypeOperatorAbstract, type OperatorConfigModalProps, type ColumnConfig } from '../../dynamic-type-operator-abstract'\nimport { TrimmerConfigModal } from './trimmer-config-modal'\n\nexport interface TrimmerAttributes {\n  label: string\n  trim: number // 0=disabled, 1=left, 2=right, 3=both\n}\n\n@injectable()\nexport class DynamicTypeOperatorTrimmer extends DynamicTypeOperatorAbstract<TrimmerAttributes> {\n  readonly id = 'Trimmer'\n\n  getIcon (): ElementIcon {\n    return { type: 'name', value: 'trimmer' }\n  }\n\n  getLabel (config: ColumnConfig<TrimmerAttributes>, localizedName: string): React.ReactNode {\n    const label = config.attributes.label\n    const trim = config.attributes.trim\n    const displayLabel = isNonEmptyString(label) ? label : localizedName\n\n    if (!isNil(trim) && trim > 0) {\n      const TrimLabel = (): React.JSX.Element => {\n        const { t } = useTranslation()\n        const modes = ['disabled', 'left', 'right', 'both']\n        const mode = modes[trim]\n\n        if (isNil(mode)) {\n          return <>{displayLabel}</>\n        }\n\n        const translatedMode = t(`data-hub.operator.trim.${mode}`)\n        return <>{displayLabel} <Text type=\"secondary\">({translatedMode})</Text></>\n      }\n      return <TrimLabel />\n    }\n\n    return displayLabel\n  }\n\n  getConfigModal (props: OperatorConfigModalProps<TrimmerAttributes>): React.JSX.Element {\n    return <TrimmerConfigModal { ...props } />\n  }\n\n  getGroup (): string {\n    return 'transformer'\n  }\n\n  getSubGroup (): string | undefined {\n    return 'string'\n  }\n\n  getMaxChildCount (): number {\n    return 1\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/operators/trimmer/trimmer-config-modal.tsx",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport React from 'react'\nimport { Form, Input, Select } from '@pimcore/studio-ui-bundle/components'\nimport { useTranslation } from '@pimcore/studio-ui-bundle/app'\nimport { type OperatorConfigModalProps } from '../../dynamic-type-operator-abstract'\nimport { type TrimmerAttributes } from './dynamic-type-operator-trimmer'\nimport { OperatorModal } from '../../components/operator-modal'\n\nexport const TrimmerConfigModal = (props: OperatorConfigModalProps<TrimmerAttributes>): React.JSX.Element => {\n  const { t } = useTranslation()\n\n  return (\n    <OperatorModal\n      { ...props }\n      initialValues={ { trim: 3 } }\n    >\n      {() => (\n        <>\n          <Form.Item\n            label={ t('data-hub.label') }\n            name=\"label\"\n          >\n            <Input />\n          </Form.Item>\n          <Form.Item\n            label={ t('data-hub.operator.trim') }\n            name=\"trim\"\n          >\n            <Select\n              options={ [\n                { label: t('data-hub.operator.trim.disabled'), value: 0 },\n                { label: t('data-hub.operator.trim.left'), value: 1 },\n                { label: t('data-hub.operator.trim.right'), value: 2 },\n                { label: t('data-hub.operator.trim.both'), value: 3 }\n              ] }\n            />\n          </Form.Item>\n        </>\n      )}\n    </OperatorModal>\n  )\n}\n"
  },
  {
    "path": "assets/studio/js/src/modules/operators/thumbnails-api-slice.gen.ts",
    "content": "import { api } from \"@pimcore/studio-ui-bundle/api\";\nexport const addTagTypes = [\"Bundle Data Hub\"] as const;\nconst injectedRtkApi = api\n    .enhanceEndpoints({\n        addTagTypes,\n    })\n    .injectEndpoints({\n        endpoints: (build) => ({\n            bundleDataHubThumbnailsCollection: build.query<\n                BundleDataHubThumbnailsCollectionApiResponse,\n                BundleDataHubThumbnailsCollectionApiArg\n            >({\n                query: () => ({\n                    url: `/pimcore-studio/api/bundle/data-hub/thumbnails`,\n                }),\n                providesTags: [\"Bundle Data Hub\"],\n            }),\n        }),\n        overrideExisting: false,\n    });\nexport { injectedRtkApi as api };\nexport type BundleDataHubThumbnailsCollectionApiResponse =\n    /** status 200 bundle_data_hub_thumbnails_collection_success_response */ {\n        totalItems: number;\n        items: BundleDataHubThumbnail[];\n    };\nexport type BundleDataHubThumbnailsCollectionApiArg = void;\nexport type BundleDataHubThumbnail = {\n    /** AdditionalAttributes */\n    additionalAttributes?: {\n        [key: string]: string | number | boolean | object;\n    };\n    /** Thumbnail ID */\n    id: string;\n    /** Thumbnail name */\n    text: string;\n};\nexport type Error = {\n    /** Message */\n    message: string;\n};\nexport type DevError = {\n    /** Message */\n    message: string;\n    /** Details */\n    details: string;\n};\nexport const { useBundleDataHubThumbnailsCollectionQuery } = injectedRtkApi;\n"
  },
  {
    "path": "assets/studio/js/src/plugins.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { type IAbstractPlugin } from '@pimcore/studio-ui-bundle'\nimport { DataHubModule } from './modules/config/index'\nimport { GraphQLModule } from './modules/graphql/index'\nimport { bundleServiceIds } from './config/service-ids'\nimport { DynamicTypeDataHubAdapterRegistry } from './modules/config/dynamic-types/dynamic-type-data-hub-adapter-registry'\nimport { DynamicTypeDataHubAdapterGraphQL } from './modules/config/dynamic-types/adapters/dynamic-type-data-hub-adapter-graphql'\nimport { DynamicTypeOperatorRegistry } from './modules/operators/dynamic-type-operator-registry'\nimport {\n  DynamicTypeOperatorAlias,\n  DynamicTypeOperatorConcatenator,\n  DynamicTypeOperatorDateFormatter,\n  DynamicTypeOperatorElementCounter,\n  DynamicTypeOperatorIfEmpty,\n  DynamicTypeOperatorLocaleCollector,\n  DynamicTypeOperatorLocaleSwitcher,\n  DynamicTypeOperatorSubstring,\n  DynamicTypeOperatorText,\n  DynamicTypeOperatorThumbnail,\n  DynamicTypeOperatorThumbnailHtml,\n  DynamicTypeOperatorTranslateValue,\n  DynamicTypeOperatorTrimmer\n} from './modules/operators/operators'\n\nif (module.hot !== undefined) {\n  module.hot.accept()\n}\n\nexport const DataHubPlugin: IAbstractPlugin = {\n  name: 'data-hub-plugin',\n\n  // Register and overwrite services here\n  onInit: ({ container }): void => {\n    container.bind(String(bundleServiceIds['DataHub/DynamicTypes/Adapter/Registry'])).to(DynamicTypeDataHubAdapterRegistry).inSingletonScope()\n    container.bind(String(bundleServiceIds['DataHub/DynamicTypes/Adapter/GraphQL'])).to(DynamicTypeDataHubAdapterGraphQL).inSingletonScope()\n\n    container.bind(String(bundleServiceIds['DataHub/DynamicTypes/Operator/GraphQL/QueryRegistry'])).to(DynamicTypeOperatorRegistry).inSingletonScope()\n    container.bind(String(bundleServiceIds['DataHub/DynamicTypes/Operator/GraphQL/MutationRegistry'])).to(DynamicTypeOperatorRegistry).inSingletonScope()\n\n    // Query Operators\n    container.bind(String(bundleServiceIds['DataHub/DynamicTypes/Operator/Alias'])).to(DynamicTypeOperatorAlias).inSingletonScope()\n    container.bind(String(bundleServiceIds['DataHub/DynamicTypes/Operator/Concatenator'])).to(DynamicTypeOperatorConcatenator).inSingletonScope()\n    container.bind(String(bundleServiceIds['DataHub/DynamicTypes/Operator/DateFormatter'])).to(DynamicTypeOperatorDateFormatter).inSingletonScope()\n    container.bind(String(bundleServiceIds['DataHub/DynamicTypes/Operator/ElementCounter'])).to(DynamicTypeOperatorElementCounter).inSingletonScope()\n    container.bind(String(bundleServiceIds['DataHub/DynamicTypes/Operator/Substring'])).to(DynamicTypeOperatorSubstring).inSingletonScope()\n    container.bind(String(bundleServiceIds['DataHub/DynamicTypes/Operator/Text'])).to(DynamicTypeOperatorText).inSingletonScope()\n    container.bind(String(bundleServiceIds['DataHub/DynamicTypes/Operator/Thumbnail'])).to(DynamicTypeOperatorThumbnail).inSingletonScope()\n    container.bind(String(bundleServiceIds['DataHub/DynamicTypes/Operator/ThumbnailHtml'])).to(DynamicTypeOperatorThumbnailHtml).inSingletonScope()\n    container.bind(String(bundleServiceIds['DataHub/DynamicTypes/Operator/TranslateValue'])).to(DynamicTypeOperatorTranslateValue).inSingletonScope()\n    container.bind(String(bundleServiceIds['DataHub/DynamicTypes/Operator/Trimmer'])).to(DynamicTypeOperatorTrimmer).inSingletonScope()\n\n    // Mutation Operators\n    container.bind(String(bundleServiceIds['DataHub/DynamicTypes/Operator/IfEmpty'])).to(DynamicTypeOperatorIfEmpty).inSingletonScope()\n    container.bind(String(bundleServiceIds['DataHub/DynamicTypes/Operator/LocaleCollector'])).to(DynamicTypeOperatorLocaleCollector).inSingletonScope()\n    container.bind(String(bundleServiceIds['DataHub/DynamicTypes/Operator/LocaleSwitcher'])).to(DynamicTypeOperatorLocaleSwitcher).inSingletonScope()\n  },\n\n  // register modules here\n  onStartup: ({ moduleSystem }): void => {\n    moduleSystem.registerModule(DataHubModule)\n    moduleSystem.registerModule(GraphQLModule)\n  }\n}\n"
  },
  {
    "path": "assets/studio/js/src/sdk/index.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nexport * from '../modules/config/config-container'\nexport * from '../modules/graphql/components/tabs/general-tab'\nexport * from '../modules/graphql/components/tabs/permissions-tab'\nexport * from '../config/service-ids'\nexport * from '../modules/config/dynamic-types/dynamic-type-data-hub-adapter-abstract'\nexport * from '../modules/config/dynamic-types/dynamic-type-data-hub-adapter-registry'\nexport * from '../components/base-detail-view'\nexport * from './utils/yaml'\nexport * from '../modules/config/components/migration-modal'\nexport * from '../modules/config/components/column-config-modal'\nexport * from '../modules/log-tab'\n"
  },
  {
    "path": "assets/studio/js/src/sdk/utils/yaml.ts",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nimport { parse, stringify } from 'yaml'\nimport type { DocumentOptions, ParseOptions, SchemaOptions, CreateNodeOptions, ToStringOptions } from 'yaml'\n\nexport type YamlStringifyOptions = DocumentOptions & SchemaOptions & ParseOptions & CreateNodeOptions & ToStringOptions\n\n/**\n * Parse a YAML string into a JavaScript value.\n *\n * @throws {YAMLParseError} if the input is not valid YAML\n */\nexport const parseYaml = (str: string): unknown => {\n  return parse(str)\n}\n\n/**\n * Stringify a JavaScript value as a YAML document.\n *\n * Defaults to an indent of 2 spaces.\n */\nexport const stringifyYaml = (value: unknown, options?: YamlStringifyOptions): string => {\n  return stringify(value, { indent: 2, ...options })\n}\n\n/**\n * Returns true if the given string is valid YAML, false otherwise.\n *\n * Never throws.\n */\nexport const isValidYaml = (str: string): boolean => {\n  try {\n    parse(str)\n    return true\n  } catch {\n    return false\n  }\n}\n"
  },
  {
    "path": "assets/studio/package.json",
    "content": "{\n  \"name\": \"@pimcore/data-hub\",\n  \"version\": \"0.0.1\",\n  \"scripts\": {\n    \"dev\": \"NODE_ENV=development rsbuild build\",\n    \"dev-server\": \"NODE_ENV=dev-server rsbuild dev\",\n    \"build\": \"rsbuild build\",\n    \"lint\": \"eslint ./js\",\n    \"lint-fix\": \"eslint ./js --fix\",\n    \"lint-fix-watch\": \"nodemon --watch './js/**/*' --exec \\\"eslint ./js --fix --cache\\\" -e js,jsx,ts,tsx\",\n    \"check-types\": \"tsc --noEmit\",\n    \"check-types-watch\": \"tsc --noEmit --watch\",\n    \"build-api-client\": \"TS_NODE_COMPILER_OPTIONS='{\\\"moduleResolution\\\":\\\"node\\\"}' npx @rtk-query/codegen-openapi ./build/api/openapi-config.ts\",\n    \"generate-types\": \"tsc && tsc-alias\"\n  },\n  \"exports\": {\n    \".\": {\n      \"types\": \"./dist/build/types/sdk/index.d.ts\"\n    },\n    \"./*\": {\n      \"types\": \"./dist/build/types/sdk/*/index.d.ts\"\n    }\n  },\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/pimcore/data-hub\"\n  },\n  \"keywords\": [\n    \"pimcore\",\n    \"pimcore-studio-ui\",\n    \"pimcore-data-hub\"\n  ],\n  \"files\": [\n    \"dist\"\n  ],\n  \"license\": \"proprietary\",\n  \"devDependencies\": {\n    \"@eslint/js\": \"^9\",\n    \"@module-federation/rsbuild-plugin\": \"^2.2.3\",\n    \"@rsbuild/core\": \"^1.3.21\",\n    \"@rsbuild/plugin-react\": \"^1.3.1\",\n    \"@rtk-query/codegen-openapi\": \"^1.2.0\",\n    \"@stylistic/eslint-plugin\": \"^4\",\n    \"@types/react-dom\": \"18.3.x\",\n    \"@types/webpack-env\": \"^1.18.4\",\n    \"eslint\": \"^9\",\n    \"eslint-plugin-header\": \"^3.1.1\",\n    \"eslint-plugin-import\": \"^2.29.1\",\n    \"eslint-plugin-jsx-a11y\": \"^6.8.0\",\n    \"eslint-plugin-n\": \"^17\",\n    \"eslint-plugin-promise\": \"^7\",\n    \"eslint-plugin-react\": \"^7.33.2\",\n    \"globals\": \"^16\",\n    \"nodemon\": \"^3.1.10\",\n    \"ts-node\": \"^10.9.2\",\n    \"tsc-alias\": \"^1.8.16\",\n    \"typescript\": \"^5.6.3\",\n    \"typescript-eslint\": \"^8\"\n  },\n  \"dependencies\": {\n    \"@pimcore/studio-ui-bundle\": \"1.0.0-canary.20260401-093649-e21cdda\",\n    \"react\": \"^18.3.1\",\n    \"react-dom\": \"^18.3.1\",\n    \"uuid\": \"^10.0.0\",\n    \"yaml\": \"^2.8.3\"\n  },\n  \"overrides\": {\n    \"axios\": \"1.13.6\"\n  }\n}\n"
  },
  {
    "path": "assets/studio/rsbuild.config.ts",
    "content": "import { defineConfig } from '@rsbuild/core'\nimport { pluginReact } from '@rsbuild/plugin-react'\nimport { pluginModuleFederation } from '@module-federation/rsbuild-plugin';\nimport { pluginGenerateEntrypoints } from '@pimcore/studio-ui-bundle/rsbuild/plugins';\nimport { createDynamicRemote } from '@pimcore/studio-ui-bundle/rsbuild/utils';\nimport path from 'node:path'\nimport fs from 'node:fs';\nimport { v4 } from 'uuid';\nimport packages from './package.json'\n\nconst buildId = v4();\nconst buildPath = path.resolve(__dirname, '..', '..', 'src', 'Resources', 'public', 'studio', 'build', buildId);\n\nif (fs.existsSync( path.resolve(__dirname, '..', '..', 'src', 'Resources', 'public', 'studio', 'build'))) {\n  for (const file of fs.readdirSync(path.resolve(__dirname, '..', '..', 'src', 'Resources', 'public', 'studio', 'build'))) {\n    fs.rmSync(path.resolve(__dirname, '..', '..', 'src', 'Resources', 'public', 'studio', 'build', file), { recursive: true });\n  }\n}\n\nif (!fs.existsSync(buildPath)) {\n  fs.mkdirSync(buildPath, { recursive: true });\n}\n\nlet nodeEnv = process.env.NODE_ENV;\nlet env: 'development' | 'production' = 'production';\n\nconst isDevServer = nodeEnv === 'dev-server';\nif (nodeEnv !== env) {\n  env = 'development';\n}\n\nexport default defineConfig({\n  mode: env,\n  server: {\n    port: 3033,\n  },\n  dev: {\n    ...(isDevServer ? {} : {assetPrefix: '/bundles/pimcoredatahub/studio/build/' + buildId}),\n    client: {\n      host: 'localhost',\n      port: 3033,\n      protocol: 'ws'\n    }\n  },\n  source: {\n    entry: {\n      main: './js/src/main.ts'\n    },\n    decorators: {\n      version: 'legacy'\n    }\n  },\n  output: {\n    manifest: true,\n    assetPrefix: '/bundles/pimcoredatahub/studio/build/' + buildId,\n    distPath: {\n      root: buildPath\n    },\n  },\n  tools: {\n    bundlerChain: (chain, { env }) => {\n      chain.output.uniqueName('pimcore_datahub_bundle');\n    },\n  },\n  plugins: [\n    pluginGenerateEntrypoints({\n      alternativePluginExportPath: '/plugins'\n    }),\n    pluginReact(),\n    pluginModuleFederation({\n      name: 'pimcore_datahub_bundle',\n      filename: 'static/js/remoteEntry.js',\n      exposes: {\n        './plugins': './js/src/plugins.ts',\n        '.': './js/src/sdk/index.ts',\n      },\n      dts: false,\n      remotes: {\n        '@pimcore/studio-ui-bundle': createDynamicRemote('pimcore_studio_ui_bundle'),\n      },\n      shared: {\n        ...packages.dependencies,\n        react: {\n          singleton: true,\n          eager: true,\n          requiredVersion: false,\n        },\n        'react-dom': {\n          singleton: true,\n          eager: true,\n          requiredVersion: false,\n        },\n        'inversify': {\n          // singleton: true,\n          eager: true,\n          version: '6.1.x',\n          requiredVersion: '6.1.x',\n        },\n        'yaml': {\n          singleton: true,\n          eager: true,\n          requiredVersion: packages.dependencies.yaml,\n        },\n      },\n    })\n  ]\n})\n"
  },
  {
    "path": "assets/studio/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"module\": \"ESNext\",\n    \"target\": \"es2017\",\n    \"moduleResolution\": \"bundler\",\n    \"types\": [\"reflect-metadata\", \"@types/webpack-env\" ],\n    \"baseUrl\": \"./assets/js/\",\n    \"strictNullChecks\": true,\n    \"jsx\": \"react\",\n    \"esModuleInterop\": true,\n    \"allowSyntheticDefaultImports\": true,\n    \"resolveJsonModule\": true,\n    \"experimentalDecorators\": true,\n    \"emitDecoratorMetadata\": true,\n    \"skipLibCheck\": true,\n    \"declaration\": true,\n    \"emitDeclarationOnly\": true,\n    \"outDir\": \"./dist/build/types\",\n    \"declarationDir\": \"./dist/build/types\"\n  },\n\n  \"include\": [\n    \"./js/**/*\",\n  ],\n}\n"
  },
  {
    "path": "codeception.dist.yml",
    "content": "namespace: DataHubBundle\\Tests\nactor: Tester\npaths:\n    tests: tests\n    output: tests/_output\n    data: tests/_data\n    support: tests/_support\n    envs: tests/_envs\nsettings:\n    colors: true\n    memory_limit: 1024M\nbootstrap: _bootstrap.php\nparams:\n    - env\nextensions:\n    enabled:\n        - Codeception\\Extension\\RunFailed"
  },
  {
    "path": "composer.json",
    "content": "{\n  \"name\": \"pimcore/data-hub\",\n  \"license\": \"proprietary\",\n  \"type\": \"pimcore-bundle\",\n  \"description\": \"Pimcore Datahub\",\n  \"config\": {\n    \"sort-packages\": true,\n    \"preferred-install\": {\n      \"pimcore/pimcore\": \"source\",\n      \"*\": \"dist\"\n    },\n    \"allow-plugins\": {\n      \"symfony/runtime\": true\n    }\n  },\n  \"prefer-stable\": true,\n  \"minimum-stability\": \"dev\",\n  \"require\": {\n    \"nesbot/carbon\": \"^2.72 || ^3.8.4\",\n    \"php\": \"~8.4.0 || ~8.5.0\",\n    \"pimcore/pimcore\": \"^2026.1\",\n    \"pimcore/studio-backend-bundle\": \"^2026.1\",\n    \"pimcore/studio-ui-bundle\": \"^2026.1\",\n    \"webonyx/graphql-php\": \"^15.2.3\"\n  },\n  \"require-dev\": {\n    \"phpstan/phpstan\": \"2.1.40\",\n    \"phpunit/phpunit\": \"^12.5.23 || ^13.1.7\",\n    \"symfony/phpunit-bridge\": \"^7\",\n    \"codeception/codeception\": \"^5.3.5\",\n    \"codeception/phpunit-wrapper\": \"^10\",\n    \"codeception/module-asserts\": \"^3.0\",\n    \"codeception/module-symfony\": \"^3.8\",\n    \"symfony/dotenv\": \"^7.2\",\n    \"symfony/runtime\": \"^7.4\"\n  },\n  \"autoload\": {\n    \"psr-4\": {\n      \"Pimcore\\\\Bundle\\\\DataHubBundle\\\\\": \"src/\",\n      \"Pimcore\\\\\": \"core-extension/Pimcore/\"\n    }\n  },\n  \"autoload-dev\": {\n    \"psr-4\": {\n      \"Pimcore\\\\Bundle\\\\DataHubBundle\\\\Tests\\\\\": \"tests\"\n    },\n    \"files\": [\n      \"kernel/Kernel.php\"\n    ]\n  },\n  \"extra\": {\n    \"branch-alias\": {\n      \"dev-2026.x\": \"2026.1.x-dev\"\n    },\n    \"pimcore\": {\n      \"bundles\": [\n        \"Pimcore\\\\Bundle\\\\DataHubBundle\\\\PimcoreDataHubBundle\"\n      ]\n    }\n  }\n}\n"
  },
  {
    "path": "doc/01_Installation_and_Upgrade/01_Upgrade_Notes.md",
    "content": "# Upgrade Notes\n\n## Upgrade to 2026.1.0\n\n### PHP & Symfony Version Requirements\n- Added support for `PHP` `8.5`.\n- Removed support for `PHP` `8.3` and Symfony `v6`.\n- Minimum required Symfony version is now `^7.2` (dev: `^7.4` for `symfony/runtime`).\n\n### Removed ExtJS / Admin Classic UI\n- Removed all ExtJS-based frontend JavaScript files (`src/Resources/public/js/`), including the full configuration UI, field dialog, adapters, workspace editors, query and mutation operators.\n- Removed `ConfigController` (previously provided the classic admin config API at `/pimcore-datahub-webservices/explorer/{clientname}` and related actions).\n- Removed `GraphQLExplorerController` (previously served the ExtJS-based GraphQL Explorer at `/pimcore-datahub-webservices/explorer/{clientname}`).\n- Removed `AdminListener` (no longer needed without classic admin integration).\n- Removed `StudioRouteLoader` — Studio routes are now registered directly via `routing.yml` using attribute-based routing.\n- Removed `ExportService` and `ImportService` (classic admin import/export, not related to Studio).\n- `PimcoreDataHubBundle` no longer implements `PimcoreBundleAdminClassicInterface` or `DependentBundleInterface` and no longer uses `BundleAdminClassicTrait`.\n- Removed dependency on `pimcore/admin-ui-classic-bundle` and `pimcore/compatibility-bridge-v10` from `composer.json`.\n\n### Routing Changes\n- The Studio routing entry has been renamed from `pimcore_statistics_explorer_studio` to `pimcore_data_hub_studio`. Update any references in custom routing configurations accordingly.\n- The separate `studio_routing.yaml` file has been removed; Studio routes are now defined directly in `routing.yml`.\n\n### Studio Integration\n- Added full Studio UI integration for GraphQL configurations (browse, create, edit, clone, delete, import, export).\n- New Studio REST API endpoints added under `/studio/api/datahub/config/...` (collection, add, get, update, clone, delete, import, export).\n- New Studio REST API endpoints added: GraphQL Explorer URL (`/studio/api/datahub/graphql/explorer`), thumbnails, and user permissions.\n- New interfaces introduced for Studio services:\n  - `ConfigurationServiceInterface` (`src/Service/Studio/ConfigurationServiceInterface.php`)\n  - `ConfigurationHydratorInterface` (`src/Hydrator/ConfigurationHydratorInterface.php`)\n  - `ConfigurationDehydratorInterface` (`src/Hydrator/ConfigurationDehydratorInterface.php`)\n  - `ConfigurationDetailHydratorInterface` (`src/Hydrator/ConfigurationDetailHydratorInterface.php`)\n  - `GraphQLExplorerServiceInterface` (`src/Service/Studio/GraphQLExplorerServiceInterface.php`)\n  - `ThumbnailHydratorInterface` (`src/Hydrator/ThumbnailHydratorInterface.php`)\n  - `ThumbnailServiceInterface` (`src/Service/Studio/ThumbnailServiceInterface.php`)\n  - `PermissionUserHydratorInterface` (`src/Hydrator/PermissionUserHydratorInterface.php`)\n  - `UserServiceInterface` (`src/Service/Studio/UserServiceInterface.php`)\n- New pre-response events dispatched before Studio API responses:\n  - `ConfigurationEvent`, `ConfigurationDetailEvent`, `PermissionUserEvent`, `ThumbnailEvent`\n\n### New GraphQL Events\n- Added `ListingEvents::PRE_BUILD` event dispatched before building GraphQL query listings. Implement a listener on this event to modify listing arguments before the query is executed.\n\n### Return Type and PHPDoc Changes\n- `PimcoreDataHubBundle::getInstaller()` return type changed from `?InstallerInterface` to `InstallerInterface` (non-nullable).\n- `ElementPropertyType::resolveType()` return type changed from `ObjectType|string|callable|Deferred|null` to `ObjectType|callable|null` — `string` and `Deferred` removed from union.\n- `HotspotMetadataType::resolveType()` return type changed from `ObjectType|string|callable|Deferred|null` to `ObjectType|callable|null` — `string` and `Deferred` removed from union.\n- `DocumentType::resolveType()` return type changed from `callable|Deferred|ObjectType|null|string` to `callable|ObjectType|null`.\n- `AbstractOperator::$children` property PHPDoc type changed from `ConfigElementInterface[]` to `array` — `ConfigElementInterface` from `Pimcore\\DataObject\\GridColumnConfig` is no longer referenced.\n- `AbstractOperator::getChildren()` return PHPDoc changed from `ConfigElementInterface[]` to `array`.\n- `Service::buildOperator()` parameter PHPDoc changed from `ConfigElementInterface` to `array`.\n- `ReverseManyToManyObjects::resolve()` return PHPDoc changed from `array|null` to `array`.\n- `ElementMetadataKeyValuePairInputType::getInstance()` return PHPDoc changed from `ElementMetadataKeyValuePairInputType|null` to `ElementMetadataKeyValuePairInputType`.\n- `ClassificationstoreFeatureQueryTypeGenerator\\Date::getFieldType()` return PHPDoc changed from `DateType|null` to `DateType`.\n- `Thumbnail::getLabeledValue()` and `ThumbnailHtml::getLabeledValue()` return PHPDoc changed from `\\stdClass|null` to `\\stdClass`.\n- `DateFormatter::format()` return PHPDoc changed from `Carbon|int|string` to `int|string`.\n- `Link::resolveValue()`, `Link::resolveHref()`, `Link::resolveTarget()`, `Link::resolveLinkValue()` return PHPDoc changed from `string|null` / `null` to `mixed`.\n\n### Dependency Updates\n- Removed Doctrine `enum` type mapping — the custom `enum: string` mapping is no longer required in Doctrine configuration.\n\n## 2026.2.0\n- [MutationType] Added system field `published` as an optional argument for data object mutation\n\n## 2.2.0\n- [MutationType] Added system field `key` as an optional argument for data object mutation\n\n## 2.0.0\n\n- [General] Marked several classes as internal and/or final.\n- [General] Added timezone indication for date and datetime fields in the GraphQL schema, including creation and modification date.\nTherefore, the type of both date fields in the GraphQL schema have changed from `int` (timestamp) to `string`.\n- [Operator] Removed merge operator\n- [Command] Removed RebuildDefinitionsCommand (`datahub:graphql:rebuild-definitions`), use RebuildWorkspacesCommand (`datahub:graphql:rebuild-workspaces`) instead.\n- [Config] Removed DatahubConfigLocator class\n- [Config] Removed support for legacy config file (`datahub-configurations.php`)\n- [Config] Removed `getConfigModificationDate` from config dao.\n- [Config] Removed sql query config field\n- [QueryType] `args['path']` will no longer be supported, use `args['fullpath']` instead.\n- [DataType] Generated type names now include the type itself, see https://github.com/pimcore/data-hub/issues/879\n- [QueryType] Change type name for `table` definition, now the name also includes the type, see https://github.com/pimcore/data-hub/pull/883\n- [DataType] Added numeric-prefix `col` for `table` columns to allow numbers as column names\n\n## 1.8.0\n- [General] Dropped support of `pimcore/pimcore` v10. Bumped minimum requirement of `pimcore/pimcore` to `^11.2`\n- [General] Replaced Request::get() with explicit input sources.\n- [Schema Definition] Added a button to add all definitions except system columns, along with multi drag-and-drop functionality using CTRL+ click to select and drag multiple fields to the configuration.\n- [Schema Definition] A category selector with CTRL + click functionality was added, and the issue with deleting the entire configuration has been resolved.\n\n## 1.7.0\n- [GraphQL] Deprecated SQL Condition.\n- [GraphQL] Added the possibility to disable deprecated SQL Condition.\n\n## 1.6.0\n- [General] If you want to use Datahub 1.6 and Pimcore 11, please make sure to require the `pimcore/admin-ui-classic-bundle`.\n- [Config Location] Change default directory for configurations to `var/config/data_hub`\n- When using Pimcore 11, configurations from `datahub-configurations.php` are no longer used. To migrate those configurations\nto the settings store, use the provided `datahub:configuration:migrate-legacy-config` command.\n- Added the ability to import and export each type of Datahub configuration.\nBe sure to include the `supported_types` configuration in any custom implementation to use the import functionality!\n- Added possibility to disable the introspection for GraphQL via configuration tree.\n\n## 1.5.0\n- When \"Skip Permission Check\" is active in a GraphQL configuration, the \"Workspaces\" settings are also skipped \n- It is possible to add more than one API key per configuration now. Therefore, the API keys get stored as an array\nin the configuration. Configurations from previous versions are still supported, but they get converted to the new format\nas soon as they get saved.\n- Added \"Translation Listing\" and \"Translation\" to the Generic Types\n"
  },
  {
    "path": "doc/01_Installation_and_Upgrade/README.md",
    "content": "# Installation \n\n## Bundle Installation\n\nTo install Pimcore Datahub follow the three steps below:\n\n1. Install the required dependencies:\n```bash\ncomposer require pimcore/data-hub\n```\n\n2. Make sure the bundle is enabled in the `config/bundles.php` file. The following lines should be added:\n\n```php\nuse Pimcore\\Bundle\\DataHubBundle\\PimcoreDataHubBundle;\n// ...\n\nreturn [\n    // ...\n    PimcoreDataHubBundle::class => ['all' => true],\n    // ...\n];\n```\n\n3. Install the bundle:\n\n```bash\nbin/console pimcore:bundle:install PimcoreDataHubBundle\n```\n\n## Required Backend User Permission\nTo access Datahub, user needs to meet one of following criteria:  \n* be an `admin`\n* have `plugin_datahub_config` permission\n"
  },
  {
    "path": "doc/02_Basic_Principle.md",
    "content": "# Basic Principle\n\nPimcore Datahub allows defining multiple endpoints that allow data delivery and consumption. These endpoints are configured via so called configurations that can be added in the Pimcore admin user interface: \n\n## Adding a New Configuration\n\n1. Open the Datahub configuration panel:\n\n<div class=\"image-as-lightbox\"></div>\n\n![Configuration Overview](./img/graphql/configuration3.png)\n\n\n2. Choose an endpoint technology: \n\n<div class=\"image-as-lightbox\"></div>\n\n![Add Configuration](./img/add_config.png)\n\n3. Get the configuration done by defining the followings:\n- General settings\n- Schema configuration\n- Security definitions\n- Additional settings\n\nHere you can find an example for [GraphQL](./10_GraphQL/README.md).\n"
  },
  {
    "path": "doc/04_Studio.md",
    "content": "# Studio integration\n\n## Studio API Endpoints\n\nThe Data Hub Bundle provides a RESTful API for the Pimcore Studio interface, enabling management of Data Hub configurations, GraphQL explorer access, and user/thumbnail management. All endpoints are prefixed with `/pimcore-studio/api/data-hub` and require appropriate permissions.\n\n### Configuration Management\n\n#### List Configurations\n**Endpoint:** `GET /config`\n**Operation ID:** `bundle_data_hub_config_collection`\n**Permission:** `PLUGIN_DATA_HUB_CONFIG`\n\nLists all available Data Hub configurations. This endpoint returns a collection of configurations that can be managed and used for data integration.\n\n**Response:** Collection of `Configuration` objects\n\n---\n\n#### Get Configuration\n**Endpoint:** `GET /config/{name}`\n**Operation ID:** `bundle_data_hub_config_get`\n**Permission:** `PLUGIN_DATA_HUB_CONFIG`\n\nRetrieves detailed information about a specific Data Hub configuration by name.\n\n**Path Parameter:**\n- `name` (string): The name of the configuration to retrieve\n\n**Response:** `ConfigurationDetail` object\n\n**Example:**\n```\nGET /config/assets\n```\n\n---\n\n#### Add Configuration\n**Endpoint:** `POST /config/add`\n**Operation ID:** `bundle_data_hub_config_add`\n**Permission:** `PLUGIN_DATA_HUB_CONFIG`\n\nCreates a new Data Hub configuration with the specified name, type, and optional path.\n\n**Query Parameters:**\n- `name` (string, required): The name of the configuration (e.g., \"assets\")\n- `type` (string, required): Type of the adapter (e.g., \"graphql\")\n- `path` (string, optional): Configuration path (default: \"\")\n\n**Response:** HTTP 200 OK (empty response)\n\n**Example:**\n```\nPOST /config/add?name=assets&type=graphql&path=\n```\n\n---\n\n#### Clone Configuration\n**Endpoint:** `POST /config/clone`\n**Operation ID:** `bundle_data_hub_config_clone`\n**Permission:** `PLUGIN_DATA_HUB_CONFIG`\n\nCreates a copy of an existing Data Hub configuration with a new name.\n\n**Query Parameters:**\n- `name` (string, required): The name of the new configuration (e.g., \"assets_copy\")\n- `originalName` (string, required): The name of the configuration to clone (e.g., \"assets\")\n\n**Response:** JSON object with `clonedConfigurationName` (HTTP 201 Created)\n\n**Example:**\n```\nPOST /config/clone?name=assets_copy&originalName=assets\n```\n\n---\n\n#### Delete Configuration\n**Endpoint:** `DELETE /config/delete/{name}`\n**Operation ID:** `bundle_data_hub_config_delete`\n**Permission:** `PLUGIN_DATA_HUB_CONFIG`\n\nDeletes a Data Hub configuration by name.\n\n**Path Parameter:**\n- `name` (string): The name of the configuration to delete\n\n**Response:** HTTP 200 OK (empty response)\n\n**Example:**\n```\nDELETE /config/delete/assets\n```\n\n---\n\n#### Export Configuration\n**Endpoint:** `GET /config/{name}/export`\n**Operation ID:** `bundle_data_hub_config_export`\n**Permission:** `PLUGIN_DATA_HUB_CONFIG`\n\nExports a Data Hub configuration as a JSON file for backup or transfer purposes.\n\n**Path Parameter:**\n- `name` (string): The name of the configuration to export\n\n**Response:** JSON file download with Content-Disposition header\n\n**Example:**\n```\nGET /config/assets/export\n```\n\n---\n\n#### Import Configuration\n**Endpoint:** `POST /config/import`\n**Operation ID:** `bundle_data_hub_config_import`\n**Permission:** `PLUGIN_DATA_HUB_CONFIG`\n\nImports a Data Hub configuration from a JSON file.\n\n**Request Body:** Multipart form data with `file` field containing the JSON configuration file\n\n**Response:** JSON object with import result (HTTP 201 Created)\n\n**Possible Errors:**\n- 400 Bad Request: No file uploaded or failed to read file contents\n\n**Example:**\n```\nPOST /config/import\nContent-Type: multipart/form-data\n```\n\n---\n\n### GraphQL Explorer\n\n#### Get GraphQL Explorer\n**Endpoint:** `GET /graphql/explorer/{clientname}`\n**Operation ID:** `bundle_data_hub_graphql_explorer`\n**Permission:** None specified\n\nReturns the GraphQL Explorer HTML interface for a specific client configuration, allowing interactive query building and testing.\n\n**Path Parameter:**\n- `clientname` (string): The name of the GraphQL client configuration\n\n**Query Parameters:** All query and request parameters are passed to the explorer\n\n**Response:** HTML content (GraphQL Explorer interface)\n\n**Example:**\n```\nGET /graphql/explorer/assets\n```\n\n---\n\n#### Get GraphQL Explorer URL\n**Endpoint:** `GET /graphql/explorer-url/{name}`\n**Operation ID:** `bundle_data_hub_graphql_explorer_url`\n**Permission:** `PLUGIN_DATA_HUB_CONFIG`\n\nRetrieves the URL to access the GraphQL Explorer for a specific configuration.\n\n**Path Parameter:**\n- `name` (string): The name of the configuration\n\n**Response:** JSON object with `explorerUrl` field\n\n**Example:**\n```\nGET /graphql/explorer-url/assets\n```\n\n---\n\n### Users\n\n#### List Users\n**Endpoint:** `GET /users`\n**Operation ID:** `bundle_data_hub_users_collection`\n**Permission:** `PLUGIN_DATA_HUB_CONFIG`\n\nRetrieves a list of users or roles that can be assigned permissions in Data Hub configurations.\n\n**Query Parameters:**\n- `type` (string, optional): Filter by user type - \"user\" or \"role\" (default: \"user\")\n\n**Response:** Collection of `PermissionUser` objects\n\n**Example:**\n```\nGET /users?type=user\nGET /users?type=role\n```\n\n---\n\n### Thumbnails\n\n#### List Thumbnails\n**Endpoint:** `GET /thumbnails`\n**Operation ID:** `bundle_data_hub_thumbnails_collection`\n**Permission:** `thumbnails`\n\nRetrieves a list of available image thumbnail configurations that can be used in Data Hub queries.\n\n**Response:** Collection of `Thumbnail` objects\n\n**Example:**\n```\nGET /thumbnails\n```\n\n---\n\n## Permissions\n\nThe Studio API uses the following permission constants:\n\n- **`PLUGIN_DATA_HUB_CONFIG`**: Required for managing Data Hub configurations, viewing users, and accessing GraphQL explorer URLs\n- **`thumbnails`**: Required for listing thumbnail configurations\n\n## Common Response Codes\n\n- **200 OK**: Successful request\n- **201 Created**: Resource created successfully (configuration add, clone, import)\n- **400 Bad Request**: Invalid request data (import failures)\n- **401 Unauthorized**: Missing or invalid authentication\n- **403 Forbidden**: User lacks required permissions\n- **404 Not Found**: Resource not found\n\n## API Tags\n\nAll endpoints are tagged with `DataHub` for OpenAPI documentation grouping.\n\n## Configuration Types\n\nThe Data Hub Bundle supports the following adapter types:\n- **graphql**: GraphQL API adapter for querying and mutating Pimcore data\n\n## Usage Examples\n\n### Creating and Managing Configurations\n\n1. **Create a new GraphQL configuration:**\n   ```\n   POST /config/add?name=products&type=graphql\n   ```\n\n2. **Get configuration details:**\n   ```\n   GET /config/products\n   ```\n\n3. **Clone an existing configuration:**\n   ```\n   POST /config/clone?name=products_dev&originalName=products\n   ```\n\n4. **Export for backup:**\n   ```\n   GET /config/products/export\n   ```\n\n5. **Delete configuration:**\n   ```\n   DELETE /config/delete/products_dev\n   ```\n\n### Working with GraphQL\n\n1. **Get explorer URL:**\n   ```\n   GET /graphql/explorer-url/products\n   ```\n\n2. **Access GraphQL Explorer:**\n   ```\n   GET /graphql/explorer/products\n   ```\n\n### Managing Permissions\n\n1. **List available users:**\n   ```\n   GET /users?type=user\n   ```\n\n2. **List available roles:**\n   ```\n   GET /users?type=role\n   ```\n"
  },
  {
    "path": "doc/10_GraphQL/01_Configuration/01_General_Settings.md",
    "content": "# General Settings\n\n<div class=\"image-as-lightbox\"></div>\n\n![General Settings](../../img/graphql/general.png)\n\n#### Some Aspects:\n* `Active`: You can temporarily disable the configuration using the checkbox.\n* `SQL Condition (Deprecated)`: You can add a condition all data object queries have to satisfy in addition to \n  the [workspace settings](./03_Security_Settings.md).\n\nSQL Condition is currently deprecated but still enabled by default. If you want to disable it, you can do so in the symfony configuration tree:\n\n```yaml\npimcore_data_hub:\n    graphql:\n        allow_sqlObjectCondition: false\n```\n\n:::caution\n\nPlease note that this option will be also removed in the next major version.\n\n:::"
  },
  {
    "path": "doc/10_GraphQL/01_Configuration/02_Schema_Settings.md",
    "content": "# Schema Settings\n\nSchema settings define which data entities (Data Object classes, Assets, Documents) should be exposed via the endpoint. For Assets and Documents, default schemas are provided, for Data Object classes the schema can be defined in the field configuration.\n\n<div class=\"image-as-lightbox\"></div>\n\n![Add](../../img/graphql/schema_add.png)\n\n## Query Schema\n\nHere you can configure which Data Objects Classes can be exposed. \n\n### Available Fields Configuration\n\nWhen adding a new entity with the `Add` button, you can access the `Available Fields Configuration` window with a right-click on the `Settings` icon. You can then define all the target Data Object Class fields you want to make available.\n\nIn addition, you can employ a set of operators.\n\n<div class=\"image-as-lightbox\"></div>\n\n![Schema Settings](../../img/graphql/schema.png)\n\n:::info\n\nPlease note that not all data types are supported yet!\n\n:::\n\nYou will get a notice if you try to add an unsupported data type.\n\n## Mutation Schema\n\nHere you can decide if Data Objects for the selected class can be created, updated or deleted from the endpoint.\n\n:::caution\n\nBe aware that a Data Object deleted from an endpoint will be definitively deleted of Pimcore.\n\n:::\n\n### Available Fields Configuration\n\nAs for the `Query Schema` field, you can select the fields you want to expose and/or make available for changes in the `Available Fields Configuration` you can open by clicking on the `Settings` icon.\n \n## Generic Types\n\nHere you can define which data types can be created, read, updated or deleted from an endpoint.\n\n"
  },
  {
    "path": "doc/10_GraphQL/01_Configuration/03_Security_Settings.md",
    "content": "# Security Settings\n\nThe security settings define how the endpoint is secured and which data is accessible.\n\n<div class=\"image-as-lightbox\"></div>\n\n![security1.png](../../img/graphql/security1.png)\n\n## Authentication\n\nHere you can define how users are authenticated when accessing the endpoint.\n\n#### Supported Methods\n\n* API Key: needs to be sent with every request.\n\n#### API Key\n\nTo automatically create an API key use the button next to the input. \nFor each click on the button a new API key is generated and will be added to the input field in addition to the list of existing keys.\n\n## Introspection Settings\n\nIntrospection provides an information about queries which are supported by GraphQl schema. \nIf introspection is enabled, the endpoint will provide a schema definition which can be used by GraphiQL or other tools to provide auto-completion and documentation.\nIf introspection is disabled, the schema definition will not be provided and therefore no auto-completion or documentation will be available.\n\nThis is currently enabled by default. It can be disabled via security settings tab directly in the backend or in the symfony configuration tree:\n```\npimcore_data_hub:\n    graphql:\n        allow_introspection: false\n```\n\n## Workspace Settings\n\nDefines workspaces for data that should be accessible via the endpoint.\nThe definition is similar to Pimcore user [workspace permissions](https://pimcore.com/docs/6.x/Development_Documentation/Administration_of_Pimcore/Users_and_Roles.html) \n\n:::warning\n\nIf no workspace is selected, no directories are accessible.\n\n:::\n\nAvailable permissions:\n* Create\n* Read\n* Update\n* Delete\n\n\n## Error Handling  - Configuration Values\n\nThe default behavior for associated/related objects, documents or assets that are not visible for the\nendpoint is, to simply null it out.\n\nYou can change that via a configuration setting in symfony configuration tree:\n* 1 = the entire query will fail\n* 2 = null it out/skip it for multi-relations (default)\n \n```\npimcore_data_hub:\n    graphql:\n        not_allowed_policy: 2\n```\n\nIt is also possible to disable the permission checks entirely by setting the configuration option\nin the security definition tab.\n"
  },
  {
    "path": "doc/10_GraphQL/01_Configuration/04_Custom_Permissions.md",
    "content": "# Custom Permissions\n\nWhen creating custom queries or creating other custom extensions to Datahub, it might be useful to add additional permissions to define access rules for certain data entities (like it is possible to define access for Documents, Assets, etc.). \n\n## Adding Custom Permissions \n\nIf you want to create custom permissions, you can create an event-listener for the event \n`Pimcore\\Bundle\\DataHubBundle\\ConfigEvents::SPECIAL_ENTITIES` and add them as follows. \n\nThe EventListener adds a new Entity of type `Pimcore\\Bundle\\DataHubBundle\\Model\\SpecialEntitySetting` \nwith the corresponding permissions it allows:\n\n - Read Possible: defines if `read` checkbox is available\n - Create Possible: defines if `create` checkbox is available\n - Update Possible: defines if `update` checkbox is available\n - Delete Possible: defines if `delete` checkbox is available\n - Read Allowed: define default value for `read`\n - Create Allowed: define default value for `create`\n - Update Allowed: define default value for `update`\n - Delete Allowed: define default value for `delete`\n\n\n#### Sample Implementation\n \n```php\n\nuse Pimcore\\Bundle\\DataHubBundle\\ConfigEvents;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\Config\\SpecialEntitiesEvent;\nuse Pimcore\\Bundle\\DataHubBundle\\Model\\SpecialEntitySetting;\nuse Symfony\\Component\\EventDispatcher\\EventSubscriberInterface;\n\nclass GraphQlCustomListener implements EventSubscriberInterface\n{\n    public static function getSubscribedEvents()\n    {\n        return [\n            ConfigEvents::SPECIAL_ENTITIES => 'specialEntities'\n        ];\n    }\n\n    public function specialEntities(SpecialEntitiesEvent $event)\n    {\n        $custom = new SpecialEntitySetting(\n            'custom',\n            true,\n            true,\n            true,\n            false,\n            $event->getConfig()['schema']['specialEntities']['custom']['read'] ?? false,\n            $event->getConfig()['schema']['specialEntities']['custom']['create'] ?? false,\n            $event->getConfig()['schema']['specialEntities']['custom']['update'] ?? false,\n            $event->getConfig()['schema']['specialEntities']['custom']['delete'] ?? false\n        );\n\n        $event->addSpecialSetting($custom);\n    }\n}\n```\n"
  },
  {
    "path": "doc/10_GraphQL/01_Configuration/15_Customize_Endpoint_URL.md",
    "content": "# Customizing the Endpoint\n\nThe standard endpoint is\n```\n/pimcore-graphql-webservices/{clientname}?apikey={yourApiKey}\n```\n\nSo if your configuration name is _blogdemo_ and your apikey _123456_\nthen your endpoint would be\n\n```\n/pimcore-graphql-webservices/blogdemo?apikey=12345\n```\n\nHere is a configuration example showing how to override the standard endpoint:\n\n```yml\n# app/config/routing.yml\n\n# Changing URL to the explorer environement\nadmin_pimcoredatahub_config:\n  path: /pimcore-datahub-webservices-my-endpoint/explorer/{clientname}\n  defaults: { _controller: Pimcore\\Bundle\\DataHubBundle\\Controller\\GraphQLExplorerController::explorerAction }\n\n# Changing endoint URL\nadmin_pimcoredatahub_webservice:\n  path: /pimcore-graphql-webservices-my-endpoint/{clientname}\n  defaults: { _controller: Pimcore\\Bundle\\DataHubBundle\\Controller\\WebserviceController::webonyxAction }\n```\n"
  },
  {
    "path": "doc/10_GraphQL/04_Query/01_Document_Queries.md",
    "content": "# Document Queries\n\n## Supported Document Types\n\n* Email\n* Hardlink\n* Link\n* Page\n* Snippet\n\n## Supported Page Element Types\n\n* Areablock\n* Checkbox\n* Date\n* Embed  \n* Image\n* Input\n* Link\n* Multiselect\n* Numeric\n* Pdf\n* Relation\n* Relations\n* Scheduled Block\n* Select\n* Table\n* Textarea\n* Video\n* Wysiwyg\n* ...\n\n## Document Query Samples\n\n### Fetch Document Page and Get Date Editable\n\n```graphql\n{\n  getDocument(id: 25) {\n    ... on document_page {\n      fullpath\n      editables {\n        ...on document_editableDate {\n          _editableName\n          # unix timestamp\n          timestamp\n          # as formatted string\n          formatted(format:\"Y-m-d\")\n        }\n      }      \n    }\n  }\n}\n```\n\n\n### Fetch Document Page and Get All Editables, Including the Inherited Editables\n\n```graphql\n{\n  getDocument(id: 207) {    \n    ... on document_page {\n      id,\n      editables(getInheritedValues: true ){\n        __typename\n      }\n    }\n  }\n}\n```\n\n### Fetch Document Page and get processed Wysiwyg editable content\n\n* Field `text` contains the HTML as it is stored in Pimcore for this Wysiwyg editable.\n* Field `frontend` contain the processed HTML where Pimcore Element links are rewritten where necessary.\n\n```graphql\n{\n  getDocument(id: 207) {    \n    ... on document_page {\n      id,\n      editables(getInheritedValues: true){\n        __typename\n        ...on document_editableWysiwyg {\n          text\n          frontend\n        }\n      }\n    }\n  }\n}\n```\n\n### Fetch Full Rendered Document Page\n\nThe `rendered` field can be used to retrieve a rendered version of the page. Available options:\n* `attributes`: Attributes passed into the controller/action\n* `query`: Query Params passed into the controller/action\n* `options`: Options passed into the renderer\n* `use_layout`: Enable/disable Layout Rendering\n\n```graphql\n{\n  getDocument(id: 207) {    \n    ... on document_page {\n      id,\n      rendered(\n        attributes: [{key: \"myControllerAttributeName\", value: \"Hello World!\"}],\n        use_layout: true,\n        options: [{key: \"ignore_errors\", value: \"1\"}]\n      )\n    }\n  }\n}\n```\n\n## Fetch Document Page via Data Object Relation and Get More Editable Data\n\n* get data object ID 61\n* get many-to-one relation\n* get target page document\n* get link editable\n* get referenced page document / or news object\n* get input editables of referenced page document / or shorttext of news object\n\n```graphql\n{\n  getTest3(id: 61) {\n    manytoone {\n      ... on document_page {\n        fullpath\n        editables {\n          ... on document_editableLink {\n            _editableType\n            _editableName\n            data {\n              internal\n              path\n              target {\n                __typename\n                ... on document_page {\n                  id\n                  fullpath\n                  editables {\n                    ... on document_editableInput {\n                      name\n                      text\n                    }\n                  }\n                }\n                ... on object_news {\n                  shortText\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}\n```\n\n### Fetch Link Document\n\nGet Link Document and resolve the target news text.\n\n```graphql\n{\n  getDocument(id: 76) {\n    ... on document_link {\n      fullpath\n      object {\n        ...on object_news {\n          shortText\n        }\n      }      \n    }\n  }\n}\n\n```\n\n## Fetch Document Properties\n\nsee [Element Properties](./11_Query_Samples/05_Sample_Element_Properties.md)\n\n## Fetch Document Translation Links\n\n```graphql\n{\n  getDocument(id: 76) {\n    ... on document_page {\n      id\n      translations {\n        id\n        language\n        target {\n          ... on document_headlessdocument {\n            fullpath\n          }\n        }\n      }\n    }\n  }\n}\n\n```\n\n### Fetch Language Specific Document Translation Link\n\n```graphql\n{\n  getDocument(id: 76) {\n    ... on document_page {\n      id\n      translations(defaultLanguage: \"de\") {\n        ...\n      }\n    }\n  }\n}\n\n```"
  },
  {
    "path": "doc/10_GraphQL/04_Query/04_Asset_Queries.md",
    "content": "# Asset Queries\n\nAsset queries support getting single assets, single asset folders and asset listings. \n\n## Get Single Asset\n\nBase structure for getting single asset: \n\n```graphql\n{\n  getAsset(id: 4) {\n  ...\n  }\n} \n    \n```\n\nSee also following examples: \n- [Sample GetAsset](./11_Query_Samples/11_Sample_GetAsset.md)\n- [Sample Asset Metadata](./11_Query_Samples/12_Sample_Asset_Metadata.md)\n\n\n## Get Single Asset Folder\n\nBase structure for getting single asset folder (same as for assets): \n\n```graphql\n{\n  getAssetFolder(id: 4) {\n  ...\n  }\n} \n    \n```\n\n## Get List of Assets\n\nBase structure for getting a list of assets, restricted by IDs: \n\n```graphql\n{\n  getAssetListing(ids: \"4,5\") {\n    edges {\n    ...\n```\n\nSee also following examples: \n- [Sample GetAssetListing](./11_Query_Samples/13_Sample_GetAssetListing.md)\n \n \n#### Pagination\nPagination can be applied as query parameters.\n\n```graphql\n{\n  # 'first' is the limit\n  # 'after' the offset\n  getAssetListing(first: 3, after: 1) {\n    edges {\n      ...\n    }\n  }\n}\n```\n\n\n#### Simple Sorting\nSorting can be applied as query parameters, for example sort by filename, descending.\n\n```graphql\n{\n  getManufacturerListing(sortBy: \"filename\", sortOrder: \"DESC\") {\n    edges {\n      node {\n        id\n        name\n      }\n    }\n  }\n}\n```\n\n#### Filtering\n\nYou can use Pimcore's webservice filter logic as described \n[here](https://pimcore.com/docs/pimcore/6.9/Development_Documentation/Web_Services/Query_Filters.html) \nfor filtering listing requests.\n\nFor details see [filtering documentation page](./10_Filtering.md)\n\n\n## Localization of Queries\nQueries can be localized For details see the [localization documentation page](./08_Localization.md).\n\n## Thumbnails\n\nYou can request thumbnails for assets using a simple query like this:\n\n#### Video assets thumbnails\n\nYou need to specify the name of the video thumbnail configuration you want to use.\nAdditionally, you can use the `format` parameter to request a specific format.\n\n```graphql\nquery {\n  getAsset(id:353) {\n    id,    \n    thumbnail:fullpath(thumbnail: \"content\"),    \n  }\n}\n```\n\n#### Image assets thumbnails\n\nYou need to specify the name of the video thumbnail configuration you want to use.\nUse the `format` parameter to request a specific format.\nSpecifying the `deferred` parameter will defer the thumbnail generation until it gets requested for the first time.\n\n```graphql\nquery {\n  getAsset(id:289) {\n    id,    \n    thumbnail:fullpath(thumbnail: \"events_header\", deferred:true)    \n  }\n}\n```"
  },
  {
    "path": "doc/10_GraphQL/04_Query/05_DataObject_Queries.md",
    "content": "# DataObject Queries\n\n## Supported Data Types\n\nAlso check out the Pimcore's [data type documentation](https://pimcore.com/docs/6.x/Development_Documentation/Objects/Object_Classes/Data_Types/index.html). \n\n* Advanced Many-to-Many Relation\n* Advanced Many-to-Many Object Relation\n* Block\n* Boolean Select\n* [Calculated Value](https://pimcore.com/docs/6.x/Development_Documentation/Objects/Object_Classes/Data_Types/Calculated_Value_Type.html)\n* Checkbox\n* Classification Store\n* Country\n* Countries (Multiselect)\n* Date\n* DateTime\n* Email\n* External Image\n* Gender\n* [Field-Collections](https://pimcore.com/docs/6.x/Development_Documentation/Objects/Object_Classes/Data_Types/Fieldcollections.html)\n* Firstname\n* Geobounds\n* Geopoint\n* Geopolygon\n* Image\n* Image Advanced\n* Input\n* InputQuantityValue\n* Language\n* Languages (Multiselect)\n* Lastname\n* Link\n* Many-to-One Relation\n* Many-to-Many Relation\n* Many-to-Many Object Relation\n* Multiselect\n* Numeric\n* Quantity Value\n* Reverse Many-to-Many Object Relation\n* RgbaColor\n* Select\n* Slider\n* StructuredTable\n* Table\n* Textarea\n* Time\n* [URL Slug](https://pimcore.com/docs/6.x/Development_Documentation/Objects/Object_Classes/Data_Types/Others.html)\n* Video\n* Wysiwyg\n\n## Available Query Operators\n\nCheck out the [operators section](../08_Operators/README.md) for more information.\n\n## Get single Data Object\n\nBase structure for getting single data object: \n\n```graphql\n{\n  getNews(id: 4) {\n  ...\n  }\n} \n    \n```\n\n## Get List of Data Objects \n\nBase structure for getting a list of data objects, restricted by IDs: \n\n```graphql\n{\n  getNewsListing(ids: \"4,5\") {\n     edges {\n    ...\n```\n\nBase structure for getting a list of data objects, restricted by fullpath:\n\n```graphql\n{\n  getNewsListing(fullpaths: \"/NewsArticle,/NewsArticle2\") {\n    totalCount\n    edges {\n      node {\n        id        \n      }\n    }\n  }\n}\n```\n\nSometimes it can happen that the fullpath already contains a comma. To make sure the comma is not\ninterpreted as a list separator in this case, you can quote the path:\n\n```graphql\n{\n  getNewsListing(fullpaths: \"'/NewsArticle,Headline','/NewsArticle2'\") {\n    totalCount\n    edges {\n      node {\n        id        \n      }\n    }\n  }\n}\n```\n \n \n#### Pagination\nPagination can be applied as query parameters.\n\n```graphql\n{\n  # 'first' is the limit\n  # 'after' the offset\n  getManufacturerListing(first: 3, after: 1) {\n    edges {\n      node {\n        id\n        name\n      }\n    }\n  }\n}\n```\n\n#### Simple Sorting\nSorting can be applied as query parameters, for example sort by name, descending.\n\n```graphql\n{\n  getManufacturerListing(sortBy: \"name\", sortOrder: \"DESC\") {\n    edges {\n      node {\n        id\n        name\n      }\n    }\n  }\n}\n```\n\n#### Filtering\n\nYou can use Pimcore's webservice filter logic as described \n[here](https://pimcore.com/docs/pimcore/6.9/Development_Documentation/Web_Services/Query_Filters.html) \nfor filtering listing requests.\n\nFor details see [filtering documentation page](./10_Filtering.md)\n\n\n## Localization of Queries\nQueries can be localized For details see the [localization documentation page](./08_Localization.md).\n\n\n## Extend Data Object Queries\nIt is possible to add custom query data types and query operators. For details see detail documentation\npages: \n* [Add a custom query datatype](./15_Add_Custom_Query_Datatype.md)\n* [Add a custom query operator](./16_Add_Custom_Query_Operator.md)\n\n\n## More Examples\nSee following list for more examples with data object queries: \n\n- [Manufacturer Listing with sorting and paging](./11_Query_Samples/20_Sample_Manufacturer_Listing.md)\n- [Many-to-Many Object Relation](./11_Query_Samples/21_Sample_ManyToMany_Object_Relation.md)\n- [Advanced Many-to-Many Object Relation](./11_Query_Samples/22_Sample_Advanced_ManyToMany_Object_Relation.md)\n- [Advanced Many-to-Many Relation Metadata](./11_Query_Samples/23_Sample_Advanced_ManyToMany_Relation_Metadata.md)\n- [Field-Collections on Data Objects](./11_Query_Samples/24_Sample_Fieldcollections.md)\n- [Objects Parent/Children/Siblings](./11_Query_Samples/25_Sample_Parent_Children_Siblings.md)\n- [Get linked data](./11_Query_Samples/26_Sample_Get_Linked_Data.md)\n- [Translate Values](./11_Query_Samples/27_Sample_Translate_Values.md)\n\n"
  },
  {
    "path": "doc/10_GraphQL/04_Query/08_Localization.md",
    "content": "# Localization\n\n### Default Language\n\nYou can change the default language for localized fields by passing the `defaultLanguage` argument\nfor single and listing queries.\n\n#####  Sample Request\n```graphql\n{\n  getNewsListing(defaultLanguage: \"de\") {\n  ...\n}\n```\n\n### Define Language on Field Level\n\nHowever, you can always provide an alternative language for a specific field.\n\n#####  Sample Request\n```graphql\n{\n  getUser(id: 50, defaultLanguage: \"en\") {\n    myAdvancedObjects {\n      element {\n        id\n        classname\n        title,\n        deTitle: title(language: \"de\"),\n        shortText(language: \"de\")\n      }\n      metadata {\n        name\n        value\n      }\n    }\n  }\n}\n```\n\n##### Response\n```graphql\n{\n  \"data\": {\n    \"getUser\": {\n      \"myAdvancedObjects\": [\n        {\n          \"element\": {\n            \"id\": \"8\",\n            \"classname\": \"news\",\n            \"title\": \"In enim justo\",\n            \"deTitle\": \"Li Europan lingues es membres\",\n            \"shortText\": \"Lor separat existentie es un myth. Por scientie, musica, sport etc, litot Europa usa li sam vocabular.\"\n          },\n          \"metadata\": [\n            {\n              \"name\": \"altname\",\n              \"value\": \"Ratman\"\n            },\n            {\n              \"name\": \"name\",\n              \"value\": \"Canine\"\n            }\n          ]\n        },\n        {\n          \"element\": {\n            \"id\": \"3\",\n            \"classname\": \"news\",\n            \"title\": \"Lorem ipsum dolor sit amet\",\n            \"deTitle\": \"Er hörte leise Schritte hinter sich\",\n            \"shortText\": \"Das bedeutete nichts Gutes. Wer würde ihm schon folgen, spät in der Nacht und dazu noch in dieser engen Gasse mitten im übel beleumundeten Hafenviertel?\"\n          },\n          \"metadata\": [\n            {\n              \"name\": \"altname\",\n              \"value\": \"Spike\"\n            },\n            {\n              \"name\": \"name\",\n              \"value\": \"Doctor\"\n            }\n          ]\n        }\n      ]\n    }\n  }\n}\n```\n\n### Fallback Language\n\nYou can disable getting the value of the fallback language by passing the `getFallbackLanguageValue` argument.\nSet it to `false` to disable the fallback language.\n\n#####  Sample Request\n```\nquery {\n getCar(id: 1229) \n  {\n    name(language:\"de\", getFallbackLanguageValue:false)\n  }\n}\n```\n"
  },
  {
    "path": "doc/10_GraphQL/04_Query/10_Filtering.md",
    "content": "# Filter Listings\n\nYou can use __Pimcore's webservice filter logic__\nas described [here](https://pimcore.com/docs/pimcore/6.9/Development_Documentation/Web_Services/Query_Filters.html)\nto filter listing.\n\n\n## Sample\nGet all `Manufacturer` objects which have 'ca' in their name field.\n\n<div class=\"image-as-lightbox\"></div>\n\n![Filtered Grid](../../img/graphql/filtering.png)\n\n\n#### Request\n```graphql\n{\n  getManufacturerListing(filter: \"{\\\"name\\\": {\\\"$like\\\" :\\\"%ca%\\\"}}\") {\n    edges {\n      node {\n        id\n        name\n      }\n    },\n    totalCount    \n  }\n}\n```\n\n#### Response\n```json\n{\n  \"data\": {\n    \"getManufacturerListing\": {\n      \"edges\": [\n        {\n          \"node\": {\n            \"id\": \"45\",\n            \"name\": \"Cadillac\"\n          }\n        },\n        {\n          \"node\": {\n            \"id\": \"80\",\n            \"name\": \"AC Cars\"\n          }\n        },\n        {\n          \"node\": {\n            \"id\": \"153\",\n            \"name\": \"MG Cars\"\n          }\n        }\n      ],\n      \"totalCount\": 3\n    }\n  }\n}\n```\n\n\n"
  },
  {
    "path": "doc/10_GraphQL/04_Query/11_Query_Samples/05_Sample_Element_Properties.md",
    "content": "# Get Element Properties\n\n<div class=\"image-as-lightbox\"></div>\n\n![Sample Document Properties](../../../img/graphql/element_properties.png)\n\n### Request\n\nProperties can be filtered by providing the `keys` argument. All properties will be returned by default.\n\n```graphql\n{\n  getDocument(id: 38) {\n    ... on document_page {\n      fullpath\n      properties(keys: [\"newsletter_confirm_mail\", \"myobject\", \"mylogo\"]) {\n        __typename\n        ... on property_text {\n          name\n          text\n        }\n        ... on property_select {\n          name\n          text\n        }\n        ... on property_document {\n          name\n          type\n          document {\n            __typename\n            ... on document_email {\n              id\n              fullpath\n              controller\n              action              \n            }\n          }\n        }\n        ... on property_asset {\n          name\n          asset {\n            fullpath\n            logothumb: fullpath(thumbnail: \"content\")\n            filesize\n          }\n        }\n        ... on property_object {\n          name\n          object {\n            ... on object_Car {\n              id\n              name\n              color\n            }\n          }\n        }\n      }\n    }\n  }\n}\n```\n\n### Response\n\n```json\n{\n  \"data\": {\n    \"getDocument\": {\n      \"fullpath\": \"/en/More-Stuff/Developers-Corner/Editable-Roundup\",\n      \"properties\": [\n        {\n          \"__typename\": \"property_document\",\n          \"name\": \"newsletter_confirm_mail\",\n          \"type\": \"document\",\n          \"document\": {\n            \"__typename\": \"document_email\",\n            \"id\": \"105\",\n            \"fullpath\": \"/en/mails/newsletter_confirm\",\n            \"controller\": \"@AppBundle\\\\Controller\\\\DefaultController\",\n            \"action\": \"genericMail\"\n          }\n        },\n        {\n          \"__typename\": \"property_asset\",\n          \"name\": \"mylogo\",\n          \"asset\": {\n            \"fullpath\": \"/Brand%20Logos/Alfa_Romeo_logo.png\",\n            \"logothumb\": \"/Brand%20Logos/image-thumb__290__content/Alfa_Romeo_logo.webp\",\n            \"filesize\": 101613\n          }\n        },\n        {\n          \"__typename\": \"property_object\",\n          \"name\": \"myobject\",\n          \"object\": {\n            \"id\": \"273\",\n            \"name\": \"Gulietta Sprint Speciale\",\n            \"color\": [\n              \"green\"\n            ]\n          }\n        }\n      ]\n    }\n  }\n}\n```\n"
  },
  {
    "path": "doc/10_GraphQL/04_Query/11_Query_Samples/08_ClassificationStore.md",
    "content": "# Classification Store\n\n## Supported Data Types\n\n* BooleanSelect\n* Calculated Value\n* Checkbox\n* Country\n* Countries (Multiselect)\n* Date\n* DateTime\n* Input\n* InputQuantityValue\n* Language\n* Languages (Multiselect)\n* Multiselect\n* Numeric\n* QuantityValue\n* RgbaColor\n* Select\n* Slider\n* Textarea\n* Time\n* Wysiwyg\n\n\n## Request Example\n\n`csfield` is the classification store field.\n\n```graphql\n{\n{\n  getCstest(id: 107) {\n    id\n    classname\n    qvfield {\n      unit {\n        abbreviation\n      }\n      value\n    }\n    csfield(language: \"default\") {\n      id\n      name\n      description\n      features {\n        __typename\n        ... on csFeatureInput {\n          type\n          id\n          name\n          description\n          text\n        }\n        ... on csFeatureQuantityValue {\n          type\n          id\n          description\n          quantityvalue {\n            unit {\n              abbreviation\n              longname\n            }\n            value\n          }\n        }\n        ... on csFeatureTextarea {\n          text\n          name\n        }\n      }\n    }\n  }\n}\n```\n\n## Response Example\n\n```json\n{\n  \"data\": {\n    \"getCstest\": {\n      \"id\": \"107\",\n      \"classname\": \"cstest\",\n      \"qvfield\": {\n        \"unit\": {\n          \"abbreviation\": \"cm\"\n        },\n        \"value\": 3\n      },\n      \"csfield\": [\n        {\n          \"id\": 2,\n          \"name\": \"Group1\",\n          \"description\": \"Some group description\",\n          \"features\": [\n            {\n              \"__typename\": \"csFeatureInput\",\n              \"type\": \"input\",\n              \"id\": 2,\n              \"name\": \"The name of my key definition\",\n              \"description\": \"The description ...\",\n              \"text\": \"C\"\n            },\n            {\n              \"__typename\": \"csFeatureQuantityValue\",\n              \"type\": \"quantityValue\",\n              \"id\": 3,\n              \"description\": \"A quantityValue key definition\",\n              \"quantityvalue\": {\n                \"unit\": {\n                  \"abbreviation\": \"mm\",\n                  \"longname\": \"millimeter\"\n                },\n                \"value\": 2\n              }\n            },\n            {\n              \"__typename\": \"csFeatureTextarea\",\n              \"text\": \"Hello, I am a textarea\",\n              \"name\": \"key4\"\n            }\n          ]\n        }\n      ]\n    }\n  }\n}\n```"
  },
  {
    "path": "doc/10_GraphQL/04_Query/11_Query_Samples/10_Sample_GetTranslation.md",
    "content": "# Get Translation By Key\n\nIf you want to access one translation.\n\n### Request\n\n```\n{\n    getTranslation (key: \"BMW\") {\n            translations\n            domain \n            key \n            type\n        }\n}\n\n```\n\n### Response\n\n```\n{\n    \"data\": {\n        \"getTranslation\": {\n            \"translations\": \"{\\\"de\\\":\\\"\\\",\\\"en\\\":\\\"\\\",\\\"fr\\\":\\\"\\\"}\",\n            \"domain\": \"messages\",\n            \"key\": \"BMW\",\n            \"type\": \"simple\"\n        }\n    }\n}\n```\n"
  },
  {
    "path": "doc/10_GraphQL/04_Query/11_Query_Samples/11_Sample_GetAsset.md",
    "content": "# Get Asset By Id\n\nIf you want to access an Asset directly.\n\n:::caution\n\nNote that the data will be base64 encoded and quite time-consuming to deliver.\n\n:::\n\nDeeplink: [http://pimcore-demo-basic.pim.zone/admin/login/deeplink?asset_4_image](http://pimcore-demo-basic.pim.zone/admin/login/deeplink?asset_4_image)\n\n### Request\n\n:::info\n\nNote that for the fullpath and the base64 encoded data you can specify a thumbnail config.\nYou can use the `format` argument to retrieve the values for a specific format like `webp`.\n\n:::\n\n```\n{\n  getAsset(id: 4) {\n    id\n    # original\n    fullpath,\n    # thumbnail URL for exampleCover config\n    assetThumb: fullpath(thumbnail: \"exampleCover\")\n    # thumbnail URL for content config\n    assetThumb2: fullpath(thumbnail: \"content\", format: \"webp\")\n    resolutions(thumbnail: \"content\", types: [2,5]) {\n        resolution\n        url\n    }\n    srcset(thumbnail: \"content\") {\n        url\n        descriptor\n        # if types is not defined, then default resolutions @2x will be returned\n        resolutions(types: [2,5]) {\n            url\n            resolution\n        }\n    }\n    type\n    mimetype\n    # original file size\n    filesize\n    # base 64 encoded \"content\" thumbnail\n    data(thumbnail:\"content\")\n  }\n}\n\n```\n\n### Response\n\n```\n{\n  \"data\": {\n    \"getAsset\": {\n        {\n          \"data\": {\n            \"getAsset\": {\n              \"id\": \"4\",\n              \"fullpath\": \"/Car%20Images/jaguar/auto-automobile-automotive-192499.jpg\",\n              \"assetThumb\": \"/Car%20Images/jaguar/4/image-thumb__4__exampleCover/auto-automobile-automotive-192499.jpg\",\n              \"assetThumb2\": \"/Car%20Images/jaguar/4/image-thumb__4__content/auto-automobile-automotive-192499.webp\",\n              \"resolutions\": [\n                {\n                  \"url\": \"//Car%20Images/jaguar/image-thumb__4__content/auto-automobile-automotive-192499~-~768w@2x.jpg\",\n                  \"resolution\": 2\n                },\n                {\n                  \"url\": \"//Car%20Images/jaguar/image-thumb__4__content/auto-automobile-automotive-192499~-~768w@5x.jpg\",\n                  \"resolution\": 5\n                }\n              ]\n              \"srcset\": [\n                {\n                  \"descriptor\": \"768w\",\n                  \"url\": \"//Car%20Images/jaguar/image-thumb__4__content/auto-automobile-automotive-192499~-~768w.webp\"\n                  \"resolutions\": [\n                    {\n                      \"url\": \"//Car%20Images/jaguar/image-thumb__4__content/auto-automobile-automotive-192499~-~768w@2x.webp\",\n                      \"resolution\": 2\n                    },\n                    {\n                      \"url\": \"//Car%20Images/jaguar/image-thumb__4__content/auto-automobile-automotive-192499~-~768w@5x.webp\",\n                      \"resolution\": 5\n                    }\n                  ]\n                }\n              ],\n              \"type\": \"image\",\n              \"mimetype\": \"image/jpeg\",\n              \"filesize\": 113895,\n              \"data\": \"UklGRjh.............\"\n            }\n          }\n        }\n```\n"
  },
  {
    "path": "doc/10_GraphQL/04_Query/11_Query_Samples/12_Sample_Asset_Metadata.md",
    "content": "# Get Asset Metadata\n\n<div class=\"image-as-lightbox\"></div>\n\n![Metadata](../../../img/graphql/asset_metadata.png)\n\nDeeplink: [http://pimcore-demo-basic.pim.zone/admin/login/deeplink?asset_4_image](http://pimcore-demo-basic.pim.zone/admin/login/deeplink?asset_4_image)\n\n### Request\n\nGet the custom asset metadata for language `de`\n\n```graphql\n{\n  getAsset(id: 4, defaultLanguage: \"de\") {\n    id\n    fullpath\n    type\n    mimetype\n    filesize\n    metadata {\n      name\n      type\n      data\n      language\n    }\n  }\n}\n```\n\n### Response\n\n```json\n{\n  \"data\": {\n    \"getAsset\": {\n      \"id\": \"4\",\n      \"fullpath\": \"/Car%20Images/jaguar/auto-automobile-automotive-192499.jpg\",\n      \"type\": \"image\",\n      \"mimetype\": \"image/jpeg\",\n      \"filesize\": 113895,\n      \"metadata\": [\n        {\n          \"name\": \"author\",\n          \"type\": \"input\",\n          \"data\": \"Mike\",\n          \"language\": \"\"\n        },\n        {\n          \"name\": \"authorLink\",\n          \"type\": \"input\",\n          \"data\": \"https://www.pexels.com/@mikebirdy\",\n          \"language\": \"\"\n        },\n        {\n          \"name\": \"copyright\",\n          \"type\": \"input\",\n          \"data\": \"Mike (https://www.pexels.com/@mikebirdy) | Pexels License\",\n          \"language\": \"\"\n        },\n        {\n          \"name\": \"license\",\n          \"type\": \"input\",\n          \"data\": \"Pexels License\",\n          \"language\": \"\"\n        },\n        {\n          \"name\": \"licensePath\",\n          \"type\": \"input\",\n          \"data\": \"https://www.pexels.com/photo-license/\",\n          \"language\": \"\"\n        },\n        {\n          \"name\": \"source\",\n          \"type\": \"input\",\n          \"data\": \"https://www.pexels.com/photo/auto-automobile-automotive-car-192499/\",\n          \"language\": \"\"\n        }\n      ]\n    }\n  }\n}\n```\n\n## Get Asset Embedded Meta Info\n\n<div class=\"image-as-lightbox\"></div>\n\n![Metadata](../../../img/graphql/asset_embeddedMetaInfo.png)\n\n### Request\n\nGet the embedded meta info asset metadata for an asset\n\n```graphql\n{\n  getAsset(id: 295) {\n    embeddedMetaInfo {\n      name\n      value\n    }\n  }\n}\n```\n\n### Response\n\n```graphql\n{\n  \"data\": {\n    \"getAsset\": {\n      \"embeddedMetaInfo\": [\n        {\n          \"name\": \"FileSize\",\n          \"value\": \"395 kB\"\n        },\n        {\n          \"name\": \"FileModifyDate\",\n          \"value\": \"2019:06:07 12:21:26+02:00\"\n        },\n        {\n          \"name\": \"FileAccessDate\",\n          \"value\": \"2019:06:07 12:21:26+02:00\"\n        },\n        {\n          \"name\": \"FileInodeChangeDate\",\n          \"value\": \"2019:06:07 12:21:26+02:00\"\n        },\n        {\n          \"name\": \"FilePermissions\",\n          \"value\": \"rwxrwxr-x\"\n        },\n        {\n          \"name\": \"FileType\",\n          \"value\": \"SVG\"\n        },\n        {\n          \"name\": \"FileTypeExtension\",\n          \"value\": \"svg\"\n        },\n        {\n          \"name\": \"MIMEType\",\n          \"value\": \"image/svg+xml\"\n        },\n        {\n          \"name\": \"ImageWidth\",\n          \"value\": \"383.921649993\"\n        },\n        {\n          \"name\": \"ImageHeight\",\n          \"value\": \"260.469812009\"\n        },\n        {\n          \"name\": \"ViewBox\",\n          \"value\": \"0 0 849 576\"\n        },\n        {\n          \"name\": \"SVGVersion\",\n          \"value\": \"1.1\"\n        },\n        {\n          \"name\": \"Xmlns\",\n          \"value\": \"http://www.w3.org/2000/svg\"\n        },\n        {\n          \"name\": \"Style\",\n          \"value\": \"fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;\"\n        },\n        {\n          \"name\": \"ImageSize\",\n          \"value\": \"383.921649993x260.469812009\"\n        },\n        {\n          \"name\": \"Megapixels\",\n          \"value\": \"352991.9\"\n        }\n      ],\n      \"tags\": null\n    }\n  }\n}\n```\n"
  },
  {
    "path": "doc/10_GraphQL/04_Query/11_Query_Samples/13_Sample_GetAssetListing.md",
    "content": "# Get Asset Listing\n\n### Request\n\n:::info\n\nNote that for the fullpath and the base64 encoded data you can specify a thumbnail config.\n\n:::\n\n```\n{\n  getAssetListing {\n    edges {\n      node {\n        __typename\n      }\n    }\n  }\n}\n\n```\n\n### Response\n\n```\n{\n  \"data\": {\n    \"getAssetListing\": {\n      \"edges\": [\n        {\n          \"node\": {\n            \"__typename\": \"asset_folder\"\n          }\n        },\n        {\n          \"node\": {\n            \"__typename\": \"asset\"\n          }\n        },\n        {\n          \"node\": {\n            \"__typename\": \"asset\"\n          }\n        },\n        {\n          \"node\": {\n            \"__typename\": \"asset\"\n          }\n        },\n        {\n          \"node\": {\n            \"__typename\": \"asset\"\n          }\n        }\n      ]\n    }\n  }\n}\n```\n"
  },
  {
    "path": "doc/10_GraphQL/04_Query/11_Query_Samples/14_Sample_GetTranslationListing.md",
    "content": "# Get Translation Listing\n\n### Request\n\nFilter by domain \"messages\"\n\n```\n{\n  getTranslationListing (domain: \"messages\") {\n    edges {\n      node {\n        ... on translation {\n                key, translations\n            }\n      }\n    }\n  }\n}\n\n\n```\n\n### Response\n\n```\n{\n    \"data\": {\n        \"getTranslationListing\": {\n            \"edges\": [\n                {\n                    \"node\": {\n                        \"key\": \"2-door berlinetta\",\n                        \"translations\":\"{\\\"de\\\":\\\"2 T\\ürer Sportcoup\\é\\\",\\\"en\\\":\\\"\\\",\\\"fr\\\":\\\"\\\"}\"\n                    }\n                },\n                {\n                    \"node\": {\n                        \"key\": \"2-door fastback coupé\",\n                        \"translations\":\"{\\\"de\\\":\\\"2 T\\ürer Coup\\é\\\",\\\"en\\\":\\\"\\\",\\\"fr\\\":\\\"\\\"}\"\n                    }\n                },\n                {\n                    \"node\": {\n                        \"key\": \"2-door hardtop\",\n                        \"translations\":\"{\\\"de\\\":\\\"2 T\\ürer Hardtop\\\",\\\"en\\\":\\\"\\\",\\\"fr\\\":\\\"\\\"}\"\n                    }\n                },\n                {\n                    \"node\": {\n                        \"key\": \"2-door roadster\",\n                        \"translations\":\"{\\\"de\\\":\\\"2 T\\ürer Roadster\\\",\\\"en\\\":\\\"\\\",\\\"fr\\\":\\\"\\\"}\"\n                    }\n                }\n            ]\n        }\n    }\n}\n```\n"
  },
  {
    "path": "doc/10_GraphQL/04_Query/11_Query_Samples/20_Sample_Manufacturer_Listing.md",
    "content": "# Get Manufacturer Listing\n\n<div class=\"image-as-lightbox\"></div>\n\n![Grid](../../../img/graphql/manufacturer_listing.png)\n\n### Request\n\nManufacturer listing with limit 3 and offset 1, sorted by name.\n\n```graphql\n{\n  # 'first' is the limit\n  # 'after' the offset\n  getManufacturerListing(first: 3, after: 1, sortBy: \"name\") {\n    edges {\n      node {\n        id\n        name\n        logo {\n          id\n          fullpath\n        }\n      }\n    }\n  }\n}\n```\n\n### Response\n\n```\n{\n  \"data\": {\n    \"getManufacturerListing\": {\n      \"edges\": [\n        {\n          \"node\": {\n            \"id\": \"28\",\n            \"name\": \"Alfa Romeo\",\n            \"logo\": {\n              \"id\": \"290\",\n              \"fullpath\": \"/Brand%20Logos/Alfa_Romeo_logo.png\"\n            }\n          }\n        },\n        {\n          \"node\": {\n            \"id\": \"240\",\n            \"name\": \"Aston Martin\",\n            \"logo\": {\n              \"id\": \"291\",\n              \"fullpath\": \"/Brand%20Logos/Aston_Martin_Logo_2018.png\"\n            }\n          }\n        },\n        {\n          \"node\": {\n            \"id\": \"35\",\n            \"name\": \"Austin-Healey\",\n            \"logo\": {\n              \"id\": \"292\",\n              \"fullpath\": \"/Brand%20Logos/Austin-Healey-Logo.jpg\"\n            }\n          }\n        }\n      ],\n      \"totalCount\": 27\n    }\n  }\n}\n```\n\n\n"
  },
  {
    "path": "doc/10_GraphQL/04_Query/11_Query_Samples/21_Sample_ManyToMany_Object_Relation.md",
    "content": "# Many-to-Many Object Relation\n\n<div class=\"image-as-lightbox\"></div>\n\n![Data](../../../img/graphql/many_to_many_object_relation.png)\n\n### Request\n\nGet the associated categories.\n\n```graphql\n{\n  getCar(id: 9) {\n    name\n    categories {\n      ... on object_Category {\n        id\n        name\n      }\n    }\n  }\n}\n```\n\n### Response\n\n```json\n{\n  \"data\": {\n    \"getCar\": {\n      \"name\": \"E-Type\",\n      \"categories\": [\n        {\n          \"id\": \"559\",\n          \"name\": \"Sports Cars\"\n        },\n        {\n          \"id\": \"555\",\n          \"name\": \"Grand Tourer\"\n        }\n      ]\n    }\n  }\n}\n```\n\n\n"
  },
  {
    "path": "doc/10_GraphQL/04_Query/11_Query_Samples/22_Sample_Advanced_ManyToMany_Object_Relation.md",
    "content": "# Advanced Many-to-Many Object Relation and Metadata\n\nData Model for class `AccessoryPart`:\n\n<div class=\"image-as-lightbox\"></div>\n\n![Data](../../../img/graphql/advanced_many_to_many_object_relation.png)\n\nData:\n\n<div class=\"image-as-lightbox\"></div>\n\n![Data](../../../img/graphql/advanced_many_to_many_object_relation2.png)\n\n### Request\n\n:::info\n\nNote that the response differs from `Advanced Many-to-Many Relations` as there can be only class.\n\n:::\n\n```\n{\n  getAccessoryPart(id:408) {\n    id,\n    classname\n    advAdditionalCategories {\n      element {\n        id, \n        classname\n      }\n      metadata {\n        name, \n        value\n      }\n    }\n  }\n}\n```\n\n### Response\n\n```\n{\n  \"data\": {\n    \"getAccessoryPart\": {\n      \"id\": \"408\",\n      \"classname\": \"AccessoryPart\",\n      \"advAdditionalCategories\": [\n        {\n          \"element\": {\n            \"id\": \"392\",\n            \"classname\": \"Category\"\n          },\n          \"metadata\": [\n            {\n              \"name\": \"altName\",\n              \"value\": \"AlternativeNameForCategory\"\n            }\n          ]\n        }\n      ]\n    }\n  }\n}\n```\n\n\n"
  },
  {
    "path": "doc/10_GraphQL/04_Query/11_Query_Samples/23_Sample_Advanced_ManyToMany_Relation_Metadata.md",
    "content": "# Get Advanced Many-to-Many Relation Metadata\n\n<div class=\"image-as-lightbox\"></div>\n\n![Metadata](../../../img/graphql/many2many.png)\n\nData:\n\n<div class=\"image-as-lightbox\"></div>\n\n![many2many_data.png](../../../img/graphql/many2many_data.png)\n\n### Request\n\n:::info\n\nMake sure to use the correct inline fragments to access data from the related classes.\nThe exact class name is required to access the data. E.g. for manufacturer data use `... on object_Manufacturer`.\n\n:::\n\n```graphql\n{\n  getAccessoryPart(id:408) {\n    id,\n    classname\n    additionalLinkedElements {\n      element {\n\t\t\t\t... on asset {\n          id, \n          fullpath\n        }\n        ... on object_Manufacturer {\n          id,\n          name\n        }\n        ... on document_page {\n          id,\n          fullpath\n        }\n      }\n      metadata {\n        name, \n        value\n      }\n    }\n  }\n}\n```\n\n### Response\n\n```json\n{\n    \"data\": {\n        \"getAccessoryPart\": {\n            \"id\": \"408\",\n            \"classname\": \"AccessoryPart\",\n            \"additionalLinkedElements\": [\n                {\n                    \"element\": {\n                        \"id\": \"97\",\n                        \"fullpath\": \"/en/Find-and-Buy/On-Sale\"\n                    },\n                    \"metadata\": [\n                        {\n                            \"name\": \"altName\",\n                            \"value\": \"OnSale\"\n                        }\n                    ]\n                },\n                {\n                    \"element\": {\n                        \"id\": \"33\",\n                        \"fullpath\": \"/Car%20Images/austin%20healey/austin-healey-1019023.jpg\"\n                    },\n                    \"metadata\": [\n                        {\n                            \"name\": \"altName\",\n                            \"value\": \"CarImage\"\n                        }\n                    ]\n                },\n                {\n                    \"element\": {\n                        \"id\": \"35\",\n                        \"name\": \"Austin-Healey\"\n                    },\n                    \"metadata\": [\n                        {\n                            \"name\": \"altName\",\n                            \"value\": \"Manufacturer\"\n                        }\n                    ]\n                }\n            ]\n        }\n    }\n}\n```\n\n\n"
  },
  {
    "path": "doc/10_GraphQL/04_Query/11_Query_Samples/24_Sample_Fieldcollections.md",
    "content": "# Field-Collections on Data Objects\n\n### Configuration\n\nIf you want to run this sample on the [Official Demo Site](https://demo.pimcore.fun), please create the following configuration\n\n<div class=\"image-as-lightbox\"></div>\n\n![Schema](../../../img/graphql/news_configuration.png)\n\n### Sample Data\n\nDeeplink: https://demo.pimcore.fun/admin/login/deeplink?object_767_object\n\n<div class=\"image-as-lightbox\"></div>\n\n![Sample Data](../../../img/graphql/news_sample_data.png)\n\n### Request\n\n```graphql\n{\n{\n  getNews(id: 767) {\n    # id\n    # title\n    content {\n      __typename      \n      ... on fieldcollection_NewsText {\n        text\n      }\n      ... on fieldcollection_NewsCars {\n        title\n        relatedCars {\n          __typename\n          ... on object_Car {\n            name\n            color\n          }\n        }\n      }\n    }\n  }\n}\n```\n\nand make sure that the `/News` folder is readable.\n\n<div class=\"image-as-lightbox\"></div>\n\n![Workspace](../../../img/graphql/news_workspace.png)\n\n### Response\n\nHere you also see the use of aliases.\n\n```json\n{\n  \"data\": {\n    \"getNews\": {\n      \"content\": [\n        {\n          \"__typename\": \"fieldcollection_NewsText\",\n          \"text\": \"<p>Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, quis gravida magna mi a libero. Fusce vulputate eleifend sapien. Vestibulum purus quam, scelerisque ut, mollis sed, nonummy id, metus. Nullam accumsan lorem in dui. Cras ultricies mi eu turpis hendrerit fringilla. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; In ac dui quis mi consectetuer lacinia. Nam pretium turpis et arcu. Duis arcu tortor, suscipit eget, imperdiet nec, imperdiet iaculis, ipsum. Sed aliquam ultrices mauris. Integer ante arcu, accumsan a, consectetuer eget, posuere ut, mauris. Praesent adipiscing. Phasellus ullamcorper ipsum rutrum nunc. Nunc nonummy metus.</p>\\n\\n<p>Vestibulum volutpat pretium libero. Cras id dui. Aenean ut eros et nisl sagittis vestibulum. Nullam nulla eros, ultricies sit amet, nonummy id, imperdiet feugiat, pede. Sed lectus. Donec mollis hendrerit risus. Phasellus nec sem in justo pellentesque facilisis. Etiam imperdiet imperdiet orci. Nunc nec neque. Phasellus leo dolor, tempus non, auctor et, hendrerit quis, nisi. Curabitur ligula sapien, tincidunt non, euismod vitae, posuere imperdiet, leo. Maecenas malesuada. Praesent congue erat at massa. Sed cursus turpis vitae tortor. Donec posuere vulputate arcu. Phasellus accumsan cursus velit.</p>\\n\"\n        },\n        {\n          \"__typename\": \"fieldcollection_NewsCars\",\n          \"title\": \"XYZ\",\n          \"relatedCars\": [\n            {\n              \"__typename\": \"object_Car\",\n              \"name\": \"Impala\",\n              \"color\": [\n                \"white\"\n              ]\n            },\n            {\n              \"__typename\": \"object_Car\",\n              \"name\": \"Impala\",\n              \"color\": [\n                \"white\"\n              ]\n            },\n            {\n              \"__typename\": \"object_Car\",\n              \"name\": \"Coupe De Ville\",\n              \"color\": [\n                \"blue\"\n              ]\n            },\n            {\n              \"__typename\": \"object_Car\",\n              \"name\": \"Bel Air\",\n              \"color\": [\n                \"red\",\n                \"white\"\n              ]\n            }\n          ]\n        }\n      ]\n    }\n  }\n}\n```\n"
  },
  {
    "path": "doc/10_GraphQL/04_Query/11_Query_Samples/25_Sample_Parent_Children_Siblings.md",
    "content": "# Get objects Parent/Children/Siblings\n\nFor example, to get `berlina` object's (id:261) parent, children and siblings\n\n<div class=\"image-as-lightbox\"></div>\n\n![](../../../img/graphql/sample_parentChildrenSiblings.png)\n\n### Request\n\n:::info\n\nNote that for `children` and `_siblings` you can use the `objectTypes` argument to filter for specific types.\n\n:::\n\nAny combination of `variant`, `object`, `folder` is possible as a value for the `objectTypes` argument (default: `[\"object\", \"folder\"]`).\n\n```graphql\n{\n  getCar(id: 261) {\n    id\n    name\n\n    parent {\n      ... on object_Car {\n        id\n        name\n      }\n    }\n\n    children(objectTypes: [\"variant\", \"object\"]) {\n      ... on object_Car {\n        id\n        name\n        color\n      }\n    }\n\n    _siblings {\n      ... on object_Car {\n        id\n        name\n      }\n    }\n  }\n}\n```\n\n### Response\n\n```json\n{\n  \"data\": {\n    \"getCar\": {\n      \"id\": \"261\",\n      \"name\": \"1900\",\n      \"parent\": {\n        \"id\": \"260\",\n        \"name\": \"1900\"\n      },\n      \"children\": [\n        {\n          \"id\": \"263\",\n          \"name\": \"1900\",\n          \"color\": [\n            \"black\"\n          ]\n        },\n        {\n          \"id\": \"262\",\n          \"name\": \"1900\",\n          \"color\": [\n            \"silver\"\n          ]\n        }\n      ],\n      \"_siblings\": [\n        {\n          \"id\": \"264\",\n          \"name\": \"1900 Sprint\"\n        }\n      ]\n    }\n  }\n}\n```\n"
  },
  {
    "path": "doc/10_GraphQL/04_Query/11_Query_Samples/26_Sample_Get_Linked_Data.md",
    "content": "# Get Linked Data\n\n## Get Car With Referenced Manufacturer and Manufacturer Logo Image Thumbnail\n\n### Configuration\n\nDeeplink: [https://demo.pimcore.fun/admin/login/deeplink?object_277_object](https://demo.pimcore.fun/admin/login/deeplink?object_277_object)\n\n:::info\n\nNote that you have to adapt your schema definition as depicted below.\n\n:::\n\nThe thumbnail will be generated using the [Thumbnail operator](../../08_Operators/Query/AssetThumbnail.md). \n\n<div class=\"image-as-lightbox\"></div>\n\n![Schema Definition](../../../img/graphql/manufacturer_thumbnail.png)\n\n### Request\n\n```graphql\n{\n  getCar(id:277, defaultLanguage:\"en\") {\n    name\n    frenchName: name(language: \"fr\")\n    productionYear\n    cylinders\n    manufacturer {\n      ...on object_Manufacturer {\n        id\n        name\n        logo {\n          fullpath\n        }\n        customThumbnail        \n      }\n    }\n  }\n  }\n```\n\n### Response\n\n```json\n{\n  \"data\": {\n    \"getCar\": {\n      \"name\": \"Montreal\",\n      \"frenchName\": null,\n      \"productionYear\": 1970,\n      \"cylinders\": 8,\n      \"manufacturer\": {\n        \"id\": \"28\",\n        \"name\": \"Alfa Romeo\",\n        \"logo\": {\n          \"fullpath\": \"/Brand%20Logos/Alfa_Romeo_logo.png\",\n          \"filesize\": 101613\n        },\n        \"customThumbnail\": \"/Brand%20Logos/image-thumb__290__galleryLightbox/Alfa_Romeo_logo.webp\"\n      }\n    }\n  }\n}\n```"
  },
  {
    "path": "doc/10_GraphQL/04_Query/11_Query_Samples/27_Sample_Translate_Values.md",
    "content": "# Translate Values\n\nThe following example translates the `AccessoryPart` condition value.\n\nDeeplink: [http://pimcore-demo-basic.pim.zone/admin/login/deeplink?object_373_object](http://pimcore-demo-basic.pim.zone/admin/login/deeplink?object_373_object)\n\nOperator Config: \n\n<div class=\"image-as-lightbox\"></div>\n\n![Operator Config](../../../img/graphql/operator_translated1.png)\n\nWebsite Translation Grid:\n\n<div class=\"image-as-lightbox\"></div>\n\n![Data](../../../img/graphql/operator_translated2.png) \n\nThe idea in the following example is to use the website translation feature to convert\nthe value of the select field into a human-readable representation.\n\n### Request\n\n```graphql\n{\n  getAccessoryPart(id: 373, defaultLanguage: \"de\") {\n    # real condition\n    condition\n\n    # processed by the website translator with the prefix as defined in the export\n    # config and the language as specified above\n    translatedCondition\n  }\n}\n```\n\n### Response\n\n```json\n{\n  \"data\": {\n    \"getAccessoryPart\": {\n      \"condition\": \"broken\",\n      \"translatedCondition\": \"nicht mehr zu gebrauchen :-)\"\n    }\n  }\n}\n```\n\n\n"
  },
  {
    "path": "doc/10_GraphQL/04_Query/11_Query_Samples/_category_.json",
    "content": "{\r\n    \"label\": \"Query Samples\"\r\n}"
  },
  {
    "path": "doc/10_GraphQL/04_Query/11_Using_Aliases.md",
    "content": "# Using Aliases\n\nAliases are used to rename the result of a field. \nThis is useful when you want to return multiple fields with the same name.\n\nThere are two ways to use aliases:\n\n## Alias Operator\n\nSee [Alias operator](../08_Operators/Query/Alias.md) for more information.\n\n## Alias in the Query\n\nGet a `Car` with id 82 and return the number of doors.\nThe first value is the alias, the second value is the field name.\n\n#### Request\n```graphql\n{\n  getCar(id: 82) {  \n  doors: numberOfDoors\n  }\n}\n```\n\n#### Response\n```json\n{\n    \"data\": {\n        \"getCar\": {\n            \"doors\": 2\n        }\n    }\n}\n```\n\n\n"
  },
  {
    "path": "doc/10_GraphQL/04_Query/15_Add_Custom_Query_Datatype.md",
    "content": "# Add a Custom Query Datatype\n\nFor adding a new query data type two steps are necessary: \n- add a type definition\n- provide a resolver implementation (optional)\n\n\nTo add a type definition, add a section similar to this one to your `services.yml` file.\n\n```yaml\n    pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_mycustomdatatype:\n        class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\MyCustomDatatype\n        tags:\n            - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_mycustomdatatype }                        \n```\n\nFor reference, have a look at the\n[`Link datatype`](https://github.com/pimcore/data-hub/blob/2.x/src/GraphQL/DataObjectQueryFieldConfigGenerator/Link.php).\nIt also shows how specific attributes are resolved. \n\nIf you don't provide a resolver function then the getter method is called instead. "
  },
  {
    "path": "doc/10_GraphQL/04_Query/16_Add_Custom_Query_Operator.md",
    "content": "# Add a Custom Query Operator\n\nFor adding a new query operator two steps are necessary: \n- add a type definition\n- add the operator implementation\n\n### Type Definition\n\nAdd a section similar to this one to your `services.yml` file.\n\n```yaml\n    pimcore.datahub.graphql.querytypegenerator_operator_mycustomoperator:\n        class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\QueryOperatorConfigGenerator\\MyCustomOperator\n        tags:\n            - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_queryoperator_mycustomoperator }                        \n```\n\nFor reference, have a look at the\n[`Trimmer operator`](https://github.com/pimcore/data-hub/blob/2.x/src/GraphQL/Query/Operator/Trimmer.php).\n\n### Operator Implementation\n\nYou have to provide both JavaScript code dealing with the UI configuration aspects specific to  your operator\nand the server-side PHP implementation doing the actual calculations. \n\nA JS sample can be found [here](https://github.com/pimcore/data-hub/blob/2.x/src/Resources/public/js/queryoperator/Trimmer.js). \n\n:::info\n\nNote that the namespace would be `pimcore.plugin.datahub.operator.mycustomoperator`.\n\n:::\n\nMake sure, that your extension gets loaded. See [Pimcore Bundles](https://pimcore.com/docs/6.x/Development_Documentation/Extending_Pimcore/Bundle_Developers_Guide/Pimcore_Bundles/index.html)\ndocs page for further details.\n\nNext thing is to provide the server-side implementation.\nA sample can be found [here](https://github.com/pimcore/data-hub/blob/2.x/src/GraphQL/Query/Operator/Trimmer.php). \n\nFinally, we have to define how the operator instances get created.\nIn most cases we use the `DefaultOperatorFactory` for that:\n\n```yaml\n    pimcore.datahub.graphql.dataobjectqueryoperator.factory.mycustomoperator:\n        class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator\\Factory\\DefaultOperatorFactory\n        arguments:\n            $className: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator\\MyCustomOperator\n        tags:\n            - { name: pimcore.datahub.graphql.dataobjectqueryoperator_factory, id: mycustomoperator }\n```\n"
  },
  {
    "path": "doc/10_GraphQL/04_Query/20_Add_Custom_Query.md",
    "content": "# Add a Custom Query\n\nYou can extend the query schema and add your custom query in the following way.\n\nSee [Events and Event Listeners](https://pimcore.com/docs/6.x/Development_Documentation/Extending_Pimcore/Event_API_and_Event_Manager.html)\nif you need more information on Pimcore's event mechanism. \n\n```php\n\\Pimcore::getEventDispatcher()->addListener(\\Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\QueryEvents::PRE_BUILD,\n    function (\\Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\QueryTypeEvent $event) {\n        $config = $event->getConfig();\n\n        $outputType = new \\GraphQL\\Type\\Definition\\ObjectType([\n                'name' => \"CustomQueryResultType\",\n                'fields' => [\n                    'outputFieldA' => [\n                        'type' => \\GraphQL\\Type\\Definition\\Type::string(),\n                        'resolve' => function ($source, $args, $context, \\GraphQL\\Type\\Definition\\ResolveInfo $info) {\n                            return \"A-value for item \" . $source['resolvedId'] . \" is \" . uniqid();\n                        }\n                    ],\n                    'outputFieldB' => [\n                        'type' => \\GraphQL\\Type\\Definition\\Type::string(),\n                        'resolve' => function ($source, $args, $context, \\GraphQL\\Type\\Definition\\ResolveInfo $info) {\n                            return \"B-value for item \" . $source['resolvedId'] . \" is \" . uniqid();\n                        }\n                    ]\n                ]\n            ]\n        );\n\n        $operation = [\n            'type' => $outputType,\n            'args' => ['itemId' => ['type' => \\GraphQL\\Type\\Definition\\Type::nonNull(\\GraphQL\\Type\\Definition\\Type::int())]],\n            'resolve' => function ($source, $args, $context, \\GraphQL\\Type\\Definition\\ResolveInfo $info) {\n                // resolve the item using the input parameters. Result will be passed\n                // to the field-level resolvers\n                return ['resolvedId' => $args['itemId']];\n            }\n        ];\n\n        $config['fields']['performCustomQuery'] = $operation;\n        $event->setConfig($config);\n    });\n```\n<div class=\"image-as-lightbox\"></div>\n\n![iExplorer](../../img/graphql/add_query.png)\n\n \n"
  },
  {
    "path": "doc/10_GraphQL/07_Mutation/01_Document_Mutations.md",
    "content": "# Document Mutations\n\n## Supported Document Types\n\n* Email\n* Link\n* Page\n* ...\n\n## Supported Page Element Types\n\n* Areablock\n* Block\n* Embed  \n* Image (for now only target asset + alt text, no hotspots or markers)\n* Input\n* Multiselect\n* Scheduled Block\n* Select\n* Wysiwyg\n\n## Mutation Modes\n\nThere a two modes for document mutations. The Free-form API allows updating single editable content but\nrequires lots of Pimcore insight knowledge. The Tree API provides a more intuitive nested approach for\ncreating and updating documents. \n\n\n### Free-form API\n\n:::info\n\nImportant Note: To be able to fully exploit this feature you have to understand Pimcore's [editable naming strategy](https://pimcore.com/docs/6.x/Development_Documentation/Documents/Editable_Naming_Strategies.html)\n\n:::\n\nUpdate or add single or multiple editables by defining their exact name and their content.\n\n##### Sample (Update Existing Document)\n\n\n```graphql\nmutation {\n   updateDocumentPage(\n      id: 99\n      input: {\n         editableUpdateStrategy: replaceAll    # defaults to update\n         editables: {\n            input: [\n               { _editableName: \"content:2.headline\", text: \"HEYYOU 3\" }\n               { _editableName: \"headline\", text: \"NEW 2\" }\n            ]\n            wysiwyg: [\n               { _editableName: \"content:1.content\", text: \"my new <b>wysiwyg</b>\" }\n            ]\n         }\n         module: \"mymodule\"\n      }\n   ) {\n      success\n      document {\n         controller\n      }\n   }\n}\n```\n\n##### Additional Examples\nSee following list for more examples with the free-form API approach:\n\n- [Create document with areablocks and nested block with images](./24_Mutation_Samples/01_FreeformAPI_Create_Document_with_Areablocks.md)\n- [Update email document](./24_Mutation_Samples/02_FreeformAPI_Update_Email_Document.md)\n- [Create a new link document](./24_Mutation_Samples/03_FreeformAPI_Create_new_Link_Document.md)\n\n\n### Tree API\n\nIf you are not familiar with Pimcore's [editable naming strategy](https://pimcore.com/docs/6.x/Development_Documentation/Documents/Editable_Naming_Strategies.html)\nyou can also use the nested approach.\n\n### Sample (Update a Page With an Areablock Using the Nested Approach)\n\n```graphql\nmutation {\n   updateDocumentPage(\n      id: 99\n      input: {\n         editables: {\n            areablock: [\n               {\n                  _editableName: \"content\"\n                  items: [\n                     {\n                        type: \"headlines\"\n                        editables: {\n                           input: [\n                              {\n                                 _editableName: \"headline\"\n                                 text: \"HEY, I AM A SUBHEADLINE\"\n                              }\n                           ]\n                        }\n                     }\n                  ]\n               }\n            ]\n         }\n         controller: \"@AppBundle\\\\Controller\\\\ContentController\"\n         action: \"default\"\n      }\n   ) {\n      success\n      document {\n         controller\n         elements {\n            __typename\n         }\n      }\n   }\n}\n```\n\n##### Additional Examples\nSee following list for more examples with the tree API approach:\n\n- [Create document with areablocks and nested block with images](./24_Mutation_Samples/04_TreeAPI_Create_Document_with_Areablocks.md)"
  },
  {
    "path": "doc/10_GraphQL/07_Mutation/04_Asset_Mutations.md",
    "content": "# Asset Mutations\n\n## Create Asset\n\nThis will create an Asset with uploading data provided:\n```graphql\nmutation {\n  createAsset(\n    parentId: 1,\n    filename: \"foo.png\",\n    type: \"image\",\n    input: {\n      data: \"ewogICAgImZpZWxkY29sbGVjdGlvbiI6IFsKICAgICAgICB7CiAgICAgICAgICAgICJwYXJlbn....\"\n    }) {\n    success\n    message\n  }\n}\n```\n\n## Update Asset\n\nThis will rename the Asset and update the data.\nRequest:\n```graphql\nmutation {\n  updateAsset(id: 76, input: {filename:\"newfilename\",\n  data:\"iVBORw0KGgoAAAANSUhEUg.....\"}) {\n    success\n    message\n    assetData {\n         modificationDate\n    }   \n  }\n}\n```\n\n## Delete Asset\n```graphql\nmutation {\n  deleteAsset(id: 533) {\n    success\n    message\n  }\n}\n\nor\n\nmutation {\n  deleteAsset(fullpath: \"/Sample Content/Background Images/foo.png\") {\n    success\n    message\n  }\n}\n\n```"
  },
  {
    "path": "doc/10_GraphQL/07_Mutation/20_DataObject_Mutations.md",
    "content": "# DataObject Mutations\n\nData object mutations are used to create, update and delete data objects, documents, assets and translations.\nKeep in mind that for all kinds of mutations you need the `Write` permission and the mutation itself needs to be enabled in the configuration.\n\n:::info\n\nPlease be aware, that not all operations are supported for all data types.\n\n:::\n\n<div class=\"image-as-lightbox\"></div>\n\n![Mutation grid](../../img/graphql/mutation_grid.png)\n\n:::info\n\nNote that for `Create` and `Update` operate you can query the updated data using the same request.\n\n:::\n\n## Supported Mutation Datatypes\n\nAlso check out the Pimcore's [data type documentation](https://pimcore.com/docs/6.x/Development_Documentation/Objects/Object_Classes/Data_Types/index.html).\nFor supported mutation datatypes please check the `DataObjectMutationFieldConfigGenerator` folder in `src/GraphQL/`.\n\n## Supported Mutation Operators\n\nSee [operators section](../08_Operators/README.md) for more details.\n\n## Create Object\n\nRequest:\n```graphql\nmutation {\n  createNews(parentId: 429, key: \"news_created_by_gql\", published: false) {\n    success\n    message\n    output(defaultLanguage: \"de\") {\n      id      \n      creationDate\n      fullpath\n      title(language: \"en\")\n    }\n  }\n}\n```\n\nResponse:\n```json\n{\n  \"data\": {\n    \"createNews\": {\n      \"success\": true,\n      \"message\": \"object created: 1196\",\n      \"output\": {\n        \"id\": \"1196\",\n        \"creationDate\": 1732785597,\n        \"fullpath\": \"/Product Data/Accessories/lights/indicator lights/chevrolet-bel air-tail lights/news_created_by_gql\",\n        \"title\": null\n      }\n    }\n  }\n}\n```\n\n## Update Object\n\nUpdates german title and short text and returns the modification date. \n\nRequest:\n```graphql\nmutation {\n  updateNews(id: 1196, defaultLanguage: \"de\", input: {\n    title: \"german TITLE\", \n    shortText: \"new short text\"\n  }\n  ) {\n    success\n    output {\n      modificationDate,\n      title\n    }\n  }\n}\n```\n\nResponse:\n```json\n{\n  \"data\": {\n    \"updateNews\": {\n      \"success\": true,\n      \"output\": {\n        \"modificationDate\": 1732785648,\n        \"title\": \"german TITLE\"\n      }\n    }\n  }\n}\n```\n\n## Delete Object\n\nRequest:\n```graphql\nmutation {\n  deleteNews(id: 1196) {\n    success\n    message\n  }\n}\n```\n\nResponse:\n```graphql\n{\n  \"data\": {\n    \"deleteNews\": {\n      \"success\": true,\n      \"message\": \"\"\n    }\n  }\n}\n```\n\n\n## Extend Data Object Mutations\nIt is possible to add custom mutation data types and mutation operators. For details see detail documentation\npages: \n* [Add a custom mutation datatype](./25_Add_Custom_Mutation_Datatype.md)\n* [Add a custom mutation operator](./26_Add_Custom_Mutation_Operator.md)\n\n\n## More Examples\nSee following list for more examples with data object mutations:\n\n- [Add Relations](./24_Mutation_Samples/10_Sample_Add_Relations.md)\n- [Fieldcollection Mutations](./24_Mutation_Samples/15_Fieldcollection_Mutations.md)\n"
  },
  {
    "path": "doc/10_GraphQL/07_Mutation/24_Mutation_Samples/01_FreeformAPI_Create_Document_with_Areablocks.md",
    "content": "# [FreeForm] Create Document With Areablocks and Nested Block With Images\n\nSee demo document 99 for reference.\n\n```graphql\nmutation {\n   createDocumentPage(\n      key: \"documentkey47\"\n      parentId: 1\n      input: {\n         editables: {\n            areablock: [\n               {\n                  _editableName: \"content\"\n                  indices: [\n                     { key: \"1\", type: \"headlines\", hidden: false }\n                     { key: \"2\", type: \"wysiwyg-with-images\", hidden: false }\n                     { key: \"3\", type: \"image\", hidden: false }\n                  ]\n               }\n            ]\n            block: { _editableName: \"content:2.images\", indices: [1, 2] }\n            image: [\n               { _editableName: \"content:3.image\", alt: \"alt text\", id: 67 }\n               {\n                  _editableName: \"content:2.images:1.image\"\n                  alt: \"alt text for image 1\"\n                  id: 18\n               }\n               {\n                  _editableName: \"content:2.images:2.image\"\n                  alt: \"alt text for image 2\"\n                  id: 22\n               }\n            ]\n            input: [\n               {\n                  _editableName: \"content:1.headline\"\n                  text: \"HEY, I AM A SUBHEADLINE\"\n               }\n               { _editableName: \"headline\", text: \"THIS IS THE HEADLINE\" }\n            ]\n            wysiwyg: [\n               { _editableName: \"content:1.lead\", text: \"The lead text\" }\n               {\n                  _editableName: \"content:2.content\"\n                  text: \"<b>Lorem Ipsum</b> is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book...\"\n               }\n            ]\n         }\n         controller: \"@AppBundle\\\\Controller\\\\ContentController\"\n         action: \"default\"\n      }\n   ) {\n      success\n      document {\n         controller\n         elements {\n            __typename\n         }\n      }\n   }\n}\n```\n<div class=\"image-as-lightbox\"></div>\n\n![Grid](../../../img/graphql/document_create_mutation.png)"
  },
  {
    "path": "doc/10_GraphQL/07_Mutation/24_Mutation_Samples/02_FreeformAPI_Update_Email_Document.md",
    "content": "# [FreeForm] Update Email Document\n\nSee demo document 144 for reference.\n\n```graphql\nmutation {\n   updateDocumentEmail(\n      id: 144\n      editableUpdateStrategy: replaceAll    # defaults to update\n      input: {\n         editables: {\n            wysiwyg: [\n               {\n                  _editableName: \"greeting_text\"\n                  text: \"Hello ... I am a <b>Greeting Text</b>\"\n               }\n            ]\n         }\n         subject: \"Email subject\"\n      }\n   ) {\n      success\n      document {\n         controller\n      }\n   }\n}\n```\n\n<div class=\"image-as-lightbox\"></div>\n\n![Grid](../../../img/graphql/document_updateemail_mutation.png)"
  },
  {
    "path": "doc/10_GraphQL/07_Mutation/24_Mutation_Samples/03_FreeformAPI_Create_new_Link_Document.md",
    "content": "# [FreeForm] Create a New Link Document\n\n```graphql\nmutation {\n  createDocumentLink(key: \"newlinkdocument\", parentId:1, input: {\n    internal:308\n    internalType:\"asset\"         \n    }    \n  \n  ) {\n    success\n  }\n}\n```\n\n<div class=\"image-as-lightbox\"></div>\n\n![Grid](../../../img/graphql/document_create_link.png)\n"
  },
  {
    "path": "doc/10_GraphQL/07_Mutation/24_Mutation_Samples/04_TreeAPI_Create_Document_with_Areablocks.md",
    "content": "# [TreeAPI] Create Document With Areablocks and Nested Block With Images \n\nNote that this produces the same result as [this example](./01_FreeformAPI_Create_Document_with_Areablocks.md) \nbut uses the nested API instead of the free-form approach\n\n```graphql\nmutation {\n   createDocumentPage(\n      key: \"documentkey48\"\n      parentId: 1\n      input: {\n         editables: {\n            areablock: [\n               {\n                  _editableName: \"content\"\n                  items: [\n                     {\n                        type: \"headlines\"\n                        hidden: false # optional\n                        replace: false # defaults to true, all editables will be replaced (of course, this only makes sense for updates)\n                        editables: {\n                           input: [\n                              {\n                                 _editableName: \"headline\"\n                                 text: \"HEY, I AM A SUBHEADLINE\"\n                              }\n                           ]\n                           wysiwyg: [\n                              { _editableName: \"lead\", text: \"The lead text\" }\n                           ]\n                        }\n                     }\n                     {\n                        type: \"wysiwyg-with-images\"\n                        replace: false\n                        editables: {\n                           block: [\n                              {\n                                 _editableName: \"images\"\n                                 items: [\n                                    {\n                                       replace: false # replace all elements inside the editable\n                                       editables: {\n                                          image: [\n                                             {\n                                                _editableName: \"image\"\n                                                alt: \"alt text for image 1\"\n                                                id: 18\n                                             }\n                                          ]\n                                       }\n                                    }\n                                    {\n                                       replace: true\n                                       editables: {\n                                          image: [\n                                             {\n                                                _editableName: \"image\"\n                                                alt: \"alt text for image 2\"\n                                                id: 22\n                                             }\n                                          ]\n                                       }\n                                    }\n                                 ]\n                              }\n                           ]\n                           wysiwyg: [\n                              {\n                                 _editableName: \"content\"\n                                 text: \"<b>Lorem Ipsum</b> is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book...\"\n                              }\n                           ]\n                        }\n                     }\n                     {\n                        type: \"image\"\n                        editables: {\n                           image: [\n                              { _editableName: \"image\", alt: \"alt text\", id: 67 }\n                           ]\n                        }\n                     }\n                  ]\n               }\n            ]\n            input: [{ _editableName: \"headline\", text: \"THIS IS THE HEADLINE\" }]\n         }\n         controller: \"@AppBundle\\\\Controller\\\\ContentController\"\n         action: \"default\"\n      }\n   ) {\n      success\n      document {\n         controller\n         elements {\n            __typename\n         }\n      }\n   }\n}\n```"
  },
  {
    "path": "doc/10_GraphQL/07_Mutation/24_Mutation_Samples/10_Sample_Add_Relations.md",
    "content": "# Sample Add Relations\nThis will add relations to categories relation field of Car object. Type can be omitted for \nmutations only allowing one type, e.g. many-to-many-objects .\n\n:::info\nNote: Read permissions are required for related objects to be assigned.\n:::\n\nRequest:\n```\nmutation {\n  createCar (\n    key: \"test-car\",\n    parentId: 1086,\n    published: true,\n    input: {\n      name: \"Test Car\",\n      categories: [\n        {id: 390, type: \"object\"},\n        {id: 392, type: \"document\"}\n      ]\n    }\n  ) {\n        output(defaultLanguage: \"en\") {\n          id      \n          creationDate\n          fullpath\n        }\n    }\n}\n```"
  },
  {
    "path": "doc/10_GraphQL/07_Mutation/24_Mutation_Samples/15_Fieldcollection_Mutations.md",
    "content": "# Fieldcollection Mutations\n\nA [Field Collection](https://pimcore.com/docs/6.x/Development_Documentation/Objects/Object_Classes/Data_Types/Fieldcollections.html)\nis a list of items which can have different types.\n\nSince there is no `Union` input type in GraphQL, the approach for Fieldcollection mutations is different.\n\nThe mutation processor expects a list of items for a specific type.\nWithin the list, all items are listed with their indices and data.\n\n## Example\n\n```\nmutation {\n\tupdateNews(\n\t\tid: 1143\n\t\tinput: {\n\t\t\tcontent: {\n\t\t\t\treplace: false\n\t\t\t\titems: {\n\t\t\t\t\tNewsText: [{ index: 1, text: \"news text\" }]\n\t\t\t\t\tNewsCars: [\n\t\t\t\t\t\t{ index: 0, relatedCars: [{ type: \"object\", id: 318 }, { type: \"object\", id: 38 }] }\n            { index: 2, title: \"new cars\", relatedCars: [{ type: \"object\", id: 156 }, { type: \"object\", id: 184 }] }\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t) {\n\t\tsuccess\n\t\tmessage\n\t}\n}\n```\n\n## Notes\n\n### Index\n\nThe index is optional. If no index is provided then an autoincrement is used.\n\n### Replace vs. Overwrite\n\nIf `replace` is set to true (default is false) then the entire collection will be replaced.\nOtherwise individual items will be overwritten.\n\n"
  },
  {
    "path": "doc/10_GraphQL/07_Mutation/24_Mutation_Samples/20_Operators/01_Locale_Collector.md",
    "content": "---\ntitle: Locale Collector\n---\n\n# Sample for Mutation Operator \"Locale Collector\"\n\n```graphql\nmutation {\n  updateTable(\n    id: 7\n    input: {\n      name_translated: {\n        en: \"Dinner table\"\n        de: \"Esstisch\"\n      }\n    }\n  ) {\n    success\n    message\n    output {\n      name_en: name(language: \"en\")\n      name_de: name(language: \"de\")\n    }\n  }\n}\n```\n"
  },
  {
    "path": "doc/10_GraphQL/07_Mutation/25_Add_Custom_Mutation_Datatype.md",
    "content": "# Add a Custom Mutation Datatype\n\nFor adding a new mutation data type two steps are necessary: \n- add an input type definition\n- provide a processor implementation\n\nAdd a section similar to this one to your `services.yml` file.\n\n```yaml\n    pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_mycustomdatatype:\n        class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\MyCustomDatatype\n        tags:\n            - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_mycustomdatatype }                                    \n```\n\nFor reference, have a look at the\n[`Geopoint datatype`](https://github.com/pimcore/data-hub/blob/2.x/src/GraphQL/DataObjectMutationFieldConfigGenerator/Geopoint.php).\n\nYou return a valid GraphQL input type (which is an `InputObjectType`) here and a `Processor` which processes the actual\ninput data.\n\nFor a rather simple example have a look at the \n[`Date`](https://github.com/pimcore/data-hub/blob/2.x/src/GraphQL/DataObjectMutationFieldConfigGenerator/Date.php) \nimplementation (which both accepts integer and string input values).\n "
  },
  {
    "path": "doc/10_GraphQL/07_Mutation/26_Add_Custom_Mutation_Operator.md",
    "content": "# Add a Custom Mutation Operator\n\nFor adding a new mutation operator two steps are necessary: \n- add a type definition\n- add the operator implementation\n\n### Type Definition\nAdd a section similar to this one to your `services.yml` file.\n\n```yaml\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_operator_mycustommutationoperator:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationOperatorConfigGenerator\\MyCustomMutationOperator\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_mutationoperator_mycustommutationoperator }                        \n```\n\nFor reference have a look at:\n[`IfEmpty Operator`](https://github.com/pimcore/data-hub/blob/2.x/src/GraphQL/DataObjectMutationOperatorConfigGenerator/IfEmpty.php).\n\nThis will again define a processor (see the next subsection) and try to automatically determine the input type\ndepending on its child element.\n\n\n### Operator Implementation\n\nYou have to provide both JavaScript code dealing with the UI configuration aspects specific to your operator\nand the server-side PHP implementation processing the input (the input processor according to your input schema).\n\nA JS sample can be found \n[here](https://github.com/pimcore/data-hub/blob/2.x/src/Resources/public/js/mutationoperator/IfEmpty.js).\n\n:::info\n\nNote that the namespace in your case would be `pimcore.plugin.datahub.mutationoperator.mycustommutationoperator`.\n\n:::\n\nMake sure that your extension gets loaded. See [Pimcore Bundles](https://pimcore.com/docs/6.x/Development_Documentation/Extending_Pimcore/Bundle_Developers_Guide/Pimcore_Bundles/index.html)\ndocs page for further details.\n\nNext thing is to provide the input processor on the server side.\nA sample can be found \n[here](https://github.com/pimcore/data-hub/blob/2.x/src/GraphQL/DataObjectInputProcessor/IfEmptyOperator.php).\nIt will get the child value and only overwrite the current value if it is empty.\n\n\n \n\n\n\n\n\n"
  },
  {
    "path": "doc/10_GraphQL/07_Mutation/27_Add_Custom_Mutations.md",
    "content": "# Add Custom Mutations\n\nYou can extend the mutation schema and add your custom mutations in the following way.\n\nSee [Events and Event Listeners](https://pimcore.com/docs/6.x/Development_Documentation/Extending_Pimcore/Event_API_and_Event_Manager.html)\nif you need more information on Pimcore's event mechanism. \n\n```php\n\\Pimcore::getEventDispatcher()->addListener(\\Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\MutationEvents::PRE_BUILD,\n    function (\\Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\MutationTypeEvent $event) {\n        $config = $event->getConfig();\n\n        $opName = \"performCustomMutation\";\n\n        $inputType = new \\GraphQL\\Type\\Definition\\InputObjectType([\n            'name' => \"MyCustomInputTypeName\",\n            'fields' => [\n                'myCustomFieldName' => [\n                    'type' => \\GraphQL\\Type\\Definition\\Type::string()\n                ]\n            ]\n        ]);\n\n        $operation = [\n            'type' => Type::string(),           // the result type\n            'args' => [\n                'id' => ['type' => Type::nonNull(\\GraphQL\\Type\\Definition\\Type::int())],\n                'input' => ['type' => $inputType],\n            ], 'resolve' => function ($source, $args, $context, \\GraphQL\\Type\\Definition\\ResolveInfo $info) {\n                // do something here\n                $id = $args['id'];\n                return \"claiming that item \" . $id . \" has been updated to `\" . $args['input']['myCustomFieldName'] . \"`\";\n            }\n\n        ];\n\n        $config['fields'][$opName] = $operation;\n        $event->setConfig($config);\n    });\n```\n<div class=\"image-as-lightbox\"></div>\n\n![iExplorer](../../img/graphql/add_mutation.png)\n\n \n"
  },
  {
    "path": "doc/10_GraphQL/08_Operators/Mutation/IfEmpty.md",
    "content": "# If Empty\n\nOnly sets the value if current one is empty. Add the operator to the list and drag & drop the desired field into the operator.\n\n## Configuration\n\n<div class=\"image-as-lightbox\"></div>\n\n![ifempty_config.png](../../../img/graphql/ifempty_config.png)\n\n- **Label**: Field name to be used in the query.\n\n## Example\n\n<div class=\"image-as-lightbox\"></div>\n\n![ifempty_example.png](../../../img/graphql/ifempty_example.png)\n\nRequest:\n```graphql\nmutation {\n  updateCar(\n    id:82\n    input:{\n      UpdateDescription:\"Description if description is empty\"\n    }\n  ) {\n    success,\n    output {\n      description\n    }\n  }  \n}\n```\n\nResponse:\n```json\n{\n    \"data\": {\n        \"updateCar\": {\n            \"success\": true,\n            \"output\": {\n                \"description\": \"Description if description is empty\"\n            }\n        }\n    }\n}\n```\n[]\n\n"
  },
  {
    "path": "doc/10_GraphQL/08_Operators/Mutation/LocalCollector.md",
    "content": "# Locale Collector\n\nAllows editing all languages for a single field.\n\n## Configuration\n\n<div class=\"image-as-lightbox\"></div>\n\n![locale_collector_config.png](../../../img/graphql/locale_collector_config.png)\n\n- **Label**: Name for the field to be used in the mutation.\n\n## Example\n\n<div class=\"image-as-lightbox\"></div>\n\n![locale_collector_example.png](../../../img/graphql/locale_collector_example.png)\n\nRequest:\n```graphql\nmutation {\n  updateCar(\n    id:82\n    input:{\n      LocaleEditorName: {\n        en:\"Name_en\",\n        de:\"Name_de\",\n        fr:\"Name_fr\"\n      }\n    }\n  ) {\n    success,\n    output {  \n      name_en: name(language:\"en\"),\n      name_de: name(language:\"de\"),\n      name_fr: name(language:\"fr\")\n    }\n  }  \n}\n```\n\nResponse: \n```json\n{\n    \"data\": {\n        \"updateCar\": {\n            \"success\": true,\n            \"output\": {\n                \"name_en\": \"Name_en\",\n                \"name_de\": \"Name_de\",\n                \"name_fr\": \"Name_fr\"\n            }\n        }\n    }\n}\n```"
  },
  {
    "path": "doc/10_GraphQL/08_Operators/Mutation/LocaleSwitcher.md",
    "content": "# Locale Switcher\n\n<div class=\"image-as-lightbox\"></div>\n\n![locale_switcher_config.png](../../../img/graphql/locale_switcher_config.png)\n\nSwitches to different language other than the default language. Add the operator to the list and \n\n## Configuration\n\n<div class=\"image-as-lightbox\"></div>\n\n![locale_switcher_example.png](../../../img/graphql/locale_switcher_example.png)\n\n- **Label**: Field name to be used in the query.\n- **Locale**: The locale you want to switch to.\n\n## Example\n\nRequest: \n```graphql\nmutation {\n  updateCar(\n    id:82\n    input:{\n     name_ger:\"Wert für name Feld\"\n    }\n  ) {\n    success,\n    output {  \n      name_en:name(language:\"en\")\n      name_de:name(language:\"de\")\n    }\n  }  \n}\n```\n\nResponse: \n```json\n{\n  \"data\": {\n    \"updateCar\": {\n      \"success\": true,\n      \"output\": {\n        \"name_en\": \"Name_en\",\n        \"name_de\": \"Wert für name Feld\"\n      }\n    }\n  }\n}\n```"
  },
  {
    "path": "doc/10_GraphQL/08_Operators/Query/Alias.md",
    "content": "# Alias\n\nSimply gives the child node a different name.\n\nIf you are looking for a way to directly use aliases in a GraphQL query, please see [11_Using_Aliases.md](../../04_Query/11_Using_Aliases.md) . \n\n## Configuration\n\n<div class=\"image-as-lightbox\"></div>\n\n![alias_config.png](../../../img/graphql/alias_config.png)\n\n- **Attribute**: The new name for the field to be used in the query.\n\n## Example\n\n<div class=\"image-as-lightbox\"></div>\n\n![alias_example.png](../../../img/graphql/alias_example.png)\n\nRequest:\n```graphql\n{\n  getCar(id: 82) {\n    id,\n    key,\n    AliasForKey\n  }\n}\n```\n\nResponse:\n```json\n{\n    \"data\": {\n        \"getCar\": {\n            \"id\": \"81\",\n            \"key\": \"Cobra 427\",\n            \"AliasForKey\": \"Cobra 427\"\n        }\n    }\n}\n```\n\n\n\n"
  },
  {
    "path": "doc/10_GraphQL/08_Operators/Query/AssetThumbnail.md",
    "content": "# Asset Thumbnail\n\nReturns the selected thumbnail URL.\n\n## Configuration\n\n<div class=\"image-as-lightbox\"></div>\n\n![Thumbnail Config](../../../img/graphql/thumbnail_config.png)\n\n- **Attribute**: Name for the field to use in the query.\n- **Thumbnail**: Select the desired thumbnail from the list.\n\n## Example\n\n<div class=\"image-as-lightbox\"></div>\n\n![thumbnail_example.png](../../../img/graphql/thumbnail_example.png)\n\nRequest:\n```graphql\n{\n  getCar(id: 82) {\n    id,\n    contentThumbnail\n  }\n}\n```\n\nResponse:\n```json\n{\n    \"data\": {\n        \"getCar\": {\n            \"id\": \"82\",\n            \"contentThumbnail\": \"/Car%20Images/ac%20cars/68/image-thumb__68__content/automotive-car-classic-149813.44c4f656.jpg\"\n        }\n    }\n}\n```\n\n[]"
  },
  {
    "path": "doc/10_GraphQL/08_Operators/Query/AssetThumbnailHTML.md",
    "content": "# Asset Thumbnail HTML\n\nReturns the selected thumbnail HTML tag. \n\n## Configuration\n\n<div class=\"image-as-lightbox\"></div>\n\n![thumbnail_html_config.png](../../../img/graphql/thumbnail_html_config.png)\n\n- **Attribute**: Name for the field to use in the query.\n- **Thumbnail**: Select the desired thumbnail from the list.\n\n## Example\n\n<div class=\"image-as-lightbox\"></div>\n\n![thumbnail_html_example.png](../../../img/graphql/thumbnail_html_example.png)\n\nRequest:\n```graphql\n{\n  getCar(id: 82) {\n    id,\n    contentThumbnailHTML\n  }\n}\n```\n\nResponse:\n```json\n{\n  \"data\": {\n    \"getCar\": {\n      \"id\": \"82\",\n      \"contentThumbnailHTML\": \"<picture >\\n\\t<source srcset=\\\"/Car%20Images/ac%20cars/68/image-thumb__68__content/automotive-car-classic-149813.44c4f656.jpg 1x, /Car%20Images/ac%20cars/68/image-thumb__68__content/automotive-car-classic-149813@2x.44c4f656.jpg 2x\\\" width=\\\"1140\\\" height=\\\"641\\\" type=\\\"image/jpeg\\\" />\\n\\t<img src=\\\"/Car%20Images/ac%20cars/68/image-thumb__68__content/automotive-car-classic-149813.44c4f656.jpg\\\" width=\\\"1140\\\" height=\\\"641\\\" alt=\\\"\\\" loading=\\\"lazy\\\" srcset=\\\"/Car%20Images/ac%20cars/68/image-thumb__68__content/automotive-car-classic-149813.44c4f656.jpg 1x, /Car%20Images/ac%20cars/68/image-thumb__68__content/automotive-car-classic-149813@2x.44c4f656.jpg 2x\\\" />\\n</picture>\\n\"\n    }\n  }\n}\n```"
  },
  {
    "path": "doc/10_GraphQL/08_Operators/Query/Concatenator.md",
    "content": "# Concatenator\n\nConcatenates the values of the selected fields. \n\n## Configuration\n\n<div class=\"image-as-lightbox\"></div>\n\n![concat_config.png](../../../img/graphql/concat_config.png)\n\n- **Label**: Name for the field to use in the query.\n- **Glue**: The string that will be used to concatenate the values.\n\n## Example\n\n<div class=\"image-as-lightbox\"></div>\n\n![concat_example.png](../../../img/graphql/concat_example.png)\n\nRequest:\n```graphql\n{\n  getCar(id: 82) {\n    id,\n    ConcatYearCountry\n  }\n}\n```\n\nResponse:\n```json\n{\n  \"data\": {\n    \"getCar\": {\n      \"id\": \"82\",\n      \"ConcatYearCountry\": \"1966-GB\"\n    }\n  }\n}\n```"
  },
  {
    "path": "doc/10_GraphQL/08_Operators/Query/DateFormatter.md",
    "content": "# Date Formatter\n\nUtilizes the PHP date formatter. \n\n## Configuration\n\n<div class=\"image-as-lightbox\"></div>\n\n![date_formatter_config.png](../../../img/graphql/date_formatter_config.png)\n\n- **Label**: The name for the field to be used in the query .\n- **Date Format**: The format you want to use. For formatting options see [PHP Date Format](https://www.php.net/manual/en/function.date.php).\n\n## Example\n\n<div class=\"image-as-lightbox\"></div>\n\n![date_formatter_example.png](../../../img/graphql/date_formatter_example.png)\n\nRequest:\n```graphql\n{\n  getCar(id: 82) {\n    id,\n    modificationDate,\n    FormattedModificationDate\n  }\n}\n```\n\nResponse:\n```json\n{\n    \"data\": {\n        \"getCar\": {\n            \"id\": \"82\",\n            \"modificationDate\": 1732709167,\n            \"FormattedModificationDate\": \"Wednesday 27th of November 2024 12:06:07\"\n        }\n    }\n}\n```"
  },
  {
    "path": "doc/10_GraphQL/08_Operators/Query/ElementCounter.md",
    "content": "#  Element Counter\n\nCounts the elements assigned to the selected field.\nUseful for counting the number of elements in a relation field.\n\n## Configuration\n\n<div class=\"image-as-lightbox\"></div>\n\n![element_counter_config.png](../../../img/graphql/element_counter_config.png)\n\n- **Label**: Name for the field to use in the query.\n- **Count Empty**: If checked, the operator will also count empty fields.\n\n## Example\n\n<div class=\"image-as-lightbox\"></div>\n\n![element_counter_example.png](../../../img/graphql/element_counter_example.png)\n\nRequest:\n```graphql\n{\n  getCar(id: 82) {\n    id,\n    CategoriesCount\n  }\n}\n```\n\nResponse:\n```json\n{\n    \"data\": {\n        \"getCar\": {\n            \"id\": \"82\",\n            \"CategoriesCount\": 2\n        }\n    }\n}\n```"
  },
  {
    "path": "doc/10_GraphQL/08_Operators/Query/StaticText.md",
    "content": "# Static Text\n\nAdds the configured static text to the query.\n\n## Configuration\n\n<div class=\"image-as-lightbox\"></div>\n\n![static_text_config.png](../../../img/graphql/static_text_config.png)\n\n- **Text**: The text to add to the query.\n\n## Example\n\n<div class=\"image-as-lightbox\"></div>\n\n![static_text_example.png](../../../img/graphql/static_text_example.png)\n\nRequest:\n```graphql\n{\n  getCar(id: 82) {\n    id,\n    StaticTextForQuery\n  }\n}\n```\n\nResult:\n```json\n{\n  \"data\": {\n    \"getCar\": {\n      \"id\": \"81\",\n      \"StaticTextForQuery\": \"StaticTextForQuery\"\n    }\n  }\n}\n```"
  },
  {
    "path": "doc/10_GraphQL/08_Operators/Query/Substring.md",
    "content": "# Substring\n\nThis operator extracts a substring from a string.\n\n## Configuration\n\n<div class=\"image-as-lightbox\"></div>\n\n![substring_config.png](../../../img/graphql/substring_config.png)\n\n- **FieldName**: Name for the field to use in the query.\n- **Start**: The position of the first character to extract.\n- **Length**: The number of characters to extract.\n- **Ellipses**: If the string is longer than the specified length, an ellipsis is added at the end.\n\n## Example\n\n<div class=\"image-as-lightbox\"></div>\n\n![substring_example.png](../../../img/graphql/substring_example.png)\n\nRequest:\n```graphql\n{\n  getCar(id: 82) {\n    id,\n    description,\n    ShortDescription\n  }\n}\n```\n\nResponse:\n```json\n{\n  \"data\": {\n    \"getCar\": {\n      \"id\": \"82\",\n      \"description\": \"<p>Description that clearly exceeds 10 characters in length</p>\",\n      \"ShortDescription\": \"<p>Descript...\"\n    }\n  }\n}\n```\n"
  },
  {
    "path": "doc/10_GraphQL/08_Operators/Query/TranslateValue.md",
    "content": "# Translate Value\n\nTranslates the values of the selected fields. For translation the default locale is used.\n\nSimilar to Pimcore's [Translate Value](https://pimcore.com/docs/6.x/User_Documentation/DataObjects/Grid_Configuration_Operators/Operators/TranslateValue.html). For a detailed example see [Website Translations](../../04_Query/11_Query_Samples/27_Sample_Translate_Values.md).\n\n## Configuration\n\n<div class=\"image-as-lightbox\"></div>\n\n![translate_value_config.png](../../../img/graphql/translate_value_config.png)\n\n- **Label**: The label of the field.\n- **Prefix**: The prefix for the translation key.\n\n## Example\n\n<div class=\"image-as-lightbox\"></div>\n\n![translate_value_example.png](../../../img/graphql/translate_value_example.png)\n\n:::info\n\nNote: Make sure to add the translation key to the translations in the Pimcore backend, using the admin domain.\n\n:::\n\nRequest:\n```graphql\n{\n  getCar(id: 82) {\n    id,\n    TranslatedName\n  }\n}\n```\n\nResponse: \n```json\n{\n    \"data\": {\n        \"getCar\": {\n            \"id\": \"82\",\n            \"TranslatedName\": \"NameValuedAddedToTranslations\"\n        }\n    }\n}\n```\n"
  },
  {
    "path": "doc/10_GraphQL/08_Operators/Query/Trimmer.md",
    "content": "# Trimmer\n\nTrims the value. \n\n## Configuration\n\n<div class=\"image-as-lightbox\"></div>\n\n![trim_config.png](../../../img/graphql/trim_config.png)\n\n- **Label**: Name for the field to use in the query.\n- **Trim**: Where to trim, either `both`, `left`, `right` or `disabled`.\n\n## Example\n\n<div class=\"image-as-lightbox\"></div>\n\n![trim_example.png](../../../img/graphql/trim_example.png)\n\nRequest:\n```graphql\n{\n  getCar(id: 82) {\n    id,\n    name,\n    TrimmedName\n  }\n}\n```\n\nResponse:\n```json\n{\n    \"data\": {\n        \"getCar\": {\n            \"id\": \"82\",\n            \"name\": \" Cobra 427 \",\n            \"TrimmedName\": \" Cobra 427\"\n        }\n    }\n}\n```"
  },
  {
    "path": "doc/10_GraphQL/08_Operators/README.md",
    "content": "# Operators\n\nOperators allow to modify and transform the data before it is delivered to the endpoint or stored in Pimcore,\ndepending on whether they are used in a query or a mutation.\n\n<div class=\"image-as-lightbox\"></div>\n\n![Overview](../../img/graphql/queryoperators_overview.png)\n\nOperators can be selected in the GraphQL configuration using the `Schema Definition` tab.\nIn the `Query Schema` section use the `gear` icon to open the configuration dialog for a data object class you want to use in queries.\nIn the `Mutation Schema` section use the `gear` icon to open the configuration dialog for a data object class you want to use in mutations.\n\nThis will open the `Schema Fields` configuration dialog where you can select the fields you want to use in queries or mutations.\nIn the tree on the left side you can select th operators you want to use by clicking on one of the 3 tabs: `Formatters`, `Others` or `Transformers`.\n\nAdd an operator by double-clicking on it or by dragging it to the right side of the dialog. \nDepending on the operator an options dialog will open where you can configure the operator.\nAfter adding an operator you can drag & drop fields under the operator to apply the operator to them.\n\nPlease see the contents of this chapter for more information on the available operators."
  },
  {
    "path": "doc/10_GraphQL/10_Events.md",
    "content": "# Events\n\nDatahub GraphQL events are based on the Symfony event dispatcher, and are triggered during execution of Query and Mutation requests.\n[Read more](https://docs.pimcore.com/platform/Pimcore/Extending_Pimcore/Event_API_and_Event_Manager) about events on Pimcore documentation.\n\nAll Datahub events are defined as a constant on component classes:\n- [Query](https://github.com/pimcore/data-hub/blob/2.x/src/Event/GraphQL/QueryEvents.php)\n- [Mutation](https://github.com/pimcore/data-hub/blob/2.x/src/Event/GraphQL/MutationEvents.php)\n- [Executor](https://github.com/pimcore/data-hub/blob/2.x/src/Event/GraphQL/ExecutorEvents.php)\n- [Listing](https://github.com/pimcore/data-hub/blob/2.x/src/Event/GraphQL/ListingEvents.php)\n- [Ouput cache](https://github.com/pimcore/data-hub/blob/2.x/src/Event/GraphQL/OutputCacheEvents.php)\n\n## Event Subscriber Examples\n\nWith Symfony, you can listen to events using either [Event Listeners or Event Subscribers](https://symfony.com/doc/current/event_dispatcher.html).\nEvent Subscribers are used in the examples below.\n\nCreate a new class in `src/AppBundle/EventListener/GraphQlSubscriber.php` and use `autoconfigure: true` in your service configuration file \n(`app/config/services.yml` or `src/AppBundle/Resources/config/services.yml`)\nto let Symfony automatically recognize it as an Event Subscriber,\neither under `_defaults` or directly with the service:\n\n```yml\nservices:\n    _defaults: # Defaults for this file\n        autoconfigure: true  # Let Symfony automatically configure Event Subscribers, Commands etc.\n        # ...\n\n    AppBundle\\EventListener\\:\n        resource: '../../EventListener'\n```\n\n#### Example 1: Query & Mutation execution\n```php\n<?php\n\nnamespace AppBundle\\EventListener;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\ExecutorEvents;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\ExecutorEvent;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\ExecutorResultEvent;\nuse Symfony\\Component\\EventDispatcher\\EventSubscriberInterface;\n\nclass GraphQlSubscriber implements EventSubscriberInterface\n{\n    /**\n     * @inheritDoc\n     */\n    public static function getSubscribedEvents()\n    {\n        return [\n            ExecutorEvents::PRE_EXECUTE => 'onPreExecute', //Pre execute on Query & Mutation\n            ExecutorEvents::POST_EXECUTE => 'onPostExecute' //Post execute on Query & Mutation\n        ];\n    }\n\n    /**\n     * @param ExecutorEvent $event\n     */\n    public function onPreExecute(ExecutorEvent $event)\n    {\n        // do something with the query or schema\n        $query = $event->getQuery();\n        $schema = $event->getSchema();\n    }\n\n    /**\n     * @param ExecutorResultEvent $event\n     */\n    public function onPostExecute(ExecutorResultEvent $event)\n    {\n        // do something with output result\n        $result = $event->getResult();\n    }\n}\n\n```\n\n#### Example 2: Bypass workspace permissions with Query/Mutation build events\n```php\n<?php\n\nnamespace AppBundle\\EventListener;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\MutationEvents;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\MutationTypeEvent;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\QueryTypeEvent;\nuse Symfony\\Component\\EventDispatcher\\EventSubscriberInterface;\n\nclass GraphQlSubscriber implements EventSubscriberInterface\n{\n    /**\n     * @inheritDoc\n     */\n    public static function getSubscribedEvents()\n    {\n        return [\n            MutationEvents::PRE_BUILD => 'onMutationPreBuild',\n            QueryEvents::PRE_BUILD => 'onQueryPreBuild'\n        ];\n    }\n\n    /**\n     * @param MutationTypeEvent $event\n     */\n    public function onMutationPreBuild(MutationTypeEvent $event)\n    {\n        $mutationType = $event->getMutationType();\n        $mutationType->setOmitPermissionCheck(true); //omit permission check for mutations\n    }\n\n    /**\n     * @param QueryTypeEvent $event\n     */\n    public function onQueryPreBuild(QueryTypeEvent $event)\n    {\n        $queryType = $event->getQueryType();\n        $queryType->setOmitPermissionCheck(true); //omit permission check for queries\n    }\n}\n\n```\n\n#### Example 3: Add custom arguments to existing types\n```php\n<?php\n\nnamespace AppBundle\\EventListener;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\MutationEvents;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\MutationTypeEvent;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\QueryTypeEvent;\nuse Symfony\\Component\\EventDispatcher\\EventSubscriberInterface;\nuse GraphQL\\Type\\Definition\\Type;\n\nclass GraphQlSubscriber implements EventSubscriberInterface\n{\n    /**\n     * @inheritDoc\n     */\n    public static function getSubscribedEvents()\n    {\n        return [\n            MutationEvents::POST_BUILD => 'onMutationPostBuild',\n            QueryEvents::POST_BUILD => 'onQueryPostBuild'\n        ];\n    }\n\n    /**\n     * @param MutationTypeEvent $event\n     */\n    public function onMutationPostBuild(MutationTypeEvent $event)\n    {\n        $config = $event->getConfig();\n        \n        //additional check for a field value\n        $config['fields']['createProduct']['args']['foo'] = [\n            'type' => Type::nonNull(Type::string())\n        ];\n        \n        //additional checks for input fields\n        $input = $config['fields']['createProduct']['args']['input'];\n        $input->config['fields']['foo'] = [\n            'type' => Type::nonNull(Type::string())\n        ];\n        $event->setConfig($config);\n    }\n\n    /**\n     * @param QueryTypeEvent $event\n     */\n    public function onQueryPostBuild(QueryTypeEvent $event)\n    {\n        $config = $event->getConfig();\n        $config['fields']['getProductListing']['args']['foo'] = [\n            'type'  => Type::boolean()\n        ];\n        $event->setConfig($config);\n    }\n}\n\n```\n\n#### Example 4: Add custom query conditions to object listing\n\n- For simple filter conditions also see [Filtering](./04_Query/10_Filtering.md)\n\n```php\n<?php\n\nnamespace AppBundle\\EventListener;\nuse Pimcore\\Model\\DataObject\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\ListingEvents;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\ListingEvent;\nuse Symfony\\Component\\EventDispatcher\\EventSubscriberInterface;\n\nclass GraphQlSubscriber implements EventSubscriberInterface\n{\n    /**\n     * @inheritDoc\n     */\n    public static function getSubscribedEvents()\n    {\n        return [\n            ListingEvents::PRE_LOAD => 'onListingPreLoad',\n        ];\n    }\n\n    /**\n     * @param ListingEvent $event\n     */\n    public function onListingPreLoad(ListingEvent $event)\n    {\n        $listing = $event->getListing();\n\n        if ($listing->getClassName() === 'Product') {\n          $listing->setCondition(sprintf('(%s IN (SELECT %s FROM objects WHERE %s=\\'object\\') AND %s = \\'variant\\')',\n          Service::getVersionDependentDatabaseColumnName('o_parentid'),\n          Service::getVersionDependentDatabaseColumnName('o_id'),\n          Service::getVersionDependentDatabaseColumnName('o_type'),\n          Service::getVersionDependentDatabaseColumnName('o_type')));\n        }\n\n        $event->setListing($listing);\n    }\n}\n\n```\n\n#### Example 5: Add custom conditions to enable/disable output (responses) cache per request\n\n- `OutputCacheEvents::PRE_LOAD`: is triggered before trying to load an entry from cache, if cache is enabled. You can disable the cache  for this request by setting `$event->setUseCache(false)`. If you disable the cache, the entry won't be loaded nor saved\n- `OutputCacheEvents::PRE_SAVE`: if cache is enabled, it's triggered before saving an entry into the cache. You can use it to modify the response before it gets saved.\n\nUncacheable headers, such as CORS Access-Control-Allow-Origin, are removed from the response before the PRE_SAVE event and re-added after the cached response is loaded.\n\n```php\n<?php\n\nnamespace AppBundle\\EventListener;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\OutputCachePreLoadEvent;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\OutputCachePreSaveEvent;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\OutputCacheEvents;\nuse Symfony\\Component\\EventDispatcher\\EventSubscriberInterface;\n\nclass GraphqlListener implements EventSubscriberInterface\n{\n    /**\n     * @inheritDoc\n     */\n    public static function getSubscribedEvents()\n    {\n        return [\n            OutputCacheEvents::PRE_LOAD => 'onPreLoadCache',\n            OutputCacheEvents::PRE_SAVE => 'onPreSaveCache'\n        ];\n    }\n\n    /**\n     * @param OutputCachePreLoadEvent $event\n     */\n    public function onPreLoadCache(OutputCachePreLoadEvent $event) \n    {\n        $uri = $event->getRequest()->getMethod();\n        \n        if(str_contains($uri, \"my-special-endpoint\"))\n        {\n            $event->setUseCache(false);\n        }\n    }\n\n    /**\n     * @param OutputCachePreSaveEvent $event\n     */\n    public function onPreSaveCache(OutputCachePreSaveEvent $event) \n    {\n        $uri = $event->getRequest()->getMethod();\n        \n        if(str_contains($uri, \"my-awesome-endpoint\"))\n        {\n            $response = $event->getResponse();\n            // modify the response as you want it to be saved...\n\n            $event->setResponse($response);\n        }\n    }\n}\n```\n"
  },
  {
    "path": "doc/10_GraphQL/README.md",
    "content": "---\ntitle: GraphQL\n---\n\n# ![GraphQL Icon](../img/graphql/logo_small.png) GraphQL \n\n<!-- This GraphQL extension of Pimcores Datahub makes Assets and Data Objects available through an organized and easy-to-query GraphQL schema and constitutes a powerful and flexible way to connect Pimcore to other systems or frontend applications. -->\n\nWith [GraphQL](https://graphql.org/) endpoints, Datahub allows integrating Pimcore to other systems \nand services via GraphQL and test them with the integrated \n[GraphiQL explorer](https://github.com/graphql/graphiql/tree/main/packages/graphiql#readme) tool right away. \n\n[![Preview](../img/graphql/intro_preview.png)](../img/graphql/intro.mp4)\n\n<div class=\"image-as-lightbox\"></div>\n\n![Explorer](../img/graphql/iexplorer.png)\n\n\n## Configuration\nConfiguration takes place in the endpoint configuration and offers following possibilities: \n- [General Settings](./01_Configuration/01_General_Settings.md)\n- [Schema Definition](./01_Configuration/02_Schema_Settings.md)\n- [Security Settings](./01_Configuration/03_Security_Settings.md)\n- [Custom Permissions](./01_Configuration/04_Custom_Permissions.md)\n\n## External Access\nThe standard endpoint is\n```\n/pimcore-graphql-webservices/{configurationname}?apikey={yourApiKey}\n```\nSo if your configuration name is blogdemo and your apikey 123456 then your endpoint would be\n```\n/pimcore-graphql-webservices/blogdemo?apikey=123456\n```\nHere is a configuration how to [override the standard endpoint](./01_Configuration/15_Customize_Endpoint_URL.md)\n\n## Queries\nDepending on the configuration, the endpoint provides several queries to fetch data from Pimcore. As \nDatahub always creates a proper graphQL schema, also have a look at the generated schema to get details\nfor the possible queries of a certain endpoint. \n\nOn the following pages certain generic aspects are explained, and a couple of samples are listed: \n* For details on Document queries see [Document Query Documentation](./04_Query/01_Document_Queries.md).\n* For details on Asset queries see [Asset Query Documentation](./04_Query/04_Asset_Queries.md).\n* For details on DataObjects queries see [DataObject Query Documentation](./04_Query/05_DataObject_Queries.md).\n* For details on how to add custom queries see [Add Custom Queries Documentation](./04_Query/20_Add_Custom_Query.md).\n\n\n## Mutations\nDepending on the configuration, the endpoint provides several mutations to update data in Pimcore. As \nDatahub always creates a proper graphQL schema, also have a look at the generated schema to get details\nfor the possible mutations of a certain endpoint. \n\nSee following pages for a general overview of possible mutations:\n- For details on Document mutations see [Document Mutation Documentation](./07_Mutation/01_Document_Mutations.md)\n- For details on Asset mutations see [Asset Mutation Documentation](./07_Mutation/04_Asset_Mutations.md)\n- For details on DataObject mutations see [DataObject Mutation Documentation](./07_Mutation/20_DataObject_Mutations.md)  \n- For details on how to add custom mutations see [Add Custom Mutations Documentation](./07_Mutation/27_Add_Custom_Mutations.md).\n\n\n## Hands-On-Testing Using GraphiQL Explorer\n[GraphiQL explorer](https://github.com/graphql/graphiql/tree/main/packages/graphiql#readme) can be opened\nfor an endpoint in an iframe within Pimcore or as an additional browser tab. \n\n<div class=\"image-as-lightbox\"></div>\n\n![Open iExplorer](../img/graphql/open_explorer.png)\n\n\n## Events\nIt is possible to customize default behavior of graphQL endpoint with event listeners. For details \nsee [Events Documentation](./10_Events.md). \n\n\n## Output Cache\nIt is possible to keep a cache of the responses delivered by the endpoint, using the same default cache backend configured for Pimcore (Doctrine, Redis,...). This is specially useful to speed up the endpoint replies when it produces complex responses with many dependencies.\n\nThe cache can be enabled and configured with a configuration entry like this in your `config.yml` file:\n```yml\n#### DATAHUB OUTPUT CACHE\npimcore_data_hub:\n    graphql:\n        output_cache_enabled: true    # Enables/disables the output (responses) cache\n        output_cache_lifetime: 20     # If enabled, for how many seconds each response will be cached\n```\nBy default the cache is disabled but if it is enabled and you don't specify a value for `output_cache_lifetime`, its default value is set to 30 seconds.\n\n### Disable Output Cache for a Single Request (Only in DEBUG MODE)\nJust add the parameter `?pimcore_outputfilters_disabled=true` to the URL. This works in a similar way as the [Pimcore's Full Page Cache](https://pimcore.com/docs/pimcore/current/Development_Documentation/Development_Tools_and_Details/Cache/Full_Page_Cache.html).\n\n### Customize the Cache Behaviour\nIt is possible to customize some behavior of output cache with event listeners. For details \nsee [Events Documentation](./10_Events.md).\n\n### Note on Debugging With iGraphQL Playground\n\nOpen the settings and change `request.credentials` to `include`. Otherwise the \n`XDEBUG_SESSION` cookie header will get removed by default.\n\n<div class=\"image-as-lightbox\"></div>\n\n![Settings](../img/graphql/debugging.png)\n"
  },
  {
    "path": "doc/20_Deployment.md",
    "content": "# Configuration & Deployment\n\nThe configuration by default is saved in `var/config/data-hub/example.yaml`.\nAdditionally, a workspace permission index is kept in the database for better query performance when \nchecking for permissions.\n\nWhen deploying configurations following steps are necessary: \n- Deploy configuration file `/var/config/.../example.yaml` - e.g. check it into your VCS and \n  deploy it with your deployment mechanisms. \n\n- Rebuild workspaces by running `datahub:configuration:rebuild-workspaces`  \n\n\nEither call: \n```bash\ndatahub:configuration:rebuild-workspaces\n```\nto do that for all definitions, or:\n\n\n```bash\ndatahub:configuration:rebuild-workspaces --configs=assets,events\n```\nfor specific definitions.\n\n:::warning\n\nNote: The command ```datahub:graphql:rebuild-definitions ``` is marked as deprecated and will be removed in a future release.\n\n:::\n\n### Configuration Storage\n\nThe configuration user interface utilizes the `LocationAwareConfigRepository` for storing the configuration. In the symfony tree the storage location can be configured, possible values are\n- `symfony-config` - write configs as Symfony Config as YAML files to `/var/config/data_hub/<name>.yaml`\n- `settings-store` - write configs to the SettingsStore\n- `disabled` - do not allow to edit/write configs at all\n\n> Important: When using symfony-config write target, configs are written to Symfony\nConfig files (yaml), which are only getting revalidated in debug mode. So if you're changing configs in production you\nwon't see any update, because these configs are read only.\n\nDetails also see [Pimcore Docs](https://pimcore.com/docs/pimcore/current/Development_Documentation/Deployment/Configuration_Environments.html#page_Configuration-Storage-Locations-Fallbacks).\n\n#### Example\n```yaml\npimcore_data_hub:\n    config_location: \n        data_hub:\n            write_target:\n                type: 'symfony-config'\n                options:\n                     directory: '/var/www/html/var/config/data_hub'\n```\n\nAdditionally, it is also possible to define the configuration directly in a symfony configuration file without using\nthe configuration user interface. In this case, the configuration user interface is just read only.\n\n#### Sample Configuration File\n```yml \npimcore_data_hub:\n    configurations:\n        <name>:\n            general:\n                active: true\n                type: '<TYPE>'\n                name: '<NAME>'\n                description: '<DESCRIPTION>'\n                group: '<GROUP>'\n                sqlObjectCondition: '<CONDITION>'\n                modificationDate: <DATE>\n                path: '<PATH>'\n                createDate: <DATE>\n            schema:\n                queryEntities: {  }\n                mutationEntities: {  }\n                specialEntities:\n                    document:\n                        read: false\n                        create: false\n                        update: false\n                        delete: false\n...\n"
  },
  {
    "path": "doc/30_Testing.md",
    "content": "# Testing\n\n## Perform PHPStan Analysis\n\n### data-hub only context\n\n```bash\n.github/ci/scripts/setup-pimcore-environment.sh\ncomposer install\nvendor/bin/phpstan analyse --memory-limit=-1\n```\n\n### Pimcore context\n\n```bash\ncomposer require \"phpstan/phpstan:^1.4\" --dev\nvendor/bin/phpstan analyse -c vendor/pimcore/data-hub/phpstan.neon --memory-limit=-1\n```\n"
  },
  {
    "path": "phpstan-baseline.neon",
    "content": "parameters:\n\tignoreErrors:\n\t\t-\n\t\t\tmessage: \"#^Call to an undefined method Symfony\\\\\\\\Component\\\\\\\\Config\\\\\\\\Definition\\\\\\\\Builder\\\\\\\\NodeDefinition\\\\:\\\\:children\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 4\n\t\t\tpath: src/DependencyInjection/Configuration.php\n\n\t\t-\n\t\t\tmessage: \"#^Call to static method addConfigLocationWithWriteTargetNodes\\\\(\\\\)\\\\ on an unknown class Pimcore\\\\\\\\Bundle\\\\\\\\CoreBundle\\\\\\\\DependencyInjection\\\\\\\\ConfigurationHelper.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/DependencyInjection/Configuration.php\n\n\t\t-\n\t\t\tmessage: \"#^Call to an undefined static method Pimcore\\\\\\\\Bundle\\\\\\\\CoreBundle\\\\\\\\DependencyInjection\\\\\\\\ConfigurationHelper\\\\:\\\\:getConfigNodeFromSymfonyTree\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/DependencyInjection/PimcoreDataHubExtension.php\n\n\t\t-\n\t\t\tmessage: \"#^Call to an undefined static method Pimcore\\\\\\\\Bundle\\\\\\\\CoreBundle\\\\\\\\DependencyInjection\\\\\\\\ConfigurationHelper\\\\:\\\\:getSymfonyConfigFiles\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/DependencyInjection/PimcoreDataHubExtension.php\n\n\t\t-\n\t\t\tmessage: \"#^Call to an undefined static method Pimcore\\\\\\\\Config\\\\\\\\LocationAwareConfigRepository\\\\:\\\\:getStorageConfigurationCompatibilityLayer\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/Configuration/Dao.php\n\n\t\t-\n\t\t\tmessage: \"#^Constructor of class Pimcore\\\\\\\\Bundle\\\\\\\\DataHubBundle\\\\\\\\GraphQL\\\\\\\\AssetType\\\\\\\\AssetFolderType has an unused parameter \\\\$config\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/AssetType/AssetFolderType.php\n\n\t\t-\n\t\t\tmessage: \"#^Constructor of class Pimcore\\\\\\\\Bundle\\\\\\\\DataHubBundle\\\\\\\\GraphQL\\\\\\\\AssetType\\\\\\\\AssetInputType has an unused parameter \\\\$context\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/AssetType/AssetInputType.php\n\n\t\t-\n\t\t\tmessage: \"#^Negated boolean expression is always false\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/AssetType/AssetTreeType.php\n\n\t\t-\n\t\t\tmessage: \"#^Constructor of class Pimcore\\\\\\\\Bundle\\\\\\\\DataHubBundle\\\\\\\\GraphQL\\\\\\\\AssetType\\\\\\\\AssetType has an unused parameter \\\\$context\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/AssetType/AssetType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/ClassificationstoreFeatureType/BooleanSelectType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/ClassificationstoreFeatureType/CheckboxType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/ClassificationstoreFeatureType/DateType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/ClassificationstoreFeatureType/MultiselectType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/ClassificationstoreFeatureType/QuantityValueType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/ClassificationstoreFeatureType/StringType.php\n\n\t\t-\n\t\t\tmessage: \"#^Constructor of class Pimcore\\\\\\\\Bundle\\\\\\\\DataHubBundle\\\\\\\\GraphQL\\\\\\\\ClassificationstoreType\\\\\\\\Group has an unused parameter \\\\$context\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/ClassificationstoreType/Group.php\n\n\t\t-\n\t\t\tmessage: \"#^Expression on left side of \\\\?\\\\? is not nullable\\\\.$#\"\n\t\t\tcount: 2\n\t\t\tpath: src/GraphQL/DataObjectMutationFieldConfigGenerator/Fieldcollections.php\n\n\t\t-\n\t\t\tmessage: \"#^Call to an undefined method Pimcore\\\\\\\\Model\\\\\\\\DataObject\\\\\\\\ClassDefinition\\\\\\\\Data\\\\:\\\\:getFieldDefinition\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DataObjectQueryFieldConfigGenerator/Block.php\n\n\t\t-\n\t\t\tmessage: \"#^Call to an undefined method Pimcore\\\\\\\\Model\\\\\\\\DataObject\\\\\\\\ClassDefinition\\\\\\\\Data\\\\:\\\\:getOwnerClassId\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DataObjectQueryFieldConfigGenerator/Helper/ReverseManyToManyObjects.php\n\n\t\t-\n\t\t\tmessage: \"#^Call to an undefined method Pimcore\\\\\\\\Model\\\\\\\\DataObject\\\\\\\\ClassDefinition\\\\\\\\Data\\\\:\\\\:getOwnerFieldName\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DataObjectQueryFieldConfigGenerator/Helper/ReverseManyToManyObjects.php\n\n\t\t-\n\t\t\tmessage: \"#^Call to an undefined method Pimcore\\\\\\\\Model\\\\\\\\DataObject\\\\\\\\ClassDefinition\\\\\\\\Data\\\\:\\\\:getAssetsAllowed\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DataObjectType/AbstractRelationsType.php\n\n\t\t-\n\t\t\tmessage: \"#^Call to an undefined method Pimcore\\\\\\\\Model\\\\\\\\DataObject\\\\\\\\ClassDefinition\\\\\\\\Data\\\\:\\\\:getClasses\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 2\n\t\t\tpath: src/GraphQL/DataObjectType/AbstractRelationsType.php\n\n\t\t-\n\t\t\tmessage: \"#^Call to an undefined method Pimcore\\\\\\\\Model\\\\\\\\DataObject\\\\\\\\ClassDefinition\\\\\\\\Data\\\\:\\\\:getDocumentsAllowed\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DataObjectType/AbstractRelationsType.php\n\n\t\t-\n\t\t\tmessage: \"#^Call to an undefined method Pimcore\\\\\\\\Model\\\\\\\\DataObject\\\\\\\\ClassDefinition\\\\\\\\Data\\\\:\\\\:getObjectsAllowed\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DataObjectType/AbstractRelationsType.php\n\n\t\t-\n\t\t\tmessage: \"#^If condition is always true\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DataObjectType/AbstractRelationsType.php\n\n\t\t-\n\t\t\tmessage: \"#^Instanceof between Pimcore\\\\\\\\Model\\\\\\\\DataObject\\\\\\\\ClassDefinition and Pimcore\\\\\\\\Model\\\\\\\\DataObject\\\\\\\\Fieldcollection\\\\\\\\Definition will always evaluate to false\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DataObjectType/BlockEntryType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DataObjectType/BlockEntryType.php\n\n\t\t-\n\t\t\tmessage: \"#^Constructor of class Pimcore\\\\\\\\Bundle\\\\\\\\DataHubBundle\\\\\\\\GraphQL\\\\\\\\DataObjectType\\\\\\\\ElementDescriptorInputType has an unused parameter \\\\$context\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DataObjectType/ElementDescriptorInputType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DataObjectType/ElementMetadataKeyValuePairType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DataObjectType/GeoboundsType.php\n\n\t\t-\n\t\t\tmessage: \"#^Constructor of class Pimcore\\\\\\\\Bundle\\\\\\\\DataHubBundle\\\\\\\\GraphQL\\\\\\\\DataObjectType\\\\\\\\GeopointInputType has an unused parameter \\\\$context\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DataObjectType/GeopointInputType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DataObjectType/GeopointType.php\n\n\t\t-\n\t\t\tmessage: \"#^Constructor of class Pimcore\\\\\\\\Bundle\\\\\\\\DataHubBundle\\\\\\\\GraphQL\\\\\\\\DataObjectType\\\\\\\\HotspotType has an unused parameter \\\\$context\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DataObjectType/HotspotType.php\n\n\t\t-\n\t\t\tmessage: \"#^Constructor of class Pimcore\\\\\\\\Bundle\\\\\\\\DataHubBundle\\\\\\\\GraphQL\\\\\\\\DataObjectType\\\\\\\\InputType\\\\\\\\AbstractRelationInputType has an unused parameter \\\\$context\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DataObjectType/InputType/AbstractRelationInputType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DataObjectType/LinkType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DataObjectType/LocalizedType.php\n\n\t\t-\n\t\t\tmessage: \"#^Constructor of class Pimcore\\\\\\\\Bundle\\\\\\\\DataHubBundle\\\\\\\\GraphQL\\\\\\\\DataObjectType\\\\\\\\ObjectFolderType has an unused parameter \\\\$config\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DataObjectType/ObjectFolderType.php\n\n\t\t-\n\t\t\tmessage: \"#^Instanceof between Pimcore\\\\\\\\Model\\\\\\\\DataObject\\\\\\\\ClassDefinition\\\\|null and Pimcore\\\\\\\\Model\\\\\\\\DataObject\\\\\\\\Fieldcollection\\\\\\\\Definition will always evaluate to false\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DataObjectType/ObjectMetadataType.php\n\n\t\t-\n\t\t\tmessage: \"#^Instanceof between Pimcore\\\\\\\\Model\\\\\\\\DataObject\\\\\\\\ClassDefinition\\\\|null and Pimcore\\\\\\\\Model\\\\\\\\DataObject\\\\\\\\Objectbrick\\\\\\\\Definition will always evaluate to false\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DataObjectType/ObjectMetadataType.php\n\n\t\t-\n\t\t\tmessage: \"#^Call to an undefined method Pimcore\\\\\\\\Model\\\\\\\\DataObject\\\\\\\\AbstractObject\\\\:\\\\:getClass\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DataObjectType/ObjectTreeType.php\n\n\t\t-\n\t\t\tmessage: \"#^Negated boolean expression is always false\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DataObjectType/ObjectTreeType.php\n\n\t\t-\n\t\t\tmessage: \"#^Constructor of class Pimcore\\\\\\\\Bundle\\\\\\\\DataHubBundle\\\\\\\\GraphQL\\\\\\\\DataObjectType\\\\\\\\PimcoreObjectType has an unused parameter \\\\$context\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DataObjectType/PimcoreObjectType.php\n\n\t\t-\n\t\t\tmessage: \"#^Constructor of class Pimcore\\\\\\\\Bundle\\\\\\\\DataHubBundle\\\\\\\\GraphQL\\\\\\\\DataObjectType\\\\\\\\QuantityValueType has an unused parameter \\\\$context\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DataObjectType/QuantityValueType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DataObjectType/QuantityValueUnitType.php\n\n\t\t-\n\t\t\tmessage: \"#^Constructor of class Pimcore\\\\\\\\Bundle\\\\\\\\DataHubBundle\\\\\\\\GraphQL\\\\\\\\DataObjectType\\\\\\\\UrlSlugType has an unused parameter \\\\$context\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DataObjectType/UrlSlugType.php\n\n\t\t-\n\t\t\tmessage: \"#^Constructor of class Pimcore\\\\\\\\Bundle\\\\\\\\DataHubBundle\\\\\\\\GraphQL\\\\\\\\DocumentElementType\\\\\\\\AreablockDataInputType has an unused parameter \\\\$context\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DocumentElementType/AreablockDataInputType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DocumentElementType/AreablockType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DocumentElementType/BlockType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DocumentElementType/CheckboxType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DocumentElementType/DateType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DocumentElementType/EmbedType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DocumentElementType/ImageType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DocumentElementType/InputType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DocumentElementType/LinkType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DocumentElementType/MultiselectType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DocumentElementType/NumericType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DocumentElementType/PdfType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DocumentElementType/RelationType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DocumentElementType/RelationsType.php\n\n\t\t-\n\t\t\tmessage: \"#^Constructor of class Pimcore\\\\\\\\Bundle\\\\\\\\DataHubBundle\\\\\\\\GraphQL\\\\\\\\DocumentElementType\\\\\\\\ScheduledblockDataInputType has an unused parameter \\\\$context\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DocumentElementType/ScheduledblockDataInputType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DocumentElementType/ScheduledblockType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DocumentElementType/SelectType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DocumentElementType/TableType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DocumentElementType/TextareaType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DocumentElementType/VideoType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DocumentElementType/WysiwygType.php\n\n\t\t-\n\t\t\tmessage: \"#^Constructor of class Pimcore\\\\\\\\Bundle\\\\\\\\DataHubBundle\\\\\\\\GraphQL\\\\\\\\DocumentType\\\\\\\\DocumentFolderType has an unused parameter \\\\$config\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DocumentType/DocumentFolderType.php\n\n\t\t-\n\t\t\tmessage: \"#^Constructor of class Pimcore\\\\\\\\Bundle\\\\\\\\DataHubBundle\\\\\\\\GraphQL\\\\\\\\DocumentType\\\\\\\\DocumentLinkInputType has an unused parameter \\\\$context\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DocumentType/DocumentLinkInputType.php\n\n\t\t-\n\t\t\tmessage: \"#^Constructor of class Pimcore\\\\\\\\Bundle\\\\\\\\DataHubBundle\\\\\\\\GraphQL\\\\\\\\DocumentType\\\\\\\\DocumentPageInputType has an unused parameter \\\\$context\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DocumentType/DocumentPageInputType.php\n\n\t\t-\n\t\t\tmessage: \"#^Constructor of class Pimcore\\\\\\\\Bundle\\\\\\\\DataHubBundle\\\\\\\\GraphQL\\\\\\\\DocumentType\\\\\\\\EmailType has an unused parameter \\\\$context\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DocumentType/EmailType.php\n\n\t\t-\n\t\t\tmessage: \"#^Constructor of class Pimcore\\\\\\\\Bundle\\\\\\\\DataHubBundle\\\\\\\\GraphQL\\\\\\\\DocumentType\\\\\\\\HardlinkType has an unused parameter \\\\$context\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DocumentType/HardlinkType.php\n\n\t\t-\n\t\t\tmessage: \"#^Constructor of class Pimcore\\\\\\\\Bundle\\\\\\\\DataHubBundle\\\\\\\\GraphQL\\\\\\\\DocumentType\\\\\\\\LinkType has an unused parameter \\\\$context\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DocumentType/LinkType.php\n\n\t\t-\n\t\t\tmessage: \"#^Constructor of class Pimcore\\\\\\\\Bundle\\\\\\\\DataHubBundle\\\\\\\\GraphQL\\\\\\\\DocumentType\\\\\\\\PageSnippetType has an unused parameter \\\\$context\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/DocumentType/PageSnippetType.php\n\n\t\t-\n\t\t\tmessage: \"#^If condition is always true\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/FieldHelper/AbstractFieldHelper.php\n\n\t\t-\n\t\t\tmessage: \"#^If condition is always true\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/General/AnyDocumentTargetType.php\n\n\t\t-\n\t\t\tmessage: \"#^If condition is always true\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/General/AnyTargetType.php\n\n\t\t-\n\t\t\tmessage: \"#^Constructor of class Pimcore\\\\\\\\Bundle\\\\\\\\DataHubBundle\\\\\\\\GraphQL\\\\\\\\General\\\\\\\\FolderType has an unused parameter \\\\$context\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/General/FolderType.php\n\n\t\t-\n\t\t\tmessage: \"#^Static property Pimcore\\\\\\\\Bundle\\\\\\\\DataHubBundle\\\\\\\\GraphQL\\\\\\\\Mutation\\\\\\\\MutationType\\\\:\\\\:\\\\$documentElementTypes \\\\(array\\\\) does not accept GraphQL\\\\\\\\Type\\\\\\\\Definition\\\\\\\\InputObjectType\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/Mutation/MutationType.php\n\n\t\t-\n\t\t\tmessage: \"#^Call to an undefined method Pimcore\\\\\\\\Bundle\\\\\\\\DataHubBundle\\\\\\\\GraphQL\\\\\\\\Query\\\\\\\\Operator\\\\\\\\OperatorInterface\\\\:\\\\:setGraphQlService\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/Mutation/Operator/Factory/DefaultMutationOperatorFactoryBase.php\n\n\t\t-\n\t\t\tmessage: \"#^If condition is always true\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/PropertyType/ObjectsType.php\n\n\t\t-\n\t\t\tmessage: \"#^Call to an undefined method Pimcore\\\\\\\\Bundle\\\\\\\\DataHubBundle\\\\\\\\GraphQL\\\\\\\\DataObjectMutationFieldConfigGeneratorInterface\\\\:\\\\:getGraphQlMutationFieldConfig\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/Service.php\n\n\t\t-\n\t\t\tmessage: \"#^Call to an undefined method Pimcore\\\\\\\\Bundle\\\\\\\\DataHubBundle\\\\\\\\GraphQL\\\\\\\\DataObjectQueryFieldConfigGeneratorInterface\\\\:\\\\:getGraphQlOperatorConfig\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/Service.php\n\n\t\t-\n\t\t\tmessage: \"#^Call to an undefined method Pimcore\\\\\\\\Bundle\\\\\\\\DataHubBundle\\\\\\\\GraphQL\\\\\\\\DataObjectQueryFieldConfigGeneratorInterface\\\\:\\\\:getGraphQlQueryOperatorConfig\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/Service.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/SharedType/HotspotCropType.php\n\n\t\t-\n\t\t\tmessage: \"#^Unsafe usage of new static\\\\(\\\\)\\\\.$#\"\n\t\t\tcount: 1\n\t\t\tpath: src/GraphQL/SharedType/KeyValueType.php"
  },
  {
    "path": "phpstan-bootstrap.php",
    "content": "<?php\n\nif (file_exists(__DIR__ . '/vendor/autoload.php')) {\n    define('PIMCORE_PROJECT_ROOT', __DIR__);\n} elseif (file_exists(__DIR__ . '/../../../vendor/autoload.php')) {\n    define('PIMCORE_PROJECT_ROOT', __DIR__ . '/../../..');\n} elseif (getenv('PIMCORE_PROJECT_ROOT')) {\n    define('PIMCORE_PROJECT_ROOT', getenv('PIMCORE_PROJECT_ROOT'));\n} else {\n    throw new \\Exception('Unknown configuration! Pimcore project root not found, please set env variable PIMCORE_PROJECT_ROOT.');\n}\n\ninclude PIMCORE_PROJECT_ROOT . '/vendor/autoload.php';\n\\Pimcore\\Bootstrap::setProjectRoot();\n\\Pimcore\\Bootstrap::bootstrap();\n\nif (!defined('PIMCORE_TEST')) {\n    define('PIMCORE_TEST', true);\n}\n"
  },
  {
    "path": "phpstan.neon",
    "content": "parameters:\n    level: 5\n    reportUnmatchedIgnoredErrors: false\n    treatPhpDocTypesAsCertain: false\n    paths:\n        - src\n    bootstrapFiles:\n        - phpstan-bootstrap.php\nincludes:\n    - phpstan-baseline.neon\n"
  },
  {
    "path": "src/.gitkeep",
    "content": ""
  },
  {
    "path": "src/Command/Configuration/MigrateLegacyConfig.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Command\\Configuration;\n\nuse Pimcore\\Console\\AbstractCommand;\nuse Pimcore\\Model\\Tool\\SettingsStore;\nuse Symfony\\Component\\Console\\Attribute\\AsCommand;\nuse Symfony\\Component\\Console\\Command\\Command;\nuse Symfony\\Component\\Console\\Input\\InputInterface;\nuse Symfony\\Component\\Console\\Output\\OutputInterface;\n\n/**\n * @internal\n */\n#[AsCommand(\n    name: 'datahub:configuration:migrate-legacy-config',\n    description: 'Migrate legacy configurations (datahub-configurations.php) to YAML or settings store, depending on your configuration.'\n)]\nfinal class MigrateLegacyConfig extends AbstractCommand\n{\n    protected function configure(): void\n    {\n        // Configuration moved to AsCommand attribute\n    }\n\n    private function loadLegacyConfigs(string $fileName): array\n    {\n        $file = \\Pimcore\\Config::locateConfigFile($fileName);\n        $configs = [];\n\n        if (file_exists($file)) {\n            $configs = @include $file;\n        }\n\n        return $configs;\n    }\n\n    private function migrateToSettingsStore(string $id, string $scope, array $configs, bool $overwriteExistingConfig = false): void\n    {\n        if (count($configs) > 0) {\n            $existingConfig = SettingsStore::get($id, $scope);\n            if (!$existingConfig || $overwriteExistingConfig) {\n                SettingsStore::set($id, json_encode($configs), 'string', $scope);\n            }\n        }\n    }\n\n    private function migrateConfiguration(string $fileName, string $scope): void\n    {\n        $configs = $this->loadLegacyConfigs($fileName);\n        $configs = $configs['list'] ?? [];\n        foreach ($configs as $key => $config) {\n            $id = $config['general']['name'];\n            $this->migrateToSettingsStore((string)$id, $scope, $config);\n        }\n    }\n\n    /**\n     * @throws \\Exception\n     */\n    protected function execute(InputInterface $input, OutputInterface $output): int\n    {\n        $this->migrateConfiguration('datahub-configurations.php', 'pimcore_data_hub');\n\n        return Command::SUCCESS;\n    }\n}\n"
  },
  {
    "path": "src/Command/Configuration/RebuildWorkspacesCommand.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Command\\Configuration;\n\nuse Pimcore\\Bundle\\DataHubBundle\\Configuration;\nuse Pimcore\\Bundle\\DataHubBundle\\WorkspaceHelper;\nuse Pimcore\\Console\\AbstractCommand;\nuse Symfony\\Component\\Console\\Attribute\\AsCommand;\nuse Symfony\\Component\\Console\\Command\\Command;\nuse Symfony\\Component\\Console\\Input\\InputInterface;\nuse Symfony\\Component\\Console\\Input\\InputOption;\nuse Symfony\\Component\\Console\\Output\\OutputInterface;\n\n/**\n * @internal\n */\n#[AsCommand(\n    name: 'datahub:configuration:rebuild-workspaces',\n    description: 'Migrate workspaces from configuration files to database.'\n)]\nfinal class RebuildWorkspacesCommand extends AbstractCommand\n{\n    protected function configure(): void\n    {\n        $this->addOption(\n            'configs',\n            null,\n            InputOption::VALUE_OPTIONAL,\n            'Comma separated list of configurations'\n        );\n    }\n\n    /**\n     * @throws \\Exception\n     */\n    protected function execute(InputInterface $input, OutputInterface $output): int\n    {\n        $list = [];\n        $options = $input->getOption('configs');\n        if ($options) {\n            $configs = explode(',', $options);\n            foreach ($configs as $configFromOption) {\n                $config = Configuration::getByName($configFromOption);\n                if (!$config) {\n                    $this->output->writeln('<error>Config ' . $configFromOption . ': Not found.</error>');\n                } else {\n                    $list[] = $config;\n                }\n            }\n        } else {\n            $list = Configuration::getList();\n        }\n\n        foreach ($list as $config) {\n            $configName = $config->getName();\n            $this->output->writeln(\"Config $configName: Processing ...\");\n            $workspaces = $config->getConfiguration()['workspaces'] ?? null;\n            if (isset($workspaces) === true && count($workspaces) > 0) {\n                $workspaces = WorkspaceHelper::cleanupWorkspaces($workspaces);\n                WorkspaceHelper::saveWorkspaces($config, $workspaces);\n                $this->output->writeln(\"Config $configName: Workspaces saved.\");\n            } else {\n                $this->output->writeln(\"Config $configName: No workspaces found.\");\n            }\n        }\n\n        return Command::SUCCESS;\n    }\n}\n"
  },
  {
    "path": "src/ConfigEvents.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle;\n\nfinal class ConfigEvents\n{\n    public const SPECIAL_ENTITIES = 'pimcore.datahub.config.special_entities';\n}\n"
  },
  {
    "path": "src/Configuration/Dao.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Configuration;\n\nuse Pimcore\\Bundle\\DataHubBundle\\Configuration;\nuse Pimcore\\Config;\nuse Pimcore\\Model;\nuse Symfony\\Component\\Uid\\Uuid as Uid;\n\n/**\n * Class Dao\n *\n * @package Pimcore\\Bundle\\DataHubBundle\\Configuration\n *\n * @property Configuration $model\n *\n * @internal\n */\nfinal class Dao extends Model\\Dao\\PimcoreLocationAwareConfigDao\n{\n    public const ROOT_PATH = '/';\n\n    /**\n     * path to the configuration file\n     */\n    public const CONFIG_FILE = 'datahub-configurations.php';\n\n    /**\n     * @var null|array\n     */\n    private static $_config = null;\n\n    public function configure(): void\n    {\n        $config = \\Pimcore::getContainer()->getParameter('pimcore_data_hub');\n\n        $storageConfig = $config['config_location']['data_hub'];\n        parent::configure([\n            'containerConfig' => $config['configurations'] ?? [],\n            'settingsStoreScope' => 'pimcore_data_hub',\n            'storageConfig' => $storageConfig,\n        ]);\n\n    }\n\n    /**\n     * save a configuration.\n     */\n    public function save(): void\n    {\n        if (!$this->model->getName()) {\n            $this->model->setName(Uid::v4());\n        }\n\n        $ts = time();\n        if (!$this->model->getCreationDate()) {\n            $this->model->setCreationDate($ts);\n        }\n        $this->model->setModificationDate($ts);\n\n        $data = $this->model->getObjectVars();\n        $this->saveData($this->model->getName(), $data);\n    }\n\n    /**\n     * delete a configuration.\n     */\n    public function delete(): void\n    {\n        $this->deleteData($this->model->getName());\n    }\n\n    /**\n     * @param array $data\n     *\n     * @return void\n     */\n    public function setVariables($data)\n    {\n        $this->model->setConfiguration($data);\n        $this->model->setName($data['general']['name'] ?? '');\n        $this->model->setType($data['general']['type'] ?? '');\n        $this->model->setPath($data['general']['path'] ?? '');\n        $this->model->setModificationDate($data['general']['modificationDate'] ?? null);\n        $this->model->setCreationDate($data['general']['createDate'] ?? null);\n        $this->model->setGroup($data['general']['group'] ?? '');\n    }\n\n    /**\n     * @internal\n     *\n     * gets a configuration by name.\n     *\n     * @param string $name\n     *\n     */\n    public function getByName($name)\n    {\n        $data = $this->getDataByName($name);\n\n        if (!$data) {\n            $data = $this->getDataByName('list');\n            $data = $data[$name] ?? null;\n        }\n        if ($data) {\n            $this->setVariables($data);\n        } else {\n            throw new Model\\Exception\\NotFoundException('Configuration with name: ' . $name . ' does not exist');\n        }\n    }\n\n    /**\n     * get the whole configuration file content.\n     *\n     * @return array\n     */\n    private function &getConfig()\n    {\n        if (self::$_config) {\n            return self::$_config;\n        }\n        $config = [];\n\n        $list = $this->loadIdList();\n        foreach ($list as $name) {\n            $data = $this->getDataByName($name);\n            if ($this->dataSource !== Config\\LocationAwareConfigRepository::LOCATION_SETTINGS_STORE\n                && $this->dataSource !== Config\\LocationAwareConfigRepository::LOCATION_SYMFONY_CONFIG) {\n                if ($name === 'folders') {\n                    unset($data[$name]);\n                } else {\n                    foreach ($data as $key => $legacyItem) {\n                        $config[$key] = $legacyItem;\n                    }\n                }\n            } else {\n                $config[$name] = $data;\n            }\n        }\n\n        self::$_config = $config;\n\n        return self::$_config;\n    }\n\n    /**\n     * get the list of configurations.\n     *\n     */\n    public function getList(): array\n    {\n        $list = [];\n\n        $configs = &$this->getConfig();\n        foreach ($configs as $item) {\n            $name = $item['general']['name'];\n            $configuration = Configuration::getByName($name);\n            $list[$name] = $configuration;\n        }\n\n        return $list;\n    }\n\n    /**\n     * @param mixed $data\n     *\n     * @return array[][][]\n     */\n    protected function prepareDataStructureForYaml(string $id, $data): mixed\n    {\n        return [\n            'pimcore_data_hub' => [\n                'configurations' => [\n                    $id => $data,\n                ],\n            ],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/Configuration/Workspace/AbstractWorkspace.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Configuration\\Workspace;\n\nuse Pimcore\\Model\\AbstractModel;\n\n/**\n * @method \\Pimcore\\Bundle\\DataHubBundle\\Configuration\\Workspace\\Dao getDao()\n * @method void save()\n *\n * @internal\n */\nabstract class AbstractWorkspace extends AbstractModel\n{\n    /**\n     * @var string\n     */\n    public $configuration;\n\n    /**\n     * @var int\n     */\n    public $cid;\n\n    /**\n     * @var string\n     */\n    public $cpath;\n\n    /**\n     * @var bool\n     */\n    public $create = false;\n\n    /**\n     * @var bool\n     */\n    public $read = false;\n\n    /**\n     * @var bool\n     */\n    public $update = false;\n\n    /**\n     * @var bool\n     */\n    public $delete = false;\n\n    public function getConfiguration(): string\n    {\n        return $this->configuration;\n    }\n\n    public function setConfiguration(string $configuration): void\n    {\n        $this->configuration = $configuration;\n    }\n\n    public function getCid(): int\n    {\n        return $this->cid;\n    }\n\n    public function setCid(int $cid): void\n    {\n        $this->cid = $cid;\n    }\n\n    public function getCpath(): string\n    {\n        return $this->cpath;\n    }\n\n    public function setCpath(string $cpath): void\n    {\n        $this->cpath = $cpath;\n    }\n\n    public function isCreate(): bool\n    {\n        return $this->create;\n    }\n\n    public function setCreate(bool $create): void\n    {\n        $this->create = $create;\n    }\n\n    /**\n     * @return bool\n     */\n    public function getRead()\n    {\n        return $this->read;\n    }\n\n    public function setRead(bool $read): void\n    {\n        $this->read = $read;\n    }\n\n    public function isUpdate(): bool\n    {\n        return $this->update;\n    }\n\n    public function setUpdate(bool $update): void\n    {\n        $this->update = $update;\n    }\n\n    public function isDelete(): bool\n    {\n        return $this->delete;\n    }\n\n    public function setDelete(bool $delete): void\n    {\n        $this->delete = $delete;\n    }\n}\n"
  },
  {
    "path": "src/Configuration/Workspace/Asset.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Configuration\\Workspace;\n\n/**\n * @internal\n */\nfinal class Asset extends AbstractWorkspace\n{\n}\n"
  },
  {
    "path": "src/Configuration/Workspace/Dao.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Configuration\\Workspace;\n\nuse Pimcore\\Model;\n\n/**\n * @internal\n */\nclass Dao extends Model\\Dao\\AbstractDao\n{\n    const TABLE_NAME_ASSET = 'plugin_datahub_workspaces_asset';\n\n    const TABLE_NAME_DOCUMENT = 'plugin_datahub_workspaces_document';\n\n    const TABLE_NAME_DATAOBJECT = 'plugin_datahub_workspaces_object';\n\n    public function save()\n    {\n        if ($this->model instanceof Asset) {\n            $tableName = self::TABLE_NAME_ASSET;\n        } elseif ($this->model instanceof Document) {\n            $tableName = self::TABLE_NAME_DOCUMENT ;\n        } elseif ($this->model instanceof DataObject) {\n            $tableName = self::TABLE_NAME_DATAOBJECT;\n        } else {\n            throw new \\Exception('unknown workspace type');\n        }\n\n        $data = [];\n\n        // add all permissions\n        $dataRaw = $this->model->getObjectVars();\n        foreach ($dataRaw as $key => $value) {\n            if (in_array($key, $this->getValidTableColumns($tableName))) {\n                if (is_bool($value)) {\n                    $value = (int) $value;\n                }\n                if (!class_exists(\"\\Pimcore\\Db\\Connection\")) {\n                    $key = $this->db->quoteIdentifier($key);\n                }\n                $data[$key] = $value;\n            }\n        }\n        $this->db->insert($tableName, $data);\n    }\n}\n"
  },
  {
    "path": "src/Configuration/Workspace/DataObject.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Configuration\\Workspace;\n\n/**\n * @internal\n */\nfinal class DataObject extends AbstractWorkspace\n{\n}\n"
  },
  {
    "path": "src/Configuration/Workspace/Document.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Configuration\\Workspace;\n\n/**\n * @internal\n */\nfinal class Document extends AbstractWorkspace\n{\n}\n"
  },
  {
    "path": "src/Configuration.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle;\n\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\ConfigurationEvents;\nuse Pimcore\\Model\\AbstractModel;\nuse Pimcore\\Model\\User;\nuse Pimcore\\Tool\\Admin;\nuse Symfony\\Component\\EventDispatcher\\GenericEvent;\n\n/**\n * Class Configuration\n *\n * @method bool isWriteable()\n * @method Configuration\\Dao getDao()\n *\n * @package Pimcore\\Bundle\\DataHubBundle\n *\n */\nclass Configuration extends AbstractModel\n{\n    public const SECURITYCONFIG_AUTH_APIKEY = 'datahub_apikey';\n\n    /**\n     * @var string\n     */\n    public $type;\n\n    /**\n     * @var string\n     */\n    public $path;\n\n    /**\n     * @var string|null\n     */\n    public $name;\n\n    /**\n     * @var string|null\n     */\n    public $group;\n\n    /**\n     * @var array|null\n     */\n    public $configuration;\n\n    /**\n     * @var int\n     */\n    protected $creationDate;\n\n    /**\n     * @var int\n     */\n    protected $modificationDate;\n\n    /**\n     * @param string|null $type\n     * @param string|null $path\n     * @param string|null $name\n     * @param array|null $configuration\n     */\n    public function __construct($type, $path, $name = null, $configuration = null)\n    {\n        $type = $type ?: 'graphql';\n        $this->setType($type);\n        $this->setPath($path);\n        $this->setName($name);\n        $this->setConfiguration($configuration);\n    }\n\n    public function getObjectVars(): array\n    {\n        $data = parent::getObjectVars();\n\n        $data['configuration']['general']['modificationDate'] = $this->modificationDate;\n        $data['configuration']['general']['createDate'] = $this->creationDate;\n\n        return $data['configuration'];\n    }\n\n    /**\n     * @param int $creationDate\n     *\n     * @return self\n     */\n    public function setCreationDate($creationDate)\n    {\n        $this->creationDate = (int) $creationDate;\n\n        return $this;\n    }\n\n    /**\n     * @return int\n     */\n    public function getCreationDate()\n    {\n        return $this->creationDate;\n    }\n\n    /**\n     * @param int $modificationDate\n     *\n     * @return self\n     */\n    public function setModificationDate($modificationDate)\n    {\n        $this->modificationDate = (int) $modificationDate;\n\n        return $this;\n    }\n\n    /**\n     * @return int\n     */\n    public function getModificationDate()\n    {\n        return $this->modificationDate;\n    }\n\n    public function getType(): string\n    {\n        return $this->type;\n    }\n\n    public function setType(string $type): void\n    {\n        $this->type = $type;\n    }\n\n    /**\n     * @param array|null $configuration\n     */\n    public function setConfiguration($configuration): void\n    {\n        if ($configuration && empty($this->getName())) {\n            $this->setName($configuration['configuration']['general']['name'] ?? null);\n        }\n\n        $this->configuration = $configuration;\n    }\n\n    /**\n     * @return array\n     */\n    public function getConfiguration()\n    {\n        $data = $this->getObjectVars();\n        $data['general']['writeable'] = $this->isWriteable();\n\n        return $data;\n    }\n\n    /**\n     * @param string|null $name\n     */\n    public function setName($name): void\n    {\n        $this->name = $name;\n    }\n\n    public function getName(): ?string\n    {\n        return $this->name;\n    }\n\n    public function getGroup(): ?string\n    {\n        return $this->group;\n    }\n\n    public function setGroup(?string $group): void\n    {\n        $this->group = $group;\n    }\n\n    /**\n     * @return string|bool\n     */\n    public function isActive()\n    {\n        return $this->configuration && $this->configuration['general'] ? ($this->configuration['general']['active'] ?? false) : false;\n    }\n\n    /**\n     * @return string|bool\n     */\n    public function skipPermisssionCheck()\n    {\n        return $this->configuration['security']['skipPermissionCheck'] ?? false;\n    }\n\n    /**\n     * @param string|null $path\n     */\n    public function setPath($path): void\n    {\n        $this->path = $path;\n    }\n\n    public function getPath(): ?string\n    {\n        return $this->path;\n    }\n\n    /**\n     * @throws \\Exception\n     */\n    public function save(): void\n    {\n        if (!$this->isAllowed('update')) {\n            throw new \\Exception('Permissions missing to save the configuration');\n        }\n\n        $event = new GenericEvent($this);\n        $event->setArgument('configuration', $this);\n        \\Pimcore::getEventDispatcher()->dispatch($event, ConfigurationEvents::CONFIGURATION_PRE_SAVE);\n\n        if (empty($this->configuration)) {\n            $this->configuration = [];\n            $this->configuration['general'] = [];\n        }\n\n        if (!isset($this->configuration['workspaces'])) {\n            $this->configuration['workspaces'] = [];\n        }\n\n        if (!isset($this->configuration['permissions'])) {\n            $this->configuration['permissions']['user'] = [];\n            $this->configuration['permissions']['role'] = [];\n        }\n\n        if (isset($this->configuration['general']['writeable'])) {\n            unset($this->configuration['general']['writeable']);\n        }\n\n        if (empty($this->getPath())) {\n            $this->setPath(null);\n        }\n\n        $this->configuration['general']['type'] = $this->type;\n        $this->configuration['general']['path'] = $this->path;\n        $this->configuration['general']['name'] = $this->name;\n\n        $securityConfig = $this->getSecurityConfig();\n        if (($this->configuration['general']['active'] ?? false) && isset($securityConfig['method']) && $securityConfig['method'] === self::SECURITYCONFIG_AUTH_APIKEY) {\n            if (!is_array($securityConfig['apikey'])) {\n                $securityConfig['apikey'] = [$securityConfig['apikey']];\n            }\n\n            foreach ($securityConfig['apikey'] as $apiKey) {\n                if (strlen($apiKey) < 16) {\n                    throw new \\Exception('API key ' . $apiKey . ' does not satisfy the minimum length of 16 characters');\n                }\n            }\n        }\n\n        $this->configuration['workspaces'] = WorkspaceHelper::cleanupWorkspaces($this->configuration['workspaces']);\n\n        // we need to recheck\n        $this->getDao()->save();\n\n        WorkspaceHelper::saveWorkspaces($this, $this->configuration['workspaces']);\n\n        $event = new GenericEvent($this);\n        $event->setArgument('configuration', $this);\n        \\Pimcore::getEventDispatcher()->dispatch($event, ConfigurationEvents::CONFIGURATION_POST_SAVE);\n    }\n\n    public function delete(): void\n    {\n        if (!$this->isAllowed('delete')) {\n            throw new \\Exception('Permissions missing to delete the configuration');\n        }\n\n        $this->getDao()->delete();\n\n        $event = new GenericEvent($this);\n        $event->setArgument('configuration', $this);\n        \\Pimcore::getEventDispatcher()->dispatch($event, ConfigurationEvents::CONFIGURATION_POST_DELETE);\n    }\n\n    /**\n     * @return Configuration[]\n     */\n    public static function getList()\n    {\n        $config = new self(null, null);\n\n        return $config->getDao()->getList();\n    }\n\n    /**\n     * @param string $name\n     *\n     */\n    public static function getByName($name): ?self\n    {\n        try {\n            $config = new self(null, null);\n            $config->getDao()->getByName($name);\n\n            return $config;\n        } catch (\\Pimcore\\Model\\Exception\\NotFoundException $e) {\n            return null;\n        }\n    }\n\n    public function getQueryEntities(): array\n    {\n        $schema = $this->configuration['schema'] ?? null;\n        $entities = $schema ? $schema['queryEntities'] : [];\n        $entities = is_array($entities) ? array_keys($entities) : [];\n\n        return $entities;\n    }\n\n    public function getSpecialEntities(): array\n    {\n        $schema = $this->configuration['schema'] ?? null;\n\n        return $schema ? $schema['specialEntities'] : [];\n    }\n\n    public function getMutationEntities(): array\n    {\n        $schema = $this->configuration['schema'] ?? null;\n        $entities = $schema ? $schema['mutationEntities'] : [];\n        $entities = is_array($entities) ? array_keys($entities) : [];\n\n        return $entities;\n    }\n\n    /**\n     * @param string $entityName\n     *\n     * @return mixed\n     */\n    public function getQueryEntityConfig($entityName)\n    {\n        return isset($this->configuration['schema']['queryEntities'][$entityName]) ? $this->configuration['schema']['queryEntities'][$entityName] : null;\n    }\n\n    /**\n     * @param string $entityName\n     *\n     * @return mixed\n     */\n    public function getMutationEntityConfig($entityName)\n    {\n        return $this->configuration['schema']['mutationEntities'][$entityName];\n    }\n\n    /**\n     * @param string $entityName\n     *\n     * @return mixed\n     */\n    public function getQueryColumnConfig($entityName)\n    {\n        $config = $this->getQueryEntityConfig($entityName);\n\n        return $config['columnConfig'] ?? null;\n    }\n\n    /**\n     * @param string $entityName\n     *\n     * @return mixed\n     */\n    public function getMutationColumnConfig($entityName)\n    {\n        return $this->getMutationEntityConfig($entityName)['columnConfig'] ?? [];\n    }\n\n    /**\n     * @return mixed\n     */\n    public function getSecurityConfig()\n    {\n        return $this->configuration['security'] ?? [];\n    }\n\n    /**\n     * @return mixed\n     */\n    public function getPermissionsConfig()\n    {\n        return $this->configuration['permissions'] ?? [];\n    }\n\n    public function __clone(): void\n    {\n        if ($this->dao) {\n            $this->dao = clone $this->dao;\n            $this->dao->setModel($this);\n        }\n    }\n\n    /**\n     * @internal\n     *\n     * @return bool\n     */\n    public function isAllowed(string $type, ?User $user = null)\n    {\n        if (null === $user) {\n            $user = Admin::getCurrentUser();\n        }\n\n        if (!$user) {\n            if (php_sapi_name() === 'cli') {\n                return true;\n            }\n\n            return false;\n        }\n\n        //everything is allowed for admin\n        if ($user->isAdmin() || $user->isAllowed('plugin_datahub_admin')) {\n            return true;\n        }\n\n        /**\n         * If there are no specific permissions set for this configuration then check the global adapter permission.\n         * Otherwise, check the configured permissions only and ignore the global adapter permission.\n         */\n        $configKey = 'plugin_datahub_adapter_' . $this->getType();\n\n        $permissionConfig = $this->getPermissionsConfig();\n        $permissionSets = [];\n        foreach ($permissionConfig['user'] ?? [] as $userConfig) {\n            $permissionSets[$userConfig['name']] = $userConfig;\n        }\n        foreach ($permissionConfig['role'] ?? [] as $roleConfig) {\n            $permissionSets[$roleConfig['name']] = $roleConfig;\n        }\n\n        if (empty($permissionSets)) {\n            return $user->isAllowed($configKey);\n        } else {\n            if (isset($permissionSets[$user->getName()])) {\n                return $permissionSets[$user->getName()][$type] ?? false;\n            }\n            foreach ($user->getRoles() as $roleId) {\n                $role = User\\Role::getById($roleId);\n                if (isset($permissionSets[$role->getName()][$type]) && $permissionSets[$role->getName()][$type] === true) {\n                    return $permissionSets[$role->getName()][$type];\n                }\n            }\n        }\n\n        return false;\n    }\n}\n"
  },
  {
    "path": "src/Controller/Studio/Config/AddController.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Controller\\Studio\\Config;\n\nuse OpenApi\\Attributes\\Post;\nuse Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Config\\Prefix;\nuse Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Config\\Tags;\nuse Pimcore\\Bundle\\DataHubBundle\\Schema\\AddConfiguration;\nuse Pimcore\\Bundle\\DataHubBundle\\Service\\Studio\\ConfigurationServiceInterface;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Controller\\AbstractApiController;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Parameter\\Query\\StringParameter;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Response\\CreatedResponse;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Response\\DefaultResponses;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Util\\Constant\\HttpResponseCodes;\nuse Symfony\\Component\\HttpFoundation\\Response;\nuse Symfony\\Component\\HttpKernel\\Attribute\\MapQueryString;\nuse Symfony\\Component\\Routing\\Attribute\\Route;\nuse Symfony\\Component\\Serializer\\SerializerInterface;\n\n/**\n * @internal\n */\nfinal class AddController extends AbstractApiController\n{\n    private const string ROUTE = '/config/add';\n\n    public function __construct(\n        SerializerInterface $serializer,\n        private readonly ConfigurationServiceInterface $configurationService\n    ) {\n        parent::__construct($serializer);\n    }\n\n    /**\n     * @throws \\Exception\n     */\n    #[Route(\n        path: self::ROUTE,\n        name: 'pimcore_studio_api_data_hub_config_add',\n        methods: ['POST']\n    )]\n    #[Post(\n        path: Prefix::BUNDLE . self::ROUTE,\n        operationId: 'bundle_data_hub_config_add',\n        description: 'bundle_data_hub_config_add_description',\n        summary: 'bundle_data_hub_config_add_summary',\n        tags: [Tags::DataHub->value]\n    )]\n    #[StringParameter('name', 'assets', 'The name of the configuration')]\n    #[StringParameter('type', 'graphql', 'Type of the adapter')]\n    #[StringParameter('path', '', 'Configuration path', false)]\n    #[CreatedResponse(\n        description: 'bundle_data_hub_config_add_success_response'\n    )]\n    #[DefaultResponses([\n        HttpResponseCodes::UNAUTHORIZED,\n        HttpResponseCodes::NOT_FOUND,\n    ])]\n    public function addConfiguration(\n        #[MapQueryString] AddConfiguration $addConfiguration\n    ): Response {\n        $this->configurationService->addConfiguration(\n            $addConfiguration->getName(),\n            $addConfiguration->getType(),\n            $addConfiguration->getPath() ?? ''\n        );\n\n        return new Response();\n    }\n}\n"
  },
  {
    "path": "src/Controller/Studio/Config/CloneController.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Controller\\Studio\\Config;\n\nuse OpenApi\\Attributes\\Post;\nuse Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Config\\Prefix;\nuse Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Config\\Tags;\nuse Pimcore\\Bundle\\DataHubBundle\\Schema\\CloneConfiguration;\nuse Pimcore\\Bundle\\DataHubBundle\\Service\\Studio\\ConfigurationServiceInterface;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Controller\\AbstractApiController;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Parameter\\Query\\StringParameter;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Response\\CreatedResponse;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Response\\DefaultResponses;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Util\\Constant\\HttpResponseCodes;\nuse Symfony\\Component\\HttpFoundation\\Response;\nuse Symfony\\Component\\HttpKernel\\Attribute\\MapQueryString;\nuse Symfony\\Component\\Routing\\Attribute\\Route;\nuse Symfony\\Component\\Serializer\\SerializerInterface;\n\n/**\n * @internal\n */\nfinal class CloneController extends AbstractApiController\n{\n    private const string ROUTE = '/config/clone';\n\n    public function __construct(\n        SerializerInterface $serializer,\n        private readonly ConfigurationServiceInterface $configurationService\n    ) {\n        parent::__construct($serializer);\n    }\n\n    /**\n     * @throws \\Exception\n     */\n    #[Route(\n        path: self::ROUTE,\n        name: 'pimcore_studio_api_data_hub_config_clone',\n        methods: ['POST']\n    )]\n    #[Post(\n        path: Prefix::BUNDLE . self::ROUTE,\n        operationId: 'bundle_data_hub_config_clone',\n        description: 'bundle_data_hub_config_clone_description',\n        summary: 'bundle_data_hub_config_clone_summary',\n        tags: [Tags::DataHub->value]\n    )]\n    #[StringParameter('name', 'assets_copy', 'The name of the new configuration')]\n    #[StringParameter('originalName', 'assets', 'The name of the configuration to clone')]\n    #[CreatedResponse(\n        description: 'bundle_data_hub_config_clone_success_response'\n    )]\n    #[DefaultResponses([\n        HttpResponseCodes::UNAUTHORIZED,\n        HttpResponseCodes::NOT_FOUND,\n        HttpResponseCodes::CREATED,\n    ])]\n    public function cloneConfiguration(\n        #[MapQueryString] CloneConfiguration $cloneConfiguration\n    ): Response {\n        $clonedConfigName = $this->configurationService->cloneConfiguration(\n            $cloneConfiguration->getName(),\n            $cloneConfiguration->getOriginalName()\n        );\n\n        return $this->jsonResponse(\n            [\n                'clonedConfigurationName' => $clonedConfigName,\n            ],\n            HttpResponseCodes::CREATED->value\n        );\n    }\n}\n"
  },
  {
    "path": "src/Controller/Studio/Config/CollectionController.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Controller\\Studio\\Config;\n\nuse OpenApi\\Attributes\\Get;\nuse Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Config\\Prefix;\nuse Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Config\\Tags;\nuse Pimcore\\Bundle\\DataHubBundle\\Schema\\Configuration;\nuse Pimcore\\Bundle\\DataHubBundle\\Service\\Studio\\ConfigurationServiceInterface;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Controller\\AbstractApiController;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Exception\\Api\\InvalidArgumentException;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Property\\GenericCollection;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Response\\Content\\CollectionJson;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Response\\DefaultResponses;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Response\\SuccessResponse;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Util\\Constant\\HttpResponseCodes;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Util\\Trait\\PaginatedResponseTrait;\nuse Symfony\\Component\\HttpFoundation\\JsonResponse;\nuse Symfony\\Component\\Routing\\Attribute\\Route;\nuse Symfony\\Component\\Serializer\\SerializerInterface;\n\n/**\n * @internal\n */\nfinal class CollectionController extends AbstractApiController\n{\n    use PaginatedResponseTrait;\n\n    private const string ROUTE = '/config';\n\n    public function __construct(\n        SerializerInterface $serializer,\n        private readonly ConfigurationServiceInterface $configurationService\n    ) {\n        parent::__construct($serializer);\n    }\n\n    /**\n     * @throws InvalidArgumentException\n     */\n    #[Route(\n        path: self::ROUTE,\n        name: 'pimcore_studio_api_data_hub_config_collection',\n        methods: ['GET']\n    )]\n    #[Get(\n        path: Prefix::BUNDLE . self::ROUTE,\n        operationId: 'bundle_data_hub_config_collection',\n        description: 'bundle_data_hub_config_collection_description',\n        summary: 'bundle_data_hub_config_collection_summary',\n        tags: [Tags::DataHub->value]\n    )]\n    #[SuccessResponse(\n        description: 'bundle_copilot_actions_success_response',\n        content: new CollectionJson(new GenericCollection(Configuration::class)),\n    )]\n    #[DefaultResponses([\n        HttpResponseCodes::UNAUTHORIZED,\n        HttpResponseCodes::NOT_FOUND,\n    ])]\n    public function listActions(\n    ): JsonResponse {\n        $configs = $this->configurationService->getConfigurations();\n\n        return $this->getPaginatedCollection(\n            $this->serializer,\n            $configs,\n            count($configs)\n        );\n    }\n}\n"
  },
  {
    "path": "src/Controller/Studio/Config/DeleteController.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Controller\\Studio\\Config;\n\nuse OpenApi\\Attributes\\Delete;\nuse OpenApi\\Attributes\\Schema;\nuse Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Config\\Prefix;\nuse Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Config\\Tags;\nuse Pimcore\\Bundle\\DataHubBundle\\Service\\Studio\\ConfigurationServiceInterface;\nuse Pimcore\\Bundle\\DataHubBundle\\Utils\\Constants\\PermissionConstants;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Controller\\AbstractApiController;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Parameter\\Path\\IdParameter;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Response\\DefaultResponses;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Response\\SuccessResponse;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Util\\Constant\\HttpResponseCodes;\nuse Symfony\\Component\\HttpFoundation\\Response;\nuse Symfony\\Component\\Routing\\Attribute\\Route;\nuse Symfony\\Component\\Security\\Http\\Attribute\\IsGranted;\nuse Symfony\\Component\\Serializer\\SerializerInterface;\n\n/**\n * @internal\n */\nfinal class DeleteController extends AbstractApiController\n{\n    private const string ROUTE = '/config/delete/{name}';\n\n    public function __construct(\n        SerializerInterface $serializer,\n        private readonly ConfigurationServiceInterface $configurationService\n    ) {\n        parent::__construct($serializer);\n    }\n\n    /**\n     * @throws \\Exception\n     */\n    #[Route(\n        path: self::ROUTE,\n        name: 'pimcore_studio_api_data_hub_config_delete',\n        methods: ['DELETE']\n    )]\n    #[Delete(\n        path: Prefix::BUNDLE . self::ROUTE,\n        operationId: 'bundle_data_hub_config_delete',\n        description: 'bundle_data_hub_config_delete_description',\n        summary: 'bundle_data_hub_config_delete_summary',\n        tags: [Tags::DataHub->value]\n    )]\n    #[IdParameter(\n        type: 'configuration',\n        schema: new Schema(type: 'string'),\n        name: 'name',\n    )]\n    #[SuccessResponse(\n        description: 'bundle_data_hub_config_delete_success_response',\n    )]\n    #[IsGranted(PermissionConstants::PLUGIN_DATA_HUB_CONFIG)]\n    #[DefaultResponses([\n        HttpResponseCodes::UNAUTHORIZED,\n        HttpResponseCodes::NOT_FOUND,\n    ])]\n    public function deleteConfiguration(string $name): Response\n    {\n        $this->configurationService->deleteConfiguration($name);\n\n        return new Response();\n    }\n}\n"
  },
  {
    "path": "src/Controller/Studio/Config/ExportController.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Controller\\Studio\\Config;\n\nuse Exception;\nuse OpenApi\\Attributes\\Get;\nuse OpenApi\\Attributes\\Schema;\nuse Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Config\\Prefix;\nuse Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Config\\Tags;\nuse Pimcore\\Bundle\\DataHubBundle\\Service\\Studio\\ConfigurationServiceInterface;\nuse Pimcore\\Bundle\\DataHubBundle\\Utils\\Constants\\PermissionConstants;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Controller\\AbstractApiController;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Parameter\\Path\\IdParameter;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Response\\DefaultResponses;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Response\\SuccessResponse;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Util\\Constant\\HttpResponseCodes;\nuse Symfony\\Component\\HttpFoundation\\Response;\nuse Symfony\\Component\\Routing\\Attribute\\Route;\nuse Symfony\\Component\\Security\\Http\\Attribute\\IsGranted;\nuse Symfony\\Component\\Serializer\\SerializerInterface;\n\n/**\n * @internal\n */\nfinal class ExportController extends AbstractApiController\n{\n    private const string ROUTE = '/config/{name}/export';\n\n    public function __construct(\n        SerializerInterface $serializer,\n        private readonly ConfigurationServiceInterface $configurationService\n    ) {\n        parent::__construct($serializer);\n    }\n\n    /**\n     * @throws Exception\n     */\n    #[Route(\n        path: self::ROUTE,\n        name: 'pimcore_studio_api_data_hub_config_export',\n        methods: ['GET']\n    )]\n    #[Get(\n        path: Prefix::BUNDLE . self::ROUTE,\n        operationId: 'bundle_data_hub_config_export',\n        description: 'bundle_data_hub_config_export_description',\n        summary: 'bundle_data_hub_config_export_summary',\n        tags: [Tags::DataHub->value]\n    )]\n    #[IdParameter(\n        type: 'configuration',\n        schema: new Schema(type: 'string'),\n        name: 'name',\n    )]\n    #[SuccessResponse(\n        description: 'bundle_data_hub_config_export_success_response',\n    )]\n    #[IsGranted(PermissionConstants::PLUGIN_DATA_HUB_CONFIG)]\n    #[DefaultResponses([\n        HttpResponseCodes::UNAUTHORIZED,\n        HttpResponseCodes::NOT_FOUND,\n    ])]\n    public function exportConfiguration(string $name): Response\n    {\n        $result = $this->configurationService->exportConfiguration($name);\n\n        $response = new Response($result['json']);\n        $response->headers->set('Content-Type', 'application/json');\n        $response->headers->set(\n            'Content-Disposition',\n            sprintf('attachment; filename=\"%s\"', $result['filename'])\n        );\n\n        return $response;\n    }\n}\n"
  },
  {
    "path": "src/Controller/Studio/Config/GetController.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Controller\\Studio\\Config;\n\nuse OpenApi\\Attributes\\Get;\nuse OpenApi\\Attributes\\JsonContent;\nuse OpenApi\\Attributes\\Schema;\nuse Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Config\\Prefix;\nuse Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Config\\Tags;\nuse Pimcore\\Bundle\\DataHubBundle\\Schema\\ConfigurationDetail;\nuse Pimcore\\Bundle\\DataHubBundle\\Service\\Studio\\ConfigurationServiceInterface;\nuse Pimcore\\Bundle\\DataHubBundle\\Utils\\Constants\\PermissionConstants;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Controller\\AbstractApiController;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Parameter\\Path\\IdParameter;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Response\\DefaultResponses;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Response\\SuccessResponse;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Util\\Constant\\HttpResponseCodes;\nuse Symfony\\Component\\HttpFoundation\\JsonResponse;\nuse Symfony\\Component\\Routing\\Attribute\\Route;\nuse Symfony\\Component\\Security\\Http\\Attribute\\IsGranted;\nuse Symfony\\Component\\Serializer\\SerializerInterface;\n\n/**\n * @internal\n */\nfinal class GetController extends AbstractApiController\n{\n    private const string ROUTE = '/config/{name}';\n\n    public function __construct(\n        SerializerInterface $serializer,\n        private readonly ConfigurationServiceInterface $configurationService\n    ) {\n        parent::__construct($serializer);\n    }\n\n    /**\n     * @throws \\Exception\n     */\n    #[Route(\n        path: self::ROUTE,\n        name: 'pimcore_studio_api_data_hub_config_get',\n        methods: ['GET']\n    )]\n    #[Get(\n        path: Prefix::BUNDLE . self::ROUTE,\n        operationId: 'bundle_data_hub_config_get',\n        description: 'bundle_data_hub_config_get_description',\n        summary: 'bundle_data_hub_config_get_summary',\n        tags: [Tags::DataHub->value]\n    )]\n    #[IdParameter(\n        type: 'configuration',\n        schema: new Schema(type: 'string'),\n        name: 'name',\n    )]\n    #[SuccessResponse(\n        description: 'bundle_data_hub_config_get_success_response',\n        content: new JsonContent(ref: ConfigurationDetail::class)\n    )]\n    #[IsGranted(PermissionConstants::PLUGIN_DATA_HUB_CONFIG)]\n    #[DefaultResponses([\n        HttpResponseCodes::UNAUTHORIZED,\n        HttpResponseCodes::NOT_FOUND,\n    ])]\n    public function getConfiguration(string $name): JsonResponse\n    {\n        return $this->jsonResponse(\n            $this->configurationService->getConfiguration($name)\n        );\n    }\n}\n"
  },
  {
    "path": "src/Controller/Studio/Config/ImportController.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Controller\\Studio\\Config;\n\nuse OpenApi\\Attributes\\Post;\nuse Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Attribute\\Request\\FileUploadRequestBody;\nuse Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Config\\Prefix;\nuse Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Config\\Tags;\nuse Pimcore\\Bundle\\DataHubBundle\\Service\\Studio\\ConfigurationServiceInterface;\nuse Pimcore\\Bundle\\DataHubBundle\\Utils\\Constants\\PermissionConstants;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Controller\\AbstractApiController;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Response\\CreatedResponse;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Response\\DefaultResponses;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Util\\Constant\\HttpResponseCodes;\nuse Symfony\\Component\\HttpFoundation\\File\\UploadedFile;\nuse Symfony\\Component\\HttpFoundation\\Request;\nuse Symfony\\Component\\HttpFoundation\\Response;\nuse Symfony\\Component\\Routing\\Attribute\\Route;\nuse Symfony\\Component\\Security\\Http\\Attribute\\IsGranted;\nuse Symfony\\Component\\Serializer\\SerializerInterface;\n\n/**\n * @internal\n */\nfinal class ImportController extends AbstractApiController\n{\n    private const string ROUTE = '/config/import';\n\n    public function __construct(\n        SerializerInterface $serializer,\n        private readonly ConfigurationServiceInterface $configurationService\n    ) {\n        parent::__construct($serializer);\n    }\n\n    /**\n     * @throws \\Exception\n     */\n    #[Route(\n        path: self::ROUTE,\n        name: 'pimcore_studio_api_data_hub_config_import',\n        methods: ['POST']\n    )]\n    #[Post(\n        path: Prefix::BUNDLE . self::ROUTE,\n        operationId: 'bundle_data_hub_config_import',\n        description: 'bundle_data_hub_config_import_description',\n        summary: 'bundle_data_hub_config_import_summary',\n        tags: [Tags::DataHub->value]\n    )]\n    #[FileUploadRequestBody(\n        description: 'Configuration file to import',\n        propertyDescription: 'JSON configuration file'\n    )]\n    #[CreatedResponse(\n        description: 'bundle_data_hub_config_import_success_response'\n    )]\n    #[IsGranted(PermissionConstants::PLUGIN_DATA_HUB_CONFIG)]\n    #[DefaultResponses([\n        HttpResponseCodes::UNAUTHORIZED,\n        HttpResponseCodes::BAD_REQUEST,\n        HttpResponseCodes::CREATED,\n    ])]\n    public function importConfiguration(Request $request): Response\n    {\n        /** @var UploadedFile|null $file */\n        $file = $request->files->get('file');\n\n        if (!$file instanceof UploadedFile) {\n            return $this->jsonResponse(\n                ['error' => 'No file uploaded'],\n                HttpResponseCodes::BAD_REQUEST->value\n            );\n        }\n\n        $json = file_get_contents($file->getPathname());\n\n        if ($json === false) {\n            return $this->jsonResponse(\n                ['error' => 'Failed to read file contents'],\n                HttpResponseCodes::BAD_REQUEST->value\n            );\n        }\n\n        $result = $this->configurationService->importConfiguration($json);\n\n        return $this->jsonResponse(\n            $result,\n            HttpResponseCodes::CREATED->value\n        );\n    }\n}\n"
  },
  {
    "path": "src/Controller/Studio/Config/UpdateController.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Controller\\Studio\\Config;\n\nuse Exception;\nuse OpenApi\\Attributes\\JsonContent;\nuse OpenApi\\Attributes\\Put;\nuse OpenApi\\Attributes\\RequestBody;\nuse OpenApi\\Attributes\\Schema;\nuse Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Config\\Prefix;\nuse Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Config\\Tags;\nuse Pimcore\\Bundle\\DataHubBundle\\Schema\\UpdateConfiguration;\nuse Pimcore\\Bundle\\DataHubBundle\\Schema\\UpdateConfigurationResponse;\nuse Pimcore\\Bundle\\DataHubBundle\\Service\\Studio\\ConfigurationServiceInterface;\nuse Pimcore\\Bundle\\DataHubBundle\\Utils\\Constants\\PermissionConstants;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Controller\\AbstractApiController;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Exception\\Api\\ValidationFailedException;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Parameter\\Path\\IdParameter;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Response\\DefaultResponses;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Response\\SuccessResponse;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Util\\Constant\\HttpResponseCodes;\nuse Symfony\\Component\\HttpFoundation\\JsonResponse;\nuse Symfony\\Component\\HttpKernel\\Attribute\\MapRequestPayload;\nuse Symfony\\Component\\Routing\\Attribute\\Route;\nuse Symfony\\Component\\Security\\Http\\Attribute\\IsGranted;\nuse Symfony\\Component\\Serializer\\SerializerInterface;\n\n/**\n * @internal\n */\nfinal class UpdateController extends AbstractApiController\n{\n    private const string ROUTE = '/config/{name}';\n\n    public function __construct(\n        SerializerInterface $serializer,\n        private readonly ConfigurationServiceInterface $configurationService\n    ) {\n        parent::__construct($serializer);\n    }\n\n    /**\n     * @throws Exception|ValidationFailedException\n     */\n    #[Route(\n        path: self::ROUTE,\n        name: 'pimcore_studio_api_data_hub_config_update',\n        methods: ['PUT']\n    )]\n    #[Put(\n        path: Prefix::BUNDLE . self::ROUTE,\n        operationId: 'bundle_data_hub_config_update',\n        description: 'bundle_data_hub_config_update_description',\n        summary: 'bundle_data_hub_config_update_summary',\n        tags: [Tags::DataHub->value]\n    )]\n    #[IdParameter(\n        type: 'configuration',\n        schema: new Schema(type: 'string'),\n        name: 'name',\n    )]\n    #[RequestBody(\n        required: true,\n        content: new JsonContent(ref: UpdateConfiguration::class)\n    )]\n    #[SuccessResponse(\n        description: 'bundle_data_hub_config_update_success_response',\n        content: new JsonContent(ref: UpdateConfigurationResponse::class)\n    )]\n    #[IsGranted(PermissionConstants::PLUGIN_DATA_HUB_CONFIG)]\n    #[DefaultResponses([\n        HttpResponseCodes::UNAUTHORIZED,\n        HttpResponseCodes::NOT_FOUND,\n        HttpResponseCodes::CONFLICT,\n    ])]\n    public function updateConfiguration(\n        string $name,\n        #[MapRequestPayload] UpdateConfiguration $updateConfiguration\n    ): JsonResponse {\n        $modificationDate = $this->configurationService->updateConfiguration(\n            $name,\n            $updateConfiguration->getConfiguration(),\n            $updateConfiguration->getModificationDate()\n        );\n\n        return $this->jsonResponse(\n            new UpdateConfigurationResponse($modificationDate)\n        );\n    }\n}\n"
  },
  {
    "path": "src/Controller/Studio/GraphQL/ExplorerController.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Controller\\Studio\\GraphQL;\n\nuse OpenApi\\Attributes\\Get;\nuse OpenApi\\Attributes\\Response;\nuse OpenApi\\Attributes\\Schema;\nuse Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Attribute\\Response\\Content\\HtmlContent;\nuse Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Config\\Prefix;\nuse Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Config\\Tags;\nuse Pimcore\\Bundle\\DataHubBundle\\Service\\Studio\\GraphQLExplorerServiceInterface;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Controller\\AbstractApiController;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Parameter\\Path\\IdParameter;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Response\\DefaultResponses;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Util\\Constant\\HttpResponseCodes;\nuse Symfony\\Component\\HttpFoundation\\Request;\nuse Symfony\\Component\\HttpFoundation\\Response as HttpResponse;\nuse Symfony\\Component\\Routing\\Attribute\\Route;\nuse Symfony\\Component\\Serializer\\SerializerInterface;\n\n/**\n * @internal\n */\nfinal class ExplorerController extends AbstractApiController\n{\n    private const string ROUTE = '/graphql/explorer/{clientname}';\n\n    public function __construct(\n        SerializerInterface $serializer,\n        private readonly GraphQLExplorerServiceInterface $explorerService\n    ) {\n        parent::__construct($serializer);\n    }\n\n    /**\n     * @throws \\Exception\n     */\n    #[Route(\n        path: self::ROUTE,\n        name: 'pimcore_studio_api_data_hub_graphql_explorer',\n        methods: ['GET']\n    )]\n    #[Get(\n        path: Prefix::BUNDLE . self::ROUTE,\n        operationId: 'bundle_data_hub_graphql_explorer',\n        description: 'bundle_data_hub_graphql_explorer_description',\n        summary: 'bundle_data_hub_graphql_explorer_summary',\n        tags: [Tags::DataHub->value]\n    )]\n    #[IdParameter(\n        type: 'client',\n        schema: new Schema(type: 'string'),\n        name: 'clientname',\n    )]\n    #[Response(\n        response: HttpResponseCodes::SUCCESS->value,\n        description: 'bundle_data_hub_graphql_explorer_success_response',\n        content: new HtmlContent('GraphQL Explorer HTML interface')\n    )]\n    #[DefaultResponses([\n        HttpResponseCodes::UNAUTHORIZED,\n        HttpResponseCodes::NOT_FOUND,\n    ])]\n    public function getExplorer(string $clientname, Request $request): HttpResponse\n    {\n        $urlParams = array_merge($request->request->all(), $request->query->all());\n\n        return $this->explorerService->generateExplorerResponse($clientname, $urlParams);\n    }\n}\n"
  },
  {
    "path": "src/Controller/Studio/GraphQL/ExplorerUrlController.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Controller\\Studio\\GraphQL;\n\nuse OpenApi\\Attributes\\Get;\nuse OpenApi\\Attributes\\Schema;\nuse Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Attribute\\Response\\Content\\ExplorerUrlJson;\nuse Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Config\\Prefix;\nuse Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Config\\Tags;\nuse Pimcore\\Bundle\\DataHubBundle\\Service\\Studio\\GraphQLExplorerServiceInterface;\nuse Pimcore\\Bundle\\DataHubBundle\\Utils\\Constants\\PermissionConstants;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Controller\\AbstractApiController;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Parameter\\Path\\IdParameter;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Response\\DefaultResponses;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Response\\SuccessResponse;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Util\\Constant\\HttpResponseCodes;\nuse Symfony\\Component\\HttpFoundation\\JsonResponse;\nuse Symfony\\Component\\Routing\\Attribute\\Route;\nuse Symfony\\Component\\Security\\Http\\Attribute\\IsGranted;\nuse Symfony\\Component\\Serializer\\SerializerInterface;\n\n/**\n * @internal\n */\nfinal class ExplorerUrlController extends AbstractApiController\n{\n    private const string ROUTE = '/graphql/explorer-url/{name}';\n\n    public function __construct(\n        SerializerInterface $serializer,\n        private readonly GraphQLExplorerServiceInterface $graphQLExplorerService\n    ) {\n        parent::__construct($serializer);\n    }\n\n    /**\n     * @throws \\Exception\n     */\n    #[Route(\n        path: self::ROUTE,\n        name: 'pimcore_studio_api_data_hub_graphql_explorer_url',\n        methods: ['GET']\n    )]\n    #[Get(\n        path: Prefix::BUNDLE . self::ROUTE,\n        operationId: 'bundle_data_hub_graphql_explorer_url',\n        description: 'bundle_data_hub_graphql_explorer_url_description',\n        summary: 'bundle_data_hub_graphql_explorer_url_summary',\n        tags: [Tags::DataHub->value]\n    )]\n    #[IdParameter(\n        type: 'configuration',\n        schema: new Schema(type: 'string'),\n        name: 'name',\n    )]\n    #[SuccessResponse(\n        description: 'bundle_data_hub_graphql_explorer_url_success_response',\n        content: new ExplorerUrlJson()\n    )]\n    #[IsGranted(PermissionConstants::PLUGIN_DATA_HUB_CONFIG)]\n    #[DefaultResponses([\n        HttpResponseCodes::UNAUTHORIZED,\n        HttpResponseCodes::NOT_FOUND,\n    ])]\n    public function getExplorerUrl(string $name): JsonResponse\n    {\n        return $this->jsonResponse(\n            [\n                'explorerUrl' => $this->graphQLExplorerService->getExplorerUrl($name),\n            ]\n        );\n    }\n}\n"
  },
  {
    "path": "src/Controller/Studio/Thumbnails/CollectionController.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Controller\\Studio\\Thumbnails;\n\nuse OpenApi\\Attributes\\Get;\nuse Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Config\\Prefix;\nuse Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Config\\Tags;\nuse Pimcore\\Bundle\\DataHubBundle\\Schema\\Thumbnail;\nuse Pimcore\\Bundle\\DataHubBundle\\Service\\Studio\\ThumbnailServiceInterface;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Controller\\AbstractApiController;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Property\\GenericCollection;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Response\\Content\\CollectionJson;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Response\\DefaultResponses;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Response\\SuccessResponse;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Util\\Constant\\HttpResponseCodes;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Util\\Trait\\PaginatedResponseTrait;\nuse Symfony\\Component\\HttpFoundation\\JsonResponse;\nuse Symfony\\Component\\Routing\\Attribute\\Route;\nuse Symfony\\Component\\Security\\Http\\Attribute\\IsGranted;\nuse Symfony\\Component\\Serializer\\SerializerInterface;\n\n/**\n * @internal\n */\nfinal class CollectionController extends AbstractApiController\n{\n    use PaginatedResponseTrait;\n\n    private const string ROUTE = '/thumbnails';\n\n    public function __construct(\n        SerializerInterface $serializer,\n        private readonly ThumbnailServiceInterface $thumbnailService,\n    ) {\n        parent::__construct($serializer);\n    }\n\n    #[Route(\n        path: self::ROUTE,\n        name: 'pimcore_studio_api_data_hub_thumbnails_collection',\n        methods: ['GET']\n    )]\n    #[Get(\n        path: Prefix::BUNDLE . self::ROUTE,\n        operationId: 'bundle_data_hub_thumbnails_collection',\n        description: 'bundle_data_hub_thumbnails_collection_description',\n        summary: 'bundle_data_hub_thumbnails_collection_summary',\n        tags: [Tags::DataHub->value]\n    )]\n    #[SuccessResponse(\n        description: 'bundle_data_hub_thumbnails_collection_success_response',\n        content: new CollectionJson(new GenericCollection(Thumbnail::class)),\n    )]\n    #[IsGranted('thumbnails')]\n    #[DefaultResponses([\n        HttpResponseCodes::UNAUTHORIZED,\n    ])]\n    public function getThumbnails(): JsonResponse\n    {\n        $thumbnails = $this->thumbnailService->getThumbnails();\n\n        return $this->getPaginatedCollection(\n            $this->serializer,\n            $thumbnails,\n            count($thumbnails)\n        );\n    }\n}\n"
  },
  {
    "path": "src/Controller/Studio/Users/CollectionController.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Controller\\Studio\\Users;\n\nuse OpenApi\\Attributes\\Get;\nuse OpenApi\\Attributes\\Parameter;\nuse OpenApi\\Attributes\\Schema;\nuse Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Config\\Prefix;\nuse Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Config\\Tags;\nuse Pimcore\\Bundle\\DataHubBundle\\Schema\\PermissionUser;\nuse Pimcore\\Bundle\\DataHubBundle\\Service\\Studio\\UserServiceInterface;\nuse Pimcore\\Bundle\\DataHubBundle\\Utils\\Constants\\PermissionConstants;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Controller\\AbstractApiController;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Property\\GenericCollection;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Response\\Content\\CollectionJson;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Response\\DefaultResponses;\nuse Pimcore\\Bundle\\StudioBackendBundle\\OpenApi\\Attribute\\Response\\SuccessResponse;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Util\\Constant\\HttpResponseCodes;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Util\\Trait\\PaginatedResponseTrait;\nuse Symfony\\Component\\HttpFoundation\\JsonResponse;\nuse Symfony\\Component\\HttpFoundation\\Request;\nuse Symfony\\Component\\Routing\\Attribute\\Route;\nuse Symfony\\Component\\Security\\Http\\Attribute\\IsGranted;\nuse Symfony\\Component\\Serializer\\SerializerInterface;\n\n/**\n * @internal\n */\nfinal class CollectionController extends AbstractApiController\n{\n    use PaginatedResponseTrait;\n\n    private const string ROUTE = '/users';\n\n    public function __construct(\n        SerializerInterface $serializer,\n        private readonly UserServiceInterface $userService,\n    ) {\n        parent::__construct($serializer);\n    }\n\n    #[Route(\n        path: self::ROUTE,\n        name: 'pimcore_studio_api_data_hub_users_collection',\n        methods: ['GET']\n    )]\n    #[Get(\n        path: Prefix::BUNDLE . self::ROUTE,\n        operationId: 'bundle_data_hub_users_collection',\n        description: 'bundle_data_hub_users_collection_description',\n        summary: 'bundle_data_hub_users_collection_summary',\n        tags: [Tags::DataHub->value]\n    )]\n    #[Parameter(\n        name: 'type',\n        description: 'Filter by user type (user or role)',\n        in: 'query',\n        required: false,\n        schema: new Schema(\n            type: 'string',\n            default: 'user',\n            enum: ['user', 'role']\n        )\n    )]\n    #[SuccessResponse(\n        description: 'bundle_data_hub_users_collection_success_response',\n        content: new CollectionJson(new GenericCollection(PermissionUser::class)),\n    )]\n    #[IsGranted(PermissionConstants::PLUGIN_DATA_HUB_CONFIG)]\n    #[DefaultResponses([\n        HttpResponseCodes::UNAUTHORIZED,\n    ])]\n    public function getUsers(Request $request): JsonResponse\n    {\n        $type = $request->query->getString('type', 'user');\n\n        $users = $this->userService->getUsers($type);\n\n        return $this->getPaginatedCollection(\n            $this->serializer,\n            $users,\n            count($users)\n        );\n    }\n}\n"
  },
  {
    "path": "src/Controller/WebserviceController.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Controller;\n\nuse GraphQL\\Error\\DebugFlag;\nuse GraphQL\\Error\\Warning;\nuse GraphQL\\GraphQL;\nuse GraphQL\\Server\\RequestError;\nuse GraphQL\\Validator\\DocumentValidator;\nuse GraphQL\\Validator\\Rules\\DisableIntrospection;\nuse Pimcore\\Bundle\\DataHubBundle\\Configuration;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\ExecutorEvents;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\ExecutorEvent;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\ExecutorResultEvent;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassTypeDefinitions;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Mutation\\MutationType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\QueryType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\PimcoreDataHubBundle;\nuse Pimcore\\Bundle\\DataHubBundle\\Service\\CheckConsumerPermissionsService;\nuse Pimcore\\Bundle\\DataHubBundle\\Service\\FileUploadService;\nuse Pimcore\\Bundle\\DataHubBundle\\Service\\OutputCacheServiceInterface;\nuse Pimcore\\Bundle\\DataHubBundle\\Service\\ResponseServiceInterface;\nuse Pimcore\\Cache\\RuntimeCache;\nuse Pimcore\\Controller\\FrontendController;\nuse Pimcore\\Helper\\LongRunningHelper;\nuse Pimcore\\Localization\\LocaleServiceInterface;\nuse Pimcore\\Logger;\nuse Pimcore\\Model\\Factory;\nuse Symfony\\Component\\EventDispatcher\\EventDispatcherInterface;\nuse Symfony\\Component\\HttpFoundation\\JsonResponse;\nuse Symfony\\Component\\HttpFoundation\\Request;\nuse Symfony\\Component\\HttpKernel\\Exception\\AccessDeniedHttpException;\nuse Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException;\n\n/**\n * @internal\n */\nfinal class WebserviceController extends FrontendController\n{\n    /**\n     * @var EventDispatcherInterface\n     */\n    private $eventDispatcher;\n\n    /**\n     * @var CheckConsumerPermissionsService\n     */\n    private $permissionsService;\n\n    /**\n     * @var OutputCacheServiceInterface\n     */\n    private $cacheService;\n\n    /**\n     * @var FileUploadService\n     */\n    private $uploadService;\n\n    public function __construct(\n        EventDispatcherInterface $eventDispatcher,\n        CheckConsumerPermissionsService $permissionsService,\n        OutputCacheServiceInterface $cacheService,\n        FileUploadService $uploadService\n    ) {\n        $this->eventDispatcher = $eventDispatcher;\n        $this->permissionsService = $permissionsService;\n        $this->cacheService = $cacheService;\n        $this->uploadService = $uploadService;\n    }\n\n    /**\n     *\n     * @return JsonResponse\n     *\n     * @throws RequestError|\\Exception\n     */\n    public function webonyxAction(\n        Service $service,\n        LocaleServiceInterface $localeService,\n        Factory $modelFactory,\n        Request $request,\n        LongRunningHelper $longRunningHelper,\n        ResponseServiceInterface $responseService\n    ) {\n        $clientname = $request->attributes->getString('clientname');\n        $variableValues = null;\n\n        $configuration = Configuration::getByName($clientname);\n        if (!$configuration || !$configuration->isActive()) {\n            throw new NotFoundHttpException('No active configuration found for ' . $clientname);\n        }\n\n        if (!$this->permissionsService->performSecurityCheck($request, $configuration)) {\n            throw new AccessDeniedHttpException('Permission denied, apikey not valid');\n        }\n\n        if ($response = $this->cacheService->load($request)) {\n            Logger::debug('Loading response from cache');\n\n            $responseService->addCorsHeaders($response);\n\n            return $response;\n        }\n\n        Logger::debug('Cache entry not found');\n\n        // context info, will be passed on to all resolver function\n        $context = ['clientname' => $clientname, 'configuration' => $configuration];\n\n        $config = $this->getParameter('pimcore_data_hub');\n\n        if (isset($config['graphql']) && isset($config['graphql']['not_allowed_policy'])) {\n            PimcoreDataHubBundle::setNotAllowedPolicy($config['graphql']['not_allowed_policy']);\n        }\n\n        $longRunningHelper->addPimcoreRuntimeCacheProtectedItems([PimcoreDataHubBundle::RUNTIME_CONTEXT_KEY]);\n        RuntimeCache::set(PimcoreDataHubBundle::RUNTIME_CONTEXT_KEY, $context);\n\n        ClassTypeDefinitions::build($service, $context);\n\n        $queryType = new QueryType($service, $localeService, $modelFactory, $this->eventDispatcher, [], $context);\n        $mutationType = new MutationType($service, $localeService, $modelFactory, $this->eventDispatcher, [], $context);\n\n        try {\n            $schemaConfig = [\n                'query' => $queryType,\n            ];\n            if (!$mutationType->isEmpty()) {\n                $schemaConfig['mutation'] = $mutationType;\n            }\n            $schema = new \\GraphQL\\Type\\Schema(\n                $schemaConfig\n            );\n        } catch (\\Exception $e) {\n            Warning::enable(false);\n            $schema = new \\GraphQL\\Type\\Schema(\n                [\n                    'query' => $queryType,\n                    'mutation' => $mutationType,\n                ]\n            );\n            $schema->assertValid();\n            Logger::error($e);\n\n            throw $e;\n        }\n\n        $contentType = $request->headers->get('content-type') ?? '';\n\n        if (mb_stripos($contentType, 'multipart/form-data') !== false) {\n            $input = $this->uploadService->parseUploadedFiles($request);\n        } else {\n            $input = json_decode($request->getContent(), true);\n        }\n\n        $query = $input['query'] ?? '';\n\n        try {\n            $rootValue = null;\n\n            $validators = null;\n\n            $event = new ExecutorEvent(\n                $request,\n                $query,\n                $schema,\n                $context\n            );\n\n            $this->eventDispatcher->dispatch($event, ExecutorEvents::PRE_EXECUTE);\n\n            if ($event->getRequest() instanceof Request) {\n                $variableValues = $event->getRequest()->request->all('variables');\n            }\n\n            if (!$variableValues) {\n                $variableValues = $input['variables'] ?? null;\n            }\n\n            $configAllowIntrospection = true;\n            if (isset($config['graphql']) && isset($config['graphql']['allow_introspection'])) {\n                $configAllowIntrospection = $config['graphql']['allow_introspection'];\n            }\n\n            $disableIntrospection = !$configAllowIntrospection || (isset($configuration->getSecurityConfig()['disableIntrospection']) && $configuration->getSecurityConfig()['disableIntrospection']);\n\n            DocumentValidator::addRule(new DisableIntrospection((int)$disableIntrospection));\n\n            $result = GraphQL::executeQuery(\n                $event->getSchema(),\n                $event->getQuery(),\n                $rootValue,\n                $event->getContext(),\n                $variableValues,\n                null,\n                null,\n                $validators\n            );\n\n            $exResult = new ExecutorResultEvent($request, $result);\n            $this->eventDispatcher->dispatch($exResult, ExecutorEvents::POST_EXECUTE);\n            $result = $exResult->getResult();\n\n            if (\\Pimcore::inDebugMode()) {\n                $debug = DebugFlag::INCLUDE_DEBUG_MESSAGE | DebugFlag::INCLUDE_TRACE;\n                $output = $result->toArray($debug);\n            } else {\n                $output = $result->toArray();\n            }\n        } catch (\\Exception $e) {\n            $output = [\n                'errors' => [\n                    [\n                        'message' => $e->getMessage(),\n                    ],\n                ],\n            ];\n        }\n\n        $response = new JsonResponse($output);\n\n        $responseService->removeCorsHeaders($response);\n        $this->cacheService->save($request, $response);\n        $responseService->addCorsHeaders($response);\n\n        return $response;\n    }\n}\n"
  },
  {
    "path": "src/DependencyInjection/Compiler/CustomDocumentTypePass.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (http://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\DependencyInjection\\Compiler;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType\\DocumentType;\nuse Symfony\\Component\\DependencyInjection\\Compiler\\CompilerPassInterface;\nuse Symfony\\Component\\DependencyInjection\\ContainerBuilder;\n\nclass CustomDocumentTypePass implements CompilerPassInterface\n{\n    public function process(ContainerBuilder $container): void\n    {\n        $documentTypeService = $container->getDefinition(DocumentType::class);\n\n        $resolvers = $container->findTaggedServiceIds('pimcore.datahub.graphql.documenttype.customtype');\n\n        $dataTypes = [];\n\n        foreach ($resolvers as $id => $tagEntries) {\n            foreach ($tagEntries as $tagEntry) {\n                $typeDef = $container->getDefinition($id);\n                $dataTypes[$tagEntry['id']] = $typeDef;\n            }\n        }\n\n        $documentTypeService->addMethodCall('registerCustomDataType', [$dataTypes]);\n    }\n}\n"
  },
  {
    "path": "src/DependencyInjection/Compiler/ImportExportLocatorsPass.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (http://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\DependencyInjection\\Compiler;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Symfony\\Component\\Config\\Definition\\Exception\\InvalidDefinitionException;\nuse Symfony\\Component\\DependencyInjection\\Compiler\\CompilerPassInterface;\nuse Symfony\\Component\\DependencyInjection\\ContainerBuilder;\nuse Symfony\\Component\\DependencyInjection\\Definition;\nuse Symfony\\Component\\DependencyInjection\\Reference;\nuse Symfony\\Component\\DependencyInjection\\ServiceLocator;\n\nclass ImportExportLocatorsPass implements CompilerPassInterface\n{\n    public function process(ContainerBuilder $container): void\n    {\n        $this->processGeneralTypes($container);\n\n        $this->processAssetTypes($container);\n        $this->processTranslationTypes($container);\n\n        $this->processDataObjectQueryTypes($container);\n        $this->processDataObjectMutationTypes($container);\n        $this->processDocumentElementQueryTypes($container);\n        $this->processDocumentElementMutationTypes($container);\n        $this->processCsFeatureQueryTypes($container);\n\n        $this->registerAssetDataTypes($container);\n        $this->registerTranslationDataTypes($container);\n\n        $this->registerDataObjectDataTypes($container);\n\n        $this->registerDocumentDataTypes($container);\n\n        $this->registerClassificationStoreDataTypes($container);\n\n        $this->registerPropertyDataTypes($container);\n    }\n\n    protected function processGeneralTypes(ContainerBuilder $container)\n    {\n        $graphQLServiceDefinition = $container->getDefinition(Service::class);\n\n        $this->createLocatorForTaggedServices(\n            $container,\n            $graphQLServiceDefinition,\n            'graphql general',\n            'pimcore.datahub.graphql.generaltype_factory',\n            '$generalTypeGeneratorFactories'\n        );\n\n        $this->buildSupportedGeneralTypes(\n            'query',\n            $container,\n            $graphQLServiceDefinition,\n            'graphql general type generator',\n            'pimcore.datahub.graphql.generaltypegenerator'\n        );\n    }\n\n    protected function processAssetTypes(ContainerBuilder $container)\n    {\n        $graphQLServiceDefinition = $container->getDefinition(Service::class);\n\n        $this->createLocatorForTaggedServices(\n            $container,\n            $graphQLServiceDefinition,\n            'graphql asset',\n            'pimcore.datahub.graphql.assettype_factory',\n            '$assetTypeGeneratorFactories'\n        );\n    }\n\n    protected function processTranslationTypes(ContainerBuilder $container)\n    {\n        $graphQLServiceDefinition = $container->getDefinition(Service::class);\n\n        $this->createLocatorForTaggedServices(\n            $container,\n            $graphQLServiceDefinition,\n            'graphql translation',\n            'pimcore.datahub.graphql.translationtype_factory',\n            '$translationTypeGeneratorFactories'\n        );\n    }\n\n    private function createLocatorForTaggedServices(\n        ContainerBuilder $container,\n        Definition $definition,\n        string $type,\n        string $tag,\n        string $argument\n    ) {\n        $resolvers = $container->findTaggedServiceIds($tag);\n\n        $mapping = [];\n\n        foreach ($resolvers as $id => $tagEntries) {\n            foreach ($tagEntries as $tagEntry) {\n                if (!isset($tagEntry['id'])) {\n                    throw new InvalidDefinitionException(sprintf(\n                        'The %s \"%s\" does not define an ID on the \"%s\" tag.',\n                        $type,\n                        $id,\n                        $tag\n                    ));\n                }\n\n                $mapping[$tagEntry['id']] = new Reference($id);\n            }\n        }\n\n        $serviceLocator = new Definition(ServiceLocator::class, [$mapping]);\n        $serviceLocator->setPublic(false);\n        $serviceLocator->addTag('container.service_locator');\n\n        $definition->setArgument($argument, $serviceLocator);\n    }\n\n    /**\n     * @param string $operationType\n     */\n    private function buildSupportedGeneralTypes(\n        $operationType,\n        ContainerBuilder $container,\n        Definition $definition,\n        string $type,\n        string $tag\n    ) {\n        $resolvers = $container->findTaggedServiceIds($tag);\n\n        $mapping = [];\n\n        $needle = 'typegenerator_generaltype_';\n        $lengthOfNeedle = strlen($needle);\n\n        foreach ($resolvers as $id => $tagEntries) {\n            foreach ($tagEntries as $tagEntry) {\n                if (!isset($tagEntry['id'])) {\n                    throw new InvalidDefinitionException(sprintf(\n                        'The %s \"%s\" does not define an ID on the \"%s\" tag.',\n                        $type,\n                        $id,\n                        $tag\n                    ));\n                }\n\n                $idx = strpos($tagEntry['id'], $needle);\n                if ($idx === 0) {\n                    $typename = substr($tagEntry['id'], $lengthOfNeedle);\n                    $mapping[$typename] = 1;\n                }\n            }\n        }\n\n        $definition->addMethodCall('setSupportedGeneralTypes', [array_keys($mapping)]);\n    }\n\n    protected function processDataObjectQueryTypes(ContainerBuilder $container)\n    {\n        $graphQLServiceDefinition = $container->getDefinition(Service::class);\n\n        $this->createLocatorForTaggedServices(\n            $container,\n            $graphQLServiceDefinition,\n            'graphql query_dataobjecttypegenerator',\n            'pimcore.datahub.graphql.dataobjectquerytypegenerator',\n            '$dataObjectQueryTypeGeneratorFactories'\n        );\n\n        $this->createLocatorForTaggedServices(\n            $container,\n            $graphQLServiceDefinition,\n            'graphql query operator',\n            'pimcore.datahub.graphql.dataobjectqueryoperator_factory',\n            '$dataObjectQueryOperatorFactories'\n        );\n\n        $this->buildSupportedDataObjectDataTypes(\n            'query',\n            $container,\n            $graphQLServiceDefinition,\n            'graphql query_dataobjecttypegenerator',\n            'pimcore.datahub.graphql.dataobjectquerytypegenerator'\n        );\n    }\n\n    /**\n     * @param string $operationType\n     */\n    private function buildSupportedDataObjectDataTypes(\n        $operationType,\n        ContainerBuilder $container,\n        Definition $definition,\n        string $type,\n        string $tag\n    ) {\n        $resolvers = $container->findTaggedServiceIds($tag);\n\n        $mapping = [];\n\n        $needle = 'typegenerator_dataobject' . $operationType . 'datatype_';\n        $lengthOfNeedle = strlen($needle);\n\n        foreach ($resolvers as $id => $tagEntries) {\n            foreach ($tagEntries as $tagEntry) {\n                if (!isset($tagEntry['id'])) {\n                    throw new InvalidDefinitionException(sprintf(\n                        'The %s \"%s\" does not define an ID on the \"%s\" tag.',\n                        $type,\n                        $id,\n                        $tag\n                    ));\n                }\n\n                $idx = strpos($tagEntry['id'], $needle);\n                if ($idx === 0) {\n                    $typename = substr($tagEntry['id'], $lengthOfNeedle);\n                    $mapping[$typename] = 1;\n                }\n            }\n        }\n\n        $definition->addMethodCall('setSupportedDataObject' . ucfirst($operationType) . 'DataTypes', [array_keys($mapping)]);\n    }\n\n    protected function processDataObjectMutationTypes(ContainerBuilder $container)\n    {\n        $graphQLServiceDefinition = $container->getDefinition(Service::class);\n\n        $this->createLocatorForTaggedServices(\n            $container,\n            $graphQLServiceDefinition,\n            'graphql dataobject mutation_typegenerator',\n            'pimcore.datahub.graphql.dataobjectmutationtypegenerator',\n            '$dataObjectMutationTypeGeneratorFactories'\n        );\n\n        $this->createLocatorForTaggedServices(\n            $container,\n            $graphQLServiceDefinition,\n            'graphql dataobject mutation operator',\n            'pimcore.datahub.graphql.dataobjectmutationoperator_factory',\n            '$dataObjectMutationOperatorFactories'\n        );\n\n        $this->buildSupportedDataObjectDataTypes(\n            'mutation',\n            $container,\n            $graphQLServiceDefinition,\n            'graphql mutation_typegenerator',\n            'pimcore.datahub.graphql.dataobjectmutationtypegenerator'\n        );\n    }\n\n    protected function processDocumentElementMutationTypes(ContainerBuilder $container)\n    {\n        $graphQLServiceDefinition = $container->getDefinition(Service::class);\n\n        $this->createLocatorForTaggedServices(\n            $container,\n            $graphQLServiceDefinition,\n            'graphql mutation_documentelementtypegenerator',\n            'pimcore.datahub.graphql.documentelementmutationtypegenerator',\n            '$documentElementMutationTypeGeneratorFactories'\n        );\n\n        $this->buildSupportedDocumentElementDataTypes(\n            'mutation',\n            $container,\n            $graphQLServiceDefinition,\n            'graphql mutation_documentelementtypegenerator',\n            'pimcore.datahub.graphql.documentelementmutationtypegenerator'\n        );\n    }\n\n    protected function processDocumentElementQueryTypes(ContainerBuilder $container)\n    {\n        $graphQLServiceDefinition = $container->getDefinition(Service::class);\n\n        $this->createLocatorForTaggedServices(\n            $container,\n            $graphQLServiceDefinition,\n            'graphql query_documentelementtypegenerator',\n            'pimcore.datahub.graphql.documentelementquerytypegenerator',\n            '$documentElementQueryTypeGeneratorFactories'\n        );\n\n        $this->buildSupportedDocumentElementDataTypes(\n            'query',\n            $container,\n            $graphQLServiceDefinition,\n            'graphql query_documentelementtypegenerator',\n            'pimcore.datahub.graphql.documentelementquerytypegenerator'\n        );\n    }\n\n    /**\n     * @param string $operationType\n     */\n    private function buildSupportedDocumentElementDataTypes(\n        $operationType,\n        ContainerBuilder $container,\n        Definition $definition,\n        string $type,\n        string $tag\n    ) {\n        $resolvers = $container->findTaggedServiceIds($tag);\n\n        $mapping = [];\n\n        $needle = 'typegenerator_documentelement' . $operationType . 'datatype_';\n        $lengthOfNeedle = strlen($needle);\n\n        foreach ($resolvers as $id => $tagEntries) {\n            foreach ($tagEntries as $tagEntry) {\n                if (!isset($tagEntry['id'])) {\n                    throw new InvalidDefinitionException(sprintf(\n                        'The %s \"%s\" does not define an ID on the \"%s\" tag.',\n                        $type,\n                        $id,\n                        $tag\n                    ));\n                }\n\n                $idx = strpos($tagEntry['id'], $needle);\n                if ($idx === 0) {\n                    $typename = substr($tagEntry['id'], $lengthOfNeedle);\n                    $mapping[$typename] = 1;\n                }\n            }\n        }\n\n        $definition->addMethodCall('setSupportedDocumentElement' . ucfirst($operationType) . 'DataTypes', [array_keys($mapping)]);\n    }\n\n    protected function processCsFeatureQueryTypes(ContainerBuilder $container)\n    {\n        $graphQLServiceDefinition = $container->getDefinition(Service::class);\n\n        $this->createLocatorForTaggedServices(\n            $container,\n            $graphQLServiceDefinition,\n            'graphql query_csfeaturetypegenerator',\n            'pimcore.datahub.graphql.csfeaturequerytypegenerator',\n            '$csFeatureTypeGeneratorFactories'\n        );\n\n        $this->buildSupportedCsFeatureDataTypes(\n            'query',\n            $container,\n            $graphQLServiceDefinition,\n            'graphql query_csfeaturetypegenerator',\n            'pimcore.datahub.graphql.csfeaturequerytypegenerator'\n        );\n    }\n\n    /**\n     * @param string $operationType\n     */\n    private function buildSupportedCsFeatureDataTypes(\n        $operationType,\n        ContainerBuilder $container,\n        Definition $definition,\n        string $type,\n        string $tag\n    ) {\n        $resolvers = $container->findTaggedServiceIds($tag);\n\n        $mapping = [];\n\n        $needle = 'typegenerator_csfeature' . $operationType . 'datatype_';\n        $lengthOfNeedle = strlen($needle);\n\n        foreach ($resolvers as $id => $tagEntries) {\n            foreach ($tagEntries as $tagEntry) {\n                if (!isset($tagEntry['id'])) {\n                    throw new InvalidDefinitionException(sprintf(\n                        'The %s \"%s\" does not define an ID on the \"%s\" tag.',\n                        $type,\n                        $id,\n                        $tag\n                    ));\n                }\n\n                $idx = strpos($tagEntry['id'], $needle);\n                if ($idx === 0) {\n                    $typename = substr($tagEntry['id'], $lengthOfNeedle);\n                    $mapping[$typename] = 1;\n                }\n            }\n        }\n\n        $definition->addMethodCall('setSupportedCsFeature' . ucfirst($operationType) . 'DataTypes', [array_keys($mapping)]);\n    }\n\n    private function registerAssetDataTypes(\n        ContainerBuilder $container\n    ) {\n        $this->registerElementTypes($container, 'pimcore.datahub.graphql.assettype', 'registerAssetDataTypes');\n    }\n\n    private function registerTranslationDataTypes(ContainerBuilder $container)\n    {\n        $this->registerElementTypes($container, 'pimcore.datahub.graphql.translationtype', 'registerTranslationDataTypes');\n    }\n\n    /**\n     * @param string $tag\n     * @param string $methodCall\n     */\n    private function registerElementTypes(\n        ContainerBuilder $container,\n        $tag,\n        $methodCall\n    ) {\n        $graphQLServiceDefinition = $container->getDefinition(Service::class);\n\n        $resolvers = $container->findTaggedServiceIds($tag);\n\n        $dataTypes = [];\n\n        foreach ($resolvers as $id => $tagEntries) {\n            foreach ($tagEntries as $tagEntry) {\n                $typeDef = $container->getDefinition($id);\n                $dataTypes[$tagEntry['id']] = $typeDef;\n            }\n        }\n\n        $graphQLServiceDefinition->addMethodCall($methodCall, [$dataTypes]);\n    }\n\n    private function registerDataObjectDataTypes(\n        ContainerBuilder $container\n    ) {\n        $this->registerElementTypes($container, 'pimcore.datahub.graphql.dataobjecttype', 'registerDataObjectDataTypes');\n    }\n\n    private function registerDocumentDataTypes(\n        ContainerBuilder $container\n    ) {\n        $this->registerElementTypes($container, 'pimcore.datahub.graphql.documenttype', 'registerDocumentDataTypes');\n    }\n\n    private function registerClassificationStoreDataTypes(\n        ContainerBuilder $container\n    ) {\n        $this->registerElementTypes($container, 'pimcore.datahub.graphql.cstype', 'registerClassificationStoreDataTypes');\n    }\n\n    private function registerPropertyDataTypes(\n        ContainerBuilder $container\n    ) {\n        $this->registerElementTypes($container, 'pimcore.datahub.graphql.propertytype', 'registerPropertyDataTypes');\n    }\n}\n"
  },
  {
    "path": "src/DependencyInjection/Configuration.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\DependencyInjection;\n\nuse Pimcore\\Bundle\\CoreBundle\\DependencyInjection\\ConfigurationHelper;\nuse Symfony\\Component\\Config\\Definition\\Builder\\ArrayNodeDefinition;\nuse Symfony\\Component\\Config\\Definition\\Builder\\NodeDefinition;\nuse Symfony\\Component\\Config\\Definition\\Builder\\TreeBuilder;\nuse Symfony\\Component\\Config\\Definition\\ConfigurationInterface;\n\n/**\n * @internal\n */\nfinal class Configuration implements ConfigurationInterface\n{\n    /**\n     * Generates the configuration tree builder.\n     *\n     * @return \\Symfony\\Component\\Config\\Definition\\Builder\\TreeBuilder The tree builder\n     */\n    public function getConfigTreeBuilder(): TreeBuilder\n    {\n        $treeBuilder = new TreeBuilder('pimcore_data_hub');\n        $rootNode = $treeBuilder->getRootNode();\n        $rootNode\n            ->children()\n                ->arrayNode('graphql')\n                    ->children()\n                        ->scalarNode('not_allowed_policy')->info('throw exception = 1, return null = 2')->defaultValue(2)->end()\n                        ->booleanNode('output_cache_enabled')->info('enables output cache for graphql responses. It is disabled by default')->defaultValue(false)->end()\n                        ->integerNode('output_cache_lifetime')->info('output cache in seconds. Default is 30 seconds')->defaultValue(30)->end()\n                        ->booleanNode('allow_introspection')->info('enables introspection for graphql. It is enabled by default')->defaultValue(true)->end()\n                    ->end()\n                ->end()\n            ->end()\n        ->end();\n\n        $this->addConfigurationsNode($rootNode);\n        $this->addSupportedTypes($rootNode);\n\n        /** @var ArrayNodeDefinition $rootNode */\n        ConfigurationHelper::addConfigLocationWithWriteTargetNodes(\n            $rootNode,\n            ['data_hub' => PIMCORE_CONFIGURATION_DIRECTORY . '/data_hub']\n        );\n\n        return $treeBuilder;\n    }\n\n    private function addConfigurationsNode(ArrayNodeDefinition | NodeDefinition $rootNode): void\n    {\n        $rootNode\n            ->children()\n                ->arrayNode('configurations')\n                    ->normalizeKeys(false)\n                    ->variablePrototype()->end()\n                ->end()\n            ->end();\n    }\n\n    private function addSupportedTypes(ArrayNodeDefinition | NodeDefinition $rootNode): void\n    {\n        $rootNode\n            ->children()\n                ->arrayNode('supported_types')\n                    ->variablePrototype()->end()\n                ->end()\n            ->end();\n    }\n}\n"
  },
  {
    "path": "src/DependencyInjection/PimcoreDataHubExtension.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\DependencyInjection;\n\nuse Exception;\nuse Pimcore\\Config\\LocationAwareConfigRepository;\nuse Symfony\\Component\\Config\\FileLocator;\nuse Symfony\\Component\\DependencyInjection\\ContainerBuilder;\nuse Symfony\\Component\\DependencyInjection\\Extension\\Extension;\nuse Symfony\\Component\\DependencyInjection\\Extension\\PrependExtensionInterface;\nuse Symfony\\Component\\DependencyInjection\\Loader\\YamlFileLoader;\n\n/**\n * @internal\n */\nfinal class PimcoreDataHubExtension extends Extension implements PrependExtensionInterface\n{\n    /**\n     * @throws Exception\n     */\n    public function load(array $configs, ContainerBuilder $container): void\n    {\n        $configuration = new Configuration();\n        $config = $this->processConfiguration($configuration, $configs);\n        $container->setParameter('pimcore_data_hub', $config);\n\n        $loader = new YamlFileLoader(\n            $container,\n            new FileLocator(__DIR__ . '/../Resources/config')\n        );\n\n        $loader->load('config.yml');\n        $loader->load('studio_backend.yaml');\n    }\n\n    /**\n     * @throws Exception\n     */\n    public function prepend(ContainerBuilder $container): void\n    {\n        $loader = new YamlFileLoader(\n            $container,\n            new FileLocator(__DIR__ . '/../Resources/config')\n        );\n\n        if ($container->hasExtension('doctrine_migrations')) {\n            $loader->load('doctrine_migrations.yml');\n        }\n\n        $loader->load('pimcore/studio_backend.yaml');\n        $loader->load('studio_ui.yaml');\n\n        LocationAwareConfigRepository::loadSymfonyConfigFiles(\n            $container,\n            'pimcore_data_hub',\n            'data_hub'\n        );\n    }\n}\n"
  },
  {
    "path": "src/Event/AdminEvents.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Event;\n\nfinal class AdminEvents\n{\n    /**\n     * Allows you to modify/append the configuration list.\n     *\n     * Arguments:\n     *  - list | the configuration list\n     *\n     * @Event(\"Pimcore\\Event\\Model\\GenericEvent\")\n     *\n     * @var string\n     */\n    const CONFIGURATION_LIST = 'pimcore.datahub.admin.configuration.list';\n}\n"
  },
  {
    "path": "src/Event/Config/SpecialEntitiesEvent.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Event\\Config;\n\nuse Pimcore\\Bundle\\DataHubBundle\\Model\\SpecialEntitySetting;\nuse Symfony\\Contracts\\EventDispatcher\\Event;\n\nfinal class SpecialEntitiesEvent extends Event\n{\n    protected $specialSettings;\n\n    protected $config;\n\n    public function __construct(array $specialSettings, array $config)\n    {\n        $this->specialSettings = $specialSettings;\n        $this->config = $config;\n    }\n\n    /**\n     * @return SpecialEntitySetting[]\n     */\n    public function getSpecialSettings(): array\n    {\n        return $this->specialSettings;\n    }\n\n    public function addSpecialSetting(SpecialEntitySetting $setting)\n    {\n        $this->specialSettings[] = $setting;\n    }\n\n    public function getConfig(): array\n    {\n        return $this->config;\n    }\n}\n"
  },
  {
    "path": "src/Event/ConfigurationEvents.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Event;\n\nfinal class ConfigurationEvents\n{\n    /**\n     * Fired after a configuration was deleted\n     *\n     * Arguments:\n     *  - configuration | the original configuration instance\n     *\n     * @Event(\"Pimcore\\Event\\Model\\GenericEvent\")\n     *\n     * @var string\n     */\n    const CONFIGURATION_POST_DELETE = 'pimcore.datahub.configuration.postDelete';\n\n    /**\n     * Fired before a configuration gets saved\n     *\n     * Arguments:\n     *  - configuration | the original configuration instance\n     *\n     * @Event(\"Pimcore\\Event\\Model\\GenericEvent\")\n     *\n     * @var string\n     */\n    const CONFIGURATION_PRE_SAVE = 'pimcore.datahub.configuration.preSave';\n\n    /**\n     * Fired after a configuration was saved\n     *\n     * Arguments:\n     *  - configuration | the original configuration instance\n     *\n     * @Event(\"Pimcore\\Event\\Model\\GenericEvent\")\n     *\n     * @var string\n     */\n    const CONFIGURATION_POST_SAVE = 'pimcore.datahub.configuration.postSave';\n}\n"
  },
  {
    "path": "src/Event/GraphQL/AssetMetadataEvents.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL;\n\nfinal class AssetMetadataEvents\n{\n    /**\n     * @Event(\"Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\AssetEvent\")\n     *\n     * @var string\n     */\n    const PRE_RESOLVE = 'pimcore.datahub.graphql.asset.metadata.preResolve';\n}\n"
  },
  {
    "path": "src/Event/GraphQL/ExecutorEvents.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL;\n\nfinal class ExecutorEvents\n{\n    /**\n     * @Event(\"Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\ExecutorEvent\")\n     *\n     * @var string\n     */\n    const PRE_EXECUTE = 'pimcore.datahub.graphql.executor.preExecute';\n\n    /**\n     * @Event(\"Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\ExecutorResultEvent\")\n     *\n     * @var string\n     */\n    const POST_EXECUTE = 'pimcore.datahub.graphql.executor.postExecute';\n}\n"
  },
  {
    "path": "src/Event/GraphQL/ListingEvents.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL;\n\nfinal class ListingEvents\n{\n    /**\n     * @Event(\"Symfony\\Component\\EventDispatcher\\GenericEvent\")\n     *\n     * @var string\n     */\n    const PRE_BUILD = 'pimcore.datahub.graphql.listing.preBuild';\n\n    /**\n     * @Event(\"Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\ListingEvent\")\n     *\n     * @var string\n     */\n    const PRE_LOAD = 'pimcore.datahub.graphql.listing.preLoad';\n}\n"
  },
  {
    "path": "src/Event/GraphQL/Model/ExecutorEvent.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model;\n\nuse GraphQL\\Type\\Schema;\nuse Pimcore\\Event\\Traits\\RequestAwareTrait;\nuse Pimcore\\Event\\Traits\\ResponseAwareTrait;\nuse Symfony\\Component\\HttpFoundation\\Request;\nuse Symfony\\Contracts\\EventDispatcher\\Event;\n\nfinal class ExecutorEvent extends Event\n{\n    use RequestAwareTrait;\n    use ResponseAwareTrait;\n\n    /**\n     * @var string\n     */\n    protected $query;\n\n    /**\n     * @var Schema\n     */\n    protected $schema;\n\n    /**\n     * @var array\n     */\n    protected $context;\n\n    /**\n     * @return mixed\n     */\n    public function getRequest()\n    {\n        return $this->request;\n    }\n\n    /**\n     * @param mixed $request\n     * @param bool $asString\n     */\n    public function setRequest($request, $asString = true)\n    {\n        $this->request = $asString ? (string)$request : $request;\n    }\n\n    /**\n     * @return Schema\n     */\n    public function getSchema()\n    {\n        return $this->schema;\n    }\n\n    public function setSchema(Schema $schema)\n    {\n        $this->schema = $schema;\n    }\n\n    /**\n     * @return array\n     */\n    public function getContext()\n    {\n        return $this->context;\n    }\n\n    public function setContext(array $context)\n    {\n        $this->context = $context;\n    }\n\n    /**\n     * @return string\n     */\n    public function getQuery()\n    {\n        return $this->query;\n    }\n\n    /**\n     * @param string $query\n     */\n    public function setQuery($query)\n    {\n        $this->query = $query;\n    }\n\n    /**\n     * @param string $query\n     * @param array $context\n     */\n    public function __construct(Request $request, $query, Schema $schema, $context)\n    {\n        $this->request = $request;\n        $this->query = $query;\n        $this->schema = $schema;\n        $this->context = $context;\n    }\n}\n"
  },
  {
    "path": "src/Event/GraphQL/Model/ExecutorResultEvent.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model;\n\nuse GraphQL\\Executor\\ExecutionResult;\nuse Pimcore\\Event\\Traits\\RequestAwareTrait;\nuse Pimcore\\Event\\Traits\\ResponseAwareTrait;\nuse Symfony\\Component\\HttpFoundation\\Request;\nuse Symfony\\Contracts\\EventDispatcher\\Event;\n\nfinal class ExecutorResultEvent extends Event\n{\n    use RequestAwareTrait;\n    use ResponseAwareTrait;\n\n    /**\n     * @var ExecutionResult\n     */\n    protected $result;\n\n    /**\n     * @return ExecutionResult\n     */\n    public function getResult()\n    {\n        return $this->result;\n    }\n\n    public function setResult(ExecutionResult $result)\n    {\n        $this->result = $result;\n    }\n\n    public function __construct(Request $request, ExecutionResult $result)\n    {\n        $this->request = $request;\n        $this->result = $result;\n    }\n}\n"
  },
  {
    "path": "src/Event/GraphQL/Model/ListingEvent.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Model\\Listing\\AbstractListing;\nuse Symfony\\Contracts\\EventDispatcher\\Event;\n\nfinal class ListingEvent extends Event\n{\n    /**\n     * @var AbstractListing\n     */\n    protected $listing;\n\n    /**\n     * @var array\n     */\n    protected $args;\n\n    /**\n     * @var array\n     */\n    protected $context;\n\n    /**\n     * @var ResolveInfo\n     */\n    protected $resolveInfo;\n\n    public function getListing(): AbstractListing\n    {\n        return $this->listing;\n    }\n\n    public function setListing(AbstractListing $listing)\n    {\n        $this->listing = $listing;\n    }\n\n    public function getArgs(): array\n    {\n        return $this->args;\n    }\n\n    public function setArgs(array $args): void\n    {\n        $this->args = $args;\n    }\n\n    public function getContext(): array\n    {\n        return $this->context;\n    }\n\n    public function setContext(array $context): void\n    {\n        $this->context = $context;\n    }\n\n    public function getResolveInfo(): ResolveInfo\n    {\n        return $this->resolveInfo;\n    }\n\n    public function setResolveInfo(ResolveInfo $resolveInfo): void\n    {\n        $this->resolveInfo = $resolveInfo;\n    }\n\n    /**\n     * @param array $args\n     * @param array $context\n     */\n    public function __construct(AbstractListing $listing, $args, $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $this->listing = $listing;\n        $this->args = $args;\n        $this->context = $context;\n        $this->resolveInfo = $resolveInfo;\n    }\n}\n"
  },
  {
    "path": "src/Event/GraphQL/Model/MutationTypeEvent.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Mutation\\MutationType;\nuse Pimcore\\Event\\Traits\\RequestAwareTrait;\nuse Pimcore\\Event\\Traits\\ResponseAwareTrait;\nuse Symfony\\Contracts\\EventDispatcher\\Event;\n\nfinal class MutationTypeEvent extends Event\n{\n    use RequestAwareTrait;\n    use ResponseAwareTrait;\n\n    /**\n     * @var MutationType\n     */\n    protected $mutationType;\n\n    /**\n     * @return MutationType\n     */\n    public function getMutationType()\n    {\n        return $this->mutationType;\n    }\n\n    public function setMutationType(MutationType $mutationType)\n    {\n        $this->mutationType = $mutationType;\n    }\n\n    public function getConfig(): array\n    {\n        return $this->config;\n    }\n\n    public function setConfig(array $config): void\n    {\n        $this->config = $config;\n    }\n\n    public function getContext(): array\n    {\n        return $this->context;\n    }\n\n    public function setContext(array $context): void\n    {\n        $this->context = $context;\n    }\n\n    /**\n     * @var array\n     */\n    protected $config;\n\n    /**\n     * @var array\n     */\n    protected $context;\n\n    /**\n     * @param array $config\n     * @param array $context\n     */\n    public function __construct(MutationType $mutationType, $config, $context)\n    {\n        $this->mutationType = $mutationType;\n        $this->config = $config;\n        $this->context = $context;\n    }\n}\n"
  },
  {
    "path": "src/Event/GraphQL/Model/OutputCachePreLoadEvent.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model;\n\nuse Pimcore\\Event\\Traits\\RequestAwareTrait;\nuse Symfony\\Component\\HttpFoundation\\Request;\nuse Symfony\\Contracts\\EventDispatcher\\Event;\n\nfinal class OutputCachePreLoadEvent extends Event\n{\n    use RequestAwareTrait;\n\n    /**\n     * @var bool\n     */\n    protected $useCache;\n\n    /**\n     * @return Request\n     */\n    public function getRequest()\n    {\n        return $this->request;\n    }\n\n    /**\n     * @return bool\n     */\n    public function isUseCache()\n    {\n        return $this->useCache;\n    }\n\n    public function setUseCache(bool $useCache)\n    {\n        $this->useCache = $useCache;\n    }\n\n    public function __construct(Request $request, bool $useCache)\n    {\n        $this->request = $request;\n        $this->useCache = $useCache;\n    }\n}\n"
  },
  {
    "path": "src/Event/GraphQL/Model/OutputCachePreSaveEvent.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model;\n\nuse Pimcore\\Event\\Traits\\RequestAwareTrait;\nuse Pimcore\\Event\\Traits\\ResponseAwareTrait;\nuse Symfony\\Component\\HttpFoundation\\Request;\nuse Symfony\\Component\\HttpFoundation\\Response;\nuse Symfony\\Contracts\\EventDispatcher\\Event;\n\nfinal class OutputCachePreSaveEvent extends Event\n{\n    use RequestAwareTrait;\n    use ResponseAwareTrait;\n\n    /**\n     * @return Request\n     */\n    public function getRequest()\n    {\n        return $this->request;\n    }\n\n    /**\n     * @return Response\n     */\n    public function getResponse()\n    {\n        return $this->response;\n    }\n\n    public function setResponse(Response $response)\n    {\n        $this->response = $response;\n    }\n\n    public function __construct(Request $request, Response $response)\n    {\n        $this->request = $request;\n        $this->response = $response;\n    }\n}\n"
  },
  {
    "path": "src/Event/GraphQL/Model/PermissionEvent.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model;\n\nuse Pimcore\\Model\\DataObject\\OwnerAwareFieldInterface;\nuse Pimcore\\Model\\Element\\ElementInterface;\nuse Symfony\\Contracts\\EventDispatcher\\Event;\n\nfinal class PermissionEvent extends Event\n{\n    /**\n     * @var ElementInterface|OwnerAwareFieldInterface $element\n     */\n    protected $element;\n\n    /**\n     * @var string\n     */\n    protected $type;\n\n    /**\n     * @var bool\n     */\n    protected $isGranted = true;\n\n    /**\n     * @return OwnerAwareFieldInterface|ElementInterface\n     */\n    public function getElement()\n    {\n        return $this->element;\n    }\n\n    /**\n     * @param OwnerAwareFieldInterface|ElementInterface $element\n     */\n    public function setElement($element): void\n    {\n        $this->element = $element;\n    }\n\n    public function getType(): string\n    {\n        return $this->type;\n    }\n\n    public function setType(string $type): void\n    {\n        $this->type = $type;\n    }\n\n    public function isGranted(): bool\n    {\n        return $this->isGranted;\n    }\n\n    public function setIsGranted(bool $isGranted): void\n    {\n        $this->isGranted = $isGranted;\n    }\n\n    /**\n     * @param ElementInterface|OwnerAwareFieldInterface $element\n     * @param string $type\n     */\n    public function __construct($element, $type)\n    {\n        $this->element = $element;\n        $this->type = $type;\n    }\n}\n"
  },
  {
    "path": "src/Event/GraphQL/Model/QueryTypeEvent.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\QueryType;\nuse Pimcore\\Event\\Traits\\RequestAwareTrait;\nuse Pimcore\\Event\\Traits\\ResponseAwareTrait;\nuse Symfony\\Contracts\\EventDispatcher\\Event;\n\nfinal class QueryTypeEvent extends Event\n{\n    use RequestAwareTrait;\n    use ResponseAwareTrait;\n\n    /**\n     * @var QueryType\n     */\n    protected $queryType;\n\n    /**\n     * @var array\n     */\n    protected $config;\n\n    /**\n     * @var array\n     */\n    protected $context;\n\n    /**\n     * @return QueryType\n     */\n    public function getQueryType()\n    {\n        return $this->queryType;\n    }\n\n    public function setQueryType(QueryType $queryType)\n    {\n        $this->queryType = $queryType;\n    }\n\n    public function getConfig(): array\n    {\n        return $this->config;\n    }\n\n    public function setConfig(array $config): void\n    {\n        $this->config = $config;\n    }\n\n    public function getContext(): array\n    {\n        return $this->context;\n    }\n\n    public function setContext(array $context): void\n    {\n        $this->context = $context;\n    }\n\n    /**\n     * @param array $config\n     * @param array $context\n     */\n    public function __construct(QueryType $queryType, $config, $context)\n    {\n        $this->queryType = $queryType;\n        $this->config = $config;\n        $this->context = $context;\n    }\n}\n"
  },
  {
    "path": "src/Event/GraphQL/MutationEvents.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL;\n\nfinal class MutationEvents\n{\n    /**\n     * @Event(\"Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\MutationTypeEvent\")\n     *\n     * @var string\n     */\n    const PRE_BUILD = 'pimcore.datahub.graphql.mutation.preBuild';\n\n    /**\n     * @Event(\"Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\MutationTypeEvent\")\n     *\n     * @var string\n     */\n    const POST_BUILD = 'pimcore.datahub.graphql.mutation.postBuild';\n}\n"
  },
  {
    "path": "src/Event/GraphQL/OutputCacheEvents.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL;\n\nfinal class OutputCacheEvents\n{\n    /**\n     * Fired to determine if a response should be cached.\n     *\n     * @Event(\"Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\CachePreLoadEvent\")\n     *\n     * @var string\n     */\n    const PRE_LOAD = 'pimcore.datahub.graphql.cache.preLoad';\n\n    /**\n     * Fired before the response is written to cache. Can be used to set or purge\n     * data on the cached response.\n     *\n     * @Event(\"Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\CachePreSaveEvent\")\n     *\n     * @var string\n     */\n    const PRE_SAVE = 'pimcore.datahub.graphql.cache.preSave';\n}\n"
  },
  {
    "path": "src/Event/GraphQL/PermissionEvents.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL;\n\nfinal class PermissionEvents\n{\n    /**\n     * @Event(\"Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\PermissionEvent\")\n     *\n     * @var string\n     */\n    const PRE_CHECK = 'pimcore.datahub.graphql.permission.preCheck';\n}\n"
  },
  {
    "path": "src/Event/GraphQL/QueryEvents.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL;\n\nfinal class QueryEvents\n{\n    /**\n     * @Event(\"Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\QueryTypeEvent\")\n     *\n     * @var string\n     */\n    const PRE_BUILD = 'pimcore.datahub.graphql.query.preBuild';\n\n    /**\n     * @Event(\"Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\QueryTypeEvent\")\n     *\n     * @var string\n     */\n    const POST_BUILD = 'pimcore.datahub.graphql.query.postBuild';\n}\n"
  },
  {
    "path": "src/Event/IsValidDataObjectTriggerEvent.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Event;\n\nuse Pimcore\\Event\\Model\\ElementEventInterface;\nuse Symfony\\Contracts\\EventDispatcher\\Event;\n\nclass IsValidDataObjectTriggerEvent extends Event\n{\n    protected bool $isValid;\n\n    protected ElementEventInterface $triggerEvent;\n\n    public function getTriggerEvent(): ElementEventInterface\n    {\n        return $this->triggerEvent;\n    }\n\n    public function setTriggerEvent(ElementEventInterface $triggerEvent)\n    {\n        $this->triggerEvent = $triggerEvent;\n\n        return $this;\n    }\n\n    public function setIsValid(bool $value)\n    {\n        $this->isValid = $value;\n    }\n\n    public function getIsValid(): bool\n    {\n        return $this->isValid;\n    }\n}\n"
  },
  {
    "path": "src/Event/Studio/PreResponse/ConfigurationDetailEvent.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Event\\Studio\\PreResponse;\n\nuse Pimcore\\Bundle\\DataHubBundle\\Schema\\ConfigurationDetail;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Event\\AbstractPreResponseEvent;\n\n/**\n * Event fired before returning ConfigurationDetail objects in the API response.\n *\n * This event allows you to add additional attributes to the ConfigurationDetail schema\n * before it's serialized and sent to the client. This is useful for extending\n * the configuration detail information with custom data.\n *\n * Example usage in an EventSubscriber:\n *\n * ```php\n * use Pimcore\\Bundle\\DataHubBundle\\Event\\Studio\\PreResponse\\ConfigurationDetailEvent;\n * use Symfony\\Component\\EventDispatcher\\EventSubscriberInterface;\n *\n * class CustomConfigurationDetailSubscriber implements EventSubscriberInterface\n * {\n *     public static function getSubscribedEvents(): array\n *     {\n *         return [\n *             ConfigurationDetailEvent::EVENT_NAME => 'onConfigurationDetail',\n *         ];\n *     }\n *\n *     public function onConfigurationDetail(ConfigurationDetailEvent $event): void\n *     {\n *         $configDetail = $event->getConfigurationDetail();\n *\n *         // Add custom attributes to the response\n *         $configDetail->addAdditionalAttribute('lastAccessedBy', 'john.doe');\n *         $configDetail->addAdditionalAttribute('usageCount', 42);\n *         $configDetail->addAdditionalAttribute('environment', 'production');\n *     }\n * }\n * ```\n */\nfinal class ConfigurationDetailEvent extends AbstractPreResponseEvent\n{\n    public const string EVENT_NAME = 'pre_response.data_hub.configuration_detail';\n\n    public function __construct(\n        private readonly ConfigurationDetail $configurationDetail\n    ) {\n        parent::__construct($configurationDetail);\n    }\n\n    /**\n     * Use this to get additional infos out of the response object\n     */\n    public function getConfigurationDetail(): ConfigurationDetail\n    {\n        return $this->configurationDetail;\n    }\n}\n"
  },
  {
    "path": "src/Event/Studio/PreResponse/ConfigurationEvent.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Event\\Studio\\PreResponse;\n\nuse Pimcore\\Bundle\\DataHubBundle\\Schema\\Configuration;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Event\\AbstractPreResponseEvent;\n\nfinal class ConfigurationEvent extends AbstractPreResponseEvent\n{\n    public const string EVENT_NAME = 'pre_response.data_hub.configuration';\n\n    public function __construct(\n        private readonly Configuration $config\n    ) {\n        parent::__construct($config);\n    }\n\n    /**\n     * Use this to get additional infos out of the response object\n     */\n    public function getConfig(): Configuration\n    {\n        return $this->config;\n    }\n}\n"
  },
  {
    "path": "src/Event/Studio/PreResponse/PermissionUserEvent.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Event\\Studio\\PreResponse;\n\nuse Pimcore\\Bundle\\DataHubBundle\\Schema\\PermissionUser;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Event\\AbstractPreResponseEvent;\n\nfinal class PermissionUserEvent extends AbstractPreResponseEvent\n{\n    public const string EVENT_NAME = 'pre_response.data_hub.permission_user';\n\n    public function __construct(\n        private readonly PermissionUser $permissionUser\n    ) {\n        parent::__construct($permissionUser);\n    }\n\n    /**\n     * Use this to get additional infos out of the response object\n     */\n    public function getPermissionUser(): PermissionUser\n    {\n        return $this->permissionUser;\n    }\n}\n"
  },
  {
    "path": "src/Event/Studio/PreResponse/ThumbnailEvent.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Event\\Studio\\PreResponse;\n\nuse Pimcore\\Bundle\\DataHubBundle\\Schema\\Thumbnail;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Event\\AbstractPreResponseEvent;\n\nfinal class ThumbnailEvent extends AbstractPreResponseEvent\n{\n    public const string EVENT_NAME = 'pre_response.data_hub.thumbnail';\n\n    public function __construct(\n        private readonly Thumbnail $thumbnail\n    ) {\n        parent::__construct($thumbnail);\n    }\n\n    /**\n     * Use this to get additional infos out of the response object\n     */\n    public function getThumbnail(): Thumbnail\n    {\n        return $this->thumbnail;\n    }\n}\n"
  },
  {
    "path": "src/EventListener/DataChangeListener.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\EventListener;\n\nuse Pimcore\\Bundle\\DataHubBundle\\Configuration;\nuse Pimcore\\Bundle\\DataHubBundle\\WorkspaceHelper;\nuse Pimcore\\Event\\AssetEvents;\nuse Pimcore\\Event\\DataObjectEvents;\nuse Pimcore\\Event\\DocumentEvents;\nuse Pimcore\\Event\\Model\\AssetEvent;\nuse Pimcore\\Event\\Model\\DataObjectEvent;\nuse Pimcore\\Event\\Model\\DocumentEvent;\nuse Pimcore\\Model\\Element\\ValidationException;\nuse Symfony\\Component\\EventDispatcher\\EventSubscriberInterface;\n\n/**\n * @internal\n */\nfinal class DataChangeListener implements EventSubscriberInterface\n{\n    public static function getSubscribedEvents(): array\n    {\n        return [\n            DataObjectEvents::POST_UPDATE => 'onObjectUpdate',\n            DataObjectEvents::POST_DELETE => 'onObjectDelete',\n            DocumentEvents::POST_UPDATE => 'onDocumentUpdate',\n            DocumentEvents::POST_DELETE => 'onDocumentDelete',\n            AssetEvents::POST_UPDATE => 'onAssetUpdate',\n            AssetEvents::POST_DELETE => 'onAssetDelete',\n        ];\n    }\n\n    /**\n     *\n     * @throws ValidationException\n     */\n    public function onObjectUpdate(DataObjectEvent $e)\n    {\n        if (!$e->hasArgument('oldPath')) {\n            return;\n        }\n\n        $object = $e->getObject();\n        $oldPath = $e->getArgument('oldPath');\n\n        $this->checkConfiguration(WorkspaceHelper::MODIFY_SPACE_OBJECT, WorkspaceHelper::MODIFY_TYPE_REPLACE, $oldPath, $object->getRealFullPath());\n    }\n\n    /**\n     *\n     * @throws ValidationException\n     */\n    public function onObjectDelete(DataObjectEvent $e)\n    {\n        $object = $e->getObject();\n\n        $this->checkConfiguration(WorkspaceHelper::MODIFY_SPACE_OBJECT, WorkspaceHelper::MODIFY_TYPE_DELETE, $object->getRealFullPath(), null);\n    }\n\n    /**\n     *\n     * @throws ValidationException\n     */\n    public function onDocumentUpdate(DocumentEvent $e)\n    {\n        if (!$e->hasArgument('oldPath')) {\n            return;\n        }\n\n        $document = $e->getDocument();\n        $oldPath = $e->getArgument('oldPath');\n\n        $this->checkConfiguration(WorkspaceHelper::MODIFY_SPACE_DOCUMENT, WorkspaceHelper::MODIFY_TYPE_REPLACE, $oldPath, $document->getRealFullPath());\n    }\n\n    /**\n     *\n     * @throws ValidationException\n     */\n    public function onDocumentDelete(DocumentEvent $e)\n    {\n        $object = $e->getDocument();\n\n        $this->checkConfiguration(WorkspaceHelper::MODIFY_SPACE_DOCUMENT, WorkspaceHelper::MODIFY_TYPE_DELETE, $object->getRealFullPath(), null);\n    }\n\n    /**\n     *\n     * @throws ValidationException\n     */\n    public function onAssetUpdate(AssetEvent $e)\n    {\n        if (!$e->hasArgument('oldPath')) {\n            return;\n        }\n\n        $asset = $e->getAsset();\n        $oldPath = $e->getArgument('oldPath');\n\n        $this->checkConfiguration(WorkspaceHelper::MODIFY_SPACE_ASSET, WorkspaceHelper::MODIFY_TYPE_REPLACE, $oldPath, $asset->getRealFullPath());\n    }\n\n    /**\n     *\n     * @throws ValidationException\n     */\n    public function onAssetDelete(AssetEvent $e)\n    {\n        $asset = $e->getAsset();\n\n        $this->checkConfiguration(WorkspaceHelper::MODIFY_SPACE_ASSET, WorkspaceHelper::MODIFY_TYPE_DELETE, $asset->getRealFullPath(), null);\n    }\n\n    /**\n     * @param string      $dataType\n     * @param string      $modificationType\n     * @param string      $searchValue\n     * @param string|null $replaceValue\n     *\n     * @throws ValidationException\n     */\n    protected function checkConfiguration($dataType, $modificationType, $searchValue, $replaceValue)\n    {\n        $configList = Configuration::getList();\n\n        foreach ($configList as $configurationEntity) {\n            try {\n                $entity = WorkspaceHelper::modifyWorkspaceRowByType($configurationEntity, $dataType, $modificationType, $searchValue, $replaceValue);\n            } catch (\\Throwable $e) {\n                throw new ValidationException(sprintf('Could not modify workspace row: %s', $e->getMessage()), 0, $e);\n            }\n\n            if (!$entity instanceof Configuration) {\n                continue;\n            }\n\n            try {\n                $entity->save();\n            } catch (\\Throwable $e) {\n                throw new ValidationException(sprintf('Could not save configuration: %s', $e->getMessage()), 0, $e);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/EventSubscriber/StudioContextPermissionsSubscriber.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\EventSubscriber;\n\nuse Pimcore\\Bundle\\StudioBackendBundle\\Perspective\\Model\\ContextPermissionData;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Perspective\\Service\\ContextPermissionsServiceInterface;\nuse Symfony\\Component\\EventDispatcher\\EventSubscriberInterface;\nuse Symfony\\Component\\HttpKernel\\KernelEvents;\n\n/**\n * @internal\n */\nfinal readonly class StudioContextPermissionsSubscriber implements EventSubscriberInterface\n{\n    public function __construct(\n        private ContextPermissionsServiceInterface $permissionsService,\n    ) {\n    }\n\n    public static function getSubscribedEvents(): array\n    {\n        return [\n            KernelEvents::CONTROLLER => 'addContextPermissions',\n        ];\n    }\n\n    public function addContextPermissions(): void\n    {\n        $this->permissionsService->add(\n            new ContextPermissionData('dataHubConfiguration', 'automationIntegration')\n        );\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/AssetType/AssetEmbeddedMetaInfoItem.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\AssetType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\n/**\n * @internal\n */\nfinal class AssetEmbeddedMetaInfoItem extends ObjectType\n{\n    use ServiceTrait;\n\n    /**\n     * @param array $config\n     */\n    public function __construct(Service $graphQlService, $config = [])\n    {\n        $this->graphQlService = $graphQlService;\n        $config['name'] = 'asset_embeddedMetaInfo_item';\n        $this->build($config);\n        parent::__construct($config);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $config['fields'] = [\n            'name' => Type::string(),\n            'value' => Type::string(),\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/AssetType/AssetFolderType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\AssetType;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\General\\FolderType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\n\n/**\n * @internal\n */\nfinal class AssetFolderType extends FolderType\n{\n    /**\n     * @param array $config\n     * @param array $context\n     */\n    public function __construct(Service $graphQlService, $config = [], $context = [])\n    {\n        parent::__construct($graphQlService, ['name' => 'asset_folder'], $context);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $propertyType = $this->getGraphQlService()->buildGeneralType('element_property');\n        $assetTree = $this->getGraphQlService()->buildGeneralType('asset_tree');\n        $elementResolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\Element('asset', $this->getGraphQlService());\n\n        $config['fields'] = [\n            'id' => ['name' => 'id',\n                'type' => Type::id(),\n            ],\n            'filename' => Type::string(),\n            'fullpath' => [\n                'type' => Type::string(),\n                'args' => [\n                    'thumbnail' => ['type' => Type::string()],\n\n                ],\n            ],\n            'creationDate' => [\n                'type' => Type::string(),\n                'resolve' => [$elementResolver, 'resolveCreationDate'],\n            ],\n            'modificationDate' => [\n                'type' => Type::string(),\n                'resolve' => [$elementResolver, 'resolveModificationDate'],\n            ],\n            'properties' => [\n                'type' => Type::listOf($propertyType),\n                'args' => [\n                    'keys' => [\n                        'type' => Type::listOf(Type::string()),\n                        'description' => 'comma seperated list of key names',\n                    ],\n                ],\n                'resolve' => [$elementResolver, 'resolveProperties'],\n            ],\n            'parent' => [\n                'type' => $this,\n                'resolve' => [$elementResolver, 'resolveParent'],\n            ],\n            'children' => [\n                'type' => Type::listOf($assetTree),\n                'resolve' => [$elementResolver, 'resolveChildren'],\n            ],\n            '_siblings' => [\n                'type' => Type::listOf($assetTree),\n                'resolve' => [$elementResolver, 'resolveSiblings'],\n            ],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/AssetType/AssetInputType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\AssetType;\n\nuse GraphQL\\Type\\Definition\\InputObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementTag;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\n/**\n * @internal\n */\nfinal class AssetInputType extends InputObjectType\n{\n    use ServiceTrait;\n\n    /**\n     * @param array $config\n     * @param array $context\n     */\n    public function __construct(Service $graphQlService, $config = ['name' => 'AssetInput'], $context = [])\n    {\n        $this->setGraphQLService($graphQlService);\n        $this->build($config);\n        parent::__construct($config);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $config['fields'] = [\n            'filename' => Type::string(),\n            'parentId' => Type::int(),\n            'data' => [\n                'type' => Type::string(),\n            ],\n            'tags' => ElementTag::getElementTagInputTypeDefinition(),\n            'metadata' => [\n                'type' => Type::listOf(new InputObjectType([\n                    'name' => 'MetadataItem',\n                    'fields' => [\n                        'name' => Type::nonNull(Type::string()),\n                        'type' => Type::nonNull(Type::string()),\n                        'data' => Type::string(),\n                        'language' => Type::string(),\n                    ],\n                ])),\n            ],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/AssetType/AssetMetadataItem.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\AssetType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\n/**\n * @internal\n */\nfinal class AssetMetadataItem extends ObjectType\n{\n    use ServiceTrait;\n\n    /**\n     * @param array $config\n     */\n    public function __construct(Service $graphQlService, $config = [])\n    {\n        $this->graphQlService = $graphQlService;\n        $config['name'] = 'asset_metadata_item';\n        $this->build($config);\n        parent::__construct($config);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $config['fields'] = [\n            'name' => Type::string(),\n            'type' => Type::string(),\n            'data' => Type::string(),\n            'language' => Type::string(),\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/AssetType/AssetTreeType.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\AssetType;\n\nuse GraphQL\\Deferred;\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\UnionType;\nuse Pimcore\\Bundle\\CoreBundle\\DependencyInjection\\ContainerAwareInterface;\nuse Pimcore\\Bundle\\CoreBundle\\DependencyInjection\\ContainerAwareTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\Asset;\n\n/**\n * @internal\n */\nfinal class AssetTreeType extends UnionType implements ContainerAwareInterface\n{\n    use ContainerAwareTrait;\n    use ServiceTrait;\n\n    /**\n     * @param array $config\n     */\n    public function __construct(Service $graphQlService, $config = ['name' => 'asset_tree'])\n    {\n        $this->setGraphQLService($graphQlService);\n        parent::__construct($config);\n    }\n\n    /**\n     *\n     * @throws \\Exception\n     */\n    public function getTypes(): array\n    {\n        $types = [];\n        $types[] = $this->getGraphQlService()->buildAssetType('asset');\n        $types[] = $this->getGraphQlService()->getAssetTypeDefinition('_asset_folder');\n\n        return $types;\n    }\n\n    public function resolveType($element, $context, ResolveInfo $info): callable|Deferred|ObjectType|null|string\n    {\n        if (!$element) {\n            return null;\n        }\n        $asset = Asset::getById($element['id']);\n\n        if ($asset instanceof Asset\\Folder) {\n            return $this->getGraphQlService()->getAssetTypeDefinition('_asset_folder');\n        }\n\n        return $this->getGraphQlService()->buildAssetType('asset');\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/AssetType/AssetType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\AssetType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\TypeInterface\\Element;\n\n/**\n * @internal\n */\nfinal class AssetType extends ObjectType\n{\n    use ServiceTrait;\n\n    /**\n     * @var string\n     */\n    protected $fieldname;\n\n    /**\n     * @param array $config\n     * @param array $context\n     *\n     * @throws \\Exception\n     */\n    public function __construct(Service $graphQlService, $config = ['name' => 'asset'], $context = [])\n    {\n        $config['interfaces'] = [Element::getInstance()];\n        $this->setGraphQLService($graphQlService);\n        $this->build($config);\n        parent::__construct($config);\n    }\n\n    /**\n     * @param array $config\n     *\n     * @throws \\Exception\n     */\n    public function build(&$config)\n    {\n        $resolver = new Resolver\\AssetType();\n        $resolver->setGraphQLService($this->getGraphQlService());\n\n        $service = $this->getGraphQlService();\n        $assetTree = $service->buildGeneralType('asset_tree');\n        $assetMetadataItemType = $service->buildAssetType('asset_metadataitem');\n        $assetEmbeddedMetaInfoItemType = $service->buildAssetType('asset_embeddedmetainfoitem');\n        $elementTagType = $service->buildGeneralType('element_tag');\n\n        $propertyType = $this->getGraphQlService()->buildGeneralType('element_property');\n        $elementResolver = new Resolver\\Element('asset', $this->getGraphQlService());\n\n        $dimensionsType = new ObjectType([\n            'name' => 'dimensions',\n            'fields' => [\n                'width' => Type::int(),\n                'height' => Type::int(),\n            ],\n        ]);\n\n        // see https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images#Resolution_switching_Same_size_different_resolutions\n        $resolutionsType = Type::listOf(new ObjectType([\n            'name' => 'resolutions',\n            'fields' => [\n                'url' => Type::string(),\n                'resolution' => Type::float(),\n            ],\n        ]));\n        $resolutionsArgumentsType = [\n            'type' => Type::listOf(Type::float()),\n            'description' => 'List of resolution types [2, 5, ...]',\n            'defaultValue' => [2],\n        ];\n\n        $config['fields'] = [\n            'creationDate' => [\n                'type' => Type::string(),\n                'resolve' => [$resolver, 'resolveCreationDate'],\n            ],\n            'id' => [\n                'name' => 'id',\n                'type' => Type::id(),\n            ],\n            'filename' => Type::string(),\n            'fullpath' => [\n                'type' => Type::string(),\n                'args' => [\n                    'thumbnail' => ['type' => Type::string()],\n                    'format' => ['type' => Type::string()],\n                    'deferred' => ['type' => Type::boolean(), 'defaultValue' => false],\n                ],\n                'resolve' => [$resolver, 'resolvePath'],\n            ],\n            'resolutions' => [\n                'type' => $resolutionsType,\n                'args' => [\n                    'thumbnail' => ['type' => Type::nonNull(Type::string())],\n                    'format' => ['type' => Type::string()],\n                    'types' => $resolutionsArgumentsType,\n                ],\n                'resolve' => [$resolver, 'resolveResolutions'],\n            ],\n            'dimensions' => [\n                'type' => $dimensionsType,\n                'args' => [\n                    'thumbnail' => ['type' => Type::string()],\n                    'format' => ['type' => Type::string()],\n                ],\n                'resolve' => [$resolver, 'resolveDimensions'],\n            ],\n            'duration' => [\n                'type' => Type::float(),\n                'resolve' => [$resolver, 'resolveDuration'],\n            ],\n            'srcset' => [\n                'type' => Type::listOf(new ObjectType([\n                    'name' => 'srcset',\n                    'fields' => [\n                        'descriptor' => Type::string(),\n                        'url' => Type::string(),\n                        'resolutions' => [\n                            'type' => $resolutionsType,\n                            'args' => [\n                                'types' => $resolutionsArgumentsType,\n                            ],\n                            'resolve' => [$resolver, 'resolveResolutions'],\n                        ],\n                    ],\n                ])),\n                'args' => [\n                    'thumbnail' => ['type' => Type::nonNull(Type::string())],\n                    'format' => ['type' => Type::string()],\n                    'deferred' => ['type' => Type::boolean(), 'defaultValue' => false],\n                ],\n                'resolve' => [$resolver, 'resolveSrcSet'],\n            ],\n            'mimetype' => Type::string(),\n            'modificationDate' => [\n                'type' => Type::string(),\n                'resolve' => [$resolver, 'resolveModificationDate'],\n            ],\n            'type' => Type::string(),\n            'filesize' => Type::int(),\n            'version' => [\n                'type' => Type::int(),\n                'resolve' => [$resolver, 'resolveVersion'],\n            ],\n            'data' => [\n                'type' => Type::string(),\n                'args' => [\n                    'thumbnail' => ['type' => Type::string()],\n                    'format' => ['type' => Type::string()],\n                ],\n                'resolve' => [$resolver, 'resolveData'],\n            ],\n            'tags' => [\n                'type' => Type::listOf($elementTagType),\n                'args' => [\n                    'name' => ['type' => Type::string()],\n                ],\n                'resolve' => [$resolver, 'resolveTag'],\n            ],\n            'metadata' => [\n                'type' => Type::listOf($assetMetadataItemType),\n                'args' => [\n                    'language' => ['type' => Type::string()],\n                    'ignore_language' => ['type' => Type::boolean()],\n                ],\n                'resolve' => [$resolver, 'resolveMetadata'],\n            ],\n            'embeddedMetaInfo' => [\n                'type' => Type::listOf($assetEmbeddedMetaInfoItemType),\n                'resolve' => [$resolver, 'resolveEmbeddedMetaInfo'],\n            ],\n            'properties' => [\n                'type' => Type::listOf($propertyType),\n                'args' => [\n                    'keys' => [\n                        'type' => Type::listOf(Type::string()),\n                        'description' => 'comma separated list of key names',\n                    ],\n                ],\n                'resolve' => [$elementResolver, 'resolveProperties'],\n            ],\n            'parent' => [\n                'type' => $assetTree,\n                'resolve' => [$elementResolver, 'resolveParent'],\n            ],\n            'children' => [\n                'type' => Type::listOf($assetTree),\n                'resolve' => [$elementResolver, 'resolveChildren'],\n            ],\n            '_siblings' => [\n                'type' => Type::listOf($assetTree),\n                'resolve' => [$elementResolver, 'resolveSiblings'],\n            ],\n        ];\n    }\n\n    public function getFieldname(): string\n    {\n        return $this->fieldname;\n    }\n\n    public function setFieldname(string $fieldname): void\n    {\n        $this->fieldname = $fieldname;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/BaseDescriptor.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL;\n\nabstract class BaseDescriptor extends \\ArrayObject\n{\n    /**\n     *\n     * ElementDescriptor constructor - an ElementDescriptor describes something that implements\n     * the Pimcore\\Model\\Element\\ElementInterface\n     */\n    public function __construct()\n    {\n        parent::__construct([], self::STD_PROP_LIST | self::ARRAY_AS_PROPS);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/BlockDescriptor.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL;\n\n/**\n * @internal\n */\nfinal class BlockDescriptor extends BaseDescriptor\n{\n}\n"
  },
  {
    "path": "src/GraphQL/ClassTypeDefinitions.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL;\n\nuse Pimcore\\Bundle\\DataHubBundle\\Configuration;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\PimcoreObjectType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Exception\\ClientSafeException;\nuse Pimcore\\Bundle\\DataHubBundle\\PimcoreDataHubBundle;\nuse Pimcore\\Cache\\RuntimeCache;\nuse Pimcore\\Db;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\n\n/**\n * @internal\n */\nfinal class ClassTypeDefinitions\n{\n    /**\n     * @var array\n     */\n    public static $definitions = [];\n\n    /**\n     * @param array $context\n     */\n    public static function build(Service $graphQlService, $context = [])\n    {\n        $db = Db::get();\n        $listing = $db->fetchAllAssociative('SELECT id, name FROM classes');\n        foreach ($listing as $class) {\n            self::$definitions[$class['name']] = $graphQlService->buildDataObjectType($class['name'], [], $context);\n        }\n\n        /**\n         * @var PimcoreObjectType $definition\n         */\n        foreach (self::$definitions as $definition) {\n            $definition->build($context);\n        }\n    }\n\n    /**\n     * @param string|ClassDefinition $class\n     *\n     * @return PimcoreObjectType\n     *\n     * @throws \\Exception\n     */\n    public static function get($class)\n    {\n        $className = is_string($class) ? $class : $class->getName();\n        $result = self::$definitions[$className];\n        if (!$result) {\n            throw new ClientSafeException('type definition ' . $className . ' not found');\n        }\n\n        return $result;\n    }\n\n    /**\n     * @param bool $onlyQueryTypes\n     *\n     * @return array\n     *\n     * @throws \\Exception\n     */\n    public static function getAll($onlyQueryTypes = false)\n    {\n        if ($onlyQueryTypes) {\n            $context = RuntimeCache::get(PimcoreDataHubBundle::RUNTIME_CONTEXT_KEY);\n            /** @var Configuration $configuration */\n            $configuration = $context['configuration'];\n            $types = array_keys($configuration->getConfiguration()['schema']['queryEntities']);\n            $result = [];\n            foreach ($types as $type) {\n                if (isset(self::$definitions[$type])) {\n                    $result[] = self::$definitions[$type];\n                }\n            }\n\n            return $result;\n        }\n\n        return self::$definitions;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/ClassificationstoreFeatureQueryTypeGenerator/Base.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\nabstract class Base\n{\n    use ServiceTrait;\n\n    public function __construct(Service $graphQlService)\n    {\n        $this->setGraphQLService($graphQlService);\n    }\n\n    /**\n     * @return Type\n     */\n    abstract public function getFieldType();\n}\n"
  },
  {
    "path": "src/GraphQL/ClassificationstoreFeatureQueryTypeGenerator/BooleanSelect.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureType\\BooleanSelectType;\n\n/**\n * @internal\n */\nfinal class BooleanSelect extends Base\n{\n    /**\n     * @return BooleanSelectType\n     */\n    public function getFieldType()\n    {\n        return BooleanSelectType::getInstance();\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/ClassificationstoreFeatureQueryTypeGenerator/CalculatedValue.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureType\\StringType;\n\n/**\n * @internal\n */\nfinal class CalculatedValue extends Base\n{\n    /**\n     * @return StringType\n     */\n    public function getFieldType()\n    {\n        return StringType::getInstance('csFeatureCalculatedValue', 'calculatedvalue');\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/ClassificationstoreFeatureQueryTypeGenerator/Checkbox.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureType\\CheckboxType;\n\n/**\n * @internal\n */\nfinal class Checkbox extends Base\n{\n    /**\n     * @return CheckboxType\n     */\n    public function getFieldType()\n    {\n        return CheckboxType::getInstance();\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/ClassificationstoreFeatureQueryTypeGenerator/Country.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureType\\StringType;\n\n/**\n * @internal\n */\nfinal class Country extends Base\n{\n    /**\n     * @return StringType\n     */\n    public function getFieldType()\n    {\n        return StringType::getInstance('csFeatureCountry', 'country');\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/ClassificationstoreFeatureQueryTypeGenerator/Countrymultiselect.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureType\\MultiselectType;\n\n/**\n * @internal\n */\nfinal class Countrymultiselect extends Base\n{\n    /**\n     * @return MultiselectType\n     *\n     * @throws \\Exception\n     */\n    public function getFieldType()\n    {\n        return MultiselectType::getInstance($this->getGraphQlService(), 'csFeatureCountryMultiselect', 'countries');\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/ClassificationstoreFeatureQueryTypeGenerator/Date.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureType\\DateType;\n\n/**\n * @internal\n */\nfinal class Date extends Base\n{\n    /**\n     * @return DateType\n     */\n    public function getFieldType()\n    {\n        return DateType::getInstance();\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/ClassificationstoreFeatureQueryTypeGenerator/Datetime.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureType\\StringType;\n\n/**\n * @internal\n */\nfinal class Datetime extends Base\n{\n    /**\n     * @return StringType\n     */\n    public function getFieldType()\n    {\n        return StringType::getInstance('csFeatureDatetime', 'datetime');\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/ClassificationstoreFeatureQueryTypeGenerator/Input.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureType\\StringType;\n\n/**\n * @internal\n */\nfinal class Input extends Base\n{\n    /**\n     * @return StringType\n     */\n    public function getFieldType()\n    {\n        return StringType::getInstance('csFeatureInput', 'text');\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/ClassificationstoreFeatureQueryTypeGenerator/InputQuantityValue.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureType\\QuantityValueType;\n\n/**\n * @internal\n */\nfinal class InputQuantityValue extends Base\n{\n    /**\n     * @return mixed\n     *\n     * @throws \\Exception\n     */\n    public function getFieldType()\n    {\n        return QuantityValueType::getInstance($this->getGraphQlService(), 'csFeatureInputQuantityValue', 'input_quantity_value', 'inputquantityvalue');\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/ClassificationstoreFeatureQueryTypeGenerator/Language.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureType\\StringType;\n\n/**\n * @internal\n */\nfinal class Language extends Base\n{\n    /**\n     * @return StringType\n     */\n    public function getFieldType()\n    {\n        return StringType::getInstance('csFeatureLanguage', 'language');\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/ClassificationstoreFeatureQueryTypeGenerator/Languagemultiselect.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureType\\MultiselectType;\n\n/**\n * @internal\n */\nfinal class Languagemultiselect extends Base\n{\n    /**\n     * @return MultiselectType\n     *\n     * @throws \\Exception\n     */\n    public function getFieldType()\n    {\n        return MultiselectType::getInstance($this->getGraphQlService(), 'csFeatureLangugeMultiselect', 'languages');\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/ClassificationstoreFeatureQueryTypeGenerator/Multiselect.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureType\\MultiselectType;\n\n/**\n * @internal\n */\nfinal class Multiselect extends Base\n{\n    /**\n     * @return MultiselectType\n     *\n     * @throws \\Exception\n     */\n    public function getFieldType()\n    {\n        return MultiselectType::getInstance($this->getGraphQlService(), 'csFeatureMultiselect');\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/ClassificationstoreFeatureQueryTypeGenerator/Numeric.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureType\\StringType;\n\n/**\n * @internal\n */\nfinal class Numeric extends Base\n{\n    /**\n     * @return StringType\n     */\n    public function getFieldType()\n    {\n        return StringType::getInstance('csFeatureNumeric', 'number');\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/ClassificationstoreFeatureQueryTypeGenerator/QuantityValue.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureType\\QuantityValueType;\n\n/**\n * @internal\n */\nfinal class QuantityValue extends Base\n{\n    /**\n     * @return mixed\n     *\n     * @throws \\Exception\n     */\n    public function getFieldType()\n    {\n        return QuantityValueType::getInstance($this->getGraphQlService(), 'csFeatureQuantityValue', 'quantity_value', 'quantityvalue');\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/ClassificationstoreFeatureQueryTypeGenerator/RgbaColor.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureType\\StringType;\n\n/**\n * @internal\n */\nfinal class RgbaColor extends Base\n{\n    /**\n     * @return StringType\n     */\n    public function getFieldType()\n    {\n        return StringType::getInstance('csFeatureRgbaColor', 'color');\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/ClassificationstoreFeatureQueryTypeGenerator/Select.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureType\\StringType;\n\n/**\n * @internal\n */\nfinal class Select extends Base\n{\n    /**\n     * @return StringType\n     */\n    public function getFieldType()\n    {\n        return StringType::getInstance('csFeatureSelect', 'selection');\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/ClassificationstoreFeatureQueryTypeGenerator/Slider.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureType\\StringType;\n\n/**\n * @internal\n */\nfinal class Slider extends Base\n{\n    /**\n     * @return StringType\n     */\n    public function getFieldType()\n    {\n        return StringType::getInstance('csFeatureSlider', 'slidervalue');\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/ClassificationstoreFeatureQueryTypeGenerator/Textarea.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureType\\StringType;\n\n/**\n * @internal\n */\nfinal class Textarea extends Base\n{\n    /**\n     * @return StringType\n     */\n    public function getFieldType()\n    {\n        return StringType::getInstance('csFeatureTextarea', 'text');\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/ClassificationstoreFeatureQueryTypeGenerator/Time.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureType\\StringType;\n\n/**\n * @internal\n */\nfinal class Time extends Base\n{\n    /**\n     * @return StringType\n     */\n    public function getFieldType()\n    {\n        return StringType::getInstance('csFeatureTime', 'time');\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/ClassificationstoreFeatureQueryTypeGenerator/Wysiwyg.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureType\\StringType;\n\n/**\n * @internal\n */\nfinal class Wysiwyg extends Base\n{\n    /**\n     * @return StringType\n     */\n    public function getFieldType()\n    {\n        return StringType::getInstance('csFeatureWysiwyg', 'text');\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/ClassificationstoreFeatureType/BooleanSelectType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\FeatureDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\TypeInterface\\CsFeature;\n\n/**\n * @internal\n */\nfinal class BooleanSelectType extends ObjectType\n{\n    protected static $instance;\n\n    /**\n     * @return BooleanSelectType\n     */\n    public static function getInstance()\n    {\n        if (!isset(self::$instance)) {\n            $fields = Helper::getCommonFields();\n            $fields['checked'] = [\n                'type' => Type::boolean(),\n                'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                    if ($value instanceof FeatureDescriptor) {\n                        return $value->getValue();\n                    }\n                },\n            ];\n\n            $config =\n                [\n                    'name' => 'csFeatureBooleanSelect',\n                    'interfaces' => [CsFeature::getInstance()],\n                    'fields' => $fields,\n\n                ];\n            self::$instance = new static($config);\n        }\n\n        return self::$instance;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/ClassificationstoreFeatureType/CheckboxType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\FeatureDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\TypeInterface\\CsFeature;\n\n/**\n * @internal\n */\nfinal class CheckboxType extends ObjectType\n{\n    protected static $instance;\n\n    /**\n     * @return CheckboxType\n     */\n    public static function getInstance()\n    {\n        if (!isset(self::$instance)) {\n            $fields = Helper::getCommonFields();\n            $fields['checked'] = [\n                'type' => Type::boolean(),\n                'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                    if ($value instanceof FeatureDescriptor) {\n                        return $value->getValue();\n                    }\n                },\n            ];\n\n            $config =\n                [\n                    'name' => 'csFeatureCheckbox',\n                    'interfaces' => [CsFeature::getInstance()],\n                    'fields' => $fields,\n\n                ];\n            self::$instance = new static($config);\n        }\n\n        return self::$instance;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/ClassificationstoreFeatureType/DateType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureType;\n\nuse Carbon\\Carbon;\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\FeatureDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\TypeInterface\\CsFeature;\n\n/**\n * @internal\n */\nfinal class DateType extends ObjectType\n{\n    /** @var static|null */\n    protected static $instance;\n\n    /**\n     * @return static\n     */\n    public static function getInstance()\n    {\n        if (!isset(self::$instance)) {\n            $fields = Helper::getCommonFields();\n            $fields['date'] = [\n                'type' => Type::string(),\n                'args' => [\n                    ['name' => 'format',\n                        'type' => Type::string(),\n                        'description' => 'see Carbon::format',\n                    ],\n                ],\n                'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                    if ($value instanceof FeatureDescriptor) {\n                        $dateValue = $value->getValue();\n                        if ($dateValue instanceof Carbon) {\n                            if ($args['format']) {\n                                $format = $args['format'];\n                                $formattedValue = $dateValue->format($format);\n                            } else {\n                                $formattedValue = (string)$dateValue;\n                            }\n\n                            return $formattedValue;\n                        }\n                    }\n                },\n            ];\n\n            $config =\n                [\n                    'name' => 'csFeatureDate',\n                    'interfaces' => [CsFeature::getInstance()],\n                    'fields' => $fields,\n\n                ];\n            self::$instance = new static($config);\n        }\n\n        return self::$instance;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/ClassificationstoreFeatureType/Helper.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\FeatureDescriptor;\nuse Pimcore\\Model\\DataObject\\Classificationstore\\KeyConfig;\n\n/**\n * @internal\n */\nfinal class Helper extends ObjectType\n{\n    /**\n     * @return array\n     */\n    public static function getCommonFields()\n    {\n        $fields = [\n            'id' => [\n                'type' => Type::int(),\n                'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                    if ($value instanceof FeatureDescriptor) {\n                        return $value->getId();\n                    }\n                },\n            ],\n            'name' => [\n                'type' => Type::string(),\n                'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                    if ($value instanceof FeatureDescriptor) {\n                        $keyConfig = KeyConfig::getById($value->getId());\n                        if ($keyConfig) {\n                            return $keyConfig->getName();\n                        }\n                    }\n                },\n            ],\n            'title' => [\n                'type' => Type::string(),\n                'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                    if ($value instanceof FeatureDescriptor) {\n                        $keyConfig = KeyConfig::getById($value->getId());\n                        if ($keyConfig) {\n                            return $keyConfig->getTitle();\n                        }\n                    }\n\n                    return null;\n                },\n            ],\n            'description' => [\n                'type' => Type::string(),\n                'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                    if ($value instanceof FeatureDescriptor) {\n                        $keyConfig = KeyConfig::getById($value->getId());\n                        if ($keyConfig) {\n                            return $keyConfig->getDescription();\n                        }\n                    }\n                },\n            ],\n            'type' => [\n                'type' => Type::string(),\n                'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                    if ($value instanceof FeatureDescriptor) {\n                        return $value->getType();\n                    }\n                },\n            ],\n        ];\n\n        return $fields;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/ClassificationstoreFeatureType/MultiselectType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\FeatureDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\TypeInterface\\CsFeature;\n\n/**\n * @internal\n */\nfinal class MultiselectType extends ObjectType\n{\n    protected static $instance = [];\n\n    /**\n     * @param string $fieldname\n     *\n     * @return MultiselectType\n     *\n     */\n    public static function getInstance(Service $service, string $name, $fieldname = 'selections')\n    {\n        if (!isset(self::$instance[$name])) {\n            $fields = Helper::getCommonFields();\n            $fields[$fieldname] = [\n                'type' => Type::listOf(Type::string()),\n                'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                    if ($value instanceof FeatureDescriptor) {\n                        return $value->getValue();\n                    }\n                },\n            ];\n\n            $config =\n                [\n                    'name' => $name,\n                    'interfaces' => [CsFeature::getInstance()],\n                    'fields' => $fields,\n                ];\n            self::$instance[$name] = new static($config);\n        }\n\n        return self::$instance[$name];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/ClassificationstoreFeatureType/QuantityValueType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\FeatureDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\TypeInterface\\CsFeature;\n\n/**\n * @internal\n */\nfinal class QuantityValueType extends ObjectType\n{\n    protected static $instance = [];\n\n    /**\n     *\n     * @return mixed\n     *\n     * @throws \\Exception\n     */\n    public static function getInstance(Service $service, string $name, string $innerType, string $fieldname)\n    {\n        if (!isset(self::$instance[$name])) {\n            $innerType = $service->getDataObjectTypeDefinition($innerType);\n\n            $fields = Helper::getCommonFields();\n            $fields[$fieldname] = [\n                'type' => $innerType,\n                'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                    if ($value instanceof FeatureDescriptor) {\n                        return $value->getValue();\n                    }\n                },\n            ];\n\n            $config =\n                [\n                    'name' => $name,\n                    'interfaces' => [CsFeature::getInstance()],\n                    'fields' => $fields,\n                ];\n            self::$instance[$name] = new static($config);\n        }\n\n        return self::$instance[$name];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/ClassificationstoreFeatureType/StringType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\FeatureDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\TypeInterface\\CsFeature;\n\n/**\n * @internal\n */\nfinal class StringType extends ObjectType\n{\n    protected static $instance = [];\n\n    /**\n     *\n     * @return StringType\n     */\n    public static function getInstance(string $name, string $valueField)\n    {\n        if (!isset(self::$instance[$name])) {\n            $fields = Helper::getCommonFields();\n            $fields[$valueField] = [\n                'type' => Type::string(),\n                'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                    if ($value instanceof FeatureDescriptor) {\n                        return $value->getValue();\n                    }\n                },\n            ];\n\n            $config =\n                [\n                    'name' => $name,\n                    'interfaces' => [CsFeature::getInstance()],\n                    'fields' => $fields,\n\n                ];\n            self::$instance[$name] = new static($config);\n        }\n\n        return self::$instance[$name];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/ClassificationstoreType/Feature.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreType;\n\nuse GraphQL\\Deferred;\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\UnionType;\nuse Pimcore\\Bundle\\CoreBundle\\DependencyInjection\\ContainerAwareInterface;\nuse Pimcore\\Bundle\\CoreBundle\\DependencyInjection\\ContainerAwareTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Exception\\ClientSafeException;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\FeatureDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\n/**\n * @internal\n */\nfinal class Feature extends UnionType implements ContainerAwareInterface\n{\n    use ContainerAwareTrait;\n    use ServiceTrait;\n\n    /**\n     * @param array $config\n     */\n    public function __construct(Service $graphQlService, $config = ['name' => 'csFeature'])\n    {\n        $this->setGraphQLService($graphQlService);\n\n        parent::__construct($config);\n    }\n\n    /**\n     *\n     * @throws \\Exception\n     */\n    public function getTypes(): array\n    {\n        $service = $this->getGraphQlService();\n        $supportedFeatureTypeNames = $service->getSupportedCsFeatureQueryDataTypes();\n\n        $types = [];\n        foreach ($supportedFeatureTypeNames as $featureTypeName) {\n            $featureType = $service->buildCsFeatureDataQueryType($featureTypeName);\n            $types[] = $featureType;\n        }\n\n        return $types;\n    }\n\n    public function resolveType($element, $context, ResolveInfo $info): callable|Deferred|ObjectType|null|string\n    {\n        if (!$element instanceof FeatureDescriptor) {\n            throw new ClientSafeException('expected feature descriptor');\n        }\n\n        $type = $element->getType();\n\n        $service = $this->getGraphQlService();\n        $resolvedType = $service->buildCsFeatureDataQueryType($type);\n\n        return $resolvedType;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/ClassificationstoreType/Group.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\FeatureDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\DataObject\\Classificationstore;\n\n/**\n * @internal\n */\nfinal class Group extends ObjectType\n{\n    use ServiceTrait;\n\n    /** @var Feature */\n    protected $featureType;\n\n    /**\n     * @param array $config\n     * @param array $context\n     */\n    public function __construct(Service $graphQlService, Feature $featuresType, $config = ['name' => 'csGroup'], $context = [])\n    {\n        $this->setGraphQLService($graphQlService);\n        $this->featureType = $featuresType;\n        $this->build($config);\n        parent::__construct($config);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $resolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\AssetType();\n        $resolver->setGraphQLService($this->getGraphQlService());\n\n        $config['fields'] = [\n            'id' => Type::int(),\n            'name' => Type::string(),\n            'description' => Type::string(),\n            'features' => [\n                'type' => Type::listOf($this->featureType),\n                'resolve' => function ($value, $args, $context = [], ?ResolveInfo $resolveInfo = null) {\n                    /** @var Classificationstore $csValue */\n                    $csValue = $value['_csValue'];\n                    $groupId = $value['id'];\n                    $language = $value['_language'];\n                    if (!$language) {\n                        // Let's try to \"inherit\" the language from what's already been parsed from this query\n                        $language = $this->getGraphQlService()->getLocaleService()->getLocale();\n                        if (!$language) {\n                            $language = 'default';\n                        }\n                    }\n\n                    $keyRelations = new Classificationstore\\KeyGroupRelation\\Listing();\n                    $keyRelations->setCondition('groupId = ' . $groupId);\n                    $keyRelations = $keyRelations->load();\n\n                    $result = [];\n\n                    $service = $this->getGraphQlService();\n                    $supportedFeatureTypeNames = $service->getSupportedCsFeatureQueryDataTypes();\n\n                    foreach ($keyRelations as $keyRelation) {\n                        $keyDataType = $keyRelation->getType();\n                        if (in_array($keyDataType, $supportedFeatureTypeNames)) {\n                            $keyId = $keyRelation->getKeyId();\n                            //TODO maybe add args for this fallback stuff ?\n\n                            $featureValue = $csValue->getLocalizedKeyValue($groupId, $keyId, $language);\n                            $wrappedFeatureValue = new FeatureDescriptor();\n                            $wrappedFeatureValue->setId($keyId);\n                            $wrappedFeatureValue->setType($keyDataType);\n                            $wrappedFeatureValue->setValue($featureValue);\n                            $result[] = $wrappedFeatureValue;\n                        }\n                        //TODO decide whether we want to skip unsupported types (as we do now) or simply add null\n                    }\n\n                    return $result;\n                },\n            ],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectInputProcessor/AdvancedManyToManyObjectRelation.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ElementIdentificationTrait;\nuse Pimcore\\Model\\DataObject\\Concrete;\nuse Pimcore\\Model\\DataObject\\Data\\ObjectMetadata;\nuse Pimcore\\Model\\DataObject\\Fieldcollection\\Data\\AbstractData;\nuse Pimcore\\Model\\Exception\\NotFoundException;\n\n/**\n * @internal\n */\nfinal class AdvancedManyToManyObjectRelation extends Base\n{\n    use ElementIdentificationTrait;\n\n    /**\n     * @param Concrete|AbstractData $object\n     * @param array $newValue\n     * @param array $args\n     * @param array $context\n     *\n     * @throws \\Exception\n     */\n    public function process($object, $newValue, $args, $context, ResolveInfo $info)\n    {\n        $attribute = $this->getAttribute();\n        Service::setValue($object, $attribute, function ($container, $setter, $fieldName) use ($newValue) {\n            $result = [];\n            if (is_array($newValue)) {\n                foreach ($newValue as $newValueItemKey => $newValueItemValue) {\n                    $columns = [];\n                    $element = $this->getElementByTypeAndIdOrPath($newValueItemValue);\n\n                    if ($element) {\n                        $data = [];\n                        $metaData = $newValueItemValue['metadata'] ?? null;\n                        if ($metaData) {\n                            foreach ($metaData as $metaDataKey => $metaDataValue) {\n                                $columns[] = $metaDataValue['name'];\n                                $data[$metaDataValue['name']] = $metaDataValue['value'];\n                            }\n                        }\n                        $concrete = Concrete::getById($element->getId());\n                        $item = new ObjectMetadata($fieldName, $columns, $concrete);\n                        if ($data !== []) {\n                            $item->setData($data);\n                        }\n                        $result[] = $item;\n                    } else {\n                        throw new NotFoundException(\n                            sprintf('Element with id %s or fullpath %s not found',\n                                $newValueItemValue['id'],\n                                $newValueItemValue['fullpath']\n                            )\n                        );\n                    }\n                }\n            }\n\n            return $container->$setter($result);\n        });\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectInputProcessor/AdvancedManyToManyRelation.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ElementIdentificationTrait;\nuse Pimcore\\Model\\DataObject\\Concrete;\nuse Pimcore\\Model\\DataObject\\Data\\ElementMetadata;\nuse Pimcore\\Model\\DataObject\\Fieldcollection\\Data\\AbstractData;\nuse Pimcore\\Model\\Exception\\NotFoundException;\n\n/**\n * @internal\n */\nfinal class AdvancedManyToManyRelation extends Base\n{\n    use ElementIdentificationTrait;\n\n    /**\n     * @param Concrete|AbstractData $object\n     * @param array $newValue\n     * @param array $args\n     * @param array $context\n     *\n     * @throws \\Exception\n     */\n    public function process($object, $newValue, $args, $context, ResolveInfo $info)\n    {\n        $attribute = $this->getAttribute();\n        Service::setValue($object, $attribute, function ($container, $setter, $fieldName) use ($newValue) {\n            $result = [];\n            if (is_array($newValue)) {\n                foreach ($newValue as $newValueItemKey => $newValueItemValue) {\n                    $element = $this->getElementByTypeAndIdOrPath($newValueItemValue);\n\n                    if ($element) {\n                        $data = [];\n                        $columns = [];\n                        $metaData = $newValueItemValue['metadata'] ?? null;\n                        if ($metaData) {\n                            foreach ($metaData as $metaDataKey => $metaDataValue) {\n                                $columns[] = $metaDataValue['name'];\n                                $data[$metaDataValue['name']] = $metaDataValue['value'];\n                            }\n                        }\n                        $item = new ElementMetadata($fieldName, $columns, $element);\n                        if ($data !== []) {\n                            $item->setData($data);\n                        }\n                        $result[] = $item;\n                    } else {\n                        throw new NotFoundException(\n                            sprintf('Element with id %s or fullpath %s not found',\n                                $newValueItemValue['id'],\n                                $newValueItemValue['fullpath']\n                            )\n                        );\n                    }\n                }\n            }\n\n            return $container->$setter($result);\n        });\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectInputProcessor/Base.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\Concrete;\nuse Pimcore\\Model\\DataObject\\Fieldcollection\\Data\\AbstractData;\n\nclass Base\n{\n    use ServiceTrait;\n\n    protected $nodeDef;\n\n    /**\n     * @param array $nodeDef\n     */\n    public function __construct($nodeDef)\n    {\n        $this->nodeDef = $nodeDef;\n    }\n\n    /**\n     * @return mixed\n     */\n    public function getAttribute()\n    {\n        return $this->nodeDef['attributes']['attribute'];\n    }\n\n    /**\n     * @param Concrete|AbstractData $object\n     * @param mixed $newValue\n     * @param array $args\n     * @param array $context\n     *\n     * @throws \\Exception\n     */\n    public function process($object, $newValue, $args, $context, ResolveInfo $info)\n    {\n        $attribute = $this->getAttribute();\n\n        Service::setValue($object, $attribute, function ($container, $setter) use ($newValue) {\n            return $container->$setter($newValue);\n        });\n    }\n\n    /**\n     * @param array $nodeDef\n     *\n     * @return mixed\n     */\n    public function getParentProcessor($nodeDef, ClassDefinition $class)\n    {\n        $nodeDefAttributes = $nodeDef['attributes'];\n        $children = $nodeDefAttributes['children'];\n        if (!$children) {\n            return null;\n        }\n\n        $firstChild = $children[0];\n        $firstChildAttributes = $firstChild['attributes'];\n        $service = $this->getGraphQlService();\n\n        $factories = $service->getDataObjectMutationTypeGeneratorFactories();\n\n        if ($firstChild['isOperator']) {\n            //  we only support the simple case with one child\n            $operatorClass = $firstChildAttributes['class'];\n            $typeName = strtolower($operatorClass);\n            $mutationConfigGenerator = $factories->get('typegenerator_mutationoperator_' . $typeName);\n            $config = $mutationConfigGenerator->getGraphQlMutationOperatorConfig($firstChild, $class);\n        } else {\n            $typeName = $firstChildAttributes['dataType'];\n            $mutationConfigGenerator = $factories->get('typegenerator_dataobjectmutationdatatype_' . $typeName);\n            $config = $mutationConfigGenerator->getGraphQlMutationFieldConfig($firstChild, $class);\n        }\n\n        $result = $config['processor'];\n\n        return $result;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectInputProcessor/BaseOperator.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Model\\DataObject\\Concrete;\nuse Pimcore\\Model\\DataObject\\Fieldcollection\\Data\\AbstractData;\n\nclass BaseOperator extends Base\n{\n    /**\n     * @param array $nodeDef\n     */\n    public function __construct($nodeDef)\n    {\n        parent::__construct($nodeDef);\n    }\n\n    /**\n     * @param Concrete|AbstractData $object\n     * @param array $newValue\n     * @param array $args\n     * @param array $context\n     */\n    public function process($object, $newValue, $args, $context, ResolveInfo $info)\n    {\n        $class = $object->getClass();\n        $parentProcessor = $this->getParentProcessor($this->nodeDef, $class);\n        if ($parentProcessor) {\n            // nothing to do with the value1\n            call_user_func_array($parentProcessor, [$object, $newValue, $args, $context, $info]);\n        }\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectInputProcessor/Date.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor;\n\nuse Carbon\\Carbon;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Model\\DataObject\\Concrete;\nuse Pimcore\\Model\\DataObject\\Fieldcollection\\Data\\AbstractData;\n\n/**\n * @internal\n */\nfinal class Date extends Base\n{\n    /**\n     * @param Concrete|AbstractData $object\n     * @param int|string $newValue\n     * @param array $args\n     * @param array $context\n     *\n     * @throws \\Exception\n     */\n    public function process($object, $newValue, $args, $context, ResolveInfo $info)\n    {\n        $attribute = $this->getAttribute();\n        Service::setValue($object, $attribute, function ($container, $setter) use ($newValue) {\n\n            if ($newValue === '') {\n                $newValue = null;\n            }\n\n            if (!is_null($newValue)) {\n                if (!is_numeric($newValue)) {\n                    $newValue = strtotime($newValue);\n                }\n                $newValue = Carbon::createFromTimestamp($newValue, date_default_timezone_get());\n            }\n\n            return $container->$setter($newValue);\n        });\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectInputProcessor/ExternalImage.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Model\\DataObject\\Concrete;\nuse Pimcore\\Model\\DataObject\\Fieldcollection\\Data\\AbstractData;\n\n/**\n * @internal\n */\nfinal class ExternalImage extends Base\n{\n    /**\n     * @param Concrete|AbstractData $object\n     * @param string $newValue\n     * @param array $args\n     * @param array $context\n     *\n     * @throws \\Exception\n     */\n    public function process($object, $newValue, $args, $context, ResolveInfo $info)\n    {\n        $attribute = $this->getAttribute();\n        Service::setValue($object, $attribute, function ($container, $setter) use ($newValue) {\n            $image = null;\n            if ($newValue) {\n                $image = new \\Pimcore\\Model\\DataObject\\Data\\ExternalImage($newValue);\n            }\n\n            return $container->$setter($image);\n        });\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectInputProcessor/Fieldcollections.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Model\\DataObject\\Concrete;\nuse Pimcore\\Model\\DataObject\\Fieldcollection;\nuse Pimcore\\Model\\DataObject\\Fieldcollection\\Data\\AbstractData;\n\n/**\n * @internal\n */\nfinal class Fieldcollections extends Base\n{\n    /**\n     * @var array\n     */\n    protected $processors;\n\n    public function __construct(array $nodeDef, array $processors)\n    {\n        parent::__construct($nodeDef);\n        $this->processors = $processors;\n    }\n\n    /**\n     * @param Concrete|AbstractData $object\n     * @param array $newValue\n     * @param array $args\n     * @param array $context\n     *\n     * @throws \\Exception\n     */\n    public function process($object, $newValue, $args, $context, ResolveInfo $info)\n    {\n        $attribute = $this->getAttribute();\n        $getter = 'get' . ucfirst($attribute);\n        $setter = 'set' . ucfirst($attribute);\n        $currentCollection = $object->$getter();\n        if ($currentCollection instanceof Fieldcollection) {\n            $currentItems = $currentCollection->getItems() ?: [];\n        } else {\n            $currentItems = [];\n        }\n\n        // auto increment on group level!\n        $autoIdx = 0;\n        $newItems = [];\n\n        if (! ($newValue['replace'] ?? false)) {\n            foreach ($currentItems as $currentItem) {\n                $newItems[$currentItem->getIndex()] = $currentItem;\n            }\n        }\n\n        $itemGroups = $newValue['items'];\n        foreach ($itemGroups as $fcKey => $groupItems) {\n            $typeProcessor = $this->processors[$fcKey] ?? [];\n            foreach ($groupItems as $groupItemData) {\n                if (array_key_exists('index', $groupItemData)) {\n                    $index = $groupItemData['index'];\n                } else {\n                    $index = $autoIdx;\n                    $autoIdx++;\n                }\n\n                $fc = $newItems[$index] ?? null;\n\n                if (!$fc || $fc->getType() != $fcKey) {\n                    // either index does not exist or type does not match\n                    $modelFactory = $this->getGraphQlService()->getModelFactory();\n                    $className = 'Pimcore\\\\Model\\\\DataObject\\\\Fieldcollection\\\\Data\\\\' . ucfirst($fcKey);\n                    /** @var AbstractData $fc */\n                    $fc = $modelFactory->build($className);\n                }\n                $fc->setIndex($index);\n\n                foreach ($groupItemData as $key => $value) {\n                    if (isset($typeProcessor[$key])) {\n                        $processor = $typeProcessor[$key];\n                        call_user_func_array($processor, [$fc, $value, $args, $context, $info]);\n                    }\n                }\n                $newItems[$index] = $fc;\n            }\n        }\n\n        ksort($newItems);\n        $newCollection = new Fieldcollection();\n        $newCollection->setItems($newItems);\n        $object->$setter($newCollection);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectInputProcessor/Geopoint.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Model\\DataObject\\Concrete;\nuse Pimcore\\Model\\DataObject\\Fieldcollection\\Data\\AbstractData;\n\n/**\n * @internal\n */\nfinal class Geopoint extends Base\n{\n    /**\n     * @param Concrete|AbstractData $object\n     * @param array $newValue\n     * @param array $args\n     * @param array $context\n     *\n     * @throws \\Exception\n     */\n    public function process($object, $newValue, $args, $context, ResolveInfo $info)\n    {\n        $attribute = $this->getAttribute();\n        Service::setValue($object, $attribute, function ($container, $setter) use ($newValue) {\n            $geoCoordinates = new \\Pimcore\\Model\\DataObject\\Data\\GeoCoordinates();\n            if ($newValue) {\n                $geoCoordinates->setLongitude($newValue['longitude']);\n                $geoCoordinates->setLatitude($newValue['latitude']);\n            }\n\n            return $container->$setter($geoCoordinates);\n        });\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectInputProcessor/IfEmptyOperator.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Exception\\ClientSafeException;\nuse Pimcore\\Model\\DataObject\\Concrete;\nuse Pimcore\\Model\\DataObject\\Fieldcollection\\Data\\AbstractData;\n\n/**\n * @internal\n */\nfinal class IfEmptyOperator extends BaseOperator\n{\n    /**\n     * @param array $nodeDef\n     */\n    public function __construct($nodeDef)\n    {\n        parent::__construct($nodeDef);\n    }\n\n    /**\n     * @param Concrete|AbstractData $object\n     * @param array $newValue\n     * @param array $args\n     * @param array $context\n     *\n     * @return void|null\n     *\n     * @throws \\Exception|\\UnexpectedValueException\n     */\n    public function process($object, $newValue, $args, $context, ResolveInfo $info)\n    {\n        $class = $object->getClass();\n\n        $nodeDef = $this->nodeDef;\n        $nodeDefAttributes = $nodeDef['attributes'];\n        $children = $nodeDefAttributes['children'];\n        if (!$children) {\n            return null;\n        }\n\n        if (count($children) !== 1) {\n            throw new ClientSafeException('Only one child allowed');\n        }\n\n        $firstChild = $children[0];\n\n        if ($firstChild['isOperator']) {\n            throw new ClientSafeException('First child should not be an operator');\n        }\n\n        $key = $firstChild['attributes']['attribute'];\n        $fieldDefinition = $this->getGraphQlService()->getObjectFieldHelper()->getFieldDefinitionFromKey($class, $key);\n        if ($fieldDefinition) {\n            $valueResolver = $this->getGraphQlService()->buildValueResolverFromAttributes($firstChild);\n            $valueFromChild = $valueResolver->getLabeledValue($object, null);\n\n            if (!$valueFromChild || $fieldDefinition->isEmpty($valueFromChild->value)) {\n                $parentProcessor = $this->getParentProcessor($this->nodeDef, $class);\n                if ($parentProcessor) {\n                    call_user_func_array($parentProcessor, [$object, $newValue, $args, $context, $info]);\n                }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectInputProcessor/Image.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor;\n\nuse GraphQL\\Error\\UserError;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\PimcoreDataHubBundle;\nuse Pimcore\\Model\\Asset;\nuse Pimcore\\Model\\DataObject\\Concrete;\nuse Pimcore\\Model\\DataObject\\Fieldcollection\\Data\\AbstractData;\n\n/**\n * @internal\n */\nfinal class Image extends Base\n{\n    /**\n     * @param Concrete|AbstractData $object\n     * @param array $newValue\n     * @param array $args\n     * @param array $context\n     *\n     * @return void|null\n     *\n     * @throws \\Exception\n     */\n    public function process($object, $newValue, $args, $context, ResolveInfo $info)\n    {\n        $attribute = $this->getAttribute();\n\n        if (!array_key_exists('id', $newValue)) {\n            if (PimcoreDataHubBundle::getNotAllowedPolicy() == PimcoreDataHubBundle::NOT_ALLOWED_POLICY_EXCEPTION) {\n                throw new UserError(\"Field {$attribute}.id was not provided.\");\n            }\n\n            return null;\n        }\n\n        Service::setValue($object, $attribute, function ($container, $setter) use ($newValue) {\n            $image = null;\n\n            if (isset($newValue['id'])) {\n                $asset = Asset::getById($newValue['id']);\n                if ($asset instanceof Asset\\Image) {\n                    $image = $asset;\n                }\n            }\n\n            return $container->$setter($image);\n        });\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectInputProcessor/ImageGallery.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Model\\DataObject\\Concrete;\nuse Pimcore\\Model\\DataObject\\Data\\Hotspotimage;\nuse Pimcore\\Model\\DataObject\\Fieldcollection\\Data\\AbstractData;\n\n/**\n * @internal\n */\nfinal class ImageGallery extends Base\n{\n    /**\n     * @param Concrete|AbstractData $object\n     * @param mixed $newValue\n     * @param array $args\n     * @param array $context\n     *\n     * @throws \\Exception\n     */\n    public function process($object, $newValue, $args, $context, ResolveInfo $info)\n    {\n        $attribute = $this->getAttribute();\n        $getter = 'get' . ucfirst($attribute);\n        $currentGallery = $object->$getter();\n\n        if ($currentGallery instanceof \\Pimcore\\Model\\DataObject\\Data\\ImageGallery) {\n            $currentItems = $currentGallery->getItems() ?: [];\n        } else {\n            $currentItems = [];\n        }\n\n        Service::setValue($object, $attribute, function ($container, $setter) use ($newValue, $currentItems) {\n            $hotspotImages = [];\n            $newGallery = [];\n\n            if ($newValue === null) {\n                return $container->$setter($newGallery);\n            }\n\n            if (! ($newValue['replace'] ?? false)) {\n                foreach ($currentItems as $currentItem) {\n                    if ($currentItem instanceof Hotspotimage) {\n                        $hotspotImages[] = $currentItem;\n                    }\n                }\n            }\n\n            if (is_array($newValue['images'])) {\n                foreach ($newValue['images'] as $imageValue) {\n                    $hotspotImage = new Hotspotimage($imageValue['id']);\n                    $hotspotImages[] = $hotspotImage;\n                }\n\n                $newGallery = new \\Pimcore\\Model\\DataObject\\Data\\ImageGallery($hotspotImages);\n            }\n\n            return $container->$setter($newGallery);\n        });\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectInputProcessor/InputQuantityValue.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Model\\DataObject\\Concrete;\nuse Pimcore\\Model\\DataObject\\Fieldcollection\\Data\\AbstractData;\n\n/**\n * @internal\n */\nfinal class InputQuantityValue extends Base\n{\n    /**\n     * @param Concrete|AbstractData $object\n     * @param array $newValue\n     * @param array $args\n     * @param array $context\n     *\n     * @throws \\Exception\n     */\n    public function process($object, $newValue, $args, $context, ResolveInfo $info)\n    {\n        $attribute = $this->getAttribute();\n        Service::setValue($object, $attribute, function ($container, $setter) use ($newValue) {\n            if ($newValue) {\n                $unit = null;\n                if (isset($newValue['unitId'])) {\n                    $unit = \\Pimcore\\Model\\DataObject\\QuantityValue\\Unit::getById($newValue['unitId']);\n                } elseif (isset($newValue['unit'])) {\n                    $unit = \\Pimcore\\Model\\DataObject\\QuantityValue\\Unit::getByAbbreviation($newValue['unit']);\n                }\n                $inputQuantityValue = new \\Pimcore\\Model\\DataObject\\Data\\InputQuantityValue($newValue['value'], $unit);\n\n                return $container->$setter($inputQuantityValue);\n            }\n\n            return null;\n        });\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectInputProcessor/Link.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Model\\DataObject\\Concrete;\nuse Pimcore\\Model\\DataObject\\Fieldcollection\\Data\\AbstractData;\n\n/**\n * @internal\n */\nfinal class Link extends Base\n{\n    /**\n     * @param Concrete|AbstractData $object\n     * @param mixed $newValue\n     * @param array $args\n     * @param array $context\n     *\n     * @throws \\Exception\n     */\n    public function process($object, $newValue, $args, $context, ResolveInfo $info)\n    {\n        $attribute = $this->getAttribute();\n        Service::setValue($object, $attribute, function ($container, $setter) use ($newValue) {\n            if ($newValue === null) {\n                return $container->$setter(null);\n            }\n\n            if (is_array($newValue)) {\n                $tmpLink = new \\Pimcore\\Model\\DataObject\\Data\\Link();\n\n                foreach ($newValue as $fieldName => $fieldValue) {\n                    $linkSetter = 'set' . ucfirst($fieldName);\n                    $tmpLink->{$linkSetter}($fieldValue);\n                }\n\n                return $container->$setter($tmpLink);\n            }\n\n            return null;\n        });\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectInputProcessor/LocaleCollectorOperator.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Model\\DataObject\\Concrete;\nuse Pimcore\\Model\\DataObject\\Fieldcollection\\Data\\AbstractData;\n\n/**\n * @internal\n */\nfinal class LocaleCollectorOperator extends BaseOperator\n{\n    /**\n     * @param Concrete|AbstractData $object\n     * @param array $newValue\n     * @param array $args\n     * @param array $context\n     */\n    public function process($object, $newValue, $args, $context, ResolveInfo $info)\n    {\n        $localeService = $this->getGraphQlService()->getLocaleService();\n        $currentLocale = $localeService->getLocale();\n\n        foreach ($newValue as $locale => $value) {\n            $localeService->setLocale($locale);\n\n            $class = $object->getClass();\n            $parentProcessor = $this->getParentProcessor($this->nodeDef, $class);\n\n            if ($parentProcessor) {\n                call_user_func_array($parentProcessor, [$object, $value, $args, $context, $info]);\n            }\n        }\n\n        $localeService->setLocale($currentLocale);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectInputProcessor/LocaleSwitcherOperator.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Model\\DataObject\\Concrete;\nuse Pimcore\\Model\\DataObject\\Fieldcollection\\Data\\AbstractData;\n\n/**\n * @internal\n */\nfinal class LocaleSwitcherOperator extends BaseOperator\n{\n    protected $locale;\n\n    /**\n     * @param array $nodeDef\n     */\n    public function __construct($nodeDef)\n    {\n        parent::__construct($nodeDef);\n        $this->locale = $nodeDef['attributes']['locale'];\n    }\n\n    /**\n     * @param Concrete|AbstractData $object\n     * @param array $newValue\n     * @param array $args\n     * @param array $context\n     */\n    public function process($object, $newValue, $args, $context, ResolveInfo $info)\n    {\n        $localeService = $this->getGraphQlService()->getLocaleService();\n\n        $currentLocale = $localeService->getLocale();\n\n        $localeService->setLocale($this->locale);\n\n        $class = $object->getClass();\n        $parentProcessor = $this->getParentProcessor($this->nodeDef, $class);\n        if ($parentProcessor) {\n            call_user_func_array($parentProcessor, [$object, $newValue, $args, $context, $info]);\n        }\n\n        $localeService->setLocale($currentLocale);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectInputProcessor/ManyToManyObjectRelation.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Exception\\ClientSafeException;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ElementIdentificationTrait;\nuse Pimcore\\Model\\DataObject\\Concrete;\nuse Pimcore\\Model\\DataObject\\Fieldcollection\\Data\\AbstractData;\nuse Pimcore\\Model\\Exception\\NotFoundException;\n\n/**\n * @internal\n */\nfinal class ManyToManyObjectRelation extends Base\n{\n    use ElementIdentificationTrait;\n\n    /**\n     * @param Concrete|AbstractData $object\n     * @param array $newValue\n     * @param array $args\n     * @param array $context\n     *\n     * @throws \\Exception\n     */\n    public function process($object, $newValue, $args, $context, ResolveInfo $info)\n    {\n        $attribute = $this->getAttribute();\n        Service::setValue($object, $attribute, function ($container, $setter) use ($newValue) {\n            $result = [];\n            if (is_array($newValue)) {\n                foreach ($newValue as $newValueItemKey => $newValueItemValue) {\n                    if (isset($newValueItemValue['type']) && $newValueItemValue['type'] !== 'object') {\n                        throw new ClientSafeException('expected object type');\n                    }\n\n                    $element = $this->getElementByTypeAndIdOrPath($newValueItemValue, 'object');\n\n                    if ($element) {\n                        $result[] = $element;\n                    } else {\n                        throw new NotFoundException(\n                            sprintf('Element with id %s or fullpath %s not found',\n                                $newValueItemValue['id'],\n                                $newValueItemValue['fullpath']\n                            )\n                        );\n                    }\n                }\n            }\n\n            return $container->$setter($result);\n        });\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectInputProcessor/ManyToManyRelation.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ElementIdentificationTrait;\nuse Pimcore\\Model\\DataObject\\Concrete;\nuse Pimcore\\Model\\DataObject\\Fieldcollection\\Data\\AbstractData;\nuse Pimcore\\Model\\Exception\\NotFoundException;\n\n/**\n * @internal\n */\nfinal class ManyToManyRelation extends Base\n{\n    use ElementIdentificationTrait;\n\n    /**\n     * @param Concrete|AbstractData $object\n     * @param array $newValue\n     * @param array $args\n     * @param array $context\n     *\n     * @throws \\Exception\n     */\n    public function process($object, $newValue, $args, $context, ResolveInfo $info)\n    {\n        $attribute = $this->getAttribute();\n        Service::setValue($object, $attribute, function ($container, $setter) use ($newValue) {\n            $result = [];\n            if (is_array($newValue)) {\n                foreach ($newValue as $newValueItemKey => $newValueItemValue) {\n                    $element = $this->getElementByTypeAndIdOrPath($newValueItemValue);\n\n                    if ($element) {\n                        $result[] = $element;\n                    } else {\n                        throw new NotFoundException(\n                            sprintf('Element with id %s or fullpath %s not found',\n                                $newValueItemValue['id'],\n                                $newValueItemValue['fullpath']\n                            )\n                        );\n                    }\n                }\n            }\n\n            return $container->$setter($result);\n        });\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectInputProcessor/ManyToOneRelation.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ElementIdentificationTrait;\nuse Pimcore\\Model\\DataObject\\Concrete;\nuse Pimcore\\Model\\DataObject\\Fieldcollection\\Data\\AbstractData;\nuse Pimcore\\Model\\Exception\\NotFoundException;\n\n/**\n * @internal\n */\nfinal class ManyToOneRelation extends Base\n{\n    use ElementIdentificationTrait;\n\n    /**\n     * @param Concrete|AbstractData $object\n     * @param array $newValue\n     * @param array $args\n     * @param array $context\n     *\n     * @throws \\Exception\n     */\n    public function process($object, $newValue, $args, $context, ResolveInfo $info): void\n    {\n        $attribute = $this->getAttribute();\n        $me = $this;\n        Service::setValue($object, $attribute, function ($container, $setter) use ($newValue) {\n            $element = null;\n\n            if (is_array($newValue)) {\n                $element = $this->getElementByTypeAndIdOrPath($newValue);\n\n                if (!$element) {\n                    throw new NotFoundException(\n                        sprintf('Element with id %s or fullpath %s not found',\n                            $newValue['id'],\n                            $newValue['fullpath']\n                        )\n                    );\n                }\n            }\n\n            return $container->$setter($element);\n        });\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectInputProcessor/QuantityValue.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Model\\DataObject\\Concrete;\nuse Pimcore\\Model\\DataObject\\Fieldcollection\\Data\\AbstractData;\n\n/**\n * @internal\n */\nfinal class QuantityValue extends Base\n{\n    /**\n     * @param Concrete|AbstractData $object\n     * @param array $newValue\n     * @param array $args\n     * @param array $context\n     *\n     * @throws \\Exception\n     */\n    public function process($object, $newValue, $args, $context, ResolveInfo $info)\n    {\n        $attribute = $this->getAttribute();\n        Service::setValue($object, $attribute, function ($container, $setter) use ($newValue) {\n            if ($newValue) {\n                $value = null;\n                $unit = null;\n                if (isset($newValue['value'])) {\n                    $value = $newValue['value'];\n                }\n                if (isset($newValue['unitId'])) {\n                    $unit = \\Pimcore\\Model\\DataObject\\QuantityValue\\Unit::getById($newValue['unitId']);\n                } elseif (isset($newValue['unit'])) {\n                    $unit = \\Pimcore\\Model\\DataObject\\QuantityValue\\Unit::getByAbbreviation($newValue['unit']);\n                }\n                $quantityValue = new \\Pimcore\\Model\\DataObject\\Data\\QuantityValue($value, $unit);\n\n                return $container->$setter($quantityValue);\n            }\n\n            return null;\n        });\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectInputProcessor/Table.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Model\\DataObject\\Concrete;\nuse Pimcore\\Model\\DataObject\\Fieldcollection\\Data\\AbstractData;\n\n/**\n * @internal\n */\nfinal class Table extends Base\n{\n    /**\n     * @var array\n     */\n    protected $processors;\n\n    public function __construct(array $nodeDef, array $processors)\n    {\n        parent::__construct($nodeDef);\n        $this->processors = $processors;\n    }\n\n    /**\n     * @param Concrete|AbstractData $object\n     * @param mixed $newValue\n     * @param array $args\n     * @param array $context\n     *\n     * @throws \\Exception\n     */\n    public function process($object, $newValue, $args, $context, ResolveInfo $info)\n    {\n        $attribute = $this->getAttribute();\n        $objectBrickParts = Service::parseObjectBrickFieldName($attribute);\n\n        if (empty($objectBrickParts)) {\n            $getter = 'get' . ucfirst($attribute);\n            $currentTable = $object->$getter();\n        } else {\n            $currentTable = Service::getValueFromObjectBrick(\n                $object,\n                $objectBrickParts['brickType'],\n                $objectBrickParts['brickKey'],\n                $objectBrickParts['brickDescriptor'] ?? null\n            );\n        }\n\n        Service::setValue($object, $attribute, function ($container, $setter) use ($newValue, $currentTable) {\n            $newTable = [];\n\n            if ($newValue === null) {\n                return $container->$setter($currentTable);\n            }\n\n            if (! ($newValue['replace'] ?? false)) {\n                if (count($currentTable) > 0) {\n                    foreach ($currentTable as $row) {\n                        $newTable[] = $row;\n                    }\n                } elseif ($tableHeader = $this->processors['tableHeader']) {\n                    $newTable[] = $tableHeader;\n                }\n            } elseif ($tableHeader = $this->processors['tableHeader']) {\n                $newTable[] = $tableHeader;\n            }\n\n            if (is_array($newValue['rows'])) {\n                foreach ($newValue['rows'] as $row) {\n                    $values = array_values($row);\n                    $newTable[] = $values;\n                }\n\n                return $container->$setter($newTable);\n            }\n\n            return null;\n        });\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectMutationFieldConfigGenerator/AdvancedManyToManyObjectRelation.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\ElementDescriptorInputType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\n\n/**\n * @internal\n */\nfinal class AdvancedManyToManyObjectRelation extends Base\n{\n    protected $elementInputType;\n\n    protected $fieldDefinition;\n\n    public function __construct(Service $graphQlService, ElementDescriptorInputType $elementInputType)\n    {\n        $this->elementInputType = $elementInputType;\n        parent::__construct($graphQlService);\n    }\n\n    /** {@inheritdoc } */\n    public function getGraphQlMutationFieldConfig($nodeDef, $class, $container = null, $params = [])\n    {\n        $processor = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor\\AdvancedManyToManyObjectRelation($nodeDef);\n        $processor->setGraphQLService($this->getGraphQlService());\n\n        $inputType = $this->getGraphQlService()->getDataObjectTypeDefinition('elementdescriptor_input');\n\n        return [\n            'arg' => ['type' => Type::listOf($inputType)],\n            'processor' => [$processor, 'process'],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectMutationFieldConfigGenerator/AdvancedManyToManyRelation.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\ElementDescriptorInputType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\n\n/**\n * @internal\n */\nfinal class AdvancedManyToManyRelation extends Base\n{\n    protected $elementInputType;\n\n    protected $fieldDefinition;\n\n    public function __construct(Service $graphQlService, ElementDescriptorInputType $elementInputType)\n    {\n        $this->elementInputType = $elementInputType;\n        parent::__construct($graphQlService);\n    }\n\n    /** {@inheritdoc } */\n    public function getGraphQlMutationFieldConfig($nodeDef, $class, $container = null, $params = [])\n    {\n        $processor = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor\\AdvancedManyToManyRelation($nodeDef);\n        $processor->setGraphQLService($this->getGraphQlService());\n\n        $inputType = $this->getGraphQlService()->getDataObjectTypeDefinition('elementdescriptor_input');\n\n        return [\n            'arg' => ['type' => Type::listOf($inputType)],\n            'processor' => [$processor, 'process'],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectMutationFieldConfigGenerator/Base.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGeneratorInterface;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\n\nclass Base implements DataObjectMutationFieldConfigGeneratorInterface\n{\n    use ServiceTrait;\n\n    public function __construct(Service $graphQlService)\n    {\n        $this->setGraphQLService($graphQlService);\n    }\n\n    /**\n     * @param array $nodeDef\n     * @param ClassDefinition $class\n     * @param mixed $container\n     * @param array $params\n     *\n     * @return array\n     */\n    public function getGraphQlMutationFieldConfig($nodeDef, $class, $container = null, $params = [])\n    {\n        $processor = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor\\Base($nodeDef);\n        $processor->setGraphQLService($this->getGraphQlService());\n\n        return [\n            'arg' => Type::string(),\n            'processor' => [$processor, 'process'],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectMutationFieldConfigGenerator/BooleanSelect.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\Type;\n\n/**\n * @internal\n */\nfinal class BooleanSelect extends Base\n{\n    /** {@inheritdoc } */\n    public function getGraphQlMutationFieldConfig($nodeDef, $class, $container = null, $params = [])\n    {\n        $processor = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor\\Base($nodeDef);\n        $processor->setGraphQLService($this->getGraphQlService());\n\n        return [\n            'arg' => Type::boolean(),\n            'processor' => [$processor, 'process'],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectMutationFieldConfigGenerator/Checkbox.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\Type;\n\n/**\n * @internal\n */\nfinal class Checkbox extends Base\n{\n    /** {@inheritdoc } */\n    public function getGraphQlMutationFieldConfig($nodeDef, $class, $container = null, $params = [])\n    {\n        $processor = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor\\Base($nodeDef);\n        $processor->setGraphQLService($this->getGraphQlService());\n\n        return [\n            'arg' => Type::boolean(),\n            'processor' => [$processor, 'process'],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectMutationFieldConfigGenerator/Date.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\Type;\n\n/**\n * @internal\n */\nfinal class Date extends Base\n{\n    /** {@inheritdoc } */\n    public function getGraphQlMutationFieldConfig($nodeDef, $class, $container = null, $params = [])\n    {\n        $processor = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor\\Date($nodeDef);\n        $processor->setGraphQLService($this->getGraphQlService());\n\n        return [\n            'arg' => Type::string(),\n            'processor' => [$processor, 'process'],\n            'description' => 'Either as unix timestamp (as string) or date string',\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectMutationFieldConfigGenerator/ExternalImage.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\Type;\n\n/**\n * @internal\n */\nfinal class ExternalImage extends Base\n{\n    /** {@inheritdoc } */\n    public function getGraphQlMutationFieldConfig($nodeDef, $class, $container = null, $params = [])\n    {\n        $processor = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor\\ExternalImage($nodeDef);\n        $processor->setGraphQLService($this->getGraphQlService());\n\n        return [\n            'arg' => Type::string(),\n            'processor' => [$processor, 'process'],\n            'description' => 'External Image URL',\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectMutationFieldConfigGenerator/Fieldcollections.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\InputObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data\\Localizedfields;\nuse Pimcore\\Model\\DataObject\\Fieldcollection\\Definition;\n\n/**\n * @internal\n */\nfinal class Fieldcollections extends Base\n{\n    /** @var array */\n    public static $typeCache = [];\n\n    /** {@inheritdoc } */\n    public function getGraphQlMutationFieldConfig($nodeDef, $class, $container = null, $params = [])\n    {\n        $fieldName = $nodeDef['attributes']['attribute'];\n\n        /** @var \\Pimcore\\Model\\DataObject\\ClassDefinition\\Data\\Fieldcollections $fcDef */\n        $fcDef = $class->getFieldDefinition($fieldName);\n\n        $allowedFcTypes = $fcDef->getAllowedTypes();\n        if (!$allowedFcTypes) {\n            $list = new Definition\\Listing();\n            $list = $list->load();\n\n            $allowedFcTypes = [];\n            foreach ($list as $fcDef) {\n                $allowedFcTypes[] = $fcDef->getKey();\n            }\n        }\n\n        $groupsInputTypeName = 'fieldcollections_' . $fieldName . '_groups_input';\n\n        $groupsInputFields = [];\n\n        $fieldProcessors = [];\n\n        foreach ($allowedFcTypes as $allowedFcType) {\n            $fcDef = Definition::getByKey($allowedFcType);\n\n            $listInputTypeName = 'fieldcollections_' . $fieldName . '_' . $allowedFcType . '_input';\n\n            $inputFields = [];\n\n            $this->generateInputFieldsAndProcessors($inputFields, $processors, $fcDef);\n\n            $inputFields['index'] = Type::int();\n\n            // groups\n            $listItemType = new InputObjectType([\n                'name' => $listInputTypeName,\n                'fields' => $inputFields,\n            ]);\n            $groupsInputFields[$allowedFcType] = Type::listOf($listItemType);\n            $fieldProcessors[$allowedFcType] = $processors;\n        }\n\n        $groupsInputType = new InputObjectType([\n            'name' => $groupsInputTypeName,\n            'fields' => $groupsInputFields,\n        ]);\n\n        $inputTypeName = 'fieldcollections_' . $fieldName . '_input';\n\n        $inputType = self::$typeCache[$inputTypeName] ?? null;\n\n        if (!$inputType) {\n            $inputType = new InputObjectType([\n                'name' => $inputTypeName,\n                'fields' => [\n                    'replace' => [\n                        'type' => Type::boolean(),\n                        'description' => 'if true then the entire item list will be overwritten',\n                    ],\n                    'items' => $groupsInputType,\n                ],\n            ]);\n            self::$typeCache[$inputTypeName] = $inputType;\n        }\n\n        $processor = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor\\Fieldcollections($nodeDef, $fieldProcessors);\n        $processor->setGraphQLService($this->getGraphQlService());\n\n        return [\n            'arg' => $inputType,\n            'processor' => [$processor, 'process'],\n        ];\n    }\n\n    /**\n     * @param array $inputFields\n     * @param array $processors\n     */\n    public function generateInputFieldsAndProcessors(&$inputFields, &$processors, Definition $fcDef)\n    {\n        $fcFieldDefinitions = $fcDef->getFieldDefinitions();\n        $fieldHelper = $this->getGraphQlService()->getObjectFieldHelper();\n\n        foreach ($fcFieldDefinitions as $fcFieldDef) {\n            if ($fcFieldDef instanceof Localizedfields) {\n                $localizedDefs = $fcFieldDef->getFieldDefinitions();\n                foreach ($localizedDefs as $localizedDef) {\n                    $nodeDef = [\n                        'attributes' => [\n                            'attribute' => $localizedDef->getName(),\n                            'label' => $localizedDef->getTitle() ?? $localizedDef->getName(),\n                            'dataType' => $localizedDef->getFieldtype(),\n                            'layout' => $localizedDef,\n                        ],\n                    ];\n                    $result = $fieldHelper->getMutationFieldConfigFromConfig($nodeDef, $fcDef);\n                    if ($result) {\n                        $inputFields[$result['key']] = $result['arg'];\n                        $processor = $result['processor'];\n                        $processors[$result['key']] = $processor;\n                    }\n                }\n            } else {\n                $nodeDef = [\n                    'attributes' => [\n                        'attribute' => $fcFieldDef->getName(),\n                        'label' => $fcFieldDef->getTitle() ?? $fcFieldDef->getName(),\n                        'dataType' => $fcFieldDef->getFieldtype(),\n                        'layout' => $fcFieldDef,\n                    ],\n                ];\n\n                $result = $fieldHelper->getMutationFieldConfigFromConfig($nodeDef, $fcDef);\n                if ($result) {\n                    $inputFields[$result['key']] = $result['arg'];\n                    $processor = $result['processor'];\n                    $processors[$result['key']] = $processor;\n                }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectMutationFieldConfigGenerator/Geopoint.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator;\n\n/**\n * @internal\n */\nfinal class Geopoint extends Base\n{\n    /** {@inheritdoc } */\n    public function getGraphQlMutationFieldConfig($nodeDef, $class, $container = null, $params = [])\n    {\n        $processor = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor\\Geopoint($nodeDef);\n        $processor->setGraphQLService($this->getGraphQlService());\n\n        return [\n            'arg' => $this->getGraphQlService()->getDataObjectTypeDefinition('geopoint_input'),\n            'processor' => [$processor, 'process'],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectMutationFieldConfigGenerator/Image.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator;\n\n/**\n * @internal\n */\nfinal class Image extends Base\n{\n    /** {@inheritdoc } */\n    public function getGraphQlMutationFieldConfig($nodeDef, $class, $container = null, $params = [])\n    {\n        $processor = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor\\Image($nodeDef);\n        $processor->setGraphQLService($this->getGraphQlService());\n\n        return [\n            'arg' => $this->getGraphQlService()->getDataObjectTypeDefinition('image_input'),\n            'processor' => [$processor, 'process'],\n            'description' => 'Asset ID',\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectMutationFieldConfigGenerator/ImageGallery.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\InputObjectType;\nuse GraphQL\\Type\\Definition\\Type;\n\n/**\n * @internal\n */\nfinal class ImageGallery extends Base\n{\n    /** {@inheritdoc } */\n    public function getGraphQlMutationFieldConfig($nodeDef, $class, $container = null, $params = [])\n    {\n        $processor = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor\\ImageGallery($nodeDef);\n        $processor->setGraphQLService($this->getGraphQlService());\n\n        $imageInput = new InputObjectType([\n            'name' => 'GalleryImageInput',\n            'fields' => [\n                'id' => Type::int(),\n            ],\n        ]);\n\n        $inputType = new InputObjectType([\n            'name' => 'ImageGalleryInput',\n            'fields' => [\n                'replace' => [\n                    'type' => Type::boolean(),\n                    'description' => 'if true then the entire gallery list will be overwritten',\n                ],\n                'images' => [\n                    'type' => Type::listOf($imageInput),\n                ],\n            ],\n        ]);\n\n        return [\n            'arg' => $inputType,\n            'processor' => [$processor, 'process'],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectMutationFieldConfigGenerator/InputQuantityValue.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator;\n\n/**\n * @internal\n */\nfinal class InputQuantityValue extends Base\n{\n    /** {@inheritdoc } */\n    public function getGraphQlMutationFieldConfig($nodeDef, $class, $container = null, $params = [])\n    {\n        $processor = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor\\InputQuantityValue($nodeDef);\n        $processor->setGraphQLService($this->getGraphQlService());\n\n        return [\n            'arg' => $this->getGraphQlService()->getDataObjectTypeDefinition('input_quantity_value_input'),\n            'processor' => [$processor, 'process'],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectMutationFieldConfigGenerator/Link.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator;\n\n/**\n * @internal\n */\nfinal class Link extends Base\n{\n    /** {@inheritdoc } */\n    public function getGraphQlMutationFieldConfig($nodeDef, $class, $container = null, $params = [])\n    {\n        $processor = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor\\Link($nodeDef);\n        $processor->setGraphQLService($this->getGraphQlService());\n\n        return [\n            'arg' => $this->getGraphQlService()->getDataObjectTypeDefinition('link_input'),\n            'processor' => [$processor, 'process'],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectMutationFieldConfigGenerator/ManyToManyObjectRelation.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\ElementDescriptorInputType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\n\n/**\n * @internal\n */\nfinal class ManyToManyObjectRelation extends Base\n{\n    protected $elementInputType;\n\n    public function __construct(Service $graphQlService, ElementDescriptorInputType $elementInputType)\n    {\n        $this->elementInputType = $elementInputType;\n        parent::__construct($graphQlService);\n    }\n\n    /** {@inheritdoc } */\n    public function getGraphQlMutationFieldConfig($nodeDef, $class, $container = null, $params = [])\n    {\n        $processor = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor\\ManyToManyObjectRelation($nodeDef);\n        $processor->setGraphQLService($this->getGraphQlService());\n\n        $inputType = $this->getGraphQlService()->getDataObjectTypeDefinition('elementdescriptor_input');\n\n        return [\n            'arg' => ['type' => Type::listOf($inputType)],\n            'processor' => [$processor, 'process'],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectMutationFieldConfigGenerator/ManyToManyRelation.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\ElementDescriptorInputType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\n\n/**\n * @internal\n */\nfinal class ManyToManyRelation extends Base\n{\n    protected $elementInputType;\n\n    public function __construct(Service $graphQlService, ElementDescriptorInputType $elementInputType)\n    {\n        $this->elementInputType = $elementInputType;\n        parent::__construct($graphQlService);\n    }\n\n    /** {@inheritdoc } */\n    public function getGraphQlMutationFieldConfig($nodeDef, $class, $container = null, $params = [])\n    {\n        $processor = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor\\ManyToManyRelation($nodeDef);\n        $processor->setGraphQLService($this->getGraphQlService());\n\n        $inputType = $this->getGraphQlService()->getDataObjectTypeDefinition('elementdescriptor_input');\n\n        return [\n            'arg' => ['type' => Type::listOf($inputType)],\n            'processor' => [$processor, 'process'],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectMutationFieldConfigGenerator/ManyToOneRelation.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator;\n\n/**\n * @internal\n */\nfinal class ManyToOneRelation extends Base\n{\n    /** {@inheritdoc } */\n    public function getGraphQlMutationFieldConfig($nodeDef, $class, $container = null, $params = [])\n    {\n        $processor = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor\\ManyToOneRelation($nodeDef);\n        $processor->setGraphQLService($this->getGraphQlService());\n\n        return [\n            'arg' => $this->getGraphQlService()->getDataObjectTypeDefinition('elementdescriptor_input'),\n            'processor' => [$processor, 'process'],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectMutationFieldConfigGenerator/Multiselect.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\Type;\n\n/**\n * @internal\n */\nfinal class Multiselect extends Base\n{\n    /** {@inheritdoc } */\n    public function getGraphQlMutationFieldConfig($nodeDef, $class, $container = null, $params = [])\n    {\n        $processor = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor\\Base($nodeDef);\n        $processor->setGraphQLService($this->getGraphQlService());\n\n        return [\n            'arg' => Type::listOf(Type::string()),\n            'processor' => [$processor, 'process'],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectMutationFieldConfigGenerator/Numeric.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\n/**\n * @internal\n */\nfinal class Numeric extends Base\n{\n    /** {@inheritdoc } */\n    public function getGraphQlMutationFieldConfig($nodeDef, $class, $container = null, $params = [])\n    {\n        $processor = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor\\Base($nodeDef);\n        $processor->setGraphQLService($this->getGraphQlService());\n\n        $type = Type::float();\n        $nodeAttributes = $nodeDef['attributes'];\n        $key = $nodeAttributes['attribute'];\n        $fieldDefinition = $this->getGraphQlService()->getObjectFieldHelper()->getFieldDefinitionFromKey($class, $key);\n        if ($fieldDefinition instanceof Data\\Numeric) {\n            if ($fieldDefinition->getInteger()) {\n                $type = Type::int();\n            }\n        }\n\n        return [\n            'arg' => $type,\n            'processor' => [$processor, 'process'],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectMutationFieldConfigGenerator/QuantityValue.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator;\n\n/**\n * @internal\n */\nfinal class QuantityValue extends Base\n{\n    /** {@inheritdoc } */\n    public function getGraphQlMutationFieldConfig($nodeDef, $class, $container = null, $params = [])\n    {\n        $processor = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor\\QuantityValue($nodeDef);\n        $processor->setGraphQLService($this->getGraphQlService());\n\n        return [\n            'arg' => $this->getGraphQlService()->getDataObjectTypeDefinition('quantity_value_input'),\n            'processor' => [$processor, 'process'],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectMutationFieldConfigGenerator/Table.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\InputObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\n/**\n * @internal\n */\nfinal class Table extends Base\n{\n    /** {@inheritdoc } */\n    public function getGraphQlMutationFieldConfig($nodeDef, $class, $container = null, $params = [])\n    {\n        $fieldName = $nodeDef['attributes']['attribute'];\n        $tableDef = $this->getGraphQlService()->getObjectFieldHelper()->getFieldDefinitionFromKey($class, $fieldName);\n        $inputItems = [];\n        $numCols = 0;\n\n        if ($tableDef instanceof Data\\Table) {\n            $numCols = (int) $tableDef->getCols();\n        }\n\n        $this->getProcessors($processors, $tableDef);\n\n        $processor = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor\\Table($nodeDef, $processors);\n        $processor->setGraphQLService($this->getGraphQlService());\n\n        foreach (range(0, $numCols - 1) as $i) {\n            $inputItems['col' . $i] = Type::string();\n        }\n\n        $rowInput = new InputObjectType([\n            'name' => 'RowInput',\n            'fields' => $inputItems,\n        ]);\n\n        $inputType = new InputObjectType([\n            'name' => 'TableInput',\n            'fields' => [\n                'replace' => [\n                    'type' => Type::boolean(),\n                    'description' => 'if true then the entire table will be overwritten',\n                ],\n                'rows' => [\n                    'type' => Type::listOf($rowInput),\n                ],\n            ],\n        ]);\n\n        return [\n            'arg' => $inputType,\n            'processor' => [$processor, 'process'],\n        ];\n    }\n\n    public function getProcessors(&$processors, $tableDef)\n    {\n        $tableHeaderStr = $tableDef->getData();\n        $tableHeader = [];\n\n        if (strlen($tableHeaderStr) > 0) {\n            $tableHeader = explode('|', $tableHeaderStr);\n        }\n\n        $processors = ['tableHeader' => $tableHeader];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectMutationFieldConfigGeneratorInterface.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL;\n\ninterface DataObjectMutationFieldConfigGeneratorInterface\n{\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectMutationOperatorConfigGenerator/Base.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationOperatorConfigGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\n\nabstract class Base\n{\n    use ServiceTrait;\n\n    public function __construct(Service $graphQlService)\n    {\n        $this->graphQlService = $graphQlService;\n    }\n\n    /**\n     * @param array $nodeDef\n     *\n     * @return mixed\n     */\n    public function resolveInputTypeFromNodeDef($nodeDef, ClassDefinition $class)\n    {\n        $nodeDefAttributes = $nodeDef['attributes'];\n        $children = $nodeDefAttributes['children'];\n\n        $firstChild = $children[0];\n        $firstChildAttributes = $firstChild['attributes'];\n        $service = $this->getGraphQlService();\n\n        $factories = $service->getDataObjectMutationTypeGeneratorFactories();\n\n        if ($firstChild['isOperator']) {\n            //  we only support the simple case with one child\n            $operatorClass = $firstChildAttributes['class'];\n            $typeName = strtolower($operatorClass);\n            $mutationConfigGenerator = $factories->get('typegenerator_dataobjectmutationoperator_' . $typeName);\n            $result = $mutationConfigGenerator->resolveInputTypeFromNodeDef($firstChild, $class);\n        } else {\n            $typeName = $firstChildAttributes['dataType'];\n            $mutationConfigGenerator = $factories->get('typegenerator_dataobjectmutationdatatype_' . $typeName);\n            $config = $mutationConfigGenerator->getGraphQlMutationFieldConfig($firstChild, $class);\n            $result = $config['arg'];\n        }\n\n        return $result;\n    }\n\n    /**\n     * @param array $nodeDef\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     * @param array $params\n     *\n     * @return array\n     */\n    public function getGraphQlMutationOperatorConfig($nodeDef, $class = null, $container = null, $params = [])\n    {\n        $processor = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor\\BaseOperator($nodeDef);\n        $processor->setGraphQLService($this->getGraphQlService());\n\n        $typeName = strtolower($nodeDef['attributes']['class']);\n\n        $factories = $this->getGraphQlService()->getDataObjectMutationTypeGeneratorFactories();\n        $factory = $factories->get('typegenerator_' . 'mutation' . 'operator_' . $typeName);\n        $determinedType = $factory->resolveInputTypeFromNodeDef($nodeDef, $class, $container);\n\n        return [\n            'arg' => $determinedType,\n            'processor' => [$processor, 'process'],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectMutationOperatorConfigGenerator/IfEmpty.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationOperatorConfigGenerator;\n\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\n\n/**\n * @internal\n */\nfinal class IfEmpty extends Base\n{\n    /**\n     * @param array $nodeDef\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return array\n     */\n    public function getGraphQlMutationOperatorConfig($nodeDef, $class = null, $container = null, $params = [])\n    {\n        $processor = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor\\IfEmptyOperator($nodeDef);\n        $processor->setGraphQLService($this->getGraphQlService());\n\n        $factories = $this->getGraphQlService()->getDataObjectMutationTypeGeneratorFactories();\n\n        $typeName = strtolower($nodeDef['attributes']['class']);\n        $factory = $factories->get('typegenerator_' . 'dataobjectmutation' . 'operator_' . $typeName);\n        $determinedType = $factory->resolveInputTypeFromNodeDef($nodeDef, $class, $container);\n\n        return [\n            'arg' => $determinedType,\n            'processor' => [$processor, 'process'],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectMutationOperatorConfigGenerator/LocaleCollector.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationOperatorConfigGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor\\LocaleCollectorOperator;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\LocalizedType;\n\n/**\n * @internal\n */\nfinal class LocaleCollector extends Base\n{\n    /**\n     * @param array $nodeDef\n     * @param \\Pimcore\\Model\\DataObject\\ClassDefinition|null $class\n     * @param object|null $container\n     * @param array $params\n     *\n     * @return array\n     */\n    public function getGraphQlMutationOperatorConfig($nodeDef, $class = null, $container = null, $params = [])\n    {\n        $processor = new LocaleCollectorOperator($nodeDef);\n        $processor->setGraphQLService($this->getGraphQlService());\n\n        $factories = $this->getGraphQlService()->getDataObjectMutationTypeGeneratorFactories();\n\n        $typeName = strtolower($nodeDef['attributes']['class']);\n        $factory = $factories->get('typegenerator_dataobjectmutationoperator_' . $typeName);\n        $determinedType = LocalizedType::getInstance(\n            $factory->resolveInputTypeFromNodeDef($nodeDef, $class, $container)\n        );\n\n        return [\n            'arg' => $determinedType,\n            'processor' => [$processor, 'process'],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectMutationOperatorConfigGenerator/LocaleSwitcher.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationOperatorConfigGenerator;\n\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\n\n/**\n * @internal\n */\nfinal class LocaleSwitcher extends Base\n{\n    /**\n     * @param array $nodeDef\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return array\n     */\n    public function getGraphQlMutationOperatorConfig($nodeDef, $class = null, $container = null, $params = [])\n    {\n        $processor = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectInputProcessor\\LocaleSwitcherOperator($nodeDef);\n        $processor->setGraphQLService($this->getGraphQlService());\n\n        $factories = $this->getGraphQlService()->getDataObjectMutationTypeGeneratorFactories();\n\n        $typeName = strtolower($nodeDef['attributes']['class']);\n        $factory = $factories->get('typegenerator_dataobjectmutationoperator_' . $typeName);\n        $determinedType = $factory->resolveInputTypeFromNodeDef($nodeDef, $class, $container);\n\n        return [\n            'arg' => $determinedType,\n            'processor' => [$processor, 'process'],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/AbstractTable.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\StringType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\nuse Pimcore\\Model\\DataObject\\Fieldcollection\\Definition as FieldcollectionDefinition;\nuse Pimcore\\Model\\DataObject\\Objectbrick\\Definition as ObjectbrickDefinition;\n\nabstract class AbstractTable extends Base\n{\n    /**\n     * @param string $attribute\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return array\n     */\n    public function getGraphQlFieldConfig($attribute, Data $fieldDefinition, $class = null, $container = null)\n    {\n        return $this->enrichConfig($fieldDefinition, $class, $attribute, [\n            'name' => $fieldDefinition->getName(),\n            'type' => $this->getFieldType($fieldDefinition, $class, $container),\n            'resolve' => function ($value, $args, $context = [], ?ResolveInfo $resolveInfo = null) use ($fieldDefinition, $attribute) {\n                $result = Service::resolveValue($value, $fieldDefinition, $attribute, $args);\n\n                // The table has no specific definition of columns, so we cannot have a ObjectType in schema for it.\n                // Just return the data JSON encoded\n                if ($resolveInfo->returnType instanceof StringType) {\n                    return json_encode($result);\n                }\n\n                if ($result === null) {\n                    return [];\n                }\n\n                /** @var \\Pimcore\\Model\\DataObject\\Data\\StructuredTable $result */\n                $rows = ($fieldDefinition instanceof Data\\StructuredTable) ? $result->getData() : $result;\n\n                foreach ($rows as &$row) {\n                    $row = array_combine(\n                        array_map(\n                            function ($k) {\n                                return is_numeric($k) ? 'col'. $k : $k;\n                            },\n                            array_keys($row)\n                        ),\n                        $row\n                    );\n                }\n\n                return $rows;\n            },\n        ], $container);\n    }\n\n    /**\n     * @param ClassDefinition|FieldcollectionDefinition|null $class\n     * @param object|null $container\n     *\n     * @return Type\n     */\n    public function getFieldType(Data $fieldDefinition, $class = null, $container = null)\n    {\n        if ($class instanceof ObjectbrickDefinition) {\n            $name = 'objectbrick_' . $class->getKey() . '_' . $fieldDefinition->getFieldType() . '_' . $fieldDefinition->getName();\n        } elseif ($class instanceof FieldcollectionDefinition) {\n            $name = 'fieldcollection_' . $class->getKey() . '_' . $fieldDefinition->getFieldType() . '_' . $fieldDefinition->getName();\n        } else {\n            $name = 'object_' . $class->getName() . '_' . $fieldDefinition->getFieldType() . '_' . $fieldDefinition->getName();\n        }\n\n        $columns = $this->getTableColumns($fieldDefinition);\n        if (empty($columns)) {\n            return Type::string();\n        }\n\n        $type = new ObjectType(\n            [\n                'name' => $name,\n                'fields' => $columns,\n            ]\n        );\n\n        return Type::listOf($type);\n    }\n\n    abstract protected function getTableColumns(Data $fieldDefinition): array;\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/AssetBase.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\nclass AssetBase extends Base\n{\n    /**\n     * @param string $attribute\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return array\n     *\n     * @throws \\Exception\n     */\n    public function getGraphQlFieldConfig($attribute, Data $fieldDefinition, $class = null, $container = null)\n    {\n        return $this->enrichConfig(\n            $fieldDefinition,\n            $class,\n            $attribute,\n            [\n                'name' => $fieldDefinition->getName(),\n                'type' => $this->getFieldType($fieldDefinition, $class, $container),\n                'resolve' => $this->getResolver($attribute, $fieldDefinition, $class),\n            ],\n            $container\n        );\n    }\n\n    /**\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return mixed\n     *\n     * @throws \\Exception\n     */\n    public function getFieldType(Data $fieldDefinition, $class = null, $container = null)\n    {\n        return $this->getGraphQlService()->buildAssetType('asset');\n    }\n\n    /**\n     * @param string $attribute\n     * @param Data $fieldDefinition\n     * @param ClassDefinition $class\n     *\n     * @return array\n     */\n    public function getResolver($attribute, $fieldDefinition, $class)\n    {\n        $resolver = new Helper\\AssetBase($this->getGraphQlService(), $attribute, $fieldDefinition, $class);\n\n        return [$resolver, 'resolve'];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Base.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGeneratorInterface;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\TypeDefinitionInterface;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\nclass Base implements DataObjectQueryFieldConfigGeneratorInterface, TypeDefinitionInterface\n{\n    use ServiceTrait;\n\n    public function __construct(Service $graphQlService)\n    {\n        $this->setGraphQLService($graphQlService);\n    }\n\n    /**\n     * @param string $attribute\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return array\n     */\n    public function getGraphQlFieldConfig($attribute, Data $fieldDefinition, $class = null, $container = null)\n    {\n        return $this->enrichConfig($fieldDefinition, $class, $attribute, [\n            'name' => $fieldDefinition->getName(),\n            'type' => $this->getFieldType($fieldDefinition, $class, $container),\n        ], $container);\n    }\n\n    /**\n     * @param Data $fieldDefinition\n     * @param ClassDefinition $class\n     * @param string $attribute\n     * @param array $graphQLConfig\n     * @param object|null $container\n     *\n     * @return array\n     */\n    public function enrichConfig($fieldDefinition, $class, $attribute, $graphQLConfig, $container = null)\n    {\n        if ($container instanceof Data\\Localizedfields) {\n            $graphQLConfig['args'] = $graphQLConfig['args'] ?? [];\n            $graphQLConfig['args'] = array_merge($graphQLConfig['args'],\n                [\n                    'language' => [\n                        'type' => Type::string(),\n                    ],\n                    'getFallbackLanguageValue' => [\n                        'type' => Type::boolean(),\n                    ],\n            ]);\n        }\n\n        // for non-standard getters we provide a resolve which takes care of the composed x~y~z key. not needed for standard getters.\n        if (strpos($attribute, '~') !== false && !isset($graphQLConfig['resolve'])) {\n            $resolver = new Helper\\Base($this->getGraphQlService(), $attribute, $fieldDefinition, $class);\n            $graphQLConfig['resolve'] = [$resolver, 'resolve'];\n        }\n\n        return $graphQLConfig;\n    }\n\n    /**\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return Type\n     */\n    public function getFieldType(Data $fieldDefinition, $class = null, $container = null)\n    {\n        return Type::string();\n    }\n\n    /**\n     * @param string $attribute\n     * @param Data $fieldDefinition\n     * @param ClassDefinition $class\n     *\n     * @return array|callable(mixed $value, array $args, array $context, \\GraphQL\\Type\\Definition\\ResolveInfo $info): mixed\n     */\n    public function getResolver($attribute, $fieldDefinition, $class)\n    {\n        $resolver = new Helper\\Base($this->getGraphQlService(), $attribute, $fieldDefinition, $class);\n\n        return [$resolver, 'resolve'];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Block.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\BlockDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\BlockEntryType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\FieldcollectionDescriptor;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\nuse Pimcore\\Model\\DataObject\\Concrete;\nuse Pimcore\\Model\\DataObject\\Data\\BlockElement;\nuse Pimcore\\Model\\DataObject\\Objectbrick\\Definition;\nuse Pimcore\\Model\\DataObject\\Service;\n\n/**\n * @internal\n */\nfinal class Block extends Base\n{\n    /**\n     * @param string $attribute\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return array\n     */\n    public function getGraphQlFieldConfig($attribute, Data $fieldDefinition, $class = null, $container = null)\n    {\n        return $this->enrichConfig($fieldDefinition, $class, $attribute, [\n            'name' => $fieldDefinition->getName(),\n            'type' => $this->getFieldType($fieldDefinition, $class, $container),\n            'resolve' => $this->getResolver($attribute, $fieldDefinition, $class),\n        ], $container);\n    }\n\n    /**\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return \\GraphQL\\Type\\Definition\\ListOfType\n     */\n    public function getFieldType(Data $fieldDefinition, $class = null, $container = null)\n    {\n        return Type::listOf(new BlockEntryType($this->getGraphQlService(), $fieldDefinition, $class, []));\n    }\n\n    /**\n     * @param string $attribute\n     * @param Data $fieldDefinition\n     * @param ClassDefinition $class\n     *\n     * @return \\Closure\n     */\n    public function getResolver($attribute, $fieldDefinition, $class)\n    {\n        return function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) use (\n            $fieldDefinition, $attribute\n        ) {\n            $originalValue = $value;\n            $result = [];\n            $isBrick = false;\n            $attributeParts = explode('~', $attribute);\n            $fieldname = $fieldDefinition->getName();\n            $brickDescriptor = null;\n            $brickType = null;\n            $brickKey = null;\n\n            if (count($attributeParts) > 1) {\n                $id = $value['id'];\n                $object = Concrete::getById($id);\n\n                if (!$object) {\n                    return null;\n                }\n\n                $context = ['object' => $object];\n\n                $brickType = $attributeParts[0];\n                if (strpos($brickType, '?') !== false) {\n                    $brickDescriptor = substr($brickType, 1);\n                    $brickDescriptor = json_decode($brickDescriptor, true);\n                    $brickType = $brickDescriptor['containerKey'];\n                }\n                $brickKey = $attributeParts[1];\n\n                $key = Service::getFieldForBrickType($object->getclass(), $brickType);\n\n                $brickClass = Definition::getByKey($brickType);\n\n                if (!$brickClass) {\n                    return null;\n                }\n\n                $context['outerFieldname'] = $key;\n\n                $def = $brickClass->getFieldDefinition($brickKey, $context);\n\n                if (!$def) {\n                    return null;\n                }\n\n                $isBrick = true;\n\n                if (!empty($key)) {\n                    $value = \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service::getValueForObject($object, $key, $brickType, $brickKey, $def, $context, $brickDescriptor, $args);\n                    $fieldDefinition = $def;\n                }\n            } else {\n                $id = $value['id'];\n                $value = $value[$fieldname];\n            }\n\n            if (is_callable($value)) {\n                $value = $value($value, $args, $context, $resolveInfo);\n            }\n\n            if (!$value) {\n                return null;\n            }\n\n            foreach ($value as $blockIndex => $blockEntries) {\n                foreach ($blockEntries as $key => $blockValue) {\n                    if (!$blockValue instanceof BlockElement) {\n                        continue;\n                    }\n\n                    $subDef = $fieldDefinition->getFieldDefinition($key);\n\n                    if (!$subDef) {\n                        continue;\n                    }\n\n                    if ($subDef instanceof Data\\Localizedfields) {\n                        foreach ($subDef->getChildren() as $localizedDef) {\n                            $blockDescriptor = new BlockDescriptor();\n                            $blockDescriptor['id'] = $id;\n                            $blockDescriptor['__blockName'] = $fieldDefinition->getName();\n                            $blockDescriptor['__blockIndex'] = $blockIndex;\n                            $blockDescriptor['__blockFieldName'] = $key;\n                            $blockDescriptor['__localized'] = $localizedDef->getName();\n                            $blockDescriptor['args'] = $args;\n\n                            if ($originalValue instanceof FieldcollectionDescriptor) {\n                                $blockDescriptor['__fcFieldname'] = $originalValue['__fcFieldname'];\n                                $blockDescriptor['__fcType'] = $originalValue['__fcType'];\n                                $blockDescriptor['__itemIdx'] = $originalValue['__itemIdx'];\n                            } elseif ($isBrick) {\n                                $blockDescriptor['__brickDescriptor'] = $brickDescriptor;\n                                $blockDescriptor['__brickType'] = $brickType;\n                                $blockDescriptor['__brickKey'] = $brickKey;\n                            }\n\n                            $result[$blockIndex][$localizedDef->getName()] = $blockDescriptor;\n                        }\n\n                        continue;\n                    }\n\n                    $blockDescriptor = new BlockDescriptor();\n                    $blockDescriptor['id'] = $id;\n                    $blockDescriptor['__blockName'] = $fieldDefinition->getName();\n                    $blockDescriptor['__blockIndex'] = $blockIndex;\n                    $blockDescriptor['__blockFieldName'] = $key;\n                    $blockDescriptor['args'] = $args;\n\n                    if ($originalValue instanceof FieldcollectionDescriptor) {\n                        $blockDescriptor['__fcFieldname'] = $originalValue['__fcFieldname'];\n                        $blockDescriptor['__fcType'] = $originalValue['__fcType'];\n                        $blockDescriptor['__itemIdx'] = $originalValue['__itemIdx'];\n                    } elseif ($isBrick) {\n                        $blockDescriptor['__brickDescriptor'] = $brickDescriptor;\n                        $blockDescriptor['__brickType'] = $brickType;\n                        $blockDescriptor['__brickKey'] = $brickKey;\n                    }\n\n                    $result[$blockIndex][$key] = $blockDescriptor;\n                }\n            }\n\n            return $result;\n        };\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/CalculatedValue.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\n/**\n * Class CalculatedValue\n *\n * @package Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\n *\n * @internal\n */\nfinal class CalculatedValue extends Base\n{\n    /**\n     * @param string $attribute\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return array\n     */\n    public function getGraphQlFieldConfig($attribute, Data $fieldDefinition, $class = null, $container = null)\n    {\n        return $this->enrichConfig(\n            $fieldDefinition,\n            $class,\n            $attribute,\n            [\n                'name' => $fieldDefinition->getName(),\n                'type' => $this->getFieldType($fieldDefinition, $class, $container),\n                'description' => $fieldDefinition->getTooltip(),\n            ],\n            $container\n        );\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Checkbox.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\n/**\n * @internal\n */\nfinal class Checkbox extends Base\n{\n    /**\n     * @param string $attribute\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return array\n     */\n    public function getGraphQlFieldConfig($attribute, Data $fieldDefinition, $class = null, $container = null)\n    {\n        return $this->enrichConfig($fieldDefinition, $class, $attribute, [\n            'name' => $fieldDefinition->getName(),\n            'type' => $this->getFieldType($fieldDefinition, $class, $container),\n        ], $container);\n    }\n\n    /**\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return \\GraphQL\\Type\\Definition\\ScalarType\n     */\n    public function getFieldType(Data $fieldDefinition, $class = null, $container = null)\n    {\n        return Type::boolean();\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Classificationstore.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\ListOfType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\nuse Pimcore\\Model\\DataObject\\Classificationstore\\GroupConfig;\n\n/**\n * @internal\n */\nfinal class Classificationstore extends Base\n{\n    /**\n     * @param string $attribute\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return array\n     */\n    public function getGraphQlFieldConfig($attribute, Data $fieldDefinition, $class = null, $container = null)\n    {\n        return $this->enrichConfig($fieldDefinition, $class, $attribute, [\n            'name' => $fieldDefinition->getName(),\n            'type' => $this->getFieldType($fieldDefinition, $class, $container),\n            'args' => ['language' => ['type' => Type::string()]],\n            'description' => 'returns a list of group containers',\n            'resolve' => function ($value, $args, $context = [], ?ResolveInfo $resolveInfo = null) {\n                $fieldName = $resolveInfo->fieldName;\n                $language = isset($args['language']) ? $args['language'] : null;\n                /** @var \\Pimcore\\Model\\DataObject\\Classificationstore $csField */\n                $csField = $value[$fieldName];\n\n                $fd = new Data\\Classificationstore();\n                $fd->setName($fieldName);\n                $activeGroups = [];\n                $activeGroups = $fd->recursiveGetActiveGroupsIds($csField->getObject(), $activeGroups);\n\n                $result = [];\n                foreach ($activeGroups as $groupId => $enabled) {\n                    // in case group name and description is not needed this can be optimized\n                    // analyze the resolveInfo\n                    $groupConfig = GroupConfig::getById($groupId);\n\n                    if ($groupConfig) {\n                        $result[] = [\n                                'id' => $groupId,\n                                'name' => $groupConfig->getName(),\n                                'description' => $groupConfig->getDescription(),\n                                '_csValue' => $csField,\n                                '_language' => $language,\n                            ];\n                    }\n                }\n\n                return $result;\n            },\n        ], $container);\n    }\n\n    /**\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return ListOfType\n     */\n    public function getFieldType(Data $fieldDefinition, $class = null, $container = null)\n    {\n        $service = $this->getGraphQlService();\n        $groupType = $service->getClassificationStoreTypeDefinition('cs_group');\n\n        return Type::listOf($groupType);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Date.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Exception\\InvalidFieldDefinitionException;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\n/**\n * @internal\n */\nfinal class Date extends Base\n{\n    /**\n     * @param string $attribute\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return array\n     *\n     * @throws InvalidFieldDefinitionException\n     */\n    public function getGraphQlFieldConfig($attribute, Data $fieldDefinition, $class = null, $container = null)\n    {\n        if (!($fieldDefinition instanceof Data\\Date)) {\n            throw new InvalidFieldDefinitionException();\n        }\n\n        return $this->enrichConfig($fieldDefinition, $class, $attribute, [\n            'name' => $fieldDefinition->getName(),\n            'type' => $this->getFieldType($fieldDefinition, $class, $container),\n            'resolve' =>\n                fn ($value, $args, $context = [], ?ResolveInfo $resolveInfo = null) =>\n                $this->getGraphQlService()->getFormattedDateTimeStringFromCarbon(\n                    Service::resolveValue($value, $fieldDefinition, $attribute, $args)\n                ),\n        ], $container);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Datetime.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Exception\\InvalidFieldDefinitionException;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\n/**\n * @internal\n */\nfinal class Datetime extends Base\n{\n    /**\n     * @param string $attribute\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return array\n     *\n     * @throws InvalidFieldDefinitionException\n     */\n    public function getGraphQlFieldConfig($attribute, Data $fieldDefinition, $class = null, $container = null)\n    {\n        if (!($fieldDefinition instanceof Data\\Datetime)) {\n            throw new InvalidFieldDefinitionException();\n        }\n\n        return $this->enrichConfig($fieldDefinition, $class, $attribute, [\n            'name' => $fieldDefinition->getName(),\n            'type' => $this->getFieldType($fieldDefinition, $class, $container),\n            'resolve' =>\n                fn ($value, $args, $context = [], ?ResolveInfo $resolveInfo = null) =>\n                $this->getGraphQlService()->getFormattedDateTimeStringFromCarbon(\n                    Service::resolveValue($value, $fieldDefinition, $attribute, $args)\n                ),\n        ], $container);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Geobounds.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\GeoboundsType;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\n/**\n * @internal\n */\nfinal class Geobounds extends Base\n{\n    /**\n     * @param string $attribute\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return array\n     */\n    public function getGraphQlFieldConfig($attribute, Data $fieldDefinition, $class = null, $container = null)\n    {\n        return $this->enrichConfig($fieldDefinition, $class, $attribute, [\n            'name' => $fieldDefinition->getName(),\n            'type' => $this->getFieldType($fieldDefinition, $class, $container),\n        ], $container);\n    }\n\n    /**\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return GeoboundsType\n     */\n    public function getFieldType(Data $fieldDefinition, $class = null, $container = null)\n    {\n        return GeoboundsType::getInstance();\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Geopoint.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\GeopointType;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\n/**\n * @internal\n */\nfinal class Geopoint extends Base\n{\n    /**\n     * @param string $attribute\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return array\n     */\n    public function getGraphQlFieldConfig($attribute, Data $fieldDefinition, $class = null, $container = null)\n    {\n        return $this->enrichConfig($fieldDefinition, $class, $attribute, [\n            'name' => $fieldDefinition->getName(),\n            'type' => $this->getFieldType($fieldDefinition, $class, $container),\n        ], $container);\n    }\n\n    /**\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return GeopointType\n     */\n    public function getFieldType(Data $fieldDefinition, $class = null, $container = null)\n    {\n        return GeopointType::getInstance();\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Geopolygon.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\ListOfType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\GeopointType;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\n/**\n * @internal\n */\nfinal class Geopolygon extends Base\n{\n    /**\n     * @param string $attribute\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return array\n     */\n    public function getGraphQlFieldConfig($attribute, Data $fieldDefinition, $class = null, $container = null)\n    {\n        return $this->enrichConfig($fieldDefinition, $class, $attribute, [\n            'name' => $fieldDefinition->getName(),\n            'type' => $this->getFieldType($fieldDefinition, $class, $container),\n        ], $container);\n    }\n\n    /**\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return ListOfType\n     */\n    public function getFieldType(Data $fieldDefinition, $class = null, $container = null)\n    {\n        return Type::listOf(GeopointType::getInstance());\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Helper/AssetBase.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Helper;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\BaseDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\WorkspaceHelper;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\nclass AssetBase\n{\n    use ServiceTrait;\n\n    /**\n     * @var Data\n     */\n    public $fieldDefinition;\n\n    /**\n     * @var ClassDefinition\n     */\n    public $class;\n\n    /**\n     * @var string\n     */\n    public $attribute;\n\n    /**\n     * @param string $attribute\n     * @param Data $fieldDefinition\n     * @param ClassDefinition $class\n     */\n    public function __construct(Service $graphQlService, $attribute, $fieldDefinition, $class)\n    {\n        $this->fieldDefinition = $fieldDefinition;\n        $this->class = $class;\n        $this->attribute = $attribute;\n        $this->setGraphQLService($graphQlService);\n    }\n\n    /**\n     * @param BaseDescriptor|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return ElementDescriptor|null\n     *\n     * @throws \\Exception\n     */\n    public function resolve($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $asset = Service::resolveValue($value, $this->fieldDefinition, $this->attribute, $args = []);\n\n        if (!$asset) {\n            return null;\n        }\n\n        $assetElement = $this->getAssetElement($asset);\n\n        if (!WorkspaceHelper::checkPermission($assetElement, 'read')) {\n            return null;\n        }\n\n        $data = new ElementDescriptor($assetElement);\n        $this->getGraphQlService()->extractData($data, $assetElement, $args, $context, $resolveInfo);\n        if (isset($data['data'])) {\n            $data['data'] = base64_encode($data['data']);\n        }\n\n        return $data;\n    }\n\n    /**\n     * Return the actual asset (AbstractElement)\n     *\n     * @param mixed $asset\n     *\n     * @return mixed\n     */\n    public function getAssetElement($asset)\n    {\n        return $asset;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Helper/Base.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Helper;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\BaseDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\nclass Base\n{\n    use ServiceTrait;\n\n    /**\n     * @var Data\n     */\n    public $fieldDefinition;\n\n    /**\n     * @var ClassDefinition\n     */\n    public $class;\n\n    /**\n     * @var string\n     */\n    public $attribute;\n\n    /**\n     * @param string $attribute\n     * @param Data $fieldDefinition\n     * @param ClassDefinition $class\n     */\n    public function __construct(Service $graphQlService, $attribute, $fieldDefinition, $class)\n    {\n        $this->fieldDefinition = $fieldDefinition;\n        $this->class = $class;\n        $this->setGraphQLService($graphQlService);\n        $this->attribute = $attribute;\n    }\n\n    /**\n     * @param BaseDescriptor $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return mixed\n     *\n     * @throws \\Exception\n     */\n    public function resolve($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $result = Service::resolveValue($value, $this->fieldDefinition, $this->attribute, $args);\n\n        return $result;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Helper/Hotspotimage.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Helper;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\BaseDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\WorkspaceHelper;\nuse Pimcore\\Model\\Asset;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\Fieldcollection;\n\n/**\n * Class Hotspotimage\n *\n * @package Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Helper\n *\n * @internal\n */\nfinal class Hotspotimage\n{\n    use ServiceTrait;\n\n    /**\n     * @var ClassDefinition\\Data\\Hotspotimage\n     */\n    public $fieldDefinition;\n\n    /**\n     * @var ClassDefinition|Fieldcollection\\Definition\n     */\n    public $class;\n\n    /**\n     * @var string\n     */\n    public $attribute;\n\n    /**\n     * @param string $attribute\n     * @param ClassDefinition|Fieldcollection\\Definition $class\n     */\n    public function __construct(\n        Service $graphQlService,\n        $attribute,\n        ClassDefinition\\Data\\Hotspotimage $fieldDefinition,\n        $class\n    ) {\n        $this->fieldDefinition = $fieldDefinition;\n        $this->class = $class;\n        $this->attribute = $attribute;\n        $this->setGraphQLService($graphQlService);\n    }\n\n    /**\n     * @param BaseDescriptor|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return ElementDescriptor|null\n     *\n     * @throws \\Exception\n     */\n    public function resolve($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $container = Service::resolveValue($value, $this->fieldDefinition, $this->attribute, $args);\n        if ($container instanceof \\Pimcore\\Model\\DataObject\\Data\\Hotspotimage) {\n            $image = $container->getImage();\n            if ($image instanceof Asset) {\n                if (WorkspaceHelper::checkPermission($image, 'read')) {\n                    $data = new ElementDescriptor($image);\n                    $this->getGraphQlService()->extractData($data, $image, $args, $context, $resolveInfo);\n\n                    $data['crop'] = $container->getCrop();\n                    $data['hotspots'] = $container->getHotspots();\n                    $data['marker'] = $container->getMarker();\n\n                    return $data;\n                }\n            }\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Helper/Href.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Helper;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\WorkspaceHelper;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\nuse Pimcore\\Model\\Element\\ElementInterface;\n\n/**\n * @internal\n */\nfinal class Href\n{\n    use ServiceTrait;\n\n    /**\n     * @var Data\n     */\n    public $fieldDefinition;\n\n    /**\n     * @var ClassDefinition\n     */\n    public $class;\n\n    /**\n     * @var string\n     */\n    public $attribute;\n\n    /**\n     * @param string $attribute\n     * @param Data $fieldDefinition\n     * @param ClassDefinition $class\n     */\n    public function __construct(Service $graphQlService, $attribute, $fieldDefinition, $class)\n    {\n        $this->attribute = $attribute;\n        $this->fieldDefinition = $fieldDefinition;\n        $this->class = $class;\n\n        $this->setGraphQLService($graphQlService);\n    }\n\n    /**\n     * @param mixed $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return ElementDescriptor|null\n     *\n     * @throws \\Exception\n     */\n    public function resolve($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $relation = \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service::resolveValue($value, $this->fieldDefinition, $this->attribute, $args);\n\n        if ($relation instanceof ElementInterface) {\n            if (!WorkspaceHelper::checkPermission($relation, 'read')) {\n                return null;\n            }\n\n            $data = new ElementDescriptor($relation);\n            $this->getGraphQlService()->extractData($data, $relation, $args, $context, $resolveInfo);\n\n            return $data;\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Helper/Image.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Helper;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\BaseDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\WorkspaceHelper;\nuse Pimcore\\Model\\Asset;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\n/**\n * @internal\n */\nfinal class Image\n{\n    use ServiceTrait;\n\n    /**\n     * @var Data\n     */\n    public $fieldDefinition;\n\n    /**\n     * @var ClassDefinition\n     */\n    public $class;\n\n    /**\n     * @var string\n     */\n    public $attribute;\n\n    /**\n     * @param string $attribute\n     * @param Data $fieldDefinition\n     * @param ClassDefinition $class\n     */\n    public function __construct(\\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service $graphQlService, $attribute, $fieldDefinition, $class)\n    {\n        $this->attribute = $attribute;\n        $this->fieldDefinition = $fieldDefinition;\n        $this->class = $class;\n\n        $this->setGraphQLService($graphQlService);\n    }\n\n    /**\n     * @param BaseDescriptor|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return ElementDescriptor|null\n     *\n     * @throws \\Exception\n     */\n    public function resolve($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $relation = \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service::resolveValue($value, $this->fieldDefinition, $this->attribute, $args);\n\n        if ($relation instanceof Asset) {\n            if (!WorkspaceHelper::checkPermission($relation, 'read')) {\n                return null;\n            }\n\n            $data = new ElementDescriptor($relation);\n            $this->getGraphQlService()->extractData($data, $relation, $args, $context, $resolveInfo);\n\n            return $data;\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Helper/ImageGallery.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Helper;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\BaseDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service as GraphQlService;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\WorkspaceHelper;\nuse Pimcore\\Model\\Asset;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\Data\\Hotspotimage;\nuse Pimcore\\Model\\DataObject\\Fieldcollection;\nuse Pimcore\\Model\\Element\\Service;\n\n/**\n * Class ImageGallery\n *\n * @package Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Helper\n *\n * @internal\n */\nfinal class ImageGallery\n{\n    use ServiceTrait;\n\n    /**\n     * @var ClassDefinition\\Data\\ImageGallery\n     */\n    public $fieldDefinition;\n\n    /**\n     * @var ClassDefinition|Fieldcollection\\Definition\n     */\n    public $class;\n\n    /**\n     * @var string\n     */\n    public $attribute;\n\n    /**\n     * @param string $attribute\n     * @param ClassDefinition|Fieldcollection\\Definition $class\n     */\n    public function __construct(\n        GraphQlService $graphQlService,\n        $attribute,\n        ClassDefinition\\Data\\ImageGallery $fieldDefinition,\n        $class\n    ) {\n        $this->fieldDefinition = $fieldDefinition;\n        $this->class = $class;\n        $this->attribute = $attribute;\n        $this->setGraphQLService($graphQlService);\n    }\n\n    /**\n     * @param BaseDescriptor|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return ElementDescriptor[]|null\n     *\n     * @throws \\Exception\n     */\n    public function resolve($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $result = [];\n        $relations = GraphQlService::resolveValue($value, $this->fieldDefinition, $this->attribute, $args);\n        if ($relations) {\n            foreach ($relations as $relation) {\n                if ($relation instanceof Hotspotimage) {\n                    $image = $relation->getImage();\n                } else {\n                    continue;\n                }\n\n                if ($image instanceof Asset) {\n                    if (!WorkspaceHelper::checkPermission($image, 'read')) {\n                        continue;\n                    }\n\n                    $data = new ElementDescriptor($image);\n                    $this->getGraphQlService()->extractData($data, $image, $args, $context, $resolveInfo);\n\n                    $data['data'] = isset($data['data']) ? base64_encode($data['data']) : null;\n                    $data['crop'] = $relation->getCrop();\n                    $data['hotspots'] = $relation->getHotspots();\n                    $data['marker'] = $relation->getMarker();\n                    $data['img'] = $image;\n                    $data['image'] = $image->getType();\n                    $data['__elementType'] = Service::getElementType($image);\n                    $data['__elementSubtype'] = $image->getType();\n                } else {\n                    continue;\n                }\n\n                $result[] = $data;\n            }\n        }\n\n        return !empty($result) ? $result : null;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Helper/Multihref.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Helper;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\BaseDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\WorkspaceHelper;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\Element\\AbstractElement;\n\n/**\n * @internal\n */\nfinal class Multihref\n{\n    use ServiceTrait;\n\n    /**\n     * @var ClassDefinition\\Data\n     */\n    public $fieldDefinition;\n\n    /**\n     * @var ClassDefinition\n     */\n    public $class;\n\n    /**\n     * @var string\n     */\n    public $attribute;\n\n    /**\n     * @param string $attribute\n     * @param ClassDefinition\\Data $fieldDefinition\n     * @param ClassDefinition $class\n     */\n    public function __construct(Service $graphQlService, $attribute, $fieldDefinition, $class)\n    {\n        $this->fieldDefinition = $fieldDefinition;\n        $this->class = $class;\n        $this->attribute = $attribute;\n        $this->setGraphQLService($graphQlService);\n    }\n\n    /**\n     * @param BaseDescriptor|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return ElementDescriptor[]|null\n     *\n     * @throws \\Exception\n     */\n    public function resolve($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $result = [];\n        $relations = \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service::resolveValue($value, $this->fieldDefinition, $this->attribute, $args);\n        if ($relations) {\n            /** @var AbstractElement $relation */\n            foreach ($relations as $relation) {\n                if (!WorkspaceHelper::checkPermission($relation, 'read')) {\n                    continue;\n                }\n\n                $data = new ElementDescriptor($relation);\n                $this->getGraphQlService()->extractData($data, $relation, $args, $context, $resolveInfo);\n\n                $result[] = $data;\n            }\n\n            return $result;\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Helper/MultihrefMetadata.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Helper;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\BaseDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\WorkspaceHelper;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\nuse Pimcore\\Model\\DataObject\\Data\\ElementMetadata;\n\n/**\n * @internal\n */\nfinal class MultihrefMetadata\n{\n    use ServiceTrait;\n\n    /**\n     * @var Data\n     */\n    public $fieldDefinition;\n\n    /**\n     * @var ClassDefinition\n     */\n    public $class;\n\n    /**\n     * @var string\n     */\n    public $attribute;\n\n    /**\n     * @param string $attribute\n     * @param Data $fieldDefinition\n     * @param ClassDefinition $class\n     */\n    public function __construct(Service $graphQlService, $attribute, $fieldDefinition, $class)\n    {\n        $this->fieldDefinition = $fieldDefinition;\n        $this->class = $class;\n        $this->attribute = $attribute;\n        $this->setGraphQLService($graphQlService);\n    }\n\n    /**\n     * @param BaseDescriptor|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return array|null\n     *\n     * @throws \\Exception\n     */\n    public function resolve($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $relations = \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service::resolveValue($value, $this->fieldDefinition, $this->attribute, $args);\n        if ($relations) {\n            $result = [];\n            /** @var ElementMetadata $relation */\n            foreach ($relations as $relation) {\n                $element = $relation->getElement();\n                if (!WorkspaceHelper::checkPermission($element, 'read')) {\n                    continue;\n                }\n\n                $data = [];\n\n                $element = $relation->getElement();\n                $elementData = new ElementDescriptor($element);\n\n                $elementData['__relation'] = $relation;\n                $elementData['__destId'] = $relation->getElementId();\n                $data['element'] = $elementData;\n\n                $result[] = $data;\n            }\n\n            return $result;\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Helper/Objects.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Helper;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\WorkspaceHelper;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\nuse Pimcore\\Model\\Element\\AbstractElement;\n\n/**\n * @internal\n */\nfinal class Objects\n{\n    use ServiceTrait;\n\n    /**\n     * @var Data\n     */\n    public $fieldDefinition;\n\n    /**\n     * @var ClassDefinition\n     */\n    public $class;\n\n    /**\n     * @var string\n     */\n    public $attribute;\n\n    /**\n     * @param string $attribute\n     * @param Data $fieldDefinition\n     * @param ClassDefinition $class\n     */\n    public function __construct(Service $graphQlService, $attribute, $fieldDefinition, $class)\n    {\n        $this->fieldDefinition = $fieldDefinition;\n        $this->class = $class;\n        $this->attribute = $attribute;\n        $this->setGraphQLService($graphQlService);\n    }\n\n    /**\n     * @param mixed $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return array|null\n     *\n     * @throws \\Exception\n     */\n    public function resolve($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $relations = \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service::resolveValue($value, $this->fieldDefinition, $this->attribute, $args);\n        if ($relations) {\n            $result = [];\n            /** @var AbstractElement $relation */\n            foreach ($relations as $relation) {\n                if (!WorkspaceHelper::checkPermission($relation, 'read')) {\n                    continue;\n                }\n\n                $data = new ElementDescriptor($relation);\n                $this->getGraphQlService()->extractData($data, $relation, $args, $context, $resolveInfo);\n                $result[] = $data;\n            }\n\n            return $result;\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Helper/ObjectsMetadata.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Helper;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\BaseDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\WorkspaceHelper;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\Data\\ObjectMetadata;\n\n/**\n * @internal\n */\nfinal class ObjectsMetadata\n{\n    use ServiceTrait;\n\n    /**\n     * @var ClassDefinition\\Data\n     */\n    public $fieldDefinition;\n\n    /**\n     * @var ClassDefinition\n     */\n    public $class;\n\n    /**\n     * @var string\n     */\n    public $attribute;\n\n    /**\n     * @param string $attribute\n     * @param ClassDefinition\\Data $fieldDefinition\n     * @param ClassDefinition $class\n     */\n    public function __construct(Service $graphQlService, $attribute, $fieldDefinition, $class)\n    {\n        $this->fieldDefinition = $fieldDefinition;\n        $this->class = $class;\n        $this->attribute = $attribute;\n        $this->setGraphQLService($graphQlService);\n    }\n\n    /**\n     * @param BaseDescriptor|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return array|null\n     *\n     * @throws \\Exception\n     */\n    public function resolve($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $result = [];\n        $relations = \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service::resolveValue($value, $this->fieldDefinition, $this->attribute, $args);\n        if ($relations) {\n            /** @var ObjectMetadata $relation */\n            foreach ($relations as $relation) {\n                $element = $relation->getElement();\n                if (!WorkspaceHelper::checkPermission($element, 'read')) {\n                    continue;\n                }\n\n                $data = [];\n                $elementData = new ElementDescriptor($element);\n                $this->getGraphQlService()->extractData($elementData, $element, $args, $context, $resolveInfo);\n\n                $elementData['__relation'] = $relation;\n                $elementData['__destId'] = $relation->getElement()?->getId();\n                $data['element'] = $elementData;\n                $data['metadata'] = microtime();\n\n                $result[] = $data;\n            }\n\n            return $result;\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Helper/ReverseManyToManyObjects.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Helper;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\BaseDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\WorkspaceHelper;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\nuse Pimcore\\Model\\DataObject\\Concrete;\n\n/**\n * @internal\n */\nfinal class ReverseManyToManyObjects\n{\n    use ServiceTrait;\n\n    /**\n     * @var Data\n     */\n    public $fieldDefinition;\n\n    /**\n     * @var ClassDefinition\n     */\n    public $class;\n\n    /**\n     * @var string\n     */\n    public $attribute;\n\n    /**\n     * @param string $attribute\n     * @param Data $fieldDefinition\n     * @param ClassDefinition $class\n     */\n    public function __construct(Service $graphQlService, $attribute, $fieldDefinition, $class)\n    {\n        $this->fieldDefinition = $fieldDefinition;\n        $this->class = $class;\n        $this->attribute = $attribute;\n        $this->setGraphQLService($graphQlService);\n    }\n\n    /**\n     * @param BaseDescriptor|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return array\n     *\n     * @throws \\Exception\n     */\n    public function resolve($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $objectId = $value['id'];\n        $object = Concrete::getById($objectId);\n\n        $relations = $object->getRelationData($this->fieldDefinition->getOwnerFieldName(), false, $this->fieldDefinition->getOwnerClassId());\n        if ($relations) {\n            $result = [];\n            foreach ($relations as $relationRaw) {\n                $relation = Concrete::getById($relationRaw['id']);\n                if ($relation) {\n                    if (!WorkspaceHelper::checkPermission($relation, 'read')) {\n                        continue;\n                    }\n\n                    $data = new ElementDescriptor($relation);\n                    $this->getGraphQlService()->extractData($data, $relation, $args, $context, $resolveInfo);\n                    $result[] = $data;\n                }\n            }\n\n            return $result;\n        }\n\n        return $relations;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Hotspotimage.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\n/**\n * Class Hotspotimage\n *\n * @package Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\n *\n * @internal\n */\nfinal class Hotspotimage extends Base\n{\n    public const TYPE = 'object_datatype_hotspotimage';\n\n    /**\n     * @param string $attribute\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return array\n     *\n     *@throws \\Exception\n     *\n     */\n    public function getGraphQlFieldConfig($attribute, Data $fieldDefinition, $class = null, $container = null)\n    {\n        return $this->enrichConfig($fieldDefinition, $class, $attribute,\n            [\n                'name' => $fieldDefinition->getName(),\n                'type' => $this->getFieldType($fieldDefinition, $class, $container),\n                'resolve' => $this->getResolver($attribute, $fieldDefinition, $class),\n            ],\n            $container\n        );\n    }\n\n    /**\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return mixed\n     *\n     * @throws \\Exception\n     */\n    public function getFieldType(Data $fieldDefinition, $class = null, $container = null)\n    {\n        $hotspotType = $this->getGraphQlService()->getDataObjectTypeDefinition('object_datatype_hotspotimage');\n\n        return $hotspotType;\n    }\n\n    /**\n     * @param string $attribute\n     * @param Data $fieldDefinition\n     * @param ClassDefinition $class\n     *\n     * @return array\n     */\n    public function getResolver($attribute, $fieldDefinition, $class)\n    {\n\n        /** @var Data\\Hotspotimage $fieldDefinition */\n        $resolver = new Helper\\Hotspotimage($this->getGraphQlService(), $attribute, $fieldDefinition, $class);\n\n        return [$resolver, 'resolve'];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Href.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\HrefType;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\n/**\n * @internal\n */\nfinal class Href extends Base\n{\n    /**\n     * @param string $attribute\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return array\n     */\n    public function getGraphQlFieldConfig($attribute, Data $fieldDefinition, $class = null, $container = null)\n    {\n        return $this->enrichConfig($fieldDefinition, $class, $attribute, [\n            'name' => $fieldDefinition->getName(),\n            'type' => $this->getFieldType($fieldDefinition, $class, $container),\n            'resolve' => $this->getResolver($attribute, $fieldDefinition, $class),\n        ], $container);\n    }\n\n    /**\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return HrefType\n     */\n    public function getFieldType(Data $fieldDefinition, $class = null, $container = null)\n    {\n        return new HrefType($this->getGraphQlService(), $fieldDefinition, $class, ['description' => 'pseudo class for field ' . $fieldDefinition->getName()]);\n    }\n\n    /**\n     * @param string $attribute\n     * @param Data $fieldDefinition\n     * @param ClassDefinition $class\n     *\n     * @return array\n     */\n    public function getResolver($attribute, $fieldDefinition, $class)\n    {\n        $resolver = new Helper\\Href($this->getGraphQlService(), $attribute, $fieldDefinition, $class);\n\n        return [$resolver, 'resolve'];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Image.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\n/**\n * @internal\n */\nfinal class Image extends AssetBase\n{\n    /**\n     * @param string $attribute\n     * @param Data $fieldDefinition\n     * @param ClassDefinition $class\n     *\n     * @return array\n     */\n    public function getResolver($attribute, $fieldDefinition, $class)\n    {\n        $resolver = new Helper\\Image($this->getGraphQlService(), $attribute, $fieldDefinition, $class);\n\n        return [$resolver, 'resolve'];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/ImageGallery.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\n/**\n * Class ImageGallery\n *\n * @package Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\n *\n * @internal\n */\nfinal class ImageGallery extends Base\n{\n    const TYPE = 'imageGallery';\n\n    /**\n     * @param string $attribute\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return array\n     *\n     *@throws \\Exception\n     *\n     */\n    public function getGraphQlFieldConfig($attribute, Data $fieldDefinition, $class = null, $container = null)\n    {\n        return $this->enrichConfig(\n            $fieldDefinition,\n            $class,\n            $attribute,\n            [\n                'name' => $fieldDefinition->getName(),\n                'type' => $this->getFieldType($fieldDefinition, $class, $container),\n                'resolve' => $this->getResolver($attribute, $fieldDefinition, $class),\n            ],\n            $container\n        );\n    }\n\n    /**\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return \\GraphQL\\Type\\Definition\\ListOfType\n     *\n     * @throws \\Exception\n     */\n    public function getFieldType(Data $fieldDefinition, $class = null, $container = null)\n    {\n        $hotspotType = $this->getGraphQlService()->getDataObjectTypeDefinition(Hotspotimage::TYPE);\n\n        return Type::listOf($hotspotType);\n    }\n\n    /**\n     * @param string $attribute\n     * @param Data $fieldDefinition\n     * @param ClassDefinition $class\n     *\n     * @return array\n     */\n    public function getResolver($attribute, $fieldDefinition, $class)\n    {\n        /** @var Data\\ImageGallery $fieldDefinition */\n        $resolver = new Helper\\ImageGallery($this->getGraphQlService(), $attribute, $fieldDefinition, $class);\n\n        return [$resolver, 'resolve'];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Input.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nclass Input extends Base\n{\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/InputQuantityValue.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\n/**\n * @internal\n */\nfinal class InputQuantityValue extends Base\n{\n    public function getFieldType(Data $fieldDefinition, $class = null, $container = null)\n    {\n        return $this->getGraphQlService()->getDataObjectTypeDefinition('input_quantity_value');\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Link.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\LinkType;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\n/**\n * @internal\n */\nfinal class Link extends Base\n{\n    /**\n     * @param string $attribute\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return array\n     */\n    public function getGraphQlFieldConfig($attribute, Data $fieldDefinition, $class = null, $container = null)\n    {\n        return $this->enrichConfig($fieldDefinition, $class, $attribute, [\n            'columnConfig' => $attribute,\n            'name' => $fieldDefinition->getName(),\n            'type' => $this->getFieldType($fieldDefinition, $class, $container),\n        ], $container);\n    }\n\n    /**\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return LinkType\n     */\n    public function getFieldType(Data $fieldDefinition, $class = null, $container = null)\n    {\n        return LinkType::getInstance();\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Multihref.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\HrefType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\TypeDefinitionInterface;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\n/**\n * Class Multihref\n *\n * @package Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\n *\n * @internal\n */\nfinal class Multihref extends Base implements TypeDefinitionInterface\n{\n    /**\n     * @param string $attribute\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return array\n     */\n    public function getGraphQlFieldConfig($attribute, Data $fieldDefinition, $class = null, $container = null)\n    {\n        return $this->enrichConfig($fieldDefinition, $class, $attribute,\n            [\n                'name' => $fieldDefinition->getName(),\n                'type' => $this->getFieldType($fieldDefinition, $class, $container),\n                'resolve' => $this->getResolver($attribute, $fieldDefinition, $class),\n            ],\n            $container\n        );\n    }\n\n    /**\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return \\GraphQL\\Type\\Definition\\ListOfType\n     */\n    public function getFieldType(Data $fieldDefinition, $class = null, $container = null)\n    {\n        return Type::listOf(new HrefType($this->getGraphQlService(), $fieldDefinition, $class));\n    }\n\n    /**\n     * @param string $attribute\n     * @param Data $fieldDefinition\n     * @param ClassDefinition $class\n     *\n     * @return array\n     */\n    public function getResolver($attribute, $fieldDefinition, $class)\n    {\n        $resolver = new Helper\\Multihref($this->getGraphQlService(), $attribute, $fieldDefinition, $class);\n\n        return [$resolver, 'resolve'];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/MultihrefMetadata.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\MultihrefMetadataType;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\n/**\n * @internal\n */\nfinal class MultihrefMetadata extends Base\n{\n    /**\n     * @param string $attribute\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return array\n     */\n    public function getGraphQlFieldConfig($attribute, Data $fieldDefinition, $class = null, $container = null)\n    {\n        return $this->enrichConfig($fieldDefinition, $class, $attribute,\n            [\n                'name' => $fieldDefinition->getName(),\n                'type' => $this->getFieldType($fieldDefinition, $class, $container),\n                'resolve' => $this->getResolver($attribute, $fieldDefinition, $class),\n            ],\n            $container\n        );\n    }\n\n    /**\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return \\GraphQL\\Type\\Definition\\ListOfType\n     */\n    public function getFieldType(Data $fieldDefinition, $class = null, $container = null)\n    {\n        return Type::listOf(new MultihrefMetadataType($this->getGraphQlService(), $fieldDefinition, $class));\n    }\n\n    /**\n     * @param string $attribute\n     * @param Data $fieldDefinition\n     * @param ClassDefinition $class\n     *\n     * @return array\n     */\n    public function getResolver($attribute, $fieldDefinition, $class)\n    {\n        $resolver = new Helper\\MultihrefMetadata($this->getGraphQlService(), $attribute, $fieldDefinition, $class);\n\n        return [$resolver, 'resolve'];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Multiselect.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\n/**\n * @internal\n */\nfinal class Multiselect extends Base\n{\n    /**\n     * @param string $attribute\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return array\n     */\n    public function getGraphQlFieldConfig($attribute, Data $fieldDefinition, $class = null, $container = null)\n    {\n        return $this->enrichConfig($fieldDefinition, $class, $attribute, [\n            'name' => $fieldDefinition->getName(),\n            'type' => $this->getFieldType($fieldDefinition, $class, $container),\n        ], $container);\n    }\n\n    /**\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return \\GraphQL\\Type\\Definition\\ListOfType\n     */\n    public function getFieldType(Data $fieldDefinition, $class = null, $container = null)\n    {\n        return Type::listOf(Type::string());\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Numeric.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\n/**\n * @internal\n */\nfinal class Numeric extends Base\n{\n    /**\n     * @param string $attribute\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return array\n     */\n    public function getGraphQlFieldConfig($attribute, Data $fieldDefinition, $class = null, $container = null)\n    {\n        return $this->enrichConfig($fieldDefinition, $class, $attribute, [\n            'name' => $fieldDefinition->getName(),\n            'type' => $this->getFieldType($fieldDefinition, $class, $container),\n        ], $container);\n    }\n\n    /**\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return \\GraphQL\\Type\\Definition\\ScalarType|void\n     */\n    public function getFieldType(Data $fieldDefinition, $class = null, $container = null)\n    {\n        if ($fieldDefinition instanceof Data\\Numeric) {\n            if ($fieldDefinition->getInteger()) {\n                return Type::int();\n            }\n\n            return Type::float();\n        }\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Objects.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\HrefType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\TypeDefinitionInterface;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\n/**\n * Class Objects\n *\n * @package Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\n *\n * @internal\n */\nfinal class Objects extends Base implements TypeDefinitionInterface\n{\n    /**\n     * @param string $attribute\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return array\n     */\n    public function getGraphQlFieldConfig($attribute, Data $fieldDefinition, $class = null, $container = null)\n    {\n        return $this->enrichConfig(\n            $fieldDefinition,\n            $class,\n            $attribute,\n            [\n                'name' => $fieldDefinition->getName(),\n                'type' => $this->getFieldType($fieldDefinition, $class, $container),\n                'resolve' => $this->getResolver($attribute, $fieldDefinition, $class),\n            ],\n            $container\n        );\n    }\n\n    /**\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return \\GraphQL\\Type\\Definition\\ListOfType\n     */\n    public function getFieldType(Data $fieldDefinition, $class = null, $container = null)\n    {\n        return Type::listOf(new HrefType($this->getGraphQlService(), $fieldDefinition, $class));\n    }\n\n    /**\n     * @param string $attribute\n     * @param Data $fieldDefinition\n     * @param ClassDefinition $class\n     *\n     * @return array\n     */\n    public function getResolver($attribute, $fieldDefinition, $class)\n    {\n        $resolver = new Helper\\Objects($this->getGraphQlService(), $attribute, $fieldDefinition, $class);\n\n        return [$resolver, 'resolve'];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/ObjectsMetadata.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\ObjectMetadataType;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data\\AdvancedManyToManyObjectRelation;\n\n/**\n * @internal\n */\nfinal class ObjectsMetadata extends Base\n{\n    /**\n     * @param string $attribute\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return array\n     */\n    public function getGraphQlFieldConfig($attribute, Data $fieldDefinition, $class = null, $container = null)\n    {\n        /** @var AdvancedManyToManyObjectRelation $fieldDefinition */\n        return $this->enrichConfig($fieldDefinition, $class, $attribute,\n            [\n                'name' => $fieldDefinition->getName(),\n                'type' => $this->getFieldType($fieldDefinition, $class, $container),\n                'resolve' => $this->getResolver($attribute, $fieldDefinition, $class),\n            ],\n            $container\n        );\n    }\n\n    /**\n     * @param AdvancedManyToManyObjectRelation $fieldDefinition\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return \\GraphQL\\Type\\Definition\\ListOfType\n     */\n    public function getFieldType(Data $fieldDefinition, $class = null, $container = null)\n    {\n        $type = new ObjectMetadataType($this->getGraphQlService(), $fieldDefinition, $class);\n\n        return Type::listOf($type);\n    }\n\n    /**\n     * @param string $attribute\n     * @param Data $fieldDefinition\n     * @param ClassDefinition $class\n     *\n     * @return array\n     */\n    public function getResolver($attribute, $fieldDefinition, $class)\n    {\n        $resolver = new Helper\\ObjectsMetadata($this->getGraphQlService(), $attribute, $fieldDefinition, $class);\n\n        return [$resolver, 'resolve'];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/QuantityValue.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\n/**\n * @internal\n */\nfinal class QuantityValue extends Base\n{\n    public function getFieldType(Data $fieldDefinition, $class = null, $container = null)\n    {\n        return $this->getGraphQlService()->getDataObjectTypeDefinition('quantity_value');\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/ReverseManyToManyObjectRelation.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassTypeDefinitions;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\n/**\n * @internal\n */\nfinal class ReverseManyToManyObjectRelation extends Base\n{\n    /**\n     * @param string $attribute\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return array\n     */\n    public function getGraphQlFieldConfig($attribute, Data $fieldDefinition, $class = null, $container = null)\n    {\n        /** @var Data\\ReverseObjectRelation $fieldDefinition */\n        return $this->enrichConfig(\n            $fieldDefinition,\n            $class,\n            $attribute,\n            [\n                'name' => $fieldDefinition->getName(),\n                'type' => $this->getFieldType($fieldDefinition, $class, $container),\n                'resolve' => $this->getResolver($attribute, $fieldDefinition, $class),\n            ],\n            $container\n        );\n    }\n\n    /**\n     * @param Data\\ReverseObjectRelation $fieldDefinition\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return \\GraphQL\\Type\\Definition\\ListOfType\n     */\n    public function getFieldType(Data $fieldDefinition, $class = null, $container = null)\n    {\n        $className = $fieldDefinition->getOwnerClassName();\n        $type = Type::listOf(ClassTypeDefinitions::get($className));\n\n        return $type;\n    }\n\n    /**\n     * @param string $attribute\n     * @param Data $fieldDefinition\n     * @param ClassDefinition $class\n     *\n     * @return array\n     */\n    public function getResolver($attribute, $fieldDefinition, $class)\n    {\n        $resolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Helper\\ReverseManyToManyObjects($this->getGraphQlService(), $attribute, $fieldDefinition, $class);\n\n        return [$resolver, 'resolve'];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Select.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\n/**\n * @internal\n */\nfinal class Select extends Input\n{\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Slider.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\n/**\n * @internal\n */\nfinal class Slider extends Base\n{\n    /**\n     * @param string $attribute\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return array\n     */\n    public function getGraphQlFieldConfig($attribute, Data $fieldDefinition, $class = null, $container = null)\n    {\n        return $this->enrichConfig($fieldDefinition, $class, $attribute, [\n            'name' => $fieldDefinition->getName(),\n            'type' => $this->getFieldType($fieldDefinition, $class, $container),\n        ], $container);\n    }\n\n    /**\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return \\GraphQL\\Type\\Definition\\ScalarType|void\n     */\n    public function getFieldType(Data $fieldDefinition, $class = null, $container = null)\n    {\n        if ($fieldDefinition instanceof Data\\Slider) {\n            if ($fieldDefinition->getDecimalPrecision() > 0) {\n                return Type::float();\n            }\n\n            return Type::int();\n        }\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/StructuredTable.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\n/**\n * @internal\n */\nfinal class StructuredTable extends AbstractTable\n{\n    protected function getTableColumns(Data $fieldDefinition): array\n    {\n        $cols = [];\n        if ($fieldDefinition instanceof Data\\StructuredTable) {\n            foreach ($fieldDefinition->getCols() as $i => $columnConfig) {\n                $key = $columnConfig['key'] ?? 'col' . $i;\n\n                switch ($columnConfig['type']) {\n                    case 'number':\n                        $type = Type::float();\n\n                        break;\n                    case 'bool':\n                        $type = Type::boolean();\n\n                        break;\n                    case 'text':\n                    default:\n                        $type = Type::string();\n                }\n\n                $cols[$key] = $type;\n            }\n        }\n\n        return $cols;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Table.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\n/**\n * @internal\n */\nfinal class Table extends AbstractTable\n{\n    private const NUMERIC_PREFIX = 'col';\n\n    protected function getTableColumns(Data $fieldDefinition): array\n    {\n        $columns = [];\n\n        if ($fieldDefinition instanceof Data\\Table) {\n            $numCols = (int) $fieldDefinition->getCols();\n            if ($numCols === 0) {\n                return [];\n            }\n\n            if ($fieldDefinition->isColumnConfigActivated()) {\n                foreach ($fieldDefinition->getColumnConfig() as $columnConfig) {\n                    $key = $columnConfig['key'];\n                    // key must be string, cannot be numeric\n                    if (is_numeric($columnConfig['key'])) {\n                        $key = self::NUMERIC_PREFIX . $columnConfig['key'];\n                    }\n                    $columns[$key] = Type::string();\n                }\n\n                return $columns;\n            }\n\n            foreach (range(0, $fieldDefinition->getCols() - 1) as $i) {\n                $columns['col' . $i] = Type::string();\n            }\n        }\n\n        return $columns;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/UrlSlug.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\n/**\n * @internal\n */\nfinal class UrlSlug extends Base\n{\n    public function getFieldType(Data $fieldDefinition, $class = null, $container = null)\n    {\n        return Type::listOf($this->getGraphQlService()->getDataObjectTypeDefinition('url_slug'));\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGenerator/Video.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator;\n\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\n/**\n * @internal\n */\nfinal class Video extends Base\n{\n    /**\n     * @param string $attribute\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return array\n     */\n    public function getGraphQlFieldConfig($attribute, Data $fieldDefinition, $class = null, $container = null)\n    {\n        return $this->enrichConfig($fieldDefinition, $class, $attribute, [\n            'name' => $fieldDefinition->getName(),\n            'type' => $this->getFieldType($fieldDefinition, $class, $container),\n        ], $container);\n    }\n\n    /**\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return mixed\n     */\n    public function getFieldType(Data $fieldDefinition, $class = null, $container = null)\n    {\n        $graphQlService = $this->getGraphQlService();\n\n        return $graphQlService->getDataObjectTypeDefinition('object_datatype_video');\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryFieldConfigGeneratorInterface.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL;\n\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\ninterface DataObjectQueryFieldConfigGeneratorInterface\n{\n    /**\n     * @param string $columnConfig\n     * @param ClassDefinition $class\n     * @param object $container\n     *\n     * @return mixed\n     */\n    public function getGraphQlFieldConfig($columnConfig, Data $fieldDefinition, $class, $container);\n\n    /**\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return mixed\n     */\n    public function getFieldType(Data $fieldDefinition, $class = null, $container = null);\n\n    /**\n     * @param string $attribute\n     * @param Data|null $fieldDefinition\n     * @param ClassDefinition|null $class\n     *\n     * @return array|callable(mixed $value, array $args, array $context, \\GraphQL\\Type\\Definition\\ResolveInfo $info): mixed\n     */\n    public function getResolver($attribute, $fieldDefinition, $class);\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryOperatorConfigGenerator/Alias.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryOperatorConfigGenerator;\n\n/**\n * @internal\n */\nfinal class Alias extends StringBase\n{\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryOperatorConfigGenerator/Base.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryOperatorConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\OperatorTypeDefinitionInterface;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\nabstract class Base implements OperatorTypeDefinitionInterface\n{\n    /**\n     * @var Service\n     */\n    protected $graphQlService;\n\n    public function __construct(Service $graphQlService)\n    {\n        $this->graphQlService = $graphQlService;\n    }\n\n    /**\n     * @param string $typeName\n     * @param array $nodeDef\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     * @param array $params\n     *\n     * @return Type\n     */\n    public function getGraphQlType($typeName, $nodeDef, $class = null, $container = null, $params = [])\n    {\n        return Type::string();\n    }\n\n    /**\n     * @param string $typeName\n     * @param array $nodeDef\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     * @param array $params\n     *\n     * @return mixed\n     */\n    public function getGraphQlQueryOperatorConfig($typeName, $nodeDef, $class = null, $container = null, $params = [])\n    {\n        $attributes = $nodeDef['attributes'];\n        $fieldname = $this->getFieldname($attributes);\n        $type = $this->getGraphQlType($typeName, $nodeDef, $class, $container, $params);\n\n        $resolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\Base($typeName, $attributes, $class, $container);\n        $resolver->setGraphQlService($this->graphQlService);\n\n        return $this->enrichConfig([\n            'name' => $fieldname,\n            'type' => $type,\n            'resolve' => [$resolver, 'resolve'],\n\n        ], $container);\n    }\n\n    /**\n     * @param array $config\n     * @param object|null $container\n     *\n     * @return mixed\n     */\n    public function enrichConfig($config, $container = null)\n    {\n        if ($container instanceof Data\\Localizedfields) {\n            $config['args'] = $config['args'] ? $config['args'] : [];\n            $config['args'] = array_merge($config['args'],\n                ['language' => ['type' => Type::string()],\n            ]);\n        }\n\n        return $config;\n    }\n\n    /**\n     * @param array $attributes\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return \\GraphQL\\Type\\Definition\\ScalarType\n     */\n    public function getFieldType($attributes, $class = null, $container = null)\n    {\n        return Type::string();\n    }\n\n    /**\n     * @param array{label?: string} $attributes\n     *\n     * @return string|null\n     */\n    protected function getFieldname($attributes)\n    {\n        $label = $attributes['label'] ?? '#' . uniqid();\n\n        return preg_replace('/[^A-Za-z0-9\\-\\.~_]+/', '_', $label);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryOperatorConfigGenerator/Concatenator.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryOperatorConfigGenerator;\n\n/**\n * @internal\n */\nfinal class Concatenator extends StringBase\n{\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryOperatorConfigGenerator/DateFormatter.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryOperatorConfigGenerator;\n\n/**\n * @internal\n */\nfinal class DateFormatter extends StringBase\n{\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryOperatorConfigGenerator/ElementCounter.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryOperatorConfigGenerator;\n\n/**\n * @internal\n */\nfinal class ElementCounter extends IntBase\n{\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryOperatorConfigGenerator/IntBase.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryOperatorConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\ScalarType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\n\nclass IntBase extends Base\n{\n    /**\n     * @param string $typeName\n     * @param array $nodeDef\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     * @param array $params\n\n     *\n     * @return ScalarType|Type\n     */\n    public function getGraphQlType($typeName, $nodeDef, $class = null, $container = null, $params = [])\n    {\n        return Type::int();\n    }\n\n    /**\n     * @param array $attributes\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return \\GraphQL\\Type\\Definition\\ScalarType\n     */\n    public function getFieldType($attributes, $class = null, $container = null)\n    {\n        return Type::int();\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryOperatorConfigGenerator/StringBase.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryOperatorConfigGenerator;\n\nclass StringBase extends Base\n{\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryOperatorConfigGenerator/Substring.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryOperatorConfigGenerator;\n\n/**\n * @internal\n */\nfinal class Substring extends StringBase\n{\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryOperatorConfigGenerator/Thumbnail.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryOperatorConfigGenerator;\n\n/**\n * @internal\n */\nfinal class Thumbnail extends StringBase\n{\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryOperatorConfigGenerator/ThumbnailHtml.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryOperatorConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\ImageGallery;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver;\n\n/**\n * Class ThumbnailHtml\n *\n * @package Pimcore\\Bundle\\DataHubBundle\\GraphQL\\QueryOperatorConfigGenerator\n *\n * @internal\n */\nfinal class ThumbnailHtml extends Base\n{\n    /**\n     * @param array $config\n     * @param object|null $container\n     *\n     * @return mixed\n     */\n    public function enrichConfig($config, $container = null)\n    {\n        $config['description'] = 'A thumbnail HTML snippet which contains the entire image editable as generated by Pimcore';\n\n        // If the resolver is an array, this should be configured as a listOf(strings) type instead of a single string type\n        if ($config['resolve'][0] instanceof Resolver\\Base) {\n            /** @var Resolver\\Base $cResolver */\n            $cResolver = $config['resolve'][0];\n            if ($cResolver->getResolverAttribute('dataType') === ImageGallery::TYPE) {\n                $config['type'] = Type::listOf(Type::string());\n                $config['description'] = 'A list of thumbnail HTML snippets which contains the entire image editables of the gallery as generated by Pimcore';\n            }\n        }\n\n        return parent::enrichConfig($config, $container);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryOperatorConfigGenerator/TranslateValue.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryOperatorConfigGenerator;\n\n/**\n * @internal\n */\nfinal class TranslateValue extends StringBase\n{\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectQueryOperatorConfigGenerator/Trimmer.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryOperatorConfigGenerator;\n\n/**\n * @internal\n */\nfinal class Trimmer extends StringBase\n{\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectType/AbstractRelationsType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType;\n\nuse GraphQL\\Deferred;\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\UnionType;\nuse Pimcore\\Bundle\\CoreBundle\\DependencyInjection\\ContainerAwareInterface;\nuse Pimcore\\Bundle\\CoreBundle\\DependencyInjection\\ContainerAwareTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassTypeDefinitions;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType\\DocumentType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\nuse Pimcore\\Model\\DataObject\\Fieldcollection\\Definition;\nuse Pimcore\\Model\\Document;\n\nabstract class AbstractRelationsType extends UnionType implements ContainerAwareInterface\n{\n    use ContainerAwareTrait;\n    use ServiceTrait;\n\n    /** @var ClassDefinition */\n    protected $class;\n\n    /** @var Data */\n    protected $fieldDefinition;\n\n    /**\n     * @param ClassDefinition|Definition|null $class\n     * @param array $config\n     */\n    public function __construct(Service $graphQlService, ?Data $fieldDefinition = null, $class = null, $config = [])\n    {\n        $this->class = $class;\n        $this->fieldDefinition = $fieldDefinition;\n        $this->setGraphQLService($graphQlService);\n        $name = null;\n\n        if ($fieldDefinition && $class) {\n            if ($class instanceof ClassDefinition) {\n                $name = 'object_' . $class->getName() . '_' . $fieldDefinition->getName();\n            } elseif ($class instanceof Definition) {\n                $name = 'fieldcollection_' . $class->getKey() . '_' . $fieldDefinition->getName();\n            }\n        }\n        if ($fieldDefinition instanceof Data\\AdvancedManyToManyRelation || $fieldDefinition instanceof Data\\AdvancedManyToManyObjectRelation) {\n            $name .= '_element';\n        }\n\n        $config['name'] = $name;\n        parent::__construct($config);\n    }\n\n    /**\n     * @return ClassDefinition|Definition|null\n     */\n    public function getClass()\n    {\n        return $this->class;\n    }\n\n    /**\n     * @param mixed $class\n     */\n    public function setClass($class): void\n    {\n        $this->class = $class;\n    }\n\n    /**\n     *\n     * @throws \\Exception\n     */\n    public function getTypes(): array\n    {\n        $fd = $this->getFieldDefinition();\n\n        $types = [];\n\n        if ($fd->getObjectsAllowed()) {\n            if (!$fd->getClasses()) {\n                $types = array_merge($types, array_values(ClassTypeDefinitions::getAll()));\n            } else {\n                $classes = $fd->getClasses();\n                if (!is_array($classes)) {\n                    $classes = [$classes];\n                }\n                foreach ($classes as $className) {\n                    if (is_array($className)) {\n                        $className = $className['classes'];\n                    }\n                    $types[] = ClassTypeDefinitions::get($className);\n                }\n            }\n        }\n\n        if (!$fd instanceof Data\\ManyToManyObjectRelation) {\n            if ($fd->getAssetsAllowed()) {\n                $service = $this->getGraphQlService();\n                $assetType = $service->buildAssetType('asset');\n\n                $types[] = $assetType;\n            }\n\n            if ($fd->getDocumentsAllowed()) {\n                /** @var DocumentType $documentUnionType */\n                $documentUnionType = $this->getGraphQlService()->getDocumentTypeDefinition('document');\n                $supportedDocumentTypes = $documentUnionType->getTypes();\n                $types = array_merge($types, $supportedDocumentTypes);\n            }\n        }\n\n        return $types;\n    }\n\n    public function resolveType($element, $context, ResolveInfo $info): ObjectType|string|callable|Deferred|null\n    {\n        if ($element) {\n            if ($element['__elementType'] == 'object') {\n                $type = ClassTypeDefinitions::get($element['__elementSubtype']);\n\n                return $type;\n            } elseif ($element['__elementType'] == 'asset') {\n                return  $this->getGraphQlService()->buildAssetType('asset');\n            } elseif ($element['__elementType'] == 'document') {\n                $document = Document::getById($element['id']);\n                if ($document) {\n                    $documentType = $document->getType();\n                    $service = $this->getGraphQlService();\n                    //TODO maybe catch unsupported types for now ?\n                    $typeDefinition = $service->getDocumentTypeDefinition('document_' . $documentType);\n\n                    return $typeDefinition;\n                }\n            }\n        }\n\n        return null;\n    }\n\n    public function getFieldDefinition(): Data\n    {\n        return $this->fieldDefinition;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectType/BlockEntryType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\CoreBundle\\DependencyInjection\\ContainerAwareInterface;\nuse Pimcore\\Bundle\\CoreBundle\\DependencyInjection\\ContainerAwareTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\BlockDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Helper;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\nuse Pimcore\\Model\\DataObject\\Fieldcollection\\Definition;\n\n/**\n * @internal\n */\nfinal class BlockEntryType extends ObjectType implements ContainerAwareInterface\n{\n    /**\n     * @var static|null\n     */\n    protected static $instance;\n\n    use ContainerAwareTrait;\n    use ServiceTrait;\n\n    /** @var ClassDefinition */\n    protected $class;\n\n    /** @var Data */\n    protected $fieldDefinition;\n\n    /**\n     * @param ClassDefinition|null $class\n     * @param array $config\n     */\n    public function __construct(Service $graphQlService, Data $fieldDefinition, $class = null, $config = [])\n    {\n        $this->class = $class;\n        $this->fieldDefinition = $fieldDefinition;\n        $this->setGraphQLService($graphQlService);\n\n        $this->build($config);\n\n        parent::__construct($config);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        if ($this->class instanceof Definition) {\n            $name = $this->class->getKey();\n        } else {\n            $name = $this->class->getName();\n        }\n\n        $config['name'] = 'block_'.$name.'_'.$this->fieldDefinition->getName() . '_entry';\n        $fields = [];\n\n        $fieldHelper = $this->getGraphQlService()->getObjectFieldHelper();\n\n        Helper::extractDataDefinitions($this->fieldDefinition, $fieldDefinitions);\n\n        foreach ($fieldDefinitions as $fieldDef) {\n            if ($fieldDef instanceof ClassDefinition\\Data\\Localizedfields) {\n                $fcLocalizedFieldDefs = $fieldDef->getFieldDefinitions();\n\n                foreach ($fcLocalizedFieldDefs as $localizedFieldDef) {\n                    if ($fieldHelper->supportsGraphQL($localizedFieldDef, 'query')) {\n                        $fields[$localizedFieldDef->getName()] = $this->prepareField($localizedFieldDef, true);\n                    }\n                }\n            } elseif ($fieldHelper->supportsGraphQL($fieldDef, 'query')) {\n                $fields[$fieldDef->getName()] = $this->prepareField($fieldDef);\n            }\n        }\n\n        $config['fields'] = $fields;\n    }\n\n    /**\n     *\n     * @return mixed\n     */\n    protected function prepareField(Data $fieldDef, bool $localized = false)\n    {\n        $field = $this->getGraphQlService()->getObjectFieldHelper()->getGraphQlQueryFieldConfig(\n            $fieldDef->getName(),\n            $fieldDef,\n            $this->class,\n            $this->container\n        );\n\n        $hasResolve = isset($field['resolve']);\n        /** @var callable $resolve */\n        $resolve = $hasResolve ? $field['resolve'] : null;\n\n        $field['resolve'] = function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) use ($hasResolve, $resolve) {\n            if (!$resolveInfo) {\n                return null;\n            }\n\n            if (!is_array($value)) {\n                return null;\n            }\n\n            if (!array_key_exists($resolveInfo->fieldName, $value)) {\n                return null;\n            }\n\n            $value = $value[$resolveInfo->fieldName];\n\n            if (!$value instanceof BlockDescriptor) {\n                return null;\n            }\n\n            if ($hasResolve) {\n                return $resolve($value, $args, $context, $resolveInfo);\n            }\n\n            return $this->graphQlService::resolveValue($value, $this->fieldDefinition, $this->fieldDefinition->getName(), $args);\n        };\n\n        return $field;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectType/ElementDescriptorInputType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType;\n\nuse GraphQL\\Type\\Definition\\InputObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\ObjectMetadata;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\n/**\n * @internal\n */\nfinal class ElementDescriptorInputType extends InputObjectType\n{\n    use ServiceTrait;\n\n    /**\n     * @var null\n     */\n    protected $class;\n\n    /** @var Data */\n    protected $fieldDefinition;\n\n    /**\n     * @param null $class\n     * @param array $config\n     * @param array $context\n     */\n    public function __construct(Service $graphQlService,\n        ?Data $fieldDefinition = null,\n        $class = null,\n        $config = ['name' => 'ElementDescriptorInput'],\n        $context = [])\n    {\n        $this->class = $class;\n        $this->fieldDefinition = $fieldDefinition;\n\n        $this->setGraphQLService($graphQlService);\n        $this->build($config);\n        parent::__construct($config);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $resolver = new ObjectMetadata($this->fieldDefinition, $this->class, $this->getGraphQlService()->getObjectFieldHelper());\n\n        $config['fields'] = [\n            'type' => Type::string(),\n            'id' => Type::int(),\n            'fullpath' => Type::string(),\n            'metadata' => [\n                'type' => Type::listOf(new ElementMetadataKeyValuePairInputType()),\n                'resolve' => [$resolver, 'resolveMetadata'],\n            ],\n        ];\n        $config['description'] = 'type can be omitted for mutations only allowing one type, e.g. many-to-many-objects.';\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectType/ElementMetadataKeyValuePairInputType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType;\n\nuse GraphQL\\Type\\Definition\\InputObjectType;\nuse GraphQL\\Type\\Definition\\Type;\n\n/**\n * Class ElementMetadataKeyValuePairInputType\n *\n * @package Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\n *\n * @internal\n */\nfinal class ElementMetadataKeyValuePairInputType extends InputObjectType\n{\n    /**\n     * @var static|null\n     */\n    protected static $instance;\n\n    /**\n     * @param array $config\n     */\n    public function __construct($config = [])\n    {\n        $config['name'] = 'element_metadata_item_key_value_pair_input';\n        $this->build($config);\n        parent::__construct($config);\n    }\n\n    /**\n     * @return ElementMetadataKeyValuePairInputType\n     */\n    public static function getInstance()\n    {\n        if (!self::$instance) {\n            self::$instance = new static();\n        }\n\n        return self::$instance;\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $config['fields']['name'] = Type::string();\n        $config['fields']['value'] = Type::string();\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectType/ElementMetadataKeyValuePairType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\Type;\n\n/**\n * Class ElementMetadataKeyValuePairType\n *\n * @package Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\n *\n *  * @ *\n *\n * @internal\n */\nfinal class ElementMetadataKeyValuePairType extends ObjectType\n{\n    /**\n     * @var static|null\n     */\n    protected static $instance;\n\n    /**\n     * @param array $config\n     */\n    public function __construct($config = [])\n    {\n        $config['name'] = 'element_metadata_item_key_value_pair';\n        $this->build($config);\n        parent::__construct($config);\n    }\n\n    /**\n     * @return ElementMetadataKeyValuePairType\n     */\n    public static function getInstance()\n    {\n        if (!self::$instance) {\n            self::$instance = new static();\n        }\n\n        return self::$instance;\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $config['fields']['name'] = Type::string();\n        $config['fields']['value'] = Type::string();\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectType/FieldcollectionType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\UnionType;\nuse Pimcore\\Bundle\\CoreBundle\\DependencyInjection\\ContainerAwareInterface;\nuse Pimcore\\Bundle\\CoreBundle\\DependencyInjection\\ContainerAwareTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\FieldcollectionDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Cache\\RuntimeCache;\n\n/**\n * @internal\n */\nfinal class FieldcollectionType extends UnionType implements ContainerAwareInterface\n{\n    use ContainerAwareTrait;\n    use ServiceTrait;\n\n    protected $types;\n\n    /**\n     * @param array $config\n     */\n    public function __construct(Service $graphQlService, $config = [])\n    {\n        $this->types = $config['types'];\n        $this->setGraphQLService($graphQlService);\n\n        parent::__construct($config);\n    }\n\n    public function getTypes(): array\n    {\n        return $this->types;\n    }\n\n    public function resolveType($element, $context, ResolveInfo $info)\n    {\n        if ($element instanceof FieldcollectionDescriptor) {\n            $fcName = $element['__fcType'];\n            $fcKey = 'graphql_fieldcollection_' . $fcName;\n            $type = RuntimeCache::get($fcKey);\n\n            return $type;\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectType/GeoboundsType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\n\n/**\n * @internal\n */\nfinal class GeoboundsType extends ObjectType\n{\n    protected static $instance;\n\n    /**\n     * @return static\n     */\n    public static function getInstance()\n    {\n        $resolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\Geobounds();\n        if (!self::$instance) {\n            $config =\n                [\n                    'fields' => [\n                        'northEast' => [\n                            'type' => GeopointType::getInstance(),\n                            'resolve' => [$resolver, 'resolveNorthEast'],\n                        ],\n                        'southWest' => [\n                            'type' => GeopointType::getInstance(),\n                            'resolve' => [$resolver, 'resolveSouthWest'],\n                        ],\n\n                    ],\n                ];\n            self::$instance = new static($config);\n        }\n\n        return self::$instance;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectType/GeopointInputType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType;\n\nuse GraphQL\\Type\\Definition\\InputObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\n/**\n * @internal\n */\nfinal class GeopointInputType extends InputObjectType\n{\n    use ServiceTrait;\n\n    /**\n     * @param array $config\n     * @param array $context\n     */\n    public function __construct(Service $graphQlService, $config = ['name' => 'GeopointInput'], $context = [])\n    {\n        $this->setGraphQLService($graphQlService);\n        $this->build($config);\n        parent::__construct($config);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $resolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\AssetType();\n        $resolver->setGraphQLService($this->getGraphQlService());\n\n        $config['fields'] = [\n            'longitude' => Type::float(),\n            'latitude' => Type::float(),\n\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectType/GeopointType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\Type;\n\n/**\n * @internal\n */\nfinal class GeopointType extends ObjectType\n{\n    protected static $instance;\n\n    /**\n     * @return static\n     */\n    public static function getInstance()\n    {\n        $resolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\Geopoint();\n        if (!self::$instance) {\n            $config =\n                [\n                    'fields' => [\n                        'longitude' => [\n                            'type' => Type::float(),\n                            'resolve' => [$resolver, 'resolveLongitude'],\n                        ],\n                        'latitude' => [\n                            'type' => Type::float(),\n                            'resolve' => [$resolver, 'resolveLatitude'],\n                        ],\n\n                    ],\n                ];\n            self::$instance = new static($config);\n        }\n\n        return self::$instance;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectType/HotspotType.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\SharedType\\HotspotCropType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\n/**\n * Class HotspotType\n *\n * @package Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\n *\n * @internal\n */\nfinal class HotspotType extends ObjectType\n{\n    use ServiceTrait;\n\n    /**\n     * @param array $config\n     * @param array $context\n     */\n    public function __construct(Service $graphQlService, $config = ['name' => 'hotspotimage'], $context = [])\n    {\n        $this->setGraphQLService($graphQlService);\n        $this->build($config);\n        parent::__construct($config);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $resolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\HotspotType();\n        $resolver->setGraphQLService($this->getGraphQlService());\n        $service = $this->getGraphQlService();\n        $assetType = $service->buildAssetType('asset');\n        $hotspotMarkerType = $service->buildGeneralType('hotspotmarker');\n        $hotspotHotspotType = $service->buildGeneralType('hotspothotspot');\n\n        $config['fields'] = [\n            'image' => [\n                'type' => $assetType,\n                'resolve' => [$resolver, 'resolveImage'],\n            ],\n            'crop' => [\n                'type' => HotspotCropType::getInstance(),\n                'resolve' => [$resolver, 'resolveCrop'],\n            ],\n            'hotspots' => [\n                'type' => Type::listOf($hotspotHotspotType),\n                'resolve' => [$resolver, 'resolveHotspots'],\n            ],\n            'marker' => [\n                'type' => Type::listOf($hotspotMarkerType),\n                'resolve' => [$resolver, 'resolveMarker'],\n            ],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectType/HrefType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType;\n\n/**\n * @internal\n */\nfinal class HrefType extends AbstractRelationsType\n{\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectType/InputQuantityValueInputType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType;\n\nuse GraphQL\\Type\\Definition\\InputObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\n/**\n * @internal\n */\nfinal class InputQuantityValueInputType extends InputObjectType\n{\n    use ServiceTrait;\n\n    /**\n     * @param array $config\n     */\n    public function __construct(Service $graphQlService, $config = ['name' => 'InputQuantityValueInput'])\n    {\n        $this->setGraphQLService($graphQlService);\n        $this->build($config);\n        parent::__construct($config);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $resolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\DataObject($this->getGraphQlService());\n        $resolver->setGraphQLService($this->getGraphQlService());\n\n        $config['fields'] = [\n            'value' => Type::string(),\n            'unit' => Type::string(),\n            'unitId' => Type::string(),\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectType/InputQuantityValueType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\n/**\n * @internal\n */\nfinal class InputQuantityValueType extends QuantityValueType\n{\n    /**\n     * @param array $config\n     * @param array $context\n     */\n    public function __construct(Service $graphQlService, ?Data $fieldDefinition = null, $config = [], $context = [])\n    {\n        $config['fields'] = [\n            'value' => [\n                'type' => Type::string(),\n            ],\n        ];\n        parent::__construct($graphQlService, $fieldDefinition, $config, $context);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectType/InputType/AbstractRelationInputType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\InputType;\n\nuse GraphQL\\Type\\Definition\\InputObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\nabstract class AbstractRelationInputType extends InputObjectType\n{\n    use ServiceTrait;\n\n    /**\n     * @param array $config\n     * @param array $context\n     */\n    public function __construct(Service $graphQlService, $config, $context = [])\n    {\n        $this->setGraphQLService($graphQlService);\n        $this->build($config);\n        parent::__construct($config);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $config['fields'] = [\n            'id' => [\n                'type' => Type::int(),\n            ],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectType/InputType/ImageInputType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\InputType;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\n\n/**\n * @internal\n */\nfinal class ImageInputType extends AbstractRelationInputType\n{\n    /**\n     * @param array $config\n     * @param array $context\n     */\n    public function __construct(Service $graphQlService, $config = ['name' => 'ImageInput'], $context = [])\n    {\n        parent::__construct($graphQlService, $config, $context);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectType/LinkInputType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType;\n\nuse GraphQL\\Type\\Definition\\EnumType;\nuse GraphQL\\Type\\Definition\\InputObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\n/**\n * @internal\n */\nfinal class LinkInputType extends InputObjectType\n{\n    use ServiceTrait;\n\n    /**\n     * @param array $config\n     */\n    public function __construct(Service $graphQlService, $config = ['name' => 'LinkInput'])\n    {\n        $this->setGraphQLService($graphQlService);\n        $this->build($config);\n        parent::__construct($config);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $resolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\DataObject($this->getGraphQlService());\n        $resolver->setGraphQLService($this->getGraphQlService());\n\n        $config['fields'] = [\n            'text' => Type::string(),\n            'path' => Type::string(),\n            'target' => new EnumType([\n                'name' => 'target',\n                'description' => 'Valid Link targets: \"empty\", \"_blank\", \"_self\", \"_top\", \"_parent\"',\n                'values' => [\n                    'empty' => ['value' => null],\n                    '_blank',\n                    '_self',\n                    '_top',\n                    '_parent',\n                ],\n            ]),\n            'anchor' => Type::string(),\n            'title' => Type::string(),\n            'accesskey' => Type::string(),\n            'rel' => Type::string(),\n            'class' => Type::string(),\n            'attributes' => Type::string(),\n            'tabindex' => Type::string(),\n            'parameters' => Type::string(),\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectType/LinkType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\Type;\n\n/**\n * @internal\n */\nfinal class LinkType extends ObjectType\n{\n    protected static $instance;\n\n    /**\n     * @return static\n     */\n    public static function getInstance()\n    {\n        if (!self::$instance) {\n            $resolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\Link();\n            $config =\n                [\n                    'fields' => [\n                        'text' => [\n                            'type' => Type::string(),\n                            'resolve' => [$resolver, 'resolveText'],\n                        ],\n                        'path' => [\n                            'type' => Type::string(),\n                            'resolve' => [$resolver, 'resolvePath'],\n                        ],\n                        'target' => [\n                            'type' => Type::string(),\n                            'resolve' => [$resolver, 'resolveTarget'],\n                        ],\n                        'anchor' => [\n                            'type' => Type::string(),\n                            'resolve' => [$resolver, 'resolveAnchor'],\n                        ],\n                        'title' => [\n                            'type' => Type::string(),\n                            'resolve' => [$resolver, 'resolveTitle'],\n                        ],\n                        'accesskey' => [\n                            'type' => Type::string(),\n                            'resolve' => [$resolver, 'resolveAccesskey'],\n                        ],\n                        'rel' => [\n                            'type' => Type::string(),\n                            'resolve' => [$resolver, 'resolveRel'],\n                        ],\n                        'class' => [\n                            'type' => Type::string(),\n                            'resolve' => [$resolver, 'resolveClass'],\n                        ],\n                        'attributes' => [\n                            'type' => Type::string(),\n                            'resolve' => [$resolver, 'resolveAttributes'],\n                        ],\n                        'tabindex' => [\n                            'type' => Type::string(),\n                            'resolve' => [$resolver, 'resolveTabindex'],\n                        ],\n                        'parameters' => [\n                            'type' => Type::string(),\n                            'resolve' => [$resolver, 'resolveParameters'],\n                        ],\n                    ],\n                ];\n            self::$instance = new static($config);\n        }\n\n        return self::$instance;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectType/LocalizedType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType;\n\nuse GraphQL\\Type\\Definition\\InputObjectType;\nuse GraphQL\\Type\\Definition\\ListOfType;\nuse Pimcore\\Tool;\n\n/**\n * @internal\n */\nfinal class LocalizedType extends InputObjectType\n{\n    /**\n     * @var array<string, LocalizedType>\n     */\n    protected static $instances;\n\n    /**\n     * @param mixed $determinedType\n     *\n     * @return mixed\n     */\n    public static function getInstance($determinedType)\n    {\n        try {\n            $determinedTypeName = $determinedType->toString();\n\n            if ($determinedType instanceof ListOfType) {\n                $determinedTypeName = $determinedType->getWrappedType()->toString() . 'List';\n            }\n        } catch (\\Throwable $throwable) {\n            return $determinedType;\n        }\n\n        if (!isset(self::$instances[$determinedTypeName])) {\n            $config = ['name' => 'Localized' . $determinedTypeName];\n\n            foreach (Tool::getValidLanguages() as $language) {\n                $config['fields'][$language] = [\n                    'type' => $determinedType,\n                ];\n            }\n\n            self::$instances[$determinedTypeName] = new static($config);\n        }\n\n        return self::$instances[$determinedTypeName];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectType/MultihrefMetadataType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\MultihrefMetadata;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\nuse Pimcore\\Model\\DataObject\\Fieldcollection\\Definition;\n\n/**\n * @internal\n */\nfinal class MultihrefMetadataType extends ObjectType\n{\n    use ServiceTrait;\n\n    /**\n     * @var null\n     */\n    protected $class;\n\n    /** @var Data */\n    protected $fieldDefinition;\n\n    /**\n     * @param ClassDefinition|Definition|null $class\n     * @param array $config\n     */\n    public function __construct(Service $graphQlService, ?Data $fieldDefinition = null, $class = null, $config = [])\n    {\n        $this->class = $class;\n        $this->setGraphQlService($graphQlService);\n        $this->fieldDefinition = $fieldDefinition;\n        $name = ($class instanceof Definition) ? $class->getKey() : $class->getName();\n\n        $config['name'] = 'object_'.$name.'_'.$fieldDefinition->getName();\n        $this->build($config);\n        parent::__construct($config);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $fieldDefinition = $this->fieldDefinition;\n        $class = $this->class;\n        $metadataKeyValuePairType = ElementMetadataKeyValuePairType::getInstance();\n        $resolver = new MultihrefMetadata($fieldDefinition, $class, $this->getGraphQlService()->getObjectFieldHelper());\n        $fields = ['element' =>\n                       [\n                           'type' => new HrefType($this->getGraphQlService(), $this->fieldDefinition, $this->class),\n                           'resolve' => [$resolver, 'resolveElement'],\n                       ],\n                   'metadata' => [\n                       'type' => Type::listOf($metadataKeyValuePairType),\n                       'resolve' => [$resolver, 'resolveMetadata'],\n                   ]];\n\n        $config['fields'] = $fields;\n\n        return;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectType/ObjectFolderType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\General\\FolderType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\n\n/**\n * @internal\n */\nfinal class ObjectFolderType extends FolderType\n{\n    /**\n     * @param array $config\n     * @param array $context\n     */\n    public function __construct(Service $graphQlService, $config = [], $context = [])\n    {\n        parent::__construct($graphQlService, ['name' => 'object_folder'], $context);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $propertyType = $this->getGraphQlService()->buildGeneralType('element_property');\n        $objectTreeType = $this->getGraphQlService()->buildGeneralType('object_tree');\n\n        $resolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\DataObject($this->getGraphQLService());\n\n        $config['fields'] = [\n            'id' => [\n                'name' => 'id',\n                'type' => Type::id(),\n            ],\n            'key' => Type::string(),\n            'fullpath' => [\n                'type' => Type::string(),\n            ],\n            'creationDate' => [\n                'type' => Type::string(),\n                'resolve' => [$resolver, 'resolveCreationDate'],\n            ],\n            'modificationDate' => [\n                'type' => Type::string(),\n                'resolve' => [$resolver, 'resolveModificationDate'],\n            ],\n            'parent' => [\n                'type' => $objectTreeType,\n                'resolve' => [$resolver, 'resolveParent'],\n            ],\n            'index' => [\n                'type' => Type::int(),\n                'resolve' => [$resolver, 'resolveIndex'],\n            ],\n            'childrenSortBy' => [\n                'type' => Type::string(),\n                'resolve' => [$resolver, 'resolveChildrenSortBy'],\n            ],\n            'children' => [\n                'type' => Type::listOf($objectTreeType),\n                'args' => [\n                    'objectTypes' => [\n                        'type' => Type::listOf(Type::string()),\n                        'description' => 'list of object types (object, variant, folder)',\n                    ],\n                ],\n                'resolve' => [$resolver, 'resolveChildren'],\n            ],\n            'properties' => [\n                'type' => Type::listOf($propertyType),\n                'args' => [\n                    'keys' => [\n                        'type' => Type::listOf(Type::string()),\n                        'description' => 'comma separated list of key names',\n                    ],\n                ],\n                'resolve' => [$resolver, 'resolveProperties'],\n            ],\n            '_siblings' => [\n                'type' => Type::listOf($objectTreeType),\n                'args' => [\n                    'objectTypes' => [\n                        'type' => Type::listOf(Type::string()),\n                        'description' => 'list of object types (object, variant, folder)',\n                    ],\n                ],\n                'resolve' => [$resolver, 'resolveSiblings'],\n            ],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectType/ObjectMetadataType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassTypeDefinitions;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\ObjectMetadata;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\nuse Pimcore\\Model\\DataObject\\Fieldcollection\\Definition as FieldcollectionDefinition;\nuse Pimcore\\Model\\DataObject\\Objectbrick\\Definition as ObjectbrickDefinition;\n\n/**\n * @internal\n */\nfinal class ObjectMetadataType extends ObjectType\n{\n    use ServiceTrait;\n\n    protected $class;\n\n    /** @var Data */\n    protected $fieldDefinition;\n\n    /**\n     * @param ClassDefinition|null $class\n     * @param array $config\n     */\n    public function __construct(Service $graphQlService, ?Data $fieldDefinition = null, $class = null, $config = [])\n    {\n        $this->setGraphQLService($graphQlService);\n        $this->class = $class;\n        $this->fieldDefinition = $fieldDefinition;\n        if ($class instanceof ObjectbrickDefinition) {\n            $config['name'] = 'objectbrick_' . $class->getKey() . '_' . $fieldDefinition->getName();\n        } elseif ($class instanceof FieldcollectionDefinition) {\n            $config['name'] = 'fieldcollection_' . $class->getKey() . '_' . $fieldDefinition->getName();\n        } else {\n            $config['name'] = 'object_' . $class->getName() . '_' . $fieldDefinition->getName();\n        }\n        $this->build($config);\n        parent::__construct($config);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $fieldHelper = $this->getGraphQlService()->getObjectFieldHelper();\n        /** @var Data\\AdvancedManyToManyObjectRelation $fieldDefinition */\n        $fieldDefinition = $this->fieldDefinition;\n        $class = $this->class;\n\n        $className = $fieldDefinition->getAllowedClassId();\n        $elementTypeDefinition = ClassTypeDefinitions::get($className);\n        $metadataKeyValuePairType = ElementMetadataKeyValuePairType::getInstance();\n        $resolver = new ObjectMetadata($fieldDefinition, $class, $fieldHelper);\n\n        $fields = ['element' =>\n            [\n                'type' => $elementTypeDefinition,\n                'resolve' => [$resolver, 'resolveElement'],\n            ],\n            'metadata' => [\n                'type' => Type::listOf($metadataKeyValuePairType),\n                'resolve' => [$resolver, 'resolveMetadata'],\n\n            ]];\n\n        $config['fields'] = $fields;\n\n        return;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectType/ObjectTreeType.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType;\n\nuse GraphQL\\Deferred;\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\UnionType;\nuse Pimcore\\Bundle\\CoreBundle\\DependencyInjection\\ContainerAwareInterface;\nuse Pimcore\\Bundle\\CoreBundle\\DependencyInjection\\ContainerAwareTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\Configuration;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassTypeDefinitions;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\PimcoreDataHubBundle;\nuse Pimcore\\Cache\\RuntimeCache;\nuse Pimcore\\Model\\DataObject;\n\n/**\n * @internal\n */\nfinal class ObjectTreeType extends UnionType implements ContainerAwareInterface\n{\n    use ContainerAwareTrait;\n    use ServiceTrait;\n\n    /**\n     * @param array $config\n     */\n    public function __construct(Service $graphQlService, $config = ['name' => 'object_tree'])\n    {\n        $this->setGraphQLService($graphQlService);\n        parent::__construct($config);\n    }\n\n    /**\n     *\n     * @throws \\Exception\n     */\n    public function getTypes(): array\n    {\n        $context = RuntimeCache::get(PimcoreDataHubBundle::RUNTIME_CONTEXT_KEY);\n        /** @var Configuration $configuration */\n        $configuration = $context['configuration'];\n\n        $types = array_values(ClassTypeDefinitions::getAll(true));\n        if ($configuration->getSpecialEntities()['object_folder']['read'] ?? false) {\n            $types[] = $this->getGraphQlService()->getDataObjectTypeDefinition('_object_folder');\n        }\n\n        return $types;\n    }\n\n    public function resolveType($element, $context, ResolveInfo $info): ObjectType|string|callable|Deferred|null\n    {\n        if (!$element) {\n            return null;\n        }\n        $object = DataObject\\AbstractObject::getById($element['id']);\n\n        if ($object instanceof DataObject\\Folder) {\n            return $this->getGraphQlService()->getDataObjectTypeDefinition('_object_folder');\n        }\n\n        return ClassTypeDefinitions::get($object->getClass());\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectType/PimcoreObjectType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType;\n\nuse GraphQL\\Error\\InvariantViolation;\nuse GraphQL\\Type\\Definition\\FieldDefinition;\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\Configuration;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\FieldcollectionDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\TypeInterface\\Element;\nuse Pimcore\\Cache\\RuntimeCache;\nuse Pimcore\\Model\\DataObject;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\Fieldcollection;\nuse Pimcore\\Model\\DataObject\\Fieldcollection\\Data\\AbstractData;\nuse Pimcore\\Model\\DataObject\\Fieldcollection\\Definition;\n\n/**\n * @internal\n */\nfinal class PimcoreObjectType extends ObjectType\n{\n    use ServiceTrait;\n\n    /**\n     * @var string\n     */\n    protected $className;\n\n    /**\n     * @var string\n     */\n    protected $classId;\n\n    protected static $skipOperators;\n\n    protected $fields;\n\n    /**\n     * @param string $classId\n     * @param array $config\n     * @param array $context\n     */\n    public function __construct(Service $graphQlService, string $className, $classId, $config = [], $context = [])\n    {\n        $this->className = $className;\n        $this->classId = $classId;\n        $this->name = $config['name'] = 'object_' . $className;\n        $this->setGraphQLService($graphQlService);\n        $config['interfaces'] = [Element::getInstance()];\n        parent::__construct($config);\n    }\n\n    /**\n     * @param array $context\n     */\n    public function build($context = [])\n    {\n        $propertyType = $this->getGraphQlService()->buildGeneralType('element_property');\n        $objectTreeType = $this->getGraphQlService()->buildGeneralType('object_tree');\n        $elementTagType = $this->getGraphQlService()->buildGeneralType('element_tag');\n\n        $resolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\DataObject($this->getGraphQLService());\n\n        // these are the system fields that are always available, maybe move some of them to FieldHelper so that they\n        // are only visible if explicitly configured by the user\n        $fields = [\n            'id' => Type::id(),\n            'creationDate' => [\n                'type' => Type::string(),\n                'resolve' => function (\n                    ElementDescriptor $value\n                ): ?string {\n                    $id = $value['id'] ?? null;\n                    if (!$id) {\n                        return null;\n                    }\n                    $object = DataObject::getById($id);\n                    if ($object) {\n                        return $this->getGraphQlService()->getFormattedDateTimeStringFromTimestamp(\n                            $object->getCreationDate()\n                        );\n                    }\n\n                    return null;\n                }],\n            'modificationDate' => [\n                'type' => Type::string(),\n                'resolve' => function (\n                    ElementDescriptor $value,\n                ): ?string {\n                    $id = $value['id'] ?? null;\n                    if (!$id) {\n                        return null;\n                    }\n                    $object = DataObject::getById($value['id']);\n                    if ($object) {\n                        return $this->getGraphQlService()->getFormattedDateTimeStringFromTimestamp(\n                            $object->getModificationDate()\n                        );\n                    }\n\n                    return null;\n                }],\n            'version' => [\n                'type' => Type::int(),\n                'resolve' => function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                    $object = DataObject::getById($value['id']);\n                    if ($object) {\n                        foreach (array_reverse($object->getVersions()) as $version) {\n                            if ($object->getModificationDate() === $version->getDate()) {\n                                return $version->getId();\n                            }\n                        }\n                    }\n\n                    return null;\n                },\n            ],\n            'objectType' => [\n                'type' => Type::string(),\n                'resolve' => function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                    $object = DataObject::getById($value['id']);\n\n                    if ($object) {\n                        $result = $object->getType();\n\n                        if ($result) {\n                            return $result;\n                        }\n                    }\n\n                    return null;\n                },\n            ],\n            'index' => [\n                'type' => Type::int(),\n                'resolve' => [$resolver, 'resolveIndex'],\n            ],\n            'childrenSortBy' => [\n                'type' => Type::string(),\n                'resolve' => [$resolver, 'resolveChildrenSortBy'],\n            ],\n            'classname' => [\n                'type' => Type::string(),\n            ],\n            'tags' => [\n                'type' => Type::listOf($elementTagType),\n                'args' => [\n                    'name' => ['type' => Type::string()],\n                ],\n                'resolve' => [$resolver, 'resolveTag'],\n            ],\n            'properties' => [\n                'type' => Type::listOf($propertyType),\n                'args' => [\n                    'keys' => [\n                        'type' => Type::listOf(Type::string()),\n                        'description' => 'comma separated list of key names',\n                    ],\n                ],\n                'resolve' => [$resolver, 'resolveProperties'],\n            ],\n            'parent' => [\n                'type' => $objectTreeType,\n                'resolve' => [$resolver, 'resolveParent'],\n            ],\n            'children' => [\n                'type' => Type::listOf($objectTreeType),\n                'args' => [\n                    'objectTypes' => [\n                        'type' => Type::listOf(Type::string()),\n                        'description' => 'list of object types (object, variant, folder)',\n                    ],\n                ],\n                'resolve' => [$resolver, 'resolveChildren'],\n            ],\n            '_siblings' => [\n                'type' => Type::listOf($objectTreeType),\n                'args' => [\n                    'objectTypes' => [\n                        'type' => Type::listOf(Type::string()),\n                        'description' => 'list of object types (object, variant, folder)',\n                    ],\n                ],\n                'resolve' => [$resolver, 'resolveSiblings'],\n            ],\n        ];\n\n        if ($context['clientname']) {\n\n            /** @var Configuration $configurationItem */\n            $configurationItem = $context['configuration'];\n\n            $queryColumnConfig = $configurationItem->getQueryColumnConfig($this->className);\n            $columns = isset($queryColumnConfig['columns']) ? $queryColumnConfig['columns'] : [];\n\n            if ($columns) {\n                $class = ClassDefinition::getById($this->classId);\n                foreach ($columns as $column) {\n                    if ($column['isOperator'] && self::$skipOperators) {\n                        continue;\n                    }\n\n                    if (!$column['isOperator'] && is_array($column['attributes']) && $column['attributes']['dataType'] == 'fieldcollections') {\n                        $this->addFieldCollectionDefs($column, $class, $fields);\n                    } else {\n                        $fieldHelper = $this->getGraphQlService()->getObjectFieldHelper();\n                        $result = $fieldHelper->getQueryFieldConfigFromConfig($column, $class);\n                        if (is_array($result)) {\n                            $fields[$result['key']] = $result['config'];\n                        }\n                    }\n                }\n            }\n        }\n\n        $this->fields = null;\n        ksort($fields);\n        $this->config['fields'] = $fields;\n    }\n\n    /**\n     * @param array $column\n     * @param array $fields\n     *\n     * @return void\n     *\n     * @throws \\Exception\n     */\n    public function addFieldCollectionDefs($column, ClassDefinition $class, &$fields)\n    {\n        $fieldname = $column['attributes']['attribute'];\n        /** @var ClassDefinition\\Data\\Fieldcollections $fieldDef */\n        $fieldDef = $class->getFieldDefinition(($fieldname));\n        $allowedFcs = $fieldDef->getAllowedTypes();\n        $fieldHelper = $this->getGraphQlService()->getObjectFieldHelper();\n\n        $unionTypes = [];\n\n        foreach ($allowedFcs as $allowedFcName) {\n            $fcKey = 'graphql_fieldcollection_' . $allowedFcName;\n            if (RuntimeCache::isRegistered($fcKey)) {\n                $itemFcType = RuntimeCache::get($fcKey);\n            } else {\n                $fcDef = Definition::getByKey($allowedFcName);\n                $fcFields = [];\n                if ($fcDef != null) {\n                    $fcFieldDefs = $fcDef->getFieldDefinitions();\n\n                    foreach ($fcFieldDefs as $key => $fieldDef) {\n                        $attrName = $fieldDef->getName();\n                        $columnDesc = [\n                            'isOperator' => false,\n                            'attributes' => [\n                                'attribute' => $attrName,\n                                'label' => $fieldDef->getName(),\n                                'dataType' => $fieldDef->getFieldtype(),\n                            ],\n                        ];\n                        $fcResult = $fieldHelper->getQueryFieldConfigFromConfig($columnDesc, $fcDef);\n                        if ($fcResult) {\n                            $fcFields[$fcResult['key']] = $fcResult['config'];\n                        }\n                    }\n                }\n\n                $fcLocalizedFields = $fcDef->getFieldDefinition('localizedfields');\n                if ($fcLocalizedFields instanceof ClassDefinition\\Data\\Localizedfields) {\n                    $fcLocalizedFieldDefs = $fcLocalizedFields->getFieldDefinitions();\n\n                    foreach ($fcLocalizedFieldDefs as $key => $fieldDef) {\n                        $attrName = $fieldDef->getName();\n\n                        $columnDesc = [\n                            'isOperator' => false,\n                            'attributes' => [\n                                'attribute' => $attrName,\n                                'label' => $fieldDef->getName(),\n                                'dataType' => $fieldDef->getFieldtype(),\n                            ],\n                        ];\n                        $fcResult = $fieldHelper->getQueryFieldConfigFromConfig($columnDesc, $fcDef, $fcLocalizedFields);\n                        if ($fcResult) {\n                            $fcFields[$fcResult['key']] = $fcResult['config'];\n                        }\n                    }\n                }\n\n                $typename = 'fieldcollection_' . $allowedFcName;\n\n                $itemFcType = new ObjectType([\n                    'name' => $typename,\n                    'fields' => $fcFields,\n                ]);\n\n                RuntimeCache::save($itemFcType, $fcKey);\n            }\n\n            $unionTypes[] = $itemFcType;\n        }\n\n        $unionname = 'object_' . $this->className . '_' . $fieldname;\n\n        $unionTypesConfig = [\n            'name' => $unionname,\n            'types' => $unionTypes,\n        ];\n\n        $union = new FieldcollectionType($this->getGraphQlService(), $unionTypesConfig);\n\n        $fields[$fieldname] =\n            [\n                'name' => $fieldname,\n                'type' => Type::listOf($union),\n                'resolve' => function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) use ($fieldname) {\n                    if ($value[$fieldname] instanceof Fieldcollection) {\n                        $lofItems = [];\n                        $fcData = $value[$fieldname];\n\n                        $items = $fcData->getItems();\n                        if ($items) {\n                            $idx = -1;\n\n                            /** @var AbstractData $item */\n                            foreach ($items as $item) {\n                                $idx++;\n                                $data = new FieldcollectionDescriptor();\n                                $data['__fcType'] = $item->getType();\n                                $data['__fcFieldname'] = $fieldname;\n                                $data['__itemIdx'] = $idx;\n\n                                $data['id'] = $value['id'];\n                                $fieldHelper = $this->getGraphQlService()->getObjectFieldHelper();\n                                $fieldHelper->extractData($data, $item, $args, $context, $resolveInfo);\n                                $lofItems[] = $data;\n                            }\n                        }\n\n                        return $lofItems;\n                    }\n\n                    return null;\n                },\n\n            ];\n    }\n\n    /**\n     * @return FieldDefinition[]\n     *\n     * @throws InvariantViolation\n     */\n    public function getFields(): array\n    {\n        if (null === $this->fields) {\n            $fields = isset($this->config['fields']) ? $this->config['fields'] : [];\n            $this->fields = FieldDefinition::defineFieldMap($this, $fields);\n        }\n\n        return $this->fields;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectType/QuantityValueInputType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType;\n\nuse GraphQL\\Type\\Definition\\InputObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\n/**\n * @internal\n */\nfinal class QuantityValueInputType extends InputObjectType\n{\n    use ServiceTrait;\n\n    /**\n     * @param array $config\n     */\n    public function __construct(Service $graphQlService, $config = ['name' => 'QuantityValueInput'])\n    {\n        $this->setGraphQLService($graphQlService);\n        $this->build($config);\n        parent::__construct($config);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $resolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\DataObject($this->getGraphQlService());\n        $resolver->setGraphQLService($this->getGraphQlService());\n\n        $config['fields'] = [\n            'value' => Type::float(),\n            'unit' => Type::string(),\n            'unitId' => Type::string(),\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectType/QuantityValueType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\nclass QuantityValueType extends ObjectType\n{\n    use ServiceTrait;\n\n    /** @var Data */\n    protected $fieldDefinition;\n\n    /**\n     * @param array $config\n     * @param array $context\n     */\n    public function __construct(Service $graphQlService, ?Data $fieldDefinition = null, $config = [], $context = [])\n    {\n        $this->fieldDefinition = $fieldDefinition;\n        $this->setGraphQLService($graphQlService);\n        $this->build($config);\n        parent::__construct($config);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $valueType = Type::float();\n        if (isset($config['fields']['value']['type'])) {\n            $valueType = $config['fields']['value']['type'];\n        }\n\n        $config['fields'] = self::getFieldConfig($this->getGraphQlService(), $valueType);\n    }\n\n    /**\n     * @param string $valueType\n     *\n     * @return array[]\n     */\n    public static function getFieldConfig(Service $graphQlService, $valueType)\n    {\n        $resolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\QuantityValue();\n        $resolver->setGraphQLService($graphQlService);\n        $fields = [\n            'unit' => [\n                'type' => QuantityValueUnitType::getInstance(),\n                'resolve' => [$resolver, 'resolveUnit'],\n            ],\n            'value' => [\n                'type' => $valueType,\n                'resolve' => [$resolver, 'resolveValue'],\n            ],\n            'toString' => [\n                'type' => Type::string(),\n                'resolve' => [$resolver, 'resolveToString'],\n                'args' => ['language' => ['type' => Type::string()]],\n            ],\n        ];\n\n        return $fields;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectType/QuantityValueUnitType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\Type;\n\n/**\n * @internal\n */\nfinal class QuantityValueUnitType extends ObjectType\n{\n    /** @var static|null */\n    protected static $instance;\n\n    /**\n     * @return static\n     */\n    public static function getInstance()\n    {\n        if (!self::$instance) {\n            $config = [\n                'fields' => [\n                    'id' => Type::id(),\n                    'abbreviation' => Type::string(),\n                    'longname' => Type::string(),\n                ],\n            ];\n            self::$instance = new static($config);\n        }\n\n        return self::$instance;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectType/UrlSlugType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\n/**\n * @internal\n */\nfinal class UrlSlugType extends ObjectType\n{\n    use ServiceTrait;\n\n    /** @var Data */\n    protected $fieldDefinition;\n\n    /**\n     * @param array $config\n     * @param array $context\n     */\n    public function __construct(Service $graphQlService, ?Data $fieldDefinition = null, $config = [], $context = [])\n    {\n        $this->fieldDefinition = $fieldDefinition;\n        $this->setGraphQLService($graphQlService);\n        $this->build($config);\n        parent::__construct($config);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $config['fields'] = self::getFieldConfig($this->getGraphQlService());\n    }\n\n    /**\n     *\n     * @return array[]\n     */\n    public static function getFieldConfig(Service $graphQlService)\n    {\n        $resolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\UrlSlug();\n        $resolver->setGraphQLService($graphQlService);\n        $fields = [\n            'slug' => [\n                'type' => Type::string(),\n                'resolve' => [$resolver, 'resolveSlug'],\n            ],\n            'siteId' => [\n                'type' => Type::int(),\n                'resolve' => [$resolver, 'resolveSiteId'],\n            ],\n        ];\n\n        return $fields;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectType/VideoType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\n/**\n * @internal\n */\nfinal class VideoType extends ObjectType\n{\n    use ServiceTrait;\n\n    /**\n     * @var VideoTypeDataType\n     */\n    protected $videoDataType;\n\n    public function __construct(Service $graphQlService, VideoTypeDataType $videoDataType)\n    {\n        $this->setGraphQLService($graphQlService);\n        $this->videoDataType = $videoDataType;\n        $this->build($config);\n        parent::__construct($config);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $resolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\Video();\n        $resolver->setGraphQLService($this->getGraphQlService());\n        $service = $this->getGraphQlService();\n        $assetType = $service->buildAssetType('asset');\n\n        $config['fields'] =\n            [\n                'type' => [\n                    'type' => Type::string(),\n                    'resolve' => [$resolver, 'resolveType'],\n                ],\n                'data' => [\n                    'type' => $this->videoDataType,\n                    'resolve' => [$resolver, 'resolveData'],\n                ],\n                'poster' => [\n                    'type' => $assetType,\n                    'resolve' => [$resolver, 'resolvePoster'],\n                ],\n                'title' => [\n                    'type' => Type::string(),\n                    'resolve' => [$resolver, 'resolveTitle'],\n                ],\n                'description' => [\n                    'type' => Type::string(),\n                    'resolve' => [$resolver, 'resolveDescription'],\n                ],\n\n            ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectType/VideoTypeDataType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType;\n\nuse GraphQL\\Deferred;\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse GraphQL\\Type\\Definition\\UnionType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\AssetType\\AssetType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\n/**\n * @internal\n */\nfinal class VideoTypeDataType extends UnionType\n{\n    use ServiceTrait;\n\n    /** @var AssetType */\n    protected $assetType;\n\n    public function __construct(Service $graphQlService)\n    {\n        $this->setGraphQLService($graphQlService);\n\n        // @phpstan-ignore-next-line - We can't define the types in the constructor because the `getTypes` method is overwritten\n        parent::__construct(['name' => 'VideoData']);\n    }\n\n    /**\n     *\n     * @throws \\Exception\n     */\n    public function getTypes(): array\n    {\n        // why not just use scalars ?\n        // https://kamranicus.com/posts/2018-07-02-handling-multiple-scalar-types-in-graphql\n        $service = $this->getGraphQlService();\n        $this->assetType = $service->buildAssetType('asset');\n\n        return [\n            new ObjectType([\n                    'name' => 'VideoDataDescriptor',\n                    'fields' => [\n                        'id' => ['type' => Type::string(), 'description' => 'external ID'],\n                    ],\n                ]\n            ),\n            $this->assetType,\n        ];\n    }\n\n    public function resolveType($element, $context, ResolveInfo $info): ObjectType|string|callable|Deferred|null\n    {\n        if ($element instanceof ElementDescriptor) {\n            return $this->assetType;\n        }\n\n        return $info->schema->getType('VideoDataDescriptor');\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DataObjectTypeFactory.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\n\nfinal class DataObjectTypeFactory\n{\n    use ServiceTrait;\n\n    public static $registry = [];\n\n    protected string $className;\n\n    public function __construct(Service $graphQlService, string $className)\n    {\n        $this->className = $className;\n        $this->setGraphQLService($graphQlService);\n    }\n\n    /**\n     * @return mixed\n     */\n    public function build(string $className, $config = [], $context = [])\n    {\n        if (!isset(self::$registry[$className])) {\n            $class = ClassDefinition::getByName($className);\n            $operatorImpl = new $this->className(\n                $this->getGraphQlService(),\n                $className,\n                $class->getId(),\n                $config,\n                $context\n            );\n            self::$registry[$className] = $operatorImpl;\n        }\n\n        return self::$registry[$className];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementInputProcessor/Areablock.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Mutation\\MutationType;\nuse Pimcore\\Model\\Document\\PageSnippet;\n\n/**\n * @internal\n */\nfinal class Areablock extends Base\n{\n    use EditablesTrait;\n\n    /**\n     * @param PageSnippet $document\n     * @param mixed $newValue\n     * @param array $args\n     * @param mixed $context\n     */\n    public function process($document, $newValue, $args, $context, ResolveInfo $info)\n    {\n        $editableType = $newValue['_editableType'];\n\n        $editable = $this->editableLoader->build($editableType);\n\n        $editableName = $newValue['_editableName'];\n        $editable->setName($editableName);\n\n        $typeCache = &MutationType::$typeCache;\n\n        $indices = [];\n        if (is_array($newValue)) {\n            if (array_key_exists('indices', $newValue)) {\n                $indices = $newValue['indices'];\n            }\n        }\n\n        $idx = 0;\n        if (isset($newValue['items'])) {\n            foreach ($newValue['items'] as $blockItem) {\n                $blockType = $blockItem['type'];\n                $editables = $blockItem['editables'] ?? [];\n                $hidden = $blockItem['hidden'] ?? false;\n\n                if ($blockItem['replace'] ?? true) {\n                    $this->cleanEditables($document, $editableName . ':' . ($idx + 1));\n                }\n\n                $indices[$idx] = [\n                    'key' => $idx + 1,\n                    'type' => $blockType,\n                    'hidden' => $hidden,\n                ];\n\n                foreach ($editables as $editableType => $listByType) {\n                    foreach ($listByType as $editableData) {\n                        $editableData['_editableName'] = $editableName . ':' . ($idx + 1) . '.' . $editableData['_editableName'];\n                        $editableData['_editableName'] = $editableType;\n                        $typeDefinition = $typeCache[$editableType];\n                        $processor = $typeDefinition['processor'];\n                        call_user_func_array($processor, [$document, $editableData, $args, $context, $info]);\n                    }\n                }\n\n                $idx++;\n            }\n        }\n\n        ksort($indices);\n\n        $editable->setDataFromEditmode($indices);\n\n        if (method_exists($document, 'setElement')) {\n            $document->setElement($editableName, $editable);\n        } else {\n            $document->setEditable($editable);\n        }\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementInputProcessor/Base.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\Document\\Editable\\Loader\\EditableLoaderInterface;\nuse Pimcore\\Model\\Document\\PageSnippet;\n\nabstract class Base\n{\n    use ServiceTrait;\n\n    /**\n     * @var EditableLoaderInterface\n     */\n    protected $editableLoader;\n\n    public function __construct(EditableLoaderInterface $editableLoader, Service $graphQlService)\n    {\n        $this->editableLoader = $editableLoader;\n        $this->graphQlService = $graphQlService;\n    }\n\n    /**\n     * @param PageSnippet $document\n     * @param mixed $newValue\n     * @param array $args\n     * @param mixed $context\n     */\n    public function process($document, $newValue, $args, $context, ResolveInfo $info)\n    {\n        $editableName = $newValue['_editableName'];\n        $editableType = $newValue['_editableType'];\n\n        $text = $newValue['text'];\n\n        $editable = $this->editableLoader->build($editableType);\n        $editable->setName($editableName);\n        $editable->setDataFromResource($text);                   // this should be at least valid for input, wysiwyg\n\n        if (method_exists($document, 'setElement')) {\n            $document->setElement($editableName, $editable);\n        } else {\n            $document->setEditable($editable);\n        }\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementInputProcessor/Block.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Mutation\\MutationType;\nuse Pimcore\\Model\\Document\\PageSnippet;\n\n/**\n * @internal\n */\nfinal class Block extends Base\n{\n    use EditablesTrait;\n\n    /**\n     * @param PageSnippet $document\n     * @param mixed $newValue\n     * @param array $args\n     * @param mixed $context\n     */\n    public function process($document, $newValue, $args, $context, ResolveInfo $info)\n    {\n        $editableType = $newValue['_editableType'];\n\n        $editable = $this->editableLoader->build($editableType);\n\n        $editableName = $newValue['_editableName'];\n        $editable->setName($editableName);\n\n        $typeCache = &MutationType::$typeCache;\n\n        $indices = [];\n        if (is_array($newValue)) {\n            if (array_key_exists('indices', $newValue)) {\n                $indices = $newValue['indices'];\n            }\n        }\n\n        $idx = 0;\n        if (isset($newValue['items'])) {\n            foreach ($newValue['items'] as $blockItem) {\n                $editables = $blockItem['editables'] ?? [];\n\n                $indices[$idx] = $idx + 1;\n\n                if ($blockItem['replace'] ?? true) {\n                    $this->cleanEditables($document, $editableName . ':' . ($idx + 1));\n                }\n\n                foreach ($editables as $editableType => $listByType) {\n                    foreach ($listByType as $editableData) {\n                        $editableData['_editableName'] = $editableName . ':' . ($idx + 1) . '.' . $editableData['_editableName'];\n                        $editableData['_editableType'] = $editableType;\n                        $typeDefinition = $typeCache[$editableType];\n                        $processor = $typeDefinition['processor'];\n                        call_user_func_array($processor, [$document, $editableData, $args, $context, $info]);\n                    }\n                }\n\n                $idx++;\n            }\n        }\n\n        ksort($indices);\n\n        $editable->setDataFromEditmode($indices);\n\n        if (method_exists($document, 'setElement')) {\n            $document->setElement($editableName, $editable);\n        } else {\n            $document->setEditable($editable);\n        }\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementInputProcessor/EditablesTrait.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor;\n\nuse Pimcore\\Model\\Document\\PageSnippet;\n\ntrait EditablesTrait\n{\n    /**\n     * @param string $editableName\n     *\n     * @return void\n     */\n    public function cleanEditables(PageSnippet $document, $editableName)\n    {\n        $editables = $document->getEditables();\n\n        foreach ($editables as $editable) {\n            $name = $editable->getName();\n            if ($name === $editableName || strpos($name, $editableName . '.') === 0) {\n                $document->removeEditable($name);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementInputProcessor/Embed.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Model\\Document\\PageSnippet;\n\n/**\n * @internal\n */\nfinal class Embed extends Base\n{\n    /**\n     * @param PageSnippet $document\n     * @param mixed $newValue\n     * @param array $args\n     * @param mixed $context\n     */\n    public function process($document, $newValue, $args, $context, ResolveInfo $info)\n    {\n        $editableName = $newValue['_editableName'];\n        $editableType = $newValue['_editableType'];\n\n        $url = $newValue['url'];\n\n        /** @var \\Pimcore\\Model\\Document\\Editable\\Embed $editable */\n        $editable = $this->editableLoader->build($editableType);\n        $editable->setName($editableName);\n        $editable->setDataFromResource(serialize(['url' => $url]));                   // this should be at least valid for input, wysiwyg\n\n        if (method_exists($document, 'setElement')) {\n            $document->setElement($editableName, $editable);\n        } else {\n            $document->setEditable($editable);\n        }\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementInputProcessor/Image.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\WorkspaceHelper;\nuse Pimcore\\Model\\Asset;\nuse Pimcore\\Model\\Document\\PageSnippet;\n\n/**\n * @internal\n */\nfinal class Image extends Base\n{\n    /**\n     * @param PageSnippet $document\n     * @param mixed $newValue\n     * @param array $args\n     * @param mixed $context\n     */\n    public function process($document, $newValue, $args, $context, ResolveInfo $info)\n    {\n        $dataFromEditMode = [];\n\n        $assetId = $newValue['id'];\n        $asset = Asset::getById($assetId);\n        if (WorkspaceHelper::checkPermission($asset, 'read')) {\n            $dataFromEditMode['id'] = $assetId;\n        }\n\n        if (isset($newValue['alt'])) {\n            $dataFromEditMode['alt'] = $newValue['alt'];\n        }\n\n        $editableType = $newValue['_editableType'];\n\n        $editable = $this->editableLoader->build($editableType);\n\n        $editableName = $newValue['_editableName'];\n        $editable->setName($editableName);\n\n        $editable->setDataFromEditmode($dataFromEditMode);\n\n        if (method_exists($document, 'setElement')) {\n            $document->setElement($editableName, $editable);\n        } else {\n            $document->setEditable($editable);\n        }\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementInputProcessor/Input.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor;\n\n/**\n * @internal\n */\nfinal class Input extends Base\n{\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementInputProcessor/Multiselect.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Model\\Document\\PageSnippet;\n\n/**\n * @internal\n */\nfinal class Multiselect extends Base\n{\n    /**\n     * @param PageSnippet $document\n     * @param mixed $newValue\n     * @param array $args\n     * @param mixed $context\n     */\n    public function process($document, $newValue, $args, $context, ResolveInfo $info)\n    {\n        $editableName = $newValue['_editableName'];\n        $editableType = $newValue['_editableType'];\n\n        $text = $newValue['selections'] ?? [];\n\n        $editable = $this->editableLoader->build($editableType);\n        $editable->setName($editableName);\n        $editable->setDataFromResource($text);                   // this should be at least valid for input, wysiwyg\n\n        if (method_exists($document, 'setElement')) {\n            $document->setElement($editableName, $editable);\n        } else {\n            $document->setEditable($editable);\n        }\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementInputProcessor/Scheduledblock.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Mutation\\MutationType;\nuse Pimcore\\Model\\Document\\PageSnippet;\n\n/**\n * @internal\n */\nfinal class Scheduledblock extends Base\n{\n    use EditablesTrait;\n\n    /**\n     * @param PageSnippet $document\n     * @param mixed $newValue\n     * @param array $args\n     * @param mixed $context\n     */\n    public function process($document, $newValue, $args, $context, ResolveInfo $info)\n    {\n        $editableType = $newValue['_editableType'];\n\n        $editable = $this->editableLoader->build($editableType);\n\n        $editableName = $newValue['_editableName'];\n        $editable->setName($editableName);\n\n        $typeCache = &MutationType::$typeCache;\n\n        $indices = [];\n        if (is_array($newValue)) {\n            if (array_key_exists('indices', $newValue)) {\n                $indices = $newValue['indices'];\n            }\n        }\n\n        $idx = 0;\n        if (isset($newValue['items'])) {\n            foreach ($newValue['items'] as $blockItem) {\n                $editables = $blockItem['editables'] ?? [];\n                $date = $blockItem['date'];\n\n                if ($blockItem['replace'] ?? true) {\n                    $this->cleanEditables($document, $editableName . ':' . ($idx + 1));\n                }\n\n                $indices[$idx] = [\n                    'key' => $idx,\n                    'date' => $date,\n                ];\n\n                foreach ($editables as $editableType => $listByType) {\n                    foreach ($listByType as $editableData) {\n                        $editableData['_editableName'] = $editableName . ':' . ($idx + 1) . '.' . $editableData['_editableName'];\n                        $editableData['_editableType'] = $editableType;\n                        $typeDefinition = $typeCache[$editableType];\n                        $processor = $typeDefinition['processor'];\n                        call_user_func_array($processor, [$document, $editableData, $args, $context, $info]);\n                    }\n                }\n\n                $idx++;\n            }\n        }\n\n        ksort($indices);\n\n        $editable->setDataFromEditmode($indices);\n\n        if (method_exists($document, 'setElement')) {\n            $document->setElement($editableName, $editable);\n        } else {\n            $document->setEditable($editable);\n        }\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementInputProcessor/Select.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor;\n\n/**\n * @internal\n */\nfinal class Select extends Base\n{\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementInputProcessor/Wysiwyg.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor;\n\n/**\n * @internal\n */\nfinal class Wysiwyg extends Base\n{\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementMutationFieldConfigGenerator/Areablock.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementMutationFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\InputObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\AreablockDataInputType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Mutation\\MutationType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\n\n/**\n * @internal\n */\nfinal class Areablock extends Base\n{\n    /** @var InputObjectType|null */\n    public static $itemType;\n\n    /** @var AreablockDataInputType */\n    protected $areablockDataInputType;\n\n    /** @var \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor\\Areablock */\n    protected $processor;\n\n    public function __construct(Service $graphQlService, AreablockDataInputType $areablockDataInputType, \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor\\Areablock $processor)\n    {\n        $this->setGraphQLService($graphQlService);\n        $this->areablockDataInputType = $areablockDataInputType;\n        $this->processor = $processor;\n    }\n\n    /**\n     * @return array\n     */\n    public function getDocumentElementMutationFieldConfig()\n    {\n        if (!self::$itemType) {\n            self::$itemType = new InputObjectType(\n                [\n                    'name' => 'document_element_input_areablock_item',\n                    'fields' => function () {\n                        return [\n                            'type' => Type::nonNull(Type::string()),\n                            'hidden' => Type::boolean(),\n                            'replace' => [\n                                'type' => Type::boolean(),\n                                'description' => 'if true (default), all elements inside the block will be replaced',\n                            ],\n                            'editables' => MutationType::$documentElementTypes,\n                        ];\n                    },\n                ]\n            );\n        }\n\n        return [\n            'arg' => new InputObjectType(\n                [\n                    'name' => 'document_element_input_areablock',\n                    'fields' => function () {\n                        return [\n                            '_editableName' => Type::nonNull(Type::string()),\n                            'indices' => Type::listOf($this->areablockDataInputType),\n                            'items' => [\n                                'type' => Type::listOf(self::$itemType),\n                            ],\n                        ];\n                    },\n                ]\n\n            ),\n            'processor' => [$this->processor, 'process'],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementMutationFieldConfigGenerator/Base.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementMutationFieldConfigGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\nclass Base\n{\n    use ServiceTrait;\n\n    public function __construct(Service $graphQlService)\n    {\n        $this->setGraphQLService($graphQlService);\n    }\n\n    public function getDocumentElementMutationFieldConfig()\n    {\n        throw new \\Exception(\"needs to be implemented in the base class. let's see, maybe there are similarities\");\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementMutationFieldConfigGenerator/Block.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementMutationFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\InputObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Mutation\\MutationType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\n\n/**\n * @internal\n */\nfinal class Block extends Base\n{\n    /** @var InputObjectType|null */\n    public static $itemType;\n\n    /** @var \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor\\Block */\n    public $processor;\n\n    public function __construct(Service $graphQlService, \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor\\Block $processor)\n    {\n        parent::__construct($graphQlService);\n        $this->processor = $processor;\n    }\n\n    /**\n     * @return array\n     */\n    public function getDocumentElementMutationFieldConfig()\n    {\n        if (!self::$itemType) {\n            self::$itemType = new InputObjectType(\n                [\n                    'name' => 'document_element_input_block_item',\n                    'fields' => function () {\n                        return [\n                            'replace' => [\n                                'type' => Type::boolean(),\n                                'description' => 'if true (default), all elements inside the block will be replaced',\n                                ],\n                            'editables' => MutationType::$documentElementTypes,\n                        ];\n                    },\n                ]\n            );\n        }\n\n        return [\n            'arg' => new InputObjectType(\n                [\n                    'name' => 'document_element_input_block',\n                    'fields' => function () {\n                        return [\n                            '_editableName' => Type::nonNull(Type::string()),\n                            'indices' => Type::listOf(Type::int()),\n                            'items' => [\n                                'type' => Type::listOf(self::$itemType),\n                            ],\n                        ];\n                    },\n                ]\n            ),\n            'processor' => [$this->processor, 'process'],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementMutationFieldConfigGenerator/Embed.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementMutationFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\InputObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\n\n/**\n * @internal\n */\nfinal class Embed extends Base\n{\n    /**\n     * @var \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor\\Embed\n     */\n    public $processor;\n\n    public function __construct(Service $graphQlService, \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor\\Embed $processor)\n    {\n        parent::__construct($graphQlService);\n        $this->processor = $processor;\n    }\n\n    /**\n     * @return array\n     */\n    public function getDocumentElementMutationFieldConfig()\n    {\n        return [\n            'arg' => new InputObjectType(\n                [\n                    'name' => 'document_element_input_embed',\n                    'fields' => [\n                        '_editableName' => Type::nonNull(Type::string()),\n                        'url' => Type::string(),\n                    ],\n                ]\n            ),\n            'processor' => [$this->processor, 'process'],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementMutationFieldConfigGenerator/Image.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementMutationFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\InputObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\n\n/**\n * @internal\n */\nfinal class Image extends Base\n{\n    //TODO extend it with markers, hotspots etc.\n\n    /** @var \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor\\Image */\n    protected $processor;\n\n    public function __construct(Service $graphQlService, \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor\\Image $processor)\n    {\n        parent::__construct($graphQlService);\n        $this->processor = $processor;\n    }\n\n    /**\n     * @return array\n     */\n    public function getDocumentElementMutationFieldConfig()\n    {\n        return [\n            'arg' => new InputObjectType(\n                [\n                    'name' => 'document_element_input_image',\n                    'fields' => [\n                        '_editableName' => Type::nonNull(Type::string()),\n                        'id' => Type::int(),               // the target asset\n                        'alt' => Type::string(),\n                    ],\n                ]\n            ),\n            'processor' => [$this->processor, 'process'],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementMutationFieldConfigGenerator/Input.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementMutationFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\InputObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\n\n/**\n * @internal\n */\nfinal class Input extends Base\n{\n    /**\n     * @var \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor\\Input\n     */\n    public $processor;\n\n    public function __construct(Service $graphQlService, \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor\\Input $processor)\n    {\n        parent::__construct($graphQlService);\n        $this->processor = $processor;\n    }\n\n    /**\n     * @return array\n     */\n    public function getDocumentElementMutationFieldConfig()\n    {\n        return [\n            'arg' => new InputObjectType(\n                [\n                    'name' => 'document_element_input_input',\n                    'fields' => [\n                        '_editableName' => Type::nonNull(Type::string()),\n                        'text' => Type::string(),\n                    ],\n                ]\n            ),\n            'processor' => [$this->processor, 'process'],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementMutationFieldConfigGenerator/Multiselect.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementMutationFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\InputObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\n\n/**\n * @internal\n */\nfinal class Multiselect extends Base\n{\n    /** @var \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor\\Multiselect */\n    public $processor;\n\n    public function __construct(Service $graphQlService, \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor\\Multiselect $processor)\n    {\n        parent::__construct($graphQlService);\n        $this->processor = $processor;\n    }\n\n    /**\n     * @return array\n     */\n    public function getDocumentElementMutationFieldConfig()\n    {\n        return [\n            'arg' => new InputObjectType(\n                [\n                    'name' => 'document_element_input_multisleect',\n                    'fields' => [\n                        '_editableName' => Type::nonNull(Type::string()),\n                        'selections' => Type::listOf(Type::string()),\n                    ],\n                ]\n            ),\n            'processor' => [$this->processor, 'process'],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementMutationFieldConfigGenerator/Scheduledblock.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementMutationFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\InputObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\ScheduledblockDataInputType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Mutation\\MutationType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\n\n/**\n * @internal\n */\nfinal class Scheduledblock extends Base\n{\n    /** @var InputObjectType|null */\n    public static $itemType;\n\n    /** @var ScheduledblockDataInputType */\n    protected $scheduledblockDataInputType;\n\n    /** @var \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor\\Scheduledblock */\n    protected $processor;\n\n    public function __construct(Service $graphQlService, ScheduledblockDataInputType $scheduledblockDataInputType, \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor\\Scheduledblock $processor)\n    {\n        $this->setGraphQLService($graphQlService);\n        $this->scheduledblockDataInputType = $scheduledblockDataInputType;\n        $this->processor = $processor;\n    }\n\n    /**\n     * @return array\n     */\n    public function getDocumentElementMutationFieldConfig()\n    {\n        if (!self::$itemType) {\n            self::$itemType = new InputObjectType(\n                [\n                    'name' => 'document_element_input_scheduledblock_item',\n                    'fields' => function () {\n                        return [\n                            'date' => Type::int(),\n                            'replace' => [\n                                'type' => Type::boolean(),\n                                'description' => 'if true (default), all elements inside the block will be replaced',\n                            ],\n                            'editables' => MutationType::$documentElementTypes,\n                        ];\n                    },\n                ]\n            );\n        }\n\n        return [\n            'arg' => new InputObjectType(\n                [\n                    'name' => 'document_element_input_scheduledblock',\n                    'fields' => function () {\n                        return [\n                            '_editableName' => Type::nonNull(Type::string()),\n                            'indices' => Type::listOf($this->scheduledblockDataInputType),\n                            'items' => [\n                                'type' => Type::listOf(self::$itemType),\n                            ],\n                        ];\n                    },\n                ]\n\n            ),\n            'processor' => [$this->processor, 'process'],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementMutationFieldConfigGenerator/Select.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementMutationFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\InputObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\n\n/**\n * @internal\n */\nfinal class Select extends Base\n{\n    /** @var \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor\\Select */\n    public $processor;\n\n    public function __construct(Service $graphQlService, \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor\\Select $processor)\n    {\n        parent::__construct($graphQlService);\n        $this->processor = $processor;\n    }\n\n    /**\n     * @return array\n     */\n    public function getDocumentElementMutationFieldConfig()\n    {\n        return [\n            'arg' => new InputObjectType(\n                [\n                    'name' => 'document_element_input_select',\n                    'fields' => [\n                        '_editableName' => Type::nonNull(Type::string()),\n                        'text' => Type::string(),\n                    ],\n                ]\n            ),\n            'processor' => [$this->processor, 'process'],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementMutationFieldConfigGenerator/Wysiwyg.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementMutationFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\InputObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\n\n/**\n * @internal\n */\nfinal class Wysiwyg extends Base\n{\n    /** @var \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor\\Input */\n    public $processor;\n\n    public function __construct(Service $graphQlService, \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor\\Input $processor)\n    {\n        parent::__construct($graphQlService);\n        $this->processor = $processor;\n    }\n\n    /**\n     * @return array\n     */\n    public function getDocumentElementMutationFieldConfig()\n    {\n        return [\n            'arg' => new InputObjectType(\n                [\n                    'name' => 'document_element_input_wysiwyg',\n                    'fields' => [\n                        '_editableName' => Type::nonNull(Type::string()),\n                        'text' => Type::string(),\n                    ],\n                ]\n            ),\n            'processor' => [$this->processor, 'process'],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementQueryFieldConfigGenerator/Areablock.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\AreablockDataType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\AreablockType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\n\n/**\n * @internal\n */\nfinal class Areablock extends Base\n{\n    protected $areablockDataType;\n\n    public function __construct(Service $graphQlService, AreablockDataType $areablockDataType)\n    {\n        $this->areablockDataType = $areablockDataType;\n        parent::__construct($graphQlService);\n    }\n\n    /**\n     * @return AreablockType\n     */\n    public function getFieldType()\n    {\n        return \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\AreablockType::getInstance($this->areablockDataType);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementQueryFieldConfigGenerator/Base.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\nabstract class Base\n{\n    use ServiceTrait;\n\n    public function __construct(Service $graphQlService)\n    {\n        $this->setGraphQLService($graphQlService);\n    }\n\n    /**\n     * @return Type\n     */\n    abstract public function getFieldType();\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementQueryFieldConfigGenerator/Block.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\BlockType;\n\n/**\n * @internal\n */\nfinal class Block extends Base\n{\n    /**\n     * @return BlockType\n     */\n    public function getFieldType()\n    {\n        return BlockType::getInstance();\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementQueryFieldConfigGenerator/Checkbox.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\CheckboxType;\n\n/**\n * @internal\n */\nfinal class Checkbox extends Base\n{\n    /**\n     * @return CheckboxType\n     */\n    public function getFieldType()\n    {\n        return CheckboxType::getInstance();\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementQueryFieldConfigGenerator/Date.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\DateType;\n\n/**\n * @internal\n */\nfinal class Date extends Base\n{\n    /**\n     * @return DateType\n     */\n    public function getFieldType()\n    {\n        return DateType::getInstance();\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementQueryFieldConfigGenerator/Embed.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\EmbedType;\n\n/**\n * @internal\n */\nfinal class Embed extends Base\n{\n    /**\n     * @return EmbedType\n     */\n    public function getFieldType()\n    {\n        return EmbedType::getInstance();\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementQueryFieldConfigGenerator/Image.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\ImageType;\n\n/**\n * @internal\n */\nfinal class Image extends Base\n{\n    /**\n     * @return ImageType\n     */\n    public function getFieldType()\n    {\n        return ImageType::getInstance($this->getGraphQlService());\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementQueryFieldConfigGenerator/Input.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\InputType;\n\n/**\n * @internal\n */\nfinal class Input extends Base\n{\n    /**\n     * @return InputType\n     */\n    public function getFieldType()\n    {\n        return InputType::getInstance();\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementQueryFieldConfigGenerator/Link.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\LinkDataType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\n\n/**\n * @internal\n */\nfinal class Link extends Base\n{\n    protected $linkDataType;\n\n    public function __construct(Service $graphQlService, LinkDataType $linkDataType)\n    {\n        $this->linkDataType = $linkDataType;\n        parent::__construct($graphQlService);\n    }\n\n    /**\n     * @return \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\LinkType\n     */\n    public function getFieldType()\n    {\n        return \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\LinkType::getInstance($this->linkDataType);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementQueryFieldConfigGenerator/Multiselect.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\MultiselectType;\n\n/**\n * @internal\n */\nfinal class Multiselect extends Base\n{\n    /**\n     * @return MultiselectType\n     */\n    public function getFieldType()\n    {\n        return MultiselectType::getInstance();\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementQueryFieldConfigGenerator/Numeric.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\NumericType;\n\n/**\n * @internal\n */\nfinal class Numeric extends Base\n{\n    /**\n     * @return NumericType\n     */\n    public function getFieldType()\n    {\n        return NumericType::getInstance();\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementQueryFieldConfigGenerator/Pdf.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\PdfType;\n\n/**\n * @internal\n */\nfinal class Pdf extends Base\n{\n    /**\n     * @return PdfType\n     */\n    public function getFieldType()\n    {\n        return PdfType::getInstance($this->getGraphQlService());\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementQueryFieldConfigGenerator/Relation.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\RelationType;\n\n/**\n * @internal\n */\nfinal class Relation extends Base\n{\n    /**\n     * @return RelationType\n     *\n     * @throws \\Exception\n     */\n    public function getFieldType()\n    {\n        return RelationType::getInstance($this->getGraphQlService());\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementQueryFieldConfigGenerator/Relations.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\RelationsType;\n\n/**\n * @internal\n */\nfinal class Relations extends Base\n{\n    /**\n     * @return RelationsType\n     *\n     * @throws \\Exception\n     */\n    public function getFieldType()\n    {\n        return RelationsType::getInstance($this->getGraphQlService());\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementQueryFieldConfigGenerator/Scheduledblock.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\ScheduledblockDataType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\ScheduledblockType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\n\n/**\n * @internal\n */\nfinal class Scheduledblock extends Base\n{\n    /** @var ScheduledblockDataType */\n    protected $scheduledblockDataType;\n\n    public function __construct(Service $graphQlService, ScheduledblockDataType $scheduledblockDataType)\n    {\n        $this->scheduledblockDataType = $scheduledblockDataType;\n        parent::__construct($graphQlService);\n    }\n\n    /**\n     * @return ScheduledblockType\n     */\n    public function getFieldType()\n    {\n        return \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\ScheduledblockType::getInstance($this->scheduledblockDataType);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementQueryFieldConfigGenerator/Select.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\SelectType;\n\n/**\n * @internal\n */\nfinal class Select extends Base\n{\n    /**\n     * @return SelectType\n     */\n    public function getFieldType()\n    {\n        return SelectType::getInstance();\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementQueryFieldConfigGenerator/Table.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\TableType;\n\n/**\n * @internal\n */\nfinal class Table extends Base\n{\n    /**\n     * @return TableType\n     */\n    public function getFieldType()\n    {\n        return TableType::getInstance();\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementQueryFieldConfigGenerator/Textarea.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\TextareaType;\n\n/**\n * @internal\n */\nfinal class Textarea extends Base\n{\n    /**\n     * @return TextareaType\n     */\n    public function getFieldType()\n    {\n        return TextareaType::getInstance();\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementQueryFieldConfigGenerator/Video.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\VideoType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\n\n/**\n * @internal\n */\nfinal class Video extends Base\n{\n    /**\n     *\n     * @throws \\Exception\n     */\n    public function __construct(Service $graphQlService)\n    {\n\n        //        $this->assetType = $assetType;\n        parent::__construct($graphQlService);\n    }\n\n    /**\n     * @return VideoType\n     */\n    public function getFieldType()\n    {\n        $service = $this->getGraphQlService();\n        $assetType = $service->buildAssetType('asset');\n\n        return \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\VideoType::getInstance($this->getGraphQlService(), $assetType);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementQueryFieldConfigGenerator/Wysiwyg.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\WysiwygType;\n\n/**\n * @internal\n */\nfinal class Wysiwyg extends Base\n{\n    /**\n     * @return WysiwygType\n     */\n    public function getFieldType()\n    {\n        return WysiwygType::getInstance();\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementType/AreablockDataInputType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType;\n\nuse GraphQL\\Type\\Definition\\InputObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\n/**\n * @internal\n */\nfinal class AreablockDataInputType extends InputObjectType\n{\n    use ServiceTrait;\n\n    /**\n     * @param array $config\n     * @param array $context\n     */\n    public function __construct(Service $graphQlService, $config = ['name' => 'document_editableAreablock_data_item'], $context = [])\n    {\n        $this->setGraphQLService($graphQlService);\n        $this->build($config);\n        parent::__construct($config);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $config['fields'] = [\n            'key' => Type::string(),\n            'type' => Type::string(),\n            'hidden' => Type::boolean(),\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementType/AreablockDataType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\n/**\n * @internal\n */\nfinal class AreablockDataType extends ObjectType\n{\n    use ServiceTrait;\n\n    public function __construct(Service $graphQlService)\n    {\n        $this->graphQlService = $graphQlService;\n\n        $config =\n            [\n                'name' => 'document_editableAreablock_data',\n                'fields' => [\n                    '_editableType' => [\n                        'type' => Type::string(),\n                        'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                            if ($value) {\n                                return $value->getType();\n                            }\n                        },\n                    ],\n                    '_editableName' => [\n                        'type' => Type::string(),\n                        'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                            if ($value) {\n                                return $value->getName();\n                            }\n                        },\n                    ],\n                    'key' => [\n                        'type' => Type::string(),\n                        'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                            if (is_array($value)) {\n                                return $value['key'];\n                            }\n\n                            return null;\n                        },\n                    ],\n                    'type' => [\n                        'type' => Type::string(),\n                        'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                            if (is_array($value)) {\n                                return $value['type'];\n                            }\n\n                            return null;\n                        },\n                    ],\n                    'hidden' => [\n                        'type' => Type::boolean(),\n                        'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                            if (is_array($value)) {\n                                return $value['hidden'];\n                            }\n                        },\n                    ],\n                ],\n            ];\n        parent::__construct($config);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementType/AreablockType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Model\\Document\\Editable\\Areablock;\n\n/**\n * @internal\n */\nfinal class AreablockType extends ObjectType\n{\n    protected static $instance;\n\n    /**\n     *\n     * @return static\n     */\n    public static function getInstance(AreablockDataType $areablockDataType)\n    {\n        if (!self::$instance) {\n            $config =\n                [\n                    'name' => 'document_editableAreablock',\n                    'fields' => [\n                        '_editableType' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value) {\n                                    return $value->getType();\n                                }\n                            },\n                        ],\n                        '_editableName' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value) {\n                                    return $value->getName();\n                                }\n                            },\n                        ],\n                        'data' => [\n                            'type' => Type::listOf($areablockDataType),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Areablock) {\n                                    return $value->getData();\n                                }\n                            },\n                        ],\n\n                    ],\n                ];\n            self::$instance = new static($config);\n        }\n\n        return self::$instance;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementType/BlockType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Model\\Document\\Editable\\Block;\n\n/**\n * @internal\n */\nfinal class BlockType extends ObjectType\n{\n    protected static $instance;\n\n    /**\n     * @return static\n     */\n    public static function getInstance()\n    {\n        if (!self::$instance) {\n            $config =\n                [\n                    'name' => 'document_editableBlock',\n                    'fields' => [\n                        '_editableName' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Block) {\n                                    return $value->getName();\n                                }\n                            },\n                        ],\n                        '_editableType' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Block) {\n                                    return $value->getType();\n                                }\n                            },\n                        ],\n                        'indices' => [\n                            'type' => Type::listOf(Type::int()),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Block) {\n                                    return $value->getData();\n                                }\n                            },\n                        ],\n                    ],\n                ];\n            self::$instance = new static($config);\n        }\n\n        return self::$instance;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementType/CheckboxType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Model\\Document\\Editable\\Checkbox;\n\n/**\n * @internal\n */\nfinal class CheckboxType extends ObjectType\n{\n    protected static $instance;\n\n    /**\n     * @return static\n     */\n    public static function getInstance()\n    {\n        if (!self::$instance) {\n            $config =\n                [\n                    'name' => 'document_editableCheckbox',\n                    'fields' => [\n                        '_editableName' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Checkbox) {\n                                    return $value->getName();\n                                }\n                            },\n                        ],\n                        '_editableType' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Checkbox) {\n                                    return $value->getType();\n                                }\n                            },\n                        ],\n                        'checked' => [\n                            'type' => Type::boolean(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Checkbox) {\n                                    return $value->getData();\n                                }\n                            },\n                        ],\n                    ],\n                ];\n            self::$instance = new static($config);\n        }\n\n        return self::$instance;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementType/DateType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType;\n\nuse Carbon\\Carbon;\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Model\\Document\\Editable\\Date;\n\n/**\n * @internal\n */\nfinal class DateType extends ObjectType\n{\n    protected static $instance;\n\n    /**\n     * @return static\n     */\n    public static function getInstance()\n    {\n        if (!self::$instance) {\n            $config =\n                [\n                    'name' => 'document_editableDate',\n                    'fields' => [\n                        '_editableName' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Date) {\n                                    return $value->getName();\n                                }\n                            },\n                        ],\n                        '_editableType' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Date) {\n                                    return $value->getType();\n                                }\n                            },\n                        ],\n                        'timestamp' => [\n                            'type' => Type::int(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Date) {\n                                    $data = $value->getData();\n                                    if ($data instanceof Carbon) {\n                                        return $data->getTimestamp();\n                                    }\n                                }\n                            },\n                        ],\n                        'formatted' => [\n                            'type' => Type::string(),\n                            'args' => ['format' => ['type' => Type::nonNull(Type::string()), 'description' => 'see Carbon::format']],\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Date) {\n                                    $data = $value->getData();\n                                    if ($data instanceof Carbon) {\n                                        $format = $args['format'];\n                                        $formattedValue = $data->format($format);\n\n                                        return $formattedValue;\n                                    }\n                                }\n                            },\n                        ],\n                    ],\n                ];\n            self::$instance = new static($config);\n        }\n\n        return self::$instance;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementType/EmbedType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Model\\Document\\Editable\\Date;\nuse Pimcore\\Model\\Document\\Editable\\Embed;\n\n/**\n * @internal\n */\nfinal class EmbedType extends ObjectType\n{\n    protected static $instance;\n\n    /**\n     * @return static\n     */\n    public static function getInstance()\n    {\n        if (!self::$instance) {\n            $config =\n                [\n                    'name' => 'document_editableEmbed',\n                    'fields' => [\n                        '_editableName' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Date) {\n                                    return $value->getName();\n                                }\n                            },\n                        ],\n                        '_editableType' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Date) {\n                                    return $value->getType();\n                                }\n                            },\n                        ],\n                        'url' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Embed) {\n                                    return $value->getUrl();\n                                }\n                            },\n                        ],\n                    ],\n                ];\n            self::$instance = new static($config);\n        }\n\n        return self::$instance;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementType/ImageType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\SharedType\\HotspotCropType;\nuse Pimcore\\Model\\Asset;\nuse Pimcore\\Model\\Document\\Editable\\Image;\n\n/**\n * @internal\n */\nfinal class ImageType extends ObjectType\n{\n    protected static $instance;\n\n    /**\n     *\n     * @return ImageType\n     *\n     * @throws \\Exception\n     */\n    public static function getInstance(Service $graphQlService)\n    {\n        if (!self::$instance) {\n            $resolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\HotspotType();\n            $resolver->setGraphQLService($graphQlService);\n\n            $assetType = $graphQlService->buildAssetType('asset');\n            $hotspotMarkerType = $graphQlService->buildGeneralType('hotspotmarker');\n            $hotspotHotspotType = $graphQlService->buildGeneralType('hotspothotspot');\n\n            $config =\n                [\n                    'name' => 'document_editableImage',\n                    'fields' => [\n                        '_editableType' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Image) {\n                                    return $value->getType();\n                                }\n\n                                return null;\n                            },\n                        ],\n                        '_editableName' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Image) {\n                                    return $value->getName();\n                                }\n\n                                return null;\n                            },\n                        ],\n                        'image' => [\n                            'type' => $assetType,\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) use ($resolver) {\n                                if ($value instanceof Image) {\n                                    $data = $value->getData();\n                                    if (isset($data['id'])) {\n                                        $data = new ElementDescriptor(Asset::getById($data['id']));\n                                        $result = $resolver->resolveImage($data, $args, $context, $resolveInfo);\n\n                                        return $result;\n                                    }\n                                }\n\n                                return null;\n                            },\n                        ],\n                        'alt' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Image) {\n                                    return $value->getAlt();\n                                }\n\n                                return null;\n                            },\n                        ],\n                        'crop' => [\n                            'type' => HotspotCropType::getInstance(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Image) {\n                                    return [\n                                        'cropTop' => $value->getCropTop(),\n                                        'cropLeft' => $value->getCropLeft(),\n                                        'cropHeight' => $value->getCropHeight(),\n                                        'cropWidth' => $value->getCropWidth(),\n                                        'cropPercent' => $value->getCropPercent(),\n                                    ];\n                                }\n\n                                return null;\n                            },\n                        ],\n                        'hotspots' => [\n                            'type' => Type::listOf($hotspotHotspotType),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Image) {\n                                    return $value->getHotspots();\n                                }\n\n                                return null;\n                            },\n                        ],\n                        'marker' => [\n                            'type' => Type::listOf($hotspotMarkerType),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Image) {\n                                    return $value->getMarker();\n                                }\n\n                                return null;\n                            },\n                        ],\n                    ],\n                ];\n            self::$instance = new static($config);\n        }\n\n        return self::$instance;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementType/InputType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType;\n\n/**\n * @internal\n */\nfinal class InputType extends SimpleTextType\n{\n    protected static $instance;\n\n    /**\n     * @return static\n     */\n    public static function getInstance()\n    {\n        if (!self::$instance) {\n            $config = self::getStandardConfig('document_editableInput');\n            self::$instance = new static($config);\n        }\n\n        return self::$instance;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementType/LinkDataType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentResolver\\Link;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\n/**\n * @internal\n */\nfinal class LinkDataType extends ObjectType\n{\n    use ServiceTrait;\n\n    /**\n     *\n     * @throws \\Exception\n     */\n    public function __construct(Service $graphQlService)\n    {\n        $this->graphQlService = $graphQlService;\n\n        $anyTargetType = $graphQlService->buildGeneralType('anytarget');\n\n        $config =\n            [\n                'name' => 'document_editableLink_data',\n                'fields' => [\n                    '_editableType' => [\n                        'type' => Type::string(),\n                        'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                            if ($value instanceof \\Pimcore\\Model\\Document\\Editable\\Link) {\n                                return $value->getType();\n                            }\n                        },\n                    ],\n                    '_editableName' => [\n                        'type' => Type::string(),\n                        'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                            if ($value instanceof \\Pimcore\\Model\\Document\\Editable\\Link) {\n                                return $value->getName();\n                            }\n                        },\n                    ],\n                    'internal' => [\n                        'type' => Type::boolean(),\n                        'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                            if ($value instanceof \\Pimcore\\Model\\Document\\Editable\\Link) {\n                                return $value->getData()['internal'] ?? null;\n                            }\n                        },\n                    ],\n                    'internalType' => [\n                        'type' => Type::string(),\n                        'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                            if ($value instanceof \\Pimcore\\Model\\Document\\Editable\\Link) {\n                                return $value->getData()['internalType'] ?? null;\n                            }\n                        },\n                    ],\n                    'internalId' => [\n                        'type' => Type::int(),\n                        'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                            if ($value instanceof \\Pimcore\\Model\\Document\\Editable\\Link) {\n                                return $value->getData()['internalId'] ?? null;\n                            }\n                        },\n                    ],\n                    'path' => [\n                        'type' => Type::string(),\n                        'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                            if ($value instanceof \\Pimcore\\Model\\Document\\Editable\\Link) {\n                                return $value->getData()['path'] ?? null;\n                            }\n                        },\n                    ],\n                    'text' => [\n                        'type' => Type::string(),\n                        'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                            if ($value instanceof \\Pimcore\\Model\\Document\\Editable\\Link) {\n                                return $value->getData()['text'] ?? null;\n                            }\n                        },\n                    ],\n                    'target' => [\n                        'type' => $anyTargetType,\n                        'resolve' => [new Link($this->getGraphQlService()), 'resolveTarget'],\n                    ],\n                    'windowTarget' => [ // Target is already in use.\n                        'type' => Type::string(),\n                        'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                            if ($value instanceof \\Pimcore\\Model\\Document\\Editable\\Link) {\n                                return $value->getData()['target'] ?? null;\n                            }\n                        },\n                    ],\n                    'parameters' => [\n                        'type' => Type::string(),\n                        'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                            if ($value instanceof \\Pimcore\\Model\\Document\\Editable\\Link) {\n                                return $value->getData()['parameters'] ?? null;\n                            }\n                        },\n                    ],\n                    'anchor' => [\n                        'type' => Type::string(),\n                        'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                            if ($value instanceof \\Pimcore\\Model\\Document\\Editable\\Link) {\n                                return $value->getData()['anchor'] ?? null;\n                            }\n                        },\n                    ],\n                    'title' => [\n                        'type' => Type::string(),\n                        'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                            if ($value instanceof \\Pimcore\\Model\\Document\\Editable\\Link) {\n                                return $value->getData()['title'] ?? null;\n                            }\n                        },\n                    ],\n                    'accesskey' => [\n                        'type' => Type::string(),\n                        'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                            if ($value instanceof \\Pimcore\\Model\\Document\\Editable\\Link) {\n                                return $value->getData()['accesskey'] ?? null;\n                            }\n                        },\n                    ],\n                    'relation' => [\n                        'type' => Type::string(),\n                        'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                            if ($value instanceof \\Pimcore\\Model\\Document\\Editable\\Link) {\n                                return $value->getData()['rel'] ?? null;\n                            }\n                        },\n                    ],\n                    'tabindex' => [\n                        'type' => Type::string(),\n                        'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                            if ($value instanceof \\Pimcore\\Model\\Document\\Editable\\Link) {\n                                return $value->getData()['tabindex'] ?? null;\n                            }\n                        },\n                    ],\n                    'class' => [\n                        'type' => Type::string(),\n                        'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                            if ($value instanceof \\Pimcore\\Model\\Document\\Editable\\Link) {\n                                return $value->getData()['class'] ?? null;\n                            }\n                        },\n                    ],\n                    'attributes' => [\n                        'type' => Type::string(),\n                        'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                            if ($value instanceof \\Pimcore\\Model\\Document\\Editable\\Link) {\n                                return $value->getData()['attributes'] ?? null;\n                            }\n                        },\n                    ],\n                ],\n            ];\n        parent::__construct($config);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementType/LinkType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\n\n/**\n * @internal\n */\nfinal class LinkType extends ObjectType\n{\n    protected static $instance;\n\n    /**\n     *\n     * @return static\n     */\n    public static function getInstance(LinkDataType $linkDataType)\n    {\n        if (!self::$instance) {\n            $config =\n                [\n                    'name' => 'document_editableLink',\n                    'fields' => [\n                        '_editableType' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value) {\n                                    return $value->getType();\n                                }\n                            },\n                        ],\n                        '_editableName' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value) {\n                                    return $value->getName();\n                                }\n                            },\n                        ],\n                        'data' => [\n                            'type' => $linkDataType,\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                return $value;\n                            },\n                        ],\n                    ],\n                ];\n            self::$instance = new static($config);\n        }\n\n        return self::$instance;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementType/MultiselectType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\n\n/**\n * @internal\n */\nfinal class MultiselectType extends ObjectType\n{\n    protected static $instance;\n\n    /**\n     * @return MultiselectType\n     */\n    public static function getInstance()\n    {\n        if (!self::$instance) {\n            $config =\n                [\n                    'name' => 'document_editableMultiselect',\n                    'fields' => [\n                        '_editableName' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value) {\n                                    return $value->getName();\n                                }\n                            },\n                        ],\n                        '_editableType' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof \\Pimcore\\Model\\Document\\Editable\\Numeric) {\n                                    return $value->getType();\n                                }\n                            },\n                        ],\n                        'selections' => [\n                            'type' => Type::listOf(Type::string()),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof \\Pimcore\\Model\\Document\\Editable\\Multiselect) {\n                                    return $value->getData();\n                                }\n                            },\n                        ],\n                    ],\n                ];\n            self::$instance = new static($config);\n        }\n\n        return self::$instance;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementType/NumericType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Model\\Document\\Editable\\Numeric;\n\n/**\n * @internal\n */\nfinal class NumericType extends ObjectType\n{\n    protected static $instance;\n\n    /**\n     * @return NumericType\n     */\n    public static function getInstance()\n    {\n        if (!self::$instance) {\n            $config =\n                [\n                    'name' => 'document_editableNumeric',\n                    'fields' => [\n                        '_editableName' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value) {\n                                    return $value->getName();\n                                }\n                            },\n                        ],\n                        '_editableType' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Numeric) {\n                                    return $value->getType();\n                                }\n                            },\n                        ],\n                        'number' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Numeric) {\n                                    return $value->getData();\n                                }\n                            },\n                        ],\n                    ],\n                ];\n            self::$instance = new static($config);\n        }\n\n        return self::$instance;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementType/PdfType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Model\\Document\\Editable\\Pdf;\n\n/**\n * @internal\n */\nfinal class PdfType extends ObjectType\n{\n    protected static $instance;\n\n    /**\n     *\n     * @return PdfType\n     *\n     * @throws \\Exception\n     */\n    public static function getInstance(Service $service)\n    {\n        if (!self::$instance) {\n            $assetType = $service->buildAssetType('asset');\n\n            $config =\n                [\n                    'name' => 'document_editablePdf',\n                    'fields' => [\n                        '_editableName' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value) {\n                                    return $value->getName();\n                                }\n                            },\n                        ],\n                        '_editableType' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof \\Pimcore\\Model\\Document\\Editable\\Numeric) {\n                                    return $value->getType();\n                                }\n                            },\n                        ],\n                        'pdf' => [\n                            'type' => $assetType,\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) use ($service) {\n                                if ($value instanceof Pdf) {\n                                    $pdfAsset = $value->getElement();\n                                    if ($pdfAsset) {\n                                        $data = new ElementDescriptor($pdfAsset);\n                                        $service->extractData($data, $pdfAsset, $args, $context, $resolveInfo);\n\n                                        return $data;\n                                    }\n                                }\n\n                                return  null;\n                            },\n                        ],\n                    ],\n                ];\n            self::$instance = new static($config);\n        }\n\n        return self::$instance;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementType/RelationType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Model\\Document\\Editable\\Relation;\n\n/**\n * @internal\n */\nfinal class RelationType extends ObjectType\n{\n    protected static $instance;\n\n    /**\n     *\n     * @return RelationType\n     *\n     * @throws \\Exception\n     */\n    public static function getInstance(Service $graphQlService)\n    {\n        if (!self::$instance) {\n            $anyTargetType = $graphQlService->buildGeneralType('anytarget');\n\n            $config =\n                [\n                    'name' => 'document_editableRelation',\n                    'fields' => [\n                        '_editableType' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Relation) {\n                                    return $value->getType();\n                                }\n                            },\n                        ],\n                        '_editableName' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Relation) {\n                                    return $value->getName();\n                                }\n                            },\n                        ],\n                        'id' => [\n                            'type' => Type::int(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Relation) {\n                                    return $value->getId();\n                                }\n                            },\n                        ],\n                        'type' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Relation) {\n                                    return $value->getType();\n                                }\n                            },\n                        ],\n                        'subtype' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Relation) {\n                                    return $value->getSubtype();\n                                }\n                            },\n                        ],\n                        'relation' => [\n                            'type' => $anyTargetType,\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) use ($graphQlService) {\n                                if ($value instanceof Relation) {\n                                    $target = $value->getElement();\n                                    if ($target) {\n                                        $desc = new ElementDescriptor($target);\n                                        $graphQlService->extractData($desc, $target, $args, $context, $resolveInfo);\n\n                                        return $desc;\n                                    }\n                                }\n                            },\n                        ],\n                    ],\n                ];\n            self::$instance = new static($config);\n        }\n\n        return self::$instance;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementType/RelationsType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Model\\Document\\Editable\\Relations;\n\n/**\n * @internal\n */\nfinal class RelationsType extends ObjectType\n{\n    /** @var static|null */\n    protected static $instance;\n\n    /**\n     *\n     * @return static\n     *\n     * @throws \\Exception\n     */\n    public static function getInstance(Service $graphQlService)\n    {\n        if (!self::$instance) {\n            $anyTargetType = $graphQlService->buildGeneralType('anytarget');\n\n            $config =\n                [\n                    'name' => 'document_editableRelations',\n                    'fields' => [\n                        '_editableType' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Relations) {\n                                    return $value->getType();\n                                }\n                            },\n                        ],\n                        '_editableName' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Relations) {\n                                    return $value->getName();\n                                }\n                            },\n                        ],\n                        'relations' => [\n                            'type' => Type::listOf($anyTargetType),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) use ($graphQlService) {\n                                if ($value instanceof Relations) {\n                                    $targets = $value->getElements();\n                                    if ($targets) {\n                                        $result = [];\n                                        foreach ($targets as $target) {\n                                            $data = new ElementDescriptor($target);\n                                            $graphQlService->extractData($data, $target, $args, $context, $resolveInfo);\n                                            $result[] = $data;\n                                        }\n\n                                        return $result;\n                                    }\n                                }\n                            },\n                        ],\n                    ],\n                ];\n            self::$instance = new static($config);\n        }\n\n        return self::$instance;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementType/ScheduledblockDataInputType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType;\n\nuse GraphQL\\Type\\Definition\\InputObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\n/**\n * @internal\n */\nfinal class ScheduledblockDataInputType extends InputObjectType\n{\n    use ServiceTrait;\n\n    /**\n     * @param array $config\n     * @param array $context\n     */\n    public function __construct(Service $graphQlService, $config = ['name' => 'document_editableScheduledblock_data_item'], $context = [])\n    {\n        $this->setGraphQLService($graphQlService);\n        $this->build($config);\n        parent::__construct($config);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $config['fields'] = [\n            'key' => Type::string(),\n            'date' => Type::int(),\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementType/ScheduledblockDataType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\n/**\n * @internal\n */\nfinal class ScheduledblockDataType extends ObjectType\n{\n    use ServiceTrait;\n\n    public function __construct(Service $graphQlService)\n    {\n        $this->graphQlService = $graphQlService;\n\n        $config =\n            [\n                'name' => 'document_editableScheduledblock_data',\n                'fields' => [\n                    '_editableType' => [\n                        'type' => Type::string(),\n                        'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                            if ($value) {\n                                return $value->getType();\n                            }\n                        },\n                    ],\n                    '_editableName' => [\n                        'type' => Type::string(),\n                        'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                            if ($value) {\n                                return $value->getName();\n                            }\n                        },\n                    ],\n                    'key' => [\n                        'type' => Type::string(),\n                        'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                            if (is_array($value)) {\n                                return $value['key'];\n                            }\n\n                            return null;\n                        },\n                    ],\n                    'date' => [\n                        'type' => Type::int(),\n                        'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                            if (is_array($value)) {\n                                return $value['date'];\n                            }\n\n                            return null;\n                        },\n                    ],\n                ],\n            ];\n        parent::__construct($config);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementType/ScheduledblockType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Model\\Document\\Editable\\Scheduledblock;\n\n/**\n * @internal\n */\nfinal class ScheduledblockType extends ObjectType\n{\n    protected static $instance;\n\n    /**\n     *\n     * @return static\n     */\n    public static function getInstance(ScheduledblockDataType $scheduledblockDataType)\n    {\n        if (!self::$instance) {\n            $config =\n                [\n                    'name' => 'document_editableScheduledblock',\n                    'fields' => [\n                        '_editableType' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value) {\n                                    return $value->getType();\n                                }\n                            },\n                        ],\n                        '_editableName' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value) {\n                                    return $value->getName();\n                                }\n                            },\n                        ],\n                        'data' => [\n                            'type' => Type::listOf($scheduledblockDataType),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Scheduledblock) {\n                                    return $value->getData();\n                                }\n                            },\n                        ],\n\n                    ],\n                ];\n            self::$instance = new static($config);\n        }\n\n        return self::$instance;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementType/SelectType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType;\n\n/**\n * @internal\n */\nfinal class SelectType extends SimpleTextType\n{\n    protected static $instance;\n\n    /**\n     * @return static\n     */\n    public static function getInstance()\n    {\n        if (!self::$instance) {\n            $config = self::getStandardConfig('document_editableSelect');\n            self::$instance = new static($config);\n        }\n\n        return self::$instance;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementType/SimpleTextType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Model\\Document\\Editable\\Table;\n\nclass SimpleTextType extends ObjectType\n{\n    protected static $instance;\n\n    /**\n     * @param string $name\n     *\n     * @return array\n     */\n    public static function getStandardConfig($name)\n    {\n        return [\n            'name' => $name,\n            'fields' => [\n                '_editableName' => [\n                    'type' => Type::string(),\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                        if ($value) {\n                            return $value->getName();\n                        }\n                    },\n                ],\n                '_editableType' => [\n                    'type' => Type::string(),\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                        if ($value) {\n                            return $value->getType();\n                        }\n                    },\n                ],\n                'text' => [\n                    'type' => Type::string(),\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                        if ($value) {\n                            if ($value instanceof Table) {\n                                if ($value->getData()) {\n                                    return json_encode($value->getData());\n                                }\n                            } else {\n                                return $value->getData();\n                            }\n                        }\n                    },\n                ],\n            ],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementType/TableType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType;\n\n/**\n * @internal\n */\nfinal class TableType extends SimpleTextType\n{\n    protected static $instance;\n\n    /**\n     * @return static\n     */\n    public static function getInstance()\n    {\n        if (!self::$instance) {\n            $config = self::getStandardConfig('document_editableTable');\n            self::$instance = new static($config);\n        }\n\n        return self::$instance;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementType/TextareaType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType;\n\n/**\n * @internal\n */\nfinal class TextareaType extends SimpleTextType\n{\n    protected static $instance;\n\n    /**\n     * @return static\n     */\n    public static function getInstance()\n    {\n        if (!self::$instance) {\n            $config = self::getStandardConfig('document_editableTextarea');\n            self::$instance = new static($config);\n        }\n\n        return self::$instance;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementType/VideoType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\AssetType\\AssetType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\RelationHelper;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Model\\Document\\Editable\\Video;\n\n/**\n * @internal\n */\nfinal class VideoType extends ObjectType\n{\n    protected static $instance;\n\n    /**\n     *\n     * @return static\n     */\n    public static function getInstance(Service $graphQlService, AssetType $assetType)\n    {\n        if (!self::$instance) {\n            $config =\n                [\n                    'name' => 'document_editableVideo',\n                    'fields' => [\n                        '_editableType' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value) {\n                                    return $value->getType();\n                                }\n                            },\n                        ],\n                        '_editableName' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value) {\n                                    return $value->getName();\n                                }\n                            },\n                        ],\n                        'id' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Video) {\n                                    return $value->getId();\n                                }\n                            },\n                        ],\n                        'type' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value) {\n                                    return $value->getVideoType();\n                                }\n                            },\n                        ],\n                        'title' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Video) {\n                                    return $value->getTitle();\n                                }\n                            },\n                        ],\n                        'description' => [\n                            'type' => Type::string(),\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                                if ($value instanceof Video) {\n                                    return $value->getDescription();\n                                }\n                            },\n                        ],\n                        'posterAsset' => [\n                            'type' => $assetType,\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) use ($graphQlService) {\n                                if ($value instanceof Video) {\n                                    $relation = $value->getPosterAsset();\n                                    if ($relation) {\n                                        $data = RelationHelper::processRelation($relation, $graphQlService, $args, $context, $resolveInfo);\n\n                                        return $data;\n                                    }\n                                }\n\n                                return null;\n                            },\n                        ],\n                        'videoAsset' => [\n                            'type' => $assetType,\n                            'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) use ($graphQlService) {\n                                if ($value instanceof Video) {\n                                    $relation = $value->getVideoAsset();\n                                    if ($relation) {\n                                        $data = RelationHelper::processRelation($relation, $graphQlService, $args, $context, $resolveInfo);\n\n                                        return $data;\n                                    }\n                                }\n\n                                return null;\n                            },\n                        ],\n                    ],\n                ];\n            self::$instance = new static($config);\n        }\n\n        return self::$instance;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentElementType/WysiwygType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Model\\Document\\Editable\\Wysiwyg;\n\n/**\n * @internal\n */\nfinal class WysiwygType extends SimpleTextType\n{\n    protected static $instance;\n\n    /**\n     * @return WysiwygType\n     */\n    public static function getInstance()\n    {\n        if (!self::$instance) {\n            $config = self::getStandardConfig('document_editableWysiwyg');\n\n            $config['fields']['frontend'] = [\n                'type' => Type::string(),\n                'resolve' => static fn (Wysiwyg $value) => $value->frontend(),\n            ];\n\n            self::$instance = new static($config);\n        }\n\n        return self::$instance;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentResolver/Email.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentResolver;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\RelationHelper;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\Document;\n\n/**\n * @internal\n */\nfinal class Email\n{\n    use ServiceTrait;\n\n    /**\n     * @param array|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return ElementDescriptor|null\n     *\n     * @throws \\Exception\n     */\n    public function resolveObject($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $documentId = $value['id'];\n        $document = Document::getById($documentId);\n\n        if ($document instanceof Document\\Link) {\n            $relation = $document->getElement();\n            if ($relation) {\n                return RelationHelper::processRelation($relation, $this->getGraphQlService(), $args, $context, $resolveInfo);\n            }\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentResolver/Hardlink.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentResolver;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\RelationHelper;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\Document;\n\n/**\n * @internal\n */\nfinal class Hardlink\n{\n    use ServiceTrait;\n\n    public function __construct()\n    {\n    }\n\n    /**\n     * @param array $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return ElementDescriptor|null\n     *\n     * @throws \\Exception\n     */\n    public function resolveTarget($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $documentId = $value['id'];\n        $document = Document::getById($documentId);\n\n        if ($document instanceof Document\\Hardlink) {\n            if ($relation = $document->getSourceDocument()) {\n                return RelationHelper::processRelation(\n                    $relation,\n                    $this->getGraphQlService(),\n                    $args,\n                    $context,\n                    $resolveInfo\n                );\n            }\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentResolver/Link.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentResolver;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\RelationHelper;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service as GraphQLService;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\Document;\nuse Pimcore\\Model\\Element\\Service;\n\n/**\n * @internal\n */\nfinal class Link\n{\n    use ServiceTrait;\n\n    public function __construct(GraphQLService $graphQlService)\n    {\n        $this->graphQlService = $graphQlService;\n    }\n\n    /**\n     * @param array $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return ElementDescriptor|null\n     *\n     * @throws \\Exception\n     */\n    public function resolveObject($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $documentId = $value['id'];\n        $document = Document::getById($documentId);\n\n        if ($document instanceof Document\\Link) {\n            $relation = $document->getElement();\n            if ($relation) {\n                return RelationHelper::processRelation($relation, $this->getGraphQlService(), $args, $context, $resolveInfo);\n            }\n        }\n\n        return null;\n    }\n\n    /**\n     * @param mixed $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return ElementDescriptor|null\n     *\n     * @throws \\Exception\n     */\n    public function resolveTarget($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        if ($value instanceof Document\\Editable\\Link) {\n            $value = $value->getData();\n        }\n\n        if (is_array($value)) {\n            $internal = $value['internal'];\n            if ($internal) {\n                $internalId = $value['internalId'];\n                $internalType = $value['internalType'];\n                $relation = Service::getElementById($internalType, $internalId);\n                if ($relation) {\n                    $data = RelationHelper::processRelation($relation, $this->getGraphQlService(), $args, $context, $resolveInfo);\n\n                    return $data;\n                }\n            }\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentResolver/PageSnippet.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentResolver;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\Document;\nuse Pimcore\\Model\\Document\\Editable;\nuse Pimcore\\Model\\Document\\Editable\\Areablock;\nuse Pimcore\\Model\\Document\\Editable\\BlockInterface;\n\n/**\n * @internal\n */\nfinal class PageSnippet\n{\n    use ServiceTrait;\n\n    /**\n     * @param array $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return array|null\n     *\n     * @throws \\Exception\n     */\n    public function resolveElements($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $documentId = $value['id'];\n        $getInheritedValuesInput = $args['getInheritedValues'] ?? false;\n        $document = Document::getById($documentId, ['force' => $getInheritedValuesInput]);\n\n        if ($document instanceof Document\\PageSnippet) {\n            $result = [];\n            $sortBy = [];\n\n            $getInheritedValues = Document\\PageSnippet::getGetInheritedValues();\n            Document\\PageSnippet::setGetInheritedValues($getInheritedValuesInput);\n\n            $elements = $document->getEditables();\n\n            Document\\PageSnippet::setGetInheritedValues($getInheritedValues);\n\n            $service = $this->getGraphQlService();\n            $supportedTypeNames = $service->getSupportedDocumentElementQueryDataTypes();\n\n            foreach ($elements as $name => $element) {\n                $elementType = $element->getType();\n                if (in_array($elementType, $supportedTypeNames)) {\n                    $result[] = $element;\n                    $sortBy[$name] = $this->getElementSortIndex($name, $elements);\n                }\n            }\n\n            usort($result, function (Editable $a, Editable $b) use ($sortBy) {\n                // \"Natural order\" comparison so that \"10\" is ordered after \"2\"\n                return strnatcmp($sortBy[$a->getName()], $sortBy[$b->getName()]);\n            });\n\n            return $result;\n        }\n\n        return null;\n    }\n\n    /**\n     * Return a string to sort the elements by to get them in the same order as they are in the blocks.\n     *\n     * @param string $elementName\n     * @param Editable[] $elements\n     *\n     * @return string\n     */\n    private function getElementSortIndex($elementName, $elements)\n    {\n        // \"areablock:1.block:2.input\" => [\"areablock\", \"1\", \"block\", \"2\", \"input\"]\n        $parts = preg_split('/:(\\d+)\\./', $elementName, -1, PREG_SPLIT_DELIM_CAPTURE);\n\n        $sortIndices = [];\n        $blockName = '';\n\n        for ($i = 1, $count = count($parts); $i < $count; $i += 2) {\n            $blockName .= $parts[$i - 1]; // \"areablock\"\n            $blockKey = $parts[$i]; // \"1\"\n\n            $block = $elements[$blockName];\n            if ($block instanceof BlockInterface) {\n                $indices = $block->getData();\n                if ($block instanceof Areablock) {\n                    $indices = array_column($indices, 'key');\n                }\n\n                $index = array_search($blockKey, $indices);\n                if ($index !== false) {\n                    $sortIndices[] = $index;\n                }\n            }\n\n            $blockName .= \":$blockKey.\"; // \"areablock:1.\"\n        }\n\n        return implode(' ', $sortIndices);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentType/AbstractDocumentType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\TypeInterface\\Element;\n\nabstract class AbstractDocumentType extends ObjectType\n{\n    use ServiceTrait;\n\n    /**\n     * @param array $config\n     */\n    public function __construct(Service $graphQlService, $config = [])\n    {\n        $config['interfaces'] = [Element::getInstance()];\n        $this->setGraphQLService($graphQlService);\n        $this->build($config);\n        parent::__construct($config);\n    }\n\n    /**\n     * @param array $config\n     */\n    abstract public function build(&$config);\n\n    /**\n     * @param array $config\n     */\n    public function buildBaseFields(&$config)\n    {\n        $propertyType = $this->getGraphQlService()->buildGeneralType('element_property');\n        $resolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\Element('document', $this->getGraphQLService());\n        $documentResolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\Document(new \\Pimcore\\Model\\Document\\Service(), $this->getGraphQlService());\n        $documentTree = $this->getGraphQlService()->buildGeneralType('document_tree');\n        $elementTagType = $this->getGraphQlService()->buildGeneralType('element_tag');\n        $documentTranslation = $this->getGraphQlService()->buildGeneralType('document_translation');\n\n        $config['fields'] = [\n            'creationDate' => [\n                'type' => Type::string(),\n                'resolve' => [$resolver, 'resolveCreationDate'],\n            ],\n            'id' => ['name' => 'id',\n                'type' => Type::id(),\n            ],\n            'fullpath' => [\n                'type' => Type::string()],\n            'modificationDate' => [\n                'type' => Type::string(),\n                'resolve' => [$resolver, 'resolveModificationDate'],\n            ],\n            'published' => ['name' => 'published',\n                'type' => Type::boolean(),\n            ],\n            'type' => Type::string(),\n            'controller' => Type::string(),\n            'action' => Type::string(),\n            'template' => Type::string(),\n            'tags' => [\n                'type' => Type::listOf($elementTagType),\n                'args' => [\n                    'name' => ['type' => Type::string()],\n                ],\n                'resolve' => [$resolver, 'resolveTag'],\n            ],\n            'properties' => [\n                'type' => Type::listOf($propertyType),\n                'args' => [\n                    'keys' => [\n                        'type' => Type::listOf(Type::string()),\n                        'description' => 'comma seperated list of key names',\n                    ],\n                ],\n                'resolve' => [$resolver, 'resolveProperties'],\n            ],\n            'parent' => [\n                'type' => $documentTree,\n                'resolve' => [$resolver, 'resolveParent'],\n            ],\n            'children' => [\n                'type' => Type::listOf($documentTree),\n                'resolve' => [$resolver, 'resolveChildren'],\n            ],\n            '_siblings' => [\n                'type' => Type::listOf($documentTree),\n                'resolve' => [$resolver, 'resolveSiblings'],\n            ],\n            'translations' => [\n                'args' => ['defaultLanguage' => ['type' => Type::string()]],\n                'type' => Type::listOf($documentTranslation),\n                'resolve' => [$documentResolver, 'resolveTranslations'],\n            ],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentType/DocumentElementType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType;\n\nuse GraphQL\\Deferred;\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\UnionType;\nuse Pimcore\\Bundle\\CoreBundle\\DependencyInjection\\ContainerAwareInterface;\nuse Pimcore\\Bundle\\CoreBundle\\DependencyInjection\\ContainerAwareTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\n/**\n * @internal\n */\nfinal class DocumentElementType extends UnionType implements ContainerAwareInterface\n{\n    use ContainerAwareTrait;\n    use ServiceTrait;\n\n    /**\n     * @param array $config\n     */\n    public function __construct(Service $graphQlService, $config = [])\n    {\n        $this->setGraphQLService($graphQlService);\n        parent::__construct($config);\n    }\n\n    public function getTypes(): array\n    {\n        $service = $this->getGraphQlService();\n        $supportedTypeNames = $service->getSupportedDocumentElementQueryDataTypes();\n        $supportedTypes = [];\n        foreach ($supportedTypeNames as $typeName) {\n            $type = $service->buildDocumentElementDataQueryType($typeName);\n            $supportedTypes[] = $type;\n        }\n\n        return $supportedTypes;\n    }\n\n    public function resolveType($element, $context, ResolveInfo $info): callable|Deferred|ObjectType|null|string\n    {\n        $type = $element->getType();\n        $service = $this->getGraphQlService();\n        $supportedTypes = $service->getSupportedDocumentElementQueryDataTypes();\n        if (in_array($type, $supportedTypes)) {\n            $queryType = $service->buildDocumentElementDataQueryType($type);\n\n            return $queryType;\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentType/DocumentFolderType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\General\\FolderType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\n\n/**\n * @internal\n */\nfinal class DocumentFolderType extends FolderType\n{\n    /**\n     * @param array $config\n     * @param array $context\n     */\n    public function __construct(Service $graphQlService, $config = [], $context = [])\n    {\n        parent::__construct($graphQlService, ['name' => 'document_folder'], $context);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $resolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\Element('document', $this->getGraphQLService());\n        $documentResolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\Document(new \\Pimcore\\Model\\Document\\Service(), $this->getGraphQlService());\n        $documentTree = $this->getGraphQlService()->buildGeneralType('document_tree');\n        $documentTranslation = $this->getGraphQlService()->buildGeneralType('document_translation');\n\n        {\n            $config['fields'] = [\n                'id' => [\n                    'name' => 'id',\n                    'type' => Type::id(),\n                ],\n                'filename' => Type::string(),\n                'fullpath' => [\n                    'type' => Type::string(),\n                ],\n                'creationDate' => [\n                    'type' => Type::string(),\n                    'resolve' => [$resolver, 'resolveCreationDate'],\n                ],\n                'modificationDate' => [\n                    'type' => Type::string(),\n                    'resolve' => [$resolver, 'resolveModificationDate'],\n                ],\n                'parent' => [\n                    'type' => $documentTree,\n                    'resolve' => [$resolver, 'resolveParent'],\n                ],\n                'children' => [\n                    'type' => Type::listOf($documentTree),\n                    'resolve' => [$resolver, 'resolveChildren'],\n                ],\n                '_siblings' => [\n                    'type' => Type::listOf($documentTree),\n                    'resolve' => [$resolver, 'resolveSiblings'],\n                ],\n                'translations' => [\n                    'args' => ['defaultLanguage' => ['type' => Type::string()]],\n                    'type' => Type::listOf($documentTranslation),\n                    'resolve' => [$documentResolver, 'resolveTranslations'],\n                ],\n            ];\n        }\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentType/DocumentLinkInputType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType;\n\nuse GraphQL\\Type\\Definition\\InputObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementTag;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\n/**\n * @internal\n */\nfinal class DocumentLinkInputType extends InputObjectType\n{\n    use ServiceTrait;\n\n    /**\n     * @param array $config\n     * @param array $context\n     */\n    public function __construct(Service $graphQlService, $config = ['name' => 'document_link_input'], $context = [])\n    {\n        $this->setGraphQLService($graphQlService);\n        $this->build($config);\n        parent::__construct($config);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $config['fields'] = [\n            'internal' => Type::int(),\n            'internalType' => Type::string(),\n//            'object' => new InputObjectType([\n//                \"name\" => \"document_link_input_object\",\n//                \"fields\" =>\n//                    [\n//                        'type' => Type::string(),\n//                        'id' => Type::int()\n//                    ]]),\n            'direct' => Type::string(),\n            'linktype' => Type::string(),\n            'href' => Type::string(),\n            'tags' => ElementTag::getElementTagInputTypeDefinition(),\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentType/DocumentPageInputType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType;\n\nuse GraphQL\\Type\\Definition\\InputObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\n/**\n * @internal\n */\nfinal class DocumentPageInputType extends InputObjectType\n{\n    use ServiceTrait;\n\n    protected $processors = [];\n\n    /**\n     * @param array $config\n     * @param array $context\n     */\n    public function __construct(Service $graphQlService, $config = ['name' => 'document_page_input'], $context = [])\n    {\n        $this->setGraphQLService($graphQlService);\n        $this->build($config);\n        parent::__construct($config);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $service = $this->getGraphQlService();\n\n        $elementTypes = $service->getSupportedDocumentElementMutationDataTypes();\n        $elementFields = [];\n        $processors = [];\n        foreach ($elementTypes as $elementType) {\n            $typedef = $service->buildDocumentElementDataMutationType($elementType);\n            $elementFields[$elementType] = Type::listOf($typedef['arg']);\n            $processors[$elementType] = $typedef['processor'];\n        }\n\n        $this->processors = $processors;\n\n        $elementInputTypeList = new InputObjectType([ //TODO this is document_page specific\n            'name' => 'document_pagemutationelements',\n            'fields' => $elementFields,\n        ]);\n\n        $config['fields'] = [\n            'module' => Type::string(),\n            'controller' => Type::string(),\n            'action' => Type::string(),\n            'template' => Type::string(),\n            'elements' => $elementInputTypeList,\n        ];\n    }\n\n    /**\n     * @return array\n     */\n    public function getProcessors()\n    {\n        return $this->processors;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentType/DocumentTranslationType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\n/**\n * @internal\n */\nfinal class DocumentTranslationType extends ObjectType\n{\n    use ServiceTrait;\n\n    public function __construct(Service $graphQlService, array $config = ['name' => 'document_translation', 'fields' => []])\n    {\n        $this->setGraphQLService($graphQlService);\n        $this->build($config);\n        parent::__construct($config);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $anyTargetType = $this->graphQlService->buildGeneralType('document_tree');\n        $documentResolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\Document(new \\Pimcore\\Model\\Document\\Service(), $this->getGraphQlService());\n\n        $config['fields']['id'] = Type::int();\n        $config['fields']['language'] = Type::string();\n        $config['fields']['target'] = [\n            'type' => $anyTargetType,\n            'resolve' => [$documentResolver, 'resolveTranslationTarget'],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentType/DocumentTreeType.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\UnionType;\nuse Pimcore\\Bundle\\CoreBundle\\DependencyInjection\\ContainerAwareInterface;\nuse Pimcore\\Bundle\\CoreBundle\\DependencyInjection\\ContainerAwareTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\Document;\nuse Pimcore\\Model\\Element\\ElementInterface;\n\n/**\n * @internal\n */\nfinal class DocumentTreeType extends UnionType implements ContainerAwareInterface\n{\n    use ContainerAwareTrait;\n    use ServiceTrait;\n\n    private $types;\n\n    private $customTypes = [];\n\n    /**\n     * @param array $config\n     */\n    public function __construct(Service $graphQlService, $config = ['name' => 'document_tree'])\n    {\n        $this->setGraphQLService($graphQlService);\n        parent::__construct($config);\n    }\n\n    /**\n     *\n     * @throws \\Exception\n     */\n    public function getTypes(): array\n    {\n        $types = [];\n\n        $supportedTypes = [\n            '_document_folder',\n            'document_email',\n            'document_hardlink',\n            'document_link',\n            'document_page',\n            'document_snippet',\n        ];\n        foreach ($supportedTypes as $supportedType) {\n            $this->types[$supportedType] = $this->getGraphQlService()->getDocumentTypeDefinition($supportedType);\n            $types[] = $this->types[$supportedType];\n        }\n\n        $document = $this->getGraphQlService()->getDocumentTypeDefinition('document');\n        if (count($document->getCustomDataTypes())) {\n            foreach ($document->getCustomDataTypes() as $ckey => $customType) {\n                $this->customTypes[$ckey] = $this->getGraphQlService()->getDocumentTypeDefinition($ckey);\n                $types[] = $this->customTypes[$ckey];\n            }\n        }\n\n        return $types;\n    }\n\n    /**\n     * @param ElementInterface $element\n     * @param array $context\n     *\n     * @return mixed\n     */\n    public function resolveType($element, $context, ResolveInfo $info)\n    {\n        $rawElement = $element;\n        $element = Document::getById($element['id']);\n\n        if ($element instanceof Document\\Folder) {\n            return $this->types['_document_folder'];\n        }\n        if ($element instanceof Document\\Page) {\n            return $this->types['document_page'];\n        }\n        if ($element instanceof Document\\Link) {\n            return $this->types['document_link'];\n        }\n        if ($element instanceof Document\\Email) {\n            return $this->types['document_email'];\n        }\n        if ($element instanceof Document\\Hardlink) {\n            return $this->types['document_hardlink'];\n        }\n        if ($element instanceof Document\\Snippet) {\n            return $this->types['document_snippet'];\n        }\n\n        if (count($this->customTypes)) {\n            foreach ($this->customTypes as $customType) {\n                if ($customType->isTypeof($rawElement, $context, $info)) {\n                    return $customType;\n                }\n            }\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentType/DocumentType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\UnionType;\nuse Pimcore\\Bundle\\CoreBundle\\DependencyInjection\\ContainerAwareInterface;\nuse Pimcore\\Bundle\\CoreBundle\\DependencyInjection\\ContainerAwareTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\Document;\n\n/**\n * @internal\n */\nfinal class DocumentType extends UnionType implements ContainerAwareInterface\n{\n    use ContainerAwareTrait;\n    use ServiceTrait;\n\n    protected $types;\n\n    /**\n     * @var EmailType\n     */\n    protected $emailType;\n\n    /**\n     * @var LinkType\n     */\n    protected $linkType;\n\n    /**\n     * @var SnippetType\n     */\n    protected $snippetType;\n\n    /**\n     * @var HardlinkType\n     */\n    protected $hardlinkType;\n\n    /**\n     * @var PageType\n     */\n    protected $pageType;\n\n    /**\n     * @var array\n     */\n    protected $customTypes;\n\n    /**\n     * @param array $config\n     */\n    public function __construct(Service $graphQlService, PageType $pageType, LinkType $linkType, EmailType $emailType, HardlinkType $hardlinkType, SnippetType $snippetType, $config = [])\n    {\n        $this->pageType = $pageType;\n        $this->hardlinkType = $hardlinkType;\n        $this->linkType = $linkType;\n        $this->emailType = $emailType;\n        $this->snippetType = $snippetType;\n\n        $this->types = [$emailType, $hardlinkType, $linkType, $pageType, $snippetType];\n        $this->setGraphQLService($graphQlService);\n\n        parent::__construct($config);\n    }\n\n    /**\n     *\n     * @throws \\Exception\n     */\n    public function getTypes(): array\n    {\n        return array_merge($this->types, $this->customTypes);\n    }\n\n    /**\n     * @param array $customDataTypes\n     */\n    public function registerCustomDataType($customDataTypes)\n    {\n        $this->customTypes = $customDataTypes;\n    }\n\n    /**\n     * @return array\n     */\n    public function getCustomDataTypes()\n    {\n        return $this->customTypes;\n    }\n\n    public function resolveType($element, $context, ResolveInfo $info): callable|ObjectType|null\n    {\n        $element = Document::getById($element['id']);\n        if ($element instanceof Document\\Page) {\n            return $this->pageType;\n        } elseif ($element instanceof Document\\Link) {\n            return $this->linkType;\n        } elseif ($element instanceof Document\\Email) {\n            return $this->emailType;\n        } elseif ($element instanceof Document\\Hardlink) {\n            return $this->hardlinkType;\n        } elseif ($element instanceof Document\\Snippet) {\n            return $this->snippetType;\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentType/EmailType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\n/**\n * @internal\n */\nfinal class EmailType extends AbstractDocumentType\n{\n    use ServiceTrait;\n\n    /**\n     * @param array $config\n     * @param array $context\n     */\n    public function __construct(Service $graphQlService, $config = ['name' => 'document_email'], $context = [])\n    {\n        parent::__construct($graphQlService, $config);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $resolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentResolver\\Email();\n        $resolver->setGraphQLService($this->getGraphQlService());\n\n        $this->buildBaseFields($config);\n        $config['fields'] = array_merge($config['fields'], [\n                'subject' => Type::string(),\n                'from' => Type::string(),\n                'replyTo' => Type::string(),\n                'to' => Type::string(),\n                'cc' => Type::string(),\n                'bcc' => Type::string(),\n            ]\n        );\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentType/HardlinkType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\General\\AnyDocumentTargetType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\n/**\n * @internal\n */\nfinal class HardlinkType extends AbstractDocumentType\n{\n    use ServiceTrait;\n\n    protected $anyDocumentTargetType;\n\n    /**\n     * @param array $config\n     * @param array $context\n     */\n    public function __construct(Service $graphQlService, AnyDocumentTargetType $anyDocumentTargetType, $config = ['name' => 'document_hardlink'], $context = [])\n    {\n        $this->anyDocumentTargetType = $anyDocumentTargetType;\n        parent::__construct($graphQlService, $config);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $resolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentResolver\\Hardlink();\n        $resolver->setGraphQLService($this->getGraphQlService());\n\n        $this->buildBaseFields($config);\n        $config['fields'] = array_merge($config['fields'], [\n                'sourceId' => Type::int(),\n                'propertiesFromSource' => Type::boolean(),\n                'childrenFromSource' => Type::boolean(),\n                'target' => [\n                    'type' => $this->anyDocumentTargetType,\n                    'resolve' => [$resolver, 'resolveTarget'],\n                ],\n            ]\n        );\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentType/LinkType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\n/**\n * @internal\n */\nfinal class LinkType extends AbstractDocumentType\n{\n    use ServiceTrait;\n\n    /**\n     * @param array $config\n     * @param array $context\n     */\n    public function __construct(Service $graphQlService, $config = ['name' => 'document_link'], $context = [])\n    {\n        parent::__construct($graphQlService, $config);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $resolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentResolver\\Link($this->getGraphQlService());\n        $resolver->setGraphQLService($this->getGraphQlService());\n\n        $graphQlService = $this->getGraphQlService();\n        $anyTargetType = $graphQlService->buildGeneralType('anytarget');\n\n        $this->buildBaseFields($config);\n        $config['fields'] = array_merge($config['fields'], [\n            'internal' => Type::int(),\n            'internalType' => Type::string(),\n            'object' => [\n                'type' => $anyTargetType,\n                'resolve' => [$resolver, 'resolveObject'],\n                ],\n            'direct' => Type::string(),\n            'linktype' => Type::string(),\n            'href' => Type::string(),\n            ]\n        );\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentType/PageSnippetType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType;\n\nuse GraphQL\\Type\\Definition\\ListOfType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\SharedType\\KeyValueType;\nuse Pimcore\\Model\\Document\\PageSnippet;\n\nclass PageSnippetType extends AbstractDocumentType\n{\n    protected $documentElementType;\n\n    /**\n     * @param array $config\n     * @param array $context\n     */\n    public function __construct(Service $graphQlService, DocumentElementType $documentElementType, $config = ['name' => 'document_pageSnippet'], $context = [])\n    {\n        $this->documentElementType = $documentElementType;\n        parent::__construct($graphQlService, $config);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $resolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentResolver\\PageSnippet();\n        $resolver->setGraphQLService($this->getGraphQlService());\n\n        $this->buildBaseFields($config);\n        $config['fields']['elements'] = [\n            'type' => Type::listOf($this->documentElementType),\n            'resolve' => [$resolver, 'resolveElements'],\n        ];\n\n        $config['fields']['editables'] = [\n            'type' => Type::listOf($this->documentElementType),\n            'args' => [\n                'getInheritedValues' => [\n                    'type' => Type::boolean(),\n                    'description' => 'Whether inherited editables should be fetched or not.',\n                    'defaultValue' => false,\n                ],\n            ],\n            'resolve' => [$resolver, 'resolveElements'],\n        ];\n\n        $config['fields']['title'] = [\n            'type' => Type::string(),\n        ];\n\n        $config['fields']['description'] = [\n            'type' => Type::string(),\n        ];\n\n        $keyValue = new ListOfType(KeyValueType::getInstance());\n\n        $config['fields']['rendered'] = [\n            'type' => Type::string(),\n            'args' => [\n                'attributes' => [\n                    'type' => $keyValue,\n                    'description' => 'Attributes passed into the controller/action',\n                    'defaultValue' => [],\n                ],\n                'query' => [\n                    'type' => $keyValue,\n                    'description' => 'Query Params passed into the controller/action',\n                    'defaultValue' => [],\n                ],\n                'options' => [\n                    'type' => $keyValue,\n                    'description' => 'Options passed into the controller/action',\n                    'defaultValue' => [],\n                ],\n                'use_layout' => [\n                    'type' => Type::boolean(),\n                    'description' => 'Disable Layout Rendering',\n                ],\n            ],\n            'resolve' => static function ($value, $args) {\n                $documentId = $value['id'];\n                $document = PageSnippet::getById($documentId);\n\n                $attributes = KeyValueType::resolveAssociativeArray($args['attributes']);\n                $query = KeyValueType::resolveAssociativeArray($args['query']);\n                $options = KeyValueType::resolveAssociativeArray($args['options']);\n\n                if ($document instanceof PageSnippet) {\n                    return \\Pimcore\\Model\\Document\\Service::render(\n                        $document,\n                        $attributes,\n                        $args['use_layout'] ?? false,\n                        $query,\n                        $options\n                    );\n                }\n\n                return null;\n            },\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentType/PageType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\n\n/**\n * @internal\n */\nfinal class PageType extends PageSnippetType\n{\n    /**\n     * @param array $config\n     * @param array $context\n     */\n    public function __construct(Service $graphQlService, DocumentElementType $documentElementType, $config = ['name' => 'document_page'], $context = [])\n    {\n        parent::__construct($graphQlService, $documentElementType, $config, $context);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/DocumentType/SnippetType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\n\n/**\n * @internal\n */\nfinal class SnippetType extends PageSnippetType\n{\n    /**\n     * @param array $config\n     * @param array $context\n     */\n    public function __construct(Service $graphQlService, DocumentElementType $documentElementType, $config = ['name' => 'document_snippet'], $context = [])\n    {\n        parent::__construct($graphQlService, $documentElementType, $config, $context);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/ElementDescriptor.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL;\n\nuse Pimcore\\Model\\Asset;\nuse Pimcore\\Model\\DataObject\\Concrete;\nuse Pimcore\\Model\\Document;\nuse Pimcore\\Model\\Element\\ElementInterface;\n\nfinal class ElementDescriptor extends BaseDescriptor\n{\n    public function __construct(?ElementInterface $element = null)\n    {\n        parent::__construct();\n        if ($element) {\n            $this->offsetSet('id', $element->getId());\n            $this->offsetSet('__elementType', \\Pimcore\\Model\\Element\\Service::getElementType($element));\n            $this->offsetSet('__elementSubtype', $element instanceof Concrete ? $element->getClass()->getName() : $element->getType());\n\n            if ($element instanceof Concrete) {\n                $subtype = $element->getClass()->getName();\n\n                $this->offsetSet('__elementType', 'object');\n                $this->offsetSet('__elementSubtype', $subtype);\n            } elseif ($element instanceof Asset) {\n                $this->offsetSet('__elementType', 'asset');\n                $this->offsetSet('__elementSubtype', $element->getType());\n            } elseif ($element instanceof Document) {\n                $this->offsetSet('__elementType', 'document');\n                $this->offsetSet('__elementSubtype', $element->getType());\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/ElementTag.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL;\n\nuse GraphQL\\Type\\Definition\\InputObjectType;\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\n/**\n * @internal\n */\nfinal class ElementTag extends ObjectType\n{\n    use ServiceTrait;\n\n    protected static $tagTypeCache = [];\n\n    /**\n     * Type definition for ElementTag\n     *\n     * @return array\n     */\n    public static function getElementTagInputTypeDefinition()\n    {\n        if (!isset(self::$tagTypeCache['ElementTag'])) {\n            self::$tagTypeCache['ElementTag'] = [\n                'type' => Type::listOf(new InputObjectType([\n                    'name' => 'ElementTag',\n                    'fields' => [\n                        'id' => Type::id(),\n                        'path' => Type::string(),\n                    ],\n                ])),\n            ];\n        }\n\n        return self::$tagTypeCache['ElementTag'];\n    }\n\n    /**\n     * @param array $config\n     */\n    public function __construct(Service $graphQlService, $config = [])\n    {\n        $this->graphQlService = $graphQlService;\n        $config['name'] = 'element_tag';\n        $this->build($config);\n        parent::__construct($config);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $config['fields'] = [\n            'id' => Type::id(),\n            'name' => Type::string(),\n            'path' => Type::string(),\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Exception/ClientSafeException.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Exception;\n\nuse GraphQL\\Error\\ClientAware;\n\nclass ClientSafeException extends \\Exception implements ClientAware\n{\n    public function isClientSafe(): bool\n    {\n        return true;\n    }\n\n    /**\n     * @return string\n     */\n    public function getCategory()\n    {\n        return 'pimcore.datahub';\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Exception/InvalidFieldDefinitionException.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Exception;\n\nuse Throwable;\n\nclass InvalidFieldDefinitionException extends ClientSafeException\n{\n    public function __construct(\n        string $message = 'Invalid field definition provided.',\n        int $code = 0,\n        ?Throwable $previous = null\n    ) {\n        parent::__construct($message, $code, $previous);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Exception/NotAllowedException.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Exception;\n\nfinal class NotAllowedException extends ClientSafeException\n{\n}\n"
  },
  {
    "path": "src/GraphQL/FeatureDescriptor.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL;\n\n/**\n * @internal\n */\nfinal class FeatureDescriptor extends \\ArrayObject\n{\n    protected $id;\n\n    protected $type;\n\n    protected $value;\n\n    /**\n     * @return mixed\n     */\n    public function getId()\n    {\n        return $this->id;\n    }\n\n    /**\n     * @param mixed $id\n     */\n    public function setId($id): void\n    {\n        $this->id = $id;\n    }\n\n    /**\n     * @return mixed\n     */\n    public function getType()\n    {\n        return $this->type;\n    }\n\n    /**\n     * @param mixed $type\n     */\n    public function setType($type): void\n    {\n        $this->type = $type;\n    }\n\n    /**\n     * @return mixed\n     */\n    public function getValue()\n    {\n        return $this->value;\n    }\n\n    /**\n     * @param mixed $value\n     */\n    public function setValue($value): void\n    {\n        $this->value = $value;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/FieldHelper/AbstractFieldHelper.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\FieldHelper;\n\nuse GraphQL\\Language\\AST\\ArgumentNode;\nuse GraphQL\\Language\\AST\\FieldNode;\nuse GraphQL\\Language\\AST\\FragmentSpreadNode;\nuse GraphQL\\Language\\AST\\InlineFragmentNode;\nuse GraphQL\\Language\\AST\\NodeList;\nuse GraphQL\\Language\\AST\\SelectionSetNode;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\Element\\ElementInterface;\n\nabstract class AbstractFieldHelper\n{\n    use ServiceTrait;\n\n    public function __construct()\n    {\n    }\n\n    /**\n     * @param object $container\n     * @param string $astName\n     *\n     * @return bool\n     */\n    public function skipField($container, $astName)\n    {\n        return false;\n    }\n\n    /**\n     * @param array $data\n     * @param object $container\n     * @param array $args\n     * @param array $context\n     * @param ResolveInfo|null $resolveInfo $resolveInfo\n     */\n    public function doExtractData(FieldNode $ast, &$data, $container, $args, $context, $resolveInfo = null)\n    {\n        $astName = $ast->name->value;\n\n        // sometimes we just want to expand relations just to throw them away afterwards because not requested\n        if ($this->skipField($container, $astName)) {\n            return;\n        }\n\n        // example for http://webonyx.github.io/graphql-php/error-handling/\n        //         throw new MySafeException(\"fieldhelper\", \"TBD customized error message\");\n\n        $getter = 'get' . ucfirst($astName);\n        $arguments = $this->getArguments($ast);\n        $languageArgument = isset($arguments['language']) ? $arguments['language'] : null;\n\n        if (method_exists($container, $getter)) {\n            if ($languageArgument) {\n                if ($ast->alias) {\n                    // defer it\n                    $data[$astName] = function ($source, $args, $context, ResolveInfo $info) use (\n                        $container,\n                        $getter\n                    ) {\n                        return $container->$getter($args['language'] ?? null);\n                    };\n                } else {\n                    $data[$astName] = $container->$getter($languageArgument);\n                }\n            } else {\n                $data[$astName] = $container->$getter();\n            }\n        }\n    }\n\n    /**\n     *\n     * @return array\n     */\n    public function getArguments(FieldNode $ast)\n    {\n        $result = [];\n        $nodeList = $ast->arguments;\n        $count = $nodeList->count();\n        for ($i = 0; $i < $count; $i++) {\n            /** @var ArgumentNode $argumentNode */\n            $argumentNode = $nodeList[$i];\n            $value = $argumentNode->value->kind === 'ListValue' ? $argumentNode->value->values : $argumentNode->value->value;\n            $result[$argumentNode->name->value] = $value;\n        }\n\n        return $result;\n    }\n\n    /**\n     * @param mixed $data\n     * @param object $container\n     * @param array $args\n     * @param array $context\n     *\n     * @return array\n     */\n    public function extractData(&$data, $container, $args, $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        if ($container instanceof ElementInterface) {\n            // we have to at least add the ID and pass it around even if not requested because we need it internally\n            // to resolve fields of linked elements (such as asset image and so on)\n            $data['id'] = $container->getId();\n        }\n\n        $resolveInfoArray = (array)$resolveInfo;\n        $fieldAstList = (array) $resolveInfoArray['fieldNodes'];\n\n        foreach ($fieldAstList as $astNode) {\n            if ($astNode instanceof FieldNode) {\n                /** @var SelectionSetNode $selectionSet */\n                $selectionSet = $astNode->selectionSet;\n                if ($selectionSet !== null) {\n                    $selections = $selectionSet->selections;\n                    $this->processSelections($data, $selections, $container, $args, $context, $resolveInfo);\n                }\n            }\n        }\n\n        return $data;\n    }\n\n    /**\n     * @param mixed $data\n     * @param NodeList|null $selections\n     * @param object $container\n     * @param array $args\n     * @param array $context\n     */\n    public function processSelections(&$data, $selections, $container, $args, $context, ResolveInfo $resolveInfo)\n    {\n        if (!$selections) {\n            return;\n        }\n\n        foreach ($selections as $selectionNode) {\n            $this->processSelectionNode($data, $selectionNode, $container, $args, $context, $resolveInfo);\n        }\n    }\n\n    private function processSelectionNode(\n        &$data,\n        $selectionNode,\n        $container,\n        $args,\n        $context,\n        ResolveInfo $resolveInfo\n    ): void {\n        if (!$selectionNode) {\n            return;\n        }\n\n        if ($selectionNode instanceof FieldNode) {\n            $this->doExtractData($selectionNode, $data, $container, $args, $context, $resolveInfo);\n        } elseif ($selectionNode instanceof InlineFragmentNode) {\n            $inlineSelectionSetNode = $selectionNode->selectionSet;\n            /** @var NodeList $inlineSelections */\n            $inlineSelections = $inlineSelectionSetNode->selections;\n            $count = $inlineSelections->count();\n            for ($i = 0; $i < $count; $i++) {\n                $inlineNode = $inlineSelections[$i];\n                if ($inlineNode instanceof FieldNode) {\n                    $this->doExtractData($inlineNode, $data, $container, $args, $context, $resolveInfo);\n\n                    continue;\n                }\n                if ($inlineNode instanceof FragmentSpreadNode) {\n                    $this->processSelectionNode($data, $inlineNode, $container, $args, $context, $resolveInfo);\n                }\n            }\n        } elseif ($selectionNode instanceof FragmentSpreadNode) {\n            $fragmentName = $selectionNode->name->value;\n            $knownFragments = $resolveInfo->fragments;\n            $resolvedFragment = $knownFragments[$fragmentName];\n            if ($resolvedFragment) {\n                $fragmentSelectionSet = $resolvedFragment->selectionSet;\n                $fragmentSelections = $fragmentSelectionSet->selections;\n                $this->processSelections($data, $fragmentSelections, $container, $args, $context, $resolveInfo);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/FieldHelper/AssetFieldHelper.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\FieldHelper;\n\nuse GraphQL\\Language\\AST\\FieldNode;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Model\\Asset;\nuse Pimcore\\Model\\Asset\\Image;\nuse Pimcore\\Model\\Asset\\Video;\n\nfinal class AssetFieldHelper extends AbstractFieldHelper\n{\n    public function getVideoThumbnail(Asset\\Video $asset, string | Video\\Thumbnail\\Config $thumbNailConfig, ?string $thumbNailFormat = null): mixed\n    {\n        if (isset($thumbNailFormat) && $thumbNailFormat !== 'image') {\n            $value = $asset->getThumbnail($thumbNailConfig);\n            if ($value) {\n                $formats = $value['formats'] ?? [];\n                $format = $formats[$thumbNailFormat] ?? null;\n                if ($format) {\n                    return $format;\n                }\n            }\n        } else {\n            return $asset->getImageThumbnail($thumbNailConfig);\n        }\n\n        return null;\n    }\n\n    public function getImageDocumentThumbnail(\n        Asset $asset,\n        string | Image\\Thumbnail\\Config $thumbNailConfig,\n        ?string $thumbNailFormat = null,\n        bool $deferred = false\n    ): mixed {\n        $thumb = null;\n\n        if ($asset instanceof Asset\\Document) {\n            $thumb = $asset->getImageThumbnail($thumbNailConfig, deferred: $deferred);\n        }\n\n        if ($asset instanceof Asset\\Video) {\n            $thumb = $asset->getImageThumbnail($thumbNailConfig);\n        }\n\n        if ($asset instanceof Asset\\Image) {\n            $thumb = $asset->getThumbnail($thumbNailConfig, $deferred);\n        }\n\n        if (\n            !($asset instanceof Asset\\Video) &&\n            isset($thumb, $thumbNailFormat)\n        ) {\n            $thumb = $thumb->getAsFormat($thumbNailFormat);\n        }\n\n        return $thumb;\n    }\n\n    public function getAssetThumbnail(\n        Asset $asset,\n        string | Image\\Thumbnail\\Config | Video\\Thumbnail\\Config $thumbNailConfig,\n        ?string $thumbNailFormat = null,\n        bool $deferred = false\n    ): mixed {\n        if (($asset instanceof Asset\\Video) && (is_string($thumbNailConfig) || $thumbNailConfig instanceof Video\\Thumbnail\\Config)) {\n            return $this->getVideoThumbnail($asset, $thumbNailConfig, $thumbNailFormat);\n        } else {\n            return $this->getImageDocumentThumbnail($asset, $thumbNailConfig, $thumbNailFormat, $deferred);\n        }\n    }\n\n    /**\n     * @param array $data\n     * @param Asset $container\n     * @param array $args\n     * @param array $context\n     * @param ResolveInfo $resolveInfo\n     */\n    public function doExtractData(FieldNode $ast, &$data, $container, $args, $context, $resolveInfo = null)\n    {\n        $astName = $ast->name->value;\n\n        // sometimes we just want to expand relations just to throw them away afterwards because not requested\n        if ($this->skipField($container, $astName)) {\n            return;\n        }\n\n        $getter = 'get'.ucfirst($astName);\n        $arguments = $this->getArguments($ast);\n        $languageArgument = isset($arguments['language']) ? $arguments['language'] : null;\n        $thumbnailArgument = isset($arguments['thumbnail']) ? $arguments['thumbnail'] : null;\n        $thumbnailFormat = $arguments['format'] ?? null;\n\n        $realName = $astName;\n\n        if (($astName == 'fullpath' || $astName == 'data') && $thumbnailArgument && ($container instanceof Image || $container instanceof Video)) {\n            if ($ast->alias) {\n                // defer it\n                $data[$realName] = function ($source, $args, $context, ResolveInfo $info) use ($container, $realName) {\n                    if ($realName === 'fullpath') {\n                        return $container->getThumbnail($args['thumbnail'], false);\n                    }\n                    if ($realName === 'data') {\n                        $thumb = $container->getThumbnail($args['thumbnail'], false);\n\n                        return stream_get_contents($thumb->getStream());\n                    }\n\n                    return null;\n                };\n            } else {\n                //TODO extract duplicate code\n                if ($realName == 'fullpath') {\n                    $data[$realName] = $container->getThumbnail($thumbnailArgument);\n                } elseif ($realName == 'data') {\n                    $thumb = $this->getAssetThumbnail($container, $thumbnailArgument, $thumbnailFormat);\n                    if ($thumb) {\n                        $data[$realName] = stream_get_contents($thumb->getStream());\n                    }\n                }\n            }\n        } else {\n            if (method_exists($container, $getter)) {\n                if ($languageArgument) {\n                    if ($ast->alias) {\n                        // defer it\n                        $data[$realName] = function ($source, $args, $context, ResolveInfo $info) use (\n                            $container,\n                            $getter\n                        ) {\n                            return $container->$getter($args['language'] ?? null);\n                        };\n                    } else {\n                        $data[$realName] = $container->$getter($languageArgument);\n                    }\n                } else {\n                    $data[$realName] = $container->$getter();\n                }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/FieldHelper/DataObjectFieldHelper.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\FieldHelper;\n\nuse GraphQL\\Language\\AST\\FieldNode;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Exception\\ClientSafeException;\nuse Pimcore\\File;\nuse Pimcore\\Logger;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\nuse Pimcore\\Model\\DataObject\\Concrete;\nuse Pimcore\\Model\\DataObject\\Fieldcollection\\Data\\AbstractData;\nuse Pimcore\\Model\\DataObject\\Localizedfield;\nuse Pimcore\\Model\\DataObject\\Objectbrick\\Definition;\n\nfinal class DataObjectFieldHelper extends AbstractFieldHelper\n{\n    /**\n     * @param array $nodeDef\n     * @param ClassDefinition|\\Pimcore\\Model\\DataObject\\Fieldcollection\\Definition $class\n     * @param object|null $container\n     *\n     * @return array|bool|null\n     */\n    public function getQueryFieldConfigFromConfig($nodeDef, $class, $container = null)\n    {\n        $result = false;\n\n        $attributes = $nodeDef['attributes'];\n\n        if ($nodeDef['isOperator']) {\n            $key = isset($attributes['label']) ? $attributes['label'] : '';\n\n            $key = File::getValidFilename($key);\n\n            $result = [\n                'key' => $key,\n                'config' => $this->getGraphQlOperatorConfig(\n                    'query',\n                    $nodeDef,\n                    $class,\n                    null,\n                    []\n                )];\n        } else {\n            $key = $attributes['attribute'];\n\n            // system columns which are not part of the common set (see PimcoreObjectType)\n            if ($attributes['dataType'] == 'system') {\n                switch ($key) {\n                    case 'filename':\n                    case 'fullpath':\n                    case 'key':\n                        return [\n                            'key' => $key,\n                            'config' => [\n                                'name' => $key,\n                                'type' => Type::string(),\n                            ],\n                        ];\n                    case 'published':\n                        return [\n                            'key' => $key,\n                            'config' => [\n                                'name' => $key,\n                                'type' => Type::boolean(),\n                            ],\n                        ];\n                    default:\n                        return null;\n                }\n            } else {\n                $fieldDefinition = $this->getFieldDefinitionFromKey($class, $key, $container);\n\n                if (!$fieldDefinition) {\n                    Logger::error('could not resolve field \"' . $key . '\" in class ' . $class->getName());\n\n                    return false;\n                }\n\n                if ($this->supportsGraphQL($fieldDefinition, 'query')) {\n                    $fieldName = $fieldDefinition->getName();\n\n                    $result = ['key' => $fieldName,\n                        'config' => $this->getGraphQlQueryFieldConfig(\n                            $key,\n                            $fieldDefinition,\n                            $class,\n                            $container\n                        )];\n                }\n            }\n        }\n\n        return $result;\n    }\n\n    /**\n     * @param string $mode\n     * @param array $nodeDef\n     * @param ClassDefinition $class\n     * @param object|null $container\n     * @param array $params\n     *\n     * @return mixed\n     */\n    public function getGraphQlOperatorConfig($mode, $nodeDef, $class, $container, $params = [])\n    {\n        $attributes = $nodeDef['attributes'];\n        $operatorTypeName = $attributes['class'];\n\n        $builder = 'buildDataObject' . ucfirst($mode) . 'OperatorConfig';\n        $typeDef = $this->getGraphQlService()->$builder($operatorTypeName, $nodeDef, $class, $container, $params);\n\n        return $typeDef;\n    }\n\n    /**\n     * @param ClassDefinition|\\Pimcore\\Model\\DataObject\\Fieldcollection\\Definition $class\n     * @param string $key\n     * @param object|null $container\n     *\n     * @return Data|null\n     */\n    public function getFieldDefinitionFromKey($class, $key, &$container = null)\n    {\n        $fieldDefinition = null;\n        $parts = explode('~', $key);\n\n        if (substr($key, 0, 1) === '~') {\n            // classification store ...\n        } elseif (count($parts) > 1) {\n            $brickType = $parts[0];\n            $brickDescriptor = null;\n\n            if (strpos($brickType, '?') !== false) {\n                $brickDescriptor = substr($brickType, 1);\n                $brickDescriptor = json_decode($brickDescriptor, true);\n                $brickType = $brickDescriptor['containerKey'];\n            }\n\n            $brickKey = $parts[1];\n\n            $brickDefinition = Definition::getByKey($brickType);\n\n            if ($brickDescriptor) {\n                /** @var Data\\Localizedfields|null $fieldDefinitionLocalizedFields */\n                $fieldDefinitionLocalizedFields = $brickDefinition->getFieldDefinition('localizedfields');\n                if ($fieldDefinition = $fieldDefinitionLocalizedFields?->getFieldDefinition($brickKey)) {\n                    $container = $fieldDefinitionLocalizedFields;\n                }\n            }\n\n            if (!$fieldDefinition) {\n                $fieldDefinition = $brickDefinition->getFieldDefinition($brickKey);\n            }\n        } else {\n            /** @var Data\\Localizedfields|null $fieldDefinitionLocalizedFields */\n            $fieldDefinitionLocalizedFields = $class->getFieldDefinition('localizedfields');\n            if ($fieldDefinition = $fieldDefinitionLocalizedFields?->getFieldDefinition($key)) {\n                $container = $fieldDefinitionLocalizedFields;\n            }\n            if (!$fieldDefinition) {\n                $fieldDefinition = $class->getFieldDefinition($key);\n            }\n        }\n\n        return $fieldDefinition;\n    }\n\n    /**\n     *\n     * @return bool\n     *\n     * @throws \\Exception\n     */\n    public function supportsGraphQL(Data $fieldDefinition, string $operationType)\n    {\n        $typeName = $fieldDefinition->getFieldtype();\n\n        switch ($operationType) {\n            case 'query':\n                return $this->getGraphQlService()->supportsDataObjectQueryDataType($typeName);\n            case 'mutation':\n                return $this->getGraphQlService()->supportsDataObjectMutationDataType($typeName);\n            default:\n                throw new ClientSafeException('unknown operation type ' . $typeName);\n        }\n    }\n\n    /**\n     * @param string $attribute\n     * @param Data $fieldDefinition\n     * @param ClassDefinition $class\n     * @param object $container\n     *\n     * @return mixed\n     */\n    public function getGraphQlQueryFieldConfig($attribute, $fieldDefinition, $class, $container)\n    {\n        $typeName = $fieldDefinition->getFieldtype();\n        $typeDef = $this->getGraphQlService()->buildDataObjectQueryDataConfig($attribute, $typeName, $fieldDefinition, $class, $container);\n\n        return $typeDef;\n    }\n\n    /**\n     * @param array $nodeDef\n     * @param ClassDefinition|\\Pimcore\\Model\\DataObject\\Fieldcollection\\Definition $class\n     *\n     * @return array|false|null\n     */\n    public function getMutationFieldConfigFromConfig($nodeDef, $class)\n    {\n        $container = null;\n        $result = false;\n\n        $attributes = $nodeDef['attributes'];\n\n        if ($nodeDef['isOperator'] ?? false) {\n            $key = isset($attributes['label']) ? $attributes['label'] : '';\n            $key = preg_replace('/[^A-Za-z0-9\\-\\.~_]+/', '_', $key);\n\n            $result = $this->getGraphQlOperatorConfig(\n                'mutation',\n                $nodeDef,\n                $class,\n                null,\n                []\n            );\n\n            $result['key'] = $key;\n        } else {\n            $key = $attributes['attribute'];\n\n            // system columns which are not part of the common set (see PimcoreObjectType)\n            if ($attributes['dataType'] === 'system') {\n                switch ($key) {\n                    case 'key':\n                        return [\n                            'key' => $key,\n                            'arg' => ['type' => Type::string()],\n                            'processor' => function ($object, $newValue, $args) {\n                                $object->setKey($newValue);\n                            },\n\n                        ];\n                    case 'published':\n                        return [\n                            'key' => $key,\n                            'arg' => ['type' => Type::boolean()],\n                            'processor' => function ($object, $newValue, $args) {\n                                $object->setPublished($newValue);\n                            },\n                        ];\n                    default:\n                        return null;\n                }\n            } else {\n                $fieldDefinition = $this->getFieldDefinitionFromKey($class, $key, $container);\n\n                if (!$fieldDefinition) {\n                    Logger::error('could not resolve field ' . $key);\n\n                    return false;\n                }\n\n                if ($this->supportsGraphQL($fieldDefinition, 'mutation')) {\n                    $fieldName = $fieldDefinition->getName();\n\n                    $result = $this->getGraphQlMutationFieldConfig(\n                        $nodeDef,\n                        $class,\n                        $container\n                    );\n                    $result['key'] = $fieldName;\n                }\n            }\n        }\n\n        return $result;\n    }\n\n    /**\n     * @param array $nodeDef\n     * @param ClassDefinition|\\Pimcore\\Model\\DataObject\\Fieldcollection\\Definition $class\n     * @param object $container\n     *\n     * @return array\n     */\n    public function getGraphQlMutationFieldConfig($nodeDef, $class, $container)\n    {\n        $typeDef = $this->getGraphQlService()->buildDataObjectMutationDataConfig($nodeDef, $class, $container);\n\n        return $typeDef;\n    }\n\n    /**\n     * @param array $nodeConf\n     * @param ClassDefinition $class\n     * @param object|null $container\n     *\n     * @return mixed\n     */\n    public function getGraphQlTypeFromNodeConf($nodeConf, $class, $container = null)\n    {\n        $attributes = $nodeConf['attributes'];\n\n        if ($nodeConf['isOperator']) {\n            $operatorTypeName = $attributes['class'];\n            $type = $this->getGraphQlService()->buildDataObjectOperatorQueryType('mutation', $operatorTypeName, $nodeConf, $class, $container);\n        } else {\n            $key = $attributes['attribute'];\n            $fieldDefinition = $this->getFieldDefinitionFromKey($class, $key);\n            $type = $this->getGraphQlService()->buildDataObjectDataQueryType($fieldDefinition, $class, $container);\n        }\n\n        return $type;\n    }\n\n    /**\n     * @param array $data\n     * @param object $container\n     * @param array $args\n     * @param array $context\n     * @param ResolveInfo $resolveInfo\n     */\n    public function doExtractData(FieldNode $ast, &$data, $container, $args, $context, $resolveInfo = null)\n    {\n        $astName = $ast->name->value;\n\n        // sometimes we just want to expand relations just to throw them away afterwards because not requested\n        if ($this->skipField($container, $astName)) {\n            return;\n        }\n\n        // example for http://webonyx.github.io/graphql-php/error-handling/\n        //         throw new MySafeException(\"fieldhelper\", \"TBD customized error message\");\n\n        $getter = 'get' . ucfirst($astName);\n\n        $isLocalizedField = false;\n        $containerDefinition = null;\n\n        if ($container instanceof Concrete) {\n            $containerDefinition = $container->getClass();\n        } elseif ($container instanceof AbstractData || $container instanceof \\Pimcore\\Model\\DataObject\\Objectbrick\\Data\\AbstractData) {\n            $containerDefinition = $container->getDefinition();\n        }\n\n        if ($containerDefinition) {\n            /** @var Data\\Localizedfields|null $lfDefs */\n            $lfDefs = $containerDefinition->getFieldDefinition('localizedfields');\n            if ($lfDefs && $lfDefs->getFieldDefinition($astName)) {\n                $isLocalizedField = true;\n            }\n        }\n\n        if (method_exists($container, $getter)) {\n            if ($isLocalizedField) {\n                // defer it\n                $data[$astName] = function ($source, $args, $context, ResolveInfo $info) use (\n                    $container,\n                    $getter\n                ) {\n                    $orgUseFallbackValues = Localizedfield::getGetFallbackValues();\n                    Localizedfield::setGetFallbackValues(\n                        $args['getFallbackLanguageValue'] ?? $orgUseFallbackValues\n                    );\n                    $localizedValue = $container->$getter($args['language'] ?? null);\n                    Localizedfield::setGetFallbackValues($orgUseFallbackValues);\n\n                    return $localizedValue;\n                };\n            } else {\n                $data[$astName] = $container->$getter();\n            }\n        }\n    }\n\n    /**\n     * @param object $container\n     * @param string $astName\n     *\n     * @return bool\n     */\n    public function skipField($container, $astName)\n    {\n        if ($container instanceof Concrete || $container instanceof Localizedfield) {\n            $fieldDefinition = $container->getClass()->getFieldDefinition($astName);\n\n            if ($fieldDefinition instanceof Data\\Relations\\AbstractRelations) {\n                // do not autoexpand relations\n                return true;\n            }\n        }\n\n        return false;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/FieldHelper/DocumentFieldHelper.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\FieldHelper;\n\nuse GraphQL\\Language\\AST\\FieldNode;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Logger;\nuse Pimcore\\Model\\Asset;\n\nfinal class DocumentFieldHelper extends AbstractFieldHelper\n{\n    /**\n     * @param array $data\n     * @param Asset $container\n     * @param array $args\n     * @param array $context\n     * @param ResolveInfo $resolveInfo\n     */\n    public function doExtractData(FieldNode $ast, &$data, $container, $args, $context, $resolveInfo = null)\n    {\n        $astName = $ast->name->value;\n\n        // sometimes we just want to expand relations just to throw them away afterwards because not requested\n        if ($this->skipField($container, $astName)) {\n            return;\n        }\n\n        $getter = 'get' . ucfirst($astName);\n        $arguments = $this->getArguments($ast);\n        $languageArgument = isset($arguments['language']) ? $arguments['language'] : null;\n\n        $realName = $astName;\n\n        if (method_exists($container, $getter)) {\n            if ($languageArgument) {\n                if ($ast->alias) {\n                    // defer it\n                    $data[$realName] = function ($source, $args, $context, ResolveInfo $info) use (\n                        $container,\n                        $getter\n                    ) {\n                        return $container->$getter($args['language'] ?? null);\n                    };\n                } else {\n                    $data[$realName] = $container->$getter($languageArgument);\n                }\n            } else {\n                try {\n                    $data[$realName] = $container->$getter();\n                } catch (\\Error $e) {\n                    Logger::error($e);\n                }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/FieldcollectionDescriptor.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL;\n\n/**\n * @internal\n */\nfinal class FieldcollectionDescriptor extends BaseDescriptor\n{\n}\n"
  },
  {
    "path": "src/GraphQL/General/AnyDocumentTargetType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\General;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\UnionType;\nuse Pimcore\\Bundle\\CoreBundle\\DependencyInjection\\ContainerAwareInterface;\nuse Pimcore\\Bundle\\CoreBundle\\DependencyInjection\\ContainerAwareTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\Document;\n\n/**\n * @internal\n */\nfinal class AnyDocumentTargetType extends UnionType implements ContainerAwareInterface\n{\n    use ContainerAwareTrait;\n    use ServiceTrait;\n\n    /**\n     * @param array $config\n     */\n    public function __construct(Service $graphQlService, $config = ['name' => 'AnyDocumentTarget'])\n    {\n        $this->setGraphQLService($graphQlService);\n\n        parent::__construct($config);\n    }\n\n    /**\n     *\n     * @throws \\Exception\n     */\n    public function getTypes(): array\n    {\n        $types = [];\n\n        $service = $this->getGraphQlService();\n        $documentFolderType = $service->getDocumentTypeDefinition('_document_folder');\n\n        $types[] = $documentFolderType;\n        $documentUnionType = $this->getGraphQlService()->getDocumentTypeDefinition('document');\n        $supportedDocumentTypes = $documentUnionType->getTypes();\n        $types = array_merge($types, $supportedDocumentTypes);\n\n        return $types;\n    }\n\n    public function resolveType($element, $context, ResolveInfo $info): ?string\n    {\n        if ($element) {\n            if ($element['__elementType'] == 'document') {\n                $document = Document::getById($element['id']);\n                if ($document) {\n                    $documentType = $document->getType();\n                    $service = $this->getGraphQlService();\n                    $typeDefinition = $service->getDocumentTypeDefinition('document_' . $documentType);\n\n                    return $typeDefinition;\n                }\n            } else {\n                die('To be done');\n            }\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/General/AnyTargetType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\General;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\UnionType;\nuse Pimcore\\Bundle\\CoreBundle\\DependencyInjection\\ContainerAwareInterface;\nuse Pimcore\\Bundle\\CoreBundle\\DependencyInjection\\ContainerAwareTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassTypeDefinitions;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\Document;\n\n/**\n * @internal\n */\nfinal class AnyTargetType extends UnionType implements ContainerAwareInterface\n{\n    use ContainerAwareTrait;\n    use ServiceTrait;\n\n    /**\n     * @param array $config\n     */\n    public function __construct(Service $graphQlService, $config = ['name' => 'AnyTarget'])\n    {\n        $this->setGraphQLService($graphQlService);\n\n        parent::__construct($config);\n    }\n\n    /**\n     *\n     * @throws \\Exception\n     */\n    public function getTypes(): array\n    {\n        $service = $this->getGraphQlService();\n\n        $types = [];\n\n        if ($service->querySchemaEnabled('object')) {\n            $objectTypes = array_values(ClassTypeDefinitions::getAll(false));\n            $types = $objectTypes;\n        }\n\n        if ($service->querySchemaEnabled('asset')) {\n            $assetType = $service->buildAssetType('asset');\n            $types[] = $assetType;\n        }\n\n        if ($service->querySchemaEnabled('asset_folder')) {\n            $assetFolderType = $service->getAssetTypeDefinition('_asset_folder');\n            $types[] = $assetFolderType;\n        }\n\n        if ($service->querySchemaEnabled('document_folder')) {\n            $documentFolderType = $service->getDocumentTypeDefinition('_document_folder');\n            $types[] = $documentFolderType;\n        }\n\n        if ($service->querySchemaEnabled('object_folder')) {\n            $objectFolderType = $service->getDataObjectTypeDefinition('_object_folder');\n            $types[] = $objectFolderType;\n        }\n\n        if ($service->querySchemaEnabled('document')) {\n            $documentUnionType = $service->getDocumentTypeDefinition('document');\n            $supportedDocumentTypes = $documentUnionType->getTypes();\n            $types = array_merge($types, $supportedDocumentTypes);\n        }\n\n        return $types;\n    }\n\n    public function resolveType($element, $context, ResolveInfo $info)\n    {\n        if ($element) {\n            if ($element['__elementType'] == 'object') {\n                $type = ClassTypeDefinitions::get($element['__elementSubtype']);\n\n                return $type;\n            } elseif ($element['__elementType'] == 'asset') {\n                return  $this->getGraphQlService()->buildAssetType('asset');\n            } elseif ($element['__elementType'] == 'document') {\n                $document = Document::getById($element['id']);\n                if ($document) {\n                    $documentType = $document->getType();\n                    $service = $this->getGraphQlService();\n                    //TODO maybe catch unsupported types for now ?\n                    $typeDefinition = $service->getDocumentTypeDefinition('document_' . $documentType);\n\n                    return $typeDefinition;\n                }\n            }\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/General/FolderType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\General;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\nabstract class FolderType extends ObjectType\n{\n    use ServiceTrait;\n\n    /**\n     * @param array $config\n     * @param array $context\n     */\n    public function __construct(Service $graphQlService, $config = [], $context = [])\n    {\n        $this->setGraphQLService($graphQlService);\n        $this->build($config);\n        parent::__construct($config);\n    }\n\n    /**\n     * @param array $config\n     */\n    abstract public function build(&$config);\n}\n"
  },
  {
    "path": "src/GraphQL/General/UploadType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\General;\n\nuse GraphQL\\Error\\Error;\nuse GraphQL\\Error\\InvariantViolation;\nuse GraphQL\\Language\\AST\\Node;\nuse GraphQL\\Type\\Definition\\ScalarType;\nuse GraphQL\\Utils\\Utils;\nuse Symfony\\Component\\HttpFoundation\\File\\UploadedFile;\nuse UnexpectedValueException;\n\n/**\n * @internal\n */\nfinal class UploadType extends ScalarType\n{\n    public string $name = 'Upload';\n\n    public ?string $description =\n        'The `Upload` special type represents a file to be uploaded in the same HTTP request as specified by\n [graphql-multipart-request-spec](https://github.com/jaydenseric/graphql-multipart-request-spec).';\n\n    public function serialize($value)\n    {\n        throw new InvariantViolation('`Upload` cannot be serialized');\n    }\n\n    public function parseValue($value)\n    {\n        if (!$value instanceof UploadedFile) {\n            throw new UnexpectedValueException(\n                'Could not get uploaded file, be sure to conform to GraphQL multipart request specification. Instead got: ' . Utils::printSafe(\n                    $value\n                )\n            );\n        }\n\n        return $value;\n    }\n\n    public function parseLiteral(Node $valueNode, ?array $variables = null)\n    {\n        throw new Error(\n            '`Upload` cannot be hardcoded in query, be sure to conform to GraphQL multipart request specification. Instead got: ' . $valueNode->kind,\n            $valueNode\n        );\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/GeneralTypeFactory.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\n/**\n * @internal\n */\nfinal class GeneralTypeFactory\n{\n    use ServiceTrait;\n\n    public static $registry = [];\n\n    /**\n     * @var string\n     */\n    protected $className;\n\n    public function __construct(Service $graphQlService, string $className)\n    {\n        $this->className = $className;\n        $this->setGraphQLService($graphQlService);\n    }\n\n    /**\n     * @return mixed\n     */\n    public function build()\n    {\n        if (!isset(self::$registry[$this->className])) {\n            $operatorImpl = new $this->className($this->getGraphQlService());\n            self::$registry[$this->className] = $operatorImpl;\n        }\n\n        return self::$registry[$this->className];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Helper.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL;\n\nuse Pimcore\\Db;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Layout;\nuse Pimcore\\Model\\DataObject\\Listing;\n\n/**\n * @internal\n */\nfinal class Helper\n{\n    /**\n     * @param Listing\\Concrete $list\n     * @param \\stdClass | array $filter\n     * @param array $columns\n     * @param array $mappingTable\n     */\n    public static function addJoins(&$list, $filter, $columns, &$mappingTable = [])\n    {\n        $filterEntries = is_array($filter) ? $filter : [$filter];\n\n        foreach ($filterEntries as $entry) {\n            $parts = get_object_vars($entry);\n\n            foreach ($parts as $key => $value) {\n                foreach ($columns as $column) {\n                    $attributes = $column['attributes'];\n\n                    if (isset($attributes['attribute'])) {\n                        $name = $attributes['attribute'];\n\n                        if (strpos($name, '~') !== false) {\n                            $nameParts = explode('~', $name);\n                            $brickName = $nameParts[0];\n                            $brickKey = $nameParts[1];\n                            $list->addObjectbrick($brickName);\n                            $mappingTable[$brickKey] = 1;\n                        }\n                    }\n                }\n            }\n        }\n    }\n\n    /**\n     * @param string $defaultTable\n     * @param string|array|\\stdClass $q\n     * @param string|null $op\n     * @param string|null $subject\n     * @param array $fieldMappingTable\n     *\n     * @return string\n     */\n    public static function buildSqlCondition($defaultTable, $q, $op = null, $subject = null, $fieldMappingTable = [])\n    {\n        // Examples:\n        //\n        //q={\"o_modificationDate\" : {\"$gt\" : \"1000\"}}\n        //where ((`o_modificationDate` > '1000') )\n        //\n        //\n        //\n        //\n        //q=[{\"o_modificationDate\" : {\"$gt\" : \"1000\"}}, {\"o_modificationDate\" : {\"$lt\" : \"9999\"}}]\n        //where ( ((`o_modificationDate` > '1000') )  AND  ((`o_modificationDate` < '9999') )  )\n        //\n        //\n        //\n        //\n        //q={\"o_modificationDate\" : {\"$gt\" : \"1000\"}, \"$or\": [{\"o_id\": \"3\", \"o_key\": {\"$like\" :\"%lorem-ipsum%\"}}]}\n        //where ((`o_modificationDate` > '1000') AND  ((`o_id` = '3') OR  ((`o_key` LIKE '%lorem-ipsum%') )  )  )\n        //\n        // q={\"$and\" : [{\"o_published\": \"0\"}, {\"o_modificationDate\" : {\"$gt\" : \"1000\"}, \"$or\": [{\"o_id\": \"3\", \"o_key\": {\"$like\" :\"%lorem-ipsum%\"}}]}]}\n        //\n        // where ( ((`o_published` = '0') )  AND  ((`o_modificationDate` > '1000') AND  ((`o_id` = '3') OR (`o_key` LIKE '%lorem-ipsum%') )  )  )\n\n        if (!$op) {\n            $op = 'AND';\n        }\n        $mappingTable = [\n            '$gt' => '>',\n            '$gte' => '>=',\n            '$lt' => '<',\n            '$lte' => '<=',\n            '$like' => 'LIKE',\n            '$notlike' => 'NOT LIKE',\n            '$notnull' => 'IS NOT NULL',\n            '$not' => 'NOT',\n        ];\n        $ops = array_keys($mappingTable);\n\n        $db = Db::get();\n\n        $parts = [];\n        if (is_string($q)) {\n            return $q;\n        }\n\n        foreach ($q as $key => $value) {\n            if (array_search(strtolower($key), ['$and', '$or']) !== false) {\n                $childOp = strtolower($key) == '$and' ? 'AND' : 'OR';\n\n                if (is_array($value)) {\n                    $childParts = [];\n                    foreach ($value as $arrItem) {\n                        $childParts[] = self::buildSqlCondition(\n                            $defaultTable,\n                            $arrItem,\n                            $childOp,\n                            $subject,\n                            $fieldMappingTable\n                        );\n                    }\n                    $parts[] = implode(' ' . $childOp . ' ', $childParts);\n                } else {\n                    $parts[] = self::buildSqlCondition($defaultTable, $value, $childOp);\n                }\n            } else {\n                if (is_array($value)) {\n                    foreach ($value as $subValue) {\n                        $parts[] = self::buildSqlCondition($defaultTable, $subValue);\n                    }\n                } elseif ($value instanceof \\stdClass) {\n                    $objectVars = get_object_vars($value);\n                    foreach ($objectVars as $objectVar => $objectValue) {\n                        if (array_search(strtolower($objectVar), $ops) !== false) {\n                            $innerOp = $mappingTable[strtolower($objectVar)];\n                            if ($innerOp == 'NOT') {\n                                $valuePart = ' IS NULL';\n                                if (!is_null($objectValue)) {\n                                    $valuePart = ' =' . $db->quote($objectValue);\n                                }\n\n                                if (isset($fieldMappingTable[$key])) {\n                                    $parts[] = '( NOT ' . $db->quoteIdentifier($key) . $valuePart . ')';\n                                } else {\n                                    $parts[] = '( NOT ' . self::quoteAbsoluteColumnName(\n                                        $defaultTable,\n                                        $key\n                                    ) . $valuePart . ')';\n                                }\n                            } else {\n                                $parts[] = '(' . self::quoteAbsoluteColumnName(\n                                    $defaultTable,\n                                    $key\n                                ) . ' ' . $innerOp . ' ' . $db->quote($objectValue) . ')';\n                            }\n                        } else {\n                            if ($objectValue instanceof \\stdClass) {\n                                $parts[] = self::buildSqlCondition($defaultTable, $objectValue, null, $objectVar);\n                            } else {\n                                if (is_null($objectValue)) {\n                                    $parts[] = '(' . self::quoteAbsoluteColumnName(\n                                        $defaultTable,\n                                        $objectVar\n                                    ) . ' IS NULL)';\n                                } else {\n                                    $parts[] = '(' . self::quoteAbsoluteColumnName(\n                                        $defaultTable,\n                                        $objectVar\n                                    ) . ' = ' . $db->quote($objectValue) . ')';\n                                }\n                            }\n                        }\n                    }\n                    $combinedParts = implode(' ' . $op . ' ', $parts);\n                    $parts = [$combinedParts];\n                } else {\n                    if (array_search(strtolower($key), $ops) !== false) {\n                        $innerOp = $mappingTable[strtolower($key)];\n                        if ($innerOp == 'NOT') {\n                            $parts[] = '(NOT' . self::quoteAbsoluteColumnName(\n                                $defaultTable,\n                                $subject\n                            ) . ' = ' . $db->quote($value) . ')';\n                        } else {\n                            $parts[] = '(' . self::quoteAbsoluteColumnName(\n                                $defaultTable,\n                                $subject\n                            ) . ' ' . $innerOp . ' ' . $db->quote($value) . ')';\n                        }\n                    } else {\n                        if (isset($fieldMappingTable[$key])) {\n                            if (is_null($value)) {\n                                $parts[] = '(' . $db->quoteIdentifier($key) . ' IS NULL)';\n                            } else {\n                                $parts[] = '(' . $db->quoteIdentifier($key) . ' = ' . $db->quote($value) . ')';\n                            }\n                        } else {\n                            if (is_null($value)) {\n                                $parts[] = '(' . self::quoteAbsoluteColumnName($defaultTable, $key) . ' IS NULL)';\n                            } else {\n                                $parts[] = '(' . self::quoteAbsoluteColumnName(\n                                    $defaultTable,\n                                    $key\n                                ) . ' = ' . $db->quote($value) . ')';\n                            }\n                        }\n                    }\n                }\n            }\n        }\n\n        $subCondition = ' (' . implode(' ' . $op . ' ', $parts) . ' ) ';\n\n        return $subCondition;\n    }\n\n    /**\n     * @param string $defaultTable\n     * @param string $columnName\n     *\n     * @return string\n     */\n    protected static function quoteAbsoluteColumnName($defaultTable, $columnName)\n    {\n        $db = Db::get();\n        $absoluteColumnName = (strpos($columnName, '.') !== false) ? $columnName : $defaultTable . '.' . $columnName;\n\n        return $db->quoteIdentifier($absoluteColumnName);\n    }\n\n    /**\n     * @param Layout|Data $def\n     */\n    public static function extractDataDefinitions($def, &$fieldDefinitions = [])\n    {\n        if ($def instanceof Layout || $def instanceof Data\\Block || $def instanceof Data\\Localizedfields) {\n            if ($def->hasChildren()) {\n                foreach ($def->getChildren() as $child) {\n                    self::extractDataDefinitions($child, $fieldDefinitions);\n                }\n            }\n        } elseif ($def instanceof Data) {\n            $fieldDefinitions[$def->getName()] = $def;\n        }\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Mutation/MutationType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Mutation;\n\nuse GraphQL\\Type\\Definition\\EnumType;\nuse GraphQL\\Type\\Definition\\InputObjectType;\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\Configuration;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\MutationTypeEvent;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\MutationEvents;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementTag;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ElementIdentificationTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ElementTagTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\PermissionInfoTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\WorkspaceHelper;\nuse Pimcore\\Localization\\LocaleServiceInterface;\nuse Pimcore\\Logger;\nuse Pimcore\\Model\\Asset;\nuse Pimcore\\Model\\Asset\\Folder;\nuse Pimcore\\Model\\DataObject;\nuse Pimcore\\Model\\DataObject\\AbstractObject;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\Concrete;\nuse Pimcore\\Model\\Document;\nuse Pimcore\\Model\\Element\\AbstractElement;\nuse Pimcore\\Model\\Element\\DuplicateFullPathException;\nuse Pimcore\\Model\\Element\\Service as ElementService;\nuse Pimcore\\Model\\Factory;\nuse Pimcore\\Model\\Version;\nuse Symfony\\Component\\EventDispatcher\\EventDispatcherInterface;\n\n/**\n * @internal\n */\nfinal class MutationType extends ObjectType\n{\n    use ServiceTrait;\n    use PermissionInfoTrait;\n    use ElementIdentificationTrait;\n    use ElementTagTrait;\n\n    /** @var array */\n    public static $documentElementTypes = null;\n\n    /**\n     * @var LocaleServiceInterface\n     */\n    protected $localeService;\n\n    /**\n     * @var Factory\n     */\n    protected $modelFactory;\n\n    public static $typeCache = [];\n\n    /**\n     * @var EventDispatcherInterface\n     */\n    private $eventDispatcher;\n\n    /**\n     * @param array $config\n     * @param array $context\n     *\n     * @throws \\Exception\n     */\n    public function __construct(Service $graphQlService, LocaleServiceInterface $localeService, Factory $modelFactory, EventDispatcherInterface $eventDispatcher, $config = [], $context = [])\n    {\n        if (!isset($config['name'])) {\n            $config['name'] = 'Mutations';\n        }\n        $this->setGraphQLService($graphQlService);\n        $this->localeService = $localeService;\n        $this->modelFactory = $modelFactory;\n        $this->eventDispatcher = $eventDispatcher;\n\n        $this->build($config, $context);\n        parent::__construct($config);\n    }\n\n    /**\n     * @param array $config\n     * @param array $context\n     *\n     * @throws \\Exception\n     */\n    public function build(&$config = [], $context = [])\n    {\n        $config['fields'] = [];\n        $event = new MutationTypeEvent(\n            $this,\n            $config,\n            $context\n        );\n        $this->eventDispatcher->dispatch($event, MutationEvents::PRE_BUILD);\n\n        $config = $event->getConfig();\n        $context = $event->getContext();\n\n        $this->buildDataObjectMutations($config, $context);\n        $this->buildCreateAssetMutation($config, $context);\n        $this->buildUpdateAssetMutation($config, $context);\n\n        $this->buildUpdateDocumentMutation($config, $context, 'create', 'email');\n        $this->buildUpdateDocumentMutation($config, $context, 'update', 'email');\n        $this->buildUpdateDocumentMutation($config, $context, 'create', 'page');\n        $this->buildUpdateDocumentMutation($config, $context, 'update', 'page');\n        $this->buildUpdateDocumentMutation($config, $context, 'create', 'link');\n        $this->buildUpdateDocumentMutation($config, $context, 'update', 'link');\n\n        $this->buildCreateFolderMutation('asset', $config, $context);\n        $this->buildCreateFolderMutation('object', $config, $context);\n        $this->buildCreateFolderMutation('document', $config, $context);\n        $this->buildUpdateFolderMutation('asset', $config, $context);\n        $this->buildUpdateFolderMutation('object', $config, $context);\n        $this->buildUpdateFolderMutation('document', $config, $context);\n        $this->buildDeleteAssetMutation($config, $context);\n        $this->buildDeleteDocumentMutation($config, $context);\n        $this->buildDeleteFolderMutation('asset', $config, $context);\n        $this->buildDeleteFolderMutation('document', $config, $context);\n        $this->buildDeleteFolderMutation('object', $config, $context);\n\n        $event->setConfig($config);\n        $event->setContext($context);\n        $this->eventDispatcher->dispatch($event, MutationEvents::POST_BUILD);\n        $config = $event->getConfig();\n\n        if (isset($config['fields']) && count($config['fields']) > 1) {\n            ksort($config['fields']);\n        }\n    }\n\n    /**\n     * //TODO this is currently for document_pages\n     *\n     * @param array $config\n     * @param array $context\n     *\n     * @throws \\Exception\n     */\n    public function buildUpdateDocumentMutation(&$config, $context, $mutationType, $documentType)\n    {\n        /** @var Configuration $configuration */\n        $configuration = $context['configuration'];\n        $entities = $configuration->getSpecialEntities();\n\n        if (isset($entities['document']['update']) && $entities['document']['update']) {\n            $queryResolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\QueryType($this->eventDispatcher, null, $configuration);\n            $queryResolver->setGraphQlService($this->getGraphQlService());\n\n            $queryResolver = [$queryResolver, 'resolveDocumentGetter'];\n\n            $opName = $mutationType . 'Document' . ucfirst($documentType);\n\n            $service = $this->getGraphQlService();\n            $graphQlDocumentType = $service->getDocumentTypeDefinition('document_' . $documentType);    // this is for the return stuff\n\n            $updateResultType = new ObjectType([\n                'name' => ucfirst($opName) . 'Result',\n                'fields' => [\n                    'success' => ['type' => Type::boolean()],\n                    'message' => ['type' => Type::string()],\n                    'document' => [\n                        'args' => ['defaultLanguage' => ['type' => Type::string()]],\n                        'type' => $graphQlDocumentType,\n                        'resolve' => static function ($value, $args, $context, ResolveInfo $info) use ($queryResolver) {\n                            if ($value['success'] === true) {\n                                $args['id'] = $value['id'];\n                                $value = $queryResolver($value, $args, $context, $info);\n                            }\n\n                            return $value;\n                        },\n                    ],\n                ],\n            ]);\n\n            if ($mutationType == 'create') {\n                $args = [\n                    'key' => ['type' => Type::nonNull(Type::string())],\n                    'path' => ['type' => Type::string()],\n                    'parentId' => ['type' => Type::int()],\n                    'published' => ['type' => Type::boolean(), 'description' => 'Default is true!'],\n                    'userId' => ['type' => Type::int()],\n                ];\n            } else {\n                $args = [\n                    'id' => ['type' => Type::int()],\n                    'fullpath' => ['type' => Type::string()],\n                    'omitVersionCreate' => ['type' => Type::boolean()],\n                    'userId' => ['type' => Type::int()],\n                ];\n            }\n\n            $inputTypeGetter = 'getDocument' . ucfirst($documentType) . 'MutationInputType';\n            $inputProcessorFn = 'processDocument' . ucfirst($documentType) . 'MutationInput';\n\n            $processors = [];\n            $inputType = $this->{$inputTypeGetter}($context, $processors);\n\n            $inputTypeName = 'document_' . $documentType . '_input';\n            self::$typeCache[$inputTypeName] = $inputType;\n\n            $args = array_merge($args, [\n                'input' => $inputType,\n            ]);\n\n            $me = $this;\n            $updateField = [\n                'type' => $updateResultType,\n                'args' => $args, 'resolve' => static function ($value, $args, $context, ResolveInfo $info) use ($documentType, $inputProcessorFn, $processors, $mutationType, $me) {\n                    if ($mutationType == 'update') {\n                        /** @var Document $element */\n                        $element = $me->getElementByTypeAndIdOrPath($args, 'document');\n\n                        if (!WorkspaceHelper::checkPermission($element, 'update')) {\n                            return [\n                                'success' => false,\n                                'message' => 'not allowed to update document',\n                            ];\n                        }\n                    } else {\n                        $parent = null;\n\n                        if (isset($args['parentId'])) {\n                            $parent = Document::getById($args['parentId']);\n                        } elseif (isset($args['path'])) {\n                            $parent = Document::getByPath($args['path']);\n                        }\n\n                        if (!$parent) {\n                            return [\n                                'success' => false,\n                                'message' => 'unable to resolve parent',\n                            ];\n                        }\n\n                        if (!WorkspaceHelper::checkPermission($parent, 'create')) {\n                            return [\n                                'success' => false,\n                                'message' => 'not allowed to create document',\n                            ];\n                        }\n\n                        $className = 'Pimcore\\\\Model\\\\Document\\\\' . ucfirst($documentType);\n                        $factory = \\Pimcore::getContainer()->get('pimcore.model.factory');\n                        /** @var Document $element */\n                        $element = $factory->build($className);\n\n                        $element->setParentId($parent->getId());\n                        $element->setKey($args['key']);\n                        $element->setPublished($args['published'] ?? true);\n                    }\n\n                    $tags = [];\n                    if (isset($args['input'])) {\n                        $me->{$inputProcessorFn}($value, $args, $context, $info, $element, $processors);\n                        if (isset($args['input']['tags']) && ($tag_input = $args['input']['tags'])) {\n                            $tags = $me->getTagsFromInput($tag_input);\n                            if (false === $tags) {\n                                return [\n                                    'success' => false,\n                                    'message' => 'no \"id\" nor \"path\" tag data defined for tag, or tag not found',\n                                ];\n                            }\n                        }\n                    }\n\n                    $me->saveElement($element, $args);\n\n                    if ($tags) {\n                        $me->setTags('document', $element->getId(), $tags);\n                    }\n\n                    return [\n                        'success' => true,\n                        'message' => 'document updated: ' . $element->getId(),\n                        'id' => $element->getId(),\n                    ];\n                },\n            ];\n\n            $config['fields'][$opName] = $updateField;\n        }\n    }\n\n    /**\n     * @param array $context\n     * @param array $processors\n     *\n     * @return array\n     */\n    public function getDocumentEmailMutationInputType($context, &$processors = [])\n    {\n        $service = $this->getGraphQlService();\n\n        $elementTypes = $service->getSupportedDocumentElementMutationDataTypes();\n        $elementFields = [];\n        $processors = [];\n        foreach ($elementTypes as $elementType) {\n            $typedef = self::$typeCache[$elementType] ?? $service->buildDocumentElementDataMutationType($elementType);\n            self::$typeCache[$elementType] = $typedef;\n            $elementFields[$elementType] = Type::listOf($typedef['arg']);\n            $processors[$elementType] = $typedef['processor'];\n        }\n\n        $elementInputTypeList = new InputObjectType([\n            'name' => 'document_emailmutationelements',\n            'fields' => $elementFields,\n        ]);\n\n        $inputTypeName = 'document_email_input';\n        $inputType = self::$typeCache[$inputTypeName] ??\n            new InputObjectType([\n                'name' => $inputTypeName,\n                'fields' => [\n                    'key' => Type::string(),\n                    'published' => Type::boolean(),\n                    'module' => Type::string(),\n                    'controller' => Type::string(),\n                    'action' => Type::string(),\n                    'template' => Type::string(),\n                    'elements' => $elementInputTypeList,\n                    'subject' => Type::string(),\n                    'from' => Type::string(),\n                    'replyTo' => Type::string(),\n                    'to' => Type::string(),\n                    'cc' => Type::string(),\n                    'bcc' => Type::string(),\n                    'tags' => ElementTag::getElementTagInputTypeDefinition(),\n                ],\n            ]);\n\n        return $inputType;\n    }\n\n    /**\n     * @param array $context\n     * @param array $processors\n     *\n     * @return array\n     */\n    public function getDocumentLinkMutationInputType($context, &$processors = [])\n    {\n        $inputType = $this->getGraphQlService()->getDocumentTypeDefinition('document_link_input');\n\n        return $inputType;\n    }\n\n    /**\n     * @param ElementDescriptor|null $value\n     * @param array $args\n     * @param mixed $context\n     * @param Document\\Link $element\n     * @param array $processors\n     */\n    public static function processDocumentLinkMutationInput($value, $args, $context, ResolveInfo $info, $element, $processors)\n    {\n        $inputValues = $args['input'];\n\n        foreach ($inputValues as $key => $value) {\n            if ($key == 'object') {\n                Logger::debug('test');\n                $type = $value['type'];\n                $id = $value['id'];\n                $target = \\Pimcore\\Model\\Element\\Service::getElementById($type, $id);\n                $element->setElement($target);\n            } elseif ($key == 'tags') {\n                //skip it to process in callee method\n            } elseif ($key == 'href') {\n                $element->setDirect($value);\n                $element->setLinktype('direct');\n            } else {\n                $setter = 'set' . ucfirst($key);\n\n                $element->$setter($value);\n            }\n        }\n    }\n\n    /**\n     * @param ElementDescriptor|null $value\n     * @param array $args\n     * @param mixed $context\n     * @param Document\\Page|Document\\Email $element\n     * @param array $processors\n     *\n     * @return void\n     */\n    public function processDocumentEmailMutationInput($value, $args, $context, ResolveInfo $info, $element, $processors)\n    {\n        self::processDocumentPageMutationInput($value, $args, $context, $info, $element, $processors);\n    }\n\n    /**\n     * @param ElementDescriptor|null $value\n     * @param array $args\n     * @param mixed $context\n     * @param Document\\Page|Document\\Email $element\n     * @param array $processors\n     */\n    public function processDocumentPageMutationInput($value, $args, $context, ResolveInfo $info, $element, $processors)\n    {\n        $inputValues = $args['input'];\n        foreach ($inputValues as $key => $value) {\n            if ($key == 'editableUpdateStrategy') {\n                if ($value == 'replaceAll') {\n                    $element->setEditables([]);\n                }\n            } elseif ($key == 'editables') {\n                $element->getEditables();\n\n                foreach ($value as $elementType => $elementTypeValues) {\n                    if ($processor = $processors[$elementType] ?? null) {\n                        foreach ($elementTypeValues as $elementTypeValue) {\n                            $elementTypeValue['_editableType'] = $elementType;\n                            call_user_func_array($processor, [$element, $elementTypeValue, $args, $context, $info]);\n                        }\n                    }\n                }\n            } elseif ($key == 'tags') {\n                //skip it to process in callee method\n            } else {\n                $setter = 'set' . ucfirst($key);\n\n                $element->$setter($value);\n            }\n        }\n    }\n\n    /**\n     * @param array $context\n     * @param array $processors\n     *\n     * @return array\n     */\n    public function getDocumentPageMutationInputType($context, &$processors = [])\n    {\n        $service = $this->getGraphQlService();\n\n        $elementTypes = $service->getSupportedDocumentElementMutationDataTypes();\n        $elementFields = [];\n        $processors = [];\n        foreach ($elementTypes as $elementType) {\n            $typedef = self::$typeCache[$elementType] ?? $service->buildDocumentElementDataMutationType($elementType);\n            self::$typeCache[$elementType] = $typedef;\n            $elementFields[$elementType] = Type::listOf($typedef['arg']);\n            $processors[$elementType] = $typedef['processor'];\n        }\n\n        $elementInputTypeList = self::$typeCache['document_pagemutationelements'] ?? null;\n        if (!$elementInputTypeList) {\n            $elementInputTypeList = new InputObjectType([\n                'name' => 'document_pagemutationelements',\n                'fields' => $elementFields,\n            ]);\n\n            self::$typeCache['document_pagemutationelements'] = $elementInputTypeList;\n            self::$documentElementTypes = $elementInputTypeList;\n        }\n\n        if (!isset(self::$typeCache['overwrite_strategy'])) {\n            self::$typeCache['overwrite_strategy'] = new EnumType([\n                'name' => 'overwrite_strategy',\n                'values' => [\n                    'overwrite',\n                    'update',\n                ],\n            ]);\n        }\n\n        $inputTypeName = 'document_page_input';\n        $inputType = self::$typeCache[$inputTypeName] ??\n            new InputObjectType([\n                'name' => $inputTypeName,\n                'fields' => [\n                    'key' => Type::string(),\n                    'published' => Type::boolean(),\n                    'module' => Type::string(),\n                    'controller' => Type::string(),\n                    'action' => Type::string(),\n                    'template' => Type::string(),\n                    'editableUpdateStrategy' => self::$typeCache['overwrite_strategy'],\n                    'editables' => $elementInputTypeList,\n                    'tags' => ElementTag::getElementTagInputTypeDefinition(),\n                ],\n            ]);\n\n        return $inputType;\n    }\n\n    /**\n     * @param array $config\n     * @param array $context\n     *\n     * @throws \\Exception\n     */\n    public function buildDataObjectMutations(&$config = [], $context = [])\n    {\n        /** @var Configuration $configuration */\n        $configuration = $context['configuration'];\n        $entities = $configuration->getMutationEntities();\n\n        foreach ($entities as $entity) {\n            $class = ClassDefinition::getByName($entity);\n            if (!$class) {\n                Logger::error('class ' . $entity . ' not found');\n\n                continue;\n            }\n            $entityConfig = $configuration->getMutationEntityConfig($entity);\n\n            $queryResolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\QueryType($this->eventDispatcher, $class, $configuration);\n            $queryResolver->setGraphQlService($this->getGraphQlService());\n\n            $modelFactory = $this->modelFactory;\n            $localeService = $this->localeService;\n\n            if (isset($entityConfig['create']) && $entityConfig['create']) {\n                // create\n                $createResultType = new ObjectType([\n                    'name' => 'Create' . ucfirst($entity) . 'Result',\n                    'fields' => [\n                        'success' => ['type' => Type::boolean()],\n                        'message' => ['type' => Type::string()],\n                        'output' => [\n                            'args' => ['defaultLanguage' => ['type' => Type::string()]],\n                            'type' => \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassTypeDefinitions::get($class),\n                            'resolve' => static function ($value, $args, $context, ResolveInfo $info) use ($queryResolver) {\n                                if ($value['success'] === true) {\n                                    $args['id'] = $value['id'];\n                                    $value = $queryResolver->resolveObjectGetter($value, $args, $context, $info);\n                                }\n\n                                return $value;\n                            },\n                        ],\n                    ],\n                ]);\n\n                $opName = 'create' . ucfirst($entity);\n\n                $this->generateInputFieldsAndProcessors($inputFields, $processors, $context, $entity, $class);\n\n                $inputFields['tags'] = ElementTag::getElementTagInputTypeDefinition();\n\n                $inputTypeName = 'Update' . ucfirst($entity) . 'Input';\n                $inputType = self::$typeCache[$inputTypeName] ?? new InputObjectType([\n                        'name' => $inputTypeName,\n                        'fields' => $inputFields,\n                    ]);\n                self::$typeCache[$inputTypeName] = $inputType;\n\n                $me = $this;\n\n                $createField = [\n                    'type' => $createResultType,\n                    'args' => [\n                        // key is not mandatory as I'll probably add a way to create a new object by fullpath\n                        'key' => ['type' => Type::nonNull(Type::string())],\n                        'path' => ['type' => Type::string()],\n                        'parentId' => ['type' => Type::int()],\n                        'defaultLanguage' => ['type' => Type::string()],\n                        'published' => ['type' => Type::boolean(), 'description' => 'Default is true!'],\n                        'omitMandatoryCheck' => ['type' => Type::boolean()],\n                        'userId' => ['type' => Type::int()],\n                        'type' => ['type' => Type::string()],\n                        'input' => $inputType,\n                    ], 'resolve' => static function ($value, $args, $context, ResolveInfo $info) use ($entity, $modelFactory, $processors, $localeService, $me) {\n                        $parent = null;\n\n                        if (isset($args['parentId'])) {\n                            $parent = DataObject::getById($args['parentId']);\n                        } elseif (isset($args['path'])) {\n                            $parent = DataObject::getByPath($args['path']);\n                        }\n\n                        //TODO maybe add error code?\n                        if (!$parent) {\n                            return [\n                                'success' => false,\n                                'message' => 'unable to resolve parent',\n                            ];\n                        }\n\n                        /** @var Configuration $configuration */\n                        $configuration = $context['configuration'];\n                        if (!$me->omitPermissionCheck && !WorkspaceHelper::checkPermission($parent, 'create')) {\n                            return [\n                                'success' => false,\n                                'message' => 'not allowed to create object ' . $entity,\n                            ];\n                        }\n\n                        $published = true;\n                        // default is true!\n                        if (isset($args['published'])) {\n                            $published = $args['published'];\n                        }\n\n                        $key = $args['key'];\n                        $key = DataObject\\Service::getValidKey($key, 'object');\n\n                        $className = 'Pimcore\\\\Model\\\\DataObject\\\\' . ucfirst($entity);\n                        /** @var Concrete $newInstance */\n                        $newInstance = $modelFactory->build($className);\n                        $newInstance->setPublished($published);\n                        $newInstance->setParent($parent);\n                        $newInstance->setKey($key);\n\n                        if (isset($args['type']) && ($args['type'] == 'object' || $args['type'] == 'variant')) {\n                            $newInstance->setType($args['type']);\n                        }\n\n                        $resolver = $me->getUpdateObjectResolver($processors, $localeService, $newInstance, true);\n\n                        $returnValue = call_user_func_array($resolver, [$value, $args, $context, $info]);\n                        if (isset($returnValue['success']) === true &&\n                            $returnValue['success'] === false) {\n                            return $returnValue;\n                        }\n\n                        if (isset($args['omitMandatoryCheck'])) {\n                            $newInstance->setOmitMandatoryCheck($args['omitMandatoryCheck']);\n                        }\n\n                        $tags = [];\n                        if (isset($args['input'])) {\n                            $inputValues = $args['input'];\n                            foreach ($inputValues as $key => $value) {\n                                //TODO: ask pimcore/pimcore to implement something like Asset::setTags\n                                if ($key == 'tags') {\n                                    $tags = $me->getTagsFromInput($value);\n                                    if (false === $tags) {\n                                        return [\n                                            'success' => false,\n                                            'message' => 'no \"id\" nor \"path\" tag data defined for tag, or tag not found',\n                                        ];\n                                    }\n                                }\n                            }\n                        }\n\n                        try {\n                            $me->saveElement($newInstance, $args);\n                        } catch (DuplicateFullPathException $e) {\n                            return [\n                                'success' => false,\n                                'message' => 'creating failed: Duplicate path',\n                            ];\n                        } catch (\\Exception $e) {\n                            return [\n                                'success' => false,\n                                'message' => 'creating failed: ' . $e->getMessage(),\n                            ];\n                        }\n\n                        if ($tags) {\n                            $me->setTags('object', $newInstance->getId(), $tags);\n                        }\n\n                        return [\n                            'success' => true,\n                            'message' => 'object created: ' . $newInstance->getId(),\n                            'id' => $newInstance->getId(),\n                        ];\n                    },\n                ];\n\n                $config['fields'][$opName] = $createField;\n            }\n\n            if (isset($entityConfig['update']) && $entityConfig['update']) {\n\n                // update\n                $opName = 'update' . ucfirst($entity);\n\n                $updateResultType = new ObjectType([\n                    'name' => 'Update' . ucfirst($entity) . 'Result',\n                    'fields' => [\n                        'success' => ['type' => Type::boolean()],\n                        'message' => ['type' => Type::string()],\n                        'output' => [\n                            'args' => ['defaultLanguage' => ['type' => Type::string()]],\n                            'type' => \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassTypeDefinitions::get($class),\n                            'resolve' => static function ($value, $args, $context, ResolveInfo $info) use ($queryResolver) {\n                                if ($value['success'] === true) {\n                                    $args['id'] = $value['id'];\n                                    $value = $queryResolver->resolveObjectGetter($value, $args, $context, $info);\n                                }\n\n                                return $value;\n                            },\n                        ],\n                    ],\n                ]);\n\n                $this->generateInputFieldsAndProcessors($inputFields, $processors, $context, $entity, $class);\n\n                $inputFields['tags'] = ElementTag::getElementTagInputTypeDefinition();\n\n                $inputTypeName = 'Update' . ucfirst($entity) . 'Input';\n                $inputType = isset(self::$typeCache[$inputTypeName]) ? self::$typeCache[$inputTypeName] : new InputObjectType([\n                    'name' => $inputTypeName,\n                    'fields' => $inputFields,\n                ]);\n                self::$typeCache[$inputTypeName] = $inputType;\n\n                $updateField = [\n                    'type' => $updateResultType,\n                    'args' => [\n                        'id' => ['type' => Type::int()],\n                        'key' => ['type' => Type::string()],\n                        'fullpath' => ['type' => Type::string()],\n                        'parentId' => ['type' => Type::int()],\n                        'defaultLanguage' => ['type' => Type::string()],\n                        'published' => ['type' => Type::boolean()],\n                        'omitMandatoryCheck' => ['type' => Type::boolean()],\n                        'omitVersionCreate' => ['type' => Type::boolean()],\n                        'userId' => ['type' => Type::int()],\n                        'input' => ['type' => $inputType],\n                    ], 'resolve' => $this->getUpdateObjectResolver($processors, $localeService, null, $this->omitPermissionCheck),\n                ];\n\n                $config['fields'][$opName] = $updateField;\n            }\n\n            if (isset($entityConfig['delete']) && $entityConfig['delete']) {\n                $opName = 'delete' . ucfirst($entity);\n\n                $deleteResultType = new ObjectType([\n                    'name' => 'Delete' . ucfirst($entity) . 'Result',\n                    'fields' => [\n                        'success' => ['type' => Type::boolean()],\n                        'message' => ['type' => Type::string()],\n                    ],\n                ]);\n\n                $me = $this;\n                $deleteField = [\n                    'type' => $deleteResultType,\n                    'args' => [\n                        'id' => ['type' => Type::int()],\n                        'fullpath' => ['type' => Type::string()],\n                    ], 'resolve' => static function ($value, $args, $context, ResolveInfo $info) use ($me) {\n                        try {\n                            /** @var Configuration $configuration */\n                            $configuration = $context['configuration'];\n\n                            $object = $me->getElementByTypeAndIdOrPath($args, 'object');\n\n                            if (!$object) {\n                                return [\n                                    'success' => false,\n                                    'message' => 'unable to delete object. Unknown id or fullpath',\n                                ];\n                            }\n\n                            if (!$me->omitPermissionCheck && !WorkspaceHelper::checkPermission($object, 'delete')) {\n                                return [\n                                    'success' => false,\n                                    'message' => 'permission denied.',\n                                ];\n                            }\n                            $object->delete();\n\n                            return [\n                                'success' => true,\n                                'message' => '',\n                            ];\n                        } catch (\\Exception $e) {\n                            return [\n                                'success' => false,\n                                'message' => $e->getMessage(),\n                            ];\n                        }\n                    },\n                ];\n\n                $config['fields'][$opName] = $deleteField;\n            }\n        }\n    }\n\n    /**\n     * @param array $inputFields\n     * @param array $processors\n     * @param array $context\n     * @param string $entity\n     * @param ClassDefinition|\\Pimcore\\Model\\DataObject\\Fieldcollection\\Definition $class\n     *\n     * @return void\n     */\n    public function generateInputFieldsAndProcessors(&$inputFields, &$processors, $context, $entity, $class)\n    {\n        $inputFields = [];\n        $processors = [];\n\n        if ($context['clientname']) {\n            /** @var Configuration $configurationItem */\n            $configurationItem = $context['configuration'];\n\n            $columns = $configurationItem->getMutationColumnConfig($entity)['columns'] ?? [];\n\n            if ($columns) {\n                $fieldHelper = $this->getGraphQlService()->getObjectFieldHelper();\n\n                foreach ($columns as $column) {\n                    $result = $fieldHelper->getMutationFieldConfigFromConfig($column, $class);\n                    if ($result) {\n                        $inputFields[$result['key']] = $result['arg'];\n                        $processor = $result['processor'];\n                        $processors[$result['key']] = $processor;\n                    }\n                }\n            }\n        }\n    }\n\n    /**\n     * @param array $processors\n     * @param LocaleServiceInterface $localeService\n     * @param object|null $object\n     * @param bool $omitPermissionCheck\n     *\n     * @return callable(mixed $value, array $args, array $context, ResolveInfo $info): mixed\n     */\n    public function getUpdateObjectResolver($processors, $localeService, $object = null, $omitPermissionCheck = false)\n    {\n        $me = $this;\n\n        return static function ($value, $args, $context, $info) use ($processors, $localeService, $object, $omitPermissionCheck, $me) {\n            try {\n                if (!$object) {\n                    $object = $me->getElementByTypeAndIdOrPath($args, 'object');\n\n                    $parent = null;\n                    if (isset($args['parentId'])) {\n                        $parent = DataObject::getById($args['parentId']);\n                    } elseif (isset($args['path'])) {\n                        $parent = DataObject::getByPath($args['path']);\n                    }\n\n                    if ($parent) {\n                        $object->setParent($parent);\n                    }\n                }\n\n                if (!$object) {\n                    return [\n                        'success' => false,\n                        'message' => 'unable to update object. Unknown id or fullpath',\n                    ];\n                }\n\n                if (!$omitPermissionCheck && !WorkspaceHelper::checkPermission($object, 'update')) {\n                    return [\n                        'success' => false,\n                        'message' => 'permission denied.',\n                    ];\n                }\n\n                if (isset($args['defaultLanguage'])) {\n                    $localeService->setLocale($args['defaultLanguage']);\n                }\n\n                if (isset($args['omitMandatoryCheck'])) {\n                    $object->setOmitMandatoryCheck($args['omitMandatoryCheck']);\n                }\n\n                if (isset($args['published'])) {\n                    $object->setPublished($args['published']);\n                }\n\n                if (isset($args['key'])) {\n                    if (!DataObject\\Service::isValidKey($args['key'], AbstractObject::OBJECT_TYPE_OBJECT)) {\n                        return [\n                            'success' => false,\n                            'message' => '\"key\" is not valid',\n                        ];\n                    }\n                    $object->setKey($args['key']);\n                }\n\n                $tags = [];\n                if (isset($args['input'])) {\n                    $dataIn = $args['input'];\n                    if (is_array($dataIn)) {\n                        foreach ($dataIn as $key => $value) {\n                            if (isset($processors[$key])) {\n                                $processor = $processors[$key];\n                                call_user_func_array($processor, [$object, $value, $args, $context, $info]);\n                            } elseif ($key === 'tags') {\n                                $tags = $me->getTagsFromInput($value);\n                                if (false === $tags) {\n                                    return [\n                                        'success' => false,\n                                        'message' => 'no \"id\" nor \"path\" tag data defined for tag, or tag not found',\n                                    ];\n                                }\n                            }\n                        }\n                    }\n                }\n\n                $me->saveElement($object, $args);\n\n                if ($tags) {\n                    $me->setTags('object', $object->getId(), $tags);\n                }\n            } catch (\\Exception $e) {\n                return [\n                    'success' => false,\n                    'message' => $e->getMessage(),\n                ];\n            }\n\n            return [\n                'success' => true,\n                'message' => 'object ' . $object->getId() . ' updated',\n                'id' => $object->getId(),\n            ];\n        };\n    }\n\n    /**\n     * @param array $config\n     * @param array $context\n     */\n    public function buildCreateAssetMutation(&$config, $context)\n    {\n        /** @var Configuration $configuration */\n        $configuration = $context['configuration'];\n        $entities = $configuration->getSpecialEntities();\n\n        if (isset($entities['asset']['create']) && $entities['asset']['create']) {\n            $queryResolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\QueryType($this->eventDispatcher, null, $configuration);\n            $queryResolver->setGraphQlService($this->getGraphQlService());\n            $queryResolver = [$queryResolver, 'resolveAssetGetter'];\n            $service = $this->getGraphQlService();\n            $assetType = $service->buildAssetType('asset');\n\n            $createResultType = new ObjectType([\n                'name' => 'CreateAssetResult',\n                'fields' => [\n                    'success' => ['type' => Type::boolean()],\n                    'message' => ['type' => Type::string()],\n                    'assetData' => [\n                        'args' => ['defaultLanguage' => ['type' => Type::string()]],\n                        'type' => $assetType,\n                        'resolve' => static function ($value, $args, $context, ResolveInfo $info) use ($queryResolver) {\n                            if ($args['id'] = $value['id'] ?? null) {\n                                $value = $queryResolver($value, $args, $context, $info);\n                            }\n\n                            return $value;\n                        },\n                    ],\n                ],\n            ]);\n\n            $opName = 'createAsset';\n            $omitPermissionCheck = $this->omitPermissionCheck;\n\n            $me = $this;\n            $createField = [\n                'type' => $createResultType,\n                'args' => [\n                    'filename' => ['type' => Type::nonNull(Type::string())],\n                    'path' => ['type' => Type::string()],\n                    'parentId' => ['type' => Type::int()],\n                    'type' => ['type' => Type::nonNull(Type::string()), 'description' => 'image or whatever'],\n                    'userId' => ['type' => Type::int()],\n                    'input' => $this->getGraphQlService()->getAssetTypeDefinition('asset_input'),\n                ], 'resolve' => static function ($value, $args, $context, ResolveInfo $info) use ($omitPermissionCheck, $me) {\n                    $parent = null;\n\n                    if (isset($args['parentId'])) {\n                        $parent = Asset::getById($args['parentId']);\n                    } elseif (isset($args['path'])) {\n                        $parent = Asset::getByPath($args['path']);\n                    }\n\n                    //TODO maybe add error code?\n                    if (!$parent) {\n                        return [\n                            'success' => false,\n                            'message' => 'unable to resolve parent',\n                        ];\n                    }\n\n                    if (!$omitPermissionCheck && !WorkspaceHelper::checkPermission($parent, 'create')) {\n                        return [\n                            'success' => false,\n                            'message' => 'not allowed to create asset',\n                        ];\n                    }\n\n                    $type = $args['type'];\n                    $filename = $args['filename'];\n\n                    $className = 'Pimcore\\\\Model\\\\Asset\\\\' . ucfirst($type);\n                    /** @var Asset $newInstance */\n                    $newInstance = new $className();\n                    $newInstance->setParentId($parent->getId());\n                    $newInstance->setFilename($filename);\n\n                    $tags = [];\n                    if (isset($args['input'])) {\n                        $inputValues = $args['input'];\n                        foreach ($inputValues as $key => $value) {\n                            //TODO: ask pimcore/pimcore to implement something like Asset::setTags\n                            if ($key == 'tags') {\n                                $tags = $me->getTagsFromInput($value);\n                                if (false === $tags) {\n                                    return [\n                                        'success' => false,\n                                        'message' => 'no \"id\" nor \"path\" tag data defined for tag, or tag not found',\n                                    ];\n                                }\n                            } else {\n                                if ($key === 'data') {\n                                    $value = base64_decode($value);\n                                }\n                                $setter = 'set' . ucfirst($key);\n                                $newInstance->$setter($value);\n                            }\n                        }\n                    }\n\n                    try {\n                        $me->saveElement($newInstance, $args);\n                    } catch (DuplicateFullPathException $e) {\n                        return [\n                            'success' => false,\n                            'message' => 'saving failed: Duplicate path',\n                        ];\n                    } catch (\\Exception $e) {\n                        return [\n                            'success' => false,\n                            'message' => 'saving failed: ' . $e->getMessage(),\n                        ];\n                    }\n\n                    if ($tags) {\n                        $me->setTags('asset', $newInstance->getId(), $tags);\n                    }\n\n                    return [\n                        'success' => true,\n                        'message' => 'asset created: ' . $newInstance->getId(),\n                        'id' => $newInstance->getId(),\n                    ];\n                },\n            ];\n\n            $config['fields'][$opName] = $createField;\n        }\n    }\n\n    /**\n     * @param array $config\n     * @param array $context\n     *\n     * @throws \\Exception\n     */\n    public function buildUpdateAssetMutation(&$config, $context)\n    {\n        /** @var Configuration $configuration */\n        $configuration = $context['configuration'];\n        $entities = $configuration->getSpecialEntities();\n\n        if (isset($entities['asset']['update']) && $entities['asset']['update']) {\n            $queryResolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\QueryType($this->eventDispatcher, null, $configuration);\n            $queryResolver->setGraphQlService($this->getGraphQlService());\n            $queryResolver = [$queryResolver, 'resolveAssetGetter'];\n            $service = $this->getGraphQlService();\n            $assetType = $service->buildAssetType('asset');\n\n            $updateResultType = new ObjectType([\n                'name' => 'UpdateAssetResult',\n                'fields' => [\n                    'success' => ['type' => Type::boolean()],\n                    'message' => ['type' => Type::string()],\n                    'assetData' => [\n                        'args' => ['defaultLanguage' => ['type' => Type::string()]],\n                        'type' => $assetType,\n                        'resolve' => static function ($value, $args, $context, ResolveInfo $info) use ($queryResolver) {\n                            if ($value['success'] === true) {\n                                $args['id'] = $value['id'];\n                                $value = $queryResolver($value, $args, $context, $info);\n                            }\n\n                            return $value;\n                        },\n                    ],\n                ],\n            ]);\n\n            $opName = 'updateAsset';\n\n            $me = $this;\n            $updateField = [\n                'type' => $updateResultType,\n                'args' => [\n                    'id' => ['type' => Type::int()],\n                    'fullpath' => ['type' => Type::string()],\n                    'omitVersionCreate' => ['type' => Type::boolean()],\n                    'userId' => ['type' => Type::int()],\n                    'input' => $this->getGraphQlService()->getAssetTypeDefinition('asset_input'),\n                ], 'resolve' => static function ($value, $args, $context, ResolveInfo $info) use ($me) {\n                    /** @var Asset $element */\n                    $element = $me->getElementByTypeAndIdOrPath($args, 'asset');\n                    $tags = [];\n\n                    if (isset($args['input'])) {\n                        $inputValues = $args['input'];\n                        foreach ($inputValues as $key => $value) {\n                            //TODO: ask pimcore/pimcore to implement something like Asset::setTags\n                            if ($key == 'tags') {\n                                $tags = $me->getTagsFromInput($value);\n                                if (false === $tags) {\n                                    return [\n                                        'success' => false,\n                                        'message' => 'no \"id\" nor \"path\" tag data defined for tag, or tag not found',\n                                    ];\n                                }\n                            } else {\n                                if ($key === 'data') {\n                                    $value = base64_decode($value);\n                                }\n                                $setter = 'set' . ucfirst($key);\n                                $element->$setter($value);\n                            }\n                        }\n                    }\n\n                    $me->saveElement($element, $args);\n\n                    if ($tags) {\n                        $me->setTags('asset', $element->getId(), $tags);\n                    }\n\n                    return [\n                        'success' => true,\n                        'message' => 'asset updated: ' . $element->getId(),\n                        'id' => $element->getId(),\n                    ];\n                },\n            ];\n\n            $config['fields'][$opName] = $updateField;\n        }\n    }\n\n    /**\n     * @param string $type\n     * @param array $config\n     * @param array $context\n     */\n    public function buildCreateFolderMutation($type, &$config, $context)\n    {\n        /** @var Configuration $configuration */\n        $configuration = $context['configuration'];\n        $entities = $configuration->getSpecialEntities();\n\n        if (isset($entities[$type . '_folder']['create']) && $entities[$type . '_folder']['create']) {\n            $opName = 'create' . ucfirst($type) . 'Folder';\n            $createResultType = new ObjectType([\n                'name' => 'Create' . ucfirst($type) . 'FolderResult',\n                'fields' => [\n                    'success' => ['type' => Type::boolean()],\n                    'message' => ['type' => Type::string()],\n                    'id' => ['type' => Type::int()],\n                ],\n            ]);\n\n            $args = [\n                'path' => ['type' => Type::string()],\n                'parentId' => ['type' => Type::int()],\n                'userId' => ['type' => Type::int()],\n            ];\n\n            if ($type === 'asset') {\n                $args['filename'] = ['type' => Type::nonNull(Type::string())];\n            } else {\n                $args['key'] = ['type' => Type::nonNull(Type::string())];\n            }\n\n            $resolverFn = $this->getCreateFolderResolver($type);\n            $createField = [\n                'type' => $createResultType,\n                'args' => $args,\n                'resolve' => $resolverFn,\n            ];\n\n            $config['fields'][$opName] = $createField;\n        }\n    }\n\n    /**\n     * @param string $elementType\n     *\n     * @return callable(mixed $value, array $args, array $context, ResolveInfo $info): mixed\n     */\n    public function getCreateFolderResolver($elementType)\n    {\n        $me = $this;\n\n        return static function ($value, $args, $context, ResolveInfo $info) use ($elementType, $me) {\n            $parent = null;\n\n            if (isset($args['parentId'])) {\n                $parent = ElementService::getElementById($elementType, $args['parentId']);\n            } elseif (isset($args['path'])) {\n                $parent = ElementService::getElementByPath($elementType, $args['path']);\n            }\n\n            if (!$parent) {\n                return [\n                    'success' => false,\n                    'message' => 'unable to resolve parent',\n                ];\n            }\n\n            if (!$me->omitPermissionCheck && !WorkspaceHelper::checkPermission($parent, 'create')) {\n                return [\n                    'success' => false,\n                    'message' => 'not allowed to create ' . $elementType . 'folder ',\n                ];\n            }\n\n            if ($elementType === 'asset') {\n                $newInstance = new Folder();\n                $newInstance->setFilename($args['filename']);\n            } elseif ($elementType === 'object') {\n                $newInstance = new DataObject\\Folder();\n                $newInstance->setKey($args['key']);\n            } elseif ($elementType === 'document') {\n                $newInstance = new Document\\Folder();\n                $newInstance->setKey($args['key']);\n            } else {\n                throw new \\Exception('ElementType not supported: ' . $elementType);\n            }\n\n            $newInstance->setParentId($parent->getId());\n\n            if (isset($args['userId'])) {\n                $newInstance->setUserOwner($args['userId']);\n                $newInstance->setUserModification($args['userId']);\n            }\n\n            $newInstance->save();\n\n            return [\n                'success' => true,\n                'message' => 'folder created: ' . $newInstance->getId(),\n                'id' => $newInstance->getId(),\n            ];\n        };\n    }\n\n    /**\n     * @param string $type\n     * @param array $config\n     * @param array $context\n     */\n    public function buildUpdateFolderMutation($type, &$config, $context)\n    {\n        /** @var Configuration $configuration */\n        $configuration = $context['configuration'];\n        $entities = $configuration->getSpecialEntities();\n\n        if (isset($entities[$type . '_folder']['update']) && $entities[$type . '_folder']['update']) {\n            // update\n            $opName = 'update' . ucfirst($type) . 'Folder';\n\n            $inputFields = [\n                'parentId' => ['type' => Type::int()],\n            ];\n            if ($type === 'asset') {\n                $inputFields['filename'] = ['type' => Type::string()];\n            } else {\n                $inputFields['key'] = ['type' => Type::string()];\n            }\n            $inputType = new InputObjectType([\n                'name' => 'Update' . ucfirst($type) . 'FolderInput',\n                'fields' => $inputFields,\n            ]);\n\n            $updateResultType = new ObjectType([\n                'name' => 'Update' . ucfirst($type) . 'FolderResult',\n                'fields' => [\n                    'success' => ['type' => Type::boolean()],\n                    'message' => ['type' => Type::string()],\n                ],\n            ]);\n\n            $omitPermissionCheck = $this->omitPermissionCheck;\n\n            $me = $this;\n            $updateField = [\n                'type' => $updateResultType,\n                'args' => [\n                    'id' => ['type' => Type::int()],\n                    'fullpath' => ['type' => Type::string()],\n                    'userId' => ['type' => Type::int()],\n                    'input' => ['type' => $inputType],\n                ], 'resolve' => static function ($value, $args, $context, ResolveInfo $info) use ($type, $omitPermissionCheck, $me) {\n                    try {\n                        /** @var Configuration $configuration */\n                        $configuration = $context['configuration'];\n                        $element = $me->getElementByTypeAndIdOrPath($args, $type);\n\n                        if (!$omitPermissionCheck && !WorkspaceHelper::checkPermission($element, 'update')) {\n                            return [\n                                'success' => false,\n                                'message' => 'permission denied.',\n                            ];\n                        }\n\n                        $inputArgs = isset($args['input']) ? $args['input'] : [];\n\n                        foreach ($inputArgs as $argKey => $argValue) {\n                            $setter = 'set' . ucfirst($argKey);\n                            $element->$setter($argValue);\n                        }\n\n                        if (isset($args['userId'])) {\n                            $element->setUserModification($args['userId']);\n                        }\n\n                        $element->save();\n                    } catch (\\Exception $e) {\n                        return [\n                            'success' => false,\n                            'message' => $e->getMessage(),\n                        ];\n                    }\n\n                    return [\n                        'success' => true,\n                        'message' => 'hurray',\n                        'id' => $element->getId(),\n                    ];\n                },\n            ];\n\n            $config['fields'][$opName] = $updateField;\n        }\n    }\n\n    /**\n     * @param array $config\n     * @param array $context\n     */\n    public function buildDeleteAssetMutation(&$config, $context)\n    {\n        $this->buildDeleteElementMutation($config, $context, 'asset');\n    }\n\n    /**\n     * @param array $config\n     * @param array $context\n     * @param string $type\n     */\n    public function buildDeleteElementMutation(&$config, $context, $type)\n    {\n        /** @var Configuration $configuration */\n        $configuration = $context['configuration'];\n        $entities = $configuration->getSpecialEntities();\n\n        if (isset($entities[$type]['delete']) && $entities[$type]['delete']) {\n            $opName = 'delete' . ucfirst($type);\n\n            $deleteResultType = new ObjectType([\n                'name' => 'Delete' . ucfirst($type) . 'Result',\n                'fields' => [\n                    'success' => ['type' => Type::boolean()],\n                    'message' => ['type' => Type::string()],\n                ],\n            ]);\n\n            $omitPermissionCheck = $this->omitPermissionCheck;\n\n            $me = $this;\n            $deleteField = [\n                'type' => $deleteResultType,\n                'args' => [\n                    'id' => ['type' => Type::int()],\n                    'fullpath' => ['type' => Type::string()],\n                ],\n                'resolve' => static function ($value, $args) use ($type, $omitPermissionCheck, $me) {\n                    try {\n                        $idOrPath = $args['id'] ?? ($args['fullpath'] ?? null);\n                        if (!$idOrPath) {\n                            return [\n                                    'success' => false,\n                                    'message' => 'Missing required field id or fullpath to delete the asset.',\n                                ];\n                        }\n\n                        $element = $me->getElementByTypeAndIdOrPath($args, $type);\n\n                        if (!$omitPermissionCheck && !WorkspaceHelper::checkPermission($element, 'delete')) {\n                            return [\n                                    'success' => false,\n                                    'message' => 'delete ' . $type . ' permission denied.',\n                                ];\n                        }\n                        $result = ['success' => false];\n                        $element->delete();\n\n                        $result = [\n                                'success' => true,\n                                'message' => $type . ' ' . $idOrPath . ' deleted',\n                            ];\n                    } catch (\\Exception $e) {\n                        $result['message'] = $e->getMessage();\n                    }\n\n                    return $result;\n                },\n            ];\n\n            $config['fields'][$opName] = $deleteField;\n        }\n    }\n\n    /**\n     * @param array $config\n     * @param array $context\n     */\n    public function buildDeleteDocumentMutation(&$config, $context)\n    {\n        $this->buildDeleteElementMutation($config, $context, 'document');\n    }\n\n    /**\n     * @param string $type\n     * @param array $config\n     * @param array $context\n     */\n    public function buildDeleteFolderMutation($type, &$config, $context)\n    {\n        /** @var Configuration $configuration */\n        $configuration = $context['configuration'];\n        $entities = $configuration->getSpecialEntities();\n\n        if (isset($entities[$type . '_folder']['delete']) && $entities[$type . '_folder']['delete']) {\n            $opName = 'delete' . ucfirst($type) . 'Folder';\n\n            $deleteResultType = new ObjectType([\n                'name' => 'Delete' . ucfirst($type) . 'FolderResult',\n                'fields' => [\n                    'success' => ['type' => Type::boolean()],\n                    'message' => ['type' => Type::string()],\n                ],\n            ]);\n\n            $omitPermissionCheck = $this->omitPermissionCheck;\n\n            $me = $this;\n            $deleteField = [\n                'type' => $deleteResultType,\n                'args' => [\n                    'id' => ['type' => Type::int()],\n                    'fullpath' => ['type' => Type::string()],\n                ], 'resolve' => static function ($value, $args, $context, ResolveInfo $info) use ($type, $omitPermissionCheck, $me) {\n                    try {\n                        $id = $args['id'];\n                        /** @var Configuration $configuration */\n                        $configuration = $context['configuration'];\n                        $element = $me->getElementByTypeAndIdOrPath($args, $type);\n\n                        if (!$omitPermissionCheck && !WorkspaceHelper::checkPermission($element, 'delete')) {\n                            return [\n                                'success' => false,\n                                'message' => 'delete ' . $type . ' permission denied.',\n                            ];\n                        }\n                        $element->delete();\n\n                        return [\n                            'success' => true,\n                            'message' => '',\n                        ];\n                    } catch (\\Exception $e) {\n                        return [\n                            'success' => false,\n                            'message' => $e->getMessage(),\n                        ];\n                    }\n                },\n            ];\n\n            $config['fields'][$opName] = $deleteField;\n        }\n    }\n\n    /**\n     * @param string $elementType\n     *\n     * @return callable(mixed $value, array $args, array $context, ResolveInfo $info): mixed\n     */\n    public function getUpdateFolderResolver($elementType)\n    {\n        $me = $this;\n\n        return static function ($value, $args, $context, ResolveInfo $info) use ($elementType, $me) {\n            $parent = null;\n\n            if (isset($args['parentId'])) {\n                $parent = AbstractObject::getById($args['parentId']);\n            } elseif (isset($args['path'])) {\n                $parent = AbstractObject::getByPath($args['path']);\n            }\n\n            if (!$parent) {\n                return [\n                    'success' => false,\n                    'message' => 'unable to resolve parent',\n                ];\n            }\n\n            if (!$me->omitPermissionCheck && !WorkspaceHelper::checkPermission($parent, 'update')) {\n                return [\n                    'success' => false,\n                    'message' => 'not allowed to create ' . $elementType . 'folder ',\n                ];\n            }\n\n            if ($elementType === 'asset') {\n                $newInstance = new Folder();\n                $newInstance->setFilename($args['filename']);\n            } else {\n                $newInstance = new \\Pimcore\\Model\\DataObject\\Folder();\n                $newInstance->setKey($args['key']);\n            }\n            $newInstance->setParentId($parent->getId());\n\n            $newInstance->save();\n\n            return [\n                'success' => true,\n                'message' => 'folder created: ' . $newInstance->getId(),\n                'id' => $newInstance->getId(),\n            ];\n        };\n    }\n\n    /**\n     * @return bool\n     */\n    public function isEmpty()\n    {\n        return !$this->config['fields'];\n    }\n\n    /**\n     * @param AbstractElement|Asset|DataObject|Document $element\n     * @param array $options\n     */\n    protected function saveElement($element, $options): void\n    {\n        if (\n            isset($options['userId'])\n            && empty($element->getId())\n            && method_exists($element, 'setUserOwner')\n        ) {\n            $element->setUserOwner($options['userId']);\n        }\n\n        if (\n            isset($options['userId'])\n            && method_exists($element, 'setUserModification')\n        ) {\n            $element->setUserModification($options['userId']);\n        }\n\n        $omitVersionCreateBefore = Version::$disabled;\n\n        if (isset($options['omitVersionCreate']) && $options['omitVersionCreate']) {\n            Version::disable();\n        }\n\n        $element->save();\n\n        if (isset($options['omitVersionCreate']) && $options['omitVersionCreate'] && !$omitVersionCreateBefore) {\n            Version::enable();\n        }\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Mutation/Operator/Factory/DefaultMutationOperatorFactory.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Mutation\\Operator\\Factory;\n\nfinal class DefaultMutationOperatorFactory extends DefaultMutationOperatorFactoryBase\n{\n}\n"
  },
  {
    "path": "src/GraphQL/Mutation/Operator/Factory/DefaultMutationOperatorFactoryBase.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Mutation\\Operator\\Factory;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator\\OperatorInterface;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\nabstract class DefaultMutationOperatorFactoryBase\n{\n    use ServiceTrait;\n\n    /**\n     * @var string\n     */\n    protected $className;\n\n    public function __construct(Service $graphQlService, string $className)\n    {\n        $this->className = $className;\n        $this->setGraphQLService($graphQlService);\n    }\n\n    /**\n     * @param array|null $context\n     *\n     * @return OperatorInterface\n     */\n    public function build(array $configElement = [], $context = null)\n    {\n        /** @var OperatorInterface $operatorImpl */\n        $operatorImpl = new $this->className($this->getGraphQlService());\n        $operatorImpl->setGraphQlService($this->getGraphQlService());\n\n        return $operatorImpl;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/OperatorTypeDefinitionInterface.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL;\n\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\n\ninterface OperatorTypeDefinitionInterface\n{\n    /**\n     * @param array $attributes\n     * @param ClassDefinition $class\n     * @param object $container\n     *\n     * @return mixed\n     */\n    public function getFieldType($attributes, $class, $container);\n}\n"
  },
  {
    "path": "src/GraphQL/PropertyType/AssetFolderType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\PropertyType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\WorkspaceHelper;\nuse Pimcore\\Model\\Element\\Data\\MarkerHotspotItem;\nuse Pimcore\\Model\\Property;\n\n/**\n * @internal\n */\nfinal class AssetFolderType extends ObjectType\n{\n    use ServiceTrait;\n\n    /**\n     *\n     * @throws \\Exception\n     */\n    public function __construct(Service $graphQlService)\n    {\n        $this->graphQlService = $graphQlService;\n        $assetFolderType = $this->getGraphQlService()->getAssetTypeDefinition('_asset_folder');\n\n        $config = [\n            'name' => 'property_assetfolder',\n            'fields' => [\n                'name' => [\n                    'type' => Type::string(),\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                        if ($value instanceof MarkerHotspotItem || $value instanceof Property) {\n                            return $value->getName();\n                        }\n                    },\n                ],\n                'type' => [\n                    'type' => Type::string(),\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                        if ($value instanceof MarkerHotspotItem || $value instanceof Property) {\n                            return $value->getType();\n                        }\n                    },\n                ],\n                'asset' => [\n                    'type' => $assetFolderType,\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) use ($graphQlService) {\n                        $element = null;\n                        if ($value instanceof MarkerHotspotItem) {\n                            $element = \\Pimcore\\Model\\Element\\Service::getElementById($value->getType(), $value->getValue());\n                        } elseif ($value instanceof Property) {\n                            $element = $value->getData();\n                        }\n                        if ($element) {\n                            if (!WorkspaceHelper::checkPermission($element, 'read')) {\n                                return null;\n                            }\n                            $data = new ElementDescriptor($element);\n                            $graphQlService->extractData($data, $element, $args, $context, $resolveInfo);\n\n                            return $data;\n                        }\n\n                        return null;\n                    },\n\n                ]]];\n\n        parent::__construct($config);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/PropertyType/AssetType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\PropertyType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\WorkspaceHelper;\nuse Pimcore\\Model\\Element\\Data\\MarkerHotspotItem;\nuse Pimcore\\Model\\Property;\n\n/**\n * @internal\n */\nfinal class AssetType extends ObjectType\n{\n    use ServiceTrait;\n\n    /**\n     *\n     * @throws \\Exception\n     */\n    public function __construct(Service $graphQlService)\n    {\n        $this->graphQlService = $graphQlService;\n        $assetType = $graphQlService->buildAssetType('asset');\n\n        $config = [\n            'name' => 'property_asset',\n            'fields' => [\n                'name' => [\n                    'type' => Type::string(),\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                        if ($value instanceof MarkerHotspotItem || $value instanceof Property) {\n                            return $value->getName();\n                        }\n                    },\n                ],\n                'type' => [\n                    'type' => Type::string(),\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                        if ($value instanceof MarkerHotspotItem || $value instanceof Property) {\n                            return $value->getType();\n                        }\n                    },\n                ],\n                'asset' => [\n                    'type' => $assetType,\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) use ($graphQlService) {\n                        if ($value instanceof MarkerHotspotItem || $value instanceof Property) {\n                            if ($value instanceof MarkerHotspotItem) {\n                                $element = \\Pimcore\\Model\\Element\\Service::getElementById($value->getType(), $value->getValue());\n                            } else {\n                                $element = $value->getData();\n                            }\n\n                            if ($element) {\n                                if (!WorkspaceHelper::checkPermission($element, 'read')) {\n                                    return null;\n                                }\n\n                                $data = new ElementDescriptor($element);\n                                $graphQlService->extractData($data, $element, $args, $context, $resolveInfo);\n\n                                return $data;\n                            }\n                        }\n\n                        return null;\n                    },\n                ],\n            ],\n        ];\n\n        parent::__construct($config);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/PropertyType/CheckboxType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\PropertyType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\Element\\Data\\MarkerHotspotItem;\nuse Pimcore\\Model\\Property;\n\n/**\n * @internal\n */\nfinal class CheckboxType extends ObjectType\n{\n    use ServiceTrait;\n\n    public function __construct(Service $graphQlService)\n    {\n        $this->graphQlService = $graphQlService;\n\n        $config = [\n            'name' => 'property_checkbox',\n            'fields' => [\n                'name' => [\n                    'type' => Type::string(),\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                        if ($value instanceof MarkerHotspotItem || $value instanceof Property) {\n                            return $value->getName();\n                        }\n                    },\n                ],\n                'type' => [\n                    'type' => Type::string(),\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                        if ($value instanceof MarkerHotspotItem || $value instanceof Property) {\n                            return $value->getType();\n                        }\n                    },\n                ],\n                'checked' => [\n                    'type' => Type::boolean(),\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                        if ($value instanceof MarkerHotspotItem) {\n                            return $value->getValue();\n                        } elseif ($value instanceof Property) {\n                            return $value->getData();\n                        }\n                    },\n                ],\n            ],\n        ];\n\n        parent::__construct($config);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/PropertyType/DataObjectType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\PropertyType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\WorkspaceHelper;\nuse Pimcore\\Model\\Element\\Data\\MarkerHotspotItem;\nuse Pimcore\\Model\\Property;\n\n/**\n * @internal\n */\nfinal class DataObjectType extends ObjectType\n{\n    use ServiceTrait;\n\n    public function __construct(Service $graphQlService, ObjectsType $objectUnionType)\n    {\n        $this->graphQlService = $graphQlService;\n\n        $config = [\n            'name' => 'property_object',\n            'fields' => [\n                'name' => [\n                    'type' => Type::string(),\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                        if ($value instanceof MarkerHotspotItem || $value instanceof Property) {\n                            return $value->getName();\n                        }\n                    },\n                ],\n                'type' => [\n                    'type' => Type::string(),\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                        if ($value instanceof MarkerHotspotItem || $value instanceof Property) {\n                            return $value->getType();\n                        }\n                    },\n                ],\n                'object' => [\n                    'type' => $objectUnionType,\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) use ($graphQlService) {\n                        if ($value instanceof MarkerHotspotItem || $value instanceof Property) {\n                            if ($value instanceof MarkerHotspotItem) {\n                                $element = \\Pimcore\\Model\\Element\\Service::getElementById($value->getType(), $value->getValue());\n                            } else {\n                                $element = $value->getData();\n                            }\n\n                            if ($element) {\n                                if (!WorkspaceHelper::checkPermission($element, 'read')) {\n                                    return null;\n                                }\n\n                                $data = new ElementDescriptor($element);\n                                $graphQlService->extractData($data, $element, $args, $context, $resolveInfo);\n\n                                return $data;\n                            }\n                        }\n\n                        return null;\n                    },\n                ],\n            ],\n        ];\n\n        parent::__construct($config);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/PropertyType/DocumentFolderType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\PropertyType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\WorkspaceHelper;\nuse Pimcore\\Model\\Element\\Data\\MarkerHotspotItem;\nuse Pimcore\\Model\\Property;\n\n/**\n * @internal\n */\nfinal class DocumentFolderType extends ObjectType\n{\n    use ServiceTrait;\n\n    /**\n     *\n     * @throws \\Exception\n     */\n    public function __construct(Service $graphQlService)\n    {\n        $this->graphQlService = $graphQlService;\n        $documentFolderType = $this->getGraphQlService()->getDocumentTypeDefinition('_document_folder');\n\n        $config = [\n            'name' => 'property_documentfolder',\n            'fields' => [\n                'name' => [\n                    'type' => Type::string(),\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                        if ($value instanceof MarkerHotspotItem || $value instanceof Property) {\n                            return $value->getName();\n                        }\n                    },\n                ],\n                'type' => [\n                    'type' => Type::string(),\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                        if ($value instanceof MarkerHotspotItem || $value instanceof Property) {\n                            return $value->getType();\n                        }\n                    },\n                ],\n                'document' => [\n                    'type' => $documentFolderType,\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) use ($graphQlService) {\n                        $element = null;\n                        if ($value instanceof MarkerHotspotItem) {\n                            $element = \\Pimcore\\Model\\Element\\Service::getElementById($value->getType(), $value->getValue());\n                        } elseif ($value instanceof Property) {\n                            $element = $value->getData();\n                        }\n                        if ($element) {\n                            if (!WorkspaceHelper::checkPermission($element, 'read')) {\n                                return null;\n                            }\n\n                            $data = new ElementDescriptor($element);\n                            $graphQlService->extractData($data, $element, $args, $context, $resolveInfo);\n\n                            return $data;\n                        }\n\n                        return null;\n                    },\n\n                ]]];\n\n        parent::__construct($config);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/PropertyType/DocumentType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\PropertyType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\WorkspaceHelper;\nuse Pimcore\\Model\\Element\\Data\\MarkerHotspotItem;\nuse Pimcore\\Model\\Property;\n\n/**\n * @internal\n */\nfinal class DocumentType extends ObjectType\n{\n    use ServiceTrait;\n\n    /**\n     *\n     * @throws \\Exception\n     */\n    public function __construct(Service $graphQlService)\n    {\n        $this->graphQlService = $graphQlService;\n        $documentUnionType = $this->getGraphQlService()->getDocumentTypeDefinition('document');\n\n        $config = [\n            'name' => 'property_document',\n            'fields' => [\n                'name' => [\n                    'type' => Type::string(),\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                        if ($value instanceof MarkerHotspotItem || $value instanceof Property) {\n                            return $value->getName();\n                        }\n                    },\n                ],\n                'type' => [\n                    'type' => Type::string(),\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                        if ($value instanceof MarkerHotspotItem || $value instanceof Property) {\n                            return $value->getType();\n                        }\n                    },\n                ],\n                'document' => [\n                    'type' => $documentUnionType,\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) use ($graphQlService) {\n                        $element = null;\n                        if ($value instanceof MarkerHotspotItem) {\n                            $element = \\Pimcore\\Model\\Element\\Service::getElementById($value->getType(), $value->getValue());\n                        } elseif ($value instanceof Property) {\n                            $element = $value->getData();\n                        }\n                        if ($element) {\n                            if (!WorkspaceHelper::checkPermission($element, 'read')) {\n                                return null;\n                            }\n\n                            $data = new ElementDescriptor($element);\n                            $graphQlService->extractData($data, $element, $args, $context, $resolveInfo);\n\n                            return $data;\n                        }\n\n                        return null;\n                    },\n\n                ]]];\n\n        parent::__construct($config);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/PropertyType/ElementPropertyType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\PropertyType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\UnionType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType\\DocumentFolderType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Exception\\ClientSafeException;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\TypeInterface\\Property;\nuse Pimcore\\Model\\Asset\\Folder;\nuse Pimcore\\Model\\Document;\n\n/**\n * @internal\n */\nfinal class ElementPropertyType extends UnionType\n{\n    use ServiceTrait;\n\n    /** @var AssetType */\n    protected $assetType;\n\n    /** @var CheckboxType */\n    protected $checkboxType;\n\n    /** @var DocumentType */\n    protected $documentType;\n\n    /** @var AssetFolderType */\n    protected $assetFolderType;\n\n    /** @var DocumentFolderType */\n    protected $documentFolderType;\n\n    /** @var ObjectFolderType */\n    protected $objectFolderType;\n\n    /** @var ObjectsType */\n    protected $objectType;\n\n    /** @var TextType */\n    protected $textType;\n\n    /** @var SelectType */\n    protected $selectType;\n\n    /**\n     * @param array $config\n     */\n    public function __construct(Service $graphQlService, $config = [])\n    {\n        $this->setGraphQLService($graphQlService);\n        $config['interfaces'] = [Property::getInstance()];\n        parent::__construct($config);\n    }\n\n    /**\n     *\n     * @throws \\Exception\n     */\n    public function getTypes(): array\n    {\n        $service = $this->getGraphQlService();\n\n        $this->checkboxType = $service->getPropertyTypeDefinition('property_checkbox');\n        $this->textType = $service->getPropertyTypeDefinition('property_text');\n        $this->selectType = $service->getPropertyTypeDefinition('property_select');\n\n        $supportedTypes = [\n            $this->checkboxType,\n            $this->textType,\n            $this->selectType,\n        ];\n\n        if ($this->getGraphQlService()->querySchemaEnabled('asset')) {\n            $this->assetType = $service->getPropertyTypeDefinition('property_asset');\n            $supportedTypes[] = $this->assetType;\n        }\n\n        if ($this->getGraphQlService()->querySchemaEnabled('asset_folder')) {\n            $this->assetFolderType = $service->getPropertyTypeDefinition('property_assetfolder');\n            $supportedTypes[] = $this->assetFolderType;\n        }\n\n        if ($this->getGraphQlService()->querySchemaEnabled('object')) {\n            $this->objectType = $service->getPropertyTypeDefinition('property_object');\n            $supportedTypes[] = $this->objectType;\n        }\n\n        if ($this->getGraphQlService()->querySchemaEnabled('object_folder')) {\n            $this->objectFolderType = $service->getPropertyTypeDefinition('property_objectfolder');\n            $supportedTypes[] = $this->objectFolderType;\n        }\n\n        if ($this->getGraphQlService()->querySchemaEnabled('document')) {\n            $this->documentType = $service->getPropertyTypeDefinition('property_document');\n            $supportedTypes[] = $this->documentType;\n        }\n\n        if ($this->getGraphQlService()->querySchemaEnabled('document_folder')) {\n            $this->documentFolderType = $service->getPropertyTypeDefinition('property_documentfolder');\n            $supportedTypes[] = $this->documentFolderType;\n        }\n\n        return $supportedTypes;\n    }\n\n    public function resolveType($element, $context, ResolveInfo $info): ObjectType|callable|null\n    {\n        if ($element instanceof \\Pimcore\\Model\\Property) {\n            $type = $element->getType();\n            switch ($type) {\n                case 'bool':\n                case 'checkbox': {\n                    return $this->checkboxType;\n                }\n                case 'text': {\n                    return $this->textType;\n                }\n                case 'select': {\n                    return $this->selectType;\n                }\n                case 'asset': {\n                    $asset = $element->getData();\n                    if ($asset instanceof Folder) {\n                        return $this->assetFolderType;\n                    } else {\n                        return $this->assetType;\n                    }\n                }\n                case 'document': {\n                    $doc = $element->getData();\n                    if ($doc instanceof Document\\Folder) {\n                        return $this->documentFolderType;\n                    } else {\n                        return $this->documentType;\n                    }\n                }\n                case 'object': {\n                    $object = $element->getData();\n                    if ($object instanceof \\Pimcore\\Model\\DataObject\\Folder) {\n                        return $this->objectFolderType;\n                    } else {\n                        return $this->objectType; // @phpstan-ignore return.type\n                    }\n                }\n                default:\n                    throw new ClientSafeException('unkown property type: ' . $type);\n            }\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/PropertyType/HotspotMetadataType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\PropertyType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\UnionType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Exception\\ClientSafeException;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\TypeInterface\\Property;\nuse Pimcore\\Model\\Element\\Data\\MarkerHotspotItem;\n\n/**\n * @internal\n */\nfinal class HotspotMetadataType extends UnionType\n{\n    use ServiceTrait;\n\n    /** @var AssetType */\n    protected $assetType;\n\n    /** @var CheckboxType */\n    protected $checkboxType;\n\n    /** @var DocumentType */\n    protected $documentType;\n\n    /** @var ObjectsType */\n    protected $objectType;\n\n    /** @var TextType */\n    protected $textareaType;\n\n    /** @var TextType */\n    protected $textType;\n\n    /**\n     * @param array $config\n     */\n    public function __construct(Service $graphQlService, $config = [])\n    {\n        $this->setGraphQLService($graphQlService);\n        $config['interfaces'] = [Property::getInstance()];\n        parent::__construct($config);\n    }\n\n    /**\n     *\n     * @throws \\Exception\n     */\n    public function getTypes(): array\n    {\n        $service = $this->getGraphQlService();\n\n        $this->assetType = $service->getPropertyTypeDefinition('property_asset');\n        $this->documentType = $service->getPropertyTypeDefinition('property_document');\n        $this->objectType = $service->getPropertyTypeDefinition('property_object');\n        $this->checkboxType = $service->getPropertyTypeDefinition('property_checkbox');\n        $this->textareaType = $service->getPropertyTypeDefinition('property_textarea');\n        $this->textType = $service->getPropertyTypeDefinition('property_text');\n\n        $supportedTypes = [$this->checkboxType, $this->textType, $this->textareaType, $this->assetType, $this->documentType, $this->objectType];\n\n        return $supportedTypes;\n    }\n\n    public function resolveType($element, $context, ResolveInfo $info): ObjectType|callable|null\n    {\n        if ($element instanceof MarkerHotspotItem) {\n            $type = $element->getType();\n            switch ($type) {\n                case 'checkbox': {\n                    return $this->checkboxType;\n                }\n                case 'textarea': {\n                    return $this->textareaType;\n                }\n                case 'textfield': {\n                    return $this->textType;\n                }\n                case 'asset': {\n                    return $this->assetType;\n                }\n                case 'document': {\n                    return $this->documentType;\n                }\n                case 'object': {\n                    return $this->objectType; // @phpstan-ignore return.type\n                }\n                default:\n                    throw new ClientSafeException('unkown metadata type: ' . $type);\n            }\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/PropertyType/ObjectFolderType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\PropertyType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\WorkspaceHelper;\nuse Pimcore\\Model\\Element\\Data\\MarkerHotspotItem;\nuse Pimcore\\Model\\Property;\n\n/**\n * @internal\n */\nfinal class ObjectFolderType extends ObjectType\n{\n    use ServiceTrait;\n\n    /**\n     *\n     * @throws \\Exception\n     */\n    public function __construct(Service $graphQlService)\n    {\n        $this->graphQlService = $graphQlService;\n        $objectFolderType = $this->getGraphQlService()->getDataObjectTypeDefinition('_object_folder');\n\n        $config = [\n            'name' => 'property_objectfolder',\n            'fields' => [\n                'name' => [\n                    'type' => Type::string(),\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                        if ($value instanceof MarkerHotspotItem || $value instanceof Property) {\n                            return $value->getName();\n                        }\n                    },\n                ],\n                'type' => [\n                    'type' => Type::string(),\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                        if ($value instanceof MarkerHotspotItem || $value instanceof Property) {\n                            return $value->getType();\n                        }\n                    },\n                ],\n                'object' => [\n                    'type' => $objectFolderType,\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) use ($graphQlService) {\n                        $element = null;\n                        if ($value instanceof MarkerHotspotItem) {\n                            $element = \\Pimcore\\Model\\Element\\Service::getElementById($value->getType(), $value->getValue());\n                        } elseif ($value instanceof Property) {\n                            $element = $value->getData();\n                        }\n                        if ($element) {\n                            if (!WorkspaceHelper::checkPermission($element, 'read')) {\n                                return null;\n                            }\n\n                            $data = new ElementDescriptor($element);\n                            $graphQlService->extractData($data, $element, $args, $context, $resolveInfo);\n\n                            return $data;\n                        }\n\n                        return null;\n                    },\n\n                ]]];\n\n        parent::__construct($config);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/PropertyType/ObjectsType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\PropertyType;\n\nuse GraphQL\\Deferred;\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\UnionType;\nuse Pimcore\\Bundle\\CoreBundle\\DependencyInjection\\ContainerAwareInterface;\nuse Pimcore\\Bundle\\CoreBundle\\DependencyInjection\\ContainerAwareTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassTypeDefinitions;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\Document;\n\n/**\n * @internal\n */\nfinal class ObjectsType extends UnionType implements ContainerAwareInterface\n{\n    use ContainerAwareTrait;\n    use ServiceTrait;\n\n    public function __construct(Service $graphQlService)\n    {\n        $this->setGraphQLService($graphQlService);\n\n        // @phpstan-ignore-next-line - We can't define the types in the constructor because the `getTypes` method is overwritten\n        parent::__construct(['name' => 'hotspot_metadata_object']);\n    }\n\n    /**\n     *\n     * @throws \\Exception\n     */\n    public function getTypes(): array\n    {\n        $types = [];\n\n        $service = $this->getGraphQlService();\n\n        if ($service->querySchemaEnabled('object')) {\n            $objectTypes = array_values(ClassTypeDefinitions::getAll(true));\n            $types = array_merge($types, $objectTypes);\n        }\n\n        if ($service->querySchemaEnabled('document')) {\n            $documentUnionType = $this->getGraphQlService()->getDocumentTypeDefinition('document');\n            $supportedDocumentTypes = $documentUnionType->getTypes();\n            $types = array_merge($types, $supportedDocumentTypes);\n        }\n\n        if ($service->querySchemaEnabled('asset')) {\n            $types[] = $this->getGraphQlService()->buildAssetType('asset');\n        }\n\n        if ($service->querySchemaEnabled('asset_folder')) {\n            $types[] = $this->getGraphQlService()->getAssetTypeDefinition('_asset_folder');\n        }\n\n        return $types;\n    }\n\n    public function resolveType($element, $context, ResolveInfo $info): ObjectType|string|callable|Deferred|null\n    {\n        if ($element) {\n            if ($element['__elementType'] == 'object') {\n                $type = ClassTypeDefinitions::get($element['__elementSubtype']);\n\n                return $type;\n            } elseif ($element['__elementType'] == 'asset') {\n                return  $this->getGraphQlService()->buildAssetType('asset');\n            } elseif ($element['__elementType'] == 'document') {\n                $document = Document::getById($element['id']);\n                if ($document) {\n                    $documentType = $document->getType();\n                    $service = $this->getGraphQlService();\n                    $typeDefinition = $service->getDocumentTypeDefinition('document_' . $documentType);\n\n                    return $typeDefinition;\n                }\n            }\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/PropertyType/SelectType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\PropertyType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\Property;\n\n/**\n * @internal\n */\nfinal class SelectType extends ObjectType\n{\n    use ServiceTrait;\n\n    public function __construct(Service $graphQlService)\n    {\n        $this->graphQlService = $graphQlService;\n\n        $config = [\n            'name' => 'property_select',\n            'fields' => [\n                'name' => [\n                    'type' => Type::string(),\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                        if ($value instanceof Property) {\n                            return $value->getName();\n                        }\n                    },\n                ],\n                'type' => [\n                    'type' => Type::string(),\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                        if ($value instanceof Property) {\n                            return $value->getType();\n                        }\n                    },\n                ],\n                'text' => [\n                    'type' => Type::string(),\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                        if ($value instanceof Property) {\n                            return $value->getData();\n                        }\n                    },\n                ],\n            ],\n        ];\n\n        parent::__construct($config);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/PropertyType/TextType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\PropertyType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\Element\\Data\\MarkerHotspotItem;\nuse Pimcore\\Model\\Property;\n\n/**\n * @internal\n */\nfinal class TextType extends ObjectType\n{\n    use ServiceTrait;\n\n    public function __construct(Service $graphQlService)\n    {\n        $this->graphQlService = $graphQlService;\n\n        $config = [\n            'name' => 'property_text',\n            'fields' => [\n                'name' => [\n                    'type' => Type::string(),\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                        if ($value instanceof MarkerHotspotItem || $value instanceof Property) {\n                            return $value->getName();\n                        }\n                    },\n                ],\n                'type' => [\n                    'type' => Type::string(),\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                        if ($value instanceof MarkerHotspotItem || $value instanceof Property) {\n                            return $value->getType();\n                        }\n                    },\n                ],\n                'text' => [\n                    'type' => Type::string(),\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                        if ($value instanceof MarkerHotspotItem) {\n                            return $value->getValue();\n                        } elseif ($value instanceof Property) {\n                            return $value->getData();\n                        }\n                    },\n                ],\n            ],\n        ];\n\n        parent::__construct($config);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/PropertyType/TextareaType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\PropertyType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\Element\\Data\\MarkerHotspotItem;\nuse Pimcore\\Model\\Property;\n\n/**\n * @internal\n */\nfinal class TextareaType extends ObjectType\n{\n    use ServiceTrait;\n\n    public function __construct(Service $graphQlService)\n    {\n        $this->graphQlService = $graphQlService;\n\n        $config = [\n            'name' => 'property_textarea',\n            'fields' => [\n                'name' => [\n                    'type' => Type::string(),\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                        if ($value instanceof MarkerHotspotItem || $value instanceof Property) {\n                            return $value->getName();\n                        }\n                    },\n                ],\n                'type' => [\n                    'type' => Type::string(),\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                        if ($value instanceof MarkerHotspotItem || $value instanceof Property) {\n                            return $value->getType();\n                        }\n                    },\n                ],\n                'text' => [\n                    'type' => Type::string(),\n                    'resolve' => static function ($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null) {\n                        if ($value instanceof MarkerHotspotItem) {\n                            return $value->getValue();\n                        } elseif ($value instanceof Property) {\n                            return $value->getData();\n                        }\n                    },\n                ],\n            ],\n        ];\n\n        parent::__construct($config);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Query/ConfigElementInterface.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Model\\Element\\ElementInterface;\n\ninterface ConfigElementInterface\n{\n    /**\n     * @return string\n     */\n    public function getLabel();\n\n    /**\n     * @param ElementInterface|null $element\n     *\n     * @return \\stdClass|null\n     */\n    public function getLabeledValue($element, ?ResolveInfo $resolveInfo = null);\n}\n"
  },
  {
    "path": "src/GraphQL/Query/Operator/AbstractOperator.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\nabstract class AbstractOperator implements OperatorInterface\n{\n    use ServiceTrait;\n\n    /**\n     * @var string\n     */\n    protected $label;\n\n    /**\n     * @var array\n     */\n    protected $context;\n\n    /**\n     * @var array\n     */\n    protected $children;\n\n    /**\n     * @param array|null $context\n     */\n    public function __construct(array $config = [], $context = null)\n    {\n        $this->label = $config['label'];\n        $this->children = $config['children'];\n        $this->context = $context;\n    }\n\n    /**\n     * @return array\n     */\n    public function getChildren()\n    {\n        return $this->children;\n    }\n\n    /**\n     * @return bool\n     */\n    public function expandLocales()\n    {\n        return false;\n    }\n\n    /**\n     * @return array|null\n     */\n    public function getContext()\n    {\n        return $this->context;\n    }\n\n    /**\n     * @param array $context\n     *\n     * @return void\n     */\n    public function setContext($context)\n    {\n        $this->context = $context;\n    }\n\n    /**\n     * @return string\n     */\n    public function getLabel()\n    {\n        return $this->label;\n    }\n\n    /**\n     * @param string $label\n     *\n     * @return void\n     */\n    public function setLabel($label)\n    {\n        $this->label = $label;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Query/Operator/Alias.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Model\\Element\\ElementInterface;\n\n/**\n * @internal\n */\nfinal class Alias extends AbstractOperator\n{\n    /**\n     * @param ElementInterface|null $element\n     *\n     * @return \\stdClass\n     *\n     * @throws \\Exception\n     */\n    public function getLabeledValue($element, ?ResolveInfo $resolveInfo = null)\n    {\n        $result = new \\stdClass();\n        $result->label = $this->label;\n\n        $children = $this->getChildren();\n\n        if (!$children) {\n            return $result;\n        }\n\n        $c = $children[0];\n\n        $valueResolver = $this->getGraphQlService()->buildValueResolverFromAttributes($c);\n\n        $valueFromChild = $valueResolver->getLabeledValue($element, $resolveInfo);\n        if ($valueFromChild) {\n            $result->value = $valueFromChild->value;\n        }\n\n        return $result;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Query/Operator/Concatenator.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Model\\Element\\ElementInterface;\n\n/**\n * @internal\n */\nfinal class Concatenator extends AbstractOperator\n{\n    private $glue;\n\n    private $forceValue;\n\n    /**\n     * @param array|null $context\n     */\n    public function __construct(array $config, $context = null)\n    {\n        parent::__construct($config, $context);\n\n        $this->glue = $config['glue'];\n        $this->forceValue = $config['forceValue'] ?? false;\n    }\n\n    /**\n     * @param ElementInterface|null $element\n     *\n     * @return \\stdClass\n     *\n     * @throws \\Exception\n     */\n    public function getLabeledValue($element, ?ResolveInfo $resolveInfo = null)\n    {\n        $result = new \\stdClass();\n        $result->label = $this->label;\n\n        $hasValue = true;\n        if (!$this->forceValue) {\n            $hasValue = false;\n        }\n\n        $children = $this->getChildren();\n        $valueArray = [];\n\n        foreach ($children as $c) {\n            $valueResolver = $this->getGraphQlService()->buildValueResolverFromAttributes($c);\n            if (!$childResult = $valueResolver->getLabeledValue($element, $resolveInfo)) {\n                continue;\n            }\n\n            $childValues = $childResult->value;\n            if ($childValues && !is_array($childValues)) {\n                $childValues = [$childValues];\n            }\n\n            if (is_array($childValues)) {\n                foreach ($childValues as $value) {\n                    if (!$hasValue) {\n                        if (is_object($value) && method_exists($value, 'isEmpty')) {\n                            $hasValue = !$value->isEmpty();\n                        } else {\n                            $hasValue = !empty($value);\n                        }\n                    }\n\n                    if ($value !== null) {\n                        $valueArray[] = $value;\n                    }\n                }\n            }\n        }\n\n        if ($hasValue) {\n            $result->value = implode($this->glue, $valueArray);\n\n            return $result;\n        }\n\n        $result->empty = true;\n\n        return $result;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Query/Operator/DateFormatter.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator;\n\nuse Carbon\\Carbon;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Model\\Element\\ElementInterface;\n\n/**\n * @internal\n */\nfinal class DateFormatter extends AbstractOperator\n{\n    /**\n     * @var string|null\n     */\n    private $format;\n\n    /**\n     * @param array|null $context\n     */\n    public function __construct(array $config, $context = null)\n    {\n        parent::__construct($config, $context);\n\n        $this->format = ($config['format'] ? $config['format'] : null);\n    }\n\n    /**\n     * @param ElementInterface|null $element\n     *\n     * @return \\stdClass\n     *\n     * @throws \\Exception\n     */\n    public function getLabeledValue($element, ?ResolveInfo $resolveInfo = null)\n    {\n        $result = new \\stdClass();\n        $result->label = $this->label;\n        $result->value = null;\n\n        $children = $this->getChildren();\n\n        if (!$children) {\n            return $result;\n        }\n\n        $c = $children[0];\n        $valueResolver = $this->getGraphQlService()->buildValueResolverFromAttributes($c);\n\n        $childResult = $valueResolver->getLabeledValue($element, $resolveInfo);\n        if (!is_null($childResult)) {\n            $childResult = $this->format($childResult->value);\n            $result->value = $childResult;\n        }\n\n        return $result;\n    }\n\n    /**\n     * @param int|Carbon $theValue\n     *\n     * @return int|string\n     */\n    public function format($theValue)\n    {\n        if ($theValue) {\n            if (is_integer($theValue)) {\n                $theValue = Carbon::createFromTimestamp($theValue, date_default_timezone_get());\n            }\n            if ($this->format) {\n                if ($theValue instanceof Carbon) {\n                    $timestamp = $theValue->getTimestamp();\n\n                    $theValue = date($this->format, $timestamp);\n                }\n            } else {\n                if ($theValue instanceof Carbon) {\n                    $theValue = $theValue->toDateString();\n                }\n            }\n        }\n\n        return $theValue;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Query/Operator/ElementCounter.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Model\\Element\\ElementInterface;\n\n/**\n * @internal\n */\nfinal class ElementCounter extends AbstractOperator\n{\n    private $countEmpty;\n\n    /**\n     * @param array|null $context\n     */\n    public function __construct(array $config, $context = null)\n    {\n        parent::__construct($config, $context);\n\n        $this->countEmpty = $config['countEmpty'];\n    }\n\n    /**\n     * @param ElementInterface|null $element\n     *\n     * @return \\stdClass\n     *\n     * @throws \\Exception\n     */\n    public function getLabeledValue($element, ?ResolveInfo $resolveInfo = null)\n    {\n        $result = new \\stdClass();\n        $result->label = $this->label;\n\n        $children = $this->getChildren();\n        $count = 0;\n\n        foreach ($children as $c) {\n            $valueResolver = $this->getGraphQlService()->buildValueResolverFromAttributes($c);\n\n            $childResult = $valueResolver->getLabeledValue($element, $resolveInfo);\n            if ($childResult !== null) {\n                $childValues = $childResult->value;\n\n                if ($this->getCountEmpty()) {\n                    if (is_array($childValues)) {\n                        $count += count($childValues);\n                    } else {\n                        $count++;\n                    }\n                } else {\n                    if (is_array($childValues)) {\n                        foreach ($childValues as $childValue) {\n                            if ($childValue) {\n                                $count++;\n                            }\n                        }\n                    } elseif ($childValues) {\n                        $count++;\n                    }\n                }\n            }\n        }\n\n        $result->value = $count;\n\n        return $result;\n    }\n\n    /**\n     * @return mixed\n     */\n    public function getCountEmpty()\n    {\n        return $this->countEmpty;\n    }\n\n    /**\n     * @param mixed $countEmpty\n     */\n    public function setCountEmpty($countEmpty)\n    {\n        $this->countEmpty = $countEmpty;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Query/Operator/Factory/DefaultOperatorFactoryBase.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator\\Factory;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator\\OperatorInterface;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\nabstract class DefaultOperatorFactoryBase implements OperatorFactoryInterface\n{\n    use ServiceTrait;\n\n    /**\n     * @var string\n     */\n    protected $className;\n\n    public function __construct(Service $graphQlService, string $className)\n    {\n        $this->className = $className;\n        $this->setGraphQLService($graphQlService);\n    }\n\n    /**\n     * @param array|null $context\n     *\n     */\n    public function build(array $configElement = [], $context = null): OperatorInterface\n    {\n        $operatorImpl = new $this->className($configElement, $context);\n        $operatorImpl->setGraphQlService($this->getGraphQlService());\n\n        return $operatorImpl;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Query/Operator/Factory/DefaultQueryOperatorFactory.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator\\Factory;\n\n/**\n * @internal\n */\nfinal class DefaultQueryOperatorFactory extends DefaultOperatorFactoryBase\n{\n}\n"
  },
  {
    "path": "src/GraphQL/Query/Operator/Factory/OperatorFactoryInterface.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator\\Factory;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator\\OperatorInterface;\n\ninterface OperatorFactoryInterface\n{\n    /**\n     * @param array|null $context\n     *\n     */\n    public function build(array $configElement, $context = null): OperatorInterface;\n}\n"
  },
  {
    "path": "src/GraphQL/Query/Operator/OperatorInterface.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\ConfigElementInterface;\n\ninterface OperatorInterface extends ConfigElementInterface\n{\n}\n"
  },
  {
    "path": "src/GraphQL/Query/Operator/Substring.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Model\\Element\\ElementInterface;\n\n/**\n * @internal\n */\nfinal class Substring extends AbstractOperator\n{\n    private $start;\n\n    private $length;\n\n    private $ellipses;\n\n    /**\n     * @param array|null $context\n     */\n    public function __construct(array $config = [], $context = null)\n    {\n        parent::__construct($config, $context);\n\n        $this->start = $config['start'];\n        $this->length = $config['length'];\n        $this->ellipses = $config['ellipses'];\n    }\n\n    /**\n     * @param ElementInterface|null $element\n     *\n     * @return \\stdClass\n     *\n     * @throws \\Exception\n     */\n    public function getLabeledValue($element, ?ResolveInfo $resolveInfo = null)\n    {\n        $result = new \\stdClass();\n        $result->label = $this->label;\n\n        $children = $this->getChildren();\n\n        if (!$children) {\n            return $result;\n        }\n\n        $c = $children[0];\n\n        $valueResolver = $this->getGraphQlService()->buildValueResolverFromAttributes($c);\n\n        $childResult = $valueResolver->getLabeledValue($element, $resolveInfo);\n        if (!$childResult) {\n            return $result;\n        }\n\n        $childValue = $childResult->value;\n        $showEllipses = false;\n        if ($childValue && $this->getEllipses()) {\n            $start = $this->getStart() ?: 0;\n            $length = $this->getLength() ?: 0;\n            if (strlen($childValue) > $start + $length) {\n                $showEllipses = true;\n            }\n        }\n\n        $childValue = substr($childValue, $this->getStart(), $this->getLength());\n        if ($showEllipses) {\n            $childValue .= '...';\n        }\n        $result->value = $childValue;\n\n        return $result;\n    }\n\n    /**\n     * @return int|null\n     */\n    public function getStart()\n    {\n        return $this->start;\n    }\n\n    /**\n     * @param int|null $start\n     */\n    public function setStart($start)\n    {\n        $this->start = $start;\n    }\n\n    /**\n     * @return int|null\n     */\n    public function getLength()\n    {\n        return $this->length;\n    }\n\n    /**\n     * @param int|null $length\n     */\n    public function setLength($length)\n    {\n        $this->length = $length;\n    }\n\n    /**\n     * @return mixed\n     */\n    public function getEllipses()\n    {\n        return $this->ellipses;\n    }\n\n    /**\n     * @param mixed $ellipses\n     */\n    public function setEllipses($ellipses)\n    {\n        $this->ellipses = $ellipses;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Query/Operator/Text.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Model\\Element\\ElementInterface;\n\n/**\n * @internal\n */\nfinal class Text extends AbstractOperator\n{\n    /**\n     * @param array|null $context\n     */\n    public function __construct(array $config, $context = null)\n    {\n        parent::__construct($config, $context);\n    }\n\n    /**\n     * @param ElementInterface|null $element\n     *\n     * @return \\stdClass\n     */\n    public function getLabeledValue($element, ?ResolveInfo $resolveInfo = null)\n    {\n        $result = new \\stdClass();\n        $result->label = $this->label;\n        $result->value = $result->label;\n\n        return $result;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Query/Operator/Thumbnail.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Model\\Asset;\nuse Pimcore\\Model\\Element\\ElementInterface;\n\n/**\n * @internal\n */\nfinal class Thumbnail extends AbstractOperator\n{\n    private $thumbnailConfig;\n\n    /**\n     * @param array|null $context\n     */\n    public function __construct(array $config = [], $context = null)\n    {\n        parent::__construct($config, $context);\n\n        $this->thumbnailConfig = $config['thumbnailConfig'];\n    }\n\n    /**\n     * @param ElementInterface|null $element\n     *\n     * @return \\stdClass\n     */\n    public function getLabeledValue($element, ?ResolveInfo $resolveInfo = null)\n    {\n        $result = new \\stdClass();\n        $result->label = $this->label;\n        if (!$this->thumbnailConfig) {\n            return $result;\n        }\n\n        $children = $this->getChildren();\n\n        if (!$children) {\n            return $result;\n        }\n\n        $c = $children[0];\n\n        $valueResolver = $this->getGraphQlService()->buildValueResolverFromAttributes($c);\n\n        $childResult = $valueResolver->getLabeledValue($element, $resolveInfo);\n        if ($childResult) {\n            $result->value = null;\n            if ($childResult->value instanceof Asset\\Image || $childResult->value instanceof Asset\\Video) {\n                $childValue = $result->value = $childResult->value;\n                $thumbnail = $childValue->getThumbnail($this->thumbnailConfig, false);\n                $result->value = $thumbnail->getPath(['deferredAllowed' => false]);\n            }\n        }\n\n        return $result;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Query/Operator/ThumbnailHtml.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Model\\Asset;\nuse Pimcore\\Model\\Element\\ElementInterface;\n\n/**\n * Class ThumbnailHtml\n *\n * @package Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator\n */\n/**\n * @internal\n */\nfinal class ThumbnailHtml extends AbstractOperator\n{\n    /**\n     * @var string|null\n     */\n    private $thumbnailHtmlConfig;\n\n    /**\n     * @param array|null $context\n     */\n    public function __construct(array $config = [], $context = null)\n    {\n        parent::__construct($config, $context);\n\n        $this->thumbnailHtmlConfig = $config['thumbnailHtmlConfig'];\n    }\n\n    /**\n     * @param ElementInterface|null $element\n     *\n     * @return \\stdClass\n     */\n    public function getLabeledValue($element, ?ResolveInfo $resolveInfo = null)\n    {\n        $result = new \\stdClass();\n        $result->label = $this->label;\n        $result->value = null;\n\n        $children = $this->getChildren();\n\n        if ($children && $this->thumbnailHtmlConfig) {\n            $c = $children[0];\n            $valueResolver = $this->getGraphQlService()->buildValueResolverFromAttributes($c);\n            $childResult = $valueResolver->getLabeledValue($element, $resolveInfo);\n\n            if ($childResult) {\n                // We may get a single asset (e.g. regular asset element) or an array of assets (e.g. from a gallery element)\n                if ($childResult->value instanceof Asset\\Image || $childResult->value instanceof Asset\\Video) {\n                    $thumbnail = $childResult->value->getThumbnail($this->thumbnailHtmlConfig, false);\n                    $result->value = $thumbnail->getHtml();\n                } elseif (!empty($childResult->value)) {\n                    $result->value = [];\n                    foreach ($childResult->value as $value) {\n                        $result->value[] = $value['img']->getThumbnail($this->thumbnailHtmlConfig, false)->getHtml();\n                    }\n                }\n            }\n        }\n\n        return $result;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Query/Operator/TranslateValue.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Model\\Element\\ElementInterface;\n\n/**\n * @internal\n */\nfinal class TranslateValue extends AbstractOperator\n{\n    private $prefix;\n\n    /**\n     * @param array|null $context\n     */\n    public function __construct(array $config = [], $context = null)\n    {\n        //TODO use translator factory from grid config\n        parent::__construct($config, $context);\n\n        $this->prefix = $config['prefix'];\n    }\n\n    /**\n     * @param ElementInterface|null $element\n     *\n     * @return \\stdClass|null\n     *\n     * @throws \\Exception\n     */\n    public function getLabeledValue($element, ?ResolveInfo $resolveInfo = null)\n    {\n        $result = new \\stdClass();\n        $result->label = $this->label;\n        $result->value = null;\n\n        $translator = $this->getGraphQlService()->getTranslator();\n        $children = $this->getChildren();\n\n        if ($children) {\n            $valueResolver = $this->getGraphQlService()->buildValueResolverFromAttributes($children[0]);\n\n            $childResult = $valueResolver->getLabeledValue($element, $resolveInfo);\n            if ($childResult) {\n                if (is_array($childResult->value)) {\n                    $result->value = [];\n                    foreach ($childResult->value as $childValue) {\n                        $result->value[] = $translator->trans($this->prefix . $childValue, []);\n                    }\n                } else {\n                    $result->value = $translator->trans($this->prefix . $childResult->value, []);\n                }\n\n                return $result;\n            }\n        }\n\n        return null;\n    }\n\n    /**\n     * @return mixed\n     */\n    public function getPrefix()\n    {\n        return $this->prefix;\n    }\n\n    /**\n     * @param mixed $prefix\n     */\n    public function setPrefix($prefix)\n    {\n        $this->prefix = $prefix;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Query/Operator/Trimmer.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Model\\Element\\ElementInterface;\n\n/**\n * @internal\n */\nfinal class Trimmer extends AbstractOperator\n{\n    const LEFT = 1;\n\n    const RIGHT = 2;\n\n    const BOTH = 3;\n\n    private $trim;\n\n    /**\n     * @param array|null $context\n     */\n    public function __construct(array $config, $context = null)\n    {\n        parent::__construct($config, $context);\n\n        $this->trim = $config['trim'];\n    }\n\n    /**\n     * @param ElementInterface|null $element\n     *\n     * @return \\stdClass\n     *\n     * @throws \\Exception\n     */\n    public function getLabeledValue($element, ?ResolveInfo $resolveInfo = null)\n    {\n        $result = new \\stdClass();\n        $result->label = $this->label;\n        $children = $this->getChildren();\n\n        if (!$children) {\n            return $result;\n        }\n\n        $c = $children[0];\n\n        $valueResolver = $this->getGraphQlService()->buildValueResolverFromAttributes($c);\n\n        $childResult = $valueResolver->getLabeledValue($element, $resolveInfo);\n        if (!$childResult) {\n            return $result;\n        }\n\n        if ($childValue = $childResult->value) {\n            /** @var string $childValue */\n            switch ($this->trim) {\n                case self::LEFT:\n                    $childValue = ltrim($childValue);\n\n                    break;\n                case self::RIGHT:\n                    $childValue = rtrim($childValue);\n\n                    break;\n                case self::BOTH:\n                    $childValue = trim($childValue);\n\n                    break;\n            }\n        }\n        $result->value = $childValue;\n\n        return $result;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Query/QueryType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\Configuration;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\QueryTypeEvent;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\QueryEvents;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassTypeDefinitions;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\AssetListing;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\QueryType as QueryTypeResolver;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\TranslationListing;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\PermissionInfoTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Localization\\LocaleServiceInterface;\nuse Pimcore\\Logger;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\Factory;\nuse Symfony\\Component\\EventDispatcher\\EventDispatcherInterface;\n\n/**\n * @internal\n */\nfinal class QueryType extends ObjectType\n{\n    use ServiceTrait;\n    use PermissionInfoTrait;\n\n    /**\n     * @var EventDispatcherInterface\n     */\n    private $eventDispatcher;\n\n    /**\n     * @var LocaleServiceInterface\n     */\n    protected $localeService;\n\n    /**\n     * @var Factory\n     */\n    protected $modelFactory;\n\n    /**\n     * @param array $config\n     * @param array $context\n     *\n     * @throws \\Exception\n     */\n    public function __construct(Service $graphQlService, LocaleServiceInterface $localeService, Factory $modelFactory, EventDispatcherInterface $eventDispatcher, $config = [], $context = [])\n    {\n        if (!isset($config['name'])) {\n            $config['name'] = 'Query';\n        }\n        $this->setGraphQLService($graphQlService);\n        $this->localeService = $localeService;\n        $this->modelFactory = $modelFactory;\n        $this->eventDispatcher = $eventDispatcher;\n\n        $this->build($config, $context);\n        parent::__construct($config);\n    }\n\n    /**\n     * @param array $config\n     * @param array $context\n     */\n    public function buildFolderQueries($type, &$config = [], $context = [])\n    {\n        /** @var Configuration $configuration */\n        $configuration = $context['configuration'];\n        $entities = $configuration->getSpecialEntities();\n\n        if (isset($entities[$type . '_folder']['read']) && $entities[$type . '_folder']['read']) {\n            $resolver = $this->getResolver();\n\n            if ($type === 'asset') {\n                $graphQlType = $this->getGraphQlService()->getAssetTypeDefinition('_' . $type . '_folder');\n            } elseif ($type === 'document') {\n                $graphQlType = $this->getGraphQlService()->getDocumentTypeDefinition('_' . $type . '_folder');\n            } else {\n                $graphQlType = $this->getGraphQlService()->getDataObjectTypeDefinition('_' . $type . '_folder');\n            }\n\n            // GETTER DEFINITION\n            $defGet = [\n                'name' => 'get' . ucfirst($type) . 'Folder',\n                'args' => [\n                    'id' => ['type' => Type::int()],\n                    'fullpath' => ['type' => Type::string()],\n                    'defaultLanguage' => ['type' => Type::string()],\n                ],\n                'type' => $graphQlType,\n                'resolve' => [$resolver, 'resolve' . ucfirst($type) . 'FolderGetter'],\n            ];\n\n            $config['fields']['get' . ucfirst($type) . 'Folder'] = $defGet;\n        }\n    }\n\n    /**\n     * @param array $config\n     * @param array $context\n     */\n    public function buildAssetQueries(&$config = [], $context = [])\n    {\n        /** @var Configuration $configuration */\n        $configuration = $context['configuration'];\n        $entities = $configuration->getSpecialEntities();\n        $service = $this->getGraphQlService();\n        $assetType = $service->buildAssetType('asset');\n\n        if ($entities['asset']['read'] ?? false) {\n            $resolver = $this->getResolver();\n\n            // GETTER DEFINITION\n            $defGet = [\n                'name' => 'getAsset',\n                'args' => [\n                    'id' => ['type' => Type::int()],\n                    'fullpath' => ['type' => Type::string()],\n                    'defaultLanguage' => ['type' => Type::string()],\n                ],\n                'type' => $assetType,\n                'resolve' => [$resolver, 'resolveAssetGetter'],\n            ];\n\n            $config['fields']['getAsset'] = $defGet;\n        }\n    }\n\n    /**\n     * @param array $config\n     * @param array $context\n     */\n    public function buildDocumentQueries(&$config = [], $context = [])\n    {\n        /** @var Configuration $configuration */\n        $configuration = $context['configuration'];\n        $entities = $configuration->getSpecialEntities();\n\n        if (isset($entities['document']['read']) && $entities['document']['read']) {\n            $resolver = $this->getResolver();\n\n            // GETTER DEFINITION\n            $defGet = [\n                'name' => 'getDocument',\n                'args' => [\n                    'id' => ['type' => Type::int()],\n                    'path' => ['type' => Type::string(), 'description' => \"Get document by 'path' is deprecated as it is wrongly named. The 'path' argument will be replaced by 'fullpath' for Release 1.0.\"],\n                    'fullpath' => ['type' => Type::string()],\n                    'defaultLanguage' => ['type' => Type::string()],\n                ],\n                'type' => $this->getGraphQlService()->getDocumentTypeDefinition('document'),\n                'resolve' => [$resolver, 'resolveDocumentGetter'],\n            ];\n\n            $config['fields']['getDocument'] = $defGet;\n        }\n    }\n\n    /**\n     * @param ClassDefinition|null $class\n     * @param mixed $configuration\n     *\n     * @return QueryTypeResolver\n     */\n    protected function getResolver($class = null, $configuration = null)\n    {\n        $resolver = new QueryTypeResolver($this->eventDispatcher, $class, $configuration, $this->omitPermissionCheck);\n        $resolver->setGraphQlService($this->getGraphQlService());\n\n        return $resolver;\n    }\n\n    /**\n     * @param array $config\n     * @param array $context\n     *\n     * @throws \\Exception\n     */\n    public function buildDataObjectQueries(&$config = [], $context = []): void\n    {\n        /** @var Configuration $configuration */\n        $configuration = $context['configuration'];\n        $entities = $configuration->getQueryEntities();\n\n        foreach ($entities as $entity) {\n            $class = ClassDefinition::getByName($entity);\n            if (!$class) {\n                Logger::error('class ' . $entity . ' not found');\n\n                continue;\n            }\n\n            $resolver = $this->getResolver($class, $configuration);\n            $ucFirstClassName = ucfirst($class->getName());\n\n            // GETTER DEFINITION\n            $defGet = [\n                'name' => 'get' . $ucFirstClassName,\n                'args' => [\n                    'id' => ['type' => Type::int()],\n                    'fullpath' => ['type' => Type::string()],\n                    'defaultLanguage' => ['type' => Type::string()],\n                ],\n                'type' => ClassTypeDefinitions::get($class),\n                'resolve' => [$resolver, 'resolveObjectGetter'],\n            ];\n\n            // LISTING DEFINITION\n            $edgeType = new ObjectType(\n                [\n                    'name' => $ucFirstClassName . 'Edge',\n                    'fields' => [\n                        'cursor' => Type::string(),\n                        'node' => [\n                            'type' => ClassTypeDefinitions::get($class),\n                            'resolve' => [$resolver, 'resolveEdge'],\n                        ],\n                    ],\n                ]\n            );\n\n            $listingType = new ObjectType(\n                [\n                    'name' => $ucFirstClassName . 'Connection',\n                    'fields' => [\n\n                        'edges' => [\n                            'type' => Type::listOf($edgeType),\n                            'resolve' => [$resolver, 'resolveEdges'],\n                        ],\n                        'totalCount' => [\n                            'description' => 'The total count of all queryable objects for this schema listing',\n                            'resolve' => [$resolver, 'resolveListingTotalCount'],\n                            'type' => Type::int(),\n                        ],\n                    ],\n                ]\n            );\n\n            $defListing = [\n                'name' => 'get' . $ucFirstClassName . 'Listing',\n                'args' => [\n                    'ids' => ['type' => Type::string()],\n                    'fullpaths' => [\n                        'type' => Type::string(),\n                        'description' => 'Comma separated list of fullpath',\n                    ],\n                    'tags' => ['type' => Type::string(),  'description' => 'Comma separated list of tag names'],\n                    'defaultLanguage' => ['type' => Type::string()],\n                    'first' => ['type' => Type::int()],\n                    'after' => ['type' => Type::int()],\n                    'sortBy' => ['type' => Type::listOf(Type::string())],\n                    'sortOrder' => [\n                        'type' => Type::listOf(Type::string()),\n                        'description' => 'Sort by ASC or DESC, use the same position as the sortBy argument for each column to sort by',\n                    ],\n                    'filter' => ['type' => Type::string()],\n                    'published' => ['type' => Type::boolean()],\n                ],\n                'type' => $listingType,\n                'resolve' => [$resolver, 'resolveListing'],\n            ];\n\n            if (!isset($config['fields'])) {\n                $config['fields'] = [];\n            }\n\n            $config['fields']['get' . $ucFirstClassName . 'Listing'] = $defListing;\n            $config['fields']['get' . $ucFirstClassName] = $defGet;\n        }\n    }\n\n    /**\n     * @param array $config\n     * @param array $context\n     *\n     * @throws \\Exception\n     */\n    public function buildAssetListingQueries(&$config = [], $context = []): void\n    {\n        $configuration = $context['configuration'];\n        $entities = $configuration->getSpecialEntities();\n\n        if (!isset($entities['asset_listing']['read']) || !$entities['asset_listing']['read']) {\n            return;\n        }\n\n        $listResolver = new AssetListing($this->getGraphQlService(), $this->eventDispatcher);\n        $assetTree = $this->getGraphQlService()->buildGeneralType('asset_tree');\n\n        $edgeType = new ObjectType(\n            [\n                'name' => 'AssetEdge',\n                'fields' => [\n                    'cursor' => Type::string(),\n                    'node' => [\n                        'type' => $assetTree,\n                        'resolve' => [$listResolver, 'resolveEdge'],\n                    ],\n                ],\n            ]\n        );\n\n        $listingType = new ObjectType(\n            [\n                'name' => 'AssetConnection',\n                'fields' => [\n                    'edges' => [\n                        'type' => Type::listOf($edgeType),\n                        'resolve' => [$listResolver, 'resolveEdges'],\n                    ],\n                    'totalCount' => [\n                        'description' => 'The total count of all queryable assets for this schema listing',\n                        'resolve' => [$listResolver, 'resolveListingTotalCount'],\n                        'type' => Type::int(),\n                    ],\n                ],\n            ]\n        );\n\n        $defListing = [\n            'name' => 'getAssetListing',\n            'args' => [\n                'ids' => ['type' => Type::string()],\n                'fullpaths' => [\n                    'type' => Type::string(),\n                    'description' => 'Comma separated list of fullpath',\n                ],\n                'defaultLanguage' => ['type' => Type::string()],\n                'first' => ['type' => Type::int()],\n                'after' => ['type' => Type::int()],\n                'sortBy' => ['type' => Type::listOf(Type::string())],\n                'sortOrder' => [\n                    'type' => Type::listOf(Type::string()),\n                    'description' => 'Sort by ASC or DESC, use the same position as the sortBy argument for each column to sort by',\n                ],\n                'filter' => ['type' => Type::string()],\n                'published' => ['type' => Type::boolean()],\n            ],\n            'type' => $listingType,\n            'resolve' => [$listResolver, 'resolveListing'],\n        ];\n\n        $config['fields']['getAssetListing'] = $defListing;\n    }\n\n    public function buildTranslationQueries(array &$config = [], array $context = [])\n    {\n        /** @var Configuration $configuration */\n        $configuration = $context['configuration'];\n        $entities = $configuration->getSpecialEntities();\n        $service = $this->getGraphQlService();\n        $translationType = $service->buildTranslationType('translation');\n\n        if ($entities['translation']['read'] ?? false) {\n            $resolver = $this->getResolver();\n\n            // GETTER DEFINITION\n            $defGet = [\n                'name' => 'getTranslation',\n                'args' => [\n                    'key' => ['type' => Type::string()],\n                    'languages' => [\n                        'type' => Type::string(),\n                        'description' => 'e.g.: \"en,de,fr ...\"',\n                    ],\n                    'domain' => [\n                        'type' => Type::string(),\n                        'description' => 'default value: messages',\n                    ],\n                ],\n                'type' => $translationType,\n                'resolve' => [$resolver, 'resolveTranslationGetter'],\n            ];\n\n            $config['fields']['getTranslation'] = $defGet;\n        }\n    }\n\n    public function buildTranslationListingQueries(array &$config, array $context)\n    {\n        $configuration = $context['configuration'];\n        $entities = $configuration->getSpecialEntities();\n\n        if (!isset($entities['translation_listing']['read']) || !$entities['translation_listing']['read']) {\n            return;\n        }\n\n        $listResolver = new TranslationListing($this->getGraphQlService(), $this->eventDispatcher);\n        $translation = $this->getGraphQlService()->buildTranslationType('translation');\n\n        $edgeType = new ObjectType(\n            [\n                'name' => 'TranslationEdge',\n                'fields' => [\n                    'cursor' => Type::string(),\n                    'node' => [\n                        'type' => $translation,\n                        'resolve' => [$listResolver, 'resolveEdge'],\n                    ],\n                ],\n            ]\n        );\n\n        $listingType = new ObjectType(\n            [\n                'name' => 'TranslationConnection',\n                'fields' => [\n                    'edges' => [\n                        'type' => Type::listOf($edgeType),\n                        'resolve' => [$listResolver, 'resolveEdges'],\n                    ],\n                    'totalCount' => [\n                        'description' => 'The total count of all queryable translations for this schema listing',\n                        'resolve' => [$listResolver, 'resolveListingTotalCount'],\n                        'type' => Type::int(),\n                    ],\n                ],\n            ]\n        );\n\n        $defListing = [\n            'name' => 'getTranslationListing',\n            'args' => [\n                'keys' => [\n                    'type' => Type::string(),\n                    'description' => 'e.g.: \"key-1,key 2,key_3\"',\n                ],\n                'languages' => [\n                    'type' => Type::string(),\n                    'description' => 'e.g.: \"en,de,fr ...\"',\n                ],\n                'first' => ['type' => Type::int()],\n                'after' => ['type' => Type::int()],\n                'sortBy' => ['type' => Type::listOf(Type::string())],\n                'sortOrder' => [\n                    'type' => Type::listOf(Type::string()),\n                    'description' => 'Sort by ASC or DESC, use the same position as the sortBy argument for each column to sort by',\n                ],\n                'domain' => [\n                    'type' => Type::string(),\n                    'description' => 'default value: messages',\n                ],\n            ],\n            'type' => $listingType,\n            'resolve' => [$listResolver, 'resolveListing'],\n        ];\n\n        $config['fields']['getTranslationListing'] = $defListing;\n    }\n\n    /**\n     * @param array $config\n     * @param array $context\n     *\n     * @throws \\Exception\n     */\n    public function build(&$config = [], $context = [])\n    {\n        $event = new QueryTypeEvent(\n            $this,\n            $config,\n            $context\n        );\n        $this->eventDispatcher->dispatch($event, QueryEvents::PRE_BUILD);\n\n        $config = $event->getConfig();\n        $context = $event->getContext();\n\n        $this->buildAssetQueries($config, $context);\n        $this->buildTranslationQueries($config, $context);\n        $this->buildDocumentQueries($config, $context);\n        $this->buildDataObjectQueries($config, $context);\n        $this->buildAssetListingQueries($config, $context);\n        $this->buildTranslationListingQueries($config, $context);\n        $this->buildFolderQueries('asset', $config, $context);\n        $this->buildFolderQueries('document', $config, $context);\n        $this->buildFolderQueries('object', $config, $context);\n\n        $event->setConfig($config);\n        $event->setContext($context);\n        $this->eventDispatcher->dispatch($event, QueryEvents::POST_BUILD);\n        $config = $event->getConfig();\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Query/Value/AbstractValue.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Value;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\nabstract class AbstractValue implements ValueInterface\n{\n    use ServiceTrait;\n\n    /**\n     * @var string\n     */\n    protected $attribute;\n\n    /**\n     * @var string\n     */\n    protected $label;\n\n    /** @var string */\n    protected $dataType;\n\n    /**\n     * @var mixed\n     */\n    protected $context;\n\n    /**\n     * @param array $config\n     * @param array|null $context\n     */\n    public function __construct($config, $context = null)\n    {\n        $this->attribute = $config['attribute'];\n        $this->label = $config['label'];\n        $this->context = $context;\n        $this->dataType = $config['dataType'];\n    }\n\n    /**\n     * @return string\n     */\n    public function getLabel()\n    {\n        return $this->label;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Query/Value/DefaultValue.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Value;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Model\\DataObject\\Concrete;\nuse Pimcore\\Model\\Element\\ElementInterface;\n\n/**\n * @internal\n */\nfinal class DefaultValue extends AbstractValue\n{\n    /**\n     * @param ElementInterface|null $element\n     *\n     * @return \\stdClass|null\n     */\n    public function getLabeledValue($element, ?ResolveInfo $resolveInfo = null)\n    {\n        if ($element instanceof Concrete) {\n            $result = new \\stdClass();\n\n            if ($this->dataType == 'system') {\n                $getter = 'get' . ucfirst($this->attribute);\n                $result->value = $element->$getter();\n\n                return $result;\n            }\n\n            $class = $element->getClass();\n            $fieldHelper = $this->getGraphQlService()->getObjectFieldHelper();\n            $fieldDefinition = $fieldHelper->getFieldDefinitionFromKey($class, $this->attribute);\n\n            $valueParams = new ElementDescriptor($element);\n\n            $resolveFn = $this->getGraphQlService()->buildDataObjectDataQueryResolver($this->attribute, $fieldDefinition, $class);\n            $args = [];\n\n            $value = $resolveFn($valueParams, $args, $this->context, $resolveInfo);\n            if (!$value) {\n                return null;\n            }\n\n            $result->value = $this->getGraphQlService()->getElementFromArrayObject($value);\n\n            return $result;\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Query/Value/ValueInterface.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Value;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\ConfigElementInterface;\n\ninterface ValueInterface extends ConfigElementInterface\n{\n}\n"
  },
  {
    "path": "src/GraphQL/RelationHelper.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Model\\Element\\ElementInterface;\n\n/**\n * @internal\n */\nfinal class RelationHelper\n{\n    /**\n     * @param array $args\n     * @param array $context\n     *\n     * @return ElementDescriptor\n     */\n    public static function processRelation(ElementInterface $relation, Service $graphQlService, $args, $context, ResolveInfo $resolveInfo)\n    {\n        $data = new ElementDescriptor($relation);\n        $graphQlService->extractData($data, $relation, $args, $context, $resolveInfo);\n\n        return $data;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Resolver/AssetListing.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\Configuration;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\ListingEvents;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\ListingEvent;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Exception\\ClientSafeException;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Helper;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\WorkspaceHelper;\nuse Pimcore\\Db;\nuse Pimcore\\Model\\Asset;\nuse Pimcore\\Model\\Element\\ElementInterface;\nuse Symfony\\Component\\EventDispatcher\\EventDispatcherInterface;\n\n/**\n * @internal\n */\nfinal class AssetListing\n{\n    use ServiceTrait;\n\n    /** @var EventDispatcherInterface */\n    protected $eventDispatcher;\n\n    public function __construct(Service $graphQlService, EventDispatcherInterface $eventDispatcher)\n    {\n        $this->setGraphQLService($graphQlService);\n\n        $this->eventDispatcher = $eventDispatcher;\n    }\n\n    /**\n     * @param ElementDescriptor $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return mixed\n     */\n    public function resolveEdges($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        return $value['edges'];\n    }\n\n    /**\n     * @param ElementDescriptor $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return ElementDescriptor|null\n     */\n    public function resolveEdge($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $element = $value['node'];\n\n        if (null !== $element) {\n            return $this->extractSingleElement($element, $args, $context, $resolveInfo);\n        }\n\n        return null;\n    }\n\n    /**\n     * @param mixed $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return array\n     *\n     * @throws \\Exception\n     */\n    public function resolveListing($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        if ($args && isset($args['defaultLanguage'])) {\n            $this->getGraphQlService()->getLocaleService()->setLocale($args['defaultLanguage']);\n        }\n\n        $db = Db::get();\n        $modelFactory = $this->getGraphQlService()->getModelFactory();\n        $listClass = Asset\\Listing::class;\n\n        /** @var Asset\\Listing $objectList */\n        $objectList = $modelFactory->build($listClass);\n        $conditionParts = [];\n        if (isset($args['ids'])) {\n            $conditionParts[] = '(id IN (' . $args['ids'] . '))';\n        }\n\n        if (isset($args['fullpaths'])) {\n            $quotedFullpaths = array_map(\n                static function ($fullpath) use ($db) {\n                    $fullpath = trim($fullpath, \" '\");\n                    $fullpath = \\Pimcore\\Model\\Element\\Service::correctPath($fullpath);\n\n                    return $db->quote($fullpath);\n                },\n                str_getcsv($args['fullpaths'], ',', \"'\")\n            );\n            $conditionParts[] = '(concat(path, filename) IN (' . implode(',', $quotedFullpaths) . '))';\n        }\n\n        // paging\n        if (isset($args['first'])) {\n            $objectList->setLimit($args['first']);\n        }\n\n        if (isset($args['after'])) {\n            $objectList->setOffset($args['after']);\n        }\n\n        // sorting\n        if (!empty($args['sortBy'])) {\n            $objectList->setOrderKey($args['sortBy']);\n            if (!empty($args['sortOrder'])) {\n                $objectList->setOrder($args['sortOrder']);\n            }\n        }\n\n        /** @var Configuration $configuration */\n        $configuration = $context['configuration'];\n\n        // check permissions\n        $tableName = 'assets';\n\n        if (!$configuration->skipPermisssionCheck()) {\n            $workspacesTableName = 'plugin_datahub_workspaces_asset';\n            $conditionParts[] = ' (\n            (\n                SELECT `read` from ' . $db->quoteIdentifier($workspacesTableName) . '\n                WHERE ' . $db->quoteIdentifier($workspacesTableName) . '.configuration = ' . $db->quote($configuration->getName()) . '\n                AND LOCATE(CONCAT(' . $db->quoteIdentifier($tableName) . '.path,' . $db->quoteIdentifier($tableName) . '.filename),' . $db->quoteIdentifier($workspacesTableName) . '.cpath)=1\n                ORDER BY LENGTH(' . $db->quoteIdentifier($workspacesTableName) . '.cpath) DESC\n                LIMIT 1\n            )=1\n            OR\n            (\n                SELECT `read` from ' . $db->quoteIdentifier($workspacesTableName) . '\n                WHERE ' . $db->quoteIdentifier($workspacesTableName) . '.configuration = ' . $db->quote($configuration->getName()) . '\n                AND LOCATE(' . $db->quoteIdentifier($workspacesTableName) . '.cpath,CONCAT(' . $db->quoteIdentifier($tableName) . '.path,' . $db->quoteIdentifier($tableName) . '.filename))=1\n                ORDER BY LENGTH(' . $db->quoteIdentifier($workspacesTableName) . '.cpath) DESC\n                LIMIT 1\n            )=1\n            )';\n        }\n\n        if (isset($args['filter'])) {\n            $filter = \\json_decode($args['filter'], false);\n            if (!$filter) {\n                throw new ClientSafeException('unable to decode filter');\n            }\n            $filterCondition = Helper::buildSqlCondition($tableName, $filter);\n            $conditionParts[] = $filterCondition;\n        }\n\n        $condition = implode(' AND ', $conditionParts);\n        $objectList->setCondition($condition);\n\n        $event = new ListingEvent(\n            $objectList,\n            $args,\n            $context,\n            $resolveInfo\n        );\n        $this->eventDispatcher->dispatch($event, ListingEvents::PRE_LOAD);\n        /** @var Asset\\Listing $objectList */\n        $objectList = $event->getListing();\n\n        $totalCount = $objectList->getTotalCount();\n        $objectList = $objectList->load();\n\n        $nodes = [];\n\n        foreach ($objectList as $element) {\n            if (!WorkspaceHelper::checkPermission($element, 'read')) {\n                continue;\n            }\n\n            $nodes[] = [\n                'cursor' => 'asset-' . $element->getId(),\n                'node' => $element,\n            ];\n        }\n        $connection = [];\n        $connection['edges'] = $nodes;\n        $connection['totalCount'] = $totalCount;\n\n        return $connection;\n    }\n\n    /**\n     * @param ElementDescriptor $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return mixed\n     */\n    public function resolveListingTotalCount($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        return $value['totalCount'];\n    }\n\n    /**\n     * @param array $elements\n     * @param array $args\n     * @param array $context\n     * @param ResolveInfo|null $resolveInfo\n     *\n     * @return array\n     *\n     * @throws \\Exception\n     */\n    protected function extractMultipleElements($elements, $args, $context, $resolveInfo)\n    {\n        $result = [];\n        if ($elements) {\n            foreach ($elements as $element) {\n                $result[] = $this->extractSingleElement($element, $args, $context, $resolveInfo);\n            }\n        }\n\n        return array_filter($result);\n    }\n\n    /**\n     * @param ElementInterface $element\n     * @param array $args\n     * @param array $context\n     * @param ResolveInfo|null $resolveInfo\n     *\n     * @return ElementDescriptor|null\n     *\n     * @throws \\Exception\n     */\n    protected function extractSingleElement($element, $args, $context, $resolveInfo)\n    {\n        // Check Workspace permissions\n        if (!WorkspaceHelper::checkPermission($element, 'read')) {\n            return null;\n        }\n\n        $data = new ElementDescriptor($element);\n        $data['id'] = $element->getId();\n\n        // Check element type\n        $treeType = $this->getGraphQlService()->buildGeneralType('asset_tree');\n        $elementType = $treeType->resolveType($data, $context, $resolveInfo);\n        if (in_array($elementType, $treeType->getTypes(), true)) {\n            $this->getGraphQLService()->getAssetFieldHelper()->extractData($data, $element, $args, $context, $resolveInfo);\n\n            return $data;\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Resolver/AssetType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver;\n\nuse Exception;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\AssetMetadataEvents;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ElementTagTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\WorkspaceHelper;\nuse Pimcore\\Event\\Model\\AssetEvent;\nuse Pimcore\\Model\\Asset;\nuse Symfony\\Component\\EventDispatcher\\EventDispatcher;\n\n/**\n * @internal\n */\nfinal class AssetType\n{\n    use ServiceTrait, ElementTagTrait;\n\n    /**\n     * @param ElementDescriptor|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return array|null\n     *\n     * @throws Exception\n     */\n    public function resolveTag($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $asset = $this->getAssetFromValue($value, $context);\n\n        if ($asset) {\n            $result = $this->getTags('asset', $asset->getId());\n            if ($result) {\n                return $result;\n            }\n        }\n\n        return null;\n    }\n\n    /**\n     * @param ElementDescriptor|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return array|null\n     *\n     * @throws Exception\n     */\n    public function resolveMetadata($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $asset = $this->getAssetFromValue($value, $context);\n        $metadata = $asset?->getMetadata(raw: true);\n        if (!$metadata) {\n            return null;\n        }\n\n        //Relational data would return as a comma separated list. each element type and id by `_`, eg. \"object_154,asset_489\"\n        $event = new AssetEvent($asset, [\n            'metadata' => $metadata,\n            'context' => $context,\n        ]);\n        /** @var EventDispatcher $eventDispatcher */\n        $eventDispatcher = \\Pimcore::getContainer()->get('event_dispatcher');\n        $eventDispatcher->dispatch($event, AssetMetadataEvents::PRE_RESOLVE);\n        $metadata = $event->getArgument('metadata');\n\n        if (isset($args['ignore_language']) && $args['ignore_language']) {\n            return $metadata;\n        }\n\n        $map = [];\n        $keys = [];\n        $language = $args['language'] ?? $this->getGraphQlService()->getLocaleService()->findLocale();\n\n        foreach ($metadata as $item) {\n            $keys[$item['name']] = 1;\n            $l = $item['language'] ?: 'default';\n            if ($item['type'] === 'date') {\n                $item['data'] = $this->getGraphQlService()->getFormattedDateTimeStringFromTimestamp(\n                    $item['data']\n                );\n            }\n            $map[$l][$item['name']] = $item;\n\n        }\n        $result = [];\n\n        foreach ($keys as $key => $found) {\n            if (isset($map[$language][$key])) {\n                $result[] = $map[$language][$key];\n            } elseif (isset($map['default'][$key])) {\n                $result[] = $map['default'][$key];\n            }\n        }\n\n        if ($result) {\n            return $result;\n        }\n\n        return null;\n    }\n\n    /**\n     * @param ElementDescriptor|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return array|null\n     *\n     * @throws Exception\n     */\n    public function resolveEmbeddedMetaInfo($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $asset = $this->getAssetFromValue($value, $context);\n        if (!$asset) {\n            return null;\n        }\n        $result = [];\n        foreach ($asset->getCustomSetting('embeddedMetaData') ?? [] as $key => $value) {\n            $result[] = ['name' => $key, 'value' => $value];\n        }\n\n        return $result;\n    }\n\n    /**\n     * @param ElementDescriptor|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return string|null\n     *\n     * @throws Exception\n     */\n    public function resolvePath($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $asset = $this->getAssetFromValue($value, $context);\n        if (!$asset) {\n            return null;\n        }\n\n        $thumbNailConfig = $args['thumbnail'] ?? null;\n        $thumbNailFormat = $args['format'] ?? null;\n        $deferred = $args['deferred'] ?? false;\n        $assetFieldHelper = $this->getGraphQLService()->getAssetFieldHelper();\n\n        if (!isset($thumbNailConfig)) {\n            return $asset->getFullPath();\n        }\n\n        return $assetFieldHelper->getAssetThumbnail($asset, $thumbNailConfig, $thumbNailFormat, $deferred);\n    }\n\n    /**\n     * @param ElementDescriptor|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return string|null\n     *\n     * @throws Exception\n     */\n    public function resolveData($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $asset = $this->getAssetFromValue($value, $context);\n        if (!$asset) {\n            return null;\n        }\n        $thumbNailConfig = $args['thumbnail'] ?? null;\n        $thumbNailFormat = $args['format'] ?? null;\n        $deferred = $args['deferred'] ?? false;\n        $assetFieldHelper = $this->getGraphQLService()->getAssetFieldHelper();\n\n        if (!isset($thumbNailConfig)) {\n            return base64_encode(stream_get_contents($asset->getStream()));\n        }\n        $thumb = $assetFieldHelper->getAssetThumbnail($asset, $thumbNailConfig, $thumbNailFormat, $deferred);\n\n        return $thumb ? base64_encode(stream_get_contents($thumb->getStream())) : base64_encode(stream_get_contents($asset->getStream()));\n    }\n\n    /**\n     * @param ElementDescriptor|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return array|null\n     *\n     * @throws Exception\n     */\n    public function resolveSrcSet($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $asset = $this->getAssetFromValue($value, $context);\n\n        if ($asset instanceof Asset\\Image) {\n            $thumbNailConfig = $args['thumbnail'] ?? null;\n            $thumbNailFormat = $args['format'] ?? null;\n            $deferred = $args['deferred'] ?? null;\n            $assetFieldHelper = $this->getGraphQLService()->getAssetFieldHelper();\n\n            $mediaQueries = [];\n            $thumbnail = $assetFieldHelper->getAssetThumbnail($asset, $thumbNailConfig, $thumbNailFormat, $deferred);\n            $thumbnailConfig = $asset->getThumbnail($args['thumbnail'], $deferred)->getConfig();\n            if ($thumbnailConfig) {\n                foreach ($thumbnailConfig->getMedias() as $key => $val) {\n                    $mediaQueries[] = [\n                        'descriptor' => $key,\n                        'url' => $thumbnail->getMedia($key),\n                    ];\n                }\n            }\n\n            return $mediaQueries;\n        }\n\n        return null;\n    }\n\n    /**\n     * @param ElementDescriptor|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return array|null\n     *\n     * @throws Exception\n     */\n    public function resolveResolutions($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $types = $args['types'];\n        $thumbnail = $value['url'] ?? null;\n\n        if ($thumbnail instanceof Asset\\Image\\Thumbnail) {\n            $resolutions = [];\n            $thumbnailName = $thumbnail->getConfig()->getName();\n            /** @var Asset\\Image $asset */\n            $asset = $thumbnail->getAsset();\n            if (!WorkspaceHelper::checkPermission($asset, 'read')) {\n                return null;\n            }\n\n            $thumbnail = $asset->getThumbnail($thumbnailName, false);\n            if ($thumbnail->getConfig()->hasMedias()) {\n                foreach ($types as $type) {\n                    $key = $value['descriptor'];\n                    $resolutions[] = [\n                        'url' => $thumbnail->getMedia($key, $type),\n                        'resolution' => $type,\n                    ];\n                }\n            }\n\n            return $resolutions;\n        }\n\n        if ($value instanceof ElementDescriptor) {\n            $resolutions = [];\n            $thumbnailName = $args['thumbnail'];\n            $thumbnailFormat = $args['format'] ?? null;\n            $assetFieldHelper = $this->getGraphQLService()->getAssetFieldHelper();\n\n            /** @var Asset\\Image|null $asset */\n            $asset = $this->getAssetFromValue($value, $context);\n            if (!$asset) {\n                return null;\n            }\n\n            $thumbnail = $assetFieldHelper->getAssetThumbnail($asset, $thumbnailName, $thumbnailFormat);\n            if (isset($thumbnail)) {\n                $thumbnailConfig = $thumbnail->getConfig();\n                foreach ($types as $type) {\n                    $thumbConfigRes = clone $thumbnailConfig;\n                    $thumbConfigRes->setHighResolution($type);\n                    $thumbConfigRes->setMedias([]);\n                    $resolutions[] = [\n                        'url' => $assetFieldHelper->getAssetThumbnail($asset, $thumbConfigRes, $thumbnailFormat),\n                        'resolution' => $type,\n                    ];\n                }\n            }\n\n            return $resolutions;\n        }\n\n        return [];\n    }\n\n    /**\n     * @param ElementDescriptor|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return array|null\n     *\n     * @throws \\Exception\n     */\n    public function resolveDimensions($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        if ($value instanceof ElementDescriptor) {\n            $thumbnailName = $args['thumbnail'] ?? null;\n            $asset = $this->getAssetFromValue($value, $context);\n            if (!$asset) {\n                return null;\n            }\n\n            if ($asset instanceof Asset\\Video) {\n                $width = $asset->getCustomSetting('videoWidth');\n                $height = $asset->getCustomSetting('videoHeight');\n\n                if ($thumbnailName) {\n                    $thumbnail = $asset->getImageThumbnail($thumbnailName);\n                    $width = $thumbnail->getWidth();\n                    $height = $thumbnail->getHeight();\n                }\n\n                return [\n                    'width' => $width,\n                    'height' => $height,\n                ];\n            }\n\n            if (!$asset instanceof Asset\\Image) {\n                return null;\n            }\n\n            if (!$thumbnailName) {\n                return [\n                    'width' => $asset->getWidth(),\n                    'height' => $asset->getHeight(),\n                ];\n            }\n\n            $thumbnail = $asset->getThumbnail($thumbnailName, false);\n\n            $width = $thumbnail->getWidth();\n            $height = $thumbnail->getHeight();\n\n            return [\n                'width' => $width,\n                'height' => $height,\n            ];\n        }\n\n        return [];\n    }\n\n    /**\n     *\n     * @throws Exception\n     */\n    public function resolveDuration(ElementDescriptor | null $value = null, array $context = []): ?float\n    {\n        if (!$value instanceof ElementDescriptor) {\n            return null;\n        }\n\n        $asset = $this->getAssetFromValue($value, $context);\n\n        if (!$asset instanceof Asset\\Video) {\n            return null;\n        }\n\n        return $asset->getDuration();\n    }\n\n    /**\n     * @throws Exception\n     */\n    public function resolveVersion($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $asset = $this->getAssetFromValue($value, $context);\n        if ($asset) {\n            foreach (array_reverse($asset->getVersions()) as $version) {\n                if ($asset->getModificationDate() === $version->getDate()) {\n                    return $version->getId();\n                }\n            }\n        }\n\n        return null;\n    }\n\n    /**\n     * @throws Exception\n     */\n    public function resolveModificationDate(\n        ElementDescriptor $value\n    ): ?string {\n        $asset = $this->getAssetFromValue($value, []);\n        if (!$asset) {\n            return null;\n        }\n\n        return $this->getGraphQlService()->getFormattedDateTimeStringFromTimestamp(\n            $asset->getModificationDate()\n        );\n    }\n\n    /**\n     * @throws Exception\n     */\n    public function resolveCreationDate(\n        ElementDescriptor $value\n    ): ?string {\n        $asset = $this->getAssetFromValue($value, []);\n        if (!$asset) {\n            return null;\n        }\n\n        return $this->getGraphQlService()->getFormattedDateTimeStringFromTimestamp(\n            $asset->getCreationDate()\n        );\n    }\n\n    /**\n     * @param ElementDescriptor $value\n     * @param array $context\n     *\n     * @return Asset|null\n     *\n     * @throws \\Exception\n     */\n    protected function getAssetFromValue($value, $context)\n    {\n        if (!$value instanceof ElementDescriptor) {\n            return null;\n        }\n\n        $asset = Asset::getById($value['id']);\n\n        if (!WorkspaceHelper::checkPermission($asset, 'read')) {\n            return null;\n        }\n\n        return $asset;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Resolver/Base.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\DataObject\\AbstractObject;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\n\nclass Base\n{\n    use ServiceTrait;\n\n    /** @var string */\n    protected $typeName;\n\n    /** @var array */\n    protected $attributes;\n\n    /** @var ClassDefinition */\n    protected $class;\n\n    /** @var object */\n    protected $container;\n\n    /**\n     * @param string $typeName\n     * @param array $attributes\n     * @param ClassDefinition $class\n     * @param object $container\n     */\n    public function __construct($typeName, $attributes, $class, $container)\n    {\n        $this->typeName = $typeName;\n        $this->attributes = $attributes;\n        $this->class = $class;\n        $this->container = $container;\n    }\n\n    /**\n     * @param array $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return \\stdClass\n     */\n    public function resolve($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        /** @var \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator\\AbstractOperator $operatorImpl */\n        $operatorImpl = $this->getGraphQlService()->buildQueryOperator($this->typeName, $this->attributes);\n\n        $element = AbstractObject::getById($value['id']);\n        $valueFromOperator = $operatorImpl->getLabeledValue($element, $resolveInfo);\n\n        $value = $valueFromOperator->value ?? null;\n\n        return $value;\n    }\n\n    /**\n     * Helper method that allows dynamic inspection into the resolver attributes.\n     *\n     *\n     */\n    public function getResolverAttribute(string $type): ?string\n    {\n        if (isset($this->attributes['children'][0]) && !empty($this->attributes['children'][0])) {\n            return $this->attributes['children'][0]['attributes'][$type];\n        } else {\n            return null;\n        }\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Resolver/DataObject.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ElementTagTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\DataObject\\AbstractObject;\n\n/**\n * @internal\n */\nfinal class DataObject extends Element\n{\n    use ServiceTrait, ElementTagTrait;\n\n    public function __construct(Service $graphQlService)\n    {\n        parent::__construct('object', $graphQlService);\n    }\n\n    /**\n     * @param array $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return array|null\n     *\n     * @throws \\Exception\n     */\n    public function resolveTag($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $object = \\Pimcore\\Model\\DataObject::getById($value['id']);\n\n        if ($object) {\n            $result = $this->getTags('object', $object->getId());\n            if ($result) {\n                return $result;\n            }\n        }\n\n        return null;\n    }\n\n    /**\n     * @param array|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return int|null\n     */\n    public function resolveIndex($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        if (null === $value) {\n            return null;\n        }\n\n        $object = \\Pimcore\\Model\\DataObject::getById($value['id']);\n\n        if (!$object instanceof AbstractObject) {\n            return null;\n        }\n\n        return $object->getIndex();\n    }\n\n    /**\n     * @param array|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return string|null\n     */\n    public function resolveChildrenSortBy($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        if (null === $value) {\n            return null;\n        }\n\n        $object = \\Pimcore\\Model\\DataObject::getById($value['id']);\n\n        if (!$object instanceof \\Pimcore\\Model\\DataObject) {\n            return null;\n        }\n\n        return $object->getChildrenSortBy();\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Resolver/Document.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\Document\\Service as DocumentService;\n\n/**\n * @internal\n */\nfinal class Document extends Element\n{\n    use ServiceTrait;\n\n    /**\n     * @var DocumentService\n     */\n    protected $documentService;\n\n    public function __construct(DocumentService $documentService, Service $graphQlService)\n    {\n        parent::__construct('document', $graphQlService);\n\n        $this->documentService = $documentService;\n        $this->setGraphQLService($graphQlService);\n    }\n\n    /**\n     * @param array $value\n     * @param array $args\n     * @param array $context\n     *\n     * @throws \\Exception\n     */\n    public function resolveTranslations($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null): array\n    {\n        $languageRequested = $args['defaultLanguage'] ?? null;\n\n        $document = \\Pimcore\\Model\\Document::getById($value['id']);\n        $result = [];\n\n        if ($document) {\n            $documentId = $document->getId();\n            foreach ($this->documentService->getTranslations($document) as $transLanguage => $transId) {\n                if ($transId === $documentId || ($languageRequested && $languageRequested !== $transLanguage)) {\n                    continue;\n                }\n\n                $result[] = [\n                    'id' => $transId,\n                    'language' => $transLanguage,\n                    'target' => $this->resolveTranslationTarget($value, $args, $context, $resolveInfo),\n                ];\n            }\n        }\n\n        return $result;\n    }\n\n    /**\n     * @param array $value\n     * @param array $args\n     * @param array $context\n     *\n     * @throws \\Exception\n     */\n    public function resolveTranslationTarget($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null): ?ElementDescriptor\n    {\n        $document = \\Pimcore\\Model\\Document::getById($value['id']);\n        if ($document instanceof \\Pimcore\\Model\\Document) {\n            return $this->extractSingleElement($document, $args, $context, $resolveInfo);\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Resolver/Element.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse GraphQL\\Type\\Definition\\UnionType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Exception\\ClientSafeException;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\FieldHelper\\AbstractFieldHelper;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ElementTagTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\WorkspaceHelper;\nuse Pimcore\\Model\\Asset;\nuse Pimcore\\Model\\DataObject;\nuse Pimcore\\Model\\DataObject\\AbstractObject;\nuse Pimcore\\Model\\Document;\nuse Pimcore\\Model\\Element\\ElementInterface;\nuse Pimcore\\Model\\Element\\Service as ElementService;\nuse Pimcore\\Model\\Property;\n\n/**\n * @internal\n */\nclass Element\n{\n    use ServiceTrait, ElementTagTrait;\n\n    /** @var string */\n    protected $elementType;\n\n    public function __construct(string $elementType, Service $graphQlService)\n    {\n        $this->elementType = $elementType;\n        $this->setGraphQLService($graphQlService);\n    }\n\n    /**\n     * @param array $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return array|null\n     *\n     * @throws \\Exception\n     */\n    public function resolveTag($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $element = ElementService::getElementById($this->elementType, $value['id']);\n\n        if ($element) {\n            $result = $this->getTags('document', $element->getId());\n            if ($result) {\n                return $result;\n            }\n        }\n\n        return null;\n    }\n\n    /**\n     * @param array            $value\n     *\n     * @return array|Property[]|null\n     *\n     * @throws ClientSafeException\n     */\n    public function resolveProperties($value = null, array $args = [], array $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $elementId = $value['id'];\n        $element = ElementService::getElementById($this->elementType, $elementId);\n\n        if (!$element) {\n            throw new ClientSafeException('element ' . $this->elementType . ' ' . $elementId . ' not found');\n        }\n\n        if (isset($args['keys'])) {\n            $result = [];\n            $properties = $element->getProperties();\n            /** @var Property $property */\n            foreach ($properties as $property) {\n                if (in_array($property->getName(), $args['keys'])) {\n                    $result[] = $property;\n                }\n            }\n        } else {\n            $result = $element->getProperties();\n        }\n\n        return $result;\n    }\n\n    /**\n     * @param array $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return ElementDescriptor|null\n     *\n     * @throws \\Exception\n     */\n    public function resolveParent($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $element = ElementService::getElementById($this->elementType, $value['id']);\n        if ($element) {\n            $parent = $element->getParent();\n            if ($parent) {\n                return $this->extractSingleElement($parent, $args, $context, $resolveInfo);\n            }\n        }\n\n        return null;\n    }\n\n    /**\n     * @param array $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return array\n     *\n     * @throws \\Exception\n     */\n    public function resolveChildren($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $element = ElementService::getElementById($this->elementType, $value['id']);\n        if ($element) {\n            $arguments = $this->composeArguments($args);\n\n            return $this->extractMultipleElements($element->getChildren(...$arguments), $args, $context, $resolveInfo);\n        }\n\n        return [];\n    }\n\n    /**\n     * @param array $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return array\n     *\n     * @throws \\Exception\n     */\n    public function resolveSiblings($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $element = ElementService::getElementById($this->elementType, $value['id']);\n        if ($element) {\n            $arguments = $this->composeArguments($args);\n\n            return $this->extractMultipleElements($element->getSiblings(...$arguments), $args, $context, $resolveInfo);\n        }\n\n        return [];\n    }\n\n    public function resolveModificationDate(\n        array $value\n    ): ?string {\n        $id = $value['id'] ?? null;\n        if (!$id) {\n            return null;\n        }\n        $element = ElementService::getElementById($this->elementType, $id);\n        if (!$element) {\n            return null;\n        }\n\n        return $this->getGraphQlService()->getFormattedDateTimeStringFromTimestamp(\n            $element->getModificationDate()\n        );\n    }\n\n    public function resolveCreationDate(\n        array $value\n    ): ?string {\n        $id = $value['id'] ?? null;\n        if (!$id) {\n            return null;\n        }\n        $element = ElementService::getElementById($this->elementType, $id);\n        if (!$element) {\n            return null;\n        }\n\n        return $this->getGraphQlService()->getFormattedDateTimeStringFromTimestamp(\n            $element->getCreationDate()\n        );\n    }\n\n    /**\n     * @param array $args\n     *\n     * @return array\n     */\n    protected function composeArguments($args = [])\n    {\n        $arguments = [];\n        if ($this->elementType === 'object') {\n            $arguments[] = isset($args['objectTypes']) ? $args['objectTypes'] : [AbstractObject::OBJECT_TYPE_OBJECT, AbstractObject::OBJECT_TYPE_FOLDER];\n        }\n\n        return $arguments;\n    }\n\n    /**\n     * @param Asset\\Listing|DataObject\\Listing|Document\\Listing|array $elements\n     * @param array $args\n     * @param array $context\n     * @param ResolveInfo|null $resolveInfo\n     *\n     * @return array\n     *\n     * @throws \\Exception\n     */\n    protected function extractMultipleElements($elements, $args, $context, $resolveInfo)\n    {\n        $result = [];\n        if ($elements) {\n            foreach ($elements as $element) {\n                $result[] = $this->extractSingleElement($element, $args, $context, $resolveInfo);\n            }\n        }\n\n        return array_filter($result);\n    }\n\n    /**\n     * @param ElementInterface $element\n     * @param array $args\n     * @param array $context\n     * @param ResolveInfo|null $resolveInfo\n     *\n     * @return ElementDescriptor|null\n     *\n     * @throws \\Exception\n     */\n    protected function extractSingleElement($element, $args, $context, $resolveInfo)\n    {\n        // Check Workspace permissions\n        if (!WorkspaceHelper::checkPermission($element, 'read')) {\n            return null;\n        }\n\n        $data = new ElementDescriptor($element);\n        $data['id'] = $element->getId();\n\n        // Check element type\n        $treeType = $this->getTreeType();\n        $elementType = $treeType->resolveType($data, $context, $resolveInfo);\n        if (in_array($elementType, $treeType->getTypes(), true)) {\n            $this->getFieldHelper()->extractData($data, $element, $args, $context, $resolveInfo);\n\n            return $data;\n        }\n\n        return null;\n    }\n\n    /**\n     * @return UnionType|null\n     */\n    protected function getTreeType()\n    {\n        switch ($this->elementType) {\n            case 'asset':\n                return $this->getGraphQlService()->buildGeneralType('asset_tree');\n            case 'document':\n                return $this->getGraphQlService()->buildGeneralType('document_tree');\n            case 'object':\n                return $this->getGraphQlService()->buildGeneralType('object_tree');\n            default:\n                trigger_error('unknown element type');\n        }\n\n        return null;\n    }\n\n    /**\n     * @return AbstractFieldHelper|null\n     */\n    protected function getFieldHelper()\n    {\n        switch ($this->elementType) {\n            case 'asset':\n                return $this->getGraphQLService()->getAssetFieldHelper();\n            case 'document':\n                return $this->getGraphQLService()->getDocumentFieldHelper();\n            case 'object':\n                return $this->getGraphQLService()->getObjectFieldHelper();\n            default:\n                trigger_error('unknown element type');\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Resolver/Geobounds.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\DataObject\\Data\\GeoCoordinates;\n\n/**\n * @internal\n */\nfinal class Geobounds\n{\n    use ServiceTrait;\n\n    /**\n     * @param mixed $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return GeoCoordinates|null\n     *\n     * @throws \\Exception\n     */\n    public function resolveNorthEast($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        if ($value instanceof \\Pimcore\\Model\\DataObject\\Data\\Geobounds) {\n            return $value->getNorthEast();\n        }\n\n        return null;\n    }\n\n    /**\n     * @param mixed $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return GeoCoordinates|null\n     *\n     * @throws \\Exception\n     */\n    public function resolveSouthWest($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        if ($value instanceof \\Pimcore\\Model\\DataObject\\Data\\Geobounds) {\n            return $value->getSouthWest();\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Resolver/Geopoint.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\DataObject\\Data\\GeoCoordinates;\n\n/**\n * @internal\n */\nfinal class Geopoint\n{\n    use ServiceTrait;\n\n    /**\n     * @param mixed $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return float|null\n     *\n     * @throws \\Exception\n     */\n    public function resolveLongitude($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        if ($value instanceof GeoCoordinates) {\n            return $value->getLongitude();\n        }\n\n        return null;\n    }\n\n    /**\n     * @param mixed $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return float|null\n     *\n     * @throws \\Exception\n     */\n    public function resolveLatitude($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        if ($value instanceof GeoCoordinates) {\n            return $value->getLatitude();\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Resolver/HotspotType.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\WorkspaceHelper;\nuse Pimcore\\Model\\Asset;\nuse Pimcore\\Model\\Element\\Data\\MarkerHotspotItem;\n\n/**\n * Class HotspotType\n *\n * @package Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\n */\n/**\n * @internal\n */\nfinal class HotspotType\n{\n    use ServiceTrait;\n\n    /**\n     * @param ElementDescriptor|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return ElementDescriptor|null\n     *\n     * @throws \\Exception\n     */\n    public function resolveImage($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        if ($value instanceof ElementDescriptor) {\n            $image = Asset::getById($value['id']);\n            if (!WorkspaceHelper::checkPermission($image, 'read')) {\n                return null;\n            }\n\n            $data = new ElementDescriptor($image);\n            $this->getGraphQlService()->extractData($data, $image, $args, $context, $resolveInfo);\n            $data['data'] = isset($data['data']) ? base64_encode($data['data']) : null;\n\n            return $data;\n        }\n\n        return null;\n    }\n\n    /**\n     * @param ElementDescriptor|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return array\n     */\n    public function resolveCrop($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        return !empty($value['crop']) ? $value['crop'] : null;\n    }\n\n    /**\n     * @param ElementDescriptor|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return array\n     */\n    public function resolveHotspots($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        return !empty($value['hotspots']) ? $value['hotspots'] : null;\n    }\n\n    /**\n     * @param ElementDescriptor|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return array\n     */\n    public function resolveMarker($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        return !empty($value['marker']) ? $value['marker'] : null;\n    }\n\n    /**\n     * @param array $value\n     * @param array $args\n     * @param array $context\n     */\n    public function resolveMetadata($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        /** @var array $metadata */\n        $metadata = is_array($value) ? $value['data'] : [];\n        if (isset($args['keys'])) {\n            /** @var MarkerHotspotItem $item */\n            foreach ($metadata as $idx => $item) {\n                $name = $item->getName();\n                if (!in_array($name, $args['keys'])) {\n                    unset($metadata[$idx]);\n                }\n            }\n        }\n\n        return $metadata;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Resolver/Link.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\n/**\n * @internal\n */\nfinal class Link\n{\n    use ServiceTrait;\n\n    /**\n     * @param mixed $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return mixed\n     *\n     * @throws \\Exception\n     */\n    public function resolveText($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        return $this->resolveLinkValue($value, 'text');\n    }\n\n    /**\n     * @param mixed $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return mixed\n     *\n     * @throws \\Exception\n     */\n    public function resolvePath($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        return $this->resolveLinkValue($value, 'path');\n    }\n\n    /**\n     *\n     * @return mixed\n     */\n    public function resolveTarget($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        return $this->resolveLinkValue($value, 'target');\n    }\n\n    /**\n     *\n     * @return null\n     */\n    public function resolveAnchor($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        return $this->resolveLinkValue($value, 'anchor');\n    }\n\n    /**\n     *\n     * @return null\n     */\n    public function resolveTitle($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        return $this->resolveLinkValue($value, 'title');\n    }\n\n    /**\n     *\n     * @return null\n     */\n    public function resolveAccesskey($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        return $this->resolveLinkValue($value, 'accesskey');\n    }\n\n    /**\n     *\n     * @return null\n     */\n    public function resolveRel($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        return $this->resolveLinkValue($value, 'rel');\n    }\n\n    /**\n     *\n     * @return null\n     */\n    public function resolveClass($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        return $this->resolveLinkValue($value, 'class');\n    }\n\n    /**\n     *\n     * @return null\n     */\n    public function resolveAttributes($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        return $this->resolveLinkValue($value, 'attributes');\n    }\n\n    /**\n     *\n     * @return null\n     */\n    public function resolveTabindex($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        return $this->resolveLinkValue($value, 'tabindex');\n    }\n\n    /**\n     *\n     * @return null\n     */\n    public function resolveParameters($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        return $this->resolveLinkValue($value, 'parameters');\n    }\n\n    /**\n     *\n     * @return mixed\n     */\n    protected function resolveLinkValue(?\\Pimcore\\Model\\DataObject\\Data\\Link $value, string $property)\n    {\n        if ($value instanceof \\Pimcore\\Model\\DataObject\\Data\\Link) {\n            $getter = 'get' . ucfirst($property);\n\n            return $value->{$getter}();\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Resolver/MultihrefMetadata.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\FieldHelper\\DataObjectFieldHelper;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\Asset;\nuse Pimcore\\Model\\DataObject\\AbstractObject;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\Data\\ElementMetadata;\nuse Pimcore\\Model\\Document;\n\n/**\n * @internal\n */\nfinal class MultihrefMetadata\n{\n    use ServiceTrait;\n\n    protected $fieldDefinition;\n\n    protected $class;\n\n    /** @var DataObjectFieldHelper */\n    protected $fieldHelper;\n\n    /**\n     * @param ClassDefinition\\Data $fieldDefinition\n     * @param ClassDefinition $class\n     * @param mixed $fieldHelper\n     */\n    public function __construct($fieldDefinition = null, $class = null, $fieldHelper = null)\n    {\n        $this->fieldDefinition = $fieldDefinition;\n        $this->class = $class;\n        $this->fieldHelper = $fieldHelper;\n    }\n\n    /**\n     * @param array|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return array|null\n     *\n     * @throws \\Exception\n     */\n    public function resolveElement($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $element = null;\n\n        if (!$value['element']) {\n            return null;\n        }\n\n        $destId = $value['element']['__destId'];\n\n        if ($value['element']['__elementType'] == 'object') {\n            $element = AbstractObject::getById($destId);\n        } elseif ($value['element']['__elementType'] == 'asset') {\n            $element = Asset::getById($destId);\n        } elseif ($value['element']['__elementType'] == 'document') {\n            $element = Document::getById($destId);\n        }\n\n        if (!$element) {\n            return null;\n        }\n\n        $data = $value['element'];\n        $this->fieldHelper->extractData($data, $element, $args, $context, $resolveInfo);\n\n        return $data;\n    }\n\n    /**\n     * @param array|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return array|null\n     *\n     * @throws \\Exception\n     */\n    public function resolveMetadata($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        if ($value && $value['element']) {\n\n            /** @var ElementMetadata $relation */\n            $relation = $value['element']['__relation'];\n            $meta = $relation->getData();\n            $result = [];\n            if ($meta) {\n                foreach ($meta as $metaItemKey => $metaItemValue) {\n                    $result[] = [\n                        'name' => $metaItemKey,\n                        'value' => $metaItemValue,\n                    ];\n                }\n            }\n\n            return $result;\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Resolver/ObjectMetadata.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\FieldHelper\\DataObjectFieldHelper;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\Asset;\nuse Pimcore\\Model\\DataObject\\AbstractObject;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\Data;\n\n/**\n * @internal\n */\nfinal class ObjectMetadata\n{\n    use ServiceTrait;\n\n    /** @var ClassDefinition\\Data|null */\n    protected $fieldDefinition;\n\n    /** @var ClassDefinition|null */\n    protected $class;\n\n    /** @var DataObjectFieldHelper|null */\n    protected $fieldHelper;\n\n    /**\n     * @param ClassDefinition\\Data|null $fieldDefinition\n     * @param ClassDefinition|null $class\n     * @param DataObjectFieldHelper|null $fieldHelper\n     */\n    public function __construct($fieldDefinition = null, $class = null, $fieldHelper = null)\n    {\n        $this->fieldDefinition = $fieldDefinition;\n        $this->class = $class;\n        $this->fieldHelper = $fieldHelper;\n    }\n\n    /**\n     * @param mixed $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return array|null\n     *\n     * @throws \\Exception\n     */\n    public function resolveElement($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $element = null;\n\n        if (!$value['element']) {\n            return null;\n        }\n\n        if ($value['element']['__elementType'] == 'object') {\n            $element = AbstractObject::getById($value['element']['__destId']);\n        } else {\n            if ($value['element']['__elementType'] == 'asset') {\n                $element = Asset::getById($value['element']['__destId']);\n            }\n        }\n\n        if (!$element) {\n            return null;\n        }\n\n        $data = $value['element'];\n        $this->fieldHelper->extractData($data, $element, $args, $context, $resolveInfo);\n\n        return $data;\n    }\n\n    /**\n     * @param mixed $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return array|null\n     *\n     * @throws \\Exception\n     */\n    public function resolveMetadata($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        if ($value && $value['element']) {\n            /** @var Data\\ObjectMetadata $relation */\n            $relation = $value['element']['__relation'];\n            $meta = $relation->getData();\n            $result = [];\n            if ($meta) {\n                foreach ($meta as $metaItemKey => $metaItemValue) {\n                    $result[] = [\n                        'name' => $metaItemKey,\n                        'value' => $metaItemValue,\n                    ];\n                }\n            }\n\n            return $result;\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Resolver/QuantityValue.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Model\\DataObject\\Data\\AbstractQuantityValue;\n\n/**\n * @internal\n */\nfinal class QuantityValue\n{\n    use ServiceTrait;\n\n    /**\n     * @param AbstractQuantityValue|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return array\n     *\n     * @throws \\Exception\n     */\n    public function resolveUnit($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        if ($value instanceof AbstractQuantityValue && $unit = $value->getUnit()) {\n            return $unit->getObjectVars();\n        }\n\n        return [];\n    }\n\n    /**\n     * @param AbstractQuantityValue|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return float|string|null\n     *\n     * @throws \\Exception\n     */\n    public function resolveValue($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        if ($value instanceof AbstractQuantityValue) {\n            return $value->getValue();\n        }\n\n        return null;\n    }\n\n    /**\n     * @param AbstractQuantityValue|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return string|null\n     *\n     * @throws \\Exception\n     */\n    public function resolveToString($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $returnValue = null;\n\n        if ($value instanceof AbstractQuantityValue) {\n            $currentLocale = null;\n            $localService = null;\n            if (isset($args['language'])) {\n                $localService = $this->getGraphQlService()->getLocaleService();\n                $currentLocale = $localService->getLocale();\n\n                $localService->setLocale($args['language']);\n            }\n\n            $returnValue = $value->__toString();\n\n            if (isset($args['language'])) {\n                $localService->setLocale($currentLocale);\n            }\n        }\n\n        return $returnValue;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Resolver/QueryType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\ListingEvents;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\ListingEvent;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Exception\\ClientSafeException;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Helper;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ElementIdentificationTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\PermissionInfoTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\WorkspaceHelper;\nuse Pimcore\\Db;\nuse Pimcore\\Model\\DataObject\\AbstractObject;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\Listing;\nuse Pimcore\\Model\\DataObject\\Service;\nuse Pimcore\\Model\\Translation;\nuse Symfony\\Component\\EventDispatcher\\EventDispatcherInterface;\nuse Symfony\\Component\\EventDispatcher\\GenericEvent;\n\nfinal class QueryType\n{\n    use ServiceTrait;\n    use PermissionInfoTrait;\n    use ElementIdentificationTrait;\n\n    /**\n     * @var EventDispatcherInterface\n     */\n    private $eventDispatcher;\n\n    /**\n     * @var ClassDefinition|null\n     */\n    protected $class;\n\n    /**\n     * @var object\n     */\n    protected $configuration;\n\n    /**\n     * @param ClassDefinition|null $class\n     * @param object $configuration\n     * @param bool $omitPermissionCheck\n     */\n    public function __construct(EventDispatcherInterface $eventDispatcher, $class = null, $configuration = null, $omitPermissionCheck = false)\n    {\n        $this->eventDispatcher = $eventDispatcher;\n        $this->class = $class;\n        $this->configuration = $configuration;\n        $this->omitPermissionCheck = $omitPermissionCheck;\n    }\n\n    /**\n     * @param ElementDescriptor|null $value\n     * @param array $args\n     * @param array $context\n     * @param string|null $elementType\n     *\n     * @return array|null\n     *\n     * @throws ClientSafeException\n     */\n    public function resolveFolderGetter($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null, $elementType = null)\n    {\n        if ($args && isset($args['defaultLanguage'])) {\n            $this->getGraphQlService()->getLocaleService()->setLocale($args['defaultLanguage']);\n        }\n\n        $element = $this->getElementByTypeAndIdOrPath($args, $elementType);\n\n        if (!$element) {\n            return null;\n        }\n\n        if (!$this->omitPermissionCheck && !WorkspaceHelper::checkPermission($element, 'read')) {\n            return null;\n        }\n\n        $data = new ElementDescriptor();\n        $getter = 'get' . ucfirst($elementType) . 'FieldHelper';\n        $fieldHelper = $this->getGraphQlService()->$getter();\n        $fieldHelper->extractData($data, $element, $args, $context, $resolveInfo);\n        $data = $data->getArrayCopy();\n\n        return $data;\n    }\n\n    /**\n     * @param ElementDescriptor|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return array|null\n     *\n     * @throws ClientSafeException\n     */\n    public function resolveAssetFolderGetter($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        return $this->resolveFolderGetter($value, $args, $context, $resolveInfo, 'asset');\n    }\n\n    /**\n     * @param ElementDescriptor|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return array|null\n     *\n     * @throws ClientSafeException\n     */\n    public function resolveDocumentFolderGetter($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        return $this->resolveFolderGetter($value, $args, $context, $resolveInfo, 'document');\n    }\n\n    /**\n     * @param ElementDescriptor|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return array|null\n     *\n     * @throws ClientSafeException\n     */\n    public function resolveObjectFolderGetter($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        return $this->resolveFolderGetter($value, $args, $context, $resolveInfo, 'object');\n    }\n\n    /**\n     * @param ElementDescriptor|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return array|null\n     *\n     * @throws ClientSafeException\n     *\n     *\n     */\n    public function resolveDocumentGetter($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        if ($args && isset($args['defaultLanguage'])) {\n            $this->getGraphQlService()->getLocaleService()->setLocale($args['defaultLanguage']);\n        }\n\n        $documentElement = $this->getElementByTypeAndIdOrPath($args, 'document');\n\n        if (!$documentElement) {\n            return null;\n        }\n\n        if (!$this->omitPermissionCheck) {\n            if (!WorkspaceHelper::checkPermission($documentElement, 'read')) {\n                return null;\n            }\n        }\n\n        $data = new ElementDescriptor($documentElement);\n        $this->getGraphQlService()->extractData($data, $documentElement, $args, $context, $resolveInfo);\n        $data = $data->getArrayCopy();\n\n        return $data;\n    }\n\n    /**\n     * @param ElementDescriptor|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return ElementDescriptor|null\n     *\n     * @throws ClientSafeException\n     */\n    public function resolveAssetGetter($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        if ($args && isset($args['defaultLanguage'])) {\n            $this->getGraphQlService()->getLocaleService()->setLocale($args['defaultLanguage']);\n        }\n\n        $assetElement = $this->getElementByTypeAndIdOrPath($args, 'asset');\n        if (!$assetElement) {\n            return null;\n        }\n\n        if (!$this->omitPermissionCheck) {\n            if (!WorkspaceHelper::checkPermission($assetElement, 'read')) {\n                return null;\n            }\n        }\n\n        $data = new ElementDescriptor($assetElement);\n        $this->getGraphQlService()->extractData($data, $assetElement, $args, $context, $resolveInfo);\n\n        return $data;\n    }\n\n    /**\n     * @throws \\Exception\n     */\n    public function resolveTranslationGetter(mixed $value = null, array $args = [], array $context = [], ?ResolveInfo $resolveInfo = null): array\n    {\n        if (empty($args['key'])) {\n            throw new \\Exception('Argument key is mandatory');\n        }\n\n        $domain = 'messages';\n        if (!empty($args['domain'])) {\n            $domain = $args['domain'];\n        }\n\n        $languages = [];\n        if (!empty($args['languages'])) {\n            $languages = str_replace(' ', '', $args['languages']);\n            $languages = explode(',', $languages);\n        }\n\n        $translation = Translation::getByKey($args['key'], $domain, false, false, $languages);\n        if (!$translation) {\n            return [];\n        }\n\n        return $this->getGraphQlService()->getObjectFieldHelper()->extractData(\n            $data,\n            $translation,\n            $args,\n            $context,\n            $resolveInfo\n        );\n    }\n\n    /**\n     * @param ElementDescriptor|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return ElementDescriptor\n     *\n     * @throws ClientSafeException\n     */\n    public function resolveObjectGetter($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $isIdSet = $args['id'] ?? false;\n        $isFullpathSet = $args['fullpath'] ?? false;\n\n        if (!$isIdSet && !$isFullpathSet) {\n            throw new ClientSafeException('object id or fullpath expected');\n        }\n\n        if ($args['defaultLanguage'] ?? false) {\n            $this->getGraphQlService()->getLocaleService()->setLocale($args['defaultLanguage']);\n        }\n\n        $modelFactory = $this->getGraphQlService()->getModelFactory();\n        $listClass = 'Pimcore\\\\Model\\\\DataObject\\\\' . ucfirst($this->class->getName()) . '\\\\Listing';\n        /** @var Listing $objectList */\n        $objectList = $modelFactory->build($listClass);\n        $conditionParts = [];\n\n        if ($isIdSet) {\n            $conditionParts[] = '(id =' . $args['id'] . ')';\n        }\n\n        if ($isFullpathSet) {\n            $fullpath = Service::correctPath($args['fullpath']);\n            $conditionParts[] = '(CONCAT(`path`,`key`) =' . Db::get()->quote($fullpath) . ')';\n\n        }\n\n        $condition = implode(' AND ', $conditionParts);\n        $objectList->setCondition($condition);\n\n        $objectList->setObjectTypes([AbstractObject::OBJECT_TYPE_OBJECT, AbstractObject::OBJECT_TYPE_FOLDER, AbstractObject::OBJECT_TYPE_VARIANT]);\n        $objectList->setLimit(1);\n        $objectList->setUnpublished(true);\n        $objectList = $objectList->load();\n        if (!$objectList) {\n            $errorMessage = $this->createArgumentErrorMessage($isFullpathSet, $isIdSet, $args);\n\n            throw new ClientSafeException($errorMessage);\n        }\n        $object = $objectList[0];\n\n        if (!$this->omitPermissionCheck) {\n            if (!WorkspaceHelper::checkPermission($object, 'read')) {\n                throw new ClientSafeException('permission denied. check your workspace settings');\n            }\n        }\n\n        $data = new ElementDescriptor($object);\n        $data['id'] = $object->getId();\n        $this->getGraphQlService()->extractData($data, $object, $args, $context, $resolveInfo);\n\n        return $data;\n    }\n\n    /**\n     * @param array|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return array\n     */\n    public function resolveEdge($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $object = $value['node'];\n        $nodeData = [];\n\n        if ($this->omitPermissionCheck || WorkspaceHelper::checkPermission($object, 'read')) {\n            $data = new ElementDescriptor();\n            $fieldHelper = $this->getGraphQlService()->getObjectFieldHelper();\n            $nodeData = $fieldHelper->extractData($data, $object, $args, $context, $resolveInfo);\n        }\n\n        return $nodeData;\n    }\n\n    /**\n     * @param array|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return array\n     */\n    public function resolveEdges($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $objectList = $value['edges']();\n        $nodes = [];\n\n        foreach ($objectList as $object) {\n            if (!$this->omitPermissionCheck && !WorkspaceHelper::checkPermission($object, 'read')) {\n                continue;\n            }\n\n            $nodes[] = [\n                'cursor' => 'object-' . $object->getId(),\n                'node' => $object,\n            ];\n        }\n\n        return $nodes;\n    }\n\n    /**\n     * @param ElementDescriptor|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return array\n     *\n     * @throws \\Exception\n     */\n    public function resolveListing($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        if ($args && isset($args['defaultLanguage'])) {\n            $this->getGraphQlService()->getLocaleService()->setLocale($args['defaultLanguage']);\n        }\n\n        $event = new GenericEvent(\n            arguments: $args,\n        );\n\n        $this->eventDispatcher->dispatch($event, ListingEvents::PRE_BUILD);\n        $args = $event->getArguments();\n\n        $modelFactory = $this->getGraphQlService()->getModelFactory();\n        $listClass = 'Pimcore\\\\Model\\\\DataObject\\\\' . ucfirst($this->class->getName()) . '\\\\Listing';\n        /** @var Listing\\Concrete $objectList */\n        $objectList = $modelFactory->build($listClass);\n        $tableName = $objectList->getDao()->getTableName();\n\n        $conditionParts = [];\n        $db = Db::get();\n        if (isset($args['ids'])) {\n            // Explode it and then quote it\n            if (!is_array($args['ids'])) {\n                $args['ids'] = explode(',', $args['ids']);\n            }\n            $ids = implode(', ', array_map([$db, 'quote'], $args['ids']));\n            $conditionParts[] = '(id IN (' . $ids . '))';\n        }\n        if (isset($args['fullpaths'])) {\n            $quotedFullpaths = array_map(\n                static function ($fullpath) use ($db) {\n                    $fullpath = trim($fullpath, \" '\");\n                    $fullpath = Service::correctPath($fullpath);\n\n                    return $db->quote($fullpath);\n                },\n                str_getcsv($args['fullpaths'], ',', \"'\")\n            );\n            $conditionParts[] = '(CONCAT(`path`,`key`) IN (' . implode(',', $quotedFullpaths) . '))';\n        }\n\n        if (isset($args['tags'])) {\n            if (!is_array($args['tags'])) {\n                $args['tags'] = explode(',', $args['tags']);\n            }\n            $tags = strtolower(implode(', ', array_map(static function ($tag) use ($db) {\n                $tag = trim($tag);\n\n                return $db->quote($tag);\n            }, $args['tags'])));\n\n            $conditionParts[] = \"id IN (\n                            SELECT cId FROM tags_assignment INNER JOIN tags ON tags.id = tags_assignment.tagid\n                            WHERE\n                                ctype = 'object' AND LOWER(tags.name) IN (\" . $tags . '))';\n        }\n\n        // paging\n        if (isset($args['first'])) {\n            $objectList->setLimit($args['first']);\n        }\n\n        if (isset($args['after'])) {\n            $objectList->setOffset($args['after']);\n        }\n\n        // sorting\n        if (!empty($args['sortBy'])) {\n            $objectList->setOrderKey($args['sortBy']);\n            if (!empty($args['sortOrder'])) {\n                $objectList->setOrder($args['sortOrder']);\n            }\n        }\n\n        // Include unpublished\n        if (isset($args['published']) && $args['published'] === false) {\n            $objectList->setUnpublished(true);\n        }\n\n        $configuration = $context['configuration'];\n        if (!$configuration->skipPermisssionCheck()) {\n            // check permissions\n            $workspacesTableName = 'plugin_datahub_workspaces_object';\n            $conditionParts[] = ' (\n            (\n                SELECT `read` from ' . $db->quoteIdentifier($workspacesTableName) . '\n                WHERE ' . $db->quoteIdentifier($workspacesTableName) . '.configuration = ' . $db->quote($configuration->getName()) . '\n                AND LOCATE(CONCAT(' . $db->quoteIdentifier($tableName) . '.path,' . $db->quoteIdentifier($tableName) . '.key),' . $db->quoteIdentifier($workspacesTableName) . '.cpath)=1\n                ORDER BY LENGTH(' . $db->quoteIdentifier($workspacesTableName) . '.cpath) DESC\n                LIMIT 1\n            )=1\n            OR\n            (\n                SELECT `read` from ' . $db->quoteIdentifier($workspacesTableName) . '\n                WHERE ' . $db->quoteIdentifier($workspacesTableName) . '.configuration = ' . $db->quote($configuration->getName()) . '\n                AND LOCATE(' . $db->quoteIdentifier($workspacesTableName) . '.cpath,CONCAT(' . $db->quoteIdentifier($tableName) . '.path,' . $db->quoteIdentifier($tableName) . '.key))=1\n                ORDER BY LENGTH(' . $db->quoteIdentifier($workspacesTableName) . '.cpath) DESC\n                LIMIT 1\n            )=1\n            )';\n        }\n\n        if (isset($args['filter'])) {\n            $filter = json_decode($args['filter'], false);\n            if (!$filter) {\n                throw new ClientSafeException('unable to decode filter');\n            }\n\n            $className = $this->class->getName();\n            $columns = $this->configuration->configuration['schema']['queryEntities'][$className]['columnConfig']['columns'];\n\n            Helper::addJoins($objectList, $filter, $columns, $mappingTable);\n\n            $filterCondition = Helper::buildSqlCondition($tableName, $filter, null, null, $mappingTable);\n            $conditionParts[] = $filterCondition;\n        }\n\n        $condition = implode(' AND ', $conditionParts);\n        $objectList->setCondition($condition);\n\n        $objectList->setObjectTypes([AbstractObject::OBJECT_TYPE_OBJECT, AbstractObject::OBJECT_TYPE_FOLDER, AbstractObject::OBJECT_TYPE_VARIANT]);\n\n        $event = new ListingEvent(\n            $objectList,\n            $args,\n            $context,\n            $resolveInfo\n        );\n        $this->eventDispatcher->dispatch($event, ListingEvents::PRE_LOAD);\n        $objectList = $event->getListing();\n\n        $connection = [];\n        $connection['edges'] = [$objectList, 'load'];\n        $connection['totalCount'] = [$objectList, 'getTotalCount'];\n\n        return $connection;\n    }\n\n    /**\n     * @param ElementDescriptor|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return mixed\n     */\n    public function resolveListingTotalCount($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        return $value['totalCount']();\n    }\n\n    /**\n     * @param bool $isFullpathSet\n     * @param bool $isIdSet\n     * @param array $args\n     *\n     * @return string\n     */\n    private function createArgumentErrorMessage($isFullpathSet, $isIdSet, $args)\n    {\n        if ($isIdSet && $isFullpathSet) {\n            return 'either id or fullpath expected but not both';\n        }\n        if ($isIdSet) {\n            return \"object with id:'\" . $args['id'] . \"' not found\";\n        }\n        if ($isFullpathSet) {\n            return \"object with fullpath:'\" . $args['fullpath'] . \"' not found\";\n        }\n\n        return 'either id or fullpath expected';\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Resolver/TranslationListing.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\ListingEvents;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\ListingEvent;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Symfony\\Component\\EventDispatcher\\EventDispatcherInterface;\n\n/**\n * @internal\n */\nfinal class TranslationListing\n{\n    use ServiceTrait;\n\n    protected EventDispatcherInterface $eventDispatcher;\n\n    public function __construct(Service $graphQlService, EventDispatcherInterface $eventDispatcher)\n    {\n        $this->setGraphQLService($graphQlService);\n\n        $this->eventDispatcher = $eventDispatcher;\n    }\n\n    public function resolveEdge(mixed $value = null, array $args = [], array $context = [], ?ResolveInfo $resolveInfo = null): mixed\n    {\n        $translation = $value['node'];\n        $data = new ElementDescriptor();\n\n        $fieldHelper = $this->getGraphQlService()->getObjectFieldHelper();\n\n        return $fieldHelper->extractData($data, $translation, $args, $context, $resolveInfo);\n    }\n\n    public function resolveEdges(mixed $value = null, array $args = [], array $context = [], ?ResolveInfo $resolveInfo = null): mixed\n    {\n        return $value['edges'];\n    }\n\n    /**\n     * @throws \\Exception\n     */\n    public function resolveListing(mixed $value = null, array $args = [], array $context = [], ?ResolveInfo $resolveInfo = null): array\n    {\n        // get list of types\n        $list = new \\Pimcore\\Model\\Translation\\Listing();\n\n        if (!empty($args['keys'])) {\n            $keysArray = explode(',', $args['keys']);\n            $keysArray = array_map(fn ($value): string => $list->quote($value), $keysArray);\n            $keysString = implode(',', $keysArray);\n            $list->setCondition('`key` IN (' . $keysString . ')');\n        }\n\n        if (!empty($args['languages'])) {\n            $languages = str_replace(' ', '', $args['languages']);\n            $list->setLanguages(explode(',', $languages));\n        }\n\n        if (!empty($args['domain'])) {\n            $list->setDomain($args['domain']);\n        }\n\n        // sorting\n        if (!empty($args['sortBy'])) {\n            $list->setOrderKey($args['sortBy']);\n            if (!empty($args['sortOrder'])) {\n                $list->setOrder($args['sortOrder']);\n            }\n        }\n\n        // paging\n        if (isset($args['first'])) {\n            $list->setLimit($args['first']);\n        }\n\n        if (isset($args['after'])) {\n            $list->setOffset($args['after']);\n        }\n\n        $event = new ListingEvent(\n            $list,\n            $args,\n            $context,\n            $resolveInfo\n        );\n        $this->eventDispatcher->dispatch($event, ListingEvents::PRE_LOAD);\n        $list = $event->getListing();\n\n        $totalCount = $list->count();\n        $list->getData();\n\n        $nodes = [];\n\n        foreach ($list as $translation) {\n            $nodes[] = [\n                'cursor' => 'translation-' . $translation->getKey(),\n                'node' => $translation,\n            ];\n        }\n        $connection = [];\n        $connection['edges'] = $nodes;\n        $connection['totalCount'] = $totalCount;\n\n        return $connection;\n    }\n\n    public function resolveListingTotalCount(mixed $value = null, array $args = [], array $context = [], ?ResolveInfo $resolveInfo = null): mixed\n    {\n        return $value['totalCount'];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Resolver/UrlSlug.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\n/**\n * @internal\n */\nfinal class UrlSlug\n{\n    use ServiceTrait;\n\n    /**\n     * @param \\Pimcore\\Model\\DataObject\\Data\\UrlSlug|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return string|null\n     *\n     * @throws \\Exception\n     */\n    public function resolveSlug($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        if ($value instanceof \\Pimcore\\Model\\DataObject\\Data\\UrlSlug) {\n            return $value->getSlug();\n        }\n\n        return null;\n    }\n\n    /**\n     * @param \\Pimcore\\Model\\DataObject\\Data\\UrlSlug|null $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return int|null\n     *\n     * @throws \\Exception\n     */\n    public function resolveSiteId($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        if ($value instanceof \\Pimcore\\Model\\DataObject\\Data\\UrlSlug) {\n            return $value->getSiteId();\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Resolver/Video.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver;\n\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\nuse Pimcore\\Bundle\\DataHubBundle\\WorkspaceHelper;\nuse Pimcore\\Model\\Asset\\Image;\n\n/**\n * @internal\n */\nfinal class Video\n{\n    use ServiceTrait;\n\n    /**\n     * @param mixed $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return string|null\n     */\n    public function resolveType($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        if ($value instanceof \\Pimcore\\Model\\DataObject\\Data\\Video) {\n            return $value->getType();\n        }\n\n        return null;\n    }\n\n    /**\n     * @param mixed $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return string|null\n     *\n     * @throws \\Exception\n     */\n    public function resolveTitle($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        if ($value instanceof \\Pimcore\\Model\\DataObject\\Data\\Video) {\n            return $value->getTitle();\n        }\n\n        return null;\n    }\n\n    /**\n     * @param mixed $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return string|null\n     */\n    public function resolveDescription($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        if ($value instanceof \\Pimcore\\Model\\DataObject\\Data\\Video) {\n            return $value->getDescription();\n        }\n\n        return null;\n    }\n\n    /**\n     * @param mixed $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return ElementDescriptor|null\n     */\n    public function resolvePoster($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        if ($value instanceof \\Pimcore\\Model\\DataObject\\Data\\Video) {\n            $asset = $value->getPoster();\n            if ($asset instanceof Image) {\n                if (!WorkspaceHelper::checkPermission($asset, 'read')) {\n                    return null;\n                }\n\n                $data = new ElementDescriptor();\n                $fieldHelper = $this->getGraphQlService()->getObjectFieldHelper();\n                $fieldHelper->extractData($data, $asset, $args, $context, $resolveInfo);\n\n                $data['data'] = isset($data['data']) ? base64_encode($data['data']) : null;\n                $data['__elementSubtype'] = $asset->getType();\n\n                return $data;\n            }\n        }\n\n        return null;\n    }\n\n    /**\n     * @param mixed $value\n     * @param array $args\n     * @param array $context\n     *\n     * @return ElementDescriptor|array|null\n     */\n    public function resolveData($value = null, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        if ($value instanceof \\Pimcore\\Model\\DataObject\\Data\\Video) {\n            if ($value->getType() == 'asset' && $value->getData() instanceof \\Pimcore\\Model\\Asset\\Video) {\n                if (!WorkspaceHelper::checkPermission($value->getData(), 'read')) {\n                    return null;\n                }\n\n                $data = new ElementDescriptor();\n                $asset = $value->getData();\n                $fieldHelper = $this->getGraphQlService()->getAssetFieldHelper();\n                $fieldHelper->extractData($data, $asset, $args, $context, $resolveInfo);\n                $data['data'] = !empty($data['data']) ? base64_encode($data['data']) : null;\n                $data['__elementSubtype'] = $asset->getType();\n\n                return $data;\n            } else {\n                if ($value->getData()) {\n                    $data = ['id' => $value->getData()];\n\n                    return $data;\n                }\n            }\n        }\n\n        return null;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Service.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (http://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL;\n\nuse Carbon\\Carbon;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Pimcore\\Bundle\\DataHubBundle\\Configuration;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Exception\\ClientSafeException;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\FieldHelper\\AssetFieldHelper;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\FieldHelper\\DataObjectFieldHelper;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\FieldHelper\\DocumentFieldHelper;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator\\Factory\\OperatorFactoryInterface;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Value\\DefaultValue;\nuse Pimcore\\Bundle\\DataHubBundle\\PimcoreDataHubBundle;\nuse Pimcore\\Cache\\RuntimeCache;\nuse Pimcore\\Localization\\LocaleServiceInterface;\nuse Pimcore\\Model\\Asset;\nuse Pimcore\\Model\\DataObject\\AbstractObject;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\nuse Pimcore\\Model\\DataObject\\Concrete;\nuse Pimcore\\Model\\DataObject\\Objectbrick\\Data\\AbstractData;\nuse Pimcore\\Model\\DataObject\\Objectbrick\\Definition;\nuse Pimcore\\Model\\Document;\nuse Pimcore\\Model\\Element\\ElementInterface;\nuse Pimcore\\Model\\Factory;\nuse Pimcore\\Translation\\Translator;\nuse Pimcore\\Version;\nuse Psr\\Container\\ContainerInterface;\n\nfinal class Service\n{\n    // @var ContainerInterface\n    protected $dataObjectQueryTypeGeneratorFactories;\n\n    // @var ContainerInterface\n    protected $dataObjectMutationTypeGeneratorFactories;\n\n    /**\n     * @var ContainerInterface\n     */\n    protected $dataObjectQueryOperatorFactories;\n\n    /**\n     * @var ContainerInterface\n     */\n    protected $documentElementQueryTypeGeneratorFactories;\n\n    /**\n     * @var ContainerInterface\n     */\n    protected $documentElementMutationGeneratorFactories;\n\n    /**\n     * @var ContainerInterface\n     */\n    protected $documentElementMutationTypeGeneratorFactories;\n\n    /**\n     * @var ContainerInterface\n     */\n    protected $dataObjectMutationOperatorFactories;\n\n    /**\n     * @var ContainerInterface\n     */\n    protected $generalTypeGeneratorFactories;\n\n    /**\n     * @var ContainerInterface\n     */\n    protected $assetTypeGeneratorFactories;\n\n    /**\n     * @var ContainerInterface\n     */\n    protected $csFeatureTypeGeneratorFactories;\n\n    protected ContainerInterface $translationTypeGeneratorFactories;\n\n    /**\n     * @var array\n     */\n    protected $supportedDataObjectQueryDataTypes;\n\n    /**\n     * @var array\n     */\n    protected $supportedDocumentElementQueryDataTypes;\n\n    /**\n     * @var array\n     */\n    protected $supportedDocumentElementMutationDataTypes;\n\n    /**\n     * @var array\n     */\n    protected $supportedCsFeatureQueryDataTypes;\n\n    /**\n     * @var array\n     */\n    protected $supportedDataObjectMutationDataTypes;\n\n    /**\n     * @var DataObjectFieldHelper\n     */\n    protected $objectFieldHelper;\n\n    /**\n     * @var AssetFieldHelper\n     */\n    protected $assetFieldHelper;\n\n    /**\n     * @var documentFieldHelper\n     */\n    protected $documentFieldHelper;\n\n    /**\n     * @var LocaleServiceInterface\n     */\n    protected $localeService;\n\n    /**\n     * @var Translator\n     */\n    protected $translator;\n\n    /**\n     * @var Factory\n     */\n    protected $modelFactory;\n\n    /**\n     * @var array\n     */\n    protected $generalTypes = [];\n\n    /**\n     * @var array\n     */\n    protected $assetDataTypes = [];\n\n    protected array $translationDataTypes = [];\n\n    /**\n     * @var array\n     */\n    protected $documentDataTypes = [];\n\n    /**\n     * @var array\n     */\n    protected $propertyDataTypes = [];\n\n    /**\n     * @var array\n     */\n    protected $classificationStoreDataTypes = [];\n\n    /**\n     * @var array\n     */\n    protected $dataObjectDataTypes = [];\n\n    public function __construct(\n        AssetFieldHelper $assetFieldHelper,\n        DocumentFieldHelper $documentFieldHelper,\n        DataObjectFieldHelper $objectFieldHelper,\n        LocaleServiceInterface $localeService,\n        Factory $modelFactory,\n        Translator $translator,\n        ContainerInterface $dataObjectQueryTypeGeneratorFactories,\n        ContainerInterface $dataObjectQueryOperatorFactories,\n        ContainerInterface $dataObjectMutationTypeGeneratorFactories,\n        ContainerInterface $dataObjectMutationOperatorFactories,\n        ContainerInterface $documentElementQueryTypeGeneratorFactories,\n        ContainerInterface $documentElementMutationTypeGeneratorFactories,\n        ContainerInterface $generalTypeGeneratorFactories,\n        ContainerInterface $assetTypeGeneratorFactories,\n        ContainerInterface $csFeatureTypeGeneratorFactories,\n        ContainerInterface $translationTypeGeneratorFactories\n    ) {\n        $this->assetFieldHelper = $assetFieldHelper;\n        $this->documentFieldHelper = $documentFieldHelper;\n        $this->objectFieldHelper = $objectFieldHelper;\n        $this->localeService = $localeService;\n        $this->modelFactory = $modelFactory;\n        $this->translator = $translator;\n        $this->dataObjectQueryTypeGeneratorFactories = $dataObjectQueryTypeGeneratorFactories;\n        $this->dataObjectQueryOperatorFactories = $dataObjectQueryOperatorFactories;\n        $this->dataObjectMutationTypeGeneratorFactories = $dataObjectMutationTypeGeneratorFactories;\n        $this->dataObjectMutationOperatorFactories = $dataObjectMutationOperatorFactories;\n        $this->documentElementQueryTypeGeneratorFactories = $documentElementQueryTypeGeneratorFactories; //TODO rename this to query\n        $this->documentElementMutationGeneratorFactories = $documentElementMutationTypeGeneratorFactories;\n        $this->generalTypeGeneratorFactories = $generalTypeGeneratorFactories;\n        $this->assetTypeGeneratorFactories = $assetTypeGeneratorFactories;\n        $this->csFeatureTypeGeneratorFactories = $csFeatureTypeGeneratorFactories;\n        $this->translationTypeGeneratorFactories = $translationTypeGeneratorFactories;\n    }\n\n    /**\n     * @param string $attribute\n     * @param string $typeName\n     * @param Data|null $fieldDefinition\n     * @param ClassDefinition|\\Pimcore\\Model\\DataObject\\Fieldcollection\\Definition|null $class\n     * @param object|null $container\n     *\n     * @return mixed\n     */\n    public function buildDataObjectQueryDataConfig($attribute, $typeName, $fieldDefinition = null, $class = null, $container = null)\n    {\n        /** @var DataObjectQueryFieldConfigGeneratorInterface $factory */\n        $factory = $this->dataObjectQueryTypeGeneratorFactories->get('typegenerator_dataobjectquerydatatype_' . $typeName);\n        $result = $factory->getGraphQlFieldConfig($attribute, $fieldDefinition, $class, $container);\n\n        return $result;\n    }\n\n    /**\n     * @param array $nodeDef\n     * @param ClassDefinition|\\Pimcore\\Model\\DataObject\\Fieldcollection\\Definition $class\n     * @param object|null $container\n     *\n     * @return array\n     */\n    public function buildDataObjectMutationDataConfig($nodeDef, $class = null, $container = null)\n    {\n        $typeName = $nodeDef['attributes']['dataType'];\n        /** @var DataObjectMutationFieldConfigGeneratorInterface $factory */\n        $factory = $this->dataObjectMutationTypeGeneratorFactories->get('typegenerator_dataobjectmutationdatatype_' . $typeName);\n        $result = $factory->getGraphQlMutationFieldConfig($nodeDef, $class, $container);\n\n        return $result;\n    }\n\n    /**\n     * @param string $attribute\n     *\n     * @return callable(mixed $value, array $args, array $context, \\GraphQL\\Type\\Definition\\ResolveInfo $info): mixed\n     */\n    public function buildDataObjectDataQueryResolver($attribute, ?Data $fieldDefinition = null, ?ClassDefinition $class = null)\n    {\n        $name = $fieldDefinition->getFieldtype();\n        /** @var DataObjectQueryFieldConfigGeneratorInterface $factory */\n        $factory = $this->dataObjectQueryTypeGeneratorFactories->get('typegenerator_dataobjectquerydatatype_' . $name);\n        $resolver = $factory->getResolver($attribute, $fieldDefinition, $class);\n\n        return $resolver;\n    }\n\n    /**\n     * @param object|null $container\n     *\n     * @return mixed\n     */\n    public function buildDataObjectDataQueryType(?Data $fieldDefinition = null, ?ClassDefinition $class = null, $container = null)\n    {\n        $name = $fieldDefinition->getFieldtype();\n        /** @var DataObjectQueryFieldConfigGeneratorInterface $factory */\n        $factory = $this->dataObjectQueryTypeGeneratorFactories->get('typegenerator_dataobjectquerydatatype_' . $name);\n        $result = $factory->getFieldType($fieldDefinition, $class, $container);\n\n        return $result;\n    }\n\n    /**\n     * @param string $elementName\n     *\n     * @return mixed\n     */\n    public function buildDocumentElementDataQueryType($elementName)\n    {\n        $factory = $this->documentElementQueryTypeGeneratorFactories->get('typegenerator_documentelementquerydatatype_' . $elementName);\n        $result = $factory->getFieldType();\n\n        return $result;\n    }\n\n    /**\n     * @param string $elementName\n     *\n     * @return mixed\n     */\n    public function buildDocumentElementDataMutationType($elementName)\n    {\n        $factory = $this->documentElementMutationGeneratorFactories->get('typegenerator_documentelementmutationdatatype_' . $elementName);\n        $result = $factory->getDocumentElementMutationFieldConfig();\n\n        return $result;\n    }\n\n    /**\n     * @param string $elementName\n     *\n     * @return mixed\n     */\n    public function buildCsFeatureDataQueryType($elementName)\n    {\n        $factory = $this->csFeatureTypeGeneratorFactories->get('typegenerator_csfeaturequerydatatype_' . $elementName);\n        $result = $factory->getFieldType();\n\n        return $result;\n    }\n\n    /**\n     * @param string $typeName\n     *\n     * @return bool\n     */\n    public function supportsDataObjectQueryDataType($typeName)\n    {\n        return $this->dataObjectQueryTypeGeneratorFactories->has('typegenerator_dataobjectquerydatatype_' . $typeName);\n    }\n\n    /**\n     * @param string $typeName\n     *\n     * @return bool\n     */\n    public function supportsDataObjectMutationDataType($typeName)\n    {\n        return $this->dataObjectMutationTypeGeneratorFactories->has('typegenerator_dataobjectmutationdatatype_' . $typeName);\n    }\n\n    /**\n     * @param string $typeName\n     * @param array $nodeDef\n     * @param object|null $container\n     * @param array $params\n     *\n     * @return mixed\n     */\n    public function buildDataObjectQueryOperatorConfig($typeName, $nodeDef, ?ClassDefinition $class = null, $container = null, $params = [])\n    {\n        $typeName = strtolower($typeName);\n        /** @var DataObjectQueryFieldConfigGeneratorInterface $factory */\n        $factory = $this->dataObjectQueryTypeGeneratorFactories->get('typegenerator_queryoperator_' . $typeName);\n        $result = $factory->getGraphQlQueryOperatorConfig($typeName, $nodeDef, $class, $container, $params);\n\n        return $result;\n    }\n\n    /**\n     * @param string $typeName\n     * @param array $nodeDef\n     * @param object|null $container\n     * @param array $params\n     *\n     * @return mixed\n     *\n     * @throws \\Exception\n     */\n    public function buildDataObjectMutationOperatorConfig($typeName, $nodeDef, ?ClassDefinition $class = null, $container = null, $params = [])\n    {\n        $typeName = strtolower($typeName);\n\n        // $factory = $this->mutationTypeGeneratorFactories->get('typegenerator_mutationoperator_' . $typeName);\n        $factory = $this->dataObjectMutationOperatorFactories->get($typeName);\n        $context = RuntimeCache::get(PimcoreDataHubBundle::RUNTIME_CONTEXT_KEY);\n        $configGenerator = $factory->build($nodeDef['attributes'], $context);\n        $result = $configGenerator->getGraphQlMutationOperatorConfig($nodeDef, $class, $container, $params);\n\n        return $result;\n    }\n\n    /**\n     * @param string $mode\n     * @param string $typeName\n     * @param array $nodeDef\n     * @param object|null $container\n     * @param array $params\n     *\n     * @return mixed\n     */\n    public function buildDataObjectOperatorQueryType($mode, $typeName, $nodeDef, ?ClassDefinition $class = null, $container = null, $params = [])\n    {\n        $typeName = strtolower($typeName);\n        /** @var DataObjectQueryFieldConfigGeneratorInterface $factory */\n        $factory = $this->dataObjectQueryTypeGeneratorFactories->get('typegenerator_operator_' . $typeName);\n        $result = $factory->getGraphQlOperatorConfig($mode, $typeName, $nodeDef, $class, $container, $params);\n\n        return $result;\n    }\n\n    /**\n     * @param string $typeName\n     *\n     * @return mixed\n     *\n     * @throws \\Exception\n     */\n    public function buildGeneralType($typeName)\n    {\n        $factory = $this->generalTypeGeneratorFactories->get($typeName);\n        $result = $factory->build();\n\n        return $result;\n    }\n\n    /**\n     * @param array $config\n     * @param array $context\n     *\n     * @return mixed\n     *\n     * @throws \\Exception\n     */\n    public function buildDataObjectType(string $className, $config = [], $context = [])\n    {\n        $factory = $this->generalTypeGeneratorFactories->get('object');\n\n        return $factory->build($className, $config, $context);\n    }\n\n    /**\n     * @param string $typeName\n     *\n     * @return mixed\n     *\n     * @throws \\Exception\n     */\n    public function buildAssetType($typeName)\n    {\n        $factory = $this->assetTypeGeneratorFactories->get($typeName);\n        $result = $factory->build();\n\n        return $result;\n    }\n\n    /**\n     * @throws \\Exception\n     */\n    public function buildTranslationType(string $typeName): mixed\n    {\n        $factory = $this->translationTypeGeneratorFactories->get($typeName);\n        $result = $factory->build();\n\n        return $result;\n    }\n\n    /**\n     * @param string $typeName\n     * @param array|null $attributes\n     * @param object|null $container\n     *\n     * @return Query\\Operator\\OperatorInterface\n     */\n    public function buildQueryOperator($typeName, $attributes = null, ?ClassDefinition $class = null, $container = null)\n    {\n        $typeName = strtolower($typeName);\n        /** @var OperatorFactoryInterface $factory */\n        $factory = $this->dataObjectQueryOperatorFactories->get($typeName);\n\n        $context = RuntimeCache::get(PimcoreDataHubBundle::RUNTIME_CONTEXT_KEY);\n        $result = $factory->build($attributes, $context);\n\n        return $result;\n    }\n\n    /**\n     * @param array $nodeConfig\n     *\n     * @return DefaultValue|Query\\Operator\\OperatorInterface\n     *\n     * @throws \\Exception\n     */\n    public function buildValueResolverFromAttributes($nodeConfig)\n    {\n        $attributes = $nodeConfig['attributes'];\n        if ($nodeConfig['isOperator']) {\n            $class = $attributes['class'];\n            $operatorImpl = $this->buildQueryOperator($class, $attributes);\n\n            return $operatorImpl;\n        } else {\n            $context = RuntimeCache::get(PimcoreDataHubBundle::RUNTIME_CONTEXT_KEY);\n            $operatorImpl = new DefaultValue($attributes, $context);\n            $operatorImpl->setGraphQlService($this);\n\n            return $operatorImpl;\n        }\n    }\n\n    /**\n     * @return array\n     */\n    public function getSupportedDataObjectQueryDataTypes()\n    {\n        return $this->supportedDataObjectQueryDataTypes;\n    }\n\n    /**\n     * @param array $supportedDocumentElementQueryDataTypes\n     */\n    public function setSupportedDocumentElementQueryDataTypes($supportedDocumentElementQueryDataTypes)\n    {\n        $this->supportedDocumentElementQueryDataTypes = $supportedDocumentElementQueryDataTypes;\n    }\n\n    /**\n     * @param array $supportedDocumentElementMutationDataTypes\n     */\n    public function setSupportedDocumentElementMutationDataTypes($supportedDocumentElementMutationDataTypes)\n    {\n        $this->supportedDocumentElementMutationDataTypes = $supportedDocumentElementMutationDataTypes;\n    }\n\n    /**\n     * @param array $supportedCsFeatureQueryDataTypes\n     */\n    public function setSupportedCsFeatureQueryDataTypes($supportedCsFeatureQueryDataTypes)\n    {\n        $this->supportedCsFeatureQueryDataTypes = $supportedCsFeatureQueryDataTypes;\n    }\n\n    /**\n     * @param array $generalTypes\n     */\n    public function setSupportedGeneralTypes($generalTypes)\n    {\n        $this->generalTypes = $generalTypes;\n    }\n\n    /**\n     * @return array\n     */\n    public function getSupportedDocumentElementQueryDataTypes()\n    {\n        return $this->supportedDocumentElementQueryDataTypes;\n    }\n\n    /**\n     * @return array\n     */\n    public function getSupportedDocumentElementMutationDataTypes()\n    {\n        return $this->supportedDocumentElementMutationDataTypes;\n    }\n\n    /**\n     * @return array\n     */\n    public function getSupportedCsFeatureQueryDataTypes()\n    {\n        return $this->supportedCsFeatureQueryDataTypes;\n    }\n\n    /**\n     * @param array $supportedDataObjectQueryDataTypes\n     */\n    public function setSupportedDataObjectQueryDataTypes($supportedDataObjectQueryDataTypes)\n    {\n        $this->supportedDataObjectQueryDataTypes = $supportedDataObjectQueryDataTypes;\n    }\n\n    public function getSupportedDataObjectMutationDataTypes(): array\n    {\n        return $this->supportedDataObjectMutationDataTypes;\n    }\n\n    public function setSupportedDataObjectMutationDataTypes(array $supportedDataObjectMutationDataTypes): void\n    {\n        $this->supportedDataObjectMutationDataTypes = $supportedDataObjectMutationDataTypes;\n    }\n\n    /**\n     * @param mixed $value\n     *\n     * @return mixed\n     */\n    public function getElementFromArrayObject($value)\n    {\n        if ($value instanceof \\ArrayObject) {\n            $value = $value->getArrayCopy();\n            if (isset($value['__elementType'])) {\n                $value = \\Pimcore\\Model\\Element\\Service::getElementById($value['__elementType'], $value['id']);\n            }\n        }\n\n        return $value;\n    }\n\n    /**\n     * @return AssetFieldHelper\n     */\n    public function getAssetFieldHelper()\n    {\n        return $this->assetFieldHelper;\n    }\n\n    /**\n     * @return DocumentFieldHelper\n     */\n    public function getDocumentFieldHelper()\n    {\n        return $this->documentFieldHelper;\n    }\n\n    /**\n     * @return DataObjectFieldHelper\n     */\n    public function getObjectFieldHelper()\n    {\n        return $this->objectFieldHelper;\n    }\n\n    public function getQueryTypeGeneratorFactories(): ContainerInterface\n    {\n        return $this->dataObjectQueryTypeGeneratorFactories;\n    }\n\n    public function getQueryOperatorFactories(): ContainerInterface\n    {\n        return $this->dataObjectQueryOperatorFactories;\n    }\n\n    public function getLocaleService(): LocaleServiceInterface\n    {\n        return $this->localeService;\n    }\n\n    public function getModelFactory(): Factory\n    {\n        return $this->modelFactory;\n    }\n\n    /**\n     * @return Translator\n     */\n    public function getTranslator()\n    {\n        return $this->translator;\n    }\n\n    /**\n     * @param array $dataTypes\n     */\n    public function registerDataObjectDataTypes($dataTypes)\n    {\n        $this->dataObjectDataTypes = $dataTypes;\n    }\n\n    /**\n     * @param array $dataTypes\n     */\n    public function registerAssetDataTypes($dataTypes)\n    {\n        $this->assetDataTypes = $dataTypes;\n    }\n\n    public function registerTranslationDataTypes(array $dataTypes)\n    {\n        $this->translationDataTypes = $dataTypes;\n    }\n\n    /**\n     * @param array $dataTypes\n     */\n    public function registerDocumentDataTypes($dataTypes)\n    {\n        $this->documentDataTypes = $dataTypes;\n    }\n\n    /**\n     * @param array $dataTypes\n     */\n    public function registerPropertyDataTypes($dataTypes)\n    {\n        $this->propertyDataTypes = $dataTypes;\n    }\n\n    /**\n     * @param array $dataTypes\n     */\n    public function registerClassificationStoreDataTypes($dataTypes)\n    {\n        $this->classificationStoreDataTypes = $dataTypes;\n    }\n\n    /**\n     * @param string $typeName\n     *\n     * @return mixed\n     *\n     * @throws \\Exception\n     */\n    public function getAssetTypeDefinition($typeName)\n    {\n        if (isset($this->assetDataTypes[$typeName])) {\n            return $this->assetDataTypes[$typeName];\n        }\n\n        throw new ClientSafeException('unknown asset type: ' . $typeName);\n    }\n\n    /**\n     * @param string $typeName\n     *\n     * @return mixed\n     *\n     * @throws \\Exception\n     */\n    public function getClassificationStoreTypeDefinition($typeName)\n    {\n        if (isset($this->classificationStoreDataTypes[$typeName])) {\n            return $this->classificationStoreDataTypes[$typeName];\n        }\n\n        throw new ClientSafeException('unknown classificationstore type: ' . $typeName);\n    }\n\n    /**\n     * @param string $typeName\n     *\n     * @return mixed\n     *\n     * @throws \\Exception\n     */\n    public function getDataObjectTypeDefinition($typeName)\n    {\n        if (isset($this->dataObjectDataTypes[$typeName])) {\n            return $this->dataObjectDataTypes[$typeName];\n        }\n\n        throw new ClientSafeException('unknown dataobject type: ' . $typeName);\n    }\n\n    /**\n     * @param string $typeName\n     *\n     * @return mixed\n     *\n     * @throws \\Exception\n     */\n    public function getDocumentTypeDefinition($typeName)\n    {\n        if (isset($this->documentDataTypes[$typeName])) {\n            return $this->documentDataTypes[$typeName];\n        }\n\n        throw new ClientSafeException('unknown document type: ' . $typeName);\n    }\n\n    /**\n     * @param string $typeName\n     *\n     * @return mixed\n     *\n     * @throws \\Exception\n     */\n    public function getPropertyTypeDefinition($typeName)\n    {\n        if (isset($this->propertyDataTypes[$typeName])) {\n            return $this->propertyDataTypes[$typeName];\n        }\n\n        throw new ClientSafeException('unknown property type: ' . $typeName);\n    }\n\n    /**\n     * gets value for given object and getter, including inherited values\n     *\n     * @static\n     *\n     * @param Concrete $object\n     * @param string $key\n     * @param string|null $brickType\n     * @param string|null $brickKey\n     * @param Data|null $fieldDefinition\n     * @param array $context\n     * @param array|null $brickDescriptor\n     * @param array $args\n     *\n     * @return mixed\n     */\n    public static function getValueForObject($object, $key, $brickType = null, $brickKey = null, $fieldDefinition = null, $context = [], $brickDescriptor = null, $args = [])\n    {\n        //TODO once this gets integrated into the core, share the code with Service::getValueFromObject\n        $getter = 'get' . ucfirst($key);\n        $value = $object->$getter();\n        if (!empty($value) && !empty($brickType)) {\n            $getBrickType = 'get' . ucfirst($brickType);\n            $value = $value->$getBrickType();\n            if (!empty($value) && !empty($brickKey)) {\n                if ($brickDescriptor) {\n                    $innerContainer = $brickDescriptor['innerContainer'] ?? 'localizedfields';\n                    $localizedFields = $value->{'get' . ucfirst($innerContainer)}();\n                    $brickDefinition = Definition::getByKey($brickType);\n                    /** @var Data\\Localizedfields $fieldDefinitionLocalizedFields */\n                    $fieldDefinitionLocalizedFields = $brickDefinition->getFieldDefinition('localizedfields');\n                    $fieldDefinition = $fieldDefinitionLocalizedFields->getFieldDefinition($brickKey);\n                    $value = $localizedFields->getLocalizedValue(\n                        $brickDescriptor['brickfield'],\n                        $args['language'] ?? null,\n                        isset($args['getFallbackLanguageValue']) ? !$args['getFallbackLanguageValue'] : false\n                    );\n                } else {\n                    $brickFieldGetter = 'get' . ucfirst($brickKey);\n                    $value = $value->$brickFieldGetter();\n                }\n            }\n        }\n\n        if (!$fieldDefinition) {\n            $fieldDefinition = $object->getClass()->getFieldDefinition($key, $context);\n        }\n\n        if (!empty($brickType) && !empty($brickKey) && !$brickDescriptor) {\n            $brickClass = Definition::getByKey($brickType);\n            $context = ['object' => $object, 'outerFieldname' => $key];\n            $fieldDefinition = $brickClass->getFieldDefinition($brickKey, $context);\n        }\n\n        if ($fieldDefinition->isEmpty($value)) {\n            $parent = \\Pimcore\\Model\\DataObject\\Service::hasInheritableParentObject($object);\n            if (!empty($parent)) {\n\n                return self::getValueForObject($parent, $key, $brickType, $brickKey, $fieldDefinition, $context, $brickDescriptor);\n            }\n        }\n\n        return $value;\n    }\n\n    /**\n     * @param Concrete|null $object\n     * @param string $attribute\n     * @param \\Closure $callback\n     *\n     * @return mixed result of the callback\n     *\n     * @throws \\Exception\n     */\n    public static function setValue($object, $attribute, $callback)\n    {\n        $result = null;\n        $setter = $attribute ? 'set' . ucfirst($attribute) : $attribute;\n\n        if (!$object) {\n            return null;\n        }\n        $container = $object;\n\n        $attributeParts = explode('~', $attribute);\n\n        if (substr($attribute, 0, 1) === '~') {\n            // key value, ignore for now\n        } elseif (count($attributeParts) > 1) {\n            // TODO once the datahub gets integrated into the core we should try to share this code\n            // with Pimcore\\Model\\DataObject\\Service::gridObjectData\n            $context = ['object' => $object];\n            $brickDescriptor = null;\n\n            // brick\n            $brickType = $attributeParts[0];\n            if (strpos($brickType, '?') !== false) {\n                $brickDescriptor = substr($brickType, 1);\n                $brickDescriptor = json_decode($brickDescriptor, true);\n                $brickType = $brickDescriptor['containerKey'];\n            }\n\n            $brickKey = $attributeParts[1];\n            $key = \\Pimcore\\Model\\DataObject\\Service::getFieldForBrickType($object->getclass(), $brickType);\n\n            $brickClass = Definition::getByKey($brickType);\n            $context['outerFieldname'] = $key;\n\n            if ($brickDescriptor) {\n                $def = $brickClass->getFieldDefinition($brickKey);\n                if (!$def) {\n                    $innerContainer = $brickDescriptor['innerContainer'] ?? 'localizedfields';\n                    /** @var Data\\Localizedfields $localizedFields */\n                    $localizedFields = $brickClass->getFieldDefinition($innerContainer);\n                    $def = $localizedFields->getFieldDefinition($brickDescriptor['brickfield']);\n                }\n            } else {\n                $def = $brickClass->getFieldDefinition($brickKey, $context);\n            }\n\n            if (!empty($key)) {\n                // if the definition is not set try to get the definition from localized fields\n                if (!$def) {\n                    /** @var Data\\Localizedfields|null $locFields */\n                    $locFields = $object->getClass()->getFieldDefinition('localizedfields');\n                    if ($locFields) {\n                        $def = $locFields->getFieldDefinition($key, $context);\n                    }\n                }\n                $brickGetter = 'get' . ucfirst($key);\n\n                $brickContainer = $object->$brickGetter();\n                $subBrickGetter = 'get' . ucfirst($brickType);\n                $subBrickSetter = 'set' . ucfirst($brickType);\n                $subBrickType = $brickContainer->$subBrickGetter();\n\n                if (!$subBrickType) {\n                    $brickClass = 'Pimcore\\\\Model\\\\DataObject\\\\Objectbrick\\\\Data\\\\' . ucfirst($brickType);\n                    $subBrickType = new $brickClass($object);\n                    $subBrickSetter = 'set' . ucfirst($brickType);\n                    $brickContainer->$subBrickSetter($subBrickType);\n                }\n\n                $innerSetter = 'set' . ucfirst($def->getName());\n                $result = $callback($subBrickType, $innerSetter, $def->getName());\n\n                $brickContainer->$subBrickSetter($subBrickType);\n\n                return $result;\n            }\n        } elseif (method_exists($container, $setter)) {\n            $result = $callback($container, $setter, $attribute);\n        }\n\n        return $result;\n    }\n\n    /**\n     * @param string $attribute\n     * @param array $args\n     *\n     * @return mixed\n     */\n    public static function resolveValue(BaseDescriptor $descriptor, Data $fieldDefinition, $attribute, $args = [])\n    {\n        $getter = 'get' . ucfirst($fieldDefinition->getName());\n        $objectId = $descriptor['id'];\n        $object = Concrete::getById($objectId);\n        if (!$object) {\n            return null;\n        }\n        $result = null;\n        $container = $object;\n\n        $attributeParts = explode('~', $attribute);\n\n        if ($descriptor instanceof FieldcollectionDescriptor) {\n            $descriptorData = $descriptor->getArrayCopy();\n            $fcFieldNameGetter = 'get' . ucfirst($descriptorData['__fcFieldname']);\n            $fcData = $object->$fcFieldNameGetter();\n            if ($fcData) {\n                $items = $fcData->getItems();\n                $idx = $descriptorData['__itemIdx'];\n                $itemData = $items[$idx];\n                if (is_array($args) && isset($args['language'])) {\n                    $result = $itemData->$getter($args['language']);\n                } else {\n                    $result = $itemData->$getter();\n                }\n            }\n        } elseif ($descriptor instanceof BlockDescriptor) {\n            $descriptorData = $descriptor->getArrayCopy();\n            $blockData = null;\n\n            if (isset($descriptorData['__fcFieldname']) && $descriptorData['__fcFieldname']) {\n                $fcFieldNameGetter = 'get' . ucfirst($descriptorData['__fcFieldname']);\n                $fcData = $object->$fcFieldNameGetter();\n\n                if ($fcData) {\n                    $items = $fcData->getItems();\n                    $idx = $descriptorData['__itemIdx'];\n                    $itemData = $items[$idx];\n                    $result = [];\n\n                    $blockGetter = 'get' . ucfirst($descriptorData['__blockName']);\n                    $blockData = call_user_func_array([$itemData, $blockGetter], $descriptorData['args'] ?? []);\n                }\n            } elseif (isset($descriptorData['__brickType']) && $descriptorData['__brickType']) {\n                $brickDescriptor = $descriptorData['__brickDescriptor'] ?? null;\n\n                $brickType = $descriptorData['__brickType'];\n                $brickKey = $descriptorData['__brickKey'];\n\n                $blockData = self::getValueFromObjectBrick(\n                    $object,\n                    $brickType,\n                    $brickKey,\n                    $brickDescriptor,\n                    $descriptorData\n                );\n            } else {\n                $blockGetter = 'get'.ucfirst($descriptorData['__blockName']);\n                $isLocalizedField = self::isLocalizedField($container, $fieldDefinition->getName());\n                if ($isLocalizedField) {\n                    $blockData = $object->$blockGetter($descriptorData['args']['language'] ?? null);\n                } else {\n                    $blockData = $object->$blockGetter();\n                }\n            }\n\n            if ($blockData) {\n                $index = $descriptorData['__blockIndex'];\n                $itemData = $blockData[$index];\n                $result = $itemData[$descriptorData['__blockFieldName']]->getData();\n\n                if (isset($descriptorData['__localized']) && $descriptorData['__localized']) {\n                    $result = $result->getLocalizedValue(\n                        $descriptorData['__localized'],\n                        $args['language'] ?? null,\n                        isset($args['getFallbackLanguageValue']) ? !$args['getFallbackLanguageValue'] : false\n                    );\n                }\n            }\n        } elseif (substr($attribute, 0, 1) == '~') {\n            // key value, ignore for now\n        } elseif (count($attributeParts) > 1) {\n            // TODO once the datahub gets integrated into the core we should try to share this code\n            // with Pimcore\\Model\\DataObject\\Service::gridObjectData\n            $context = ['object' => $object];\n            $brickDescriptor = null;\n\n            // brick\n            $brickType = $attributeParts[0];\n            if (strpos($brickType, '?') !== false) {\n                $brickDescriptor = substr($brickType, 1);\n                $brickDescriptor = json_decode($brickDescriptor, true);\n                $brickType = $brickDescriptor['containerKey'];\n            }\n\n            $brickKey = $attributeParts[1];\n            $key = \\Pimcore\\Model\\DataObject\\Service::getFieldForBrickType($object->getclass(), $brickType);\n\n            $brickClass = Definition::getByKey($brickType);\n            $context['outerFieldname'] = $key;\n\n            if ($brickDescriptor) {\n                $innerContainer = $brickDescriptor['innerContainer'] ?? 'localizedfields';\n                /** @var Data\\Localizedfields $localizedFields */\n                $localizedFields = $brickClass->getFieldDefinition($innerContainer);\n                $def = $localizedFields->getFieldDefinition($brickDescriptor['brickfield']);\n            } else {\n                $def = $brickClass->getFieldDefinition($brickKey, $context);\n            }\n\n            if (!empty($key)) {\n                // if the definition is not set try to get the definition from localized fields\n                if (!$def) {\n                    /** @var Data\\Localizedfields|null $locFields */\n                    $locFields = $object->getClass()->getFieldDefinition('localizedfields');\n                    if ($locFields) {\n                        $def = $locFields->getFieldDefinition($key, $context);\n                    }\n                }\n                $value = self::getValueForObject($object, $key, $brickType, $brickKey, $def, $context, $brickDescriptor, $args);\n\n                return $value;\n            }\n        } elseif (method_exists($container, $getter)) {\n            $isLocalizedField = self::isLocalizedField($container, $fieldDefinition->getName());\n            if ($isLocalizedField) {\n                $result = $container->$getter($args['language'] ?? null);\n            } else {\n                $result = $container->$getter();\n            }\n        }\n\n        return $result;\n    }\n\n    /**\n     * Check whether given field in container is localized\n     *\n     * @param object $container\n     * @param string $fieldName\n     *\n     */\n    private static function isLocalizedField($container, $fieldName): bool\n    {\n        $containerDefinition = null;\n\n        if ($container instanceof Concrete) {\n            $containerDefinition = $container->getClass();\n        } elseif ($container instanceof AbstractData) {\n            $containerDefinition = $container->getDefinition();\n        }\n\n        if ($containerDefinition) {\n            /** @var Data\\Localizedfields|null $lfDefs */\n            $lfDefs = $containerDefinition->getFieldDefinition('localizedfields');\n            if ($lfDefs?->getFieldDefinition($fieldName)) {\n                return true;\n            }\n        }\n\n        return false;\n    }\n\n    public function getDataObjectMutationTypeGeneratorFactories(): ContainerInterface\n    {\n        return $this->dataObjectMutationTypeGeneratorFactories;\n    }\n\n    public function setDataObjectMutationTypeGeneratorFactories(ContainerInterface $dataObjectMutationTypeGeneratorFactories): void\n    {\n        $this->dataObjectMutationTypeGeneratorFactories = $dataObjectMutationTypeGeneratorFactories;\n    }\n\n    public function getDataObjectMutationOperatorFactories(): ContainerInterface\n    {\n        return $this->dataObjectMutationOperatorFactories;\n    }\n\n    public function setDataObjectMutationOperatorFactories(ContainerInterface $dataObjectMutationOperatorFactories): void\n    {\n        $this->dataObjectMutationOperatorFactories = $dataObjectMutationOperatorFactories;\n    }\n\n    public function getDataObjectDataTypes(): array\n    {\n        return $this->dataObjectDataTypes;\n    }\n\n    /**\n     * @param mixed $data\n     * @param ElementInterface $target\n     * @param array $args\n     * @param array $context\n     */\n    public function extractData($data, $target, $args = [], $context = [], ?ResolveInfo $resolveInfo = null)\n    {\n        $fieldHelper = null;\n        if ($target instanceof Document) {\n            $fieldHelper = $this->getDocumentFieldHelper();\n        } elseif ($target instanceof Asset) {\n            $fieldHelper = $this->getAssetFieldHelper();\n        } elseif ($target instanceof AbstractObject) {\n            $fieldHelper = $this->getObjectFieldHelper();\n        }\n\n        if ($fieldHelper) {\n            $fieldHelper->extractData($data, $target, $args, $context, $resolveInfo);\n        }\n    }\n\n    /**\n     *\n     * @return bool\n     */\n    public function querySchemaEnabled(string $type)\n    {\n        $context = RuntimeCache::get(PimcoreDataHubBundle::RUNTIME_CONTEXT_KEY);\n        /** @var Configuration $configuration */\n        $configuration = $context['configuration'];\n        if ($type === 'object') {\n            $types = $configuration->getConfiguration()['schema']['queryEntities'];\n            $enabled = count($types) > 0;\n        } else {\n            $enabled = $configuration->getSpecialEntities()[$type]['read'] ?? false;\n        }\n\n        return $enabled;\n    }\n\n    public static function getValueFromObjectBrick(\n        Concrete $object,\n        string $brickType,\n        string $brickKey,\n        ?array $brickDescriptor = null,\n        array $descriptorData = [],\n    ): mixed {\n        $context = ['object' => $object];\n\n        $key = \\Pimcore\\Model\\DataObject\\Service::getFieldForBrickType($object->getclass(), $brickType);\n        $brickClass = Definition::getByKey($brickType);\n        if (!$brickClass) {\n            return null;\n        }\n\n        $context['outerFieldname'] = $key;\n        $def = $brickClass->getFieldDefinition($brickKey, $context);\n        if (!$def) {\n            return null;\n        }\n\n        if (!empty($key)) {\n            return self::getValueForObject(\n                $object,\n                $key,\n                $brickType,\n                $brickKey,\n                $def,\n                $context,\n                $brickDescriptor,\n                $descriptorData['args'] ?? []\n            );\n        }\n\n        return null;\n    }\n\n    public static function parseObjectBrickFieldName(\n        string $fieldName\n    ): array {\n        $parts = explode('~', $fieldName);\n        if (count($parts) > 1) {\n            [$brickType, $brickKey] = $parts;\n            $brickDescriptor = null;\n\n            if (strpos($brickType, '?') !== false) {\n                $brickDescriptor = substr($brickType, 1);\n                $brickDescriptor = json_decode($brickDescriptor, true);\n                $brickType = $brickDescriptor['containerKey'];\n            }\n\n            return [\n                'brickType' => $brickType,\n                'brickKey' => $brickKey,\n                'brickDescriptor' => $brickDescriptor,\n            ];\n        }\n\n        return [];\n    }\n\n    public function getFormattedDateTimeStringFromCarbon(\n        ?Carbon $dt\n    ): ?string {\n\n        if (!$dt) {\n            return null;\n        }\n\n        if (Version::getMajorVersion() < 12) {\n            return (string) $dt;\n        }\n\n        return $dt->toIso8601String();\n    }\n\n    public function getFormattedDateTimeStringFromTimestamp(\n        float|int|string $ts\n    ): ?string {\n        return $this->getFormattedDateTimeStringFromCarbon(\n            Carbon::createFromTimestamp($ts)\n        );\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/SharedType/HotspotCropType.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\SharedType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\Type;\n\n/**\n * Class HotspotCropType\n *\n * @package Pimcore\\Bundle\\DataHubBundle\\GraphQL\\SharedType\n *\n * @internal\n */\nfinal class HotspotCropType extends ObjectType\n{\n    /**\n     * @var static|null\n     */\n    protected static $instance;\n\n    /**\n     * @return HotspotCropType\n     */\n    public static function getInstance()\n    {\n        if (!self::$instance) {\n            $config = [\n                'fields' => [\n                    'cropTop' => Type::float(),\n                    'cropLeft' => Type::float(),\n                    'cropHeight' => Type::float(),\n                    'cropWidth' => Type::float(),\n                    'cropPercent' => Type::boolean(),\n                ],\n            ];\n            self::$instance = new static($config);\n        }\n\n        return self::$instance;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/SharedType/HotspotHotspotType.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\SharedType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\n/**\n * Class HotspotHotspotType\n *\n * @package Pimcore\\Bundle\\DataHubBundle\\GraphQL\\SharedType\n *\n * @internal\n */\nfinal class HotspotHotspotType extends ObjectType\n{\n    use ServiceTrait;\n\n    /**\n     * @param array $config\n     */\n    public function __construct(Service $graphQlService, $config = [])\n    {\n        $this->graphQlService = $graphQlService;\n        $this->build($config);\n        parent::__construct($config);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $propertyType = $this->getGraphQlService()->buildGeneralType('hotspot_metadata');\n        $resolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\HotspotType();\n\n        $config['fields'] = [\n            'top' => Type::float(),\n            'left' => Type::float(),\n            'height' => Type::float(),\n            'width' => Type::float(),\n            'data' => [\n                'type' => Type::listOf($propertyType),\n                'args' => [\n                    'keys' => [\n                        'type' => Type::listOf(Type::string()),\n                        'description' => 'comma seperated list of key names',\n                    ],\n                ],\n                'resolve' => [$resolver, 'resolveMetadata'],\n            ],\n            'name' => Type::string(),\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/SharedType/HotspotMarkerType.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\SharedType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\n/**\n * Class HotspotMarkerType\n *\n * @package Pimcore\\Bundle\\DataHubBundle\\GraphQL\\SharedType\n *\n * @internal\n */\nfinal class HotspotMarkerType extends ObjectType\n{\n    use ServiceTrait;\n\n    /**\n     * @param array $config\n     */\n    public function __construct(Service $graphQlService, $config = [])\n    {\n        $this->graphQlService = $graphQlService;\n        $this->build($config);\n        parent::__construct($config);\n    }\n\n    /**\n     * @param array $config\n     */\n    public function build(&$config)\n    {\n        $service = $this->getGraphQlService();\n        $propertyType = $service->buildGeneralType('hotspot_metadata');\n        $resolver = new \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\HotspotType();\n\n        $config['fields'] = [\n            'top' => Type::float(),\n            'left' => Type::float(),\n            'data' => [\n                'type' => Type::listOf($propertyType),\n                'args' => [\n                    'keys' => [\n                        'type' => Type::listOf(Type::string()),\n                        'description' => 'comma seperated list of key names',\n                    ],\n                ],\n                'resolve' => [$resolver, 'resolveMetadata'],\n            ],\n            'name' => Type::string(),\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/SharedType/JsonType.php",
    "content": "<?php declare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\SharedType;\n\nuse GraphQL\\Type\\Definition\\ScalarType;\nuse GraphQL\\Utils\\Utils as GraphQLUtils;\n\nfinal class JsonType extends ScalarType\n{\n    public function serialize(mixed $value): string\n    {\n        return json_encode($value);\n    }\n\n    public function parseValue(mixed $value): mixed\n    {\n        return json_decode($value);\n    }\n\n    public function parseLiteral(mixed $valueNode, ?array $variables = null): mixed\n    {\n        if (! property_exists($valueNode, 'value')) {\n            throw new \\Exception('Can only parse objects with a value property. Input: ' . GraphQLUtils::printSafeJson($valueNode));\n        }\n\n        return json_decode($valueNode->value);\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/SharedType/KeyValueType.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\SharedType;\n\nuse GraphQL\\Type\\Definition\\InputObjectType;\nuse GraphQL\\Type\\Definition\\Type;\n\n/**\n * @internal\n */\nfinal class KeyValueType extends InputObjectType\n{\n    /**\n     * @var static|null\n     */\n    protected static $instance;\n\n    /**\n     * @return KeyValueType\n     */\n    public static function getInstance()\n    {\n        if (!self::$instance) {\n            $config = [\n                'name' => 'KeyValue',\n                'fields' => [\n                    'key' => Type::string(),\n                    'value' => Type::string(),\n                ],\n            ];\n            self::$instance = new static($config);\n        }\n\n        return self::$instance;\n    }\n\n    /**\n     *\n     * @return array\n     */\n    public static function resolveAssociativeArray(?array $value)\n    {\n        if (null === $value) {\n            return [];\n        }\n\n        $res = [];\n\n        foreach ($value as $entry) {\n            $res[$entry['key']] = $entry['value'];\n        }\n\n        return $res;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Traits/ElementIdentificationTrait.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Exception\\ClientSafeException;\nuse Pimcore\\Model\\Element\\ElementInterface;\nuse Pimcore\\Model\\Element\\Service;\n\ntrait ElementIdentificationTrait\n{\n    private $typeKey = 'type';\n\n    private $idKey = 'id';\n\n    private $fullpathKey = 'fullpath';\n\n    private $supportedTypes = ['object', 'asset', 'document'];\n\n    /**\n     * Returns an element (object, document or asset) identified whether by id or fullpath\n     *\n     * @param array $value array including type (if not passed in the optional type argument), as well as id or fullpath (in case both are provided the id will be priorized)\n     * @param string|null $type can whether be 'object', 'asset' or 'document'\n     *\n     * @return ElementInterface|null can whether be an object, a document or an asset\n     *\n     * @throws ClientSafeException thrown if no type or neither an id nor a fullpath is provided\n     */\n    public function getElementByTypeAndIdOrPath($value, $type = null)\n    {\n        if (!isset($type)) {\n            $type = $this->getType($value);\n        }\n\n        if (!in_array($type, $this->supportedTypes)) {\n            throw new ClientSafeException('The type \"' . $type . '\" is not supported');\n        }\n\n        $isIdSet = $value[$this->idKey] ?? false;\n        $isFullpathSet = $value[$this->fullpathKey] ?? false;\n\n        if ($isIdSet && $isFullpathSet) {\n            throw new ClientSafeException('either id or fullpath expected but not both');\n        }\n\n        if ($isIdSet) {\n            return $this->getElementById($type, $value[$this->idKey]);\n        }\n\n        if ($isFullpathSet) {\n            return $this->getElementByPath($type, $value[$this->fullpathKey]);\n        }\n\n        throw new ClientSafeException('either ' . $this->idKey . ' or ' . $this->fullpathKey . ' expected');\n    }\n\n    /**\n     * Can be overwritten\n     */\n    protected function getElementById($type, $id)\n    {\n        return Service::getElementById($type, $id);\n    }\n\n    /**\n     * Can be overwritten\n     */\n    protected function getElementByPath($type, $fullpath)\n    {\n        return Service::getElementByPath($type, $fullpath);\n    }\n\n    /**\n     * @param array $value\n     *\n     * @return mixed\n     *\n     * @throws ClientSafeException\n     */\n    private function getType($value)\n    {\n        if (!isset($value[$this->typeKey])) {\n            throw new ClientSafeException('type expected');\n        }\n\n        return $value[$this->typeKey];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Traits/ElementTagTrait.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits;\n\nuse Pimcore\\Model\\Element\\Tag;\n\ntrait ElementTagTrait\n{\n    /**\n     *\n     * @return array\n     */\n    protected function getTags(string $element_type, int $id)\n    {\n        $tag = new Tag();\n        $tags = $tag->getDao()->getTagsForElement($element_type, $id);\n        $result = [];\n        if ($tags) {\n            foreach ($tags as $tag) {\n                $result[] = [\n                    'id' => $tag->getId(),\n                    'name' => $tag->getName(),\n                    'path' => $tag->getNamePath(),\n                ];\n            }\n        }\n\n        return $result;\n    }\n\n    /**\n     * @param array $tags\n     *\n     * @return bool\n     */\n    protected function setTags(string $element_type, int $id, $tags)\n    {\n        $tag = new Tag;\n        $tag->getDao()->setTagsForElement($element_type, $id, $tags);\n\n        return true;\n    }\n\n    /**\n     *\n     * @return array|bool\n     */\n    protected function getTagsFromInput(array $input)\n    {\n        $tags = [];\n        foreach ($input as $tag_input) {\n            if (isset($tag_input['id']) && $tag_input['id']) {\n                $tag = Tag::getById((int)$tag_input['id']);\n            } elseif (isset($tag_input['path']) && $tag_input['path']) {\n                $tag = Tag::getByPath($tag_input['path']);\n            } else {\n                return false;\n            }\n            if (!$tag) {\n                return false;\n            }\n            $tags[] = $tag;\n        }\n\n        return $tags;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Traits/PermissionInfoTrait.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits;\n\ntrait PermissionInfoTrait\n{\n    /**\n     * @var bool\n     */\n    protected $omitPermissionCheck = false;\n\n    /**\n     * @return bool\n     */\n    public function getOmitPermissionCheck()\n    {\n        return $this->omitPermissionCheck;\n    }\n\n    public function setOmitPermissionCheck(bool $omitPermissionCheck)\n    {\n        $this->omitPermissionCheck = $omitPermissionCheck;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/Traits/ServiceTrait.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits;\n\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\n\ntrait ServiceTrait\n{\n    /**\n     * @var Service\n     */\n    protected $graphQlService;\n\n    /**\n     * @return Service\n     */\n    public function getGraphQlService()\n    {\n        return $this->graphQlService;\n    }\n\n    public function setGraphQLService(Service $graphQlService)\n    {\n        $this->graphQlService = $graphQlService;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/TranslationType/TranslationType.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\TranslationType;\n\nuse GraphQL\\Type\\Definition\\ObjectType;\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementDescriptor;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\SharedType\\JsonType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ServiceTrait;\n\n/**\n * @internal\n */\nfinal class TranslationType extends ObjectType\n{\n    use ServiceTrait;\n\n    protected string $fieldname;\n\n    /**\n     * @throws \\Exception\n     */\n    public function __construct(Service $graphQlService, array $config = ['name' => 'translation', 'fields' => []])\n    {\n        $this->setGraphQLService($graphQlService);\n        $this->build($config);\n        parent::__construct($config);\n    }\n\n    /**\n     * @throws \\Exception\n     */\n    public function build(array &$config)\n    {\n        $config['fields'] = [\n            'key' => Type::string(),\n            'creationDate' => [\n                'type' => Type::string(),\n                'resolve' => function (\n                    array|ElementDescriptor $value\n                ) {\n                    return $this->getGraphQlService()->getFormattedDateTimeStringFromTimestamp(\n                        $value['creationDate']\n                    );\n                },\n            ],\n            'modificationDate' => [\n                'type' => Type::string(),\n                'resolve' => function (\n                    array|ElementDescriptor $value\n                ) {\n                    return $this->getGraphQlService()->getFormattedDateTimeStringFromTimestamp(\n                        $value['modificationDate']\n                    );\n                },\n            ],\n            'domain' => Type::string(),\n            'type' => Type::string(),\n            'translations' => [\n                'type' => new JsonType(),\n            ],\n        ];\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/TypeDefinitionInterface.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL;\n\nuse GraphQL\\Type\\Definition\\Type;\nuse Pimcore\\Model\\DataObject\\ClassDefinition;\nuse Pimcore\\Model\\DataObject\\ClassDefinition\\Data;\n\ninterface TypeDefinitionInterface\n{\n    /**\n     * @param ClassDefinition|null $class\n     * @param object|null $container\n     *\n     * @return Type\n     */\n    public function getFieldType(Data $fieldDefinition, $class = null, $container = null);\n}\n"
  },
  {
    "path": "src/GraphQL/TypeInterface/CsFeature.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\TypeInterface;\n\nuse GraphQL\\Type\\Definition\\InterfaceType;\nuse GraphQL\\Type\\Definition\\Type;\n\n/**\n * @internal\n */\nfinal class CsFeature\n{\n    public static $instance;\n\n    /**\n     * Defines fields common to all query types\n     *\n     * @return InterfaceType\n     */\n    public static function getInstance()\n    {\n        if (!self::$instance) {\n            self::$instance =\n                new InterfaceType(\n                    [\n                        'name' => 'csFeatureInterface',\n                        'fields' => [\n                            'id' => [\n                                'type' => Type::int(),\n                            ],\n                            'name' => [\n                                'type' => Type::string(),\n                            ],\n                            'title' => [\n                                'type' => Type::string(),\n                            ],\n                            'type' => [\n                                'type' => Type::string(),\n                            ],\n                            'description' => [\n                                'type' => Type::string(),\n                            ],\n                        ],\n                    ]\n\n                );\n        }\n\n        return self::$instance;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/TypeInterface/Element.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\TypeInterface;\n\nuse GraphQL\\Type\\Definition\\InterfaceType;\nuse GraphQL\\Type\\Definition\\Type;\n\n/**\n * @internal\n */\nfinal class Element\n{\n    public static $instance;\n\n    /**\n     * Defines fields common to all query types\n     *\n     * @return InterfaceType\n     */\n    public static function getInstance()\n    {\n        if (!self::$instance) {\n            self::$instance =\n                new InterfaceType(\n                    [\n                        'name' => 'element',\n                        'fields' => [\n                            'id' => [\n                                'type' => Type::id(),\n                            ],\n                        ],\n                    ]\n                );\n        }\n\n        return self::$instance;\n    }\n}\n"
  },
  {
    "path": "src/GraphQL/TypeInterface/Property.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\GraphQL\\TypeInterface;\n\nuse GraphQL\\Type\\Definition\\InterfaceType;\nuse GraphQL\\Type\\Definition\\Type;\n\n/**\n * @internal\n */\nfinal class Property\n{\n    public static $instance;\n\n    /**\n     * @return InterfaceType\n     */\n    public static function getInstance()\n    {\n        if (!self::$instance) {\n            self::$instance =\n                new InterfaceType(\n                    [\n                        'name' => 'property',\n                        'fields' => [\n                            'name' => [\n                                'type' => Type::string(),        // name of property\n                            ],\n                            'type' => [\n                                'type' => Type::string(),        // property type\n                            ],\n                        ],\n                    ]\n\n                );\n        }\n\n        return self::$instance;\n    }\n}\n"
  },
  {
    "path": "src/Hydrator/ConfigurationDehydrator.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Hydrator;\n\n/**\n * @internal\n *\n * Dehydrates configuration data from client/API format to storage format.\n * This is the inverse operation of hydration - converting from DTOs/schemas\n * back to the internal domain model format.\n */\nfinal readonly class ConfigurationDehydrator implements ConfigurationDehydratorInterface\n{\n    public function dehydrate(array $configuration): array\n    {\n        $configuration = $this->dehydrateSchemaEntities($configuration);\n        $configuration = $this->dehydrateSpecialEntities($configuration);\n\n        return $this->dehydrateApiKeys($configuration);\n    }\n\n    private function dehydrateSchemaEntities(array $configuration): array\n    {\n        $keys = ['queryEntities', 'mutationEntities'];\n        foreach ($keys as $key) {\n            $transformedEntities = [];\n            if (isset($configuration['schema'][$key]) && is_array($configuration['schema'][$key])) {\n                foreach ($configuration['schema'][$key] as $entity) {\n                    if (isset($entity['id'])) {\n                        $transformedEntities[$entity['id']] = $entity;\n                    }\n                }\n            }\n            $configuration['schema'][$key] = $transformedEntities;\n        }\n\n        return $configuration;\n    }\n\n    private function dehydrateSpecialEntities(array $configuration): array\n    {\n        if (!isset($configuration['schema']['specialEntities']) || !is_array($configuration['schema']['specialEntities'])) {\n            return $configuration;\n        }\n\n        $transformedEntities = [];\n\n        foreach ($configuration['schema']['specialEntities'] as $entity) {\n            if (isset($entity['name'])) {\n                $transformedEntities[$entity['name']] = [\n                    'read' => $entity['readAllowed'] ?? false,\n                    'create' => $entity['createAllowed'] ?? false,\n                    'update' => $entity['updateAllowed'] ?? false,\n                    'delete' => $entity['deleteAllowed'] ?? false,\n                ];\n            }\n        }\n\n        $configuration['schema']['specialEntities'] = $transformedEntities;\n\n        return $configuration;\n    }\n\n    private function dehydrateApiKeys(array $configuration): array\n    {\n        if (isset($configuration['security']['apikey']) && is_string($configuration['security']['apikey'])) {\n            $configuration['security']['apikey'] = explode(\n                \"\\n\",\n                trim($configuration['security']['apikey'], \"\\n\")\n            );\n        }\n\n        return $configuration;\n    }\n}\n"
  },
  {
    "path": "src/Hydrator/ConfigurationDehydratorInterface.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Hydrator;\n\n/**\n * @internal\n */\ninterface ConfigurationDehydratorInterface\n{\n    /**\n     * Dehydrate configuration from client/API format to storage format\n     *\n     * Transforms:\n     * - Query/mutation entities from arrays to associative arrays indexed by id\n     * - Special entities from client format (readAllowed, createAllowed, etc.) to storage format (read, create, etc.)\n     * - API keys from multiline string to array\n     */\n    public function dehydrate(array $configuration): array;\n}\n"
  },
  {
    "path": "src/Hydrator/ConfigurationDetailHydrator.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Hydrator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\Configuration;\nuse Pimcore\\Bundle\\DataHubBundle\\Schema\\ConfigurationDetail;\n\n/**\n * @internal\n */\nfinal readonly class ConfigurationDetailHydrator implements ConfigurationDetailHydratorInterface\n{\n    public function hydrate(\n        Configuration $configuration,\n        array $supportedQueryDataTypes,\n        array $supportedMutationDataTypes\n    ): ConfigurationDetail {\n        return new ConfigurationDetail(\n            $configuration->getName(),\n            $configuration->getConfiguration(),\n            $configuration->getPermissionsConfig(),\n            $supportedQueryDataTypes,\n            $supportedMutationDataTypes,\n            $configuration->getModificationDate()\n        );\n    }\n}\n"
  },
  {
    "path": "src/Hydrator/ConfigurationDetailHydratorInterface.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Hydrator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\Configuration;\nuse Pimcore\\Bundle\\DataHubBundle\\Schema\\ConfigurationDetail;\n\n/**\n * @internal\n */\ninterface ConfigurationDetailHydratorInterface\n{\n    public function hydrate(\n        Configuration $configuration,\n        array $supportedQueryDataTypes,\n        array $supportedMutationDataTypes\n    ): ConfigurationDetail;\n}\n"
  },
  {
    "path": "src/Hydrator/ConfigurationHydrator.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Hydrator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\Configuration;\nuse Pimcore\\Bundle\\DataHubBundle\\Schema\\Configuration as HydratedConfiguration;\n\n/**\n * @internal\n */\nfinal readonly class ConfigurationHydrator implements ConfigurationHydratorInterface\n{\n    public function hydrate(\n        Configuration $config,\n        ?string $group = null,\n        array $existingChildren = [],\n    ): HydratedConfiguration {\n\n        if ($group) {\n            return $this->hydrateGroup($config, $existingChildren, $group);\n        }\n\n        return $this->hydrateItem($config);\n    }\n\n    private function hydrateItem(\n        Configuration $config\n    ): HydratedConfiguration {\n        $name = $config->getName();\n        $type = $config->getType() ?: 'graphql';\n\n        return new HydratedConfiguration(\n            id: $name,\n            text: htmlspecialchars($name),\n            type: 'config',\n            iconCls: 'plugin_pimcore_datahub_icon_' . $type,\n            expandable: false,\n            leaf: true,\n            permissions: [\n                'delete' => $config->isAllowed('delete'),\n                'update' => $config->isAllowed('update'),\n            ],\n            adapter: $type,\n            writable: $config->isWriteable(),\n            hasStudioColumnConfig: $this->hasStudioColumnConfig($config),\n        );\n    }\n\n    private function hasStudioColumnConfig(Configuration $config): bool\n    {\n        $configuration = $config->configuration;\n\n        if (!is_array($configuration)) {\n            return false;\n        }\n\n        // Rule 1: eventsSchema -> dataObjectClasses -> [*] -> columns\n        if ($this->dataObjectClassesHaveColumns($configuration['eventsSchema']['dataObjectClasses'] ?? [])) {\n            return true;\n        }\n\n        $schema = $configuration['schema'] ?? [];\n\n        if (!is_array($schema)) {\n            return false;\n        }\n\n        // Rule 2: schema -> columns\n        // Rule 3: schema -> dataObjectClasses -> [*] -> columns\n        return array_key_exists('columns', $schema)\n            || $this->dataObjectClassesHaveColumns($schema['dataObjectClasses'] ?? []);\n    }\n\n    private function dataObjectClassesHaveColumns(mixed $dataObjectClasses): bool\n    {\n        if (!is_array($dataObjectClasses)) {\n            return false;\n        }\n\n        foreach ($dataObjectClasses as $class) {\n            if (is_array($class) && array_key_exists('columns', $class)) {\n                return true;\n            }\n        }\n\n        return false;\n    }\n\n    /**\n     * @param HydratedConfiguration[] $existingChildren\n     */\n    private function hydrateGroup(\n        Configuration $config,\n        array $existingChildren,\n        string $group\n    ): HydratedConfiguration {\n        return new HydratedConfiguration(\n            id: 'group_' . $group,\n            text: htmlspecialchars($group),\n            type: 'group',\n            iconCls: 'pimcore_icon_folder',\n            expandable: true,\n            leaf: false,\n            allowChildren: true,\n            group: $group,\n            children: [ ... $existingChildren, $this->hydrateItem($config)]\n        );\n    }\n}\n"
  },
  {
    "path": "src/Hydrator/ConfigurationHydratorInterface.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Hydrator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\Configuration;\nuse Pimcore\\Bundle\\DataHubBundle\\Schema\\Configuration as HydratedConfiguration;\n\n/**\n * @internal\n */\ninterface ConfigurationHydratorInterface\n{\n    /**\n     * @param HydratedConfiguration[] $existingChildren\n     */\n    public function hydrate(\n        Configuration $config,\n        ?string $group = null,\n        array $existingChildren = [],\n    ): HydratedConfiguration;\n}\n"
  },
  {
    "path": "src/Hydrator/PermissionUserHydrator.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Hydrator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\Schema\\PermissionUser;\nuse Pimcore\\Model\\User;\n\n/**\n * @internal\n */\nfinal readonly class PermissionUserHydrator implements PermissionUserHydratorInterface\n{\n    public function hydrate(User|User\\Role $user, string $type): PermissionUser\n    {\n        return new PermissionUser(\n            id: $user->getId(),\n            text: $user->getName(),\n            elementType: $type\n        );\n    }\n}\n"
  },
  {
    "path": "src/Hydrator/PermissionUserHydratorInterface.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Hydrator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\Schema\\PermissionUser;\nuse Pimcore\\Model\\User;\n\n/**\n * @internal\n */\ninterface PermissionUserHydratorInterface\n{\n    public function hydrate(User|User\\Role $user, string $type): PermissionUser;\n}\n"
  },
  {
    "path": "src/Hydrator/ThumbnailHydrator.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Hydrator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\Schema\\Thumbnail;\nuse Pimcore\\Model\\Asset\\Image\\Thumbnail\\Config;\n\n/**\n * @internal\n */\nfinal readonly class ThumbnailHydrator implements ThumbnailHydratorInterface\n{\n    public function hydrate(Config $config): Thumbnail\n    {\n        return new Thumbnail(\n            $config->getName(),\n            $config->getName()\n        );\n    }\n}\n"
  },
  {
    "path": "src/Hydrator/ThumbnailHydratorInterface.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Hydrator;\n\nuse Pimcore\\Bundle\\DataHubBundle\\Schema\\Thumbnail;\nuse Pimcore\\Model\\Asset\\Image\\Thumbnail\\Config;\n\n/**\n * @internal\n */\ninterface ThumbnailHydratorInterface\n{\n    public function hydrate(Config $config): Thumbnail;\n}\n"
  },
  {
    "path": "src/Installer.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle;\n\nuse Pimcore\\Bundle\\DataHubBundle\\Migrations\\PimcoreX\\Version20230503165847;\nuse Pimcore\\Db;\nuse Pimcore\\Extension\\Bundle\\Installer\\Exception\\InstallationException;\nuse Pimcore\\Extension\\Bundle\\Installer\\SettingsStoreAwareInstaller;\nuse Pimcore\\Logger;\nuse Pimcore\\Model\\Tool\\SettingsStore;\nuse Pimcore\\Model\\User\\Permission\\Definition;\n\n/**\n * @internal\n */\nfinal class Installer extends SettingsStoreAwareInstaller\n{\n    const DATAHUB_PERMISSION_CATEGORY = 'Datahub';\n\n    const CONFIG_NAME = 'plugin_datahub_config';\n\n    const DATAHUB_ADAPTER_PERMISSION = 'plugin_datahub_adapter_graphql';\n\n    const DATAHUB_ADMIN_PERMISSION = 'plugin_datahub_admin';\n\n    public function needsReloadAfterInstall(): bool\n    {\n        return true;\n    }\n\n    public function install(): void\n    {\n        try {\n            // create backend permissions\n            Definition::create(self::CONFIG_NAME)->setCategory(self::DATAHUB_PERMISSION_CATEGORY)->save();\n            Definition::create(self::DATAHUB_ADAPTER_PERMISSION)->setCategory(self::DATAHUB_PERMISSION_CATEGORY)->save();\n            Definition::create(self::DATAHUB_ADMIN_PERMISSION)->setCategory(self::DATAHUB_PERMISSION_CATEGORY)->save();\n\n            $types = ['document', 'asset', 'object'];\n\n            $db = Db::get();\n            foreach ($types as $type) {\n                $db->executeQuery('\n                    CREATE TABLE IF NOT EXISTS `plugin_datahub_workspaces_' . $type . \"` (\n                        `cid` INT(11) UNSIGNED NOT NULL DEFAULT '0',\n                        `cpath` VARCHAR(765) NULL DEFAULT NULL COLLATE 'utf8_general_ci',\n                        `configuration` VARCHAR(80) NOT NULL DEFAULT '0',\n                        `create` TINYINT(1) UNSIGNED NULL DEFAULT '0',\n                        `read` TINYINT(1) UNSIGNED NULL DEFAULT '0',\n                        `update` TINYINT(1) UNSIGNED NULL DEFAULT '0',\n                        `delete` TINYINT(1) UNSIGNED NULL DEFAULT '0',\n                        PRIMARY KEY (`cid`, `configuration`)\n                        )\n                    COLLATE='utf8mb4_unicode_520_ci'\n                    ENGINE=InnoDB\n                    ;\n                \");\n            }\n        } catch (\\Exception $e) {\n            Logger::warn($e);\n\n            throw new InstallationException($e->getMessage());\n        }\n\n        parent::install();\n    }\n\n    public function isInstalled(): bool\n    {\n        // When switching to SettingsStoreAwareInstaller, we need to explicitly mark this bundle installed, if Settingstore entry doesn't exists and datahub permission is installed\n        // e.g. updating from 1.0.* to 1.1.*\n        $installEntry = SettingsStore::get($this->getSettingsStoreInstallationId(), 'pimcore');\n        if (!$installEntry) {\n            $db = Db::get();\n            $check = $db->fetchOne('SELECT `key` FROM users_permission_definitions where `key` = ?', [self::CONFIG_NAME]);\n            if ($check) {\n                SettingsStore::set('BUNDLE_INSTALLED__Pimcore\\\\Bundle\\\\DataHubBundle\\\\PimcoreDataHubBundle', true, 'bool', 'pimcore');\n\n                return true;\n            }\n        }\n\n        return parent::isInstalled();\n    }\n\n    public function getLastMigrationVersionClassName(): string\n    {\n        return Version20230503165847::class;\n    }\n}\n"
  },
  {
    "path": "src/Migrations/PimcoreX/Version20210305134111.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Migrations\\PimcoreX;\n\nuse Doctrine\\DBAL\\Schema\\Schema;\nuse Pimcore\\Migrations\\BundleAwareMigration;\nuse Pimcore\\Model\\Tool\\SettingsStore;\n\n/**\n * @internal\n */\nfinal class Version20210305134111 extends BundleAwareMigration\n{\n    protected function getBundleName(): string\n    {\n        return 'PimcoreDataHubBundle';\n    }\n\n    protected function checkBundleInstalled(): bool\n    {\n        //need to always return true here, as the migration is setting the bundle installed\n        return true;\n    }\n\n    public function up(Schema $schema): void\n    {\n        SettingsStore::set('BUNDLE_INSTALLED__Pimcore\\\\Bundle\\\\DataHubBundle\\\\PimcoreDataHubBundle', true, 'bool', 'pimcore');\n    }\n\n    public function down(Schema $schema): void\n    {\n        // nothing to do\n    }\n}\n"
  },
  {
    "path": "src/Migrations/PimcoreX/Version20211108160248.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Migrations\\PimcoreX;\n\nuse Doctrine\\DBAL\\Schema\\Schema;\nuse Doctrine\\Migrations\\AbstractMigration;\nuse Pimcore\\Bundle\\DataHubBundle\\Installer;\n\n/**\n * @internal\n */\nfinal class Version20211108160248 extends AbstractMigration\n{\n    private function migrateUsers(bool $up): void\n    {\n        $listing = new \\Pimcore\\Model\\User\\Listing();\n        $listing->setCondition('`type` = ? or `type` = ?', ['role', 'user']);\n        $listing->load();\n        $list = $listing->getItems();\n\n        foreach ($list as $item) {\n            $permissions = $item->getPermissions();\n            if (($up === true && in_array(Installer::CONFIG_NAME, $permissions) && !in_array(Installer::DATAHUB_ADMIN_PERMISSION, $permissions)) ||\n                ($up === false && in_array(Installer::DATAHUB_ADMIN_PERMISSION, $permissions))) {\n                if ($up === true) {\n                    $permissions[] = Installer::DATAHUB_ADMIN_PERMISSION;\n                } else {\n                    array_splice($permissions, array_search(Installer::DATAHUB_ADMIN_PERMISSION, $permissions));\n                }\n                $item->setPermissions($permissions);\n                $item->save();\n            }\n        }\n    }\n\n    public function up(Schema $schema): void\n    {\n        $this->addSql(sprintf(\"INSERT IGNORE INTO users_permission_definitions (`key`) VALUES('%s');\", Installer::DATAHUB_ADAPTER_PERMISSION));\n        $this->addSql(sprintf(\"INSERT IGNORE INTO users_permission_definitions (`key`) VALUES('%s');\", Installer::DATAHUB_ADMIN_PERMISSION));\n        $this->addSql(sprintf(\"UPDATE users_permission_definitions SET `category` = '%s' WHERE `key` IN ('%s', '%s', '%s')\",\n            Installer::DATAHUB_PERMISSION_CATEGORY,\n            Installer::DATAHUB_ADAPTER_PERMISSION,\n            Installer::DATAHUB_ADMIN_PERMISSION,\n            Installer::CONFIG_NAME\n        ));\n        $this->migrateUsers(true);\n    }\n\n    public function down(Schema $schema): void\n    {\n        $this->migrateUsers(false);\n        $this->addSql(sprintf(\"DELETE FROM users_permission_definitions WHERE `key` = '%s'\", Installer::DATAHUB_ADAPTER_PERMISSION));\n        $this->addSql(sprintf(\"DELETE FROM users_permission_definitions WHERE `key` = '%s'\", Installer::DATAHUB_ADMIN_PERMISSION));\n    }\n}\n"
  },
  {
    "path": "src/Migrations/PimcoreX/Version20221212152145.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Migrations\\PimcoreX;\n\nuse Doctrine\\DBAL\\Schema\\Schema;\nuse Doctrine\\Migrations\\AbstractMigration;\n\n/**\n * @internal\n */\nfinal class Version20221212152145 extends AbstractMigration\n{\n    public function getDescription(): string\n    {\n        return 'Replace childs with children in configs';\n    }\n\n    public function up(Schema $schema): void\n    {\n        $this->addSql('UPDATE settings_store SET data=REPLACE(data, \\'\"childs\":\\', \\'\"children\":\\') WHERE scope=\\'pimcore_data_hub\\';');\n    }\n\n    public function down(Schema $schema): void\n    {\n        $this->addSql('UPDATE settings_store SET data=REPLACE(data, \\'\"children\":\\', \\'\"childs\":\\') WHERE scope=\\'pimcore_data_hub\\';');\n    }\n}\n"
  },
  {
    "path": "src/Migrations/PimcoreX/Version20230329133119.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Migrations\\PimcoreX;\n\nuse Doctrine\\DBAL\\Schema\\Schema;\nuse Doctrine\\Migrations\\AbstractMigration;\n\n/**\n * @internal\n */\nfinal class Version20230329133119 extends AbstractMigration\n{\n    public function getDescription(): string\n    {\n        return 'rename default dir for symfony-config files';\n    }\n\n    public function up(Schema $schema): void\n    {\n        $this->renameConfigFolder('data-hub', '-', '_');\n    }\n\n    public function down(Schema $schema): void\n    {\n        $this->renameConfigFolder('data_hub', '_', '-');\n    }\n\n    private function renameConfigFolder(string $folder, string $search, string $replace): void\n    {\n        $configDir = \\Pimcore::getContainer()->getParameter('kernel.project_dir') . '/var/config/';\n        if (is_dir($configDir . $folder)) {\n            rename($configDir . $folder, $configDir . str_replace($search, $replace, $folder));\n        }\n    }\n}\n"
  },
  {
    "path": "src/Migrations/PimcoreX/Version20230503165847.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Migrations\\PimcoreX;\n\nuse Doctrine\\DBAL\\Schema\\Schema;\nuse Doctrine\\Migrations\\AbstractMigration;\n\n/**\n * @internal\n */\nfinal class Version20230503165847 extends AbstractMigration\n{\n    private const CONFIG_DIR = PIMCORE_CONFIGURATION_DIRECTORY . '/data_hub';\n\n    public function getDescription(): string\n    {\n        return 'Replace childs with children in symfony configs';\n    }\n\n    public function up(Schema $schema): void\n    {\n        $this->replaceStringInFiles('childs:', 'children:');\n    }\n\n    public function down(Schema $schema): void\n    {\n        $this->replaceStringInFiles('children:', 'childs:');\n    }\n\n    private function replaceStringInFiles(string $search, string $replace): void\n    {\n        if (is_dir(self::CONFIG_DIR)) {\n            $files = scandir(self::CONFIG_DIR, 0);\n            for ($i = 2; $i < count($files); $i++) {\n                $file = self::CONFIG_DIR . '/' . $files[$i];\n                $fileContent = file_get_contents($file);\n                $fileContent = str_replace($search, $replace, $fileContent);\n                file_put_contents($file, $fileContent);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/Model/SpecialEntitySetting.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Model;\n\n/**\n * @internal\n */\nfinal class SpecialEntitySetting implements \\JsonSerializable\n{\n    protected $name;\n\n    protected $readPossible = false;\n\n    protected $createPossible = false;\n\n    protected $updatePossible = false;\n\n    protected $deletePossible = false;\n\n    protected $readAllowed = false;\n\n    protected $createAllowed = false;\n\n    protected $updateAllowed = false;\n\n    protected $deleteAllowed = false;\n\n    public function __construct(\n        string $name,\n        bool $readPossible,\n        bool $createPossible,\n        bool $updatePossible,\n        bool $deletePossible,\n        bool $readAllowed,\n        bool $createAllowed,\n        bool $updateAllowed,\n        bool $deleteAllowed\n    ) {\n        $this->name = $name;\n        $this->readPossible = $readPossible;\n        $this->createPossible = $createPossible;\n        $this->updatePossible = $updatePossible;\n        $this->deletePossible = $deletePossible;\n        $this->readAllowed = $readAllowed;\n        $this->createAllowed = $createAllowed;\n        $this->updateAllowed = $updateAllowed;\n        $this->deleteAllowed = $deleteAllowed;\n    }\n\n    /**\n     * @return array\n     */\n    #[\\ReturnTypeWillChange]\n    public function jsonSerialize()\n    {\n        return [\n            'name' => $this->name,\n            'readPossible' => $this->isReadPossible(),\n            'createPossible' => $this->isCreatePossible(),\n            'updatePossible' => $this->isUpdatePossible(),\n            'deletePossible' => $this->isDeletePossible(),\n\n            'readAllowed' => $this->isReadAllowed(),\n            'createAllowed' => $this->isCreateAllowed(),\n            'updateAllowed' => $this->isUpdateAllowed(),\n            'deleteAllowed' => $this->isDeleteAllowed(),\n        ];\n    }\n\n    /**\n     * @return string\n     */\n    public function getName()\n    {\n        return $this->name;\n    }\n\n    public function isReadPossible(): bool\n    {\n        return $this->readPossible;\n    }\n\n    public function isCreatePossible(): bool\n    {\n        return $this->createPossible;\n    }\n\n    public function isUpdatePossible(): bool\n    {\n        return $this->updatePossible;\n    }\n\n    public function isDeletePossible(): bool\n    {\n        return $this->deletePossible;\n    }\n\n    public function isReadAllowed(): bool\n    {\n        return $this->readAllowed;\n    }\n\n    public function isCreateAllowed(): bool\n    {\n        return $this->createAllowed;\n    }\n\n    public function isUpdateAllowed(): bool\n    {\n        return $this->updateAllowed;\n    }\n\n    public function isDeleteAllowed(): bool\n    {\n        return $this->deleteAllowed;\n    }\n}\n"
  },
  {
    "path": "src/MySafeException.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle;\n\nuse GraphQL\\Error\\ClientAware;\n\nfinal class MySafeException extends \\Exception implements ClientAware\n{\n    /**\n     * @var string|null\n     */\n    protected $category;\n\n    /**\n     * @param string|null $category\n     * @param string $message\n     * @param int $code\n     */\n    public function __construct($category = null, $message = '', $code = 0, ?\\Throwable $previous = null)\n    {\n        $this->category = $category;\n        parent::__construct($message, $code, $previous);\n    }\n\n    public function isClientSafe(): bool\n    {\n        return true;\n    }\n\n    /**\n     * @return string\n     */\n    public function getCategory()\n    {\n        return $this->category ? $this->category : 'datahub';\n    }\n}\n"
  },
  {
    "path": "src/OpenApi/Attribute/Request/FileUploadRequestBody.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Attribute\\Request;\n\nuse Attribute;\nuse OpenApi\\Attributes\\MediaType;\nuse OpenApi\\Attributes\\Property;\nuse OpenApi\\Attributes\\RequestBody;\nuse OpenApi\\Attributes\\Schema;\n\n/**\n * @internal\n */\n#[Attribute(Attribute::TARGET_METHOD)]\nfinal class FileUploadRequestBody extends RequestBody\n{\n    public function __construct(\n        string $description = 'File upload',\n        bool $required = true,\n        string $propertyName = 'file',\n        string $propertyDescription = 'File to upload',\n    ) {\n        parent::__construct(\n            required: $required,\n            content: new MediaType(\n                mediaType: 'multipart/form-data',\n                schema: new Schema(\n                    required: [$propertyName],\n                    properties: [\n                        new Property(\n                            property: $propertyName,\n                            description: $propertyDescription,\n                            type: 'string',\n                            format: 'binary',\n                        ),\n                    ],\n                    type: 'object'\n                )\n            )\n        );\n\n        $this->description = $description;\n    }\n}\n"
  },
  {
    "path": "src/OpenApi/Attribute/Response/Content/ExplorerUrlJson.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Attribute\\Response\\Content;\n\nuse OpenApi\\Attributes\\JsonContent;\nuse OpenApi\\Attributes\\Property;\n\n/**\n * @internal\n */\nfinal class ExplorerUrlJson extends JsonContent\n{\n    public function __construct()\n    {\n        parent::__construct(\n            required: ['explorerUrl'],\n            properties: [\n                new Property(\n                    property: 'explorerUrl',\n                    title: 'explorerUrl',\n                    description: 'The GraphQL Explorer URL for the specified configuration',\n                    type: 'string',\n                    example: '/pimcore-datahub-webservices/explorer/my-config'\n                ),\n            ],\n            type: 'object',\n        );\n    }\n}\n"
  },
  {
    "path": "src/OpenApi/Attribute/Response/Content/HtmlContent.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Attribute\\Response\\Content;\n\nuse OpenApi\\Attributes\\MediaType;\nuse OpenApi\\Attributes\\Schema;\n\n/**\n * @internal\n */\nfinal class HtmlContent extends MediaType\n{\n    public function __construct(string $description = 'HTML content')\n    {\n        parent::__construct(\n            mediaType: 'text/html',\n            schema: new Schema(\n                description: $description,\n                type: 'string',\n                example: '<!DOCTYPE html><html lang=\"en\"><body>...</body></html>'\n            )\n        );\n    }\n}\n"
  },
  {
    "path": "src/OpenApi/Config/Prefix.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Config;\n\nuse Pimcore\\Bundle\\StudioBackendBundle\\Controller\\AbstractApiController;\n\n/**\n * @internal\n */\nfinal class Prefix\n{\n    public const string BUNDLE = AbstractApiController::PREFIX . '/bundle/data-hub';\n}\n"
  },
  {
    "path": "src/OpenApi/Config/Tags.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\OpenApi\\Config;\n\nuse OpenApi\\Attributes\\Tag;\n\n#[Tag(\n    name: Tags::DataHub->value,\n    description: 'bundle_tag_data_hub_description',\n)]\n/**\n * @internal\n */\nenum Tags: string\n{\n    case DataHub = 'Bundle Data Hub';\n}\n"
  },
  {
    "path": "src/PimcoreDataHubBundle.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle;\n\nuse Pimcore\\Bundle\\DataHubBundle\\DependencyInjection\\Compiler\\CustomDocumentTypePass;\nuse Pimcore\\Bundle\\DataHubBundle\\DependencyInjection\\Compiler\\ImportExportLocatorsPass;\nuse Pimcore\\Bundle\\DataHubBundle\\DependencyInjection\\PimcoreDataHubExtension;\nuse Pimcore\\Extension\\Bundle\\AbstractPimcoreBundle;\nuse Pimcore\\Extension\\Bundle\\Installer\\InstallerInterface;\nuse Pimcore\\Extension\\Bundle\\Traits\\PackageVersionTrait;\nuse Symfony\\Component\\DependencyInjection\\ContainerBuilder;\nuse Symfony\\Component\\DependencyInjection\\Extension\\ExtensionInterface;\n\nfinal class PimcoreDataHubBundle extends AbstractPimcoreBundle\n{\n    use PackageVersionTrait;\n\n    const RUNTIME_CONTEXT_KEY = 'datahub_context';\n\n    const NOT_ALLOWED_POLICY_EXCEPTION = 1;\n\n    const NOT_ALLOWED_POLICY_NULL = 2;\n\n    //TODO decide whether we want to return null here or throw an exception (maybe make this configurable?)\n    public static $notAllowedPolicy = self::NOT_ALLOWED_POLICY_NULL;\n\n    public function getContainerExtension(): ExtensionInterface\n    {\n        return new PimcoreDataHubExtension();\n    }\n\n    public function build(ContainerBuilder $container): void\n    {\n        $container->addCompilerPass(new ImportExportLocatorsPass());\n        $container->addCompilerPass(new CustomDocumentTypePass());\n    }\n\n    protected function getComposerPackageName(): string\n    {\n        return 'pimcore/data-hub';\n    }\n\n    /**\n     * If the bundle has an installation routine, an installer is responsible of handling installation related tasks\n     *\n     */\n    public function getInstaller(): InstallerInterface\n    {\n        return $this->container->get(Installer::class);\n    }\n\n    /**\n     * @return int\n     */\n    public static function getNotAllowedPolicy()\n    {\n        return self::$notAllowedPolicy;\n    }\n\n    /**\n     * @param mixed $notAllowedPolicy\n     */\n    public static function setNotAllowedPolicy($notAllowedPolicy): void\n    {\n        self::$notAllowedPolicy = $notAllowedPolicy;\n    }\n}\n"
  },
  {
    "path": "src/Resources/config/config.yml",
    "content": "imports:\n    - { resource: services.yml }"
  },
  {
    "path": "src/Resources/config/doctrine_migrations.yml",
    "content": "doctrine_migrations:\n    migrations_paths:\n        'Pimcore\\Bundle\\DataHubBundle\\Migrations\\PimcoreX': '@PimcoreDataHubBundle/Migrations/PimcoreX'"
  },
  {
    "path": "src/Resources/config/eventlistener.yml",
    "content": "services:\n\n    _defaults:\n        autowire: true\n        autoconfigure: true\n        public: false\n\n    Pimcore\\Bundle\\DataHubBundle\\EventListener\\DataChangeListener:\n        tags:\n            - { name: kernel.event_subscriber }\n"
  },
  {
    "path": "src/Resources/config/graphql.yml",
    "content": "services:\n\n  _defaults:\n    autowire: true\n    autoconfigure: true\n    public: false\n\n  # asset\n  pimcore.datahub.graphql.assettype._asset_folder: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\AssetType\\AssetFolderType'\n  pimcore.datahub.graphql.assettype.asset_input: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\AssetType\\AssetInputType'\n  pimcore.datahub.graphql.assettype.asset_tree: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\AssetType\\AssetTreeType'\n\n\n # document\n  pimcore.datahub.graphql.documenttype.document: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType\\DocumentType'\n  pimcore.datahub.graphql.documenttype.document_tree: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType\\DocumentTreeType'\n  pimcore.datahub.graphql.documenttype.document_element: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType\\DocumentElementType'\n  pimcore.datahub.graphql.documenttype.document_email: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType\\EmailType'\n  pimcore.datahub.graphql.documenttype.document_hardlink: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType\\HardlinkType'\n  pimcore.datahub.graphql.documenttype.document_link: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType\\LinkType'\n  pimcore.datahub.graphql.documenttype.document_link_datatype: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\LinkDataType'\n  pimcore.datahub.graphql.documenttype.document_areablock_datatype: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\AreablockDataType'\n  pimcore.datahub.graphql.documenttype.document_scheduledblock_datatype: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\ScheduledblockDataType'\n  pimcore.datahub.graphql.documenttype.document_areablock_input_datatype: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\AreablockDataInputType'\n  pimcore.datahub.graphql.documenttype.document_scheduledblock_input_datatype: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\ScheduledblockDataInputType'\n  pimcore.datahub.graphql.documenttype.document_link_inputtype: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType\\DocumentLinkInputType'\n\n\n  pimcore.datahub.graphql.documenttype.document_page: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType\\PageType'\n  pimcore.datahub.graphql.documenttype.document_snippet: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType\\SnippetType'\n  pimcore.datahub.graphql.documenttype._document_folder: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType\\DocumentFolderType'\n\n  pimcore.datahub.graphql.documenttype.document_page_input: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType\\DocumentPageInputType'\n\n # data object\n  pimcore.datahub.graphql.dataobjecttype.image_input: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\InputType\\ImageInputType'\n  pimcore.datahub.graphql.dataobjecttype.elementdescriptor_input: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\ElementDescriptorInputType'\n  pimcore.datahub.graphql.dataobjecttype.geopoint_input: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\GeopointInputType'\n  pimcore.datahub.graphql.dataobjecttype.quantity_value_input: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\QuantityValueInputType'\n  pimcore.datahub.graphql.dataobjecttype.input_quantity_value_input: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\InputQuantityValueInputType'\n\n  pimcore.datahub.graphql.dataobjecttype.object: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\PimcoreObjectType'\n  pimcore.datahub.graphql.dataobjecttype.object_tree: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\ObjectTreeType'\n  pimcore.datahub.graphql.dataobjecttype._object_folder: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\ObjectFolderType'\n  pimcore.datahub.graphql.dataobjecttype.asset_metadata_manytoone: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\HrefType'\n\n # helpers\n  pimcore.datahub.graphql.fieldhelper.asset: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\FieldHelper\\AssetFieldHelper'\n  pimcore.datahub.graphql.fieldhelper.document: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\FieldHelper\\DocumentFieldHelper'\n  pimcore.datahub.graphql.fieldhelper.object: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\FieldHelper\\DataObjectFieldHelper'\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service:\n    public: true\n\n  # Field helper\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\FieldHelper\\DataObjectFieldHelper:\n    public: false\n    calls:\n      - [setGraphQlService, ['@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service']]\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\FieldHelper\\AssetFieldHelper:\n    public: false\n    calls:\n      - [setGraphQlService, ['@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service']]\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\FieldHelper\\DocumentFieldHelper:\n    public: false\n    calls:\n      - [setGraphQlService, ['@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service']]\n\n\n  #\n  # other stuff\n  #\n  pimcore.datahub.graphql.generaltype.factory.anytargettype:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\GeneralTypeFactory\n    arguments:\n      $className: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\General\\AnyTargetType\n    tags:\n      - { name: pimcore.datahub.graphql.generaltype_factory, id: anytarget }\n\n  pimcore.datahub.graphql.generaltype.factory.document_tree:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\GeneralTypeFactory\n    arguments:\n      $className: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType\\DocumentTreeType\n    tags:\n      - { name: pimcore.datahub.graphql.generaltype_factory, id: document_tree }\n\n\n  pimcore.datahub.graphql.generaltype.factory.object:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectTypeFactory\n    arguments:\n      $className: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\PimcoreObjectType\n    tags:\n      - { name: pimcore.datahub.graphql.generaltype_factory, id: object }     \n\n  pimcore.datahub.graphql.generaltype.factory.object_tree:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\GeneralTypeFactory\n    arguments:\n      $className: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\ObjectTreeType\n    tags:\n      - { name: pimcore.datahub.graphql.generaltype_factory, id: object_tree }\n\n  pimcore.datahub.graphql.generaltype.factory.asset_tree:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\GeneralTypeFactory\n    arguments:\n     $className: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\AssetType\\AssetTreeType\n    tags:\n      - { name: pimcore.datahub.graphql.generaltype_factory, id: asset_tree }\n\n  pimcore.datahub.graphql.generaltype.factory.hotspotmarkertype:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\GeneralTypeFactory\n    arguments:\n      $className: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\SharedType\\HotspotMarkerType\n    tags:\n      - { name: pimcore.datahub.graphql.generaltype_factory, id: hotspotmarker }\n\n  pimcore.datahub.graphql.generaltype.factory.hotspothotspottype:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\GeneralTypeFactory\n    arguments:\n      $className: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\SharedType\\HotspotHotspotType\n    tags:\n      - { name: pimcore.datahub.graphql.generaltype_factory, id: hotspothotspot }\n\n  pimcore.datahub.graphql.generaltype.factory.hotspot_metadata:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\GeneralTypeFactory\n    arguments:\n      $className: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\PropertyType\\HotspotMetadataType\n    tags:\n      - { name: pimcore.datahub.graphql.generaltype_factory, id: hotspot_metadata }\n\n  pimcore.datahub.graphql.generaltype.factory.element_property_property:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\GeneralTypeFactory\n    arguments:\n      $className: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\PropertyType\\ElementPropertyType\n    tags:\n      - { name: pimcore.datahub.graphql.generaltype_factory, id: element_property }\n\n  pimcore.datahub.graphql.generaltype.factory.element_tag:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\GeneralTypeFactory\n    arguments:\n      $className: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementTag\n    tags:\n      - { name: pimcore.datahub.graphql.generaltype_factory, id: element_tag }\n\n\n  pimcore.datahub.graphql.generaltype.factory.document_translation:\n      class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\GeneralTypeFactory\n      arguments:\n          $className: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType\\DocumentTranslationType\n      tags:\n          - { name: pimcore.datahub.graphql.generaltype_factory, id: document_translation }\n\n  pimcore.datahub.graphql.generaltype.factory.asset:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\GeneralTypeFactory\n    arguments:\n      $className: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\AssetType\\AssetType\n    tags:\n      - { name: pimcore.datahub.graphql.assettype_factory, id: asset }\n\n  pimcore.datahub.graphql.generaltype.factory.asset_metadataitem:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\GeneralTypeFactory\n    arguments:\n      $className: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\AssetType\\AssetMetadataItem\n    tags:\n      - { name: pimcore.datahub.graphql.assettype_factory, id: asset_metadataitem }\n\n  pimcore.datahub.graphql.generaltype.factory.asset_embeddedmetainfoitem:\n      class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\GeneralTypeFactory\n      arguments:\n          $className: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\AssetType\\AssetEmbeddedMetaInfoItem\n      tags:\n          - { name: pimcore.datahub.graphql.assettype_factory, id: asset_embeddedmetainfoitem }\n\n  pimcore.datahub.graphql.generaltype.factory.video:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\GeneralTypeFactory\n    arguments:\n      $className: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\VideoType\n    tags:\n      - { name: pimcore.datahub.graphql.assettype_factory, id: video }\n\n  pimcore.datahub.graphql.generaltype.factory.translation:\n      class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\GeneralTypeFactory\n      arguments:\n          $className: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\TranslationType\\TranslationType\n      tags:\n          - { name: pimcore.datahub.graphql.translationtype_factory, id: translation }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\General\\AnyDocumentTargetType: ~\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\ImageDataType: ~\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\LinkDataType: ~\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\AreablockDataType: ~\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\ScheduledblockDataType: ~\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\AreablockDataInputType: ~\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementType\\ScheduledblockDataInputType: ~\n\n  #\n  # built-in document-elements query datatypes type generator\n  #\n\n  pimcore.datahub.graphql.documentelementquerytypegenerator_datatype_areablock:\n      class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator\\Areablock\n      tags:\n          - { name: pimcore.datahub.graphql.documentelementquerytypegenerator, id: typegenerator_documentelementquerydatatype_areablock }\n\n  pimcore.datahub.graphql.documentelementquerytypegenerator_datatype_block:\n      class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator\\Block\n      tags:\n          - { name: pimcore.datahub.graphql.documentelementquerytypegenerator, id: typegenerator_documentelementquerydatatype_block }\n\n  pimcore.datahub.graphql.documentelementquerytypegenerator_datatype_checkbox:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator\\Checkbox\n    tags:\n      - { name: pimcore.datahub.graphql.documentelementquerytypegenerator, id: typegenerator_documentelementquerydatatype_checkbox }\n\n  pimcore.datahub.graphql.documentelementquerytypegenerator_datatype_date:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator\\Date\n    tags:\n      - { name: pimcore.datahub.graphql.documentelementquerytypegenerator, id: typegenerator_documentelementquerydatatype_date }\n\n  pimcore.datahub.graphql.documentelementquerytypegenerator_datatype_embed:\n      class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator\\Embed\n      tags:\n          - { name: pimcore.datahub.graphql.documentelementquerytypegenerator, id: typegenerator_documentelementquerydatatype_embed }\n\n  pimcore.datahub.graphql.documentelementquerytypegenerator_datatype_input:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator\\Input\n    tags:\n      - { name: pimcore.datahub.graphql.documentelementquerytypegenerator, id: typegenerator_documentelementquerydatatype_input }\n\n  pimcore.datahub.graphql.documentelementquerytypegenerator_datatype_image:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator\\Image\n    tags:\n      - { name: pimcore.datahub.graphql.documentelementquerytypegenerator, id: typegenerator_documentelementquerydatatype_image }\n\n  pimcore.datahub.graphql.documentelementquerytypegenerator_datatype_link:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator\\Link\n    tags:\n      - { name: pimcore.datahub.graphql.documentelementquerytypegenerator, id: typegenerator_documentelementquerydatatype_link }\n\n  pimcore.datahub.graphql.documentelementquerytypegenerator_datatype_multiselect:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator\\Multiselect\n    tags:\n      - { name: pimcore.datahub.graphql.documentelementquerytypegenerator, id: typegenerator_documentelementquerydatatype_multiselect }\n\n  pimcore.datahub.graphql.documentelementquerytypegenerator_datatype_numeric:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator\\Numeric\n    tags:\n      - { name: pimcore.datahub.graphql.documentelementquerytypegenerator, id: typegenerator_documentelementquerydatatype_numeric }\n\n  pimcore.datahub.graphql.documentelementquerytypegenerator_datatype_pdf:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator\\Pdf\n    tags:\n      - { name: pimcore.datahub.graphql.documentelementquerytypegenerator, id: typegenerator_documentelementquerydatatype_pdf }\n\n  pimcore.datahub.graphql.documentelementquerytypegenerator_datatype_relation:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator\\Relation\n    tags:\n      - { name: pimcore.datahub.graphql.documentelementquerytypegenerator, id: typegenerator_documentelementquerydatatype_relation }\n\n  pimcore.datahub.graphql.documentelementquerytypegenerator_datatype_relations:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator\\Relations\n    tags:\n      - { name: pimcore.datahub.graphql.documentelementquerytypegenerator, id: typegenerator_documentelementquerydatatype_relations }\n\n  pimcore.datahub.graphql.documentelementquerytypegenerator_datatype_scheduledblock:\n      class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator\\Scheduledblock\n      tags:\n          - { name: pimcore.datahub.graphql.documentelementquerytypegenerator, id: typegenerator_documentelementquerydatatype_scheduledblock }\n\n  pimcore.datahub.graphql.documentelementquerytypegenerator_datatype_select:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator\\Select\n    tags:\n      - { name: pimcore.datahub.graphql.documentelementquerytypegenerator, id: typegenerator_documentelementquerydatatype_select }\n\n  pimcore.datahub.graphql.documentelementquerytypegenerator_datatype_table:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator\\Table\n    tags:\n      - { name: pimcore.datahub.graphql.documentelementquerytypegenerator, id: typegenerator_documentelementquerydatatype_table }\n\n  pimcore.datahub.graphql.documentelementquerytypegenerator_datatype_textarea:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator\\Textarea\n    tags:\n      - { name: pimcore.datahub.graphql.documentelementquerytypegenerator, id: typegenerator_documentelementquerydatatype_textarea }\n\n  pimcore.datahub.graphql.documentelementquerytypegenerator_datatype_wysiwyg:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator\\Wysiwyg\n    tags:\n      - { name: pimcore.datahub.graphql.documentelementquerytypegenerator, id: typegenerator_documentelementquerydatatype_wysiwyg }\n\n  pimcore.datahub.graphql.documentelementquerytypegenerator_datatype_video:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementQueryFieldConfigGenerator\\Video\n    tags:\n      - { name: pimcore.datahub.graphql.documentelementquerytypegenerator, id: typegenerator_documentelementquerydatatype_video }\n\n  #\n  # built-in dataobject query datatypes type generator\n  #\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_checkbox:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Checkbox\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_booleanSelect }\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_checkbox }\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_newsletterActive }\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_newsletterConfirmed }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_classificationstore:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Classificationstore\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_classificationstore }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_date:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Date\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_date }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_datetime:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Datetime\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_datetime }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_email:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Input\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_email }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_href:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Href\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_href }\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_manyToOneRelation }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_fieldcollections:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Base\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_fieldcollections }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_firstname:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Input\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_firstname }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_geobounds:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Geobounds\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_geobounds }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_geopolygon:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Geopolygon\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_geopolygon }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_geopoint:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Geopoint\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_geopoint }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_hotspotimage:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Hotspotimage\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_hotspotimage }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_image:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Image\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_image }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_imageGallery:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\ImageGallery\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_imageGallery }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_link:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Link\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_link }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_input:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Input\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_externalImage }\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_input }\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_rgbaColor }\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_time }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_calculatedvalue:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\CalculatedValue\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_calculatedValue }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_lastname:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Input\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_lastname }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_multihref:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Multihref\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_multihref }\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_manyToManyRelation }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_objects:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Objects\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_manyToManyObjectRelation }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_reverseManyToManyObjectRelation:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\ReverseManyToManyObjectRelation\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_reverseManyToManyObjectRelation } # deprecated since 6.9, removed in 10\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_reverseObjectRelation }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_multihrefMetadata:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\MultihrefMetadata\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_multihrefMetadata }\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_advancedManyToManyRelation }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_objectsMetadata:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\ObjectsMetadata\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_advancedManyToManyObjectRelation }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_multiselect:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Multiselect\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_languagemultiselect }\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_multiselect }\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_countrymultiselect }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_numeric:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Numeric\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_numeric }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_quantityvalue:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\QuantityValue\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_quantityValue }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_inputquantityvalue:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\InputQuantityValue\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_inputQuantityValue }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_select:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Select\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_country }\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_gender }\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_language }\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_select }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_slider:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Slider\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_slider }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_textarea:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Base\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_textarea }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_urlSlug:\n      class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\UrlSlug\n      tags:\n          - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_urlSlug }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_video:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Video\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_video }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_wysiwyg:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Base\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_wysiwyg }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_table:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Table\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_table }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_structuredTable:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\StructuredTable\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_structuredTable }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_datatype_block:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryFieldConfigGenerator\\Block\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_dataobjectquerydatatype_block }\n\n  #\n  # type generators for dataobject query operators\n  #\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_operator_alias:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryOperatorConfigGenerator\\Alias\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_queryoperator_alias }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_operator_concatenator:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryOperatorConfigGenerator\\Concatenator\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_queryoperator_concatenator }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_operator_dateformatter:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryOperatorConfigGenerator\\DateFormatter\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_queryoperator_dateformatter }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_operator_elementcounter:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryOperatorConfigGenerator\\ElementCounter\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_queryoperator_elementcounter }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_operator_substring:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryOperatorConfigGenerator\\Substring\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_queryoperator_substring }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_operator_text:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryOperatorConfigGenerator\\StringBase\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_queryoperator_text }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_operator_thumbnail:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryOperatorConfigGenerator\\Thumbnail\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_queryoperator_thumbnail }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_operator_thumbnailhtml:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryOperatorConfigGenerator\\ThumbnailHtml\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_queryoperator_thumbnailhtml }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_operator_translatevalue:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryOperatorConfigGenerator\\TranslateValue\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_queryoperator_translatevalue }\n\n  pimcore.datahub.graphql.dataobjectquerytypegenerator_operator_trimmer:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectQueryOperatorConfigGenerator\\Trimmer\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectquerytypegenerator, id: typegenerator_queryoperator_trimmer }\n\n\n  #\n  # dataobject query operator factory definitions\n  #\n\n  pimcore.datahub.graphql.dataobjectqueryoperator.factory.alias:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator\\Factory\\DefaultQueryOperatorFactory\n    arguments:\n      $className: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator\\Alias\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectqueryoperator_factory, id: alias }\n\n  pimcore.datahub.graphql.dataobjectqueryoperator.factory.concatenator:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator\\Factory\\DefaultQueryOperatorFactory\n    arguments:\n      $className: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator\\Concatenator\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectqueryoperator_factory, id: concatenator }\n\n  pimcore.datahub.graphql.dataobjectqueryoperator.factory.dateformatter:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator\\Factory\\DefaultQueryOperatorFactory\n    arguments:\n      $className: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator\\DateFormatter\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectqueryoperator_factory, id: dateformatter }\n\n  pimcore.datahub.graphql.dataobjectqueryoperator.factory.elementcounter:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator\\Factory\\DefaultQueryOperatorFactory\n    arguments:\n      $className: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator\\ElementCounter\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectqueryoperator_factory, id: elementcounter }\n\n  pimcore.datahub.graphql.dataobjectqueryoperator.factory.substring:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator\\Factory\\DefaultQueryOperatorFactory\n    arguments:\n      $className: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator\\Substring\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectqueryoperator_factory, id: substring }\n\n  pimcore.datahub.graphql.dataobjectqueryoperator.factory.thumbnail:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator\\Factory\\DefaultQueryOperatorFactory\n    arguments:\n      $className: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator\\Thumbnail\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectqueryoperator_factory, id: thumbnail }\n\n  pimcore.datahub.graphql.dataobjectqueryoperator.factory.thumbnailhtml:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator\\Factory\\DefaultQueryOperatorFactory\n    arguments:\n      $className: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator\\ThumbnailHtml\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectqueryoperator_factory, id: thumbnailhtml }\n\n  pimcore.datahub.graphql.dataobjectqueryoperator.factory.text:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator\\Factory\\DefaultQueryOperatorFactory\n    arguments:\n      $className: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator\\Text\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectqueryoperator_factory, id: text }\n\n  pimcore.datahub.graphql.dataobjectqueryoperator.factory.translatevalue:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator\\Factory\\DefaultQueryOperatorFactory\n    arguments:\n      $className: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator\\TranslateValue\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectqueryoperator_factory, id: translatevalue }\n\n  pimcore.datahub.graphql.dataobjectqueryoperator.factory.trimmer:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator\\Factory\\DefaultQueryOperatorFactory\n    arguments:\n      $className: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Query\\Operator\\Trimmer\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectqueryoperator_factory, id: trimmer }\n\n\n  #\n  # asset type definitions\n  #\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\AssetType\\AssetMetadataItem:\n    tags:\n      - { name: pimcore.datahub.graphql.assettype, id: asset_metadata_item }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\AssetType\\AssetInputType:\n    tags:\n      - { name: pimcore.datahub.graphql.assettype, id: asset_input }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\AssetType\\AssetFolderType:\n    tags:\n      - { name: pimcore.datahub.graphql.assettype, id: _asset_folder }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\AssetType\\AssetTreeType:\n      tags:\n      - { name: pimcore.datahub.graphql.assettype, id: asset_tree }\n\n  #\n  # classification store type definitions\n  #\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreType\\Group:\n    tags:\n      - { name: pimcore.datahub.graphql.cstype, id: cs_group }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreType\\Feature:\n    tags:\n      - { name: pimcore.datahub.graphql.cstype, id: cs_feature }\n\n\n  #\n  # dataobject type definitions\n  #\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType\\DocumentType:\n    tags:\n      - { name: pimcore.datahub.graphql.documenttype, id: document }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType\\DocumentTreeType:\n    tags:\n      - { name: pimcore.datahub.graphql.documenttype, id: document_tree }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType\\DocumentElementType:\n    tags:\n      - { name: pimcore.datahub.graphql.documenttype, id: document_element }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType\\EmailType:\n    tags:\n      - { name: pimcore.datahub.graphql.documenttype, id: document_email }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType\\HardlinkType:\n    tags:\n      - { name: pimcore.datahub.graphql.documenttype, id: document_hardlink }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType\\LinkType:\n    tags:\n      - { name: pimcore.datahub.graphql.documenttype, id: document_link }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType\\PageType:\n    tags:\n      - { name: pimcore.datahub.graphql.documenttype, id: document_page }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType\\SnippetType:\n    tags:\n      - { name: pimcore.datahub.graphql.documenttype, id: document_snippet }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType\\DocumentFolderType:\n    tags:\n      - { name: pimcore.datahub.graphql.documenttype, id: _document_folder }\n\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType\\DocumentLinkInputType:\n      tags:\n          - { name: pimcore.datahub.graphql.documenttype, id: document_link_input }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\ElementDescriptorInputType:\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjecttype, id: elementdescriptor_input }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\GeopointInputType:\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjecttype, id: geopoint_input }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\ObjectTreeType:\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjecttype, id: object_tree }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\ObjectFolderType:\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjecttype, id: _object_folder }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\HotspotType:\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjecttype, id: object_datatype_hotspotimage }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\HrefType:\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjecttype, id: manytoone }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\InputQuantityValueType:\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjecttype, id: input_quantity_value }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\InputQuantityValueInputType:\n      tags:\n          - { name: pimcore.datahub.graphql.dataobjecttype, id: input_quantity_value_input }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\QuantityValueType:\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjecttype, id: quantity_value }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\UrlSlugType:\n      tags:\n          - { name: pimcore.datahub.graphql.dataobjecttype, id: url_slug }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\VideoType:\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjecttype, id: object_datatype_video }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\VideoTypeDataType:\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjecttype, id: object_datatype_video_data }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\QuantityValueInputType:\n      tags:\n          - { name: pimcore.datahub.graphql.dataobjecttype, id: quantity_value_input }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\LinkInputType:\n      tags:\n          - { name: pimcore.datahub.graphql.dataobjecttype, id: link_input }\n  #\n  # document mutation types\n  #\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentType\\DocumentPageInputType:\n      tags:\n          - { name: pimcore.datahub.graphql.document_inputtype, id: document_page_input }\n\n  #\n  # input type definitions\n  #\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectType\\InputType\\ImageInputType:\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjecttype, id: image_input }\n\n  # document element mutation data types\n  pimcore.datahub.graphql.documentelementmutationtypegenerator_datatype_areablock:\n      class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementMutationFieldConfigGenerator\\Areablock\n      tags:\n          - { name: pimcore.datahub.graphql.documentelementmutationtypegenerator, id: typegenerator_documentelementmutationdatatype_areablock }\n\n  pimcore.datahub.graphql.documentelementmutationtypegenerator_datatype_block:\n      class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementMutationFieldConfigGenerator\\Block\n      tags:\n          - { name: pimcore.datahub.graphql.documentelementmutationtypegenerator, id: typegenerator_documentelementmutationdatatype_block }\n\n  pimcore.datahub.graphql.documentelementmutationtypegenerator_datatype_embed:\n      class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementMutationFieldConfigGenerator\\Embed\n      tags:\n          - { name: pimcore.datahub.graphql.documentelementmutationtypegenerator, id: typegenerator_documentelementmutationdatatype_embed }\n\n  pimcore.datahub.graphql.documentelementmutationtypegenerator_datatype_image:\n      class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementMutationFieldConfigGenerator\\Image\n      tags:\n          - { name: pimcore.datahub.graphql.documentelementmutationtypegenerator, id: typegenerator_documentelementmutationdatatype_image }\n\n  pimcore.datahub.graphql.documentelementmutationtypegenerator_datatype_input:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementMutationFieldConfigGenerator\\Input\n    tags:\n        - { name: pimcore.datahub.graphql.documentelementmutationtypegenerator, id: typegenerator_documentelementmutationdatatype_input }\n\n  pimcore.datahub.graphql.documentelementmutationtypegenerator_datatype_multiselect:\n      class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementMutationFieldConfigGenerator\\Multiselect\n      tags:\n          - { name: pimcore.datahub.graphql.documentelementmutationtypegenerator, id: typegenerator_documentelementmutationdatatype_multiselect }\n\n  pimcore.datahub.graphql.documentelementmutationtypegenerator_datatype_scheduledblock:\n      class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementMutationFieldConfigGenerator\\Scheduledblock\n      tags:\n          - { name: pimcore.datahub.graphql.documentelementmutationtypegenerator, id: typegenerator_documentelementmutationdatatype_scheduledblock }\n\n  pimcore.datahub.graphql.documentelementmutationtypegenerator_datatype_select:\n      class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementMutationFieldConfigGenerator\\Select\n      tags:\n          - { name: pimcore.datahub.graphql.documentelementmutationtypegenerator, id: typegenerator_documentelementmutationdatatype_select }\n\n  pimcore.datahub.graphql.documentelementmutationtypegenerator_datatype_wysiwyg:\n      class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementMutationFieldConfigGenerator\\Wysiwyg\n      tags:\n          - { name: pimcore.datahub.graphql.documentelementmutationtypegenerator, id: typegenerator_documentelementmutationdatatype_wysiwyg }\n\n  # document element input processors\n  pimcore.datahub.graphql.documentmutationelementprocessor: '@Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor\\Areablock'\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor\\Areablock: ~\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor\\Block: ~\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor\\Embed: ~\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor\\Image: ~\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor\\Input: ~\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor\\Multiselect: ~\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor\\Scheduledblock: ~\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor\\Select: ~\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DocumentElementInputProcessor\\Wysiwyg: ~\n\n\n  Pimcore\\Model\\Document\\Editable\\Loader\\EditableLoaderInterface: '@Pimcore\\Model\\Document\\Editable\\Loader\\EditableLoader'\n\n  #\n  # built-in dataobject mutation datatypes type generator\n  #\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_booleanSelect:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\BooleanSelect\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_booleanSelect }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_checkbox:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\Checkbox\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_checkbox }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_country:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\Base\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_country }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_countrymultiselect:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\Multiselect\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_countrymultiselect }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_date:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\Date\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_date }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_datetime:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\Date\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_datetime }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_email:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\Base\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_email }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_externalImage:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\ExternalImage\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_externalImage }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_fieldcollections:\n      class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\Fieldcollections\n      tags:\n          - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_fieldcollections }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_geopoint:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\Geopoint\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_geopoint }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_firstname:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\Base\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_firstname }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_gender:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\Base\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_gender }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_input:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\Base\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_input }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_image:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\Image\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_image }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_language:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\Base\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_language }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_lastname:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\Base\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_lastname }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_newsletterActive:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\Checkbox\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_newsletterActive }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_manyToOneRelation:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\ManyToOneRelation\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_manyToOneRelation }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_manyToManyRelation:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\ManyToManyRelation\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_manyToManyRelation }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_manyToManyObjectRelation:\n      class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\ManyToManyObjectRelation\n      tags:\n          - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_manyToManyObjectRelation }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_advancedManyToManyRelation:\n      class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\AdvancedManyToManyRelation\n      tags:\n          - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_advancedManyToManyRelation }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_advancedManyToManyObjectRelation:\n      class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\AdvancedManyToManyObjectRelation\n      tags:\n          - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_advancedManyToManyObjectRelation }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_multiselect:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\Multiselect\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_multiselect }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_newsletterConfirmed:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\Checkbox\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_newsletterConfirmed }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_numeric:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\Numeric\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_numeric }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_select:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\Base\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_select }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_slider:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\Numeric\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_slider }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_textarea:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\Base\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_textarea }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_time:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\Base\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_time }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_wysiwyg:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\Base\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_wysiwyg }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_quantityValue:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\QuantityValue\n    tags:\n        - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_quantityValue }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_inputQuantityValue:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\InputQuantityValue\n    tags:\n        - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_inputQuantityValue }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_table:\n      class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\Table\n      tags:\n          - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_table }\n          \n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_imageGallery:\n      class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\ImageGallery\n      tags:\n          - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_imageGallery }\n\n  # dataobject mutation operator\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_operator_ifempty:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationOperatorConfigGenerator\\IfEmpty\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationoperator_ifempty }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_operator_localeswitcher:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationOperatorConfigGenerator\\LocaleSwitcher\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationoperator_localeswitcher }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_operator_localecollector:\n      class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationOperatorConfigGenerator\\LocaleCollector\n      tags:\n          - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationoperator_localecollector }\n\n  pimcore.datahub.graphql.dataobjectmutationtypegenerator_datatype_link:\n      class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationFieldConfigGenerator\\Link\n      tags:\n          - { name: pimcore.datahub.graphql.dataobjectmutationtypegenerator, id: typegenerator_dataobjectmutationdatatype_link }\n  #\n  # dataobject mutation operator factory definitions\n  #\n\n  pimcore.datahub.graphql.dataobjectmutationoperator.factory.ifempty:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Mutation\\Operator\\Factory\\DefaultMutationOperatorFactory\n    arguments:\n      $className: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationOperatorConfigGenerator\\IfEmpty\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectmutationoperator_factory, id: ifempty }\n\n  pimcore.datahub.graphql.dataobjectmutationoperator.factory.localeswitcher:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Mutation\\Operator\\Factory\\DefaultMutationOperatorFactory\n    arguments:\n      $className: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationOperatorConfigGenerator\\LocaleSwitcher\n    tags:\n      - { name: pimcore.datahub.graphql.dataobjectmutationoperator_factory, id: localeswitcher }\n\n  pimcore.datahub.graphql.dataobjectmutationoperator.factory.localecollector:\n      class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Mutation\\Operator\\Factory\\DefaultMutationOperatorFactory\n      arguments:\n          $className: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\DataObjectMutationOperatorConfigGenerator\\LocaleCollector\n      tags:\n          - { name: pimcore.datahub.graphql.dataobjectmutationoperator_factory, id: localecollector }\n\n  # classification store\n  #\n\n  pimcore.datahub.graphql.csfeaturequerytypegenerator_datatype_booleanSelect:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator\\BooleanSelect\n    tags:\n      - { name: pimcore.datahub.graphql.csfeaturequerytypegenerator, id: typegenerator_csfeaturequerydatatype_booleanSelect }\n\n  pimcore.datahub.graphql.csfeaturequerytypegenerator_datatype_calculatedValue:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator\\CalculatedValue\n    tags:\n      - { name: pimcore.datahub.graphql.csfeaturequerytypegenerator, id: typegenerator_csfeaturequerydatatype_calculatedValue }\n\n  pimcore.datahub.graphql.csfeaturequerytypegenerator_datatype_checkbox:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator\\Checkbox\n    tags:\n      - { name: pimcore.datahub.graphql.csfeaturequerytypegenerator, id: typegenerator_csfeaturequerydatatype_checkbox }\n\n  pimcore.datahub.graphql.csfeaturequerytypegenerator_datatype_country:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator\\Country\n    tags:\n      - { name: pimcore.datahub.graphql.csfeaturequerytypegenerator, id: typegenerator_csfeaturequerydatatype_country }\n\n  pimcore.datahub.graphql.csfeaturequerytypegenerator_datatype_countrymultiselect:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator\\Countrymultiselect\n    tags:\n      - { name: pimcore.datahub.graphql.csfeaturequerytypegenerator, id: typegenerator_csfeaturequerydatatype_countrymultiselect }\n\n  pimcore.datahub.graphql.csfeaturequerytypegenerator_datatype_date:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator\\Date\n    tags:\n      - { name: pimcore.datahub.graphql.csfeaturequerytypegenerator, id: typegenerator_csfeaturequerydatatype_date }\n\n  pimcore.datahub.graphql.csfeaturequerytypegenerator_datatype_datetime:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator\\Datetime\n    tags:\n      - { name: pimcore.datahub.graphql.csfeaturequerytypegenerator, id: typegenerator_csfeaturequerydatatype_datetime }\n\n  pimcore.datahub.graphql.csfeaturequerytypegenerator_datatype_input:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator\\Input\n    tags:\n      - { name: pimcore.datahub.graphql.csfeaturequerytypegenerator, id: typegenerator_csfeaturequerydatatype_input }\n\n  pimcore.datahub.graphql.csfeaturequerytypegenerator_datatype_inputQuantityValue:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator\\InputQuantityValue\n    tags:\n      - { name: pimcore.datahub.graphql.csfeaturequerytypegenerator, id: typegenerator_csfeaturequerydatatype_inputQuantityValue }\n\n  pimcore.datahub.graphql.csfeaturequerytypegenerator_datatype_language:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator\\Language\n    tags:\n      - { name: pimcore.datahub.graphql.csfeaturequerytypegenerator, id: typegenerator_csfeaturequerydatatype_language }\n\n  pimcore.datahub.graphql.csfeaturequerytypegenerator_datatype_languagemultiselect:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator\\Languagemultiselect\n    tags:\n      - { name: pimcore.datahub.graphql.csfeaturequerytypegenerator, id: typegenerator_csfeaturequerydatatype_languagemultiselect }\n\n  pimcore.datahub.graphql.csfeaturequerytypegenerator_datatype_multiselect:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator\\Multiselect\n    tags:\n      - { name: pimcore.datahub.graphql.csfeaturequerytypegenerator, id: typegenerator_csfeaturequerydatatype_multiselect }\n\n  pimcore.datahub.graphql.csfeaturequerytypegenerator_datatype_numeric:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator\\Numeric\n    tags:\n      - { name: pimcore.datahub.graphql.csfeaturequerytypegenerator, id: typegenerator_csfeaturequerydatatype_numeric }\n\n  pimcore.datahub.graphql.csfeaturequerytypegenerator_datatype_rgbaColor:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator\\RgbaColor\n    tags:\n      - { name: pimcore.datahub.graphql.csfeaturequerytypegenerator, id: typegenerator_csfeaturequerydatatype_rgbaColor }\n\n  pimcore.datahub.graphql.csfeaturequerytypegenerator_datatype_select:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator\\Select\n    tags:\n      - { name: pimcore.datahub.graphql.csfeaturequerytypegenerator, id: typegenerator_csfeaturequerydatatype_select }\n\n  pimcore.datahub.graphql.csfeaturequerytypegenerator_datatype_slider:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator\\Slider\n    tags:\n      - { name: pimcore.datahub.graphql.csfeaturequerytypegenerator, id: typegenerator_csfeaturequerydatatype_slider }\n\n  pimcore.datahub.graphql.csfeaturequerytypegenerator_datatype_textarea:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator\\Textarea\n    tags:\n      - { name: pimcore.datahub.graphql.csfeaturequerytypegenerator, id: typegenerator_csfeaturequerydatatype_textarea }\n\n  pimcore.datahub.graphql.csfeaturequerytypegenerator_datatype_time:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator\\Time\n    tags:\n      - { name: pimcore.datahub.graphql.csfeaturequerytypegenerator, id: typegenerator_csfeaturequerydatatype_time }\n\n  pimcore.datahub.graphql.csfeaturequerytypegenerator_datatype_quantityValue:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator\\QuantityValue\n    tags:\n      - { name: pimcore.datahub.graphql.csfeaturequerytypegenerator, id: typegenerator_csfeaturequerydatatype_quantityValue }\n\n  pimcore.datahub.graphql.csfeaturequerytypegenerator_datatype_wysiwyg:\n    class: Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ClassificationstoreFeatureQueryTypeGenerator\\Wysiwyg\n    tags:\n      - { name: pimcore.datahub.graphql.csfeaturequerytypegenerator, id: typegenerator_csfeaturequerydatatype_wysiwyg }\n\n\n  # properties\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\PropertyType\\ObjectsType: ~\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\PropertyType\\ElementPropertyType:\n    tags:\n      - { name: pimcore.datahub.graphql.propertytype, id: elementproperty }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\PropertyType\\HotspotMetadataType:\n    tags:\n      - { name: pimcore.datahub.graphql.propertytype, id: hotspotmetadata }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\PropertyType\\AssetType:\n    tags:\n      - { name: pimcore.datahub.graphql.propertytype, id: property_asset }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\PropertyType\\DocumentType:\n    tags:\n      - { name: pimcore.datahub.graphql.propertytype, id: property_document }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\PropertyType\\AssetFolderType:\n    tags:\n      - { name: pimcore.datahub.graphql.propertytype, id: property_assetfolder }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\PropertyType\\DocumentFolderType:\n    tags:\n      - { name: pimcore.datahub.graphql.propertytype, id: property_documentfolder }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\PropertyType\\ObjectFolderType:\n    tags:\n      - { name: pimcore.datahub.graphql.propertytype, id: property_objectfolder }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\PropertyType\\DataObjectType:\n    tags:\n      - { name: pimcore.datahub.graphql.propertytype, id: property_object }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\PropertyType\\CheckboxType:\n    tags:\n      - { name: pimcore.datahub.graphql.propertytype, id: property_checkbox }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\PropertyType\\TextareaType:\n    tags:\n      - { name: pimcore.datahub.graphql.propertytype, id: property_textarea }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\PropertyType\\TextType:\n    tags:\n      - { name: pimcore.datahub.graphql.propertytype, id: property_text }\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\PropertyType\\SelectType:\n    tags:\n        - { name: pimcore.datahub.graphql.propertytype, id: property_select }\n\n  # element tags\n\n  Pimcore\\Bundle\\DataHubBundle\\GraphQL\\ElementTag:\n    tags:\n      - { name: pimcore.datahub.graphql.elementtag, id: element_tag }\n\n"
  },
  {
    "path": "src/Resources/config/pimcore/config.yaml",
    "content": "pimcore_data_hub:\n    supported_types:\n        graphql: \"Pimcore\\\\Bundle\\\\DataHubBundle\""
  },
  {
    "path": "src/Resources/config/pimcore/routing.yml",
    "content": "pimcore_data_hub_studio:\n    resource: \"@PimcoreDataHubBundle/Controller/Studio\"\n    type: attribute\n    prefix: '%pimcore_studio_backend.url_prefix%/bundle/data-hub'\n    options:\n        expose: true\n\nadmin_pimcoredatahub_webservice:\n    path: /pimcore-graphql-webservices/{clientname}\n    defaults: { _controller: Pimcore\\Bundle\\DataHubBundle\\Controller\\WebserviceController::webonyxAction }\n\n"
  },
  {
    "path": "src/Resources/config/pimcore/studio_backend.yaml",
    "content": "pimcore_studio_backend:\n    open_api_scan_paths:\n        - \"%kernel.project_dir%/vendor/pimcore/data-hub/src/Controller/Studio\"\n        - \"%kernel.project_dir%/vendor/pimcore/data-hub/src/OpenApi\"\n        - \"%kernel.project_dir%/vendor/pimcore/data-hub/src/Schema\""
  },
  {
    "path": "src/Resources/config/services.yml",
    "content": "imports:\n    - { resource: graphql.yml }\n    - { resource: eventlistener.yml }\n\nservices:\n\n    _defaults:\n        autowire: true\n        autoconfigure: true\n        public: false\n\n    # auto-register all commands as services\n    Pimcore\\Bundle\\DataHubBundle\\Command\\:\n        resource: '../../Command'\n\n    Pimcore\\Bundle\\DataHubBundle\\Controller\\:\n        resource: '../../Controller'\n        public: true\n        tags: [ 'controller.service_arguments' ]\n\n    Pimcore\\Bundle\\DataHubBundle\\Service\\:\n        resource: '../../Service'\n        exclude: '../../Service/Studio'\n        public: true\n        autowire: true\n        autoconfigure: true\n\n    Pimcore\\Bundle\\DataHubBundle\\Installer:\n        public: true\n        arguments:\n            $bundle: \"@=service('kernel').getBundle('PimcoreDataHubBundle')\"\n\n    Pimcore\\Bundle\\DataHubBundle\\Service\\OutputCacheServiceInterface:\n        class: Pimcore\\Bundle\\DataHubBundle\\Service\\OutputCacheService\n"
  },
  {
    "path": "src/Resources/config/studio_backend.yaml",
    "content": "services:\n    _defaults:\n        autowire: true\n        autoconfigure: true\n        public: false\n\n    Pimcore\\Bundle\\DataHubBundle\\Service\\Studio\\ConfigurationServiceInterface:\n        class: Pimcore\\Bundle\\DataHubBundle\\Service\\Studio\\ConfigurationService\n\n    Pimcore\\Bundle\\DataHubBundle\\Service\\Studio\\GraphQLExplorerServiceInterface:\n        class: Pimcore\\Bundle\\DataHubBundle\\Service\\Studio\\GraphQLExplorerService\n\n    Pimcore\\Bundle\\DataHubBundle\\Service\\Studio\\UserServiceInterface:\n        class: Pimcore\\Bundle\\DataHubBundle\\Service\\Studio\\UserService\n\n    Pimcore\\Bundle\\DataHubBundle\\Hydrator\\ConfigurationHydratorInterface:\n        class: Pimcore\\Bundle\\DataHubBundle\\Hydrator\\ConfigurationHydrator\n\n    Pimcore\\Bundle\\DataHubBundle\\Hydrator\\ConfigurationDetailHydratorInterface:\n        class: Pimcore\\Bundle\\DataHubBundle\\Hydrator\\ConfigurationDetailHydrator\n\n    Pimcore\\Bundle\\DataHubBundle\\Hydrator\\ConfigurationDehydratorInterface:\n        class: Pimcore\\Bundle\\DataHubBundle\\Hydrator\\ConfigurationDehydrator\n\n    Pimcore\\Bundle\\DataHubBundle\\Hydrator\\PermissionUserHydratorInterface:\n        class: Pimcore\\Bundle\\DataHubBundle\\Hydrator\\PermissionUserHydrator\n\n    Pimcore\\Bundle\\DataHubBundle\\Service\\Studio\\ThumbnailServiceInterface:\n        class: Pimcore\\Bundle\\DataHubBundle\\Service\\Studio\\ThumbnailService\n\n    Pimcore\\Bundle\\DataHubBundle\\Hydrator\\ThumbnailHydratorInterface:\n        class: Pimcore\\Bundle\\DataHubBundle\\Hydrator\\ThumbnailHydrator\n\n    #\n    # Event Subscriber\n    #\n\n    Pimcore\\Bundle\\DataHubBundle\\EventSubscriber\\StudioContextPermissionsSubscriber: ~\n"
  },
  {
    "path": "src/Resources/config/studio_ui.yaml",
    "content": "services:\n  _defaults:\n    autowire: true\n    autoconfigure: true\n    public: false\n\n  Pimcore\\Bundle\\DataHubBundle\\Webpack\\WebpackEntryPointProvider:\n    tags:\n      - { name: 'pimcore_studio_ui.webpack_entry_point_provider' }\n\n"
  },
  {
    "path": "src/Resources/public/playground/animations.css",
    "content": "html {\n  font-family: \"Open Sans\", sans-serif;\n  overflow:    hidden;\n}\n\nbody {\n  margin:     0;\n  background: #172a3a;\n}\n\n.playgroundIn {\n  -webkit-animation: playgroundIn 0.5s ease-out forwards;\n  animation:         playgroundIn 0.5s ease-out forwards;\n}\n\n@-webkit-keyframes playgroundIn {\n  from {\n    opacity:           0;\n    -webkit-transform: translateY(10px);\n    -ms-transform:     translateY(10px);\n    transform:         translateY(10px);\n  }\n\n  to {\n    opacity:           1;\n    -webkit-transform: translateY(0);\n    -ms-transform:     translateY(0);\n    transform:         translateY(0);\n  }\n}\n\n@keyframes playgroundIn {\n  from {\n    opacity:           0;\n    -webkit-transform: translateY(10px);\n    -ms-transform:     translateY(10px);\n    transform:         translateY(10px);\n  }\n\n  to {\n    opacity:           1;\n    -webkit-transform: translateY(0);\n    -ms-transform:     translateY(0);\n    transform:         translateY(0);\n  }\n}\n\n.fadeOut {\n  -webkit-animation: fadeOut 0.5s ease-out forwards;\n  animation:         fadeOut 0.5s ease-out forwards;\n}\n\n@-webkit-keyframes fadeIn {\n  from {\n    opacity:           0;\n    -webkit-transform: translateY(-10px);\n    -ms-transform:     translateY(-10px);\n    transform:         translateY(-10px);\n  }\n\n  to {\n    opacity:           1;\n    -webkit-transform: translateY(0);\n    -ms-transform:     translateY(0);\n    transform:         translateY(0);\n  }\n}\n\n@keyframes fadeIn {\n  from {\n    opacity:           0;\n    -webkit-transform: translateY(-10px);\n    -ms-transform:     translateY(-10px);\n    transform:         translateY(-10px);\n  }\n\n  to {\n    opacity:           1;\n    -webkit-transform: translateY(0);\n    -ms-transform:     translateY(0);\n    transform:         translateY(0);\n  }\n}\n\n@-webkit-keyframes fadeOut {\n  from {\n    opacity:           1;\n    -webkit-transform: translateY(0);\n    -ms-transform:     translateY(0);\n    transform:         translateY(0);\n  }\n\n  to {\n    opacity:           0;\n    -webkit-transform: translateY(-10px);\n    -ms-transform:     translateY(-10px);\n    transform:         translateY(-10px);\n  }\n}\n\n@keyframes fadeOut {\n  from {\n    opacity:           1;\n    -webkit-transform: translateY(0);\n    -ms-transform:     translateY(0);\n    transform:         translateY(0);\n  }\n\n  to {\n    opacity:           0;\n    -webkit-transform: translateY(-10px);\n    -ms-transform:     translateY(-10px);\n    transform:         translateY(-10px);\n  }\n}\n\n@-webkit-keyframes appearIn {\n  from {\n    opacity:           0;\n    -webkit-transform: translateY(0px);\n    -ms-transform:     translateY(0px);\n    transform:         translateY(0px);\n  }\n\n  to {\n    opacity:           1;\n    -webkit-transform: translateY(0);\n    -ms-transform:     translateY(0);\n    transform:         translateY(0);\n  }\n}\n\n@keyframes appearIn {\n  from {\n    opacity:           0;\n    -webkit-transform: translateY(0px);\n    -ms-transform:     translateY(0px);\n    transform:         translateY(0px);\n  }\n\n  to {\n    opacity:           1;\n    -webkit-transform: translateY(0);\n    -ms-transform:     translateY(0);\n    transform:         translateY(0);\n  }\n}\n\n@-webkit-keyframes scaleIn {\n  from {\n    -webkit-transform: scale(0);\n    -ms-transform:     scale(0);\n    transform:         scale(0);\n  }\n\n  to {\n    -webkit-transform: scale(1);\n    -ms-transform:     scale(1);\n    transform:         scale(1);\n  }\n}\n\n@keyframes scaleIn {\n  from {\n    -webkit-transform: scale(0);\n    -ms-transform:     scale(0);\n    transform:         scale(0);\n  }\n\n  to {\n    -webkit-transform: scale(1);\n    -ms-transform:     scale(1);\n    transform:         scale(1);\n  }\n}\n\n@-webkit-keyframes innerDrawIn {\n  0% {\n    stroke-dashoffset: 70;\n  }\n\n  50% {\n    stroke-dashoffset: 140;\n  }\n\n  100% {\n    stroke-dashoffset: 210;\n  }\n}\n\n@keyframes innerDrawIn {\n  0% {\n    stroke-dashoffset: 70;\n  }\n\n  50% {\n    stroke-dashoffset: 140;\n  }\n\n  100% {\n    stroke-dashoffset: 210;\n  }\n}\n\n@-webkit-keyframes outerDrawIn {\n  0% {\n    stroke-dashoffset: 76;\n  }\n\n  100% {\n    stroke-dashoffset: 152;\n  }\n}\n\n@keyframes outerDrawIn {\n  0% {\n    stroke-dashoffset: 76;\n  }\n\n  100% {\n    stroke-dashoffset: 152;\n  }\n}\n\n.hHWjkv {\n  -webkit-transform-origin: 0px 0px;\n  -ms-transform-origin:     0px 0px;\n  transform-origin:         0px 0px;\n  -webkit-transform:        scale(0);\n  -ms-transform:            scale(0);\n  transform:                scale(0);\n  -webkit-animation:        scaleIn 0.25s linear forwards 0.2222222222222222s;\n  animation:                scaleIn 0.25s linear forwards 0.2222222222222222s;\n}\n\n.gCDOzd {\n  -webkit-transform-origin: 0px 0px;\n  -ms-transform-origin:     0px 0px;\n  transform-origin:         0px 0px;\n  -webkit-transform:        scale(0);\n  -ms-transform:            scale(0);\n  transform:                scale(0);\n  -webkit-animation:        scaleIn 0.25s linear forwards 0.4222222222222222s;\n  animation:                scaleIn 0.25s linear forwards 0.4222222222222222s;\n}\n\n.hmCcxi {\n  -webkit-transform-origin: 0px 0px;\n  -ms-transform-origin:     0px 0px;\n  transform-origin:         0px 0px;\n  -webkit-transform:        scale(0);\n  -ms-transform:            scale(0);\n  transform:                scale(0);\n  -webkit-animation:        scaleIn 0.25s linear forwards 0.6222222222222222s;\n  animation:                scaleIn 0.25s linear forwards 0.6222222222222222s;\n}\n\n.eHamQi {\n  -webkit-transform-origin: 0px 0px;\n  -ms-transform-origin:     0px 0px;\n  transform-origin:         0px 0px;\n  -webkit-transform:        scale(0);\n  -ms-transform:            scale(0);\n  transform:                scale(0);\n  -webkit-animation:        scaleIn 0.25s linear forwards 0.8222222222222223s;\n  animation:                scaleIn 0.25s linear forwards 0.8222222222222223s;\n}\n\n.byhgGu {\n  -webkit-transform-origin: 0px 0px;\n  -ms-transform-origin:     0px 0px;\n  transform-origin:         0px 0px;\n  -webkit-transform:        scale(0);\n  -ms-transform:            scale(0);\n  transform:                scale(0);\n  -webkit-animation:        scaleIn 0.25s linear forwards 1.0222222222222221s;\n  animation:                scaleIn 0.25s linear forwards 1.0222222222222221s;\n}\n\n.llAKP {\n  -webkit-transform-origin: 0px 0px;\n  -ms-transform-origin:     0px 0px;\n  transform-origin:         0px 0px;\n  -webkit-transform:        scale(0);\n  -ms-transform:            scale(0);\n  transform:                scale(0);\n  -webkit-animation:        scaleIn 0.25s linear forwards 1.2222222222222223s;\n  animation:                scaleIn 0.25s linear forwards 1.2222222222222223s;\n}\n\n.bglIGM {\n  -webkit-transform-origin: 64px 28px;\n  -ms-transform-origin:     64px 28px;\n  transform-origin:         64px 28px;\n  -webkit-transform:        scale(0);\n  -ms-transform:            scale(0);\n  transform:                scale(0);\n  -webkit-animation:        scaleIn 0.25s linear forwards 0.2222222222222222s;\n  animation:                scaleIn 0.25s linear forwards 0.2222222222222222s;\n}\n\n.ksxRII {\n  -webkit-transform-origin: 95.98500061035156px 46.510000228881836px;\n  -ms-transform-origin:     95.98500061035156px 46.510000228881836px;\n  transform-origin:         95.98500061035156px 46.510000228881836px;\n  -webkit-transform:        scale(0);\n  -ms-transform:            scale(0);\n  transform:                scale(0);\n  -webkit-animation:        scaleIn 0.25s linear forwards 0.4222222222222222s;\n  animation:                scaleIn 0.25s linear forwards 0.4222222222222222s;\n}\n\n.cWrBmb {\n  -webkit-transform-origin: 95.97162628173828px 83.4900016784668px;\n  -ms-transform-origin:     95.97162628173828px 83.4900016784668px;\n  transform-origin:         95.97162628173828px 83.4900016784668px;\n  -webkit-transform:        scale(0);\n  -ms-transform:            scale(0);\n  transform:                scale(0);\n  -webkit-animation:        scaleIn 0.25s linear forwards 0.6222222222222222s;\n  animation:                scaleIn 0.25s linear forwards 0.6222222222222222s;\n}\n\n.Wnusb {\n  -webkit-transform-origin: 64px 101.97999572753906px;\n  -ms-transform-origin:     64px 101.97999572753906px;\n  transform-origin:         64px 101.97999572753906px;\n  -webkit-transform:        scale(0);\n  -ms-transform:            scale(0);\n  transform:                scale(0);\n  -webkit-animation:        scaleIn 0.25s linear forwards 0.8222222222222223s;\n  animation:                scaleIn 0.25s linear forwards 0.8222222222222223s;\n}\n\n.bfPqf {\n  -webkit-transform-origin: 32.03982162475586px 83.4900016784668px;\n  -ms-transform-origin:     32.03982162475586px 83.4900016784668px;\n  transform-origin:         32.03982162475586px 83.4900016784668px;\n  -webkit-transform:        scale(0);\n  -ms-transform:            scale(0);\n  transform:                scale(0);\n  -webkit-animation:        scaleIn 0.25s linear forwards 1.0222222222222221s;\n  animation:                scaleIn 0.25s linear forwards 1.0222222222222221s;\n}\n\n.edRCTN {\n  -webkit-transform-origin: 32.033552169799805px 46.510000228881836px;\n  -ms-transform-origin:     32.033552169799805px 46.510000228881836px;\n  transform-origin:         32.033552169799805px 46.510000228881836px;\n  -webkit-transform:        scale(0);\n  -ms-transform:            scale(0);\n  transform:                scale(0);\n  -webkit-animation:        scaleIn 0.25s linear forwards 1.2222222222222223s;\n  animation:                scaleIn 0.25s linear forwards 1.2222222222222223s;\n}\n\n.iEGVWn {\n  opacity:                           0;\n  stroke-dasharray:                  76;\n  -webkit-animation:                 outerDrawIn 0.5s ease-out forwards 0.3333333333333333s, appearIn 0.1s ease-out forwards 0.3333333333333333s;\n  animation:                         outerDrawIn 0.5s ease-out forwards 0.3333333333333333s, appearIn 0.1s ease-out forwards 0.3333333333333333s;\n  -webkit-animation-iteration-count: 1, 1;\n  animation-iteration-count:         1, 1;\n}\n\n.bsocdx {\n  opacity:                           0;\n  stroke-dasharray:                  76;\n  -webkit-animation:                 outerDrawIn 0.5s ease-out forwards 0.5333333333333333s, appearIn 0.1s ease-out forwards 0.5333333333333333s;\n  animation:                         outerDrawIn 0.5s ease-out forwards 0.5333333333333333s, appearIn 0.1s ease-out forwards 0.5333333333333333s;\n  -webkit-animation-iteration-count: 1, 1;\n  animation-iteration-count:         1, 1;\n}\n\n.jAZXmP {\n  opacity:                           0;\n  stroke-dasharray:                  76;\n  -webkit-animation:                 outerDrawIn 0.5s ease-out forwards 0.7333333333333334s, appearIn 0.1s ease-out forwards 0.7333333333333334s;\n  animation:                         outerDrawIn 0.5s ease-out forwards 0.7333333333333334s, appearIn 0.1s ease-out forwards 0.7333333333333334s;\n  -webkit-animation-iteration-count: 1, 1;\n  animation-iteration-count:         1, 1;\n}\n\n.hSeArx {\n  opacity:                           0;\n  stroke-dasharray:                  76;\n  -webkit-animation:                 outerDrawIn 0.5s ease-out forwards 0.9333333333333333s, appearIn 0.1s ease-out forwards 0.9333333333333333s;\n  animation:                         outerDrawIn 0.5s ease-out forwards 0.9333333333333333s, appearIn 0.1s ease-out forwards 0.9333333333333333s;\n  -webkit-animation-iteration-count: 1, 1;\n  animation-iteration-count:         1, 1;\n}\n\n.bVgqGk {\n  opacity:                           0;\n  stroke-dasharray:                  76;\n  -webkit-animation:                 outerDrawIn 0.5s ease-out forwards 1.1333333333333333s, appearIn 0.1s ease-out forwards 1.1333333333333333s;\n  animation:                         outerDrawIn 0.5s ease-out forwards 1.1333333333333333s, appearIn 0.1s ease-out forwards 1.1333333333333333s;\n  -webkit-animation-iteration-count: 1, 1;\n  animation-iteration-count:         1, 1;\n}\n\n.hEFqBt {\n  opacity:                           0;\n  stroke-dasharray:                  76;\n  -webkit-animation:                 outerDrawIn 0.5s ease-out forwards 1.3333333333333333s, appearIn 0.1s ease-out forwards 1.3333333333333333s;\n  animation:                         outerDrawIn 0.5s ease-out forwards 1.3333333333333333s, appearIn 0.1s ease-out forwards 1.3333333333333333s;\n  -webkit-animation-iteration-count: 1, 1;\n  animation-iteration-count:         1, 1;\n}\n\n.dzEKCM {\n  opacity:                           0;\n  stroke-dasharray:                  70;\n  -webkit-animation:                 innerDrawIn 1s ease-in-out forwards 1.3666666666666667s, appearIn 0.1s linear forwards 1.3666666666666667s;\n  animation:                         innerDrawIn 1s ease-in-out forwards 1.3666666666666667s, appearIn 0.1s linear forwards 1.3666666666666667s;\n  -webkit-animation-iteration-count: infinite, 1;\n  animation-iteration-count:         infinite, 1;\n}\n\n.DYnPx {\n  opacity:                           0;\n  stroke-dasharray:                  70;\n  -webkit-animation:                 innerDrawIn 1s ease-in-out forwards 1.5333333333333332s, appearIn 0.1s linear forwards 1.5333333333333332s;\n  animation:                         innerDrawIn 1s ease-in-out forwards 1.5333333333333332s, appearIn 0.1s linear forwards 1.5333333333333332s;\n  -webkit-animation-iteration-count: infinite, 1;\n  animation-iteration-count:         infinite, 1;\n}\n\n.hjPEAQ {\n  opacity:                           0;\n  stroke-dasharray:                  70;\n  -webkit-animation:                 innerDrawIn 1s ease-in-out forwards 1.7000000000000002s, appearIn 0.1s linear forwards 1.7000000000000002s;\n  animation:                         innerDrawIn 1s ease-in-out forwards 1.7000000000000002s, appearIn 0.1s linear forwards 1.7000000000000002s;\n  -webkit-animation-iteration-count: infinite, 1;\n  animation-iteration-count:         infinite, 1;\n}\n\n#loading-wrapper {\n  position:                absolute;\n  width:                   100vw;\n  height:                  100vh;\n  display:                 -webkit-box;\n  display:                 -webkit-flex;\n  display:                 -ms-flexbox;\n  display:                 flex;\n  -webkit-align-items:     center;\n  -webkit-box-align:       center;\n  -ms-flex-align:          center;\n  align-items:             center;\n  -webkit-box-pack:        center;\n  -webkit-justify-content: center;\n  -ms-flex-pack:           center;\n  justify-content:         center;\n  -webkit-flex-direction:  column;\n  -ms-flex-direction:      column;\n  flex-direction:          column;\n}\n\n.logo {\n  width:             75px;\n  height:            75px;\n  margin-bottom:     20px;\n  opacity:           0;\n  -webkit-animation: fadeIn 0.5s ease-out forwards;\n  animation:         fadeIn 0.5s ease-out forwards;\n}\n\n.text {\n  font-size:         32px;\n  font-weight:       200;\n  text-align:        center;\n  color:             rgba(255, 255, 255, 0.6);\n  opacity:           0;\n  -webkit-animation: fadeIn 0.5s ease-out forwards;\n  animation:         fadeIn 0.5s ease-out forwards;\n}\n\n.dGfHfc {\n  font-weight: 400;\n}\n"
  },
  {
    "path": "src/Resources/public/playground/index.css",
    "content": "body {\n  margin: 0;\n  padding: 0;\n  font-family: sans-serif;\n  overflow: hidden;\n}\n\n#root {\n  height: 100%;\n}\n\nbody {\n  font-family: 'Open Sans', sans-serif;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  color: rgba(0,0,0,.8);\n  line-height: 1.5;\n  height: 100vh;\n  letter-spacing: 0.53px;\n  margin-right: -1px !important;\n}\n\nhtml, body, p, a, h1, h2, h3, h4, ul, pre, code {\n  margin: 0;\n  padding: 0;\n  color: inherit;\n}\n\na:active, a:focus, button:focus, input:focus {\n  outline: none;\n}\n\ninput, button, submit {\n  border: none;\n}\n\ninput, button, pre {\n  font-family: 'Open Sans', sans-serif;\n}\n\ncode {\n  font-family: Consolas, monospace;\n}\n\n/*# sourceMappingURL=index.css.map*/\n"
  },
  {
    "path": "src/Resources/public/playground/middleware.js",
    "content": "!function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"/\",n(n.s=542)}([function(e,t,n){\"use strict\";n.d(t,\"S\",(function(){return C})),n.d(t,\"x\",(function(){return w})),n.d(t,\"R\",(function(){return S})),n.d(t,\"w\",(function(){return k})),n.d(t,\"N\",(function(){return A})),n.d(t,\"u\",(function(){return T})),n.d(t,\"H\",(function(){return _})),n.d(t,\"o\",(function(){return O})),n.d(t,\"T\",(function(){return F})),n.d(t,\"y\",(function(){return N})),n.d(t,\"E\",(function(){return I})),n.d(t,\"l\",(function(){return M})),n.d(t,\"F\",(function(){return j})),n.d(t,\"m\",(function(){return L})),n.d(t,\"J\",(function(){return P})),n.d(t,\"q\",(function(){return R})),n.d(t,\"L\",(function(){return B})),n.d(t,\"s\",(function(){return U})),n.d(t,\"G\",(function(){return z})),n.d(t,\"n\",(function(){return V})),n.d(t,\"O\",(function(){return q})),n.d(t,\"v\",(function(){return H})),n.d(t,\"I\",(function(){return W})),n.d(t,\"p\",(function(){return G})),n.d(t,\"D\",(function(){return K})),n.d(t,\"k\",(function(){return J})),n.d(t,\"C\",(function(){return Q})),n.d(t,\"j\",(function(){return Y})),n.d(t,\"d\",(function(){return $})),n.d(t,\"e\",(function(){return X})),n.d(t,\"U\",(function(){return Z})),n.d(t,\"z\",(function(){return ee})),n.d(t,\"M\",(function(){return te})),n.d(t,\"t\",(function(){return ne})),n.d(t,\"B\",(function(){return re})),n.d(t,\"K\",(function(){return ie})),n.d(t,\"r\",(function(){return oe})),n.d(t,\"A\",(function(){return ae})),n.d(t,\"g\",(function(){return ce})),n.d(t,\"f\",(function(){return le})),n.d(t,\"i\",(function(){return me})),n.d(t,\"P\",(function(){return ge})),n.d(t,\"c\",(function(){return ye})),n.d(t,\"h\",(function(){return ve})),n.d(t,\"a\",(function(){return Ee})),n.d(t,\"b\",(function(){return De})),n.d(t,\"Q\",(function(){return we}));var r=n(55),i=n(25),o=n(4),a=n(36),s=n(57),u=n(41),c=n(8),l=n(50),p=n(48),f=n(39),d=n(31);function h(e){return e}var m=n(47),g=n(44),y=n(2),v=n(1),b=n(15),E=n(217);function x(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function D(e,t,n){return t&&x(e.prototype,t),n&&x(e,n),e}function C(e){return S(e)||A(e)||_(e)||F(e)||I(e)||j(e)||P(e)||B(e)}function w(e){if(!C(e))throw new Error(\"Expected \".concat(Object(o.a)(e),\" to be a GraphQL type.\"));return e}function S(e){return Object(p.a)(e,ce)}function k(e){if(!S(e))throw new Error(\"Expected \".concat(Object(o.a)(e),\" to be a GraphQL Scalar type.\"));return e}function A(e){return Object(p.a)(e,le)}function T(e){if(!A(e))throw new Error(\"Expected \".concat(Object(o.a)(e),\" to be a GraphQL Object type.\"));return e}function _(e){return Object(p.a)(e,ye)}function O(e){if(!_(e))throw new Error(\"Expected \".concat(Object(o.a)(e),\" to be a GraphQL Interface type.\"));return e}function F(e){return Object(p.a)(e,ve)}function N(e){if(!F(e))throw new Error(\"Expected \".concat(Object(o.a)(e),\" to be a GraphQL Union type.\"));return e}function I(e){return Object(p.a)(e,Ee)}function M(e){if(!I(e))throw new Error(\"Expected \".concat(Object(o.a)(e),\" to be a GraphQL Enum type.\"));return e}function j(e){return Object(p.a)(e,De)}function L(e){if(!j(e))throw new Error(\"Expected \".concat(Object(o.a)(e),\" to be a GraphQL Input Object type.\"));return e}function P(e){return Object(p.a)(e,$)}function R(e){if(!P(e))throw new Error(\"Expected \".concat(Object(o.a)(e),\" to be a GraphQL List type.\"));return e}function B(e){return Object(p.a)(e,X)}function U(e){if(!B(e))throw new Error(\"Expected \".concat(Object(o.a)(e),\" to be a GraphQL Non-Null type.\"));return e}function z(e){return S(e)||I(e)||j(e)||Z(e)&&z(e.ofType)}function V(e){if(!z(e))throw new Error(\"Expected \".concat(Object(o.a)(e),\" to be a GraphQL input type.\"));return e}function q(e){return S(e)||A(e)||_(e)||F(e)||I(e)||Z(e)&&q(e.ofType)}function H(e){if(!q(e))throw new Error(\"Expected \".concat(Object(o.a)(e),\" to be a GraphQL output type.\"));return e}function W(e){return S(e)||I(e)}function G(e){if(!W(e))throw new Error(\"Expected \".concat(Object(o.a)(e),\" to be a GraphQL leaf type.\"));return e}function K(e){return A(e)||_(e)||F(e)}function J(e){if(!K(e))throw new Error(\"Expected \".concat(Object(o.a)(e),\" to be a GraphQL composite type.\"));return e}function Q(e){return _(e)||F(e)}function Y(e){if(!Q(e))throw new Error(\"Expected \".concat(Object(o.a)(e),\" to be a GraphQL abstract type.\"));return e}function $(e){if(!(this instanceof $))return new $(e);this.ofType=w(e)}function X(e){if(!(this instanceof X))return new X(e);this.ofType=ne(e)}function Z(e){return P(e)||B(e)}function ee(e){if(!Z(e))throw new Error(\"Expected \".concat(Object(o.a)(e),\" to be a GraphQL wrapping type.\"));return e}function te(e){return C(e)&&!B(e)}function ne(e){if(!te(e))throw new Error(\"Expected \".concat(Object(o.a)(e),\" to be a GraphQL nullable type.\"));return e}function re(e){if(e)return B(e)?e.ofType:e}function ie(e){return S(e)||A(e)||_(e)||F(e)||I(e)||j(e)}function oe(e){if(!ie(e))throw new Error(\"Expected \".concat(Object(o.a)(e),\" to be a GraphQL named type.\"));return e}function ae(e){if(e){for(var t=e;Z(t);)t=t.ofType;return t}}function se(e){return\"function\"==typeof e?e():e}function ue(e){return e&&e.length>0?e:void 0}$.prototype.toString=function(){return\"[\"+String(this.ofType)+\"]\"},$.prototype.toJSON=function(){return this.toString()},Object.defineProperty($.prototype,i.c,{get:function(){return\"GraphQLList\"}}),Object(m.a)($),X.prototype.toString=function(){return String(this.ofType)+\"!\"},X.prototype.toJSON=function(){return this.toString()},Object.defineProperty(X.prototype,i.c,{get:function(){return\"GraphQLNonNull\"}}),Object(m.a)(X);var ce=function(){function e(e){var t,n,r,i=null!==(t=e.parseValue)&&void 0!==t?t:h;this.name=e.name,this.description=e.description,this.specifiedByUrl=e.specifiedByUrl,this.serialize=null!==(n=e.serialize)&&void 0!==n?n:h,this.parseValue=i,this.parseLiteral=null!==(r=e.parseLiteral)&&void 0!==r?r:function(e){return i(Object(E.a)(e))},this.extensions=e.extensions&&Object(u.a)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=ue(e.extensionASTNodes),\"string\"==typeof e.name||Object(c.a)(0,\"Must provide name.\"),null==e.specifiedByUrl||\"string\"==typeof e.specifiedByUrl||Object(c.a)(0,\"\".concat(this.name,' must provide \"specifiedByUrl\" as a string, ')+\"but got: \".concat(Object(o.a)(e.specifiedByUrl),\".\")),null==e.serialize||\"function\"==typeof e.serialize||Object(c.a)(0,\"\".concat(this.name,' must provide \"serialize\" function. If this custom Scalar is also used as an input type, ensure \"parseValue\" and \"parseLiteral\" functions are also provided.')),e.parseLiteral&&(\"function\"==typeof e.parseValue&&\"function\"==typeof e.parseLiteral||Object(c.a)(0,\"\".concat(this.name,' must provide both \"parseValue\" and \"parseLiteral\" functions.')))}var t=e.prototype;return t.toConfig=function(){var e;return{name:this.name,description:this.description,specifiedByUrl:this.specifiedByUrl,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:null!==(e=this.extensionASTNodes)&&void 0!==e?e:[]}},t.toString=function(){return this.name},t.toJSON=function(){return this.toString()},D(e,[{key:i.c,get:function(){return\"GraphQLScalarType\"}}]),e}();Object(m.a)(ce);var le=function(){function e(e){this.name=e.name,this.description=e.description,this.isTypeOf=e.isTypeOf,this.extensions=e.extensions&&Object(u.a)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=ue(e.extensionASTNodes),this._fields=fe.bind(void 0,e),this._interfaces=pe.bind(void 0,e),\"string\"==typeof e.name||Object(c.a)(0,\"Must provide name.\"),null==e.isTypeOf||\"function\"==typeof e.isTypeOf||Object(c.a)(0,\"\".concat(this.name,' must provide \"isTypeOf\" as a function, ')+\"but got: \".concat(Object(o.a)(e.isTypeOf),\".\"))}var t=e.prototype;return t.getFields=function(){return\"function\"==typeof this._fields&&(this._fields=this._fields()),this._fields},t.getInterfaces=function(){return\"function\"==typeof this._interfaces&&(this._interfaces=this._interfaces()),this._interfaces},t.toConfig=function(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:he(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},t.toString=function(){return this.name},t.toJSON=function(){return this.toString()},D(e,[{key:i.c,get:function(){return\"GraphQLObjectType\"}}]),e}();function pe(e){var t,n=null!==(t=se(e.interfaces))&&void 0!==t?t:[];return Array.isArray(n)||Object(c.a)(0,\"\".concat(e.name,\" interfaces must be an Array or a function which returns an Array.\")),n}function fe(e){var t=se(e.fields);return de(t)||Object(c.a)(0,\"\".concat(e.name,\" fields must be an object with field names as keys or a function which returns such an object.\")),Object(s.a)(t,(function(t,n){var i;de(t)||Object(c.a)(0,\"\".concat(e.name,\".\").concat(n,\" field config must be an object.\")),!(\"isDeprecated\"in t)||Object(c.a)(0,\"\".concat(e.name,\".\").concat(n,' should provide \"deprecationReason\" instead of \"isDeprecated\".')),null==t.resolve||\"function\"==typeof t.resolve||Object(c.a)(0,\"\".concat(e.name,\".\").concat(n,\" field resolver must be a function if \")+\"provided, but got: \".concat(Object(o.a)(t.resolve),\".\"));var a=null!==(i=t.args)&&void 0!==i?i:{};de(a)||Object(c.a)(0,\"\".concat(e.name,\".\").concat(n,\" args must be an object with argument names as keys.\"));var s=Object(r.a)(a).map((function(e){var t=e[0],n=e[1];return{name:t,description:n.description,type:n.type,defaultValue:n.defaultValue,extensions:n.extensions&&Object(u.a)(n.extensions),astNode:n.astNode}}));return{name:n,description:t.description,type:t.type,args:s,resolve:t.resolve,subscribe:t.subscribe,isDeprecated:null!=t.deprecationReason,deprecationReason:t.deprecationReason,extensions:t.extensions&&Object(u.a)(t.extensions),astNode:t.astNode}}))}function de(e){return Object(d.a)(e)&&!Array.isArray(e)}function he(e){return Object(s.a)(e,(function(e){return{description:e.description,type:e.type,args:me(e.args),resolve:e.resolve,subscribe:e.subscribe,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}}))}function me(e){return Object(l.a)(e,(function(e){return e.name}),(function(e){return{description:e.description,type:e.type,defaultValue:e.defaultValue,extensions:e.extensions,astNode:e.astNode}}))}function ge(e){return B(e.type)&&void 0===e.defaultValue}Object(m.a)(le);var ye=function(){function e(e){this.name=e.name,this.description=e.description,this.resolveType=e.resolveType,this.extensions=e.extensions&&Object(u.a)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=ue(e.extensionASTNodes),this._fields=fe.bind(void 0,e),this._interfaces=pe.bind(void 0,e),\"string\"==typeof e.name||Object(c.a)(0,\"Must provide name.\"),null==e.resolveType||\"function\"==typeof e.resolveType||Object(c.a)(0,\"\".concat(this.name,' must provide \"resolveType\" as a function, ')+\"but got: \".concat(Object(o.a)(e.resolveType),\".\"))}var t=e.prototype;return t.getFields=function(){return\"function\"==typeof this._fields&&(this._fields=this._fields()),this._fields},t.getInterfaces=function(){return\"function\"==typeof this._interfaces&&(this._interfaces=this._interfaces()),this._interfaces},t.toConfig=function(){var e;return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:he(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:null!==(e=this.extensionASTNodes)&&void 0!==e?e:[]}},t.toString=function(){return this.name},t.toJSON=function(){return this.toString()},D(e,[{key:i.c,get:function(){return\"GraphQLInterfaceType\"}}]),e}();Object(m.a)(ye);var ve=function(){function e(e){this.name=e.name,this.description=e.description,this.resolveType=e.resolveType,this.extensions=e.extensions&&Object(u.a)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=ue(e.extensionASTNodes),this._types=be.bind(void 0,e),\"string\"==typeof e.name||Object(c.a)(0,\"Must provide name.\"),null==e.resolveType||\"function\"==typeof e.resolveType||Object(c.a)(0,\"\".concat(this.name,' must provide \"resolveType\" as a function, ')+\"but got: \".concat(Object(o.a)(e.resolveType),\".\"))}var t=e.prototype;return t.getTypes=function(){return\"function\"==typeof this._types&&(this._types=this._types()),this._types},t.toConfig=function(){var e;return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:null!==(e=this.extensionASTNodes)&&void 0!==e?e:[]}},t.toString=function(){return this.name},t.toJSON=function(){return this.toString()},D(e,[{key:i.c,get:function(){return\"GraphQLUnionType\"}}]),e}();function be(e){var t=se(e.types);return Array.isArray(t)||Object(c.a)(0,\"Must provide Array of types or a function which returns such an array for Union \".concat(e.name,\".\")),t}Object(m.a)(ve);var Ee=function(){function e(e){var t,n;this.name=e.name,this.description=e.description,this.extensions=e.extensions&&Object(u.a)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=ue(e.extensionASTNodes),this._values=(t=this.name,de(n=e.values)||Object(c.a)(0,\"\".concat(t,\" values must be an object with value names as keys.\")),Object(r.a)(n).map((function(e){var n=e[0],r=e[1];return de(r)||Object(c.a)(0,\"\".concat(t,\".\").concat(n,' must refer to an object with a \"value\" key ')+\"representing an internal value but got: \".concat(Object(o.a)(r),\".\")),!(\"isDeprecated\"in r)||Object(c.a)(0,\"\".concat(t,\".\").concat(n,' should provide \"deprecationReason\" instead of \"isDeprecated\".')),{name:n,description:r.description,value:void 0!==r.value?r.value:n,isDeprecated:null!=r.deprecationReason,deprecationReason:r.deprecationReason,extensions:r.extensions&&Object(u.a)(r.extensions),astNode:r.astNode}}))),this._valueLookup=new Map(this._values.map((function(e){return[e.value,e]}))),this._nameLookup=Object(a.a)(this._values,(function(e){return e.name})),\"string\"==typeof e.name||Object(c.a)(0,\"Must provide name.\")}var t=e.prototype;return t.getValues=function(){return this._values},t.getValue=function(e){return this._nameLookup[e]},t.serialize=function(e){var t=this._valueLookup.get(e);if(void 0===t)throw new y.a('Enum \"'.concat(this.name,'\" cannot represent value: ').concat(Object(o.a)(e)));return t.name},t.parseValue=function(e){if(\"string\"!=typeof e){var t=Object(o.a)(e);throw new y.a('Enum \"'.concat(this.name,'\" cannot represent non-string value: ').concat(t,\".\")+xe(this,t))}var n=this.getValue(e);if(null==n)throw new y.a('Value \"'.concat(e,'\" does not exist in \"').concat(this.name,'\" enum.')+xe(this,e));return n.value},t.parseLiteral=function(e,t){if(e.kind!==v.a.ENUM){var n=Object(b.print)(e);throw new y.a('Enum \"'.concat(this.name,'\" cannot represent non-enum value: ').concat(n,\".\")+xe(this,n),e)}var r=this.getValue(e.value);if(null==r){var i=Object(b.print)(e);throw new y.a('Value \"'.concat(i,'\" does not exist in \"').concat(this.name,'\" enum.')+xe(this,i),e)}return r.value},t.toConfig=function(){var e,t=Object(l.a)(this.getValues(),(function(e){return e.name}),(function(e){return{description:e.description,value:e.value,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}}));return{name:this.name,description:this.description,values:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:null!==(e=this.extensionASTNodes)&&void 0!==e?e:[]}},t.toString=function(){return this.name},t.toJSON=function(){return this.toString()},D(e,[{key:i.c,get:function(){return\"GraphQLEnumType\"}}]),e}();function xe(e,t){var n=e.getValues().map((function(e){return e.name})),r=Object(g.a)(t,n);return Object(f.a)(\"the enum value\",r)}Object(m.a)(Ee);var De=function(){function e(e){this.name=e.name,this.description=e.description,this.extensions=e.extensions&&Object(u.a)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=ue(e.extensionASTNodes),this._fields=Ce.bind(void 0,e),\"string\"==typeof e.name||Object(c.a)(0,\"Must provide name.\")}var t=e.prototype;return t.getFields=function(){return\"function\"==typeof this._fields&&(this._fields=this._fields()),this._fields},t.toConfig=function(){var e,t=Object(s.a)(this.getFields(),(function(e){return{description:e.description,type:e.type,defaultValue:e.defaultValue,extensions:e.extensions,astNode:e.astNode}}));return{name:this.name,description:this.description,fields:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:null!==(e=this.extensionASTNodes)&&void 0!==e?e:[]}},t.toString=function(){return this.name},t.toJSON=function(){return this.toString()},D(e,[{key:i.c,get:function(){return\"GraphQLInputObjectType\"}}]),e}();function Ce(e){var t=se(e.fields);return de(t)||Object(c.a)(0,\"\".concat(e.name,\" fields must be an object with field names as keys or a function which returns such an object.\")),Object(s.a)(t,(function(t,n){return!(\"resolve\"in t)||Object(c.a)(0,\"\".concat(e.name,\".\").concat(n,\" field has a resolve property, but Input Types cannot define resolvers.\")),{name:n,description:t.description,type:t.type,defaultValue:t.defaultValue,extensions:t.extensions&&Object(u.a)(t.extensions),astNode:t.astNode}}))}function we(e){return B(e.type)&&void 0===e.defaultValue}Object(m.a)(De)},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return r}));var r=Object.freeze({NAME:\"Name\",DOCUMENT:\"Document\",OPERATION_DEFINITION:\"OperationDefinition\",VARIABLE_DEFINITION:\"VariableDefinition\",SELECTION_SET:\"SelectionSet\",FIELD:\"Field\",ARGUMENT:\"Argument\",FRAGMENT_SPREAD:\"FragmentSpread\",INLINE_FRAGMENT:\"InlineFragment\",FRAGMENT_DEFINITION:\"FragmentDefinition\",VARIABLE:\"Variable\",INT:\"IntValue\",FLOAT:\"FloatValue\",STRING:\"StringValue\",BOOLEAN:\"BooleanValue\",NULL:\"NullValue\",ENUM:\"EnumValue\",LIST:\"ListValue\",OBJECT:\"ObjectValue\",OBJECT_FIELD:\"ObjectField\",DIRECTIVE:\"Directive\",NAMED_TYPE:\"NamedType\",LIST_TYPE:\"ListType\",NON_NULL_TYPE:\"NonNullType\",SCHEMA_DEFINITION:\"SchemaDefinition\",OPERATION_TYPE_DEFINITION:\"OperationTypeDefinition\",SCALAR_TYPE_DEFINITION:\"ScalarTypeDefinition\",OBJECT_TYPE_DEFINITION:\"ObjectTypeDefinition\",FIELD_DEFINITION:\"FieldDefinition\",INPUT_VALUE_DEFINITION:\"InputValueDefinition\",INTERFACE_TYPE_DEFINITION:\"InterfaceTypeDefinition\",UNION_TYPE_DEFINITION:\"UnionTypeDefinition\",ENUM_TYPE_DEFINITION:\"EnumTypeDefinition\",ENUM_VALUE_DEFINITION:\"EnumValueDefinition\",INPUT_OBJECT_TYPE_DEFINITION:\"InputObjectTypeDefinition\",DIRECTIVE_DEFINITION:\"DirectiveDefinition\",SCHEMA_EXTENSION:\"SchemaExtension\",SCALAR_TYPE_EXTENSION:\"ScalarTypeExtension\",OBJECT_TYPE_EXTENSION:\"ObjectTypeExtension\",INTERFACE_TYPE_EXTENSION:\"InterfaceTypeExtension\",UNION_TYPE_EXTENSION:\"UnionTypeExtension\",ENUM_TYPE_EXTENSION:\"EnumTypeExtension\",INPUT_OBJECT_TYPE_EXTENSION:\"InputObjectTypeExtension\"})},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return g})),n.d(t,\"b\",(function(){return y}));var r=n(31),i=n(25),o=n(96),a=n(137);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 u(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function c(e,t){return!t||\"object\"!==s(t)&&\"function\"!=typeof t?l(e):t}function l(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function p(e){var t=\"function\"==typeof Map?new Map:void 0;return(p=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf(\"[native code]\")))return e;var n;if(\"function\"!=typeof e)throw new TypeError(\"Super expression must either be null or a function\");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return f(e,arguments,m(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),h(r,e)})(e)}function f(e,t,n){return(f=d()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&h(i,n.prototype),i}).apply(null,arguments)}function d(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function h(e,t){return(h=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function m(e){return(m=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var g=function(e){!function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&h(e,t)}(g,e);var t,n,a,s,p,f=(t=g,n=d(),function(){var e,r=m(t);if(n){var i=m(this).constructor;e=Reflect.construct(r,arguments,i)}else e=r.apply(this,arguments);return c(this,e)});function g(e,t,n,i,a,s,u){var p,d,h,m,y;!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,g),y=f.call(this,e);var v,b=Array.isArray(t)?0!==t.length?t:void 0:t?[t]:void 0,E=n;!E&&b&&(E=null===(v=b[0].loc)||void 0===v?void 0:v.source);var x,D=i;!D&&b&&(D=b.reduce((function(e,t){return t.loc&&e.push(t.loc.start),e}),[])),D&&0===D.length&&(D=void 0),i&&n?x=i.map((function(e){return Object(o.a)(n,e)})):b&&(x=b.reduce((function(e,t){return t.loc&&e.push(Object(o.a)(t.loc.source,t.loc.start)),e}),[]));var C=u;if(null==C&&null!=s){var w=s.extensions;Object(r.a)(w)&&(C=w)}return Object.defineProperties(l(y),{name:{value:\"GraphQLError\"},message:{value:e,enumerable:!0,writable:!0},locations:{value:null!==(p=x)&&void 0!==p?p:void 0,enumerable:null!=x},path:{value:null!=a?a:void 0,enumerable:null!=a},nodes:{value:null!=b?b:void 0},source:{value:null!==(d=E)&&void 0!==d?d:void 0},positions:{value:null!==(h=D)&&void 0!==h?h:void 0},originalError:{value:s},extensions:{value:null!==(m=C)&&void 0!==m?m:void 0,enumerable:null!=C}}),(null==s?void 0:s.stack)?(Object.defineProperty(l(y),\"stack\",{value:s.stack,writable:!0,configurable:!0}),c(y)):(Error.captureStackTrace?Error.captureStackTrace(l(y),g):Object.defineProperty(l(y),\"stack\",{value:Error().stack,writable:!0,configurable:!0}),y)}return a=g,(s=[{key:\"toString\",value:function(){return y(this)}},{key:i.c,get:function(){return\"Object\"}}])&&u(a.prototype,s),p&&u(a,p),g}(p(Error));function y(e){var t=e.message;if(e.nodes)for(var n=0,r=e.nodes;n<r.length;n++){var i=r[n];i.loc&&(t+=\"\\n\\n\"+Object(a.a)(i.loc))}else if(e.source&&e.locations)for(var o=0,s=e.locations;o<s.length;o++){var u=s[o];t+=\"\\n\\n\"+Object(a.b)(e.source,u)}return t}},function(e,t,n){\"use strict\";e.exports=n(259)},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return o}));var r=n(95);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 o(e){return a(e,[])}function a(e,t){switch(i(e)){case\"string\":return JSON.stringify(e);case\"function\":return e.name?\"[function \".concat(e.name,\"]\"):\"[function]\";case\"object\":return null===e?\"null\":function(e,t){if(-1!==t.indexOf(e))return\"[Circular]\";var n=[].concat(t,[e]),i=function(e){var t=e[String(r.a)];if(\"function\"==typeof t)return t;if(\"function\"==typeof e.inspect)return e.inspect}(e);if(void 0!==i){var o=i.call(e);if(o!==e)return\"string\"==typeof o?o:a(o,n)}else if(Array.isArray(e))return function(e,t){if(0===e.length)return\"[]\";if(t.length>2)return\"[Array]\";for(var n=Math.min(10,e.length),r=e.length-n,i=[],o=0;o<n;++o)i.push(a(e[o],t));1===r?i.push(\"... 1 more item\"):r>1&&i.push(\"... \".concat(r,\" more items\"));return\"[\"+i.join(\", \")+\"]\"}(e,n);return function(e,t){var n=Object.keys(e);if(0===n.length)return\"{}\";if(t.length>2)return\"[\"+function(e){var t=Object.prototype.toString.call(e).replace(/^\\[object /,\"\").replace(/]$/,\"\");if(\"Object\"===t&&\"function\"==typeof e.constructor){var n=e.constructor.name;if(\"string\"==typeof n&&\"\"!==n)return n}return t}(e)+\"]\";return\"{ \"+n.map((function(n){return n+\": \"+a(e[n],t)})).join(\", \")+\" }\"}(e,n)}(e,t);default:return String(e)}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return r}));var r=Object.freeze({SOF:\"<SOF>\",EOF:\"<EOF>\",BANG:\"!\",DOLLAR:\"$\",AMP:\"&\",PAREN_L:\"(\",PAREN_R:\")\",SPREAD:\"...\",COLON:\":\",EQUALS:\"=\",AT:\"@\",BRACKET_L:\"[\",BRACKET_R:\"]\",BRACE_L:\"{\",PIPE:\"|\",BRACE_R:\"}\",NAME:\"Name\",INT:\"Int\",FLOAT:\"Float\",STRING:\"String\",BLOCK_STRING:\"BlockString\",COMMENT:\"Comment\"})},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return ae})),n.d(t,\"b\",(function(){return L})),n.d(t,\"c\",(function(){return v})),n.d(t,\"d\",(function(){return R})),n.d(t,\"e\",(function(){return x})),n.d(t,\"f\",(function(){return c})),n.d(t,\"g\",(function(){return U})),n.d(t,\"h\",(function(){return K})),n.d(t,\"i\",(function(){return I})),n.d(t,\"j\",(function(){return $})),n.d(t,\"k\",(function(){return z})),n.d(t,\"l\",(function(){return X})),n.d(t,\"m\",(function(){return ue})),n.d(t,\"n\",(function(){return pe})),n.d(t,\"o\",(function(){return oe})),n.d(t,\"p\",(function(){return de})),n.d(t,\"q\",(function(){return j})),n.d(t,\"r\",(function(){return F})),n.d(t,\"s\",(function(){return P})),n.d(t,\"t\",(function(){return q})),n.d(t,\"u\",(function(){return M})),n.d(t,\"v\",(function(){return ve})),n.d(t,\"w\",(function(){return re})),n.d(t,\"x\",(function(){return Q})),n.d(t,\"y\",(function(){return Z})),n.d(t,\"z\",(function(){return ee})),n.d(t,\"A\",(function(){return te})),n.d(t,\"B\",(function(){return ne})),n.d(t,\"C\",(function(){return B})),n.d(t,\"D\",(function(){return se})),n.d(t,\"E\",(function(){return ce})),n.d(t,\"F\",(function(){return le})),n.d(t,\"G\",(function(){return fe})),n.d(t,\"H\",(function(){return he})),n.d(t,\"I\",(function(){return me})),n.d(t,\"J\",(function(){return ge})),n.d(t,\"K\",(function(){return ye})),n.d(t,\"L\",(function(){return V})),n.d(t,\"M\",(function(){return l})),n.d(t,\"N\",(function(){return H})),n.d(t,\"O\",(function(){return N})),n.d(t,\"P\",(function(){return W})),n.d(t,\"Q\",(function(){return G})),n.d(t,\"R\",(function(){return J})),n.d(t,\"S\",(function(){return b})),n.d(t,\"T\",(function(){return k})),n.d(t,\"U\",(function(){return s})),n.d(t,\"V\",(function(){return S})),n.d(t,\"W\",(function(){return E})),n.d(t,\"X\",(function(){return O})),n.d(t,\"Y\",(function(){return h})),n.d(t,\"Z\",(function(){return p})),n.d(t,\"ab\",(function(){return y})),n.d(t,\"bb\",(function(){return d})),n.d(t,\"cb\",(function(){return w})),n.d(t,\"db\",(function(){return u})),n.d(t,\"eb\",(function(){return f})),n.d(t,\"fb\",(function(){return A})),n.d(t,\"gb\",(function(){return C})),n.d(t,\"hb\",(function(){return D}));var r=n(18),i=n(37),o=n(10),a=n(112),s=function(e){return function(){return e}}(!0),u=function(){};var c=function(e){return e};\"function\"==typeof Symbol&&Symbol.asyncIterator&&Symbol.asyncIterator;function l(e,t,n){if(!t(e))throw new Error(n)}var p=function(e,t){Object(i.a)(e,t),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(t).forEach((function(n){e[n]=t[n]}))},f=function(e,t){var n;return(n=[]).concat.apply(n,t.map(e))};function d(e,t){var n=e.indexOf(t);n>=0&&e.splice(n,1)}function h(e){var t=!1;return function(){t||(t=!0,e())}}var m=function(e){throw e},g=function(e){return{value:e,done:!0}};function y(e,t,n){void 0===t&&(t=m),void 0===n&&(n=\"iterator\");var r={meta:{name:n},next:e,throw:t,return:g,isSagaIterator:!0};return\"undefined\"!=typeof Symbol&&(r[Symbol.iterator]=function(){return r}),r}function v(e,t){var n=t.sagaStack;console.error(e),console.error(n)}var b=function(e){return new Error(\"\\n  redux-saga: Error checking hooks detected an inconsistent state. This is likely a bug\\n  in redux-saga code and not yours. Thanks for reporting this in the project's github repo.\\n  Error: \"+e+\"\\n\")},E=function(e){return Array.apply(null,new Array(e))},x=function(e){return function(t){return e(Object.defineProperty(t,r.f,{value:!0}))}},D=function(e){return e===r.k},C=function(e){return e===r.j},w=function(e){return D(e)||C(e)};function S(e,t){var n=Object.keys(e),r=n.length;var i,a=0,s=Object(o.a)(e)?E(r):{},c={};return n.forEach((function(e){var n=function(n,o){i||(o||w(n)?(t.cancel(),t(n,o)):(s[e]=n,++a===r&&(i=!0,t(s))))};n.cancel=u,c[e]=n})),t.cancel=function(){i||(i=!0,n.forEach((function(e){return c[e].cancel()})))},c}function k(e){return{name:e.name||\"anonymous\",location:A(e)}}function A(e){return e[r.g]}var T={isEmpty:s,put:u,take:u};function _(e,t){void 0===e&&(e=10);var n=new Array(e),r=0,i=0,o=0,a=function(t){n[i]=t,i=(i+1)%e,r++},s=function(){if(0!=r){var t=n[o];return n[o]=null,r--,o=(o+1)%e,t}},u=function(){for(var e=[];r;)e.push(s());return e};return{isEmpty:function(){return 0==r},put:function(s){var c;if(r<e)a(s);else switch(t){case 1:throw new Error(\"Channel's Buffer overflow!\");case 3:n[i]=s,o=i=(i+1)%e;break;case 4:c=2*e,n=u(),r=n.length,i=n.length,o=0,n.length=c,e=c,a(s)}},take:s,flush:u}}var O=function(){return T},F=function(e){return _(e,3)},N=function(e){return _(e,4)},I=Object.freeze({__proto__:null,none:O,fixed:function(e){return _(e,1)},dropping:function(e){return _(e,2)},sliding:F,expanding:N}),M=\"TAKE\",j=\"PUT\",L=\"ALL\",P=\"RACE\",R=\"CALL\",B=\"CPS\",U=\"FORK\",z=\"JOIN\",V=\"CANCEL\",q=\"SELECT\",H=\"ACTION_CHANNEL\",W=\"CANCELLED\",G=\"FLUSH\",K=\"GET_CONTEXT\",J=\"SET_CONTEXT\",Q=Object.freeze({__proto__:null,TAKE:M,PUT:j,ALL:L,RACE:P,CALL:R,CPS:B,FORK:U,JOIN:z,CANCEL:V,SELECT:q,ACTION_CHANNEL:H,CANCELLED:W,FLUSH:G,GET_CONTEXT:K,SET_CONTEXT:J}),Y=function(e,t){var n;return(n={})[r.c]=!0,n.combinator=!1,n.type=e,n.payload=t,n},$=function(e){return Y(U,Object(i.a)({},e.payload,{detached:!0}))};function X(e,t){return void 0===e&&(e=\"*\"),Object(o.i)(e)?Y(M,{pattern:e}):Object(o.f)(e)&&Object(o.g)(t)&&Object(o.i)(t)?Y(M,{channel:e,pattern:t}):Object(o.b)(e)?Y(M,{channel:e}):void 0}var Z=function(){var e=X.apply(void 0,arguments);return e.payload.maybe=!0,e};function ee(e,t){return Object(o.n)(t)&&(t=e,e=void 0),Y(j,{channel:e,action:t})}var te=function(){var e=ee.apply(void 0,arguments);return e.payload.resolve=!0,e};function ne(e){var t=Y(L,e);return t.combinator=!0,t}function re(e){var t=Y(P,e);return t.combinator=!0,t}function ie(e,t){var n,r=null;return Object(o.d)(e)?n=e:(Object(o.a)(e)?(r=e[0],n=e[1]):(r=e.context,n=e.fn),r&&Object(o.k)(n)&&Object(o.d)(r[n])&&(n=r[n])),{context:r,fn:n,args:t}}function oe(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return Y(R,ie(e,n))}function ae(e,t,n){void 0===n&&(n=[]);return Y(R,ie([e,t],n))}function se(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return Y(B,ie(e,n))}function ue(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return Y(U,ie(e,n))}function ce(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return $(ue.apply(void 0,[e].concat(n)))}function le(e){return Y(z,e)}function pe(e){return void 0===e&&(e=r.h),Y(V,e)}function fe(e){void 0===e&&(e=c);for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return Y(q,{selector:e,args:n})}function de(e,t){return Y(H,{pattern:e,buffer:t})}function he(){return Y(W,{})}function me(e){return Y(G,e)}function ge(e){return Y(K,e)}function ye(e){return Y(J,e)}var ve=oe.bind(null,a.a)},function(e,t,n){e.exports=n(263)()},function(e,t,n){\"use strict\";function r(e,t){if(!Boolean(e))throw new Error(t)}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return r}));var r=Object.freeze({QUERY:\"QUERY\",MUTATION:\"MUTATION\",SUBSCRIPTION:\"SUBSCRIPTION\",FIELD:\"FIELD\",FRAGMENT_DEFINITION:\"FRAGMENT_DEFINITION\",FRAGMENT_SPREAD:\"FRAGMENT_SPREAD\",INLINE_FRAGMENT:\"INLINE_FRAGMENT\",VARIABLE_DEFINITION:\"VARIABLE_DEFINITION\",SCHEMA:\"SCHEMA\",SCALAR:\"SCALAR\",OBJECT:\"OBJECT\",FIELD_DEFINITION:\"FIELD_DEFINITION\",ARGUMENT_DEFINITION:\"ARGUMENT_DEFINITION\",INTERFACE:\"INTERFACE\",UNION:\"UNION\",ENUM:\"ENUM\",ENUM_VALUE:\"ENUM_VALUE\",INPUT_OBJECT:\"INPUT_OBJECT\",INPUT_FIELD_DEFINITION:\"INPUT_FIELD_DEFINITION\"})},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return u})),n.d(t,\"b\",(function(){return d})),n.d(t,\"c\",(function(){return y})),n.d(t,\"d\",(function(){return a})),n.d(t,\"e\",(function(){return p})),n.d(t,\"f\",(function(){return g})),n.d(t,\"g\",(function(){return o})),n.d(t,\"h\",(function(){return c})),n.d(t,\"i\",(function(){return f})),n.d(t,\"j\",(function(){return l})),n.d(t,\"k\",(function(){return s})),n.d(t,\"l\",(function(){return h})),n.d(t,\"m\",(function(){return m})),n.d(t,\"n\",(function(){return i}));var r=n(18),i=function(e){return null==e},o=function(e){return null!=e},a=function(e){return\"function\"==typeof e},s=function(e){return\"string\"==typeof e},u=Array.isArray,c=function(e){return e&&!u(e)&&\"object\"==typeof e},l=function(e){return e&&a(e.then)},p=function(e){return e&&a(e.next)&&a(e.throw)},f=function e(t){return t&&(s(t)||m(t)||a(t)||u(t)&&t.every(e))},d=function(e){return e&&a(e.take)&&a(e.close)},h=function(e){return a(e)&&e.hasOwnProperty(\"toString\")},m=function(e){return Boolean(e)&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype},g=function(e){return d(e)&&e[r.e]},y=function(e){return e&&e[r.c]}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),function(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}(n(103));var r=n(103);t.styled=r.default},function(e,t,n){\"use strict\";n.r(t),n.d(t,\"__Schema\",(function(){return p})),n.d(t,\"__Directive\",(function(){return f})),n.d(t,\"__DirectiveLocation\",(function(){return d})),n.d(t,\"__Type\",(function(){return h})),n.d(t,\"__Field\",(function(){return m})),n.d(t,\"__InputValue\",(function(){return g})),n.d(t,\"__EnumValue\",(function(){return y})),n.d(t,\"TypeKind\",(function(){return v})),n.d(t,\"__TypeKind\",(function(){return b})),n.d(t,\"SchemaMetaFieldDef\",(function(){return E})),n.d(t,\"TypeMetaFieldDef\",(function(){return x})),n.d(t,\"TypeNameMetaFieldDef\",(function(){return D})),n.d(t,\"introspectionTypes\",(function(){return C})),n.d(t,\"isIntrospectionType\",(function(){return w}));var r=n(14),i=n(4),o=n(17),a=n(15),s=n(9),u=n(67),c=n(13),l=n(0),p=new l.f({name:\"__Schema\",description:\"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.\",fields:function(){return{description:{type:c.e,resolve:function(e){return e.description}},types:{description:\"A list of all types supported by this server.\",type:Object(l.e)(Object(l.d)(Object(l.e)(h))),resolve:function(e){return Object(r.a)(e.getTypeMap())}},queryType:{description:\"The type that query operations will be rooted at.\",type:Object(l.e)(h),resolve:function(e){return e.getQueryType()}},mutationType:{description:\"If this server supports mutation, the type that mutation operations will be rooted at.\",type:h,resolve:function(e){return e.getMutationType()}},subscriptionType:{description:\"If this server support subscription, the type that subscription operations will be rooted at.\",type:h,resolve:function(e){return e.getSubscriptionType()}},directives:{description:\"A list of all directives supported by this server.\",type:Object(l.e)(Object(l.d)(Object(l.e)(f))),resolve:function(e){return e.getDirectives()}}}}}),f=new l.f({name:\"__Directive\",description:\"A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\\n\\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.\",fields:function(){return{name:{type:Object(l.e)(c.e),resolve:function(e){return e.name}},description:{type:c.e,resolve:function(e){return e.description}},isRepeatable:{type:Object(l.e)(c.a),resolve:function(e){return e.isRepeatable}},locations:{type:Object(l.e)(Object(l.d)(Object(l.e)(d))),resolve:function(e){return e.locations}},args:{type:Object(l.e)(Object(l.d)(Object(l.e)(g))),resolve:function(e){return e.args}}}}}),d=new l.a({name:\"__DirectiveLocation\",description:\"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.\",values:{QUERY:{value:s.a.QUERY,description:\"Location adjacent to a query operation.\"},MUTATION:{value:s.a.MUTATION,description:\"Location adjacent to a mutation operation.\"},SUBSCRIPTION:{value:s.a.SUBSCRIPTION,description:\"Location adjacent to a subscription operation.\"},FIELD:{value:s.a.FIELD,description:\"Location adjacent to a field.\"},FRAGMENT_DEFINITION:{value:s.a.FRAGMENT_DEFINITION,description:\"Location adjacent to a fragment definition.\"},FRAGMENT_SPREAD:{value:s.a.FRAGMENT_SPREAD,description:\"Location adjacent to a fragment spread.\"},INLINE_FRAGMENT:{value:s.a.INLINE_FRAGMENT,description:\"Location adjacent to an inline fragment.\"},VARIABLE_DEFINITION:{value:s.a.VARIABLE_DEFINITION,description:\"Location adjacent to a variable definition.\"},SCHEMA:{value:s.a.SCHEMA,description:\"Location adjacent to a schema definition.\"},SCALAR:{value:s.a.SCALAR,description:\"Location adjacent to a scalar definition.\"},OBJECT:{value:s.a.OBJECT,description:\"Location adjacent to an object type definition.\"},FIELD_DEFINITION:{value:s.a.FIELD_DEFINITION,description:\"Location adjacent to a field definition.\"},ARGUMENT_DEFINITION:{value:s.a.ARGUMENT_DEFINITION,description:\"Location adjacent to an argument definition.\"},INTERFACE:{value:s.a.INTERFACE,description:\"Location adjacent to an interface definition.\"},UNION:{value:s.a.UNION,description:\"Location adjacent to a union definition.\"},ENUM:{value:s.a.ENUM,description:\"Location adjacent to an enum definition.\"},ENUM_VALUE:{value:s.a.ENUM_VALUE,description:\"Location adjacent to an enum value definition.\"},INPUT_OBJECT:{value:s.a.INPUT_OBJECT,description:\"Location adjacent to an input object type definition.\"},INPUT_FIELD_DEFINITION:{value:s.a.INPUT_FIELD_DEFINITION,description:\"Location adjacent to an input object field definition.\"}}}),h=new l.f({name:\"__Type\",description:\"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\\n\\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByUrl`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.\",fields:function(){return{kind:{type:Object(l.e)(b),resolve:function(e){return Object(l.R)(e)?v.SCALAR:Object(l.N)(e)?v.OBJECT:Object(l.H)(e)?v.INTERFACE:Object(l.T)(e)?v.UNION:Object(l.E)(e)?v.ENUM:Object(l.F)(e)?v.INPUT_OBJECT:Object(l.J)(e)?v.LIST:Object(l.L)(e)?v.NON_NULL:void Object(o.a)(0,'Unexpected type: \"'.concat(Object(i.a)(e),'\".'))}},name:{type:c.e,resolve:function(e){return void 0!==e.name?e.name:void 0}},description:{type:c.e,resolve:function(e){return void 0!==e.description?e.description:void 0}},specifiedByUrl:{type:c.e,resolve:function(e){return void 0!==e.specifiedByUrl?e.specifiedByUrl:void 0}},fields:{type:Object(l.d)(Object(l.e)(m)),args:{includeDeprecated:{type:c.a,defaultValue:!1}},resolve:function(e,t){var n=t.includeDeprecated;if(Object(l.N)(e)||Object(l.H)(e)){var i=Object(r.a)(e.getFields());return n||(i=i.filter((function(e){return!e.isDeprecated}))),i}return null}},interfaces:{type:Object(l.d)(Object(l.e)(h)),resolve:function(e){if(Object(l.N)(e)||Object(l.H)(e))return e.getInterfaces()}},possibleTypes:{type:Object(l.d)(Object(l.e)(h)),resolve:function(e,t,n,r){var i=r.schema;if(Object(l.C)(e))return i.getPossibleTypes(e)}},enumValues:{type:Object(l.d)(Object(l.e)(y)),args:{includeDeprecated:{type:c.a,defaultValue:!1}},resolve:function(e,t){var n=t.includeDeprecated;if(Object(l.E)(e)){var r=e.getValues();return n||(r=r.filter((function(e){return!e.isDeprecated}))),r}}},inputFields:{type:Object(l.d)(Object(l.e)(g)),resolve:function(e){if(Object(l.F)(e))return Object(r.a)(e.getFields())}},ofType:{type:h,resolve:function(e){return void 0!==e.ofType?e.ofType:void 0}}}}}),m=new l.f({name:\"__Field\",description:\"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.\",fields:function(){return{name:{type:Object(l.e)(c.e),resolve:function(e){return e.name}},description:{type:c.e,resolve:function(e){return e.description}},args:{type:Object(l.e)(Object(l.d)(Object(l.e)(g))),resolve:function(e){return e.args}},type:{type:Object(l.e)(h),resolve:function(e){return e.type}},isDeprecated:{type:Object(l.e)(c.a),resolve:function(e){return e.isDeprecated}},deprecationReason:{type:c.e,resolve:function(e){return e.deprecationReason}}}}}),g=new l.f({name:\"__InputValue\",description:\"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.\",fields:function(){return{name:{type:Object(l.e)(c.e),resolve:function(e){return e.name}},description:{type:c.e,resolve:function(e){return e.description}},type:{type:Object(l.e)(h),resolve:function(e){return e.type}},defaultValue:{type:c.e,description:\"A GraphQL-formatted string representing the default value for this input value.\",resolve:function(e){var t=e.type,n=e.defaultValue,r=Object(u.a)(n,t);return r?Object(a.print)(r):null}}}}}),y=new l.f({name:\"__EnumValue\",description:\"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.\",fields:function(){return{name:{type:Object(l.e)(c.e),resolve:function(e){return e.name}},description:{type:c.e,resolve:function(e){return e.description}},isDeprecated:{type:Object(l.e)(c.a),resolve:function(e){return e.isDeprecated}},deprecationReason:{type:c.e,resolve:function(e){return e.deprecationReason}}}}}),v=Object.freeze({SCALAR:\"SCALAR\",OBJECT:\"OBJECT\",INTERFACE:\"INTERFACE\",UNION:\"UNION\",ENUM:\"ENUM\",INPUT_OBJECT:\"INPUT_OBJECT\",LIST:\"LIST\",NON_NULL:\"NON_NULL\"}),b=new l.a({name:\"__TypeKind\",description:\"An enum describing what kind of type a given `__Type` is.\",values:{SCALAR:{value:v.SCALAR,description:\"Indicates this type is a scalar.\"},OBJECT:{value:v.OBJECT,description:\"Indicates this type is an object. `fields` and `interfaces` are valid fields.\"},INTERFACE:{value:v.INTERFACE,description:\"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields.\"},UNION:{value:v.UNION,description:\"Indicates this type is a union. `possibleTypes` is a valid field.\"},ENUM:{value:v.ENUM,description:\"Indicates this type is an enum. `enumValues` is a valid field.\"},INPUT_OBJECT:{value:v.INPUT_OBJECT,description:\"Indicates this type is an input object. `inputFields` is a valid field.\"},LIST:{value:v.LIST,description:\"Indicates this type is a list. `ofType` is a valid field.\"},NON_NULL:{value:v.NON_NULL,description:\"Indicates this type is a non-null. `ofType` is a valid field.\"}}}),E={name:\"__schema\",type:Object(l.e)(p),description:\"Access the current type schema of this server.\",args:[],resolve:function(e,t,n,r){return r.schema},isDeprecated:!1,deprecationReason:void 0,extensions:void 0,astNode:void 0},x={name:\"__type\",type:h,description:\"Request the type information of a single type.\",args:[{name:\"name\",description:void 0,type:Object(l.e)(c.e),defaultValue:void 0,extensions:void 0,astNode:void 0}],resolve:function(e,t,n,r){var i=t.name;return r.schema.getType(i)},isDeprecated:!1,deprecationReason:void 0,extensions:void 0,astNode:void 0},D={name:\"__typename\",type:Object(l.e)(c.e),description:\"The name of the current Object type at runtime.\",args:[],resolve:function(e,t,n,r){return r.parentType.name},isDeprecated:!1,deprecationReason:void 0,extensions:void 0,astNode:void 0},C=Object.freeze([p,f,d,h,m,g,y,b]);function w(e){return C.some((function(t){var n=t.name;return e.name===n}))}},function(e,t,n){\"use strict\";n.d(t,\"d\",(function(){return p})),n.d(t,\"b\",(function(){return f})),n.d(t,\"e\",(function(){return h})),n.d(t,\"a\",(function(){return m})),n.d(t,\"c\",(function(){return g})),n.d(t,\"g\",(function(){return y})),n.d(t,\"f\",(function(){return v}));var r=n(72),i=Number.isInteger||function(e){return\"number\"==typeof e&&isFinite(e)&&Math.floor(e)===e},o=n(4),a=n(31),s=n(1),u=n(15),c=n(2),l=n(0);var p=new l.g({name:\"Int\",description:\"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.\",serialize:function(e){var t=d(e);if(\"boolean\"==typeof t)return t?1:0;var n=t;if(\"string\"==typeof t&&\"\"!==t&&(n=Number(t)),!i(n))throw new c.a(\"Int cannot represent non-integer value: \".concat(Object(o.a)(t)));if(n>2147483647||n<-2147483648)throw new c.a(\"Int cannot represent non 32-bit signed integer value: \"+Object(o.a)(t));return n},parseValue:function(e){if(!i(e))throw new c.a(\"Int cannot represent non-integer value: \".concat(Object(o.a)(e)));if(e>2147483647||e<-2147483648)throw new c.a(\"Int cannot represent non 32-bit signed integer value: \".concat(e));return e},parseLiteral:function(e){if(e.kind!==s.a.INT)throw new c.a(\"Int cannot represent non-integer value: \".concat(Object(u.print)(e)),e);var t=parseInt(e.value,10);if(t>2147483647||t<-2147483648)throw new c.a(\"Int cannot represent non 32-bit signed integer value: \".concat(e.value),e);return t}});var f=new l.g({name:\"Float\",description:\"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).\",serialize:function(e){var t=d(e);if(\"boolean\"==typeof t)return t?1:0;var n=t;if(\"string\"==typeof t&&\"\"!==t&&(n=Number(t)),!Object(r.a)(n))throw new c.a(\"Float cannot represent non numeric value: \".concat(Object(o.a)(t)));return n},parseValue:function(e){if(!Object(r.a)(e))throw new c.a(\"Float cannot represent non numeric value: \".concat(Object(o.a)(e)));return e},parseLiteral:function(e){if(e.kind!==s.a.FLOAT&&e.kind!==s.a.INT)throw new c.a(\"Float cannot represent non numeric value: \".concat(Object(u.print)(e)),e);return parseFloat(e.value)}});function d(e){if(Object(a.a)(e)){if(\"function\"==typeof e.valueOf){var t=e.valueOf();if(!Object(a.a)(t))return t}if(\"function\"==typeof e.toJSON)return e.toJSON()}return e}var h=new l.g({name:\"String\",description:\"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.\",serialize:function(e){var t=d(e);if(\"string\"==typeof t)return t;if(\"boolean\"==typeof t)return t?\"true\":\"false\";if(Object(r.a)(t))return t.toString();throw new c.a(\"String cannot represent value: \".concat(Object(o.a)(e)))},parseValue:function(e){if(\"string\"!=typeof e)throw new c.a(\"String cannot represent a non string value: \".concat(Object(o.a)(e)));return e},parseLiteral:function(e){if(e.kind!==s.a.STRING)throw new c.a(\"String cannot represent a non string value: \".concat(Object(u.print)(e)),e);return e.value}});var m=new l.g({name:\"Boolean\",description:\"The `Boolean` scalar type represents `true` or `false`.\",serialize:function(e){var t=d(e);if(\"boolean\"==typeof t)return t;if(Object(r.a)(t))return 0!==t;throw new c.a(\"Boolean cannot represent a non boolean value: \".concat(Object(o.a)(t)))},parseValue:function(e){if(\"boolean\"!=typeof e)throw new c.a(\"Boolean cannot represent a non boolean value: \".concat(Object(o.a)(e)));return e},parseLiteral:function(e){if(e.kind!==s.a.BOOLEAN)throw new c.a(\"Boolean cannot represent a non boolean value: \".concat(Object(u.print)(e)),e);return e.value}});var g=new l.g({name:\"ID\",description:'The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `\"4\"`) or integer (such as `4`) input value will be accepted as an ID.',serialize:function(e){var t=d(e);if(\"string\"==typeof t)return t;if(i(t))return String(t);throw new c.a(\"ID cannot represent value: \".concat(Object(o.a)(e)))},parseValue:function(e){if(\"string\"==typeof e)return e;if(i(e))return e.toString();throw new c.a(\"ID cannot represent value: \".concat(Object(o.a)(e)))},parseLiteral:function(e){if(e.kind!==s.a.STRING&&e.kind!==s.a.INT)throw new c.a(\"ID cannot represent a non-string and non-integer value: \"+Object(u.print)(e),e);return e.value}}),y=Object.freeze([h,p,f,m,g]);function v(e){return y.some((function(t){var n=t.name;return e.name===n}))}},function(e,t,n){\"use strict\";var r=Object.values||function(e){return Object.keys(e).map((function(t){return e[t]}))};t.a=r},function(e,t,n){\"use strict\";n.r(t),n.d(t,\"print\",(function(){return o}));var r=n(26),i=n(53);function o(e){return Object(r.c)(e,{leave:a})}var a={Name:function(e){return e.value},Variable:function(e){return\"$\"+e.name},Document:function(e){return u(e.definitions,\"\\n\\n\")+\"\\n\"},OperationDefinition:function(e){var t=e.operation,n=e.name,r=l(\"(\",u(e.variableDefinitions,\", \"),\")\"),i=u(e.directives,\" \"),o=e.selectionSet;return n||i||r||\"query\"!==t?u([t,u([n,r]),i,o],\" \"):o},VariableDefinition:function(e){var t=e.variable,n=e.type,r=e.defaultValue,i=e.directives;return t+\": \"+n+l(\" = \",r)+l(\" \",u(i,\" \"))},SelectionSet:function(e){return c(e.selections)},Field:function(e){var t=e.alias,n=e.name,r=e.arguments,i=e.directives,o=e.selectionSet;return u([l(\"\",t,\": \")+n+l(\"(\",u(r,\", \"),\")\"),u(i,\" \"),o],\" \")},Argument:function(e){return e.name+\": \"+e.value},FragmentSpread:function(e){return\"...\"+e.name+l(\" \",u(e.directives,\" \"))},InlineFragment:function(e){var t=e.typeCondition,n=e.directives,r=e.selectionSet;return u([\"...\",l(\"on \",t),u(n,\" \"),r],\" \")},FragmentDefinition:function(e){var t=e.name,n=e.typeCondition,r=e.variableDefinitions,i=e.directives,o=e.selectionSet;return\"fragment \".concat(t).concat(l(\"(\",u(r,\", \"),\")\"),\" \")+\"on \".concat(n,\" \").concat(l(\"\",u(i,\" \"),\" \"))+o},IntValue:function(e){return e.value},FloatValue:function(e){return e.value},StringValue:function(e,t){var n=e.value;return e.block?Object(i.c)(n,\"description\"===t?\"\":\"  \"):JSON.stringify(n)},BooleanValue:function(e){return e.value?\"true\":\"false\"},NullValue:function(){return\"null\"},EnumValue:function(e){return e.value},ListValue:function(e){return\"[\"+u(e.values,\", \")+\"]\"},ObjectValue:function(e){return\"{\"+u(e.fields,\", \")+\"}\"},ObjectField:function(e){return e.name+\": \"+e.value},Directive:function(e){return\"@\"+e.name+l(\"(\",u(e.arguments,\", \"),\")\")},NamedType:function(e){return e.name},ListType:function(e){return\"[\"+e.type+\"]\"},NonNullType:function(e){return e.type+\"!\"},SchemaDefinition:s((function(e){var t=e.directives,n=e.operationTypes;return u([\"schema\",u(t,\" \"),c(n)],\" \")})),OperationTypeDefinition:function(e){return e.operation+\": \"+e.type},ScalarTypeDefinition:s((function(e){return u([\"scalar\",e.name,u(e.directives,\" \")],\" \")})),ObjectTypeDefinition:s((function(e){var t=e.name,n=e.interfaces,r=e.directives,i=e.fields;return u([\"type\",t,l(\"implements \",u(n,\" & \")),u(r,\" \"),c(i)],\" \")})),FieldDefinition:s((function(e){var t=e.name,n=e.arguments,r=e.type,i=e.directives;return t+(d(n)?l(\"(\\n\",p(u(n,\"\\n\")),\"\\n)\"):l(\"(\",u(n,\", \"),\")\"))+\": \"+r+l(\" \",u(i,\" \"))})),InputValueDefinition:s((function(e){var t=e.name,n=e.type,r=e.defaultValue,i=e.directives;return u([t+\": \"+n,l(\"= \",r),u(i,\" \")],\" \")})),InterfaceTypeDefinition:s((function(e){var t=e.name,n=e.interfaces,r=e.directives,i=e.fields;return u([\"interface\",t,l(\"implements \",u(n,\" & \")),u(r,\" \"),c(i)],\" \")})),UnionTypeDefinition:s((function(e){var t=e.name,n=e.directives,r=e.types;return u([\"union\",t,u(n,\" \"),r&&0!==r.length?\"= \"+u(r,\" | \"):\"\"],\" \")})),EnumTypeDefinition:s((function(e){var t=e.name,n=e.directives,r=e.values;return u([\"enum\",t,u(n,\" \"),c(r)],\" \")})),EnumValueDefinition:s((function(e){return u([e.name,u(e.directives,\" \")],\" \")})),InputObjectTypeDefinition:s((function(e){var t=e.name,n=e.directives,r=e.fields;return u([\"input\",t,u(n,\" \"),c(r)],\" \")})),DirectiveDefinition:s((function(e){var t=e.name,n=e.arguments,r=e.repeatable,i=e.locations;return\"directive @\"+t+(d(n)?l(\"(\\n\",p(u(n,\"\\n\")),\"\\n)\"):l(\"(\",u(n,\", \"),\")\"))+(r?\" repeatable\":\"\")+\" on \"+u(i,\" | \")})),SchemaExtension:function(e){var t=e.directives,n=e.operationTypes;return u([\"extend schema\",u(t,\" \"),c(n)],\" \")},ScalarTypeExtension:function(e){return u([\"extend scalar\",e.name,u(e.directives,\" \")],\" \")},ObjectTypeExtension:function(e){var t=e.name,n=e.interfaces,r=e.directives,i=e.fields;return u([\"extend type\",t,l(\"implements \",u(n,\" & \")),u(r,\" \"),c(i)],\" \")},InterfaceTypeExtension:function(e){var t=e.name,n=e.interfaces,r=e.directives,i=e.fields;return u([\"extend interface\",t,l(\"implements \",u(n,\" & \")),u(r,\" \"),c(i)],\" \")},UnionTypeExtension:function(e){var t=e.name,n=e.directives,r=e.types;return u([\"extend union\",t,u(n,\" \"),r&&0!==r.length?\"= \"+u(r,\" | \"):\"\"],\" \")},EnumTypeExtension:function(e){var t=e.name,n=e.directives,r=e.values;return u([\"extend enum\",t,u(n,\" \"),c(r)],\" \")},InputObjectTypeExtension:function(e){var t=e.name,n=e.directives,r=e.fields;return u([\"extend input\",t,u(n,\" \"),c(r)],\" \")}};function s(e){return function(t){return u([t.description,e(t)],\"\\n\")}}function u(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\";return null!==(t=null==e?void 0:e.filter((function(e){return e})).join(n))&&void 0!==t?t:\"\"}function c(e){return e&&0!==e.length?\"{\\n\"+p(u(e,\"\\n\"))+\"\\n}\":\"\"}function l(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"\";return t?e+t+n:\"\"}function p(e){return e&&\"  \"+e.replace(/\\n/g,\"\\n  \")}function f(e){return-1!==e.indexOf(\"\\n\")}function d(e){return e&&e.some(f)}},function(e,t,n){e.exports=function(){\"use strict\";var e=navigator.userAgent,t=navigator.platform,n=/gecko\\/\\d/i.test(e),r=/MSIE \\d/.test(e),i=/Trident\\/(?:[7-9]|\\d{2,})\\..*rv:(\\d+)/.exec(e),o=/Edge\\/(\\d+)/.exec(e),a=r||i||o,s=a&&(r?document.documentMode||6:+(o||i)[1]),u=!o&&/WebKit\\//.test(e),c=u&&/Qt\\/\\d+\\.\\d+/.test(e),l=!o&&/Chrome\\//.test(e),p=/Opera\\//.test(e),f=/Apple Computer/.test(navigator.vendor),d=/Mac OS X 1\\d\\D([8-9]|\\d\\d)\\D/.test(e),h=/PhantomJS/.test(e),m=!o&&/AppleWebKit/.test(e)&&/Mobile\\/\\w+/.test(e),g=/Android/.test(e),y=m||g||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(e),v=m||/Mac/.test(t),b=/\\bCrOS\\b/.test(e),E=/win/i.test(t),x=p&&e.match(/Version\\/(\\d*\\.\\d*)/);x&&(x=Number(x[1])),x&&x>=15&&(p=!1,u=!0);var D=v&&(c||p&&(null==x||x<12.11)),C=n||a&&s>=9;function w(e){return new RegExp(\"(^|\\\\s)\"+e+\"(?:$|\\\\s)\\\\s*\")}var S,k=function(e,t){var n=e.className,r=w(t).exec(n);if(r){var i=n.slice(r.index+r[0].length);e.className=n.slice(0,r.index)+(i?r[1]+i:\"\")}};function A(e){for(var t=e.childNodes.length;t>0;--t)e.removeChild(e.firstChild);return e}function T(e,t){return A(e).appendChild(t)}function _(e,t,n,r){var i=document.createElement(e);if(n&&(i.className=n),r&&(i.style.cssText=r),\"string\"==typeof t)i.appendChild(document.createTextNode(t));else if(t)for(var o=0;o<t.length;++o)i.appendChild(t[o]);return i}function O(e,t,n,r){var i=_(e,t,n,r);return i.setAttribute(\"role\",\"presentation\"),i}function F(e,t){if(3==t.nodeType&&(t=t.parentNode),e.contains)return e.contains(t);do{if(11==t.nodeType&&(t=t.host),t==e)return!0}while(t=t.parentNode)}function N(){var e;try{e=document.activeElement}catch(t){e=document.body||null}for(;e&&e.shadowRoot&&e.shadowRoot.activeElement;)e=e.shadowRoot.activeElement;return e}function I(e,t){var n=e.className;w(t).test(n)||(e.className+=(n?\" \":\"\")+t)}function M(e,t){for(var n=e.split(\" \"),r=0;r<n.length;r++)n[r]&&!w(n[r]).test(t)&&(t+=\" \"+n[r]);return t}S=document.createRange?function(e,t,n,r){var i=document.createRange();return i.setEnd(r||e,n),i.setStart(e,t),i}:function(e,t,n){var r=document.body.createTextRange();try{r.moveToElementText(e.parentNode)}catch(e){return r}return r.collapse(!0),r.moveEnd(\"character\",n),r.moveStart(\"character\",t),r};var j=function(e){e.select()};function L(e){var t=Array.prototype.slice.call(arguments,1);return function(){return e.apply(null,t)}}function P(e,t,n){for(var r in t||(t={}),e)!e.hasOwnProperty(r)||!1===n&&t.hasOwnProperty(r)||(t[r]=e[r]);return t}function R(e,t,n,r,i){null==t&&-1==(t=e.search(/[^\\s\\u00a0]/))&&(t=e.length);for(var o=r||0,a=i||0;;){var s=e.indexOf(\"\\t\",o);if(s<0||s>=t)return a+(t-o);a+=s-o,a+=n-a%n,o=s+1}}m?j=function(e){e.selectionStart=0,e.selectionEnd=e.value.length}:a&&(j=function(e){try{e.select()}catch(e){}});var B=function(){this.id=null,this.f=null,this.time=0,this.handler=L(this.onTimeout,this)};function U(e,t){for(var n=0;n<e.length;++n)if(e[n]==t)return n;return-1}B.prototype.onTimeout=function(e){e.id=0,e.time<=+new Date?e.f():setTimeout(e.handler,e.time-+new Date)},B.prototype.set=function(e,t){this.f=t;var n=+new Date+e;(!this.id||n<this.time)&&(clearTimeout(this.id),this.id=setTimeout(this.handler,e),this.time=n)};var z={toString:function(){return\"CodeMirror.Pass\"}},V={scroll:!1},q={origin:\"*mouse\"},H={origin:\"+move\"};function W(e,t,n){for(var r=0,i=0;;){var o=e.indexOf(\"\\t\",r);-1==o&&(o=e.length);var a=o-r;if(o==e.length||i+a>=t)return r+Math.min(a,t-i);if(i+=o-r,r=o+1,(i+=n-i%n)>=t)return r}}var G=[\"\"];function K(e){for(;G.length<=e;)G.push(J(G)+\" \");return G[e]}function J(e){return e[e.length-1]}function Q(e,t){for(var n=[],r=0;r<e.length;r++)n[r]=t(e[r],r);return n}function Y(){}function $(e,t){var n;return Object.create?n=Object.create(e):(Y.prototype=e,n=new Y),t&&P(t,n),n}var X=/[\\u00df\\u0587\\u0590-\\u05f4\\u0600-\\u06ff\\u3040-\\u309f\\u30a0-\\u30ff\\u3400-\\u4db5\\u4e00-\\u9fcc\\uac00-\\ud7af]/;function Z(e){return/\\w/.test(e)||e>\"\"&&(e.toUpperCase()!=e.toLowerCase()||X.test(e))}function ee(e,t){return t?!!(t.source.indexOf(\"\\\\w\")>-1&&Z(e))||t.test(e):Z(e)}function te(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}var ne=/[\\u0300-\\u036f\\u0483-\\u0489\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u065e\\u0670\\u06d6-\\u06dc\\u06de-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07eb-\\u07f3\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0900-\\u0902\\u093c\\u0941-\\u0948\\u094d\\u0951-\\u0955\\u0962\\u0963\\u0981\\u09bc\\u09be\\u09c1-\\u09c4\\u09cd\\u09d7\\u09e2\\u09e3\\u0a01\\u0a02\\u0a3c\\u0a41\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a70\\u0a71\\u0a75\\u0a81\\u0a82\\u0abc\\u0ac1-\\u0ac5\\u0ac7\\u0ac8\\u0acd\\u0ae2\\u0ae3\\u0b01\\u0b3c\\u0b3e\\u0b3f\\u0b41-\\u0b44\\u0b4d\\u0b56\\u0b57\\u0b62\\u0b63\\u0b82\\u0bbe\\u0bc0\\u0bcd\\u0bd7\\u0c3e-\\u0c40\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0cbc\\u0cbf\\u0cc2\\u0cc6\\u0ccc\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0d3e\\u0d41-\\u0d44\\u0d4d\\u0d57\\u0d62\\u0d63\\u0dca\\u0dcf\\u0dd2-\\u0dd4\\u0dd6\\u0ddf\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0eb1\\u0eb4-\\u0eb9\\u0ebb\\u0ebc\\u0ec8-\\u0ecd\\u0f18\\u0f19\\u0f35\\u0f37\\u0f39\\u0f71-\\u0f7e\\u0f80-\\u0f84\\u0f86\\u0f87\\u0f90-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102d-\\u1030\\u1032-\\u1037\\u1039\\u103a\\u103d\\u103e\\u1058\\u1059\\u105e-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108d\\u109d\\u135f\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b7-\\u17bd\\u17c6\\u17c9-\\u17d3\\u17dd\\u180b-\\u180d\\u18a9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193b\\u1a17\\u1a18\\u1a56\\u1a58-\\u1a5e\\u1a60\\u1a62\\u1a65-\\u1a6c\\u1a73-\\u1a7c\\u1a7f\\u1b00-\\u1b03\\u1b34\\u1b36-\\u1b3a\\u1b3c\\u1b42\\u1b6b-\\u1b73\\u1b80\\u1b81\\u1ba2-\\u1ba5\\u1ba8\\u1ba9\\u1c2c-\\u1c33\\u1c36\\u1c37\\u1cd0-\\u1cd2\\u1cd4-\\u1ce0\\u1ce2-\\u1ce8\\u1ced\\u1dc0-\\u1de6\\u1dfd-\\u1dff\\u200c\\u200d\\u20d0-\\u20f0\\u2cef-\\u2cf1\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua66f-\\ua672\\ua67c\\ua67d\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua825\\ua826\\ua8c4\\ua8e0-\\ua8f1\\ua926-\\ua92d\\ua947-\\ua951\\ua980-\\ua982\\ua9b3\\ua9b6-\\ua9b9\\ua9bc\\uaa29-\\uaa2e\\uaa31\\uaa32\\uaa35\\uaa36\\uaa43\\uaa4c\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uabe5\\uabe8\\uabed\\udc00-\\udfff\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe26\\uff9e\\uff9f]/;function re(e){return e.charCodeAt(0)>=768&&ne.test(e)}function ie(e,t,n){for(;(n<0?t>0:t<e.length)&&re(e.charAt(t));)t+=n;return t}function oe(e,t,n){for(var r=t>n?-1:1;;){if(t==n)return t;var i=(t+n)/2,o=r<0?Math.ceil(i):Math.floor(i);if(o==t)return e(o)?t:n;e(o)?n=o:t=o+r}}var ae=null;function se(e,t,n){var r;ae=null;for(var i=0;i<e.length;++i){var o=e[i];if(o.from<t&&o.to>t)return i;o.to==t&&(o.from!=o.to&&\"before\"==n?r=i:ae=i),o.from==t&&(o.from!=o.to&&\"before\"!=n?r=i:ae=i)}return null!=r?r:ae}var ue=function(){var e=/[\\u0590-\\u05f4\\u0600-\\u06ff\\u0700-\\u08ac]/,t=/[stwN]/,n=/[LRr]/,r=/[Lb1n]/,i=/[1n]/;function o(e,t,n){this.level=e,this.from=t,this.to=n}return function(a,s){var u=\"ltr\"==s?\"L\":\"R\";if(0==a.length||\"ltr\"==s&&!e.test(a))return!1;for(var c,l=a.length,p=[],f=0;f<l;++f)p.push((c=a.charCodeAt(f))<=247?\"bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN\".charAt(c):1424<=c&&c<=1524?\"R\":1536<=c&&c<=1785?\"nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111\".charAt(c-1536):1774<=c&&c<=2220?\"r\":8192<=c&&c<=8203?\"w\":8204==c?\"b\":\"L\");for(var d=0,h=u;d<l;++d){var m=p[d];\"m\"==m?p[d]=h:h=m}for(var g=0,y=u;g<l;++g){var v=p[g];\"1\"==v&&\"r\"==y?p[g]=\"n\":n.test(v)&&(y=v,\"r\"==v&&(p[g]=\"R\"))}for(var b=1,E=p[0];b<l-1;++b){var x=p[b];\"+\"==x&&\"1\"==E&&\"1\"==p[b+1]?p[b]=\"1\":\",\"!=x||E!=p[b+1]||\"1\"!=E&&\"n\"!=E||(p[b]=E),E=x}for(var D=0;D<l;++D){var C=p[D];if(\",\"==C)p[D]=\"N\";else if(\"%\"==C){var w=void 0;for(w=D+1;w<l&&\"%\"==p[w];++w);for(var S=D&&\"!\"==p[D-1]||w<l&&\"1\"==p[w]?\"1\":\"N\",k=D;k<w;++k)p[k]=S;D=w-1}}for(var A=0,T=u;A<l;++A){var _=p[A];\"L\"==T&&\"1\"==_?p[A]=\"L\":n.test(_)&&(T=_)}for(var O=0;O<l;++O)if(t.test(p[O])){var F=void 0;for(F=O+1;F<l&&t.test(p[F]);++F);for(var N=\"L\"==(O?p[O-1]:u),I=N==(\"L\"==(F<l?p[F]:u))?N?\"L\":\"R\":u,M=O;M<F;++M)p[M]=I;O=F-1}for(var j,L=[],P=0;P<l;)if(r.test(p[P])){var R=P;for(++P;P<l&&r.test(p[P]);++P);L.push(new o(0,R,P))}else{var B=P,U=L.length,z=\"rtl\"==s?1:0;for(++P;P<l&&\"L\"!=p[P];++P);for(var V=B;V<P;)if(i.test(p[V])){B<V&&(L.splice(U,0,new o(1,B,V)),U+=z);var q=V;for(++V;V<P&&i.test(p[V]);++V);L.splice(U,0,new o(2,q,V)),U+=z,B=V}else++V;B<P&&L.splice(U,0,new o(1,B,P))}return\"ltr\"==s&&(1==L[0].level&&(j=a.match(/^\\s+/))&&(L[0].from=j[0].length,L.unshift(new o(0,0,j[0].length))),1==J(L).level&&(j=a.match(/\\s+$/))&&(J(L).to-=j[0].length,L.push(new o(0,l-j[0].length,l)))),\"rtl\"==s?L.reverse():L}}();function ce(e,t){var n=e.order;return null==n&&(n=e.order=ue(e.text,t)),n}var le=[],pe=function(e,t,n){if(e.addEventListener)e.addEventListener(t,n,!1);else if(e.attachEvent)e.attachEvent(\"on\"+t,n);else{var r=e._handlers||(e._handlers={});r[t]=(r[t]||le).concat(n)}};function fe(e,t){return e._handlers&&e._handlers[t]||le}function de(e,t,n){if(e.removeEventListener)e.removeEventListener(t,n,!1);else if(e.detachEvent)e.detachEvent(\"on\"+t,n);else{var r=e._handlers,i=r&&r[t];if(i){var o=U(i,n);o>-1&&(r[t]=i.slice(0,o).concat(i.slice(o+1)))}}}function he(e,t){var n=fe(e,t);if(n.length)for(var r=Array.prototype.slice.call(arguments,2),i=0;i<n.length;++i)n[i].apply(null,r)}function me(e,t,n){return\"string\"==typeof t&&(t={type:t,preventDefault:function(){this.defaultPrevented=!0}}),he(e,n||t.type,e,t),xe(t)||t.codemirrorIgnore}function ge(e){var t=e._handlers&&e._handlers.cursorActivity;if(t)for(var n=e.curOp.cursorActivityHandlers||(e.curOp.cursorActivityHandlers=[]),r=0;r<t.length;++r)-1==U(n,t[r])&&n.push(t[r])}function ye(e,t){return fe(e,t).length>0}function ve(e){e.prototype.on=function(e,t){pe(this,e,t)},e.prototype.off=function(e,t){de(this,e,t)}}function be(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function Ee(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function xe(e){return null!=e.defaultPrevented?e.defaultPrevented:0==e.returnValue}function De(e){be(e),Ee(e)}function Ce(e){return e.target||e.srcElement}function we(e){var t=e.which;return null==t&&(1&e.button?t=1:2&e.button?t=3:4&e.button&&(t=2)),v&&e.ctrlKey&&1==t&&(t=3),t}var Se,ke,Ae=function(){if(a&&s<9)return!1;var e=_(\"div\");return\"draggable\"in e||\"dragDrop\"in e}();function Te(e){if(null==Se){var t=_(\"span\",\"​\");T(e,_(\"span\",[t,document.createTextNode(\"x\")])),0!=e.firstChild.offsetHeight&&(Se=t.offsetWidth<=1&&t.offsetHeight>2&&!(a&&s<8))}var n=Se?_(\"span\",\"​\"):_(\"span\",\" \",null,\"display: inline-block; width: 1px; margin-right: -1px\");return n.setAttribute(\"cm-text\",\"\"),n}function _e(e){if(null!=ke)return ke;var t=T(e,document.createTextNode(\"AخA\")),n=S(t,0,1).getBoundingClientRect(),r=S(t,1,2).getBoundingClientRect();return A(e),!(!n||n.left==n.right)&&(ke=r.right-n.right<3)}var Oe,Fe=3!=\"\\n\\nb\".split(/\\n/).length?function(e){for(var t=0,n=[],r=e.length;t<=r;){var i=e.indexOf(\"\\n\",t);-1==i&&(i=e.length);var o=e.slice(t,\"\\r\"==e.charAt(i-1)?i-1:i),a=o.indexOf(\"\\r\");-1!=a?(n.push(o.slice(0,a)),t+=a+1):(n.push(o),t=i+1)}return n}:function(e){return e.split(/\\r\\n?|\\n/)},Ne=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(e){return!1}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch(e){}return!(!t||t.parentElement()!=e)&&0!=t.compareEndPoints(\"StartToEnd\",t)},Ie=\"oncopy\"in(Oe=_(\"div\"))||(Oe.setAttribute(\"oncopy\",\"return;\"),\"function\"==typeof Oe.oncopy),Me=null,je={},Le={};function Pe(e,t){arguments.length>2&&(t.dependencies=Array.prototype.slice.call(arguments,2)),je[e]=t}function Re(e){if(\"string\"==typeof e&&Le.hasOwnProperty(e))e=Le[e];else if(e&&\"string\"==typeof e.name&&Le.hasOwnProperty(e.name)){var t=Le[e.name];\"string\"==typeof t&&(t={name:t}),(e=$(t,e)).name=t.name}else{if(\"string\"==typeof e&&/^[\\w\\-]+\\/[\\w\\-]+\\+xml$/.test(e))return Re(\"application/xml\");if(\"string\"==typeof e&&/^[\\w\\-]+\\/[\\w\\-]+\\+json$/.test(e))return Re(\"application/json\")}return\"string\"==typeof e?{name:e}:e||{name:\"null\"}}function Be(e,t){t=Re(t);var n=je[t.name];if(!n)return Be(e,\"text/plain\");var r=n(e,t);if(Ue.hasOwnProperty(t.name)){var i=Ue[t.name];for(var o in i)i.hasOwnProperty(o)&&(r.hasOwnProperty(o)&&(r[\"_\"+o]=r[o]),r[o]=i[o])}if(r.name=t.name,t.helperType&&(r.helperType=t.helperType),t.modeProps)for(var a in t.modeProps)r[a]=t.modeProps[a];return r}var Ue={};function ze(e,t){P(t,Ue.hasOwnProperty(e)?Ue[e]:Ue[e]={})}function Ve(e,t){if(!0===t)return t;if(e.copyState)return e.copyState(t);var n={};for(var r in t){var i=t[r];i instanceof Array&&(i=i.concat([])),n[r]=i}return n}function qe(e,t){for(var n;e.innerMode&&(n=e.innerMode(t))&&n.mode!=e;)t=n.state,e=n.mode;return n||{mode:e,state:t}}function He(e,t,n){return!e.startState||e.startState(t,n)}var We=function(e,t,n){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};function Ge(e,t){if((t-=e.first)<0||t>=e.size)throw new Error(\"There is no line \"+(t+e.first)+\" in the document.\");for(var n=e;!n.lines;)for(var r=0;;++r){var i=n.children[r],o=i.chunkSize();if(t<o){n=i;break}t-=o}return n.lines[t]}function Ke(e,t,n){var r=[],i=t.line;return e.iter(t.line,n.line+1,(function(e){var o=e.text;i==n.line&&(o=o.slice(0,n.ch)),i==t.line&&(o=o.slice(t.ch)),r.push(o),++i})),r}function Je(e,t,n){var r=[];return e.iter(t,n,(function(e){r.push(e.text)})),r}function Qe(e,t){var n=t-e.height;if(n)for(var r=e;r;r=r.parent)r.height+=n}function Ye(e){if(null==e.parent)return null;for(var t=e.parent,n=U(t.lines,e),r=t.parent;r;t=r,r=r.parent)for(var i=0;r.children[i]!=t;++i)n+=r.children[i].chunkSize();return n+t.first}function $e(e,t){var n=e.first;e:do{for(var r=0;r<e.children.length;++r){var i=e.children[r],o=i.height;if(t<o){e=i;continue e}t-=o,n+=i.chunkSize()}return n}while(!e.lines);for(var a=0;a<e.lines.length;++a){var s=e.lines[a].height;if(t<s)break;t-=s}return n+a}function Xe(e,t){return t>=e.first&&t<e.first+e.size}function Ze(e,t){return String(e.lineNumberFormatter(t+e.firstLineNumber))}function et(e,t,n){if(void 0===n&&(n=null),!(this instanceof et))return new et(e,t,n);this.line=e,this.ch=t,this.sticky=n}function tt(e,t){return e.line-t.line||e.ch-t.ch}function nt(e,t){return e.sticky==t.sticky&&0==tt(e,t)}function rt(e){return et(e.line,e.ch)}function it(e,t){return tt(e,t)<0?t:e}function ot(e,t){return tt(e,t)<0?e:t}function at(e,t){return Math.max(e.first,Math.min(t,e.first+e.size-1))}function st(e,t){if(t.line<e.first)return et(e.first,0);var n=e.first+e.size-1;return t.line>n?et(n,Ge(e,n).text.length):function(e,t){var n=e.ch;return null==n||n>t?et(e.line,t):n<0?et(e.line,0):e}(t,Ge(e,t.line).text.length)}function ut(e,t){for(var n=[],r=0;r<t.length;r++)n[r]=st(e,t[r]);return n}We.prototype.eol=function(){return this.pos>=this.string.length},We.prototype.sol=function(){return this.pos==this.lineStart},We.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},We.prototype.next=function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},We.prototype.eat=function(e){var t=this.string.charAt(this.pos);if(\"string\"==typeof e?t==e:t&&(e.test?e.test(t):e(t)))return++this.pos,t},We.prototype.eatWhile=function(e){for(var t=this.pos;this.eat(e););return this.pos>t},We.prototype.eatSpace=function(){for(var e=this.pos;/[\\s\\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},We.prototype.skipToEnd=function(){this.pos=this.string.length},We.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},We.prototype.backUp=function(e){this.pos-=e},We.prototype.column=function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=R(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue-(this.lineStart?R(this.string,this.lineStart,this.tabSize):0)},We.prototype.indentation=function(){return R(this.string,null,this.tabSize)-(this.lineStart?R(this.string,this.lineStart,this.tabSize):0)},We.prototype.match=function(e,t,n){if(\"string\"!=typeof e){var r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&!1!==t&&(this.pos+=r[0].length),r)}var i=function(e){return n?e.toLowerCase():e};if(i(this.string.substr(this.pos,e.length))==i(e))return!1!==t&&(this.pos+=e.length),!0},We.prototype.current=function(){return this.string.slice(this.start,this.pos)},We.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}},We.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)},We.prototype.baseToken=function(){var e=this.lineOracle;return e&&e.baseToken(this.pos)};var ct=function(e,t){this.state=e,this.lookAhead=t},lt=function(e,t,n,r){this.state=t,this.doc=e,this.line=n,this.maxLookAhead=r||0,this.baseTokens=null,this.baseTokenPos=1};function pt(e,t,n,r){var i=[e.state.modeGen],o={};Et(e,t.text,e.doc.mode,n,(function(e,t){return i.push(e,t)}),o,r);for(var a=n.state,s=function(r){n.baseTokens=i;var s=e.state.overlays[r],u=1,c=0;n.state=!0,Et(e,t.text,s.mode,n,(function(e,t){for(var n=u;c<e;){var r=i[u];r>e&&i.splice(u,1,e,i[u+1],r),u+=2,c=Math.min(e,r)}if(t)if(s.opaque)i.splice(n,u-n,e,\"overlay \"+t),u=n+2;else for(;n<u;n+=2){var o=i[n+1];i[n+1]=(o?o+\" \":\"\")+\"overlay \"+t}}),o),n.state=a,n.baseTokens=null,n.baseTokenPos=1},u=0;u<e.state.overlays.length;++u)s(u);return{styles:i,classes:o.bgClass||o.textClass?o:null}}function ft(e,t,n){if(!t.styles||t.styles[0]!=e.state.modeGen){var r=dt(e,Ye(t)),i=t.text.length>e.options.maxHighlightLength&&Ve(e.doc.mode,r.state),o=pt(e,t,r);i&&(r.state=i),t.stateAfter=r.save(!i),t.styles=o.styles,o.classes?t.styleClasses=o.classes:t.styleClasses&&(t.styleClasses=null),n===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))}return t.styles}function dt(e,t,n){var r=e.doc,i=e.display;if(!r.mode.startState)return new lt(r,!0,t);var o=function(e,t,n){for(var r,i,o=e.doc,a=n?-1:t-(e.doc.mode.innerMode?1e3:100),s=t;s>a;--s){if(s<=o.first)return o.first;var u=Ge(o,s-1),c=u.stateAfter;if(c&&(!n||s+(c instanceof ct?c.lookAhead:0)<=o.modeFrontier))return s;var l=R(u.text,null,e.options.tabSize);(null==i||r>l)&&(i=s-1,r=l)}return i}(e,t,n),a=o>r.first&&Ge(r,o-1).stateAfter,s=a?lt.fromSaved(r,a,o):new lt(r,He(r.mode),o);return r.iter(o,t,(function(n){ht(e,n.text,s);var r=s.line;n.stateAfter=r==t-1||r%5==0||r>=i.viewFrom&&r<i.viewTo?s.save():null,s.nextLine()})),n&&(r.modeFrontier=s.line),s}function ht(e,t,n,r){var i=e.doc.mode,o=new We(t,e.options.tabSize,n);for(o.start=o.pos=r||0,\"\"==t&&mt(i,n.state);!o.eol();)gt(i,o,n.state),o.start=o.pos}function mt(e,t){if(e.blankLine)return e.blankLine(t);if(e.innerMode){var n=qe(e,t);return n.mode.blankLine?n.mode.blankLine(n.state):void 0}}function gt(e,t,n,r){for(var i=0;i<10;i++){r&&(r[0]=qe(e,n).mode);var o=e.token(t,n);if(t.pos>t.start)return o}throw new Error(\"Mode \"+e.name+\" failed to advance stream.\")}lt.prototype.lookAhead=function(e){var t=this.doc.getLine(this.line+e);return null!=t&&e>this.maxLookAhead&&(this.maxLookAhead=e),t},lt.prototype.baseToken=function(e){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=e;)this.baseTokenPos+=2;var t=this.baseTokens[this.baseTokenPos+1];return{type:t&&t.replace(/( |^)overlay .*/,\"\"),size:this.baseTokens[this.baseTokenPos]-e}},lt.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},lt.fromSaved=function(e,t,n){return t instanceof ct?new lt(e,Ve(e.mode,t.state),n,t.lookAhead):new lt(e,Ve(e.mode,t),n)},lt.prototype.save=function(e){var t=!1!==e?Ve(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new ct(t,this.maxLookAhead):t};var yt=function(e,t,n){this.start=e.start,this.end=e.pos,this.string=e.current(),this.type=t||null,this.state=n};function vt(e,t,n,r){var i,o,a=e.doc,s=a.mode,u=Ge(a,(t=st(a,t)).line),c=dt(e,t.line,n),l=new We(u.text,e.options.tabSize,c);for(r&&(o=[]);(r||l.pos<t.ch)&&!l.eol();)l.start=l.pos,i=gt(s,l,c.state),r&&o.push(new yt(l,i,Ve(a.mode,c.state)));return r?o:new yt(l,i,c.state)}function bt(e,t){if(e)for(;;){var n=e.match(/(?:^|\\s+)line-(background-)?(\\S+)/);if(!n)break;e=e.slice(0,n.index)+e.slice(n.index+n[0].length);var r=n[1]?\"bgClass\":\"textClass\";null==t[r]?t[r]=n[2]:new RegExp(\"(?:^|\\\\s)\"+n[2]+\"(?:$|\\\\s)\").test(t[r])||(t[r]+=\" \"+n[2])}return e}function Et(e,t,n,r,i,o,a){var s=n.flattenSpans;null==s&&(s=e.options.flattenSpans);var u,c=0,l=null,p=new We(t,e.options.tabSize,r),f=e.options.addModeClass&&[null];for(\"\"==t&&bt(mt(n,r.state),o);!p.eol();){if(p.pos>e.options.maxHighlightLength?(s=!1,a&&ht(e,t,r,p.pos),p.pos=t.length,u=null):u=bt(gt(n,p,r.state,f),o),f){var d=f[0].name;d&&(u=\"m-\"+(u?d+\" \"+u:d))}if(!s||l!=u){for(;c<p.start;)i(c=Math.min(p.start,c+5e3),l);l=u}p.start=p.pos}for(;c<p.pos;){var h=Math.min(p.pos,c+5e3);i(h,l),c=h}}var xt=!1,Dt=!1;function Ct(e,t,n){this.marker=e,this.from=t,this.to=n}function wt(e,t){if(e)for(var n=0;n<e.length;++n){var r=e[n];if(r.marker==t)return r}}function St(e,t){for(var n,r=0;r<e.length;++r)e[r]!=t&&(n||(n=[])).push(e[r]);return n}function kt(e,t){if(t.full)return null;var n=Xe(e,t.from.line)&&Ge(e,t.from.line).markedSpans,r=Xe(e,t.to.line)&&Ge(e,t.to.line).markedSpans;if(!n&&!r)return null;var i=t.from.ch,o=t.to.ch,a=0==tt(t.from,t.to),s=function(e,t,n){var r;if(e)for(var i=0;i<e.length;++i){var o=e[i],a=o.marker;if(null==o.from||(a.inclusiveLeft?o.from<=t:o.from<t)||o.from==t&&\"bookmark\"==a.type&&(!n||!o.marker.insertLeft)){var s=null==o.to||(a.inclusiveRight?o.to>=t:o.to>t);(r||(r=[])).push(new Ct(a,o.from,s?null:o.to))}}return r}(n,i,a),u=function(e,t,n){var r;if(e)for(var i=0;i<e.length;++i){var o=e[i],a=o.marker;if(null==o.to||(a.inclusiveRight?o.to>=t:o.to>t)||o.from==t&&\"bookmark\"==a.type&&(!n||o.marker.insertLeft)){var s=null==o.from||(a.inclusiveLeft?o.from<=t:o.from<t);(r||(r=[])).push(new Ct(a,s?null:o.from-t,null==o.to?null:o.to-t))}}return r}(r,o,a),c=1==t.text.length,l=J(t.text).length+(c?i:0);if(s)for(var p=0;p<s.length;++p){var f=s[p];if(null==f.to){var d=wt(u,f.marker);d?c&&(f.to=null==d.to?null:d.to+l):f.to=i}}if(u)for(var h=0;h<u.length;++h){var m=u[h];null!=m.to&&(m.to+=l),null==m.from?wt(s,m.marker)||(m.from=l,c&&(s||(s=[])).push(m)):(m.from+=l,c&&(s||(s=[])).push(m))}s&&(s=At(s)),u&&u!=s&&(u=At(u));var g=[s];if(!c){var y,v=t.text.length-2;if(v>0&&s)for(var b=0;b<s.length;++b)null==s[b].to&&(y||(y=[])).push(new Ct(s[b].marker,null,null));for(var E=0;E<v;++E)g.push(y);g.push(u)}return g}function At(e){for(var t=0;t<e.length;++t){var n=e[t];null!=n.from&&n.from==n.to&&!1!==n.marker.clearWhenEmpty&&e.splice(t--,1)}return e.length?e:null}function Tt(e){var t=e.markedSpans;if(t){for(var n=0;n<t.length;++n)t[n].marker.detachLine(e);e.markedSpans=null}}function _t(e,t){if(t){for(var n=0;n<t.length;++n)t[n].marker.attachLine(e);e.markedSpans=t}}function Ot(e){return e.inclusiveLeft?-1:0}function Ft(e){return e.inclusiveRight?1:0}function Nt(e,t){var n=e.lines.length-t.lines.length;if(0!=n)return n;var r=e.find(),i=t.find(),o=tt(r.from,i.from)||Ot(e)-Ot(t);if(o)return-o;var a=tt(r.to,i.to)||Ft(e)-Ft(t);return a||t.id-e.id}function It(e,t){var n,r=Dt&&e.markedSpans;if(r)for(var i=void 0,o=0;o<r.length;++o)(i=r[o]).marker.collapsed&&null==(t?i.from:i.to)&&(!n||Nt(n,i.marker)<0)&&(n=i.marker);return n}function Mt(e){return It(e,!0)}function jt(e){return It(e,!1)}function Lt(e,t){var n,r=Dt&&e.markedSpans;if(r)for(var i=0;i<r.length;++i){var o=r[i];o.marker.collapsed&&(null==o.from||o.from<t)&&(null==o.to||o.to>t)&&(!n||Nt(n,o.marker)<0)&&(n=o.marker)}return n}function Pt(e,t,n,r,i){var o=Ge(e,t),a=Dt&&o.markedSpans;if(a)for(var s=0;s<a.length;++s){var u=a[s];if(u.marker.collapsed){var c=u.marker.find(0),l=tt(c.from,n)||Ot(u.marker)-Ot(i),p=tt(c.to,r)||Ft(u.marker)-Ft(i);if(!(l>=0&&p<=0||l<=0&&p>=0)&&(l<=0&&(u.marker.inclusiveRight&&i.inclusiveLeft?tt(c.to,n)>=0:tt(c.to,n)>0)||l>=0&&(u.marker.inclusiveRight&&i.inclusiveLeft?tt(c.from,r)<=0:tt(c.from,r)<0)))return!0}}}function Rt(e){for(var t;t=Mt(e);)e=t.find(-1,!0).line;return e}function Bt(e,t){var n=Ge(e,t),r=Rt(n);return n==r?t:Ye(r)}function Ut(e,t){if(t>e.lastLine())return t;var n,r=Ge(e,t);if(!zt(e,r))return t;for(;n=jt(r);)r=n.find(1,!0).line;return Ye(r)+1}function zt(e,t){var n=Dt&&t.markedSpans;if(n)for(var r=void 0,i=0;i<n.length;++i)if((r=n[i]).marker.collapsed){if(null==r.from)return!0;if(!r.marker.widgetNode&&0==r.from&&r.marker.inclusiveLeft&&Vt(e,t,r))return!0}}function Vt(e,t,n){if(null==n.to){var r=n.marker.find(1,!0);return Vt(e,r.line,wt(r.line.markedSpans,n.marker))}if(n.marker.inclusiveRight&&n.to==t.text.length)return!0;for(var i=void 0,o=0;o<t.markedSpans.length;++o)if((i=t.markedSpans[o]).marker.collapsed&&!i.marker.widgetNode&&i.from==n.to&&(null==i.to||i.to!=n.from)&&(i.marker.inclusiveLeft||n.marker.inclusiveRight)&&Vt(e,t,i))return!0}function qt(e){for(var t=0,n=(e=Rt(e)).parent,r=0;r<n.lines.length;++r){var i=n.lines[r];if(i==e)break;t+=i.height}for(var o=n.parent;o;o=(n=o).parent)for(var a=0;a<o.children.length;++a){var s=o.children[a];if(s==n)break;t+=s.height}return t}function Ht(e){if(0==e.height)return 0;for(var t,n=e.text.length,r=e;t=Mt(r);){var i=t.find(0,!0);r=i.from.line,n+=i.from.ch-i.to.ch}for(r=e;t=jt(r);){var o=t.find(0,!0);n-=r.text.length-o.from.ch,n+=(r=o.to.line).text.length-o.to.ch}return n}function Wt(e){var t=e.display,n=e.doc;t.maxLine=Ge(n,n.first),t.maxLineLength=Ht(t.maxLine),t.maxLineChanged=!0,n.iter((function(e){var n=Ht(e);n>t.maxLineLength&&(t.maxLineLength=n,t.maxLine=e)}))}var Gt=function(e,t,n){this.text=e,_t(this,t),this.height=n?n(this):1};function Kt(e){e.parent=null,Tt(e)}Gt.prototype.lineNo=function(){return Ye(this)},ve(Gt);var Jt={},Qt={};function Yt(e,t){if(!e||/^\\s*$/.test(e))return null;var n=t.addModeClass?Qt:Jt;return n[e]||(n[e]=e.replace(/\\S+/g,\"cm-$&\"))}function $t(e,t){var n=O(\"span\",null,null,u?\"padding-right: .1px\":null),r={pre:O(\"pre\",[n],\"CodeMirror-line\"),content:n,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:e.getOption(\"lineWrapping\")};t.measure={};for(var i=0;i<=(t.rest?t.rest.length:0);i++){var o=i?t.rest[i-1]:t.line,a=void 0;r.pos=0,r.addToken=Zt,_e(e.display.measure)&&(a=ce(o,e.doc.direction))&&(r.addToken=en(r.addToken,a)),r.map=[],nn(o,r,ft(e,o,t!=e.display.externalMeasured&&Ye(o))),o.styleClasses&&(o.styleClasses.bgClass&&(r.bgClass=M(o.styleClasses.bgClass,r.bgClass||\"\")),o.styleClasses.textClass&&(r.textClass=M(o.styleClasses.textClass,r.textClass||\"\"))),0==r.map.length&&r.map.push(0,0,r.content.appendChild(Te(e.display.measure))),0==i?(t.measure.map=r.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(r.map),(t.measure.caches||(t.measure.caches=[])).push({}))}if(u){var s=r.content.lastChild;(/\\bcm-tab\\b/.test(s.className)||s.querySelector&&s.querySelector(\".cm-tab\"))&&(r.content.className=\"cm-tab-wrap-hack\")}return he(e,\"renderLine\",e,t.line,r.pre),r.pre.className&&(r.textClass=M(r.pre.className,r.textClass||\"\")),r}function Xt(e){var t=_(\"span\",\"•\",\"cm-invalidchar\");return t.title=\"\\\\u\"+e.charCodeAt(0).toString(16),t.setAttribute(\"aria-label\",t.title),t}function Zt(e,t,n,r,i,o,u){if(t){var c,l=e.splitSpaces?function(e,t){if(e.length>1&&!/  /.test(e))return e;for(var n=t,r=\"\",i=0;i<e.length;i++){var o=e.charAt(i);\" \"!=o||!n||i!=e.length-1&&32!=e.charCodeAt(i+1)||(o=\" \"),r+=o,n=\" \"==o}return r}(t,e.trailingSpace):t,p=e.cm.state.specialChars,f=!1;if(p.test(t)){c=document.createDocumentFragment();for(var d=0;;){p.lastIndex=d;var h=p.exec(t),m=h?h.index-d:t.length-d;if(m){var g=document.createTextNode(l.slice(d,d+m));a&&s<9?c.appendChild(_(\"span\",[g])):c.appendChild(g),e.map.push(e.pos,e.pos+m,g),e.col+=m,e.pos+=m}if(!h)break;d+=m+1;var y=void 0;if(\"\\t\"==h[0]){var v=e.cm.options.tabSize,b=v-e.col%v;(y=c.appendChild(_(\"span\",K(b),\"cm-tab\"))).setAttribute(\"role\",\"presentation\"),y.setAttribute(\"cm-text\",\"\\t\"),e.col+=b}else\"\\r\"==h[0]||\"\\n\"==h[0]?((y=c.appendChild(_(\"span\",\"\\r\"==h[0]?\"␍\":\"␤\",\"cm-invalidchar\"))).setAttribute(\"cm-text\",h[0]),e.col+=1):((y=e.cm.options.specialCharPlaceholder(h[0])).setAttribute(\"cm-text\",h[0]),a&&s<9?c.appendChild(_(\"span\",[y])):c.appendChild(y),e.col+=1);e.map.push(e.pos,e.pos+1,y),e.pos++}}else e.col+=t.length,c=document.createTextNode(l),e.map.push(e.pos,e.pos+t.length,c),a&&s<9&&(f=!0),e.pos+=t.length;if(e.trailingSpace=32==l.charCodeAt(t.length-1),n||r||i||f||o){var E=n||\"\";r&&(E+=r),i&&(E+=i);var x=_(\"span\",[c],E,o);if(u)for(var D in u)u.hasOwnProperty(D)&&\"style\"!=D&&\"class\"!=D&&x.setAttribute(D,u[D]);return e.content.appendChild(x)}e.content.appendChild(c)}}function en(e,t){return function(n,r,i,o,a,s,u){i=i?i+\" cm-force-border\":\"cm-force-border\";for(var c=n.pos,l=c+r.length;;){for(var p=void 0,f=0;f<t.length&&!((p=t[f]).to>c&&p.from<=c);f++);if(p.to>=l)return e(n,r,i,o,a,s,u);e(n,r.slice(0,p.to-c),i,o,null,s,u),o=null,r=r.slice(p.to-c),c=p.to}}}function tn(e,t,n,r){var i=!r&&n.widgetNode;i&&e.map.push(e.pos,e.pos+t,i),!r&&e.cm.display.input.needsContentAttribute&&(i||(i=e.content.appendChild(document.createElement(\"span\"))),i.setAttribute(\"cm-marker\",n.id)),i&&(e.cm.display.input.setUneditable(i),e.content.appendChild(i)),e.pos+=t,e.trailingSpace=!1}function nn(e,t,n){var r=e.markedSpans,i=e.text,o=0;if(r)for(var a,s,u,c,l,p,f,d=i.length,h=0,m=1,g=\"\",y=0;;){if(y==h){u=c=l=s=\"\",f=null,p=null,y=1/0;for(var v=[],b=void 0,E=0;E<r.length;++E){var x=r[E],D=x.marker;if(\"bookmark\"==D.type&&x.from==h&&D.widgetNode)v.push(D);else if(x.from<=h&&(null==x.to||x.to>h||D.collapsed&&x.to==h&&x.from==h)){if(null!=x.to&&x.to!=h&&y>x.to&&(y=x.to,c=\"\"),D.className&&(u+=\" \"+D.className),D.css&&(s=(s?s+\";\":\"\")+D.css),D.startStyle&&x.from==h&&(l+=\" \"+D.startStyle),D.endStyle&&x.to==y&&(b||(b=[])).push(D.endStyle,x.to),D.title&&((f||(f={})).title=D.title),D.attributes)for(var C in D.attributes)(f||(f={}))[C]=D.attributes[C];D.collapsed&&(!p||Nt(p.marker,D)<0)&&(p=x)}else x.from>h&&y>x.from&&(y=x.from)}if(b)for(var w=0;w<b.length;w+=2)b[w+1]==y&&(c+=\" \"+b[w]);if(!p||p.from==h)for(var S=0;S<v.length;++S)tn(t,0,v[S]);if(p&&(p.from||0)==h){if(tn(t,(null==p.to?d+1:p.to)-h,p.marker,null==p.from),null==p.to)return;p.to==h&&(p=!1)}}if(h>=d)break;for(var k=Math.min(d,y);;){if(g){var A=h+g.length;if(!p){var T=A>k?g.slice(0,k-h):g;t.addToken(t,T,a?a+u:u,l,h+T.length==y?c:\"\",s,f)}if(A>=k){g=g.slice(k-h),h=k;break}h=A,l=\"\"}g=i.slice(o,o=n[m++]),a=Yt(n[m++],t.cm.options)}}else for(var _=1;_<n.length;_+=2)t.addToken(t,i.slice(o,o=n[_]),Yt(n[_+1],t.cm.options))}function rn(e,t,n){this.line=t,this.rest=function(e){for(var t,n;t=jt(e);)e=t.find(1,!0).line,(n||(n=[])).push(e);return n}(t),this.size=this.rest?Ye(J(this.rest))-n+1:1,this.node=this.text=null,this.hidden=zt(e,t)}function on(e,t,n){for(var r,i=[],o=t;o<n;o=r){var a=new rn(e.doc,Ge(e.doc,o),o);r=o+a.size,i.push(a)}return i}var an=null,sn=null;function un(e,t){var n=fe(e,t);if(n.length){var r,i=Array.prototype.slice.call(arguments,2);an?r=an.delayedCallbacks:sn?r=sn:(r=sn=[],setTimeout(cn,0));for(var o=function(e){r.push((function(){return n[e].apply(null,i)}))},a=0;a<n.length;++a)o(a)}}function cn(){var e=sn;sn=null;for(var t=0;t<e.length;++t)e[t]()}function ln(e,t,n,r){for(var i=0;i<t.changes.length;i++){var o=t.changes[i];\"text\"==o?dn(e,t):\"gutter\"==o?mn(e,t,n,r):\"class\"==o?hn(e,t):\"widget\"==o&&gn(e,t,r)}t.changes=null}function pn(e){return e.node==e.text&&(e.node=_(\"div\",null,null,\"position: relative\"),e.text.parentNode&&e.text.parentNode.replaceChild(e.node,e.text),e.node.appendChild(e.text),a&&s<8&&(e.node.style.zIndex=2)),e.node}function fn(e,t){var n=e.display.externalMeasured;return n&&n.line==t.line?(e.display.externalMeasured=null,t.measure=n.measure,n.built):$t(e,t)}function dn(e,t){var n=t.text.className,r=fn(e,t);t.text==t.node&&(t.node=r.pre),t.text.parentNode.replaceChild(r.pre,t.text),t.text=r.pre,r.bgClass!=t.bgClass||r.textClass!=t.textClass?(t.bgClass=r.bgClass,t.textClass=r.textClass,hn(e,t)):n&&(t.text.className=n)}function hn(e,t){!function(e,t){var n=t.bgClass?t.bgClass+\" \"+(t.line.bgClass||\"\"):t.line.bgClass;if(n&&(n+=\" CodeMirror-linebackground\"),t.background)n?t.background.className=n:(t.background.parentNode.removeChild(t.background),t.background=null);else if(n){var r=pn(t);t.background=r.insertBefore(_(\"div\",null,n),r.firstChild),e.display.input.setUneditable(t.background)}}(e,t),t.line.wrapClass?pn(t).className=t.line.wrapClass:t.node!=t.text&&(t.node.className=\"\");var n=t.textClass?t.textClass+\" \"+(t.line.textClass||\"\"):t.line.textClass;t.text.className=n||\"\"}function mn(e,t,n,r){if(t.gutter&&(t.node.removeChild(t.gutter),t.gutter=null),t.gutterBackground&&(t.node.removeChild(t.gutterBackground),t.gutterBackground=null),t.line.gutterClass){var i=pn(t);t.gutterBackground=_(\"div\",null,\"CodeMirror-gutter-background \"+t.line.gutterClass,\"left: \"+(e.options.fixedGutter?r.fixedPos:-r.gutterTotalWidth)+\"px; width: \"+r.gutterTotalWidth+\"px\"),e.display.input.setUneditable(t.gutterBackground),i.insertBefore(t.gutterBackground,t.text)}var o=t.line.gutterMarkers;if(e.options.lineNumbers||o){var a=pn(t),s=t.gutter=_(\"div\",null,\"CodeMirror-gutter-wrapper\",\"left: \"+(e.options.fixedGutter?r.fixedPos:-r.gutterTotalWidth)+\"px\");if(e.display.input.setUneditable(s),a.insertBefore(s,t.text),t.line.gutterClass&&(s.className+=\" \"+t.line.gutterClass),!e.options.lineNumbers||o&&o[\"CodeMirror-linenumbers\"]||(t.lineNumber=s.appendChild(_(\"div\",Ze(e.options,n),\"CodeMirror-linenumber CodeMirror-gutter-elt\",\"left: \"+r.gutterLeft[\"CodeMirror-linenumbers\"]+\"px; width: \"+e.display.lineNumInnerWidth+\"px\"))),o)for(var u=0;u<e.display.gutterSpecs.length;++u){var c=e.display.gutterSpecs[u].className,l=o.hasOwnProperty(c)&&o[c];l&&s.appendChild(_(\"div\",[l],\"CodeMirror-gutter-elt\",\"left: \"+r.gutterLeft[c]+\"px; width: \"+r.gutterWidth[c]+\"px\"))}}}function gn(e,t,n){t.alignable&&(t.alignable=null);for(var r=w(\"CodeMirror-linewidget\"),i=t.node.firstChild,o=void 0;i;i=o)o=i.nextSibling,r.test(i.className)&&t.node.removeChild(i);vn(e,t,n)}function yn(e,t,n,r){var i=fn(e,t);return t.text=t.node=i.pre,i.bgClass&&(t.bgClass=i.bgClass),i.textClass&&(t.textClass=i.textClass),hn(e,t),mn(e,t,n,r),vn(e,t,r),t.node}function vn(e,t,n){if(bn(e,t.line,t,n,!0),t.rest)for(var r=0;r<t.rest.length;r++)bn(e,t.rest[r],t,n,!1)}function bn(e,t,n,r,i){if(t.widgets)for(var o=pn(n),a=0,s=t.widgets;a<s.length;++a){var u=s[a],c=_(\"div\",[u.node],\"CodeMirror-linewidget\"+(u.className?\" \"+u.className:\"\"));u.handleMouseEvents||c.setAttribute(\"cm-ignore-events\",\"true\"),En(u,c,n,r),e.display.input.setUneditable(c),i&&u.above?o.insertBefore(c,n.gutter||n.text):o.appendChild(c),un(u,\"redraw\")}}function En(e,t,n,r){if(e.noHScroll){(n.alignable||(n.alignable=[])).push(t);var i=r.wrapperWidth;t.style.left=r.fixedPos+\"px\",e.coverGutter||(i-=r.gutterTotalWidth,t.style.paddingLeft=r.gutterTotalWidth+\"px\"),t.style.width=i+\"px\"}e.coverGutter&&(t.style.zIndex=5,t.style.position=\"relative\",e.noHScroll||(t.style.marginLeft=-r.gutterTotalWidth+\"px\"))}function xn(e){if(null!=e.height)return e.height;var t=e.doc.cm;if(!t)return 0;if(!F(document.body,e.node)){var n=\"position: relative;\";e.coverGutter&&(n+=\"margin-left: -\"+t.display.gutters.offsetWidth+\"px;\"),e.noHScroll&&(n+=\"width: \"+t.display.wrapper.clientWidth+\"px;\"),T(t.display.measure,_(\"div\",[e.node],null,n))}return e.height=e.node.parentNode.offsetHeight}function Dn(e,t){for(var n=Ce(t);n!=e.wrapper;n=n.parentNode)if(!n||1==n.nodeType&&\"true\"==n.getAttribute(\"cm-ignore-events\")||n.parentNode==e.sizer&&n!=e.mover)return!0}function Cn(e){return e.lineSpace.offsetTop}function wn(e){return e.mover.offsetHeight-e.lineSpace.offsetHeight}function Sn(e){if(e.cachedPaddingH)return e.cachedPaddingH;var t=T(e.measure,_(\"pre\",\"x\",\"CodeMirror-line-like\")),n=window.getComputedStyle?window.getComputedStyle(t):t.currentStyle,r={left:parseInt(n.paddingLeft),right:parseInt(n.paddingRight)};return isNaN(r.left)||isNaN(r.right)||(e.cachedPaddingH=r),r}function kn(e){return 50-e.display.nativeBarWidth}function An(e){return e.display.scroller.clientWidth-kn(e)-e.display.barWidth}function Tn(e){return e.display.scroller.clientHeight-kn(e)-e.display.barHeight}function _n(e,t,n){if(e.line==t)return{map:e.measure.map,cache:e.measure.cache};for(var r=0;r<e.rest.length;r++)if(e.rest[r]==t)return{map:e.measure.maps[r],cache:e.measure.caches[r]};for(var i=0;i<e.rest.length;i++)if(Ye(e.rest[i])>n)return{map:e.measure.maps[i],cache:e.measure.caches[i],before:!0}}function On(e,t,n,r){return In(e,Nn(e,t),n,r)}function Fn(e,t){if(t>=e.display.viewFrom&&t<e.display.viewTo)return e.display.view[lr(e,t)];var n=e.display.externalMeasured;return n&&t>=n.lineN&&t<n.lineN+n.size?n:void 0}function Nn(e,t){var n=Ye(t),r=Fn(e,n);r&&!r.text?r=null:r&&r.changes&&(ln(e,r,n,or(e)),e.curOp.forceUpdate=!0),r||(r=function(e,t){var n=Ye(t=Rt(t)),r=e.display.externalMeasured=new rn(e.doc,t,n);r.lineN=n;var i=r.built=$t(e,r);return r.text=i.pre,T(e.display.lineMeasure,i.pre),r}(e,t));var i=_n(r,t,n);return{line:t,view:r,rect:null,map:i.map,cache:i.cache,before:i.before,hasHeights:!1}}function In(e,t,n,r,i){t.before&&(n=-1);var o,u=n+(r||\"\");return t.cache.hasOwnProperty(u)?o=t.cache[u]:(t.rect||(t.rect=t.view.text.getBoundingClientRect()),t.hasHeights||(function(e,t,n){var r=e.options.lineWrapping,i=r&&An(e);if(!t.measure.heights||r&&t.measure.width!=i){var o=t.measure.heights=[];if(r){t.measure.width=i;for(var a=t.text.firstChild.getClientRects(),s=0;s<a.length-1;s++){var u=a[s],c=a[s+1];Math.abs(u.bottom-c.bottom)>2&&o.push((u.bottom+c.top)/2-n.top)}}o.push(n.bottom-n.top)}}(e,t.view,t.rect),t.hasHeights=!0),(o=function(e,t,n,r){var i,o=Ln(t.map,n,r),u=o.node,c=o.start,l=o.end,p=o.collapse;if(3==u.nodeType){for(var f=0;f<4;f++){for(;c&&re(t.line.text.charAt(o.coverStart+c));)--c;for(;o.coverStart+l<o.coverEnd&&re(t.line.text.charAt(o.coverStart+l));)++l;if((i=a&&s<9&&0==c&&l==o.coverEnd-o.coverStart?u.parentNode.getBoundingClientRect():Pn(S(u,c,l).getClientRects(),r)).left||i.right||0==c)break;l=c,c-=1,p=\"right\"}a&&s<11&&(i=function(e,t){if(!window.screen||null==screen.logicalXDPI||screen.logicalXDPI==screen.deviceXDPI||!function(e){if(null!=Me)return Me;var t=T(e,_(\"span\",\"x\")),n=t.getBoundingClientRect(),r=S(t,0,1).getBoundingClientRect();return Me=Math.abs(n.left-r.left)>1}(e))return t;var n=screen.logicalXDPI/screen.deviceXDPI,r=screen.logicalYDPI/screen.deviceYDPI;return{left:t.left*n,right:t.right*n,top:t.top*r,bottom:t.bottom*r}}(e.display.measure,i))}else{var d;c>0&&(p=r=\"right\"),i=e.options.lineWrapping&&(d=u.getClientRects()).length>1?d[\"right\"==r?d.length-1:0]:u.getBoundingClientRect()}if(a&&s<9&&!c&&(!i||!i.left&&!i.right)){var h=u.parentNode.getClientRects()[0];i=h?{left:h.left,right:h.left+ir(e.display),top:h.top,bottom:h.bottom}:jn}for(var m=i.top-t.rect.top,g=i.bottom-t.rect.top,y=(m+g)/2,v=t.view.measure.heights,b=0;b<v.length-1&&!(y<v[b]);b++);var E=b?v[b-1]:0,x=v[b],D={left:(\"right\"==p?i.right:i.left)-t.rect.left,right:(\"left\"==p?i.left:i.right)-t.rect.left,top:E,bottom:x};return i.left||i.right||(D.bogus=!0),e.options.singleCursorHeightPerLine||(D.rtop=m,D.rbottom=g),D}(e,t,n,r)).bogus||(t.cache[u]=o)),{left:o.left,right:o.right,top:i?o.rtop:o.top,bottom:i?o.rbottom:o.bottom}}var Mn,jn={left:0,right:0,top:0,bottom:0};function Ln(e,t,n){for(var r,i,o,a,s,u,c=0;c<e.length;c+=3)if(s=e[c],u=e[c+1],t<s?(i=0,o=1,a=\"left\"):t<u?o=1+(i=t-s):(c==e.length-3||t==u&&e[c+3]>t)&&(i=(o=u-s)-1,t>=u&&(a=\"right\")),null!=i){if(r=e[c+2],s==u&&n==(r.insertLeft?\"left\":\"right\")&&(a=n),\"left\"==n&&0==i)for(;c&&e[c-2]==e[c-3]&&e[c-1].insertLeft;)r=e[2+(c-=3)],a=\"left\";if(\"right\"==n&&i==u-s)for(;c<e.length-3&&e[c+3]==e[c+4]&&!e[c+5].insertLeft;)r=e[(c+=3)+2],a=\"right\";break}return{node:r,start:i,end:o,collapse:a,coverStart:s,coverEnd:u}}function Pn(e,t){var n=jn;if(\"left\"==t)for(var r=0;r<e.length&&(n=e[r]).left==n.right;r++);else for(var i=e.length-1;i>=0&&(n=e[i]).left==n.right;i--);return n}function Rn(e){if(e.measure&&(e.measure.cache={},e.measure.heights=null,e.rest))for(var t=0;t<e.rest.length;t++)e.measure.caches[t]={}}function Bn(e){e.display.externalMeasure=null,A(e.display.lineMeasure);for(var t=0;t<e.display.view.length;t++)Rn(e.display.view[t])}function Un(e){Bn(e),e.display.cachedCharWidth=e.display.cachedTextHeight=e.display.cachedPaddingH=null,e.options.lineWrapping||(e.display.maxLineChanged=!0),e.display.lineNumChars=null}function zn(){return l&&g?-(document.body.getBoundingClientRect().left-parseInt(getComputedStyle(document.body).marginLeft)):window.pageXOffset||(document.documentElement||document.body).scrollLeft}function Vn(){return l&&g?-(document.body.getBoundingClientRect().top-parseInt(getComputedStyle(document.body).marginTop)):window.pageYOffset||(document.documentElement||document.body).scrollTop}function qn(e){var t=0;if(e.widgets)for(var n=0;n<e.widgets.length;++n)e.widgets[n].above&&(t+=xn(e.widgets[n]));return t}function Hn(e,t,n,r,i){if(!i){var o=qn(t);n.top+=o,n.bottom+=o}if(\"line\"==r)return n;r||(r=\"local\");var a=qt(t);if(\"local\"==r?a+=Cn(e.display):a-=e.display.viewOffset,\"page\"==r||\"window\"==r){var s=e.display.lineSpace.getBoundingClientRect();a+=s.top+(\"window\"==r?0:Vn());var u=s.left+(\"window\"==r?0:zn());n.left+=u,n.right+=u}return n.top+=a,n.bottom+=a,n}function Wn(e,t,n){if(\"div\"==n)return t;var r=t.left,i=t.top;if(\"page\"==n)r-=zn(),i-=Vn();else if(\"local\"==n||!n){var o=e.display.sizer.getBoundingClientRect();r+=o.left,i+=o.top}var a=e.display.lineSpace.getBoundingClientRect();return{left:r-a.left,top:i-a.top}}function Gn(e,t,n,r,i){return r||(r=Ge(e.doc,t.line)),Hn(e,r,On(e,r,t.ch,i),n)}function Kn(e,t,n,r,i,o){function a(t,a){var s=In(e,i,t,a?\"right\":\"left\",o);return a?s.left=s.right:s.right=s.left,Hn(e,r,s,n)}r=r||Ge(e.doc,t.line),i||(i=Nn(e,r));var s=ce(r,e.doc.direction),u=t.ch,c=t.sticky;if(u>=r.text.length?(u=r.text.length,c=\"before\"):u<=0&&(u=0,c=\"after\"),!s)return a(\"before\"==c?u-1:u,\"before\"==c);function l(e,t,n){return a(n?e-1:e,1==s[t].level!=n)}var p=se(s,u,c),f=ae,d=l(u,p,\"before\"==c);return null!=f&&(d.other=l(u,f,\"before\"!=c)),d}function Jn(e,t){var n=0;t=st(e.doc,t),e.options.lineWrapping||(n=ir(e.display)*t.ch);var r=Ge(e.doc,t.line),i=qt(r)+Cn(e.display);return{left:n,right:n,top:i,bottom:i+r.height}}function Qn(e,t,n,r,i){var o=et(e,t,n);return o.xRel=i,r&&(o.outside=r),o}function Yn(e,t,n){var r=e.doc;if((n+=e.display.viewOffset)<0)return Qn(r.first,0,null,-1,-1);var i=$e(r,n),o=r.first+r.size-1;if(i>o)return Qn(r.first+r.size-1,Ge(r,o).text.length,null,1,1);t<0&&(t=0);for(var a=Ge(r,i);;){var s=er(e,a,i,t,n),u=Lt(a,s.ch+(s.xRel>0||s.outside>0?1:0));if(!u)return s;var c=u.find(1);if(c.line==i)return c;a=Ge(r,i=c.line)}}function $n(e,t,n,r){r-=qn(t);var i=t.text.length,o=oe((function(t){return In(e,n,t-1).bottom<=r}),i,0);return{begin:o,end:i=oe((function(t){return In(e,n,t).top>r}),o,i)}}function Xn(e,t,n,r){return n||(n=Nn(e,t)),$n(e,t,n,Hn(e,t,In(e,n,r),\"line\").top)}function Zn(e,t,n,r){return!(e.bottom<=n)&&(e.top>n||(r?e.left:e.right)>t)}function er(e,t,n,r,i){i-=qt(t);var o=Nn(e,t),a=qn(t),s=0,u=t.text.length,c=!0,l=ce(t,e.doc.direction);if(l){var p=(e.options.lineWrapping?nr:tr)(e,t,n,o,l,r,i);s=(c=1!=p.level)?p.from:p.to-1,u=c?p.to:p.from-1}var f,d,h=null,m=null,g=oe((function(t){var n=In(e,o,t);return n.top+=a,n.bottom+=a,!!Zn(n,r,i,!1)&&(n.top<=i&&n.left<=r&&(h=t,m=n),!0)}),s,u),y=!1;if(m){var v=r-m.left<m.right-r,b=v==c;g=h+(b?0:1),d=b?\"after\":\"before\",f=v?m.left:m.right}else{c||g!=u&&g!=s||g++,d=0==g?\"after\":g==t.text.length?\"before\":In(e,o,g-(c?1:0)).bottom+a<=i==c?\"after\":\"before\";var E=Kn(e,et(n,g,d),\"line\",t,o);f=E.left,y=i<E.top?-1:i>=E.bottom?1:0}return Qn(n,g=ie(t.text,g,1),d,y,r-f)}function tr(e,t,n,r,i,o,a){var s=oe((function(s){var u=i[s],c=1!=u.level;return Zn(Kn(e,et(n,c?u.to:u.from,c?\"before\":\"after\"),\"line\",t,r),o,a,!0)}),0,i.length-1),u=i[s];if(s>0){var c=1!=u.level,l=Kn(e,et(n,c?u.from:u.to,c?\"after\":\"before\"),\"line\",t,r);Zn(l,o,a,!0)&&l.top>a&&(u=i[s-1])}return u}function nr(e,t,n,r,i,o,a){var s=$n(e,t,r,a),u=s.begin,c=s.end;/\\s/.test(t.text.charAt(c-1))&&c--;for(var l=null,p=null,f=0;f<i.length;f++){var d=i[f];if(!(d.from>=c||d.to<=u)){var h=In(e,r,1!=d.level?Math.min(c,d.to)-1:Math.max(u,d.from)).right,m=h<o?o-h+1e9:h-o;(!l||p>m)&&(l=d,p=m)}}return l||(l=i[i.length-1]),l.from<u&&(l={from:u,to:l.to,level:l.level}),l.to>c&&(l={from:l.from,to:c,level:l.level}),l}function rr(e){if(null!=e.cachedTextHeight)return e.cachedTextHeight;if(null==Mn){Mn=_(\"pre\",null,\"CodeMirror-line-like\");for(var t=0;t<49;++t)Mn.appendChild(document.createTextNode(\"x\")),Mn.appendChild(_(\"br\"));Mn.appendChild(document.createTextNode(\"x\"))}T(e.measure,Mn);var n=Mn.offsetHeight/50;return n>3&&(e.cachedTextHeight=n),A(e.measure),n||1}function ir(e){if(null!=e.cachedCharWidth)return e.cachedCharWidth;var t=_(\"span\",\"xxxxxxxxxx\"),n=_(\"pre\",[t],\"CodeMirror-line-like\");T(e.measure,n);var r=t.getBoundingClientRect(),i=(r.right-r.left)/10;return i>2&&(e.cachedCharWidth=i),i||10}function or(e){for(var t=e.display,n={},r={},i=t.gutters.clientLeft,o=t.gutters.firstChild,a=0;o;o=o.nextSibling,++a){var s=e.display.gutterSpecs[a].className;n[s]=o.offsetLeft+o.clientLeft+i,r[s]=o.clientWidth}return{fixedPos:ar(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:n,gutterWidth:r,wrapperWidth:t.wrapper.clientWidth}}function ar(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function sr(e){var t=rr(e.display),n=e.options.lineWrapping,r=n&&Math.max(5,e.display.scroller.clientWidth/ir(e.display)-3);return function(i){if(zt(e.doc,i))return 0;var o=0;if(i.widgets)for(var a=0;a<i.widgets.length;a++)i.widgets[a].height&&(o+=i.widgets[a].height);return n?o+(Math.ceil(i.text.length/r)||1)*t:o+t}}function ur(e){var t=e.doc,n=sr(e);t.iter((function(e){var t=n(e);t!=e.height&&Qe(e,t)}))}function cr(e,t,n,r){var i=e.display;if(!n&&\"true\"==Ce(t).getAttribute(\"cm-not-content\"))return null;var o,a,s=i.lineSpace.getBoundingClientRect();try{o=t.clientX-s.left,a=t.clientY-s.top}catch(e){return null}var u,c=Yn(e,o,a);if(r&&c.xRel>0&&(u=Ge(e.doc,c.line).text).length==c.ch){var l=R(u,u.length,e.options.tabSize)-u.length;c=et(c.line,Math.max(0,Math.round((o-Sn(e.display).left)/ir(e.display))-l))}return c}function lr(e,t){if(t>=e.display.viewTo)return null;if((t-=e.display.viewFrom)<0)return null;for(var n=e.display.view,r=0;r<n.length;r++)if((t-=n[r].size)<0)return r}function pr(e,t,n,r){null==t&&(t=e.doc.first),null==n&&(n=e.doc.first+e.doc.size),r||(r=0);var i=e.display;if(r&&n<i.viewTo&&(null==i.updateLineNumbers||i.updateLineNumbers>t)&&(i.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=i.viewTo)Dt&&Bt(e.doc,t)<i.viewTo&&dr(e);else if(n<=i.viewFrom)Dt&&Ut(e.doc,n+r)>i.viewFrom?dr(e):(i.viewFrom+=r,i.viewTo+=r);else if(t<=i.viewFrom&&n>=i.viewTo)dr(e);else if(t<=i.viewFrom){var o=hr(e,n,n+r,1);o?(i.view=i.view.slice(o.index),i.viewFrom=o.lineN,i.viewTo+=r):dr(e)}else if(n>=i.viewTo){var a=hr(e,t,t,-1);a?(i.view=i.view.slice(0,a.index),i.viewTo=a.lineN):dr(e)}else{var s=hr(e,t,t,-1),u=hr(e,n,n+r,1);s&&u?(i.view=i.view.slice(0,s.index).concat(on(e,s.lineN,u.lineN)).concat(i.view.slice(u.index)),i.viewTo+=r):dr(e)}var c=i.externalMeasured;c&&(n<c.lineN?c.lineN+=r:t<c.lineN+c.size&&(i.externalMeasured=null))}function fr(e,t,n){e.curOp.viewChanged=!0;var r=e.display,i=e.display.externalMeasured;if(i&&t>=i.lineN&&t<i.lineN+i.size&&(r.externalMeasured=null),!(t<r.viewFrom||t>=r.viewTo)){var o=r.view[lr(e,t)];if(null!=o.node){var a=o.changes||(o.changes=[]);-1==U(a,n)&&a.push(n)}}}function dr(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function hr(e,t,n,r){var i,o=lr(e,t),a=e.display.view;if(!Dt||n==e.doc.first+e.doc.size)return{index:o,lineN:n};for(var s=e.display.viewFrom,u=0;u<o;u++)s+=a[u].size;if(s!=t){if(r>0){if(o==a.length-1)return null;i=s+a[o].size-t,o++}else i=s-t;t+=i,n+=i}for(;Bt(e.doc,n)!=n;){if(o==(r<0?0:a.length-1))return null;n+=r*a[o-(r<0?1:0)].size,o+=r}return{index:o,lineN:n}}function mr(e){for(var t=e.display.view,n=0,r=0;r<t.length;r++){var i=t[r];i.hidden||i.node&&!i.changes||++n}return n}function gr(e){e.display.input.showSelection(e.display.input.prepareSelection())}function yr(e,t){void 0===t&&(t=!0);for(var n=e.doc,r={},i=r.cursors=document.createDocumentFragment(),o=r.selection=document.createDocumentFragment(),a=0;a<n.sel.ranges.length;a++)if(t||a!=n.sel.primIndex){var s=n.sel.ranges[a];if(!(s.from().line>=e.display.viewTo||s.to().line<e.display.viewFrom)){var u=s.empty();(u||e.options.showCursorWhenSelecting)&&vr(e,s.head,i),u||Er(e,s,o)}}return r}function vr(e,t,n){var r=Kn(e,t,\"div\",null,null,!e.options.singleCursorHeightPerLine),i=n.appendChild(_(\"div\",\" \",\"CodeMirror-cursor\"));if(i.style.left=r.left+\"px\",i.style.top=r.top+\"px\",i.style.height=Math.max(0,r.bottom-r.top)*e.options.cursorHeight+\"px\",r.other){var o=n.appendChild(_(\"div\",\" \",\"CodeMirror-cursor CodeMirror-secondarycursor\"));o.style.display=\"\",o.style.left=r.other.left+\"px\",o.style.top=r.other.top+\"px\",o.style.height=.85*(r.other.bottom-r.other.top)+\"px\"}}function br(e,t){return e.top-t.top||e.left-t.left}function Er(e,t,n){var r=e.display,i=e.doc,o=document.createDocumentFragment(),a=Sn(e.display),s=a.left,u=Math.max(r.sizerWidth,An(e)-r.sizer.offsetLeft)-a.right,c=\"ltr\"==i.direction;function l(e,t,n,r){t<0&&(t=0),t=Math.round(t),r=Math.round(r),o.appendChild(_(\"div\",null,\"CodeMirror-selected\",\"position: absolute; left: \"+e+\"px;\\n                             top: \"+t+\"px; width: \"+(null==n?u-e:n)+\"px;\\n                             height: \"+(r-t)+\"px\"))}function p(t,n,r){var o,a,p=Ge(i,t),f=p.text.length;function d(n,r){return Gn(e,et(t,n),\"div\",p,r)}function h(t,n,r){var i=Xn(e,p,null,t),o=\"ltr\"==n==(\"after\"==r)?\"left\":\"right\";return d(\"after\"==r?i.begin:i.end-(/\\s/.test(p.text.charAt(i.end-1))?2:1),o)[o]}var m=ce(p,i.direction);return function(e,t,n,r){if(!e)return r(t,n,\"ltr\",0);for(var i=!1,o=0;o<e.length;++o){var a=e[o];(a.from<n&&a.to>t||t==n&&a.to==t)&&(r(Math.max(a.from,t),Math.min(a.to,n),1==a.level?\"rtl\":\"ltr\",o),i=!0)}i||r(t,n,\"ltr\")}(m,n||0,null==r?f:r,(function(e,t,i,p){var g=\"ltr\"==i,y=d(e,g?\"left\":\"right\"),v=d(t-1,g?\"right\":\"left\"),b=null==n&&0==e,E=null==r&&t==f,x=0==p,D=!m||p==m.length-1;if(v.top-y.top<=3){var C=(c?E:b)&&D,w=(c?b:E)&&x?s:(g?y:v).left,S=C?u:(g?v:y).right;l(w,y.top,S-w,y.bottom)}else{var k,A,T,_;g?(k=c&&b&&x?s:y.left,A=c?u:h(e,i,\"before\"),T=c?s:h(t,i,\"after\"),_=c&&E&&D?u:v.right):(k=c?h(e,i,\"before\"):s,A=!c&&b&&x?u:y.right,T=!c&&E&&D?s:v.left,_=c?h(t,i,\"after\"):u),l(k,y.top,A-k,y.bottom),y.bottom<v.top&&l(s,y.bottom,null,v.top),l(T,v.top,_-T,v.bottom)}(!o||br(y,o)<0)&&(o=y),br(v,o)<0&&(o=v),(!a||br(y,a)<0)&&(a=y),br(v,a)<0&&(a=v)})),{start:o,end:a}}var f=t.from(),d=t.to();if(f.line==d.line)p(f.line,f.ch,d.ch);else{var h=Ge(i,f.line),m=Ge(i,d.line),g=Rt(h)==Rt(m),y=p(f.line,f.ch,g?h.text.length+1:null).end,v=p(d.line,g?0:null,d.ch).start;g&&(y.top<v.top-2?(l(y.right,y.top,null,y.bottom),l(s,v.top,v.left,v.bottom)):l(y.right,y.top,v.left-y.right,y.bottom)),y.bottom<v.top&&l(s,y.bottom,null,v.top)}n.appendChild(o)}function xr(e){if(e.state.focused){var t=e.display;clearInterval(t.blinker);var n=!0;t.cursorDiv.style.visibility=\"\",e.options.cursorBlinkRate>0?t.blinker=setInterval((function(){return t.cursorDiv.style.visibility=(n=!n)?\"\":\"hidden\"}),e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility=\"hidden\")}}function Dr(e){e.state.focused||(e.display.input.focus(),wr(e))}function Cr(e){e.state.delayingBlurEvent=!0,setTimeout((function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,Sr(e))}),100)}function wr(e,t){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1),\"nocursor\"!=e.options.readOnly&&(e.state.focused||(he(e,\"focus\",e,t),e.state.focused=!0,I(e.display.wrapper,\"CodeMirror-focused\"),e.curOp||e.display.selForContextMenu==e.doc.sel||(e.display.input.reset(),u&&setTimeout((function(){return e.display.input.reset(!0)}),20)),e.display.input.receivedFocus()),xr(e))}function Sr(e,t){e.state.delayingBlurEvent||(e.state.focused&&(he(e,\"blur\",e,t),e.state.focused=!1,k(e.display.wrapper,\"CodeMirror-focused\")),clearInterval(e.display.blinker),setTimeout((function(){e.state.focused||(e.display.shift=!1)}),150))}function kr(e){for(var t=e.display,n=t.lineDiv.offsetTop,r=0;r<t.view.length;r++){var i=t.view[r],o=e.options.lineWrapping,u=void 0,c=0;if(!i.hidden){if(a&&s<8){var l=i.node.offsetTop+i.node.offsetHeight;u=l-n,n=l}else{var p=i.node.getBoundingClientRect();u=p.bottom-p.top,!o&&i.text.firstChild&&(c=i.text.firstChild.getBoundingClientRect().right-p.left-1)}var f=i.line.height-u;if((f>.005||f<-.005)&&(Qe(i.line,u),Ar(i.line),i.rest))for(var d=0;d<i.rest.length;d++)Ar(i.rest[d]);if(c>e.display.sizerWidth){var h=Math.ceil(c/ir(e.display));h>e.display.maxLineLength&&(e.display.maxLineLength=h,e.display.maxLine=i.line,e.display.maxLineChanged=!0)}}}}function Ar(e){if(e.widgets)for(var t=0;t<e.widgets.length;++t){var n=e.widgets[t],r=n.node.parentNode;r&&(n.height=r.offsetHeight)}}function Tr(e,t,n){var r=n&&null!=n.top?Math.max(0,n.top):e.scroller.scrollTop;r=Math.floor(r-Cn(e));var i=n&&null!=n.bottom?n.bottom:r+e.wrapper.clientHeight,o=$e(t,r),a=$e(t,i);if(n&&n.ensure){var s=n.ensure.from.line,u=n.ensure.to.line;s<o?(o=s,a=$e(t,qt(Ge(t,s))+e.wrapper.clientHeight)):Math.min(u,t.lastLine())>=a&&(o=$e(t,qt(Ge(t,u))-e.wrapper.clientHeight),a=u)}return{from:o,to:Math.max(a,o+1)}}function _r(e,t){var n=e.display,r=rr(e.display);t.top<0&&(t.top=0);var i=e.curOp&&null!=e.curOp.scrollTop?e.curOp.scrollTop:n.scroller.scrollTop,o=Tn(e),a={};t.bottom-t.top>o&&(t.bottom=t.top+o);var s=e.doc.height+wn(n),u=t.top<r,c=t.bottom>s-r;if(t.top<i)a.scrollTop=u?0:t.top;else if(t.bottom>i+o){var l=Math.min(t.top,(c?s:t.bottom)-o);l!=i&&(a.scrollTop=l)}var p=e.curOp&&null!=e.curOp.scrollLeft?e.curOp.scrollLeft:n.scroller.scrollLeft,f=An(e)-(e.options.fixedGutter?n.gutters.offsetWidth:0),d=t.right-t.left>f;return d&&(t.right=t.left+f),t.left<10?a.scrollLeft=0:t.left<p?a.scrollLeft=Math.max(0,t.left-(d?0:10)):t.right>f+p-3&&(a.scrollLeft=t.right+(d?0:10)-f),a}function Or(e,t){null!=t&&(Ir(e),e.curOp.scrollTop=(null==e.curOp.scrollTop?e.doc.scrollTop:e.curOp.scrollTop)+t)}function Fr(e){Ir(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}function Nr(e,t,n){null==t&&null==n||Ir(e),null!=t&&(e.curOp.scrollLeft=t),null!=n&&(e.curOp.scrollTop=n)}function Ir(e){var t=e.curOp.scrollToPos;t&&(e.curOp.scrollToPos=null,Mr(e,Jn(e,t.from),Jn(e,t.to),t.margin))}function Mr(e,t,n,r){var i=_r(e,{left:Math.min(t.left,n.left),top:Math.min(t.top,n.top)-r,right:Math.max(t.right,n.right),bottom:Math.max(t.bottom,n.bottom)+r});Nr(e,i.scrollLeft,i.scrollTop)}function jr(e,t){Math.abs(e.doc.scrollTop-t)<2||(n||ui(e,{top:t}),Lr(e,t,!0),n&&ui(e),ri(e,100))}function Lr(e,t,n){t=Math.max(0,Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t)),(e.display.scroller.scrollTop!=t||n)&&(e.doc.scrollTop=t,e.display.scrollbars.setScrollTop(t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t))}function Pr(e,t,n,r){t=Math.max(0,Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth)),(n?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)&&!r||(e.doc.scrollLeft=t,pi(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function Rr(e){var t=e.display,n=t.gutters.offsetWidth,r=Math.round(e.doc.height+wn(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?n:0,docHeight:r,scrollHeight:r+kn(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:n}}var Br=function(e,t,n){this.cm=n;var r=this.vert=_(\"div\",[_(\"div\",null,null,\"min-width: 1px\")],\"CodeMirror-vscrollbar\"),i=this.horiz=_(\"div\",[_(\"div\",null,null,\"height: 100%; min-height: 1px\")],\"CodeMirror-hscrollbar\");r.tabIndex=i.tabIndex=-1,e(r),e(i),pe(r,\"scroll\",(function(){r.clientHeight&&t(r.scrollTop,\"vertical\")})),pe(i,\"scroll\",(function(){i.clientWidth&&t(i.scrollLeft,\"horizontal\")})),this.checkedZeroWidth=!1,a&&s<8&&(this.horiz.style.minHeight=this.vert.style.minWidth=\"18px\")};Br.prototype.update=function(e){var t=e.scrollWidth>e.clientWidth+1,n=e.scrollHeight>e.clientHeight+1,r=e.nativeBarWidth;if(n){this.vert.style.display=\"block\",this.vert.style.bottom=t?r+\"px\":\"0\";var i=e.viewHeight-(t?r:0);this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+i)+\"px\"}else this.vert.style.display=\"\",this.vert.firstChild.style.height=\"0\";if(t){this.horiz.style.display=\"block\",this.horiz.style.right=n?r+\"px\":\"0\",this.horiz.style.left=e.barLeft+\"px\";var o=e.viewWidth-e.barLeft-(n?r:0);this.horiz.firstChild.style.width=Math.max(0,e.scrollWidth-e.clientWidth+o)+\"px\"}else this.horiz.style.display=\"\",this.horiz.firstChild.style.width=\"0\";return!this.checkedZeroWidth&&e.clientHeight>0&&(0==r&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:n?r:0,bottom:t?r:0}},Br.prototype.setScrollLeft=function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,\"horiz\")},Br.prototype.setScrollTop=function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,\"vert\")},Br.prototype.zeroWidthHack=function(){var e=v&&!d?\"12px\":\"18px\";this.horiz.style.height=this.vert.style.width=e,this.horiz.style.pointerEvents=this.vert.style.pointerEvents=\"none\",this.disableHoriz=new B,this.disableVert=new B},Br.prototype.enableZeroWidthBar=function(e,t,n){e.style.pointerEvents=\"auto\",t.set(1e3,(function r(){var i=e.getBoundingClientRect();(\"vert\"==n?document.elementFromPoint(i.right-1,(i.top+i.bottom)/2):document.elementFromPoint((i.right+i.left)/2,i.bottom-1))!=e?e.style.pointerEvents=\"none\":t.set(1e3,r)}))},Br.prototype.clear=function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)};var Ur=function(){};function zr(e,t){t||(t=Rr(e));var n=e.display.barWidth,r=e.display.barHeight;Vr(e,t);for(var i=0;i<4&&n!=e.display.barWidth||r!=e.display.barHeight;i++)n!=e.display.barWidth&&e.options.lineWrapping&&kr(e),Vr(e,Rr(e)),n=e.display.barWidth,r=e.display.barHeight}function Vr(e,t){var n=e.display,r=n.scrollbars.update(t);n.sizer.style.paddingRight=(n.barWidth=r.right)+\"px\",n.sizer.style.paddingBottom=(n.barHeight=r.bottom)+\"px\",n.heightForcer.style.borderBottom=r.bottom+\"px solid transparent\",r.right&&r.bottom?(n.scrollbarFiller.style.display=\"block\",n.scrollbarFiller.style.height=r.bottom+\"px\",n.scrollbarFiller.style.width=r.right+\"px\"):n.scrollbarFiller.style.display=\"\",r.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(n.gutterFiller.style.display=\"block\",n.gutterFiller.style.height=r.bottom+\"px\",n.gutterFiller.style.width=t.gutterWidth+\"px\"):n.gutterFiller.style.display=\"\"}Ur.prototype.update=function(){return{bottom:0,right:0}},Ur.prototype.setScrollLeft=function(){},Ur.prototype.setScrollTop=function(){},Ur.prototype.clear=function(){};var qr={native:Br,null:Ur};function Hr(e){e.display.scrollbars&&(e.display.scrollbars.clear(),e.display.scrollbars.addClass&&k(e.display.wrapper,e.display.scrollbars.addClass)),e.display.scrollbars=new qr[e.options.scrollbarStyle]((function(t){e.display.wrapper.insertBefore(t,e.display.scrollbarFiller),pe(t,\"mousedown\",(function(){e.state.focused&&setTimeout((function(){return e.display.input.focus()}),0)})),t.setAttribute(\"cm-not-content\",\"true\")}),(function(t,n){\"horizontal\"==n?Pr(e,t):jr(e,t)}),e),e.display.scrollbars.addClass&&I(e.display.wrapper,e.display.scrollbars.addClass)}var Wr=0;function Gr(e){var t;e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Wr},t=e.curOp,an?an.ops.push(t):t.ownsGroup=an={ops:[t],delayedCallbacks:[]}}function Kr(e){var t=e.curOp;t&&function(e,t){var n=e.ownsGroup;if(n)try{!function(e){var t=e.delayedCallbacks,n=0;do{for(;n<t.length;n++)t[n].call(null);for(var r=0;r<e.ops.length;r++){var i=e.ops[r];if(i.cursorActivityHandlers)for(;i.cursorActivityCalled<i.cursorActivityHandlers.length;)i.cursorActivityHandlers[i.cursorActivityCalled++].call(null,i.cm)}}while(n<t.length)}(n)}finally{an=null,t(n)}}(t,(function(e){for(var t=0;t<e.ops.length;t++)e.ops[t].cm.curOp=null;!function(e){for(var t=e.ops,n=0;n<t.length;n++)Jr(t[n]);for(var r=0;r<t.length;r++)Qr(t[r]);for(var i=0;i<t.length;i++)Yr(t[i]);for(var o=0;o<t.length;o++)$r(t[o]);for(var a=0;a<t.length;a++)Xr(t[a])}(e)}))}function Jr(e){var t=e.cm,n=t.display;!function(e){var t=e.display;!t.scrollbarsClipped&&t.scroller.offsetWidth&&(t.nativeBarWidth=t.scroller.offsetWidth-t.scroller.clientWidth,t.heightForcer.style.height=kn(e)+\"px\",t.sizer.style.marginBottom=-t.nativeBarWidth+\"px\",t.sizer.style.borderRightWidth=kn(e)+\"px\",t.scrollbarsClipped=!0)}(t),e.updateMaxLine&&Wt(t),e.mustUpdate=e.viewChanged||e.forceUpdate||null!=e.scrollTop||e.scrollToPos&&(e.scrollToPos.from.line<n.viewFrom||e.scrollToPos.to.line>=n.viewTo)||n.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new oi(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}function Qr(e){e.updatedDisplay=e.mustUpdate&&ai(e.cm,e.update)}function Yr(e){var t=e.cm,n=t.display;e.updatedDisplay&&kr(t),e.barMeasure=Rr(t),n.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=On(t,n.maxLine,n.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+e.adjustWidthTo+kn(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+e.adjustWidthTo-An(t))),(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=n.input.prepareSelection())}function $r(e){var t=e.cm;null!=e.adjustWidthTo&&(t.display.sizer.style.minWidth=e.adjustWidthTo+\"px\",e.maxScrollLeft<t.doc.scrollLeft&&Pr(t,Math.min(t.display.scroller.scrollLeft,e.maxScrollLeft),!0),t.display.maxLineChanged=!1);var n=e.focus&&e.focus==N();e.preparedSelection&&t.display.input.showSelection(e.preparedSelection,n),(e.updatedDisplay||e.startHeight!=t.doc.height)&&zr(t,e.barMeasure),e.updatedDisplay&&li(t,e.barMeasure),e.selectionChanged&&xr(t),t.state.focused&&e.updateInput&&t.display.input.reset(e.typing),n&&Dr(e.cm)}function Xr(e){var t=e.cm,n=t.display,r=t.doc;e.updatedDisplay&&si(t,e.update),null==n.wheelStartX||null==e.scrollTop&&null==e.scrollLeft&&!e.scrollToPos||(n.wheelStartX=n.wheelStartY=null),null!=e.scrollTop&&Lr(t,e.scrollTop,e.forceScroll),null!=e.scrollLeft&&Pr(t,e.scrollLeft,!0,!0),e.scrollToPos&&function(e,t){if(!me(e,\"scrollCursorIntoView\")){var n=e.display,r=n.sizer.getBoundingClientRect(),i=null;if(t.top+r.top<0?i=!0:t.bottom+r.top>(window.innerHeight||document.documentElement.clientHeight)&&(i=!1),null!=i&&!h){var o=_(\"div\",\"​\",null,\"position: absolute;\\n                         top: \"+(t.top-n.viewOffset-Cn(e.display))+\"px;\\n                         height: \"+(t.bottom-t.top+kn(e)+n.barHeight)+\"px;\\n                         left: \"+t.left+\"px; width: \"+Math.max(2,t.right-t.left)+\"px;\");e.display.lineSpace.appendChild(o),o.scrollIntoView(i),e.display.lineSpace.removeChild(o)}}}(t,function(e,t,n,r){var i;null==r&&(r=0),e.options.lineWrapping||t!=n||(n=\"before\"==(t=t.ch?et(t.line,\"before\"==t.sticky?t.ch-1:t.ch,\"after\"):t).sticky?et(t.line,t.ch+1,\"before\"):t);for(var o=0;o<5;o++){var a=!1,s=Kn(e,t),u=n&&n!=t?Kn(e,n):s,c=_r(e,i={left:Math.min(s.left,u.left),top:Math.min(s.top,u.top)-r,right:Math.max(s.left,u.left),bottom:Math.max(s.bottom,u.bottom)+r}),l=e.doc.scrollTop,p=e.doc.scrollLeft;if(null!=c.scrollTop&&(jr(e,c.scrollTop),Math.abs(e.doc.scrollTop-l)>1&&(a=!0)),null!=c.scrollLeft&&(Pr(e,c.scrollLeft),Math.abs(e.doc.scrollLeft-p)>1&&(a=!0)),!a)break}return i}(t,st(r,e.scrollToPos.from),st(r,e.scrollToPos.to),e.scrollToPos.margin));var i=e.maybeHiddenMarkers,o=e.maybeUnhiddenMarkers;if(i)for(var a=0;a<i.length;++a)i[a].lines.length||he(i[a],\"hide\");if(o)for(var s=0;s<o.length;++s)o[s].lines.length&&he(o[s],\"unhide\");n.wrapper.offsetHeight&&(r.scrollTop=t.display.scroller.scrollTop),e.changeObjs&&he(t,\"changes\",t,e.changeObjs),e.update&&e.update.finish()}function Zr(e,t){if(e.curOp)return t();Gr(e);try{return t()}finally{Kr(e)}}function ei(e,t){return function(){if(e.curOp)return t.apply(e,arguments);Gr(e);try{return t.apply(e,arguments)}finally{Kr(e)}}}function ti(e){return function(){if(this.curOp)return e.apply(this,arguments);Gr(this);try{return e.apply(this,arguments)}finally{Kr(this)}}}function ni(e){return function(){var t=this.cm;if(!t||t.curOp)return e.apply(this,arguments);Gr(t);try{return e.apply(this,arguments)}finally{Kr(t)}}}function ri(e,t){e.doc.highlightFrontier<e.display.viewTo&&e.state.highlight.set(t,L(ii,e))}function ii(e){var t=e.doc;if(!(t.highlightFrontier>=e.display.viewTo)){var n=+new Date+e.options.workTime,r=dt(e,t.highlightFrontier),i=[];t.iter(r.line,Math.min(t.first+t.size,e.display.viewTo+500),(function(o){if(r.line>=e.display.viewFrom){var a=o.styles,s=o.text.length>e.options.maxHighlightLength?Ve(t.mode,r.state):null,u=pt(e,o,r,!0);s&&(r.state=s),o.styles=u.styles;var c=o.styleClasses,l=u.classes;l?o.styleClasses=l:c&&(o.styleClasses=null);for(var p=!a||a.length!=o.styles.length||c!=l&&(!c||!l||c.bgClass!=l.bgClass||c.textClass!=l.textClass),f=0;!p&&f<a.length;++f)p=a[f]!=o.styles[f];p&&i.push(r.line),o.stateAfter=r.save(),r.nextLine()}else o.text.length<=e.options.maxHighlightLength&&ht(e,o.text,r),o.stateAfter=r.line%5==0?r.save():null,r.nextLine();if(+new Date>n)return ri(e,e.options.workDelay),!0})),t.highlightFrontier=r.line,t.modeFrontier=Math.max(t.modeFrontier,r.line),i.length&&Zr(e,(function(){for(var t=0;t<i.length;t++)fr(e,i[t],\"text\")}))}}var oi=function(e,t,n){var r=e.display;this.viewport=t,this.visible=Tr(r,e.doc,t),this.editorIsHidden=!r.wrapper.offsetWidth,this.wrapperHeight=r.wrapper.clientHeight,this.wrapperWidth=r.wrapper.clientWidth,this.oldDisplayWidth=An(e),this.force=n,this.dims=or(e),this.events=[]};function ai(e,t){var n=e.display,r=e.doc;if(t.editorIsHidden)return dr(e),!1;if(!t.force&&t.visible.from>=n.viewFrom&&t.visible.to<=n.viewTo&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&0==mr(e))return!1;fi(e)&&(dr(e),t.dims=or(e));var i=r.first+r.size,o=Math.max(t.visible.from-e.options.viewportMargin,r.first),a=Math.min(i,t.visible.to+e.options.viewportMargin);n.viewFrom<o&&o-n.viewFrom<20&&(o=Math.max(r.first,n.viewFrom)),n.viewTo>a&&n.viewTo-a<20&&(a=Math.min(i,n.viewTo)),Dt&&(o=Bt(e.doc,o),a=Ut(e.doc,a));var s=o!=n.viewFrom||a!=n.viewTo||n.lastWrapHeight!=t.wrapperHeight||n.lastWrapWidth!=t.wrapperWidth;!function(e,t,n){var r=e.display;0==r.view.length||t>=r.viewTo||n<=r.viewFrom?(r.view=on(e,t,n),r.viewFrom=t):(r.viewFrom>t?r.view=on(e,t,r.viewFrom).concat(r.view):r.viewFrom<t&&(r.view=r.view.slice(lr(e,t))),r.viewFrom=t,r.viewTo<n?r.view=r.view.concat(on(e,r.viewTo,n)):r.viewTo>n&&(r.view=r.view.slice(0,lr(e,n)))),r.viewTo=n}(e,o,a),n.viewOffset=qt(Ge(e.doc,n.viewFrom)),e.display.mover.style.top=n.viewOffset+\"px\";var c=mr(e);if(!s&&0==c&&!t.force&&n.renderedView==n.view&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo))return!1;var l=function(e){if(e.hasFocus())return null;var t=N();if(!t||!F(e.display.lineDiv,t))return null;var n={activeElt:t};if(window.getSelection){var r=window.getSelection();r.anchorNode&&r.extend&&F(e.display.lineDiv,r.anchorNode)&&(n.anchorNode=r.anchorNode,n.anchorOffset=r.anchorOffset,n.focusNode=r.focusNode,n.focusOffset=r.focusOffset)}return n}(e);return c>4&&(n.lineDiv.style.display=\"none\"),function(e,t,n){var r=e.display,i=e.options.lineNumbers,o=r.lineDiv,a=o.firstChild;function s(t){var n=t.nextSibling;return u&&v&&e.display.currentWheelTarget==t?t.style.display=\"none\":t.parentNode.removeChild(t),n}for(var c=r.view,l=r.viewFrom,p=0;p<c.length;p++){var f=c[p];if(f.hidden);else if(f.node&&f.node.parentNode==o){for(;a!=f.node;)a=s(a);var d=i&&null!=t&&t<=l&&f.lineNumber;f.changes&&(U(f.changes,\"gutter\")>-1&&(d=!1),ln(e,f,l,n)),d&&(A(f.lineNumber),f.lineNumber.appendChild(document.createTextNode(Ze(e.options,l)))),a=f.node.nextSibling}else{var h=yn(e,f,l,n);o.insertBefore(h,a)}l+=f.size}for(;a;)a=s(a)}(e,n.updateLineNumbers,t.dims),c>4&&(n.lineDiv.style.display=\"\"),n.renderedView=n.view,function(e){if(e&&e.activeElt&&e.activeElt!=N()&&(e.activeElt.focus(),!/^(INPUT|TEXTAREA)$/.test(e.activeElt.nodeName)&&e.anchorNode&&F(document.body,e.anchorNode)&&F(document.body,e.focusNode))){var t=window.getSelection(),n=document.createRange();n.setEnd(e.anchorNode,e.anchorOffset),n.collapse(!1),t.removeAllRanges(),t.addRange(n),t.extend(e.focusNode,e.focusOffset)}}(l),A(n.cursorDiv),A(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,s&&(n.lastWrapHeight=t.wrapperHeight,n.lastWrapWidth=t.wrapperWidth,ri(e,400)),n.updateLineNumbers=null,!0}function si(e,t){for(var n=t.viewport,r=!0;;r=!1){if(r&&e.options.lineWrapping&&t.oldDisplayWidth!=An(e))r&&(t.visible=Tr(e.display,e.doc,n));else if(n&&null!=n.top&&(n={top:Math.min(e.doc.height+wn(e.display)-Tn(e),n.top)}),t.visible=Tr(e.display,e.doc,n),t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)break;if(!ai(e,t))break;kr(e);var i=Rr(e);gr(e),zr(e,i),li(e,i),t.force=!1}t.signal(e,\"update\",e),e.display.viewFrom==e.display.reportedViewFrom&&e.display.viewTo==e.display.reportedViewTo||(t.signal(e,\"viewportChange\",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function ui(e,t){var n=new oi(e,t);if(ai(e,n)){kr(e),si(e,n);var r=Rr(e);gr(e),zr(e,r),li(e,r),n.finish()}}function ci(e){var t=e.gutters.offsetWidth;e.sizer.style.marginLeft=t+\"px\"}function li(e,t){e.display.sizer.style.minHeight=t.docHeight+\"px\",e.display.heightForcer.style.top=t.docHeight+\"px\",e.display.gutters.style.height=t.docHeight+e.display.barHeight+kn(e)+\"px\"}function pi(e){var t=e.display,n=t.view;if(t.alignWidgets||t.gutters.firstChild&&e.options.fixedGutter){for(var r=ar(t)-t.scroller.scrollLeft+e.doc.scrollLeft,i=t.gutters.offsetWidth,o=r+\"px\",a=0;a<n.length;a++)if(!n[a].hidden){e.options.fixedGutter&&(n[a].gutter&&(n[a].gutter.style.left=o),n[a].gutterBackground&&(n[a].gutterBackground.style.left=o));var s=n[a].alignable;if(s)for(var u=0;u<s.length;u++)s[u].style.left=o}e.options.fixedGutter&&(t.gutters.style.left=r+i+\"px\")}}function fi(e){if(!e.options.lineNumbers)return!1;var t=e.doc,n=Ze(e.options,t.first+t.size-1),r=e.display;if(n.length!=r.lineNumChars){var i=r.measure.appendChild(_(\"div\",[_(\"div\",n)],\"CodeMirror-linenumber CodeMirror-gutter-elt\")),o=i.firstChild.offsetWidth,a=i.offsetWidth-o;return r.lineGutter.style.width=\"\",r.lineNumInnerWidth=Math.max(o,r.lineGutter.offsetWidth-a)+1,r.lineNumWidth=r.lineNumInnerWidth+a,r.lineNumChars=r.lineNumInnerWidth?n.length:-1,r.lineGutter.style.width=r.lineNumWidth+\"px\",ci(e.display),!0}return!1}function di(e,t){for(var n=[],r=!1,i=0;i<e.length;i++){var o=e[i],a=null;if(\"string\"!=typeof o&&(a=o.style,o=o.className),\"CodeMirror-linenumbers\"==o){if(!t)continue;r=!0}n.push({className:o,style:a})}return t&&!r&&n.push({className:\"CodeMirror-linenumbers\",style:null}),n}function hi(e){var t=e.gutters,n=e.gutterSpecs;A(t),e.lineGutter=null;for(var r=0;r<n.length;++r){var i=n[r],o=i.className,a=i.style,s=t.appendChild(_(\"div\",null,\"CodeMirror-gutter \"+o));a&&(s.style.cssText=a),\"CodeMirror-linenumbers\"==o&&(e.lineGutter=s,s.style.width=(e.lineNumWidth||1)+\"px\")}t.style.display=n.length?\"\":\"none\",ci(e)}function mi(e){hi(e.display),pr(e),pi(e)}function gi(e,t,r,i){var o=this;this.input=r,o.scrollbarFiller=_(\"div\",null,\"CodeMirror-scrollbar-filler\"),o.scrollbarFiller.setAttribute(\"cm-not-content\",\"true\"),o.gutterFiller=_(\"div\",null,\"CodeMirror-gutter-filler\"),o.gutterFiller.setAttribute(\"cm-not-content\",\"true\"),o.lineDiv=O(\"div\",null,\"CodeMirror-code\"),o.selectionDiv=_(\"div\",null,null,\"position: relative; z-index: 1\"),o.cursorDiv=_(\"div\",null,\"CodeMirror-cursors\"),o.measure=_(\"div\",null,\"CodeMirror-measure\"),o.lineMeasure=_(\"div\",null,\"CodeMirror-measure\"),o.lineSpace=O(\"div\",[o.measure,o.lineMeasure,o.selectionDiv,o.cursorDiv,o.lineDiv],null,\"position: relative; outline: none\");var c=O(\"div\",[o.lineSpace],\"CodeMirror-lines\");o.mover=_(\"div\",[c],null,\"position: relative\"),o.sizer=_(\"div\",[o.mover],\"CodeMirror-sizer\"),o.sizerWidth=null,o.heightForcer=_(\"div\",null,null,\"position: absolute; height: 50px; width: 1px;\"),o.gutters=_(\"div\",null,\"CodeMirror-gutters\"),o.lineGutter=null,o.scroller=_(\"div\",[o.sizer,o.heightForcer,o.gutters],\"CodeMirror-scroll\"),o.scroller.setAttribute(\"tabIndex\",\"-1\"),o.wrapper=_(\"div\",[o.scrollbarFiller,o.gutterFiller,o.scroller],\"CodeMirror\"),a&&s<8&&(o.gutters.style.zIndex=-1,o.scroller.style.paddingRight=0),u||n&&y||(o.scroller.draggable=!0),e&&(e.appendChild?e.appendChild(o.wrapper):e(o.wrapper)),o.viewFrom=o.viewTo=t.first,o.reportedViewFrom=o.reportedViewTo=t.first,o.view=[],o.renderedView=null,o.externalMeasured=null,o.viewOffset=0,o.lastWrapHeight=o.lastWrapWidth=0,o.updateLineNumbers=null,o.nativeBarWidth=o.barHeight=o.barWidth=0,o.scrollbarsClipped=!1,o.lineNumWidth=o.lineNumInnerWidth=o.lineNumChars=null,o.alignWidgets=!1,o.cachedCharWidth=o.cachedTextHeight=o.cachedPaddingH=null,o.maxLine=null,o.maxLineLength=0,o.maxLineChanged=!1,o.wheelDX=o.wheelDY=o.wheelStartX=o.wheelStartY=null,o.shift=!1,o.selForContextMenu=null,o.activeTouch=null,o.gutterSpecs=di(i.gutters,i.lineNumbers),hi(o),r.init(o)}oi.prototype.signal=function(e,t){ye(e,t)&&this.events.push(arguments)},oi.prototype.finish=function(){for(var e=0;e<this.events.length;e++)he.apply(null,this.events[e])};var yi=0,vi=null;function bi(e){var t=e.wheelDeltaX,n=e.wheelDeltaY;return null==t&&e.detail&&e.axis==e.HORIZONTAL_AXIS&&(t=e.detail),null==n&&e.detail&&e.axis==e.VERTICAL_AXIS?n=e.detail:null==n&&(n=e.wheelDelta),{x:t,y:n}}function Ei(e){var t=bi(e);return t.x*=vi,t.y*=vi,t}function xi(e,t){var r=bi(t),i=r.x,o=r.y,a=e.display,s=a.scroller,c=s.scrollWidth>s.clientWidth,l=s.scrollHeight>s.clientHeight;if(i&&c||o&&l){if(o&&v&&u)e:for(var f=t.target,d=a.view;f!=s;f=f.parentNode)for(var h=0;h<d.length;h++)if(d[h].node==f){e.display.currentWheelTarget=f;break e}if(i&&!n&&!p&&null!=vi)return o&&l&&jr(e,Math.max(0,s.scrollTop+o*vi)),Pr(e,Math.max(0,s.scrollLeft+i*vi)),(!o||o&&l)&&be(t),void(a.wheelStartX=null);if(o&&null!=vi){var m=o*vi,g=e.doc.scrollTop,y=g+a.wrapper.clientHeight;m<0?g=Math.max(0,g+m-50):y=Math.min(e.doc.height,y+m+50),ui(e,{top:g,bottom:y})}yi<20&&(null==a.wheelStartX?(a.wheelStartX=s.scrollLeft,a.wheelStartY=s.scrollTop,a.wheelDX=i,a.wheelDY=o,setTimeout((function(){if(null!=a.wheelStartX){var e=s.scrollLeft-a.wheelStartX,t=s.scrollTop-a.wheelStartY,n=t&&a.wheelDY&&t/a.wheelDY||e&&a.wheelDX&&e/a.wheelDX;a.wheelStartX=a.wheelStartY=null,n&&(vi=(vi*yi+n)/(yi+1),++yi)}}),200)):(a.wheelDX+=i,a.wheelDY+=o))}}a?vi=-.53:n?vi=15:l?vi=-.7:f&&(vi=-1/3);var Di=function(e,t){this.ranges=e,this.primIndex=t};Di.prototype.primary=function(){return this.ranges[this.primIndex]},Di.prototype.equals=function(e){if(e==this)return!0;if(e.primIndex!=this.primIndex||e.ranges.length!=this.ranges.length)return!1;for(var t=0;t<this.ranges.length;t++){var n=this.ranges[t],r=e.ranges[t];if(!nt(n.anchor,r.anchor)||!nt(n.head,r.head))return!1}return!0},Di.prototype.deepCopy=function(){for(var e=[],t=0;t<this.ranges.length;t++)e[t]=new Ci(rt(this.ranges[t].anchor),rt(this.ranges[t].head));return new Di(e,this.primIndex)},Di.prototype.somethingSelected=function(){for(var e=0;e<this.ranges.length;e++)if(!this.ranges[e].empty())return!0;return!1},Di.prototype.contains=function(e,t){t||(t=e);for(var n=0;n<this.ranges.length;n++){var r=this.ranges[n];if(tt(t,r.from())>=0&&tt(e,r.to())<=0)return n}return-1};var Ci=function(e,t){this.anchor=e,this.head=t};function wi(e,t,n){var r=e&&e.options.selectionsMayTouch,i=t[n];t.sort((function(e,t){return tt(e.from(),t.from())})),n=U(t,i);for(var o=1;o<t.length;o++){var a=t[o],s=t[o-1],u=tt(s.to(),a.from());if(r&&!a.empty()?u>0:u>=0){var c=ot(s.from(),a.from()),l=it(s.to(),a.to()),p=s.empty()?a.from()==a.head:s.from()==s.head;o<=n&&--n,t.splice(--o,2,new Ci(p?l:c,p?c:l))}}return new Di(t,n)}function Si(e,t){return new Di([new Ci(e,t||e)],0)}function ki(e){return e.text?et(e.from.line+e.text.length-1,J(e.text).length+(1==e.text.length?e.from.ch:0)):e.to}function Ai(e,t){if(tt(e,t.from)<0)return e;if(tt(e,t.to)<=0)return ki(t);var n=e.line+t.text.length-(t.to.line-t.from.line)-1,r=e.ch;return e.line==t.to.line&&(r+=ki(t).ch-t.to.ch),et(n,r)}function Ti(e,t){for(var n=[],r=0;r<e.sel.ranges.length;r++){var i=e.sel.ranges[r];n.push(new Ci(Ai(i.anchor,t),Ai(i.head,t)))}return wi(e.cm,n,e.sel.primIndex)}function _i(e,t,n){return e.line==t.line?et(n.line,e.ch-t.ch+n.ch):et(n.line+(e.line-t.line),e.ch)}function Oi(e){e.doc.mode=Be(e.options,e.doc.modeOption),Fi(e)}function Fi(e){e.doc.iter((function(e){e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null)})),e.doc.modeFrontier=e.doc.highlightFrontier=e.doc.first,ri(e,100),e.state.modeGen++,e.curOp&&pr(e)}function Ni(e,t){return 0==t.from.ch&&0==t.to.ch&&\"\"==J(t.text)&&(!e.cm||e.cm.options.wholeLineUpdateBefore)}function Ii(e,t,n,r){function i(e){return n?n[e]:null}function o(e,n,i){!function(e,t,n,r){e.text=t,e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null),null!=e.order&&(e.order=null),Tt(e),_t(e,n);var i=r?r(e):1;i!=e.height&&Qe(e,i)}(e,n,i,r),un(e,\"change\",e,t)}function a(e,t){for(var n=[],o=e;o<t;++o)n.push(new Gt(c[o],i(o),r));return n}var s=t.from,u=t.to,c=t.text,l=Ge(e,s.line),p=Ge(e,u.line),f=J(c),d=i(c.length-1),h=u.line-s.line;if(t.full)e.insert(0,a(0,c.length)),e.remove(c.length,e.size-c.length);else if(Ni(e,t)){var m=a(0,c.length-1);o(p,p.text,d),h&&e.remove(s.line,h),m.length&&e.insert(s.line,m)}else if(l==p)if(1==c.length)o(l,l.text.slice(0,s.ch)+f+l.text.slice(u.ch),d);else{var g=a(1,c.length-1);g.push(new Gt(f+l.text.slice(u.ch),d,r)),o(l,l.text.slice(0,s.ch)+c[0],i(0)),e.insert(s.line+1,g)}else if(1==c.length)o(l,l.text.slice(0,s.ch)+c[0]+p.text.slice(u.ch),i(0)),e.remove(s.line+1,h);else{o(l,l.text.slice(0,s.ch)+c[0],i(0)),o(p,f+p.text.slice(u.ch),d);var y=a(1,c.length-1);h>1&&e.remove(s.line+1,h-1),e.insert(s.line+1,y)}un(e,\"change\",e,t)}function Mi(e,t,n){!function e(r,i,o){if(r.linked)for(var a=0;a<r.linked.length;++a){var s=r.linked[a];if(s.doc!=i){var u=o&&s.sharedHist;n&&!u||(t(s.doc,u),e(s.doc,r,u))}}}(e,null,!0)}function ji(e,t){if(t.cm)throw new Error(\"This document is already in use.\");e.doc=t,t.cm=e,ur(e),Oi(e),Li(e),e.options.lineWrapping||Wt(e),e.options.mode=t.modeOption,pr(e)}function Li(e){(\"rtl\"==e.doc.direction?I:k)(e.display.lineDiv,\"CodeMirror-rtl\")}function Pi(e){this.done=[],this.undone=[],this.undoDepth=1/0,this.lastModTime=this.lastSelTime=0,this.lastOp=this.lastSelOp=null,this.lastOrigin=this.lastSelOrigin=null,this.generation=this.maxGeneration=e||1}function Ri(e,t){var n={from:rt(t.from),to:ki(t),text:Ke(e,t.from,t.to)};return qi(e,n,t.from.line,t.to.line+1),Mi(e,(function(e){return qi(e,n,t.from.line,t.to.line+1)}),!0),n}function Bi(e){for(;e.length&&J(e).ranges;)e.pop()}function Ui(e,t,n,r){var i=e.history;i.undone.length=0;var o,a,s=+new Date;if((i.lastOp==r||i.lastOrigin==t.origin&&t.origin&&(\"+\"==t.origin.charAt(0)&&i.lastModTime>s-(e.cm?e.cm.options.historyEventDelay:500)||\"*\"==t.origin.charAt(0)))&&(o=function(e,t){return t?(Bi(e.done),J(e.done)):e.done.length&&!J(e.done).ranges?J(e.done):e.done.length>1&&!e.done[e.done.length-2].ranges?(e.done.pop(),J(e.done)):void 0}(i,i.lastOp==r)))a=J(o.changes),0==tt(t.from,t.to)&&0==tt(t.from,a.to)?a.to=ki(t):o.changes.push(Ri(e,t));else{var u=J(i.done);for(u&&u.ranges||Vi(e.sel,i.done),o={changes:[Ri(e,t)],generation:i.generation},i.done.push(o);i.done.length>i.undoDepth;)i.done.shift(),i.done[0].ranges||i.done.shift()}i.done.push(n),i.generation=++i.maxGeneration,i.lastModTime=i.lastSelTime=s,i.lastOp=i.lastSelOp=r,i.lastOrigin=i.lastSelOrigin=t.origin,a||he(e,\"historyAdded\")}function zi(e,t,n,r){var i=e.history,o=r&&r.origin;n==i.lastSelOp||o&&i.lastSelOrigin==o&&(i.lastModTime==i.lastSelTime&&i.lastOrigin==o||function(e,t,n,r){var i=t.charAt(0);return\"*\"==i||\"+\"==i&&n.ranges.length==r.ranges.length&&n.somethingSelected()==r.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}(e,o,J(i.done),t))?i.done[i.done.length-1]=t:Vi(t,i.done),i.lastSelTime=+new Date,i.lastSelOrigin=o,i.lastSelOp=n,r&&!1!==r.clearRedo&&Bi(i.undone)}function Vi(e,t){var n=J(t);n&&n.ranges&&n.equals(e)||t.push(e)}function qi(e,t,n,r){var i=t[\"spans_\"+e.id],o=0;e.iter(Math.max(e.first,n),Math.min(e.first+e.size,r),(function(n){n.markedSpans&&((i||(i=t[\"spans_\"+e.id]={}))[o]=n.markedSpans),++o}))}function Hi(e){if(!e)return null;for(var t,n=0;n<e.length;++n)e[n].marker.explicitlyCleared?t||(t=e.slice(0,n)):t&&t.push(e[n]);return t?t.length?t:null:e}function Wi(e,t){var n=function(e,t){var n=t[\"spans_\"+e.id];if(!n)return null;for(var r=[],i=0;i<t.text.length;++i)r.push(Hi(n[i]));return r}(e,t),r=kt(e,t);if(!n)return r;if(!r)return n;for(var i=0;i<n.length;++i){var o=n[i],a=r[i];if(o&&a)e:for(var s=0;s<a.length;++s){for(var u=a[s],c=0;c<o.length;++c)if(o[c].marker==u.marker)continue e;o.push(u)}else a&&(n[i]=a)}return n}function Gi(e,t,n){for(var r=[],i=0;i<e.length;++i){var o=e[i];if(o.ranges)r.push(n?Di.prototype.deepCopy.call(o):o);else{var a=o.changes,s=[];r.push({changes:s});for(var u=0;u<a.length;++u){var c=a[u],l=void 0;if(s.push({from:c.from,to:c.to,text:c.text}),t)for(var p in c)(l=p.match(/^spans_(\\d+)$/))&&U(t,Number(l[1]))>-1&&(J(s)[p]=c[p],delete c[p])}}}return r}function Ki(e,t,n,r){if(r){var i=e.anchor;if(n){var o=tt(t,i)<0;o!=tt(n,i)<0?(i=t,t=n):o!=tt(t,n)<0&&(t=n)}return new Ci(i,t)}return new Ci(n||t,t)}function Ji(e,t,n,r,i){null==i&&(i=e.cm&&(e.cm.display.shift||e.extend)),Zi(e,new Di([Ki(e.sel.primary(),t,n,i)],0),r)}function Qi(e,t,n){for(var r=[],i=e.cm&&(e.cm.display.shift||e.extend),o=0;o<e.sel.ranges.length;o++)r[o]=Ki(e.sel.ranges[o],t[o],null,i);Zi(e,wi(e.cm,r,e.sel.primIndex),n)}function Yi(e,t,n,r){var i=e.sel.ranges.slice(0);i[t]=n,Zi(e,wi(e.cm,i,e.sel.primIndex),r)}function $i(e,t,n,r){Zi(e,Si(t,n),r)}function Xi(e,t,n){var r=e.history.done,i=J(r);i&&i.ranges?(r[r.length-1]=t,eo(e,t,n)):Zi(e,t,n)}function Zi(e,t,n){eo(e,t,n),zi(e,e.sel,e.cm?e.cm.curOp.id:NaN,n)}function eo(e,t,n){(ye(e,\"beforeSelectionChange\")||e.cm&&ye(e.cm,\"beforeSelectionChange\"))&&(t=function(e,t,n){var r={ranges:t.ranges,update:function(t){this.ranges=[];for(var n=0;n<t.length;n++)this.ranges[n]=new Ci(st(e,t[n].anchor),st(e,t[n].head))},origin:n&&n.origin};return he(e,\"beforeSelectionChange\",e,r),e.cm&&he(e.cm,\"beforeSelectionChange\",e.cm,r),r.ranges!=t.ranges?wi(e.cm,r.ranges,r.ranges.length-1):t}(e,t,n));var r=n&&n.bias||(tt(t.primary().head,e.sel.primary().head)<0?-1:1);to(e,ro(e,t,r,!0)),n&&!1===n.scroll||!e.cm||Fr(e.cm)}function to(e,t){t.equals(e.sel)||(e.sel=t,e.cm&&(e.cm.curOp.updateInput=1,e.cm.curOp.selectionChanged=!0,ge(e.cm)),un(e,\"cursorActivity\",e))}function no(e){to(e,ro(e,e.sel,null,!1))}function ro(e,t,n,r){for(var i,o=0;o<t.ranges.length;o++){var a=t.ranges[o],s=t.ranges.length==e.sel.ranges.length&&e.sel.ranges[o],u=oo(e,a.anchor,s&&s.anchor,n,r),c=oo(e,a.head,s&&s.head,n,r);(i||u!=a.anchor||c!=a.head)&&(i||(i=t.ranges.slice(0,o)),i[o]=new Ci(u,c))}return i?wi(e.cm,i,t.primIndex):t}function io(e,t,n,r,i){var o=Ge(e,t.line);if(o.markedSpans)for(var a=0;a<o.markedSpans.length;++a){var s=o.markedSpans[a],u=s.marker,c=\"selectLeft\"in u?!u.selectLeft:u.inclusiveLeft,l=\"selectRight\"in u?!u.selectRight:u.inclusiveRight;if((null==s.from||(c?s.from<=t.ch:s.from<t.ch))&&(null==s.to||(l?s.to>=t.ch:s.to>t.ch))){if(i&&(he(u,\"beforeCursorEnter\"),u.explicitlyCleared)){if(o.markedSpans){--a;continue}break}if(!u.atomic)continue;if(n){var p=u.find(r<0?1:-1),f=void 0;if((r<0?l:c)&&(p=ao(e,p,-r,p&&p.line==t.line?o:null)),p&&p.line==t.line&&(f=tt(p,n))&&(r<0?f<0:f>0))return io(e,p,t,r,i)}var d=u.find(r<0?-1:1);return(r<0?c:l)&&(d=ao(e,d,r,d.line==t.line?o:null)),d?io(e,d,t,r,i):null}}return t}function oo(e,t,n,r,i){var o=r||1,a=io(e,t,n,o,i)||!i&&io(e,t,n,o,!0)||io(e,t,n,-o,i)||!i&&io(e,t,n,-o,!0);return a||(e.cantEdit=!0,et(e.first,0))}function ao(e,t,n,r){return n<0&&0==t.ch?t.line>e.first?st(e,et(t.line-1)):null:n>0&&t.ch==(r||Ge(e,t.line)).text.length?t.line<e.first+e.size-1?et(t.line+1,0):null:new et(t.line,t.ch+n)}function so(e){e.setSelection(et(e.firstLine(),0),et(e.lastLine()),V)}function uo(e,t,n){var r={canceled:!1,from:t.from,to:t.to,text:t.text,origin:t.origin,cancel:function(){return r.canceled=!0}};return n&&(r.update=function(t,n,i,o){t&&(r.from=st(e,t)),n&&(r.to=st(e,n)),i&&(r.text=i),void 0!==o&&(r.origin=o)}),he(e,\"beforeChange\",e,r),e.cm&&he(e.cm,\"beforeChange\",e.cm,r),r.canceled?(e.cm&&(e.cm.curOp.updateInput=2),null):{from:r.from,to:r.to,text:r.text,origin:r.origin}}function co(e,t,n){if(e.cm){if(!e.cm.curOp)return ei(e.cm,co)(e,t,n);if(e.cm.state.suppressEdits)return}if(!(ye(e,\"beforeChange\")||e.cm&&ye(e.cm,\"beforeChange\"))||(t=uo(e,t,!0))){var r=xt&&!n&&function(e,t,n){var r=null;if(e.iter(t.line,n.line+1,(function(e){if(e.markedSpans)for(var t=0;t<e.markedSpans.length;++t){var n=e.markedSpans[t].marker;!n.readOnly||r&&-1!=U(r,n)||(r||(r=[])).push(n)}})),!r)return null;for(var i=[{from:t,to:n}],o=0;o<r.length;++o)for(var a=r[o],s=a.find(0),u=0;u<i.length;++u){var c=i[u];if(!(tt(c.to,s.from)<0||tt(c.from,s.to)>0)){var l=[u,1],p=tt(c.from,s.from),f=tt(c.to,s.to);(p<0||!a.inclusiveLeft&&!p)&&l.push({from:c.from,to:s.from}),(f>0||!a.inclusiveRight&&!f)&&l.push({from:s.to,to:c.to}),i.splice.apply(i,l),u+=l.length-3}}return i}(e,t.from,t.to);if(r)for(var i=r.length-1;i>=0;--i)lo(e,{from:r[i].from,to:r[i].to,text:i?[\"\"]:t.text,origin:t.origin});else lo(e,t)}}function lo(e,t){if(1!=t.text.length||\"\"!=t.text[0]||0!=tt(t.from,t.to)){var n=Ti(e,t);Ui(e,t,n,e.cm?e.cm.curOp.id:NaN),ho(e,t,n,kt(e,t));var r=[];Mi(e,(function(e,n){n||-1!=U(r,e.history)||(vo(e.history,t),r.push(e.history)),ho(e,t,null,kt(e,t))}))}}function po(e,t,n){var r=e.cm&&e.cm.state.suppressEdits;if(!r||n){for(var i,o=e.history,a=e.sel,s=\"undo\"==t?o.done:o.undone,u=\"undo\"==t?o.undone:o.done,c=0;c<s.length&&(i=s[c],n?!i.ranges||i.equals(e.sel):i.ranges);c++);if(c!=s.length){for(o.lastOrigin=o.lastSelOrigin=null;;){if(!(i=s.pop()).ranges){if(r)return void s.push(i);break}if(Vi(i,u),n&&!i.equals(e.sel))return void Zi(e,i,{clearRedo:!1});a=i}var l=[];Vi(a,u),u.push({changes:l,generation:o.generation}),o.generation=i.generation||++o.maxGeneration;for(var p=ye(e,\"beforeChange\")||e.cm&&ye(e.cm,\"beforeChange\"),f=function(n){var r=i.changes[n];if(r.origin=t,p&&!uo(e,r,!1))return s.length=0,{};l.push(Ri(e,r));var o=n?Ti(e,r):J(s);ho(e,r,o,Wi(e,r)),!n&&e.cm&&e.cm.scrollIntoView({from:r.from,to:ki(r)});var a=[];Mi(e,(function(e,t){t||-1!=U(a,e.history)||(vo(e.history,r),a.push(e.history)),ho(e,r,null,Wi(e,r))}))},d=i.changes.length-1;d>=0;--d){var h=f(d);if(h)return h.v}}}}function fo(e,t){if(0!=t&&(e.first+=t,e.sel=new Di(Q(e.sel.ranges,(function(e){return new Ci(et(e.anchor.line+t,e.anchor.ch),et(e.head.line+t,e.head.ch))})),e.sel.primIndex),e.cm)){pr(e.cm,e.first,e.first-t,t);for(var n=e.cm.display,r=n.viewFrom;r<n.viewTo;r++)fr(e.cm,r,\"gutter\")}}function ho(e,t,n,r){if(e.cm&&!e.cm.curOp)return ei(e.cm,ho)(e,t,n,r);if(t.to.line<e.first)fo(e,t.text.length-1-(t.to.line-t.from.line));else if(!(t.from.line>e.lastLine())){if(t.from.line<e.first){var i=t.text.length-1-(e.first-t.from.line);fo(e,i),t={from:et(e.first,0),to:et(t.to.line+i,t.to.ch),text:[J(t.text)],origin:t.origin}}var o=e.lastLine();t.to.line>o&&(t={from:t.from,to:et(o,Ge(e,o).text.length),text:[t.text[0]],origin:t.origin}),t.removed=Ke(e,t.from,t.to),n||(n=Ti(e,t)),e.cm?function(e,t,n){var r=e.doc,i=e.display,o=t.from,a=t.to,s=!1,u=o.line;e.options.lineWrapping||(u=Ye(Rt(Ge(r,o.line))),r.iter(u,a.line+1,(function(e){if(e==i.maxLine)return s=!0,!0}))),r.sel.contains(t.from,t.to)>-1&&ge(e),Ii(r,t,n,sr(e)),e.options.lineWrapping||(r.iter(u,o.line+t.text.length,(function(e){var t=Ht(e);t>i.maxLineLength&&(i.maxLine=e,i.maxLineLength=t,i.maxLineChanged=!0,s=!1)})),s&&(e.curOp.updateMaxLine=!0)),function(e,t){if(e.modeFrontier=Math.min(e.modeFrontier,t),!(e.highlightFrontier<t-10)){for(var n=e.first,r=t-1;r>n;r--){var i=Ge(e,r).stateAfter;if(i&&(!(i instanceof ct)||r+i.lookAhead<t)){n=r+1;break}}e.highlightFrontier=Math.min(e.highlightFrontier,n)}}(r,o.line),ri(e,400);var c=t.text.length-(a.line-o.line)-1;t.full?pr(e):o.line!=a.line||1!=t.text.length||Ni(e.doc,t)?pr(e,o.line,a.line+1,c):fr(e,o.line,\"text\");var l=ye(e,\"changes\"),p=ye(e,\"change\");if(p||l){var f={from:o,to:a,text:t.text,removed:t.removed,origin:t.origin};p&&un(e,\"change\",e,f),l&&(e.curOp.changeObjs||(e.curOp.changeObjs=[])).push(f)}e.display.selForContextMenu=null}(e.cm,t,r):Ii(e,t,r),eo(e,n,V),e.cantEdit&&oo(e,et(e.firstLine(),0))&&(e.cantEdit=!1)}}function mo(e,t,n,r,i){var o;r||(r=n),tt(r,n)<0&&(n=(o=[r,n])[0],r=o[1]),\"string\"==typeof t&&(t=e.splitLines(t)),co(e,{from:n,to:r,text:t,origin:i})}function go(e,t,n,r){n<e.line?e.line+=r:t<e.line&&(e.line=t,e.ch=0)}function yo(e,t,n,r){for(var i=0;i<e.length;++i){var o=e[i],a=!0;if(o.ranges){o.copied||((o=e[i]=o.deepCopy()).copied=!0);for(var s=0;s<o.ranges.length;s++)go(o.ranges[s].anchor,t,n,r),go(o.ranges[s].head,t,n,r)}else{for(var u=0;u<o.changes.length;++u){var c=o.changes[u];if(n<c.from.line)c.from=et(c.from.line+r,c.from.ch),c.to=et(c.to.line+r,c.to.ch);else if(t<=c.to.line){a=!1;break}}a||(e.splice(0,i+1),i=0)}}}function vo(e,t){var n=t.from.line,r=t.to.line,i=t.text.length-(r-n)-1;yo(e.done,n,r,i),yo(e.undone,n,r,i)}function bo(e,t,n,r){var i=t,o=t;return\"number\"==typeof t?o=Ge(e,at(e,t)):i=Ye(t),null==i?null:(r(o,i)&&e.cm&&fr(e.cm,i,n),o)}function Eo(e){this.lines=e,this.parent=null;for(var t=0,n=0;n<e.length;++n)e[n].parent=this,t+=e[n].height;this.height=t}function xo(e){this.children=e;for(var t=0,n=0,r=0;r<e.length;++r){var i=e[r];t+=i.chunkSize(),n+=i.height,i.parent=this}this.size=t,this.height=n,this.parent=null}Ci.prototype.from=function(){return ot(this.anchor,this.head)},Ci.prototype.to=function(){return it(this.anchor,this.head)},Ci.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch},Eo.prototype={chunkSize:function(){return this.lines.length},removeInner:function(e,t){for(var n=e,r=e+t;n<r;++n){var i=this.lines[n];this.height-=i.height,Kt(i),un(i,\"delete\")}this.lines.splice(e,t)},collapse:function(e){e.push.apply(e,this.lines)},insertInner:function(e,t,n){this.height+=n,this.lines=this.lines.slice(0,e).concat(t).concat(this.lines.slice(e));for(var r=0;r<t.length;++r)t[r].parent=this},iterN:function(e,t,n){for(var r=e+t;e<r;++e)if(n(this.lines[e]))return!0}},xo.prototype={chunkSize:function(){return this.size},removeInner:function(e,t){this.size-=t;for(var n=0;n<this.children.length;++n){var r=this.children[n],i=r.chunkSize();if(e<i){var o=Math.min(t,i-e),a=r.height;if(r.removeInner(e,o),this.height-=a-r.height,i==o&&(this.children.splice(n--,1),r.parent=null),0==(t-=o))break;e=0}else e-=i}if(this.size-t<25&&(this.children.length>1||!(this.children[0]instanceof Eo))){var s=[];this.collapse(s),this.children=[new Eo(s)],this.children[0].parent=this}},collapse:function(e){for(var t=0;t<this.children.length;++t)this.children[t].collapse(e)},insertInner:function(e,t,n){this.size+=t.length,this.height+=n;for(var r=0;r<this.children.length;++r){var i=this.children[r],o=i.chunkSize();if(e<=o){if(i.insertInner(e,t,n),i.lines&&i.lines.length>50){for(var a=i.lines.length%25+25,s=a;s<i.lines.length;){var u=new Eo(i.lines.slice(s,s+=25));i.height-=u.height,this.children.splice(++r,0,u),u.parent=this}i.lines=i.lines.slice(0,a),this.maybeSpill()}break}e-=o}},maybeSpill:function(){if(!(this.children.length<=10)){var e=this;do{var t=new xo(e.children.splice(e.children.length-5,5));if(e.parent){e.size-=t.size,e.height-=t.height;var n=U(e.parent.children,e);e.parent.children.splice(n+1,0,t)}else{var r=new xo(e.children);r.parent=e,e.children=[r,t],e=r}t.parent=e.parent}while(e.children.length>10);e.parent.maybeSpill()}},iterN:function(e,t,n){for(var r=0;r<this.children.length;++r){var i=this.children[r],o=i.chunkSize();if(e<o){var a=Math.min(t,o-e);if(i.iterN(e,a,n))return!0;if(0==(t-=a))break;e=0}else e-=o}}};var Do=function(e,t,n){if(n)for(var r in n)n.hasOwnProperty(r)&&(this[r]=n[r]);this.doc=e,this.node=t};function Co(e,t,n){qt(t)<(e.curOp&&e.curOp.scrollTop||e.doc.scrollTop)&&Or(e,n)}Do.prototype.clear=function(){var e=this.doc.cm,t=this.line.widgets,n=this.line,r=Ye(n);if(null!=r&&t){for(var i=0;i<t.length;++i)t[i]==this&&t.splice(i--,1);t.length||(n.widgets=null);var o=xn(this);Qe(n,Math.max(0,n.height-o)),e&&(Zr(e,(function(){Co(e,n,-o),fr(e,r,\"widget\")})),un(e,\"lineWidgetCleared\",e,this,r))}},Do.prototype.changed=function(){var e=this,t=this.height,n=this.doc.cm,r=this.line;this.height=null;var i=xn(this)-t;i&&(zt(this.doc,r)||Qe(r,r.height+i),n&&Zr(n,(function(){n.curOp.forceUpdate=!0,Co(n,r,i),un(n,\"lineWidgetChanged\",n,e,Ye(r))})))},ve(Do);var wo=0,So=function(e,t){this.lines=[],this.type=t,this.doc=e,this.id=++wo};function ko(e,t,n,r,i){if(r&&r.shared)return function(e,t,n,r,i){(r=P(r)).shared=!1;var o=[ko(e,t,n,r,i)],a=o[0],s=r.widgetNode;return Mi(e,(function(e){s&&(r.widgetNode=s.cloneNode(!0)),o.push(ko(e,st(e,t),st(e,n),r,i));for(var u=0;u<e.linked.length;++u)if(e.linked[u].isParent)return;a=J(o)})),new Ao(o,a)}(e,t,n,r,i);if(e.cm&&!e.cm.curOp)return ei(e.cm,ko)(e,t,n,r,i);var o=new So(e,i),a=tt(t,n);if(r&&P(r,o,!1),a>0||0==a&&!1!==o.clearWhenEmpty)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=O(\"span\",[o.replacedWith],\"CodeMirror-widget\"),r.handleMouseEvents||o.widgetNode.setAttribute(\"cm-ignore-events\",\"true\"),r.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(Pt(e,t.line,t,n,o)||t.line!=n.line&&Pt(e,n.line,t,n,o))throw new Error(\"Inserting collapsed marker partially overlapping an existing one\");Dt=!0}o.addToHistory&&Ui(e,{from:t,to:n,origin:\"markText\"},e.sel,NaN);var s,u=t.line,c=e.cm;if(e.iter(u,n.line+1,(function(e){c&&o.collapsed&&!c.options.lineWrapping&&Rt(e)==c.display.maxLine&&(s=!0),o.collapsed&&u!=t.line&&Qe(e,0),function(e,t){e.markedSpans=e.markedSpans?e.markedSpans.concat([t]):[t],t.marker.attachLine(e)}(e,new Ct(o,u==t.line?t.ch:null,u==n.line?n.ch:null)),++u})),o.collapsed&&e.iter(t.line,n.line+1,(function(t){zt(e,t)&&Qe(t,0)})),o.clearOnEnter&&pe(o,\"beforeCursorEnter\",(function(){return o.clear()})),o.readOnly&&(xt=!0,(e.history.done.length||e.history.undone.length)&&e.clearHistory()),o.collapsed&&(o.id=++wo,o.atomic=!0),c){if(s&&(c.curOp.updateMaxLine=!0),o.collapsed)pr(c,t.line,n.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var l=t.line;l<=n.line;l++)fr(c,l,\"text\");o.atomic&&no(c.doc),un(c,\"markerAdded\",c,o)}return o}So.prototype.clear=function(){if(!this.explicitlyCleared){var e=this.doc.cm,t=e&&!e.curOp;if(t&&Gr(e),ye(this,\"clear\")){var n=this.find();n&&un(this,\"clear\",n.from,n.to)}for(var r=null,i=null,o=0;o<this.lines.length;++o){var a=this.lines[o],s=wt(a.markedSpans,this);e&&!this.collapsed?fr(e,Ye(a),\"text\"):e&&(null!=s.to&&(i=Ye(a)),null!=s.from&&(r=Ye(a))),a.markedSpans=St(a.markedSpans,s),null==s.from&&this.collapsed&&!zt(this.doc,a)&&e&&Qe(a,rr(e.display))}if(e&&this.collapsed&&!e.options.lineWrapping)for(var u=0;u<this.lines.length;++u){var c=Rt(this.lines[u]),l=Ht(c);l>e.display.maxLineLength&&(e.display.maxLine=c,e.display.maxLineLength=l,e.display.maxLineChanged=!0)}null!=r&&e&&this.collapsed&&pr(e,r,i+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&no(e.doc)),e&&un(e,\"markerCleared\",e,this,r,i),t&&Kr(e),this.parent&&this.parent.clear()}},So.prototype.find=function(e,t){var n,r;null==e&&\"bookmark\"==this.type&&(e=1);for(var i=0;i<this.lines.length;++i){var o=this.lines[i],a=wt(o.markedSpans,this);if(null!=a.from&&(n=et(t?o:Ye(o),a.from),-1==e))return n;if(null!=a.to&&(r=et(t?o:Ye(o),a.to),1==e))return r}return n&&{from:n,to:r}},So.prototype.changed=function(){var e=this,t=this.find(-1,!0),n=this,r=this.doc.cm;t&&r&&Zr(r,(function(){var i=t.line,o=Ye(t.line),a=Fn(r,o);if(a&&(Rn(a),r.curOp.selectionChanged=r.curOp.forceUpdate=!0),r.curOp.updateMaxLine=!0,!zt(n.doc,i)&&null!=n.height){var s=n.height;n.height=null;var u=xn(n)-s;u&&Qe(i,i.height+u)}un(r,\"markerChanged\",r,e)}))},So.prototype.attachLine=function(e){if(!this.lines.length&&this.doc.cm){var t=this.doc.cm.curOp;t.maybeHiddenMarkers&&-1!=U(t.maybeHiddenMarkers,this)||(t.maybeUnhiddenMarkers||(t.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(e)},So.prototype.detachLine=function(e){if(this.lines.splice(U(this.lines,e),1),!this.lines.length&&this.doc.cm){var t=this.doc.cm.curOp;(t.maybeHiddenMarkers||(t.maybeHiddenMarkers=[])).push(this)}},ve(So);var Ao=function(e,t){this.markers=e,this.primary=t;for(var n=0;n<e.length;++n)e[n].parent=this};function To(e){return e.findMarks(et(e.first,0),e.clipPos(et(e.lastLine())),(function(e){return e.parent}))}function _o(e){for(var t=function(t){var n=e[t],r=[n.primary.doc];Mi(n.primary.doc,(function(e){return r.push(e)}));for(var i=0;i<n.markers.length;i++){var o=n.markers[i];-1==U(r,o.doc)&&(o.parent=null,n.markers.splice(i--,1))}},n=0;n<e.length;n++)t(n)}Ao.prototype.clear=function(){if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var e=0;e<this.markers.length;++e)this.markers[e].clear();un(this,\"clear\")}},Ao.prototype.find=function(e,t){return this.primary.find(e,t)},ve(Ao);var Oo=0,Fo=function(e,t,n,r,i){if(!(this instanceof Fo))return new Fo(e,t,n,r,i);null==n&&(n=0),xo.call(this,[new Eo([new Gt(\"\",null)])]),this.first=n,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,this.modeFrontier=this.highlightFrontier=n;var o=et(n,0);this.sel=Si(o),this.history=new Pi(null),this.id=++Oo,this.modeOption=t,this.lineSep=r,this.direction=\"rtl\"==i?\"rtl\":\"ltr\",this.extend=!1,\"string\"==typeof e&&(e=this.splitLines(e)),Ii(this,{from:o,to:o,text:e}),Zi(this,Si(o),V)};Fo.prototype=$(xo.prototype,{constructor:Fo,iter:function(e,t,n){n?this.iterN(e-this.first,t-e,n):this.iterN(this.first,this.first+this.size,e)},insert:function(e,t){for(var n=0,r=0;r<t.length;++r)n+=t[r].height;this.insertInner(e-this.first,t,n)},remove:function(e,t){this.removeInner(e-this.first,t)},getValue:function(e){var t=Je(this,this.first,this.first+this.size);return!1===e?t:t.join(e||this.lineSeparator())},setValue:ni((function(e){var t=et(this.first,0),n=this.first+this.size-1;co(this,{from:t,to:et(n,Ge(this,n).text.length),text:this.splitLines(e),origin:\"setValue\",full:!0},!0),this.cm&&Nr(this.cm,0,0),Zi(this,Si(t),V)})),replaceRange:function(e,t,n,r){mo(this,e,t=st(this,t),n=n?st(this,n):t,r)},getRange:function(e,t,n){var r=Ke(this,st(this,e),st(this,t));return!1===n?r:r.join(n||this.lineSeparator())},getLine:function(e){var t=this.getLineHandle(e);return t&&t.text},getLineHandle:function(e){if(Xe(this,e))return Ge(this,e)},getLineNumber:function(e){return Ye(e)},getLineHandleVisualStart:function(e){return\"number\"==typeof e&&(e=Ge(this,e)),Rt(e)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(e){return st(this,e)},getCursor:function(e){var t=this.sel.primary();return null==e||\"head\"==e?t.head:\"anchor\"==e?t.anchor:\"end\"==e||\"to\"==e||!1===e?t.to():t.from()},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:ni((function(e,t,n){$i(this,st(this,\"number\"==typeof e?et(e,t||0):e),null,n)})),setSelection:ni((function(e,t,n){$i(this,st(this,e),st(this,t||e),n)})),extendSelection:ni((function(e,t,n){Ji(this,st(this,e),t&&st(this,t),n)})),extendSelections:ni((function(e,t){Qi(this,ut(this,e),t)})),extendSelectionsBy:ni((function(e,t){Qi(this,ut(this,Q(this.sel.ranges,e)),t)})),setSelections:ni((function(e,t,n){if(e.length){for(var r=[],i=0;i<e.length;i++)r[i]=new Ci(st(this,e[i].anchor),st(this,e[i].head));null==t&&(t=Math.min(e.length-1,this.sel.primIndex)),Zi(this,wi(this.cm,r,t),n)}})),addSelection:ni((function(e,t,n){var r=this.sel.ranges.slice(0);r.push(new Ci(st(this,e),st(this,t||e))),Zi(this,wi(this.cm,r,r.length-1),n)})),getSelection:function(e){for(var t,n=this.sel.ranges,r=0;r<n.length;r++){var i=Ke(this,n[r].from(),n[r].to());t=t?t.concat(i):i}return!1===e?t:t.join(e||this.lineSeparator())},getSelections:function(e){for(var t=[],n=this.sel.ranges,r=0;r<n.length;r++){var i=Ke(this,n[r].from(),n[r].to());!1!==e&&(i=i.join(e||this.lineSeparator())),t[r]=i}return t},replaceSelection:function(e,t,n){for(var r=[],i=0;i<this.sel.ranges.length;i++)r[i]=e;this.replaceSelections(r,t,n||\"+input\")},replaceSelections:ni((function(e,t,n){for(var r=[],i=this.sel,o=0;o<i.ranges.length;o++){var a=i.ranges[o];r[o]={from:a.from(),to:a.to(),text:this.splitLines(e[o]),origin:n}}for(var s=t&&\"end\"!=t&&function(e,t,n){for(var r=[],i=et(e.first,0),o=i,a=0;a<t.length;a++){var s=t[a],u=_i(s.from,i,o),c=_i(ki(s),i,o);if(i=s.to,o=c,\"around\"==n){var l=e.sel.ranges[a],p=tt(l.head,l.anchor)<0;r[a]=new Ci(p?c:u,p?u:c)}else r[a]=new Ci(u,u)}return new Di(r,e.sel.primIndex)}(this,r,t),u=r.length-1;u>=0;u--)co(this,r[u]);s?Xi(this,s):this.cm&&Fr(this.cm)})),undo:ni((function(){po(this,\"undo\")})),redo:ni((function(){po(this,\"redo\")})),undoSelection:ni((function(){po(this,\"undo\",!0)})),redoSelection:ni((function(){po(this,\"redo\",!0)})),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,n=0,r=0;r<e.done.length;r++)e.done[r].ranges||++t;for(var i=0;i<e.undone.length;i++)e.undone[i].ranges||++n;return{undo:t,redo:n}},clearHistory:function(){var e=this;this.history=new Pi(this.history.maxGeneration),Mi(this,(function(t){return t.history=e.history}),!0)},markClean:function(){this.cleanGeneration=this.changeGeneration(!0)},changeGeneration:function(e){return e&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null),this.history.generation},isClean:function(e){return this.history.generation==(e||this.cleanGeneration)},getHistory:function(){return{done:Gi(this.history.done),undone:Gi(this.history.undone)}},setHistory:function(e){var t=this.history=new Pi(this.history.maxGeneration);t.done=Gi(e.done.slice(0),null,!0),t.undone=Gi(e.undone.slice(0),null,!0)},setGutterMarker:ni((function(e,t,n){return bo(this,e,\"gutter\",(function(e){var r=e.gutterMarkers||(e.gutterMarkers={});return r[t]=n,!n&&te(r)&&(e.gutterMarkers=null),!0}))})),clearGutter:ni((function(e){var t=this;this.iter((function(n){n.gutterMarkers&&n.gutterMarkers[e]&&bo(t,n,\"gutter\",(function(){return n.gutterMarkers[e]=null,te(n.gutterMarkers)&&(n.gutterMarkers=null),!0}))}))})),lineInfo:function(e){var t;if(\"number\"==typeof e){if(!Xe(this,e))return null;if(t=e,!(e=Ge(this,e)))return null}else if(null==(t=Ye(e)))return null;return{line:t,handle:e,text:e.text,gutterMarkers:e.gutterMarkers,textClass:e.textClass,bgClass:e.bgClass,wrapClass:e.wrapClass,widgets:e.widgets}},addLineClass:ni((function(e,t,n){return bo(this,e,\"gutter\"==t?\"gutter\":\"class\",(function(e){var r=\"text\"==t?\"textClass\":\"background\"==t?\"bgClass\":\"gutter\"==t?\"gutterClass\":\"wrapClass\";if(e[r]){if(w(n).test(e[r]))return!1;e[r]+=\" \"+n}else e[r]=n;return!0}))})),removeLineClass:ni((function(e,t,n){return bo(this,e,\"gutter\"==t?\"gutter\":\"class\",(function(e){var r=\"text\"==t?\"textClass\":\"background\"==t?\"bgClass\":\"gutter\"==t?\"gutterClass\":\"wrapClass\",i=e[r];if(!i)return!1;if(null==n)e[r]=null;else{var o=i.match(w(n));if(!o)return!1;var a=o.index+o[0].length;e[r]=i.slice(0,o.index)+(o.index&&a!=i.length?\" \":\"\")+i.slice(a)||null}return!0}))})),addLineWidget:ni((function(e,t,n){return function(e,t,n,r){var i=new Do(e,n,r),o=e.cm;return o&&i.noHScroll&&(o.display.alignWidgets=!0),bo(e,t,\"widget\",(function(t){var n=t.widgets||(t.widgets=[]);if(null==i.insertAt?n.push(i):n.splice(Math.min(n.length-1,Math.max(0,i.insertAt)),0,i),i.line=t,o&&!zt(e,t)){var r=qt(t)<e.scrollTop;Qe(t,t.height+xn(i)),r&&Or(o,i.height),o.curOp.forceUpdate=!0}return!0})),o&&un(o,\"lineWidgetAdded\",o,i,\"number\"==typeof t?t:Ye(t)),i}(this,e,t,n)})),removeLineWidget:function(e){e.clear()},markText:function(e,t,n){return ko(this,st(this,e),st(this,t),n,n&&n.type||\"range\")},setBookmark:function(e,t){var n={replacedWith:t&&(null==t.nodeType?t.widget:t),insertLeft:t&&t.insertLeft,clearWhenEmpty:!1,shared:t&&t.shared,handleMouseEvents:t&&t.handleMouseEvents};return ko(this,e=st(this,e),e,n,\"bookmark\")},findMarksAt:function(e){var t=[],n=Ge(this,(e=st(this,e)).line).markedSpans;if(n)for(var r=0;r<n.length;++r){var i=n[r];(null==i.from||i.from<=e.ch)&&(null==i.to||i.to>=e.ch)&&t.push(i.marker.parent||i.marker)}return t},findMarks:function(e,t,n){e=st(this,e),t=st(this,t);var r=[],i=e.line;return this.iter(e.line,t.line+1,(function(o){var a=o.markedSpans;if(a)for(var s=0;s<a.length;s++){var u=a[s];null!=u.to&&i==e.line&&e.ch>=u.to||null==u.from&&i!=e.line||null!=u.from&&i==t.line&&u.from>=t.ch||n&&!n(u.marker)||r.push(u.marker.parent||u.marker)}++i})),r},getAllMarks:function(){var e=[];return this.iter((function(t){var n=t.markedSpans;if(n)for(var r=0;r<n.length;++r)null!=n[r].from&&e.push(n[r].marker)})),e},posFromIndex:function(e){var t,n=this.first,r=this.lineSeparator().length;return this.iter((function(i){var o=i.text.length+r;if(o>e)return t=e,!0;e-=o,++n})),st(this,et(n,t))},indexFromPos:function(e){var t=(e=st(this,e)).ch;if(e.line<this.first||e.ch<0)return 0;var n=this.lineSeparator().length;return this.iter(this.first,e.line,(function(e){t+=e.text.length+n})),t},copy:function(e){var t=new Fo(Je(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);return t.scrollTop=this.scrollTop,t.scrollLeft=this.scrollLeft,t.sel=this.sel,t.extend=!1,e&&(t.history.undoDepth=this.history.undoDepth,t.setHistory(this.getHistory())),t},linkedDoc:function(e){e||(e={});var t=this.first,n=this.first+this.size;null!=e.from&&e.from>t&&(t=e.from),null!=e.to&&e.to<n&&(n=e.to);var r=new Fo(Je(this,t,n),e.mode||this.modeOption,t,this.lineSep,this.direction);return e.sharedHist&&(r.history=this.history),(this.linked||(this.linked=[])).push({doc:r,sharedHist:e.sharedHist}),r.linked=[{doc:this,isParent:!0,sharedHist:e.sharedHist}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n],i=r.find(),o=e.clipPos(i.from),a=e.clipPos(i.to);if(tt(o,a)){var s=ko(e,o,a,r.primary,r.primary.type);r.markers.push(s),s.parent=r}}}(r,To(this)),r},unlinkDoc:function(e){if(e instanceof Aa&&(e=e.doc),this.linked)for(var t=0;t<this.linked.length;++t)if(this.linked[t].doc==e){this.linked.splice(t,1),e.unlinkDoc(this),_o(To(this));break}if(e.history==this.history){var n=[e.id];Mi(e,(function(e){return n.push(e.id)}),!0),e.history=new Pi(null),e.history.done=Gi(this.history.done,n),e.history.undone=Gi(this.history.undone,n)}},iterLinkedDocs:function(e){Mi(this,e)},getMode:function(){return this.mode},getEditor:function(){return this.cm},splitLines:function(e){return this.lineSep?e.split(this.lineSep):Fe(e)},lineSeparator:function(){return this.lineSep||\"\\n\"},setDirection:ni((function(e){var t;\"rtl\"!=e&&(e=\"ltr\"),e!=this.direction&&(this.direction=e,this.iter((function(e){return e.order=null})),this.cm&&Zr(t=this.cm,(function(){Li(t),pr(t)})))}))}),Fo.prototype.eachLine=Fo.prototype.iter;var No=0;function Io(e){var t=this;if(Mo(t),!me(t,e)&&!Dn(t.display,e)){be(e),a&&(No=+new Date);var n=cr(t,e,!0),r=e.dataTransfer.files;if(n&&!t.isReadOnly())if(r&&r.length&&window.FileReader&&window.File)for(var i=r.length,o=Array(i),s=0,u=function(){++s==i&&ei(t,(function(){var e={from:n=st(t.doc,n),to:n,text:t.doc.splitLines(o.filter((function(e){return null!=e})).join(t.doc.lineSeparator())),origin:\"paste\"};co(t.doc,e),Xi(t.doc,Si(st(t.doc,n),st(t.doc,ki(e))))}))()},c=function(e,n){if(t.options.allowDropFileTypes&&-1==U(t.options.allowDropFileTypes,e.type))u();else{var r=new FileReader;r.onerror=function(){return u()},r.onload=function(){var e=r.result;/[\\x00-\\x08\\x0e-\\x1f]{2}/.test(e)||(o[n]=e),u()},r.readAsText(e)}},l=0;l<r.length;l++)c(r[l],l);else{if(t.state.draggingText&&t.doc.sel.contains(n)>-1)return t.state.draggingText(e),void setTimeout((function(){return t.display.input.focus()}),20);try{var p=e.dataTransfer.getData(\"Text\");if(p){var f;if(t.state.draggingText&&!t.state.draggingText.copy&&(f=t.listSelections()),eo(t.doc,Si(n,n)),f)for(var d=0;d<f.length;++d)mo(t.doc,\"\",f[d].anchor,f[d].head,\"drag\");t.replaceSelection(p,\"around\",\"paste\"),t.display.input.focus()}}catch(e){}}}}function Mo(e){e.display.dragCursor&&(e.display.lineSpace.removeChild(e.display.dragCursor),e.display.dragCursor=null)}function jo(e){if(document.getElementsByClassName){for(var t=document.getElementsByClassName(\"CodeMirror\"),n=[],r=0;r<t.length;r++){var i=t[r].CodeMirror;i&&n.push(i)}n.length&&n[0].operation((function(){for(var t=0;t<n.length;t++)e(n[t])}))}}var Lo=!1;function Po(){var e;Lo||(pe(window,\"resize\",(function(){null==e&&(e=setTimeout((function(){e=null,jo(Ro)}),100))})),pe(window,\"blur\",(function(){return jo(Sr)})),Lo=!0)}function Ro(e){var t=e.display;t.cachedCharWidth=t.cachedTextHeight=t.cachedPaddingH=null,t.scrollbarsClipped=!1,e.setSize()}for(var Bo={3:\"Pause\",8:\"Backspace\",9:\"Tab\",13:\"Enter\",16:\"Shift\",17:\"Ctrl\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Esc\",32:\"Space\",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"Left\",38:\"Up\",39:\"Right\",40:\"Down\",44:\"PrintScrn\",45:\"Insert\",46:\"Delete\",59:\";\",61:\"=\",91:\"Mod\",92:\"Mod\",93:\"Mod\",106:\"*\",107:\"=\",109:\"-\",110:\".\",111:\"/\",145:\"ScrollLock\",173:\"-\",186:\";\",187:\"=\",188:\",\",189:\"-\",190:\".\",191:\"/\",192:\"`\",219:\"[\",220:\"\\\\\",221:\"]\",222:\"'\",224:\"Mod\",63232:\"Up\",63233:\"Down\",63234:\"Left\",63235:\"Right\",63272:\"Delete\",63273:\"Home\",63275:\"End\",63276:\"PageUp\",63277:\"PageDown\",63302:\"Insert\"},Uo=0;Uo<10;Uo++)Bo[Uo+48]=Bo[Uo+96]=String(Uo);for(var zo=65;zo<=90;zo++)Bo[zo]=String.fromCharCode(zo);for(var Vo=1;Vo<=12;Vo++)Bo[Vo+111]=Bo[Vo+63235]=\"F\"+Vo;var qo={};function Ho(e){var t,n,r,i,o=e.split(/-(?!$)/);e=o[o.length-1];for(var a=0;a<o.length-1;a++){var s=o[a];if(/^(cmd|meta|m)$/i.test(s))i=!0;else if(/^a(lt)?$/i.test(s))t=!0;else if(/^(c|ctrl|control)$/i.test(s))n=!0;else{if(!/^s(hift)?$/i.test(s))throw new Error(\"Unrecognized modifier name: \"+s);r=!0}}return t&&(e=\"Alt-\"+e),n&&(e=\"Ctrl-\"+e),i&&(e=\"Cmd-\"+e),r&&(e=\"Shift-\"+e),e}function Wo(e){var t={};for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];if(/^(name|fallthrough|(de|at)tach)$/.test(n))continue;if(\"...\"==r){delete e[n];continue}for(var i=Q(n.split(\" \"),Ho),o=0;o<i.length;o++){var a=void 0,s=void 0;o==i.length-1?(s=i.join(\" \"),a=r):(s=i.slice(0,o+1).join(\" \"),a=\"...\");var u=t[s];if(u){if(u!=a)throw new Error(\"Inconsistent bindings for \"+s)}else t[s]=a}delete e[n]}for(var c in t)e[c]=t[c];return e}function Go(e,t,n,r){var i=(t=Yo(t)).call?t.call(e,r):t[e];if(!1===i)return\"nothing\";if(\"...\"===i)return\"multi\";if(null!=i&&n(i))return\"handled\";if(t.fallthrough){if(\"[object Array]\"!=Object.prototype.toString.call(t.fallthrough))return Go(e,t.fallthrough,n,r);for(var o=0;o<t.fallthrough.length;o++){var a=Go(e,t.fallthrough[o],n,r);if(a)return a}}}function Ko(e){var t=\"string\"==typeof e?e:Bo[e.keyCode];return\"Ctrl\"==t||\"Alt\"==t||\"Shift\"==t||\"Mod\"==t}function Jo(e,t,n){var r=e;return t.altKey&&\"Alt\"!=r&&(e=\"Alt-\"+e),(D?t.metaKey:t.ctrlKey)&&\"Ctrl\"!=r&&(e=\"Ctrl-\"+e),(D?t.ctrlKey:t.metaKey)&&\"Mod\"!=r&&(e=\"Cmd-\"+e),!n&&t.shiftKey&&\"Shift\"!=r&&(e=\"Shift-\"+e),e}function Qo(e,t){if(p&&34==e.keyCode&&e.char)return!1;var n=Bo[e.keyCode];return null!=n&&!e.altGraphKey&&(3==e.keyCode&&e.code&&(n=e.code),Jo(n,e,t))}function Yo(e){return\"string\"==typeof e?qo[e]:e}function $o(e,t){for(var n=e.doc.sel.ranges,r=[],i=0;i<n.length;i++){for(var o=t(n[i]);r.length&&tt(o.from,J(r).to)<=0;){var a=r.pop();if(tt(a.from,o.from)<0){o.from=a.from;break}}r.push(o)}Zr(e,(function(){for(var t=r.length-1;t>=0;t--)mo(e.doc,\"\",r[t].from,r[t].to,\"+delete\");Fr(e)}))}function Xo(e,t,n){var r=ie(e.text,t+n,n);return r<0||r>e.text.length?null:r}function Zo(e,t,n){var r=Xo(e,t.ch,n);return null==r?null:new et(t.line,r,n<0?\"after\":\"before\")}function ea(e,t,n,r,i){if(e){\"rtl\"==t.doc.direction&&(i=-i);var o=ce(n,t.doc.direction);if(o){var a,s=i<0?J(o):o[0],u=i<0==(1==s.level)?\"after\":\"before\";if(s.level>0||\"rtl\"==t.doc.direction){var c=Nn(t,n);a=i<0?n.text.length-1:0;var l=In(t,c,a).top;a=oe((function(e){return In(t,c,e).top==l}),i<0==(1==s.level)?s.from:s.to-1,a),\"before\"==u&&(a=Xo(n,a,1))}else a=i<0?s.to:s.from;return new et(r,a,u)}}return new et(r,i<0?n.text.length:0,i<0?\"before\":\"after\")}qo.basic={Left:\"goCharLeft\",Right:\"goCharRight\",Up:\"goLineUp\",Down:\"goLineDown\",End:\"goLineEnd\",Home:\"goLineStartSmart\",PageUp:\"goPageUp\",PageDown:\"goPageDown\",Delete:\"delCharAfter\",Backspace:\"delCharBefore\",\"Shift-Backspace\":\"delCharBefore\",Tab:\"defaultTab\",\"Shift-Tab\":\"indentAuto\",Enter:\"newlineAndIndent\",Insert:\"toggleOverwrite\",Esc:\"singleSelection\"},qo.pcDefault={\"Ctrl-A\":\"selectAll\",\"Ctrl-D\":\"deleteLine\",\"Ctrl-Z\":\"undo\",\"Shift-Ctrl-Z\":\"redo\",\"Ctrl-Y\":\"redo\",\"Ctrl-Home\":\"goDocStart\",\"Ctrl-End\":\"goDocEnd\",\"Ctrl-Up\":\"goLineUp\",\"Ctrl-Down\":\"goLineDown\",\"Ctrl-Left\":\"goGroupLeft\",\"Ctrl-Right\":\"goGroupRight\",\"Alt-Left\":\"goLineStart\",\"Alt-Right\":\"goLineEnd\",\"Ctrl-Backspace\":\"delGroupBefore\",\"Ctrl-Delete\":\"delGroupAfter\",\"Ctrl-S\":\"save\",\"Ctrl-F\":\"find\",\"Ctrl-G\":\"findNext\",\"Shift-Ctrl-G\":\"findPrev\",\"Shift-Ctrl-F\":\"replace\",\"Shift-Ctrl-R\":\"replaceAll\",\"Ctrl-[\":\"indentLess\",\"Ctrl-]\":\"indentMore\",\"Ctrl-U\":\"undoSelection\",\"Shift-Ctrl-U\":\"redoSelection\",\"Alt-U\":\"redoSelection\",fallthrough:\"basic\"},qo.emacsy={\"Ctrl-F\":\"goCharRight\",\"Ctrl-B\":\"goCharLeft\",\"Ctrl-P\":\"goLineUp\",\"Ctrl-N\":\"goLineDown\",\"Alt-F\":\"goWordRight\",\"Alt-B\":\"goWordLeft\",\"Ctrl-A\":\"goLineStart\",\"Ctrl-E\":\"goLineEnd\",\"Ctrl-V\":\"goPageDown\",\"Shift-Ctrl-V\":\"goPageUp\",\"Ctrl-D\":\"delCharAfter\",\"Ctrl-H\":\"delCharBefore\",\"Alt-D\":\"delWordAfter\",\"Alt-Backspace\":\"delWordBefore\",\"Ctrl-K\":\"killLine\",\"Ctrl-T\":\"transposeChars\",\"Ctrl-O\":\"openLine\"},qo.macDefault={\"Cmd-A\":\"selectAll\",\"Cmd-D\":\"deleteLine\",\"Cmd-Z\":\"undo\",\"Shift-Cmd-Z\":\"redo\",\"Cmd-Y\":\"redo\",\"Cmd-Home\":\"goDocStart\",\"Cmd-Up\":\"goDocStart\",\"Cmd-End\":\"goDocEnd\",\"Cmd-Down\":\"goDocEnd\",\"Alt-Left\":\"goGroupLeft\",\"Alt-Right\":\"goGroupRight\",\"Cmd-Left\":\"goLineLeft\",\"Cmd-Right\":\"goLineRight\",\"Alt-Backspace\":\"delGroupBefore\",\"Ctrl-Alt-Backspace\":\"delGroupAfter\",\"Alt-Delete\":\"delGroupAfter\",\"Cmd-S\":\"save\",\"Cmd-F\":\"find\",\"Cmd-G\":\"findNext\",\"Shift-Cmd-G\":\"findPrev\",\"Cmd-Alt-F\":\"replace\",\"Shift-Cmd-Alt-F\":\"replaceAll\",\"Cmd-[\":\"indentLess\",\"Cmd-]\":\"indentMore\",\"Cmd-Backspace\":\"delWrappedLineLeft\",\"Cmd-Delete\":\"delWrappedLineRight\",\"Cmd-U\":\"undoSelection\",\"Shift-Cmd-U\":\"redoSelection\",\"Ctrl-Up\":\"goDocStart\",\"Ctrl-Down\":\"goDocEnd\",fallthrough:[\"basic\",\"emacsy\"]},qo.default=v?qo.macDefault:qo.pcDefault;var ta={selectAll:so,singleSelection:function(e){return e.setSelection(e.getCursor(\"anchor\"),e.getCursor(\"head\"),V)},killLine:function(e){return $o(e,(function(t){if(t.empty()){var n=Ge(e.doc,t.head.line).text.length;return t.head.ch==n&&t.head.line<e.lastLine()?{from:t.head,to:et(t.head.line+1,0)}:{from:t.head,to:et(t.head.line,n)}}return{from:t.from(),to:t.to()}}))},deleteLine:function(e){return $o(e,(function(t){return{from:et(t.from().line,0),to:st(e.doc,et(t.to().line+1,0))}}))},delLineLeft:function(e){return $o(e,(function(e){return{from:et(e.from().line,0),to:e.from()}}))},delWrappedLineLeft:function(e){return $o(e,(function(t){var n=e.charCoords(t.head,\"div\").top+5;return{from:e.coordsChar({left:0,top:n},\"div\"),to:t.from()}}))},delWrappedLineRight:function(e){return $o(e,(function(t){var n=e.charCoords(t.head,\"div\").top+5,r=e.coordsChar({left:e.display.lineDiv.offsetWidth+100,top:n},\"div\");return{from:t.from(),to:r}}))},undo:function(e){return e.undo()},redo:function(e){return e.redo()},undoSelection:function(e){return e.undoSelection()},redoSelection:function(e){return e.redoSelection()},goDocStart:function(e){return e.extendSelection(et(e.firstLine(),0))},goDocEnd:function(e){return e.extendSelection(et(e.lastLine()))},goLineStart:function(e){return e.extendSelectionsBy((function(t){return na(e,t.head.line)}),{origin:\"+move\",bias:1})},goLineStartSmart:function(e){return e.extendSelectionsBy((function(t){return ra(e,t.head)}),{origin:\"+move\",bias:1})},goLineEnd:function(e){return e.extendSelectionsBy((function(t){return function(e,t){var n=Ge(e.doc,t),r=function(e){for(var t;t=jt(e);)e=t.find(1,!0).line;return e}(n);return r!=n&&(t=Ye(r)),ea(!0,e,n,t,-1)}(e,t.head.line)}),{origin:\"+move\",bias:-1})},goLineRight:function(e){return e.extendSelectionsBy((function(t){var n=e.cursorCoords(t.head,\"div\").top+5;return e.coordsChar({left:e.display.lineDiv.offsetWidth+100,top:n},\"div\")}),H)},goLineLeft:function(e){return e.extendSelectionsBy((function(t){var n=e.cursorCoords(t.head,\"div\").top+5;return e.coordsChar({left:0,top:n},\"div\")}),H)},goLineLeftSmart:function(e){return e.extendSelectionsBy((function(t){var n=e.cursorCoords(t.head,\"div\").top+5,r=e.coordsChar({left:0,top:n},\"div\");return r.ch<e.getLine(r.line).search(/\\S/)?ra(e,t.head):r}),H)},goLineUp:function(e){return e.moveV(-1,\"line\")},goLineDown:function(e){return e.moveV(1,\"line\")},goPageUp:function(e){return e.moveV(-1,\"page\")},goPageDown:function(e){return e.moveV(1,\"page\")},goCharLeft:function(e){return e.moveH(-1,\"char\")},goCharRight:function(e){return e.moveH(1,\"char\")},goColumnLeft:function(e){return e.moveH(-1,\"column\")},goColumnRight:function(e){return e.moveH(1,\"column\")},goWordLeft:function(e){return e.moveH(-1,\"word\")},goGroupRight:function(e){return e.moveH(1,\"group\")},goGroupLeft:function(e){return e.moveH(-1,\"group\")},goWordRight:function(e){return e.moveH(1,\"word\")},delCharBefore:function(e){return e.deleteH(-1,\"char\")},delCharAfter:function(e){return e.deleteH(1,\"char\")},delWordBefore:function(e){return e.deleteH(-1,\"word\")},delWordAfter:function(e){return e.deleteH(1,\"word\")},delGroupBefore:function(e){return e.deleteH(-1,\"group\")},delGroupAfter:function(e){return e.deleteH(1,\"group\")},indentAuto:function(e){return e.indentSelection(\"smart\")},indentMore:function(e){return e.indentSelection(\"add\")},indentLess:function(e){return e.indentSelection(\"subtract\")},insertTab:function(e){return e.replaceSelection(\"\\t\")},insertSoftTab:function(e){for(var t=[],n=e.listSelections(),r=e.options.tabSize,i=0;i<n.length;i++){var o=n[i].from(),a=R(e.getLine(o.line),o.ch,r);t.push(K(r-a%r))}e.replaceSelections(t)},defaultTab:function(e){e.somethingSelected()?e.indentSelection(\"add\"):e.execCommand(\"insertTab\")},transposeChars:function(e){return Zr(e,(function(){for(var t=e.listSelections(),n=[],r=0;r<t.length;r++)if(t[r].empty()){var i=t[r].head,o=Ge(e.doc,i.line).text;if(o)if(i.ch==o.length&&(i=new et(i.line,i.ch-1)),i.ch>0)i=new et(i.line,i.ch+1),e.replaceRange(o.charAt(i.ch-1)+o.charAt(i.ch-2),et(i.line,i.ch-2),i,\"+transpose\");else if(i.line>e.doc.first){var a=Ge(e.doc,i.line-1).text;a&&(i=new et(i.line,1),e.replaceRange(o.charAt(0)+e.doc.lineSeparator()+a.charAt(a.length-1),et(i.line-1,a.length-1),i,\"+transpose\"))}n.push(new Ci(i,i))}e.setSelections(n)}))},newlineAndIndent:function(e){return Zr(e,(function(){for(var t=e.listSelections(),n=t.length-1;n>=0;n--)e.replaceRange(e.doc.lineSeparator(),t[n].anchor,t[n].head,\"+input\");t=e.listSelections();for(var r=0;r<t.length;r++)e.indentLine(t[r].from().line,null,!0);Fr(e)}))},openLine:function(e){return e.replaceSelection(\"\\n\",\"start\")},toggleOverwrite:function(e){return e.toggleOverwrite()}};function na(e,t){var n=Ge(e.doc,t),r=Rt(n);return r!=n&&(t=Ye(r)),ea(!0,e,r,t,1)}function ra(e,t){var n=na(e,t.line),r=Ge(e.doc,n.line),i=ce(r,e.doc.direction);if(!i||0==i[0].level){var o=Math.max(n.ch,r.text.search(/\\S/)),a=t.line==n.line&&t.ch<=o&&t.ch;return et(n.line,a?0:o,n.sticky)}return n}function ia(e,t,n){if(\"string\"==typeof t&&!(t=ta[t]))return!1;e.display.input.ensurePolled();var r=e.display.shift,i=!1;try{e.isReadOnly()&&(e.state.suppressEdits=!0),n&&(e.display.shift=!1),i=t(e)!=z}finally{e.display.shift=r,e.state.suppressEdits=!1}return i}var oa=new B;function aa(e,t,n,r){var i=e.state.keySeq;if(i){if(Ko(t))return\"handled\";if(/\\'$/.test(t)?e.state.keySeq=null:oa.set(50,(function(){e.state.keySeq==i&&(e.state.keySeq=null,e.display.input.reset())})),sa(e,i+\" \"+t,n,r))return!0}return sa(e,t,n,r)}function sa(e,t,n,r){var i=function(e,t,n){for(var r=0;r<e.state.keyMaps.length;r++){var i=Go(t,e.state.keyMaps[r],n,e);if(i)return i}return e.options.extraKeys&&Go(t,e.options.extraKeys,n,e)||Go(t,e.options.keyMap,n,e)}(e,t,r);return\"multi\"==i&&(e.state.keySeq=t),\"handled\"==i&&un(e,\"keyHandled\",e,t,n),\"handled\"!=i&&\"multi\"!=i||(be(n),xr(e)),!!i}function ua(e,t){var n=Qo(t,!0);return!!n&&(t.shiftKey&&!e.state.keySeq?aa(e,\"Shift-\"+n,t,(function(t){return ia(e,t,!0)}))||aa(e,n,t,(function(t){if(\"string\"==typeof t?/^go[A-Z]/.test(t):t.motion)return ia(e,t)})):aa(e,n,t,(function(t){return ia(e,t)})))}var ca=null;function la(e){var t=this;if(!(e.target&&e.target!=t.display.input.getField()||(t.curOp.focus=N(),me(t,e)))){a&&s<11&&27==e.keyCode&&(e.returnValue=!1);var r=e.keyCode;t.display.shift=16==r||e.shiftKey;var i=ua(t,e);p&&(ca=i?r:null,i||88!=r||Ie||!(v?e.metaKey:e.ctrlKey)||t.replaceSelection(\"\",null,\"cut\")),n&&!v&&!i&&46==r&&e.shiftKey&&!e.ctrlKey&&document.execCommand&&document.execCommand(\"cut\"),18!=r||/\\bCodeMirror-crosshair\\b/.test(t.display.lineDiv.className)||function(e){var t=e.display.lineDiv;function n(e){18!=e.keyCode&&e.altKey||(k(t,\"CodeMirror-crosshair\"),de(document,\"keyup\",n),de(document,\"mouseover\",n))}I(t,\"CodeMirror-crosshair\"),pe(document,\"keyup\",n),pe(document,\"mouseover\",n)}(t)}}function pa(e){16==e.keyCode&&(this.doc.sel.shift=!1),me(this,e)}function fa(e){var t=this;if(!(e.target&&e.target!=t.display.input.getField()||Dn(t.display,e)||me(t,e)||e.ctrlKey&&!e.altKey||v&&e.metaKey)){var n=e.keyCode,r=e.charCode;if(p&&n==ca)return ca=null,void be(e);if(!p||e.which&&!(e.which<10)||!ua(t,e)){var i=String.fromCharCode(null==r?n:r);\"\\b\"!=i&&(function(e,t,n){return aa(e,\"'\"+n+\"'\",t,(function(t){return ia(e,t,!0)}))}(t,e,i)||t.display.input.onKeyPress(e))}}}var da,ha,ma=function(e,t,n){this.time=e,this.pos=t,this.button=n};function ga(e){var t=this,n=t.display;if(!(me(t,e)||n.activeTouch&&n.input.supportsTouch()))if(n.input.ensurePolled(),n.shift=e.shiftKey,Dn(n,e))u||(n.scroller.draggable=!1,setTimeout((function(){return n.scroller.draggable=!0}),100));else if(!ba(t,e)){var r=cr(t,e),i=we(e),o=r?function(e,t){var n=+new Date;return ha&&ha.compare(n,e,t)?(da=ha=null,\"triple\"):da&&da.compare(n,e,t)?(ha=new ma(n,e,t),da=null,\"double\"):(da=new ma(n,e,t),ha=null,\"single\")}(r,i):\"single\";window.focus(),1==i&&t.state.selectingText&&t.state.selectingText(e),r&&function(e,t,n,r,i){var o=\"Click\";return\"double\"==r?o=\"Double\"+o:\"triple\"==r&&(o=\"Triple\"+o),aa(e,Jo(o=(1==t?\"Left\":2==t?\"Middle\":\"Right\")+o,i),i,(function(t){if(\"string\"==typeof t&&(t=ta[t]),!t)return!1;var r=!1;try{e.isReadOnly()&&(e.state.suppressEdits=!0),r=t(e,n)!=z}finally{e.state.suppressEdits=!1}return r}))}(t,i,r,o,e)||(1==i?r?function(e,t,n,r){a?setTimeout(L(Dr,e),0):e.curOp.focus=N();var i,o=function(e,t,n){var r=e.getOption(\"configureMouse\"),i=r?r(e,t,n):{};if(null==i.unit){var o=b?n.shiftKey&&n.metaKey:n.altKey;i.unit=o?\"rectangle\":\"single\"==t?\"char\":\"double\"==t?\"word\":\"line\"}return(null==i.extend||e.doc.extend)&&(i.extend=e.doc.extend||n.shiftKey),null==i.addNew&&(i.addNew=v?n.metaKey:n.ctrlKey),null==i.moveOnDrag&&(i.moveOnDrag=!(v?n.altKey:n.ctrlKey)),i}(e,n,r),c=e.doc.sel;e.options.dragDrop&&Ae&&!e.isReadOnly()&&\"single\"==n&&(i=c.contains(t))>-1&&(tt((i=c.ranges[i]).from(),t)<0||t.xRel>0)&&(tt(i.to(),t)>0||t.xRel<0)?function(e,t,n,r){var i=e.display,o=!1,c=ei(e,(function(t){u&&(i.scroller.draggable=!1),e.state.draggingText=!1,de(i.wrapper.ownerDocument,\"mouseup\",c),de(i.wrapper.ownerDocument,\"mousemove\",l),de(i.scroller,\"dragstart\",p),de(i.scroller,\"drop\",c),o||(be(t),r.addNew||Ji(e.doc,n,null,null,r.extend),u&&!f||a&&9==s?setTimeout((function(){i.wrapper.ownerDocument.body.focus({preventScroll:!0}),i.input.focus()}),20):i.input.focus())})),l=function(e){o=o||Math.abs(t.clientX-e.clientX)+Math.abs(t.clientY-e.clientY)>=10},p=function(){return o=!0};u&&(i.scroller.draggable=!0),e.state.draggingText=c,c.copy=!r.moveOnDrag,i.scroller.dragDrop&&i.scroller.dragDrop(),pe(i.wrapper.ownerDocument,\"mouseup\",c),pe(i.wrapper.ownerDocument,\"mousemove\",l),pe(i.scroller,\"dragstart\",p),pe(i.scroller,\"drop\",c),Cr(e),setTimeout((function(){return i.input.focus()}),20)}(e,r,t,o):function(e,t,n,r){var i=e.display,o=e.doc;be(t);var a,s,u=o.sel,c=u.ranges;if(r.addNew&&!r.extend?(s=o.sel.contains(n),a=s>-1?c[s]:new Ci(n,n)):(a=o.sel.primary(),s=o.sel.primIndex),\"rectangle\"==r.unit)r.addNew||(a=new Ci(n,n)),n=cr(e,t,!0,!0),s=-1;else{var l=ya(e,n,r.unit);a=r.extend?Ki(a,l.anchor,l.head,r.extend):l}r.addNew?-1==s?(s=c.length,Zi(o,wi(e,c.concat([a]),s),{scroll:!1,origin:\"*mouse\"})):c.length>1&&c[s].empty()&&\"char\"==r.unit&&!r.extend?(Zi(o,wi(e,c.slice(0,s).concat(c.slice(s+1)),0),{scroll:!1,origin:\"*mouse\"}),u=o.sel):Yi(o,s,a,q):(s=0,Zi(o,new Di([a],0),q),u=o.sel);var p=n;function f(t){if(0!=tt(p,t))if(p=t,\"rectangle\"==r.unit){for(var i=[],c=e.options.tabSize,l=R(Ge(o,n.line).text,n.ch,c),f=R(Ge(o,t.line).text,t.ch,c),d=Math.min(l,f),h=Math.max(l,f),m=Math.min(n.line,t.line),g=Math.min(e.lastLine(),Math.max(n.line,t.line));m<=g;m++){var y=Ge(o,m).text,v=W(y,d,c);d==h?i.push(new Ci(et(m,v),et(m,v))):y.length>v&&i.push(new Ci(et(m,v),et(m,W(y,h,c))))}i.length||i.push(new Ci(n,n)),Zi(o,wi(e,u.ranges.slice(0,s).concat(i),s),{origin:\"*mouse\",scroll:!1}),e.scrollIntoView(t)}else{var b,E=a,x=ya(e,t,r.unit),D=E.anchor;tt(x.anchor,D)>0?(b=x.head,D=ot(E.from(),x.anchor)):(b=x.anchor,D=it(E.to(),x.head));var C=u.ranges.slice(0);C[s]=function(e,t){var n=t.anchor,r=t.head,i=Ge(e.doc,n.line);if(0==tt(n,r)&&n.sticky==r.sticky)return t;var o=ce(i);if(!o)return t;var a=se(o,n.ch,n.sticky),s=o[a];if(s.from!=n.ch&&s.to!=n.ch)return t;var u,c=a+(s.from==n.ch==(1!=s.level)?0:1);if(0==c||c==o.length)return t;if(r.line!=n.line)u=(r.line-n.line)*(\"ltr\"==e.doc.direction?1:-1)>0;else{var l=se(o,r.ch,r.sticky),p=l-a||(r.ch-n.ch)*(1==s.level?-1:1);u=l==c-1||l==c?p<0:p>0}var f=o[c+(u?-1:0)],d=u==(1==f.level),h=d?f.from:f.to,m=d?\"after\":\"before\";return n.ch==h&&n.sticky==m?t:new Ci(new et(n.line,h,m),r)}(e,new Ci(st(o,D),b)),Zi(o,wi(e,C,s),q)}}var d=i.wrapper.getBoundingClientRect(),h=0;function m(t){e.state.selectingText=!1,h=1/0,t&&(be(t),i.input.focus()),de(i.wrapper.ownerDocument,\"mousemove\",g),de(i.wrapper.ownerDocument,\"mouseup\",y),o.history.lastSelOrigin=null}var g=ei(e,(function(t){0!==t.buttons&&we(t)?function t(n){var a=++h,s=cr(e,n,!0,\"rectangle\"==r.unit);if(s)if(0!=tt(s,p)){e.curOp.focus=N(),f(s);var u=Tr(i,o);(s.line>=u.to||s.line<u.from)&&setTimeout(ei(e,(function(){h==a&&t(n)})),150)}else{var c=n.clientY<d.top?-20:n.clientY>d.bottom?20:0;c&&setTimeout(ei(e,(function(){h==a&&(i.scroller.scrollTop+=c,t(n))})),50)}}(t):m(t)})),y=ei(e,m);e.state.selectingText=y,pe(i.wrapper.ownerDocument,\"mousemove\",g),pe(i.wrapper.ownerDocument,\"mouseup\",y)}(e,r,t,o)}(t,r,o,e):Ce(e)==n.scroller&&be(e):2==i?(r&&Ji(t.doc,r),setTimeout((function(){return n.input.focus()}),20)):3==i&&(C?t.display.input.onContextMenu(e):Cr(t)))}}function ya(e,t,n){if(\"char\"==n)return new Ci(t,t);if(\"word\"==n)return e.findWordAt(t);if(\"line\"==n)return new Ci(et(t.line,0),st(e.doc,et(t.line+1,0)));var r=n(e,t);return new Ci(r.from,r.to)}function va(e,t,n,r){var i,o;if(t.touches)i=t.touches[0].clientX,o=t.touches[0].clientY;else try{i=t.clientX,o=t.clientY}catch(e){return!1}if(i>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;r&&be(t);var a=e.display,s=a.lineDiv.getBoundingClientRect();if(o>s.bottom||!ye(e,n))return xe(t);o-=s.top-a.viewOffset;for(var u=0;u<e.display.gutterSpecs.length;++u){var c=a.gutters.childNodes[u];if(c&&c.getBoundingClientRect().right>=i)return he(e,n,e,$e(e.doc,o),e.display.gutterSpecs[u].className,t),xe(t)}}function ba(e,t){return va(e,t,\"gutterClick\",!0)}function Ea(e,t){Dn(e.display,t)||function(e,t){return!!ye(e,\"gutterContextMenu\")&&va(e,t,\"gutterContextMenu\",!1)}(e,t)||me(e,t,\"contextmenu\")||C||e.display.input.onContextMenu(t)}function xa(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\\s*cm-s-\\S+/g,\"\")+e.options.theme.replace(/(^|\\s)\\s*/g,\" cm-s-\"),Un(e)}ma.prototype.compare=function(e,t,n){return this.time+400>e&&0==tt(t,this.pos)&&n==this.button};var Da={toString:function(){return\"CodeMirror.Init\"}},Ca={},wa={};function Sa(e,t,n){if(!t!=!(n&&n!=Da)){var r=e.display.dragFunctions,i=t?pe:de;i(e.display.scroller,\"dragstart\",r.start),i(e.display.scroller,\"dragenter\",r.enter),i(e.display.scroller,\"dragover\",r.over),i(e.display.scroller,\"dragleave\",r.leave),i(e.display.scroller,\"drop\",r.drop)}}function ka(e){e.options.lineWrapping?(I(e.display.wrapper,\"CodeMirror-wrap\"),e.display.sizer.style.minWidth=\"\",e.display.sizerWidth=null):(k(e.display.wrapper,\"CodeMirror-wrap\"),Wt(e)),ur(e),pr(e),Un(e),setTimeout((function(){return zr(e)}),100)}function Aa(e,t){var n=this;if(!(this instanceof Aa))return new Aa(e,t);this.options=t=t?P(t):{},P(Ca,t,!1);var r=t.value;\"string\"==typeof r?r=new Fo(r,t.mode,null,t.lineSeparator,t.direction):t.mode&&(r.modeOption=t.mode),this.doc=r;var i=new Aa.inputStyles[t.inputStyle](this),o=this.display=new gi(e,r,i,t);for(var c in o.wrapper.CodeMirror=this,xa(this),t.lineWrapping&&(this.display.wrapper.className+=\" CodeMirror-wrap\"),Hr(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new B,keySeq:null,specialChars:null},t.autofocus&&!y&&o.input.focus(),a&&s<11&&setTimeout((function(){return n.display.input.reset(!0)}),20),function(e){var t=e.display;pe(t.scroller,\"mousedown\",ei(e,ga)),pe(t.scroller,\"dblclick\",a&&s<11?ei(e,(function(t){if(!me(e,t)){var n=cr(e,t);if(n&&!ba(e,t)&&!Dn(e.display,t)){be(t);var r=e.findWordAt(n);Ji(e.doc,r.anchor,r.head)}}})):function(t){return me(e,t)||be(t)}),pe(t.scroller,\"contextmenu\",(function(t){return Ea(e,t)})),pe(t.input.getField(),\"contextmenu\",(function(n){t.scroller.contains(n.target)||Ea(e,n)}));var n,r={end:0};function i(){t.activeTouch&&(n=setTimeout((function(){return t.activeTouch=null}),1e3),(r=t.activeTouch).end=+new Date)}function o(e,t){if(null==t.left)return!0;var n=t.left-e.left,r=t.top-e.top;return n*n+r*r>400}pe(t.scroller,\"touchstart\",(function(i){if(!me(e,i)&&!function(e){if(1!=e.touches.length)return!1;var t=e.touches[0];return t.radiusX<=1&&t.radiusY<=1}(i)&&!ba(e,i)){t.input.ensurePolled(),clearTimeout(n);var o=+new Date;t.activeTouch={start:o,moved:!1,prev:o-r.end<=300?r:null},1==i.touches.length&&(t.activeTouch.left=i.touches[0].pageX,t.activeTouch.top=i.touches[0].pageY)}})),pe(t.scroller,\"touchmove\",(function(){t.activeTouch&&(t.activeTouch.moved=!0)})),pe(t.scroller,\"touchend\",(function(n){var r=t.activeTouch;if(r&&!Dn(t,n)&&null!=r.left&&!r.moved&&new Date-r.start<300){var a,s=e.coordsChar(t.activeTouch,\"page\");a=!r.prev||o(r,r.prev)?new Ci(s,s):!r.prev.prev||o(r,r.prev.prev)?e.findWordAt(s):new Ci(et(s.line,0),st(e.doc,et(s.line+1,0))),e.setSelection(a.anchor,a.head),e.focus(),be(n)}i()})),pe(t.scroller,\"touchcancel\",i),pe(t.scroller,\"scroll\",(function(){t.scroller.clientHeight&&(jr(e,t.scroller.scrollTop),Pr(e,t.scroller.scrollLeft,!0),he(e,\"scroll\",e))})),pe(t.scroller,\"mousewheel\",(function(t){return xi(e,t)})),pe(t.scroller,\"DOMMouseScroll\",(function(t){return xi(e,t)})),pe(t.wrapper,\"scroll\",(function(){return t.wrapper.scrollTop=t.wrapper.scrollLeft=0})),t.dragFunctions={enter:function(t){me(e,t)||De(t)},over:function(t){me(e,t)||(function(e,t){var n=cr(e,t);if(n){var r=document.createDocumentFragment();vr(e,n,r),e.display.dragCursor||(e.display.dragCursor=_(\"div\",null,\"CodeMirror-cursors CodeMirror-dragcursors\"),e.display.lineSpace.insertBefore(e.display.dragCursor,e.display.cursorDiv)),T(e.display.dragCursor,r)}}(e,t),De(t))},start:function(t){return function(e,t){if(a&&(!e.state.draggingText||+new Date-No<100))De(t);else if(!me(e,t)&&!Dn(e.display,t)&&(t.dataTransfer.setData(\"Text\",e.getSelection()),t.dataTransfer.effectAllowed=\"copyMove\",t.dataTransfer.setDragImage&&!f)){var n=_(\"img\",null,null,\"position: fixed; left: 0; top: 0;\");n.src=\"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\",p&&(n.width=n.height=1,e.display.wrapper.appendChild(n),n._top=n.offsetTop),t.dataTransfer.setDragImage(n,0,0),p&&n.parentNode.removeChild(n)}}(e,t)},drop:ei(e,Io),leave:function(t){me(e,t)||Mo(e)}};var u=t.input.getField();pe(u,\"keyup\",(function(t){return pa.call(e,t)})),pe(u,\"keydown\",ei(e,la)),pe(u,\"keypress\",ei(e,fa)),pe(u,\"focus\",(function(t){return wr(e,t)})),pe(u,\"blur\",(function(t){return Sr(e,t)}))}(this),Po(),Gr(this),this.curOp.forceUpdate=!0,ji(this,r),t.autofocus&&!y||this.hasFocus()?setTimeout(L(wr,this),20):Sr(this),wa)wa.hasOwnProperty(c)&&wa[c](this,t[c],Da);fi(this),t.finishInit&&t.finishInit(this);for(var l=0;l<Ta.length;++l)Ta[l](this);Kr(this),u&&t.lineWrapping&&\"optimizelegibility\"==getComputedStyle(o.lineDiv).textRendering&&(o.lineDiv.style.textRendering=\"auto\")}Aa.defaults=Ca,Aa.optionHandlers=wa;var Ta=[];function _a(e,t,n,r){var i,o=e.doc;null==n&&(n=\"add\"),\"smart\"==n&&(o.mode.indent?i=dt(e,t).state:n=\"prev\");var a=e.options.tabSize,s=Ge(o,t),u=R(s.text,null,a);s.stateAfter&&(s.stateAfter=null);var c,l=s.text.match(/^\\s*/)[0];if(r||/\\S/.test(s.text)){if(\"smart\"==n&&((c=o.mode.indent(i,s.text.slice(l.length),s.text))==z||c>150)){if(!r)return;n=\"prev\"}}else c=0,n=\"not\";\"prev\"==n?c=t>o.first?R(Ge(o,t-1).text,null,a):0:\"add\"==n?c=u+e.options.indentUnit:\"subtract\"==n?c=u-e.options.indentUnit:\"number\"==typeof n&&(c=u+n),c=Math.max(0,c);var p=\"\",f=0;if(e.options.indentWithTabs)for(var d=Math.floor(c/a);d;--d)f+=a,p+=\"\\t\";if(f<c&&(p+=K(c-f)),p!=l)return mo(o,p,et(t,0),et(t,l.length),\"+input\"),s.stateAfter=null,!0;for(var h=0;h<o.sel.ranges.length;h++){var m=o.sel.ranges[h];if(m.head.line==t&&m.head.ch<l.length){var g=et(t,l.length);Yi(o,h,new Ci(g,g));break}}}Aa.defineInitHook=function(e){return Ta.push(e)};var Oa=null;function Fa(e){Oa=e}function Na(e,t,n,r,i){var o=e.doc;e.display.shift=!1,r||(r=o.sel);var a=+new Date-200,s=\"paste\"==i||e.state.pasteIncoming>a,u=Fe(t),c=null;if(s&&r.ranges.length>1)if(Oa&&Oa.text.join(\"\\n\")==t){if(r.ranges.length%Oa.text.length==0){c=[];for(var l=0;l<Oa.text.length;l++)c.push(o.splitLines(Oa.text[l]))}}else u.length==r.ranges.length&&e.options.pasteLinesPerSelection&&(c=Q(u,(function(e){return[e]})));for(var p=e.curOp.updateInput,f=r.ranges.length-1;f>=0;f--){var d=r.ranges[f],h=d.from(),m=d.to();d.empty()&&(n&&n>0?h=et(h.line,h.ch-n):e.state.overwrite&&!s?m=et(m.line,Math.min(Ge(o,m.line).text.length,m.ch+J(u).length)):s&&Oa&&Oa.lineWise&&Oa.text.join(\"\\n\")==u.join(\"\\n\")&&(h=m=et(h.line,0)));var g={from:h,to:m,text:c?c[f%c.length]:u,origin:i||(s?\"paste\":e.state.cutIncoming>a?\"cut\":\"+input\")};co(e.doc,g),un(e,\"inputRead\",e,g)}t&&!s&&Ma(e,t),Fr(e),e.curOp.updateInput<2&&(e.curOp.updateInput=p),e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=-1}function Ia(e,t){var n=e.clipboardData&&e.clipboardData.getData(\"Text\");if(n)return e.preventDefault(),t.isReadOnly()||t.options.disableInput||Zr(t,(function(){return Na(t,n,0,null,\"paste\")})),!0}function Ma(e,t){if(e.options.electricChars&&e.options.smartIndent)for(var n=e.doc.sel,r=n.ranges.length-1;r>=0;r--){var i=n.ranges[r];if(!(i.head.ch>100||r&&n.ranges[r-1].head.line==i.head.line)){var o=e.getModeAt(i.head),a=!1;if(o.electricChars){for(var s=0;s<o.electricChars.length;s++)if(t.indexOf(o.electricChars.charAt(s))>-1){a=_a(e,i.head.line,\"smart\");break}}else o.electricInput&&o.electricInput.test(Ge(e.doc,i.head.line).text.slice(0,i.head.ch))&&(a=_a(e,i.head.line,\"smart\"));a&&un(e,\"electricInput\",e,i.head.line)}}}function ja(e){for(var t=[],n=[],r=0;r<e.doc.sel.ranges.length;r++){var i=e.doc.sel.ranges[r].head.line,o={anchor:et(i,0),head:et(i+1,0)};n.push(o),t.push(e.getRange(o.anchor,o.head))}return{text:t,ranges:n}}function La(e,t,n,r){e.setAttribute(\"autocorrect\",n?\"\":\"off\"),e.setAttribute(\"autocapitalize\",r?\"\":\"off\"),e.setAttribute(\"spellcheck\",!!t)}function Pa(){var e=_(\"textarea\",null,null,\"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none\"),t=_(\"div\",[e],null,\"overflow: hidden; position: relative; width: 3px; height: 0px;\");return u?e.style.width=\"1000px\":e.setAttribute(\"wrap\",\"off\"),m&&(e.style.border=\"1px solid black\"),La(e),t}function Ra(e,t,n,r,i){var o=t,a=n,s=Ge(e,t.line),u=i&&\"rtl\"==e.direction?-n:n;function c(r){var o,a;if(null==(o=i?function(e,t,n,r){var i=ce(t,e.doc.direction);if(!i)return Zo(t,n,r);n.ch>=t.text.length?(n.ch=t.text.length,n.sticky=\"before\"):n.ch<=0&&(n.ch=0,n.sticky=\"after\");var o=se(i,n.ch,n.sticky),a=i[o];if(\"ltr\"==e.doc.direction&&a.level%2==0&&(r>0?a.to>n.ch:a.from<n.ch))return Zo(t,n,r);var s,u=function(e,n){return Xo(t,e instanceof et?e.ch:e,n)},c=function(n){return e.options.lineWrapping?(s=s||Nn(e,t),Xn(e,t,s,n)):{begin:0,end:t.text.length}},l=c(\"before\"==n.sticky?u(n,-1):n.ch);if(\"rtl\"==e.doc.direction||1==a.level){var p=1==a.level==r<0,f=u(n,p?1:-1);if(null!=f&&(p?f<=a.to&&f<=l.end:f>=a.from&&f>=l.begin)){var d=p?\"before\":\"after\";return new et(n.line,f,d)}}var h=function(e,t,r){for(var o=function(e,t){return t?new et(n.line,u(e,1),\"before\"):new et(n.line,e,\"after\")};e>=0&&e<i.length;e+=t){var a=i[e],s=t>0==(1!=a.level),c=s?r.begin:u(r.end,-1);if(a.from<=c&&c<a.to)return o(c,s);if(c=s?a.from:u(a.to,-1),r.begin<=c&&c<r.end)return o(c,s)}},m=h(o+r,r,l);if(m)return m;var g=r>0?l.end:u(l.begin,-1);return null==g||r>0&&g==t.text.length||!(m=h(r>0?0:i.length-1,r,c(g)))?null:m}(e.cm,s,t,n):Zo(s,t,n))){if(r||(a=t.line+u)<e.first||a>=e.first+e.size||(t=new et(a,t.ch,t.sticky),!(s=Ge(e,a))))return!1;t=ea(i,e.cm,s,t.line,u)}else t=o;return!0}if(\"char\"==r)c();else if(\"column\"==r)c(!0);else if(\"word\"==r||\"group\"==r)for(var l=null,p=\"group\"==r,f=e.cm&&e.cm.getHelper(t,\"wordChars\"),d=!0;!(n<0)||c(!d);d=!1){var h=s.text.charAt(t.ch)||\"\\n\",m=ee(h,f)?\"w\":p&&\"\\n\"==h?\"n\":!p||/\\s/.test(h)?null:\"p\";if(!p||d||m||(m=\"s\"),l&&l!=m){n<0&&(n=1,c(),t.sticky=\"after\");break}if(m&&(l=m),n>0&&!c(!d))break}var g=oo(e,t,o,a,!0);return nt(o,g)&&(g.hitSide=!0),g}function Ba(e,t,n,r){var i,o,a=e.doc,s=t.left;if(\"page\"==r){var u=Math.min(e.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),c=Math.max(u-.5*rr(e.display),3);i=(n>0?t.bottom:t.top)+n*c}else\"line\"==r&&(i=n>0?t.bottom+3:t.top-3);for(;(o=Yn(e,s,i)).outside;){if(n<0?i<=0:i>=a.height){o.hitSide=!0;break}i+=5*n}return o}var Ua=function(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new B,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};function za(e,t){var n=Fn(e,t.line);if(!n||n.hidden)return null;var r=Ge(e.doc,t.line),i=_n(n,r,t.line),o=ce(r,e.doc.direction),a=\"left\";o&&(a=se(o,t.ch)%2?\"right\":\"left\");var s=Ln(i.map,t.ch,a);return s.offset=\"right\"==s.collapse?s.end:s.start,s}function Va(e,t){return t&&(e.bad=!0),e}function qa(e,t,n){var r;if(t==e.display.lineDiv){if(!(r=e.display.lineDiv.childNodes[n]))return Va(e.clipPos(et(e.display.viewTo-1)),!0);t=null,n=0}else for(r=t;;r=r.parentNode){if(!r||r==e.display.lineDiv)return null;if(r.parentNode&&r.parentNode==e.display.lineDiv)break}for(var i=0;i<e.display.view.length;i++){var o=e.display.view[i];if(o.node==r)return Ha(o,t,n)}}function Ha(e,t,n){var r=e.text.firstChild,i=!1;if(!t||!F(r,t))return Va(et(Ye(e.line),0),!0);if(t==r&&(i=!0,t=r.childNodes[n],n=0,!t)){var o=e.rest?J(e.rest):e.line;return Va(et(Ye(o),o.text.length),i)}var a=3==t.nodeType?t:null,s=t;for(a||1!=t.childNodes.length||3!=t.firstChild.nodeType||(a=t.firstChild,n&&(n=a.nodeValue.length));s.parentNode!=r;)s=s.parentNode;var u=e.measure,c=u.maps;function l(t,n,r){for(var i=-1;i<(c?c.length:0);i++)for(var o=i<0?u.map:c[i],a=0;a<o.length;a+=3){var s=o[a+2];if(s==t||s==n){var l=Ye(i<0?e.line:e.rest[i]),p=o[a]+r;return(r<0||s!=t)&&(p=o[a+(r?1:0)]),et(l,p)}}}var p=l(a,s,n);if(p)return Va(p,i);for(var f=s.nextSibling,d=a?a.nodeValue.length-n:0;f;f=f.nextSibling){if(p=l(f,f.firstChild,0))return Va(et(p.line,p.ch-d),i);d+=f.textContent.length}for(var h=s.previousSibling,m=n;h;h=h.previousSibling){if(p=l(h,h.firstChild,-1))return Va(et(p.line,p.ch+m),i);m+=h.textContent.length}}Ua.prototype.init=function(e){var t=this,n=this,r=n.cm,i=n.div=e.lineDiv;function o(e){for(var t=e.target;t;t=t.parentNode){if(t==i)return!0;if(/\\bCodeMirror-(?:line)?widget\\b/.test(t.className))break}return!1}function a(e){if(o(e)&&!me(r,e)){if(r.somethingSelected())Fa({lineWise:!1,text:r.getSelections()}),\"cut\"==e.type&&r.replaceSelection(\"\",null,\"cut\");else{if(!r.options.lineWiseCopyCut)return;var t=ja(r);Fa({lineWise:!0,text:t.text}),\"cut\"==e.type&&r.operation((function(){r.setSelections(t.ranges,0,V),r.replaceSelection(\"\",null,\"cut\")}))}if(e.clipboardData){e.clipboardData.clearData();var a=Oa.text.join(\"\\n\");if(e.clipboardData.setData(\"Text\",a),e.clipboardData.getData(\"Text\")==a)return void e.preventDefault()}var s=Pa(),u=s.firstChild;r.display.lineSpace.insertBefore(s,r.display.lineSpace.firstChild),u.value=Oa.text.join(\"\\n\");var c=document.activeElement;j(u),setTimeout((function(){r.display.lineSpace.removeChild(s),c.focus(),c==i&&n.showPrimarySelection()}),50)}}La(i,r.options.spellcheck,r.options.autocorrect,r.options.autocapitalize),pe(i,\"paste\",(function(e){!o(e)||me(r,e)||Ia(e,r)||s<=11&&setTimeout(ei(r,(function(){return t.updateFromDOM()})),20)})),pe(i,\"compositionstart\",(function(e){t.composing={data:e.data,done:!1}})),pe(i,\"compositionupdate\",(function(e){t.composing||(t.composing={data:e.data,done:!1})})),pe(i,\"compositionend\",(function(e){t.composing&&(e.data!=t.composing.data&&t.readFromDOMSoon(),t.composing.done=!0)})),pe(i,\"touchstart\",(function(){return n.forceCompositionEnd()})),pe(i,\"input\",(function(){t.composing||t.readFromDOMSoon()})),pe(i,\"copy\",a),pe(i,\"cut\",a)},Ua.prototype.screenReaderLabelChanged=function(e){e?this.div.setAttribute(\"aria-label\",e):this.div.removeAttribute(\"aria-label\")},Ua.prototype.prepareSelection=function(){var e=yr(this.cm,!1);return e.focus=document.activeElement==this.div,e},Ua.prototype.showSelection=function(e,t){e&&this.cm.display.view.length&&((e.focus||t)&&this.showPrimarySelection(),this.showMultipleSelections(e))},Ua.prototype.getSelection=function(){return this.cm.display.wrapper.ownerDocument.getSelection()},Ua.prototype.showPrimarySelection=function(){var e=this.getSelection(),t=this.cm,r=t.doc.sel.primary(),i=r.from(),o=r.to();if(t.display.viewTo==t.display.viewFrom||i.line>=t.display.viewTo||o.line<t.display.viewFrom)e.removeAllRanges();else{var a=qa(t,e.anchorNode,e.anchorOffset),s=qa(t,e.focusNode,e.focusOffset);if(!a||a.bad||!s||s.bad||0!=tt(ot(a,s),i)||0!=tt(it(a,s),o)){var u=t.display.view,c=i.line>=t.display.viewFrom&&za(t,i)||{node:u[0].measure.map[2],offset:0},l=o.line<t.display.viewTo&&za(t,o);if(!l){var p=u[u.length-1].measure,f=p.maps?p.maps[p.maps.length-1]:p.map;l={node:f[f.length-1],offset:f[f.length-2]-f[f.length-3]}}if(c&&l){var d,h=e.rangeCount&&e.getRangeAt(0);try{d=S(c.node,c.offset,l.offset,l.node)}catch(e){}d&&(!n&&t.state.focused?(e.collapse(c.node,c.offset),d.collapsed||(e.removeAllRanges(),e.addRange(d))):(e.removeAllRanges(),e.addRange(d)),h&&null==e.anchorNode?e.addRange(h):n&&this.startGracePeriod()),this.rememberSelection()}else e.removeAllRanges()}}},Ua.prototype.startGracePeriod=function(){var e=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout((function(){e.gracePeriod=!1,e.selectionChanged()&&e.cm.operation((function(){return e.cm.curOp.selectionChanged=!0}))}),20)},Ua.prototype.showMultipleSelections=function(e){T(this.cm.display.cursorDiv,e.cursors),T(this.cm.display.selectionDiv,e.selection)},Ua.prototype.rememberSelection=function(){var e=this.getSelection();this.lastAnchorNode=e.anchorNode,this.lastAnchorOffset=e.anchorOffset,this.lastFocusNode=e.focusNode,this.lastFocusOffset=e.focusOffset},Ua.prototype.selectionInEditor=function(){var e=this.getSelection();if(!e.rangeCount)return!1;var t=e.getRangeAt(0).commonAncestorContainer;return F(this.div,t)},Ua.prototype.focus=function(){\"nocursor\"!=this.cm.options.readOnly&&(this.selectionInEditor()&&document.activeElement==this.div||this.showSelection(this.prepareSelection(),!0),this.div.focus())},Ua.prototype.blur=function(){this.div.blur()},Ua.prototype.getField=function(){return this.div},Ua.prototype.supportsTouch=function(){return!0},Ua.prototype.receivedFocus=function(){var e=this;this.selectionInEditor()?this.pollSelection():Zr(this.cm,(function(){return e.cm.curOp.selectionChanged=!0})),this.polling.set(this.cm.options.pollInterval,(function t(){e.cm.state.focused&&(e.pollSelection(),e.polling.set(e.cm.options.pollInterval,t))}))},Ua.prototype.selectionChanged=function(){var e=this.getSelection();return e.anchorNode!=this.lastAnchorNode||e.anchorOffset!=this.lastAnchorOffset||e.focusNode!=this.lastFocusNode||e.focusOffset!=this.lastFocusOffset},Ua.prototype.pollSelection=function(){if(null==this.readDOMTimeout&&!this.gracePeriod&&this.selectionChanged()){var e=this.getSelection(),t=this.cm;if(g&&l&&this.cm.display.gutterSpecs.length&&function(e){for(var t=e;t;t=t.parentNode)if(/CodeMirror-gutter-wrapper/.test(t.className))return!0;return!1}(e.anchorNode))return this.cm.triggerOnKeyDown({type:\"keydown\",keyCode:8,preventDefault:Math.abs}),this.blur(),void this.focus();if(!this.composing){this.rememberSelection();var n=qa(t,e.anchorNode,e.anchorOffset),r=qa(t,e.focusNode,e.focusOffset);n&&r&&Zr(t,(function(){Zi(t.doc,Si(n,r),V),(n.bad||r.bad)&&(t.curOp.selectionChanged=!0)}))}}},Ua.prototype.pollContent=function(){null!=this.readDOMTimeout&&(clearTimeout(this.readDOMTimeout),this.readDOMTimeout=null);var e,t,n,r=this.cm,i=r.display,o=r.doc.sel.primary(),a=o.from(),s=o.to();if(0==a.ch&&a.line>r.firstLine()&&(a=et(a.line-1,Ge(r.doc,a.line-1).length)),s.ch==Ge(r.doc,s.line).text.length&&s.line<r.lastLine()&&(s=et(s.line+1,0)),a.line<i.viewFrom||s.line>i.viewTo-1)return!1;a.line==i.viewFrom||0==(e=lr(r,a.line))?(t=Ye(i.view[0].line),n=i.view[0].node):(t=Ye(i.view[e].line),n=i.view[e-1].node.nextSibling);var u,c,l=lr(r,s.line);if(l==i.view.length-1?(u=i.viewTo-1,c=i.lineDiv.lastChild):(u=Ye(i.view[l+1].line)-1,c=i.view[l+1].node.previousSibling),!n)return!1;for(var p=r.doc.splitLines(function(e,t,n,r,i){var o=\"\",a=!1,s=e.doc.lineSeparator(),u=!1;function c(){a&&(o+=s,u&&(o+=s),a=u=!1)}function l(e){e&&(c(),o+=e)}function p(t){if(1==t.nodeType){var n=t.getAttribute(\"cm-text\");if(n)return void l(n);var o,f=t.getAttribute(\"cm-marker\");if(f){var d=e.findMarks(et(r,0),et(i+1,0),(g=+f,function(e){return e.id==g}));return void(d.length&&(o=d[0].find(0))&&l(Ke(e.doc,o.from,o.to).join(s)))}if(\"false\"==t.getAttribute(\"contenteditable\"))return;var h=/^(pre|div|p|li|table|br)$/i.test(t.nodeName);if(!/^br$/i.test(t.nodeName)&&0==t.textContent.length)return;h&&c();for(var m=0;m<t.childNodes.length;m++)p(t.childNodes[m]);/^(pre|p)$/i.test(t.nodeName)&&(u=!0),h&&(a=!0)}else 3==t.nodeType&&l(t.nodeValue.replace(/\\u200b/g,\"\").replace(/\\u00a0/g,\" \"));var g}for(;p(t),t!=n;)t=t.nextSibling,u=!1;return o}(r,n,c,t,u)),f=Ke(r.doc,et(t,0),et(u,Ge(r.doc,u).text.length));p.length>1&&f.length>1;)if(J(p)==J(f))p.pop(),f.pop(),u--;else{if(p[0]!=f[0])break;p.shift(),f.shift(),t++}for(var d=0,h=0,m=p[0],g=f[0],y=Math.min(m.length,g.length);d<y&&m.charCodeAt(d)==g.charCodeAt(d);)++d;for(var v=J(p),b=J(f),E=Math.min(v.length-(1==p.length?d:0),b.length-(1==f.length?d:0));h<E&&v.charCodeAt(v.length-h-1)==b.charCodeAt(b.length-h-1);)++h;if(1==p.length&&1==f.length&&t==a.line)for(;d&&d>a.ch&&v.charCodeAt(v.length-h-1)==b.charCodeAt(b.length-h-1);)d--,h++;p[p.length-1]=v.slice(0,v.length-h).replace(/^\\u200b+/,\"\"),p[0]=p[0].slice(d).replace(/\\u200b+$/,\"\");var x=et(t,d),D=et(u,f.length?J(f).length-h:0);return p.length>1||p[0]||tt(x,D)?(mo(r.doc,p,x,D,\"+input\"),!0):void 0},Ua.prototype.ensurePolled=function(){this.forceCompositionEnd()},Ua.prototype.reset=function(){this.forceCompositionEnd()},Ua.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},Ua.prototype.readFromDOMSoon=function(){var e=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout((function(){if(e.readDOMTimeout=null,e.composing){if(!e.composing.done)return;e.composing=null}e.updateFromDOM()}),80))},Ua.prototype.updateFromDOM=function(){var e=this;!this.cm.isReadOnly()&&this.pollContent()||Zr(this.cm,(function(){return pr(e.cm)}))},Ua.prototype.setUneditable=function(e){e.contentEditable=\"false\"},Ua.prototype.onKeyPress=function(e){0==e.charCode||this.composing||(e.preventDefault(),this.cm.isReadOnly()||ei(this.cm,Na)(this.cm,String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),0))},Ua.prototype.readOnlyChanged=function(e){this.div.contentEditable=String(\"nocursor\"!=e)},Ua.prototype.onContextMenu=function(){},Ua.prototype.resetPosition=function(){},Ua.prototype.needsContentAttribute=!0;var Wa=function(e){this.cm=e,this.prevInput=\"\",this.pollingFast=!1,this.polling=new B,this.hasSelection=!1,this.composing=null};Wa.prototype.init=function(e){var t=this,n=this,r=this.cm;this.createField(e);var i=this.textarea;function o(e){if(!me(r,e)){if(r.somethingSelected())Fa({lineWise:!1,text:r.getSelections()});else{if(!r.options.lineWiseCopyCut)return;var t=ja(r);Fa({lineWise:!0,text:t.text}),\"cut\"==e.type?r.setSelections(t.ranges,null,V):(n.prevInput=\"\",i.value=t.text.join(\"\\n\"),j(i))}\"cut\"==e.type&&(r.state.cutIncoming=+new Date)}}e.wrapper.insertBefore(this.wrapper,e.wrapper.firstChild),m&&(i.style.width=\"0px\"),pe(i,\"input\",(function(){a&&s>=9&&t.hasSelection&&(t.hasSelection=null),n.poll()})),pe(i,\"paste\",(function(e){me(r,e)||Ia(e,r)||(r.state.pasteIncoming=+new Date,n.fastPoll())})),pe(i,\"cut\",o),pe(i,\"copy\",o),pe(e.scroller,\"paste\",(function(t){if(!Dn(e,t)&&!me(r,t)){if(!i.dispatchEvent)return r.state.pasteIncoming=+new Date,void n.focus();var o=new Event(\"paste\");o.clipboardData=t.clipboardData,i.dispatchEvent(o)}})),pe(e.lineSpace,\"selectstart\",(function(t){Dn(e,t)||be(t)})),pe(i,\"compositionstart\",(function(){var e=r.getCursor(\"from\");n.composing&&n.composing.range.clear(),n.composing={start:e,range:r.markText(e,r.getCursor(\"to\"),{className:\"CodeMirror-composing\"})}})),pe(i,\"compositionend\",(function(){n.composing&&(n.poll(),n.composing.range.clear(),n.composing=null)}))},Wa.prototype.createField=function(e){this.wrapper=Pa(),this.textarea=this.wrapper.firstChild},Wa.prototype.screenReaderLabelChanged=function(e){e?this.textarea.setAttribute(\"aria-label\",e):this.textarea.removeAttribute(\"aria-label\")},Wa.prototype.prepareSelection=function(){var e=this.cm,t=e.display,n=e.doc,r=yr(e);if(e.options.moveInputWithCursor){var i=Kn(e,n.sel.primary().head,\"div\"),o=t.wrapper.getBoundingClientRect(),a=t.lineDiv.getBoundingClientRect();r.teTop=Math.max(0,Math.min(t.wrapper.clientHeight-10,i.top+a.top-o.top)),r.teLeft=Math.max(0,Math.min(t.wrapper.clientWidth-10,i.left+a.left-o.left))}return r},Wa.prototype.showSelection=function(e){var t=this.cm.display;T(t.cursorDiv,e.cursors),T(t.selectionDiv,e.selection),null!=e.teTop&&(this.wrapper.style.top=e.teTop+\"px\",this.wrapper.style.left=e.teLeft+\"px\")},Wa.prototype.reset=function(e){if(!this.contextMenuPending&&!this.composing){var t=this.cm;if(t.somethingSelected()){this.prevInput=\"\";var n=t.getSelection();this.textarea.value=n,t.state.focused&&j(this.textarea),a&&s>=9&&(this.hasSelection=n)}else e||(this.prevInput=this.textarea.value=\"\",a&&s>=9&&(this.hasSelection=null))}},Wa.prototype.getField=function(){return this.textarea},Wa.prototype.supportsTouch=function(){return!1},Wa.prototype.focus=function(){if(\"nocursor\"!=this.cm.options.readOnly&&(!y||N()!=this.textarea))try{this.textarea.focus()}catch(e){}},Wa.prototype.blur=function(){this.textarea.blur()},Wa.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},Wa.prototype.receivedFocus=function(){this.slowPoll()},Wa.prototype.slowPoll=function(){var e=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,(function(){e.poll(),e.cm.state.focused&&e.slowPoll()}))},Wa.prototype.fastPoll=function(){var e=!1,t=this;t.pollingFast=!0,t.polling.set(20,(function n(){t.poll()||e?(t.pollingFast=!1,t.slowPoll()):(e=!0,t.polling.set(60,n))}))},Wa.prototype.poll=function(){var e=this,t=this.cm,n=this.textarea,r=this.prevInput;if(this.contextMenuPending||!t.state.focused||Ne(n)&&!r&&!this.composing||t.isReadOnly()||t.options.disableInput||t.state.keySeq)return!1;var i=n.value;if(i==r&&!t.somethingSelected())return!1;if(a&&s>=9&&this.hasSelection===i||v&&/[\\uf700-\\uf7ff]/.test(i))return t.display.input.reset(),!1;if(t.doc.sel==t.display.selForContextMenu){var o=i.charCodeAt(0);if(8203!=o||r||(r=\"​\"),8666==o)return this.reset(),this.cm.execCommand(\"undo\")}for(var u=0,c=Math.min(r.length,i.length);u<c&&r.charCodeAt(u)==i.charCodeAt(u);)++u;return Zr(t,(function(){Na(t,i.slice(u),r.length-u,null,e.composing?\"*compose\":null),i.length>1e3||i.indexOf(\"\\n\")>-1?n.value=e.prevInput=\"\":e.prevInput=i,e.composing&&(e.composing.range.clear(),e.composing.range=t.markText(e.composing.start,t.getCursor(\"to\"),{className:\"CodeMirror-composing\"}))})),!0},Wa.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},Wa.prototype.onKeyPress=function(){a&&s>=9&&(this.hasSelection=null),this.fastPoll()},Wa.prototype.onContextMenu=function(e){var t=this,n=t.cm,r=n.display,i=t.textarea;t.contextMenuPending&&t.contextMenuPending();var o=cr(n,e),c=r.scroller.scrollTop;if(o&&!p){n.options.resetSelectionOnContextMenu&&-1==n.doc.sel.contains(o)&&ei(n,Zi)(n.doc,Si(o),V);var l,f=i.style.cssText,d=t.wrapper.style.cssText,h=t.wrapper.offsetParent.getBoundingClientRect();if(t.wrapper.style.cssText=\"position: static\",i.style.cssText=\"position: absolute; width: 30px; height: 30px;\\n      top: \"+(e.clientY-h.top-5)+\"px; left: \"+(e.clientX-h.left-5)+\"px;\\n      z-index: 1000; background: \"+(a?\"rgba(255, 255, 255, .05)\":\"transparent\")+\";\\n      outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);\",u&&(l=window.scrollY),r.input.focus(),u&&window.scrollTo(null,l),r.input.reset(),n.somethingSelected()||(i.value=t.prevInput=\" \"),t.contextMenuPending=y,r.selForContextMenu=n.doc.sel,clearTimeout(r.detectingSelectAll),a&&s>=9&&g(),C){De(e);var m=function(){de(window,\"mouseup\",m),setTimeout(y,20)};pe(window,\"mouseup\",m)}else setTimeout(y,50)}function g(){if(null!=i.selectionStart){var e=n.somethingSelected(),o=\"​\"+(e?i.value:\"\");i.value=\"⇚\",i.value=o,t.prevInput=e?\"\":\"​\",i.selectionStart=1,i.selectionEnd=o.length,r.selForContextMenu=n.doc.sel}}function y(){if(t.contextMenuPending==y&&(t.contextMenuPending=!1,t.wrapper.style.cssText=d,i.style.cssText=f,a&&s<9&&r.scrollbars.setScrollTop(r.scroller.scrollTop=c),null!=i.selectionStart)){(!a||a&&s<9)&&g();var e=0,o=function(){r.selForContextMenu==n.doc.sel&&0==i.selectionStart&&i.selectionEnd>0&&\"​\"==t.prevInput?ei(n,so)(n):e++<10?r.detectingSelectAll=setTimeout(o,500):(r.selForContextMenu=null,r.input.reset())};r.detectingSelectAll=setTimeout(o,200)}}},Wa.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled=\"nocursor\"==e},Wa.prototype.setUneditable=function(){},Wa.prototype.needsContentAttribute=!1,function(e){var t=e.optionHandlers;function n(n,r,i,o){e.defaults[n]=r,i&&(t[n]=o?function(e,t,n){n!=Da&&i(e,t,n)}:i)}e.defineOption=n,e.Init=Da,n(\"value\",\"\",(function(e,t){return e.setValue(t)}),!0),n(\"mode\",null,(function(e,t){e.doc.modeOption=t,Oi(e)}),!0),n(\"indentUnit\",2,Oi,!0),n(\"indentWithTabs\",!1),n(\"smartIndent\",!0),n(\"tabSize\",4,(function(e){Fi(e),Un(e),pr(e)}),!0),n(\"lineSeparator\",null,(function(e,t){if(e.doc.lineSep=t,t){var n=[],r=e.doc.first;e.doc.iter((function(e){for(var i=0;;){var o=e.text.indexOf(t,i);if(-1==o)break;i=o+t.length,n.push(et(r,o))}r++}));for(var i=n.length-1;i>=0;i--)mo(e.doc,t,n[i],et(n[i].line,n[i].ch+t.length))}})),n(\"specialChars\",/[\\u0000-\\u001f\\u007f-\\u009f\\u00ad\\u061c\\u200b-\\u200c\\u200e\\u200f\\u2028\\u2029\\ufeff\\ufff9-\\ufffc]/g,(function(e,t,n){e.state.specialChars=new RegExp(t.source+(t.test(\"\\t\")?\"\":\"|\\t\"),\"g\"),n!=Da&&e.refresh()})),n(\"specialCharPlaceholder\",Xt,(function(e){return e.refresh()}),!0),n(\"electricChars\",!0),n(\"inputStyle\",y?\"contenteditable\":\"textarea\",(function(){throw new Error(\"inputStyle can not (yet) be changed in a running editor\")}),!0),n(\"spellcheck\",!1,(function(e,t){return e.getInputField().spellcheck=t}),!0),n(\"autocorrect\",!1,(function(e,t){return e.getInputField().autocorrect=t}),!0),n(\"autocapitalize\",!1,(function(e,t){return e.getInputField().autocapitalize=t}),!0),n(\"rtlMoveVisually\",!E),n(\"wholeLineUpdateBefore\",!0),n(\"theme\",\"default\",(function(e){xa(e),mi(e)}),!0),n(\"keyMap\",\"default\",(function(e,t,n){var r=Yo(t),i=n!=Da&&Yo(n);i&&i.detach&&i.detach(e,r),r.attach&&r.attach(e,i||null)})),n(\"extraKeys\",null),n(\"configureMouse\",null),n(\"lineWrapping\",!1,ka,!0),n(\"gutters\",[],(function(e,t){e.display.gutterSpecs=di(t,e.options.lineNumbers),mi(e)}),!0),n(\"fixedGutter\",!0,(function(e,t){e.display.gutters.style.left=t?ar(e.display)+\"px\":\"0\",e.refresh()}),!0),n(\"coverGutterNextToScrollbar\",!1,(function(e){return zr(e)}),!0),n(\"scrollbarStyle\",\"native\",(function(e){Hr(e),zr(e),e.display.scrollbars.setScrollTop(e.doc.scrollTop),e.display.scrollbars.setScrollLeft(e.doc.scrollLeft)}),!0),n(\"lineNumbers\",!1,(function(e,t){e.display.gutterSpecs=di(e.options.gutters,t),mi(e)}),!0),n(\"firstLineNumber\",1,mi,!0),n(\"lineNumberFormatter\",(function(e){return e}),mi,!0),n(\"showCursorWhenSelecting\",!1,gr,!0),n(\"resetSelectionOnContextMenu\",!0),n(\"lineWiseCopyCut\",!0),n(\"pasteLinesPerSelection\",!0),n(\"selectionsMayTouch\",!1),n(\"readOnly\",!1,(function(e,t){\"nocursor\"==t&&(Sr(e),e.display.input.blur()),e.display.input.readOnlyChanged(t)})),n(\"screenReaderLabel\",null,(function(e,t){t=\"\"===t?null:t,e.display.input.screenReaderLabelChanged(t)})),n(\"disableInput\",!1,(function(e,t){t||e.display.input.reset()}),!0),n(\"dragDrop\",!0,Sa),n(\"allowDropFileTypes\",null),n(\"cursorBlinkRate\",530),n(\"cursorScrollMargin\",0),n(\"cursorHeight\",1,gr,!0),n(\"singleCursorHeightPerLine\",!0,gr,!0),n(\"workTime\",100),n(\"workDelay\",100),n(\"flattenSpans\",!0,Fi,!0),n(\"addModeClass\",!1,Fi,!0),n(\"pollInterval\",100),n(\"undoDepth\",200,(function(e,t){return e.doc.history.undoDepth=t})),n(\"historyEventDelay\",1250),n(\"viewportMargin\",10,(function(e){return e.refresh()}),!0),n(\"maxHighlightLength\",1e4,Fi,!0),n(\"moveInputWithCursor\",!0,(function(e,t){t||e.display.input.resetPosition()})),n(\"tabindex\",null,(function(e,t){return e.display.input.getField().tabIndex=t||\"\"})),n(\"autofocus\",null),n(\"direction\",\"ltr\",(function(e,t){return e.doc.setDirection(t)}),!0),n(\"phrases\",null)}(Aa),function(e){var t=e.optionHandlers,n=e.helpers={};e.prototype={constructor:e,focus:function(){window.focus(),this.display.input.focus()},setOption:function(e,n){var r=this.options,i=r[e];r[e]==n&&\"mode\"!=e||(r[e]=n,t.hasOwnProperty(e)&&ei(this,t[e])(this,n,i),he(this,\"optionChange\",this,e))},getOption:function(e){return this.options[e]},getDoc:function(){return this.doc},addKeyMap:function(e,t){this.state.keyMaps[t?\"push\":\"unshift\"](Yo(e))},removeKeyMap:function(e){for(var t=this.state.keyMaps,n=0;n<t.length;++n)if(t[n]==e||t[n].name==e)return t.splice(n,1),!0},addOverlay:ti((function(t,n){var r=t.token?t:e.getMode(this.options,t);if(r.startState)throw new Error(\"Overlays may not be stateful.\");!function(e,t,n){for(var r=0,i=n(t);r<e.length&&n(e[r])<=i;)r++;e.splice(r,0,t)}(this.state.overlays,{mode:r,modeSpec:t,opaque:n&&n.opaque,priority:n&&n.priority||0},(function(e){return e.priority})),this.state.modeGen++,pr(this)})),removeOverlay:ti((function(e){for(var t=this.state.overlays,n=0;n<t.length;++n){var r=t[n].modeSpec;if(r==e||\"string\"==typeof e&&r.name==e)return t.splice(n,1),this.state.modeGen++,void pr(this)}})),indentLine:ti((function(e,t,n){\"string\"!=typeof t&&\"number\"!=typeof t&&(t=null==t?this.options.smartIndent?\"smart\":\"prev\":t?\"add\":\"subtract\"),Xe(this.doc,e)&&_a(this,e,t,n)})),indentSelection:ti((function(e){for(var t=this.doc.sel.ranges,n=-1,r=0;r<t.length;r++){var i=t[r];if(i.empty())i.head.line>n&&(_a(this,i.head.line,e,!0),n=i.head.line,r==this.doc.sel.primIndex&&Fr(this));else{var o=i.from(),a=i.to(),s=Math.max(n,o.line);n=Math.min(this.lastLine(),a.line-(a.ch?0:1))+1;for(var u=s;u<n;++u)_a(this,u,e);var c=this.doc.sel.ranges;0==o.ch&&t.length==c.length&&c[r].from().ch>0&&Yi(this.doc,r,new Ci(o,c[r].to()),V)}}})),getTokenAt:function(e,t){return vt(this,e,t)},getLineTokens:function(e,t){return vt(this,et(e),t,!0)},getTokenTypeAt:function(e){e=st(this.doc,e);var t,n=ft(this,Ge(this.doc,e.line)),r=0,i=(n.length-1)/2,o=e.ch;if(0==o)t=n[2];else for(;;){var a=r+i>>1;if((a?n[2*a-1]:0)>=o)i=a;else{if(!(n[2*a+1]<o)){t=n[2*a+2];break}r=a+1}}var s=t?t.indexOf(\"overlay \"):-1;return s<0?t:0==s?null:t.slice(0,s-1)},getModeAt:function(t){var n=this.doc.mode;return n.innerMode?e.innerMode(n,this.getTokenAt(t).state).mode:n},getHelper:function(e,t){return this.getHelpers(e,t)[0]},getHelpers:function(e,t){var r=[];if(!n.hasOwnProperty(t))return r;var i=n[t],o=this.getModeAt(e);if(\"string\"==typeof o[t])i[o[t]]&&r.push(i[o[t]]);else if(o[t])for(var a=0;a<o[t].length;a++){var s=i[o[t][a]];s&&r.push(s)}else o.helperType&&i[o.helperType]?r.push(i[o.helperType]):i[o.name]&&r.push(i[o.name]);for(var u=0;u<i._global.length;u++){var c=i._global[u];c.pred(o,this)&&-1==U(r,c.val)&&r.push(c.val)}return r},getStateAfter:function(e,t){var n=this.doc;return dt(this,(e=at(n,null==e?n.first+n.size-1:e))+1,t).state},cursorCoords:function(e,t){var n=this.doc.sel.primary();return Kn(this,null==e?n.head:\"object\"==typeof e?st(this.doc,e):e?n.from():n.to(),t||\"page\")},charCoords:function(e,t){return Gn(this,st(this.doc,e),t||\"page\")},coordsChar:function(e,t){return Yn(this,(e=Wn(this,e,t||\"page\")).left,e.top)},lineAtHeight:function(e,t){return e=Wn(this,{top:e,left:0},t||\"page\").top,$e(this.doc,e+this.display.viewOffset)},heightAtLine:function(e,t,n){var r,i=!1;if(\"number\"==typeof e){var o=this.doc.first+this.doc.size-1;e<this.doc.first?e=this.doc.first:e>o&&(e=o,i=!0),r=Ge(this.doc,e)}else r=e;return Hn(this,r,{top:0,left:0},t||\"page\",n||i).top+(i?this.doc.height-qt(r):0)},defaultTextHeight:function(){return rr(this.display)},defaultCharWidth:function(){return ir(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(e,t,n,r,i){var o,a,s,u=this.display,c=(e=Kn(this,st(this.doc,e))).bottom,l=e.left;if(t.style.position=\"absolute\",t.setAttribute(\"cm-ignore-events\",\"true\"),this.display.input.setUneditable(t),u.sizer.appendChild(t),\"over\"==r)c=e.top;else if(\"above\"==r||\"near\"==r){var p=Math.max(u.wrapper.clientHeight,this.doc.height),f=Math.max(u.sizer.clientWidth,u.lineSpace.clientWidth);(\"above\"==r||e.bottom+t.offsetHeight>p)&&e.top>t.offsetHeight?c=e.top-t.offsetHeight:e.bottom+t.offsetHeight<=p&&(c=e.bottom),l+t.offsetWidth>f&&(l=f-t.offsetWidth)}t.style.top=c+\"px\",t.style.left=t.style.right=\"\",\"right\"==i?(l=u.sizer.clientWidth-t.offsetWidth,t.style.right=\"0px\"):(\"left\"==i?l=0:\"middle\"==i&&(l=(u.sizer.clientWidth-t.offsetWidth)/2),t.style.left=l+\"px\"),n&&(o=this,a={left:l,top:c,right:l+t.offsetWidth,bottom:c+t.offsetHeight},null!=(s=_r(o,a)).scrollTop&&jr(o,s.scrollTop),null!=s.scrollLeft&&Pr(o,s.scrollLeft))},triggerOnKeyDown:ti(la),triggerOnKeyPress:ti(fa),triggerOnKeyUp:pa,triggerOnMouseDown:ti(ga),execCommand:function(e){if(ta.hasOwnProperty(e))return ta[e].call(null,this)},triggerElectric:ti((function(e){Ma(this,e)})),findPosH:function(e,t,n,r){var i=1;t<0&&(i=-1,t=-t);for(var o=st(this.doc,e),a=0;a<t&&!(o=Ra(this.doc,o,i,n,r)).hitSide;++a);return o},moveH:ti((function(e,t){var n=this;this.extendSelectionsBy((function(r){return n.display.shift||n.doc.extend||r.empty()?Ra(n.doc,r.head,e,t,n.options.rtlMoveVisually):e<0?r.from():r.to()}),H)})),deleteH:ti((function(e,t){var n=this.doc.sel,r=this.doc;n.somethingSelected()?r.replaceSelection(\"\",null,\"+delete\"):$o(this,(function(n){var i=Ra(r,n.head,e,t,!1);return e<0?{from:i,to:n.head}:{from:n.head,to:i}}))})),findPosV:function(e,t,n,r){var i=1,o=r;t<0&&(i=-1,t=-t);for(var a=st(this.doc,e),s=0;s<t;++s){var u=Kn(this,a,\"div\");if(null==o?o=u.left:u.left=o,(a=Ba(this,u,i,n)).hitSide)break}return a},moveV:ti((function(e,t){var n=this,r=this.doc,i=[],o=!this.display.shift&&!r.extend&&r.sel.somethingSelected();if(r.extendSelectionsBy((function(a){if(o)return e<0?a.from():a.to();var s=Kn(n,a.head,\"div\");null!=a.goalColumn&&(s.left=a.goalColumn),i.push(s.left);var u=Ba(n,s,e,t);return\"page\"==t&&a==r.sel.primary()&&Or(n,Gn(n,u,\"div\").top-s.top),u}),H),i.length)for(var a=0;a<r.sel.ranges.length;a++)r.sel.ranges[a].goalColumn=i[a]})),findWordAt:function(e){var t=Ge(this.doc,e.line).text,n=e.ch,r=e.ch;if(t){var i=this.getHelper(e,\"wordChars\");\"before\"!=e.sticky&&r!=t.length||!n?++r:--n;for(var o=t.charAt(n),a=ee(o,i)?function(e){return ee(e,i)}:/\\s/.test(o)?function(e){return/\\s/.test(e)}:function(e){return!/\\s/.test(e)&&!ee(e)};n>0&&a(t.charAt(n-1));)--n;for(;r<t.length&&a(t.charAt(r));)++r}return new Ci(et(e.line,n),et(e.line,r))},toggleOverwrite:function(e){null!=e&&e==this.state.overwrite||((this.state.overwrite=!this.state.overwrite)?I(this.display.cursorDiv,\"CodeMirror-overwrite\"):k(this.display.cursorDiv,\"CodeMirror-overwrite\"),he(this,\"overwriteToggle\",this,this.state.overwrite))},hasFocus:function(){return this.display.input.getField()==N()},isReadOnly:function(){return!(!this.options.readOnly&&!this.doc.cantEdit)},scrollTo:ti((function(e,t){Nr(this,e,t)})),getScrollInfo:function(){var e=this.display.scroller;return{left:e.scrollLeft,top:e.scrollTop,height:e.scrollHeight-kn(this)-this.display.barHeight,width:e.scrollWidth-kn(this)-this.display.barWidth,clientHeight:Tn(this),clientWidth:An(this)}},scrollIntoView:ti((function(e,t){null==e?(e={from:this.doc.sel.primary().head,to:null},null==t&&(t=this.options.cursorScrollMargin)):\"number\"==typeof e?e={from:et(e,0),to:null}:null==e.from&&(e={from:e,to:null}),e.to||(e.to=e.from),e.margin=t||0,null!=e.from.line?function(e,t){Ir(e),e.curOp.scrollToPos=t}(this,e):Mr(this,e.from,e.to,e.margin)})),setSize:ti((function(e,t){var n=this,r=function(e){return\"number\"==typeof e||/^\\d+$/.test(String(e))?e+\"px\":e};null!=e&&(this.display.wrapper.style.width=r(e)),null!=t&&(this.display.wrapper.style.height=r(t)),this.options.lineWrapping&&Bn(this);var i=this.display.viewFrom;this.doc.iter(i,this.display.viewTo,(function(e){if(e.widgets)for(var t=0;t<e.widgets.length;t++)if(e.widgets[t].noHScroll){fr(n,i,\"widget\");break}++i})),this.curOp.forceUpdate=!0,he(this,\"refresh\",this)})),operation:function(e){return Zr(this,e)},startOperation:function(){return Gr(this)},endOperation:function(){return Kr(this)},refresh:ti((function(){var e=this.display.cachedTextHeight;pr(this),this.curOp.forceUpdate=!0,Un(this),Nr(this,this.doc.scrollLeft,this.doc.scrollTop),ci(this.display),(null==e||Math.abs(e-rr(this.display))>.5||this.options.lineWrapping)&&ur(this),he(this,\"refresh\",this)})),swapDoc:ti((function(e){var t=this.doc;return t.cm=null,this.state.selectingText&&this.state.selectingText(),ji(this,e),Un(this),this.display.input.reset(),Nr(this,e.scrollLeft,e.scrollTop),this.curOp.forceScroll=!0,un(this,\"swapDoc\",this,t),t})),phrase:function(e){var t=this.options.phrases;return t&&Object.prototype.hasOwnProperty.call(t,e)?t[e]:e},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},ve(e),e.registerHelper=function(t,r,i){n.hasOwnProperty(t)||(n[t]=e[t]={_global:[]}),n[t][r]=i},e.registerGlobalHelper=function(t,r,i,o){e.registerHelper(t,r,o),n[t]._global.push({pred:i,val:o})}}(Aa);var Ga=\"iter insert remove copy getEditor constructor\".split(\" \");for(var Ka in Fo.prototype)Fo.prototype.hasOwnProperty(Ka)&&U(Ga,Ka)<0&&(Aa.prototype[Ka]=function(e){return function(){return e.apply(this.doc,arguments)}}(Fo.prototype[Ka]));return ve(Fo),Aa.inputStyles={textarea:Wa,contenteditable:Ua},Aa.defineMode=function(e){Aa.defaults.mode||\"null\"==e||(Aa.defaults.mode=e),Pe.apply(this,arguments)},Aa.defineMIME=function(e,t){Le[e]=t},Aa.defineMode(\"null\",(function(){return{token:function(e){return e.skipToEnd()}}})),Aa.defineMIME(\"text/plain\",\"null\"),Aa.defineExtension=function(e,t){Aa.prototype[e]=t},Aa.defineDocExtension=function(e,t){Fo.prototype[e]=t},Aa.fromTextArea=function(e,t){if((t=t?P(t):{}).value=e.value,!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex),!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder),null==t.autofocus){var n=N();t.autofocus=n==e||null!=e.getAttribute(\"autofocus\")&&n==document.body}function r(){e.value=s.getValue()}var i;if(e.form&&(pe(e.form,\"submit\",r),!t.leaveSubmitMethodAlone)){var o=e.form;i=o.submit;try{var a=o.submit=function(){r(),o.submit=i,o.submit(),o.submit=a}}catch(e){}}t.finishInit=function(n){n.save=r,n.getTextArea=function(){return e},n.toTextArea=function(){n.toTextArea=isNaN,r(),e.parentNode.removeChild(n.getWrapperElement()),e.style.display=\"\",e.form&&(de(e.form,\"submit\",r),t.leaveSubmitMethodAlone||\"function\"!=typeof e.form.submit||(e.form.submit=i))}},e.style.display=\"none\";var s=Aa((function(t){return e.parentNode.insertBefore(t,e.nextSibling)}),t);return s},function(e){e.off=de,e.on=pe,e.wheelEventPixels=Ei,e.Doc=Fo,e.splitLines=Fe,e.countColumn=R,e.findColumn=W,e.isWordChar=Z,e.Pass=z,e.signal=he,e.Line=Gt,e.changeEnd=ki,e.scrollbarModel=qr,e.Pos=et,e.cmpPos=tt,e.modes=je,e.mimeModes=Le,e.resolveMode=Re,e.getMode=Be,e.modeExtensions=Ue,e.extendMode=ze,e.copyState=Ve,e.startState=He,e.innerMode=qe,e.commands=ta,e.keyMap=qo,e.keyName=Qo,e.isModifierKey=Ko,e.lookupKey=Go,e.normalizeKeyMap=Wo,e.StringStream=We,e.SharedTextMarker=Ao,e.TextMarker=So,e.LineWidget=Do,e.e_preventDefault=be,e.e_stopPropagation=Ee,e.e_stop=De,e.addClass=I,e.contains=F,e.rmClass=k,e.keyNames=Bo}(Aa),Aa.version=\"5.57.0\",Aa}()},function(e,t,n){\"use strict\";function r(e,t){if(!Boolean(e))throw new Error(null!=t?t:\"Unexpected invariant triggered.\")}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i})),n.d(t,\"b\",(function(){return o})),n.d(t,\"c\",(function(){return a})),n.d(t,\"d\",(function(){return s})),n.d(t,\"e\",(function(){return u})),n.d(t,\"f\",(function(){return c})),n.d(t,\"g\",(function(){return h})),n.d(t,\"h\",(function(){return l})),n.d(t,\"i\",(function(){return p})),n.d(t,\"j\",(function(){return f})),n.d(t,\"k\",(function(){return d}));var r=function(e){return\"@@redux-saga/\"+e},i=r(\"CANCEL_PROMISE\"),o=r(\"CHANNEL_END\"),a=r(\"IO\"),s=r(\"MATCH\"),u=r(\"MULTICAST\"),c=r(\"SAGA_ACTION\"),l=r(\"SELF_CANCELLATION\"),p=r(\"TASK\"),f=r(\"TASK_CANCEL\"),d=r(\"TERMINATE\"),h=r(\"LOCATION\")},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return i})),n.d(t,\"a\",(function(){return o})),n.d(t,\"c\",(function(){return a})),n.d(t,\"d\",(function(){return s}));\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\nvar r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function i(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function a(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n}function s(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),i=0;for(t=0;t<n;t++)for(var o=arguments[t],a=0,s=o.length;a<s;a++,i++)r[i]=o[a];return r}},function(e,t,n){\"use strict\";n.r(t),n.d(t,\"version\",(function(){return r})),n.d(t,\"versionInfo\",(function(){return i})),n.d(t,\"graphql\",(function(){return de})),n.d(t,\"graphqlSync\",(function(){return he})),n.d(t,\"GraphQLSchema\",(function(){return ge.a})),n.d(t,\"GraphQLDirective\",(function(){return x.c})),n.d(t,\"GraphQLScalarType\",(function(){return D.g})),n.d(t,\"GraphQLObjectType\",(function(){return D.f})),n.d(t,\"GraphQLInterfaceType\",(function(){return D.c})),n.d(t,\"GraphQLUnionType\",(function(){return D.h})),n.d(t,\"GraphQLEnumType\",(function(){return D.a})),n.d(t,\"GraphQLInputObjectType\",(function(){return D.b})),n.d(t,\"GraphQLList\",(function(){return D.d})),n.d(t,\"GraphQLNonNull\",(function(){return D.e})),n.d(t,\"specifiedScalarTypes\",(function(){return ye.g})),n.d(t,\"GraphQLInt\",(function(){return ye.d})),n.d(t,\"GraphQLFloat\",(function(){return ye.b})),n.d(t,\"GraphQLString\",(function(){return ye.e})),n.d(t,\"GraphQLBoolean\",(function(){return ye.a})),n.d(t,\"GraphQLID\",(function(){return ye.c})),n.d(t,\"specifiedDirectives\",(function(){return x.j})),n.d(t,\"GraphQLIncludeDirective\",(function(){return x.d})),n.d(t,\"GraphQLSkipDirective\",(function(){return x.e})),n.d(t,\"GraphQLDeprecatedDirective\",(function(){return x.b})),n.d(t,\"GraphQLSpecifiedByDirective\",(function(){return x.f})),n.d(t,\"TypeKind\",(function(){return E.TypeKind})),n.d(t,\"DEFAULT_DEPRECATION_REASON\",(function(){return x.a})),n.d(t,\"introspectionTypes\",(function(){return E.introspectionTypes})),n.d(t,\"__Schema\",(function(){return E.__Schema})),n.d(t,\"__Directive\",(function(){return E.__Directive})),n.d(t,\"__DirectiveLocation\",(function(){return E.__DirectiveLocation})),n.d(t,\"__Type\",(function(){return E.__Type})),n.d(t,\"__Field\",(function(){return E.__Field})),n.d(t,\"__InputValue\",(function(){return E.__InputValue})),n.d(t,\"__EnumValue\",(function(){return E.__EnumValue})),n.d(t,\"__TypeKind\",(function(){return E.__TypeKind})),n.d(t,\"SchemaMetaFieldDef\",(function(){return E.SchemaMetaFieldDef})),n.d(t,\"TypeMetaFieldDef\",(function(){return E.TypeMetaFieldDef})),n.d(t,\"TypeNameMetaFieldDef\",(function(){return E.TypeNameMetaFieldDef})),n.d(t,\"isSchema\",(function(){return ge.c})),n.d(t,\"isDirective\",(function(){return x.h})),n.d(t,\"isType\",(function(){return D.S})),n.d(t,\"isScalarType\",(function(){return D.R})),n.d(t,\"isObjectType\",(function(){return D.N})),n.d(t,\"isInterfaceType\",(function(){return D.H})),n.d(t,\"isUnionType\",(function(){return D.T})),n.d(t,\"isEnumType\",(function(){return D.E})),n.d(t,\"isInputObjectType\",(function(){return D.F})),n.d(t,\"isListType\",(function(){return D.J})),n.d(t,\"isNonNullType\",(function(){return D.L})),n.d(t,\"isInputType\",(function(){return D.G})),n.d(t,\"isOutputType\",(function(){return D.O})),n.d(t,\"isLeafType\",(function(){return D.I})),n.d(t,\"isCompositeType\",(function(){return D.D})),n.d(t,\"isAbstractType\",(function(){return D.C})),n.d(t,\"isWrappingType\",(function(){return D.U})),n.d(t,\"isNullableType\",(function(){return D.M})),n.d(t,\"isNamedType\",(function(){return D.K})),n.d(t,\"isRequiredArgument\",(function(){return D.P})),n.d(t,\"isRequiredInputField\",(function(){return D.Q})),n.d(t,\"isSpecifiedScalarType\",(function(){return ye.f})),n.d(t,\"isIntrospectionType\",(function(){return E.isIntrospectionType})),n.d(t,\"isSpecifiedDirective\",(function(){return x.i})),n.d(t,\"assertSchema\",(function(){return ge.b})),n.d(t,\"assertDirective\",(function(){return x.g})),n.d(t,\"assertType\",(function(){return D.x})),n.d(t,\"assertScalarType\",(function(){return D.w})),n.d(t,\"assertObjectType\",(function(){return D.u})),n.d(t,\"assertInterfaceType\",(function(){return D.o})),n.d(t,\"assertUnionType\",(function(){return D.y})),n.d(t,\"assertEnumType\",(function(){return D.l})),n.d(t,\"assertInputObjectType\",(function(){return D.m})),n.d(t,\"assertListType\",(function(){return D.q})),n.d(t,\"assertNonNullType\",(function(){return D.s})),n.d(t,\"assertInputType\",(function(){return D.n})),n.d(t,\"assertOutputType\",(function(){return D.v})),n.d(t,\"assertLeafType\",(function(){return D.p})),n.d(t,\"assertCompositeType\",(function(){return D.k})),n.d(t,\"assertAbstractType\",(function(){return D.j})),n.d(t,\"assertWrappingType\",(function(){return D.z})),n.d(t,\"assertNullableType\",(function(){return D.t})),n.d(t,\"assertNamedType\",(function(){return D.r})),n.d(t,\"getNullableType\",(function(){return D.B})),n.d(t,\"getNamedType\",(function(){return D.A})),n.d(t,\"validateSchema\",(function(){return u.b})),n.d(t,\"assertValidSchema\",(function(){return u.a})),n.d(t,\"Token\",(function(){return ve.b})),n.d(t,\"Source\",(function(){return be.a})),n.d(t,\"Location\",(function(){return ve.a})),n.d(t,\"getLocation\",(function(){return Ee.a})),n.d(t,\"printLocation\",(function(){return xe.a})),n.d(t,\"printSourceLocation\",(function(){return xe.b})),n.d(t,\"Lexer\",(function(){return De.a})),n.d(t,\"TokenKind\",(function(){return Ce.a})),n.d(t,\"parse\",(function(){return a.a})),n.d(t,\"parseValue\",(function(){return a.c})),n.d(t,\"parseType\",(function(){return a.b})),n.d(t,\"print\",(function(){return T.print})),n.d(t,\"visit\",(function(){return we.c})),n.d(t,\"visitInParallel\",(function(){return we.d})),n.d(t,\"getVisitFn\",(function(){return we.b})),n.d(t,\"BREAK\",(function(){return we.a})),n.d(t,\"Kind\",(function(){return b.a})),n.d(t,\"DirectiveLocation\",(function(){return Se.a})),n.d(t,\"isDefinitionNode\",(function(){return ke.a})),n.d(t,\"isExecutableDefinitionNode\",(function(){return ke.b})),n.d(t,\"isSelectionNode\",(function(){return ke.c})),n.d(t,\"isValueNode\",(function(){return ke.i})),n.d(t,\"isTypeNode\",(function(){return ke.f})),n.d(t,\"isTypeSystemDefinitionNode\",(function(){return ke.g})),n.d(t,\"isTypeDefinitionNode\",(function(){return ke.d})),n.d(t,\"isTypeSystemExtensionNode\",(function(){return ke.h})),n.d(t,\"isTypeExtensionNode\",(function(){return ke.e})),n.d(t,\"execute\",(function(){return z})),n.d(t,\"executeSync\",(function(){return V})),n.d(t,\"defaultFieldResolver\",(function(){return pe})),n.d(t,\"defaultTypeResolver\",(function(){return le})),n.d(t,\"responsePathAsArray\",(function(){return g})),n.d(t,\"getDirectiveValues\",(function(){return B})),n.d(t,\"subscribe\",(function(){return Ne})),n.d(t,\"createSourceEventStream\",(function(){return je})),n.d(t,\"validate\",(function(){return s.c})),n.d(t,\"ValidationContext\",(function(){return Pe.b})),n.d(t,\"specifiedRules\",(function(){return Re.a})),n.d(t,\"ExecutableDefinitionsRule\",(function(){return Be.a})),n.d(t,\"FieldsOnCorrectTypeRule\",(function(){return Ue.a})),n.d(t,\"FragmentsOnCompositeTypesRule\",(function(){return ze.a})),n.d(t,\"KnownArgumentNamesRule\",(function(){return Ve.b})),n.d(t,\"KnownDirectivesRule\",(function(){return qe.a})),n.d(t,\"KnownFragmentNamesRule\",(function(){return He.a})),n.d(t,\"KnownTypeNamesRule\",(function(){return We.a})),n.d(t,\"LoneAnonymousOperationRule\",(function(){return Ge.a})),n.d(t,\"NoFragmentCyclesRule\",(function(){return Ke.a})),n.d(t,\"NoUndefinedVariablesRule\",(function(){return Je.a})),n.d(t,\"NoUnusedFragmentsRule\",(function(){return Qe.a})),n.d(t,\"NoUnusedVariablesRule\",(function(){return Ye.a})),n.d(t,\"OverlappingFieldsCanBeMergedRule\",(function(){return $e.a})),n.d(t,\"PossibleFragmentSpreadsRule\",(function(){return Xe.a})),n.d(t,\"ProvidedRequiredArgumentsRule\",(function(){return Ze.b})),n.d(t,\"ScalarLeafsRule\",(function(){return et.a})),n.d(t,\"SingleFieldSubscriptionsRule\",(function(){return tt.a})),n.d(t,\"UniqueArgumentNamesRule\",(function(){return nt.a})),n.d(t,\"UniqueDirectivesPerLocationRule\",(function(){return rt.a})),n.d(t,\"UniqueFragmentNamesRule\",(function(){return it.a})),n.d(t,\"UniqueInputFieldNamesRule\",(function(){return ot.a})),n.d(t,\"UniqueOperationNamesRule\",(function(){return at.a})),n.d(t,\"UniqueVariableNamesRule\",(function(){return st.a})),n.d(t,\"ValuesOfCorrectTypeRule\",(function(){return ut.a})),n.d(t,\"VariablesAreInputTypesRule\",(function(){return ct.a})),n.d(t,\"VariablesInAllowedPositionRule\",(function(){return lt.a})),n.d(t,\"LoneSchemaDefinitionRule\",(function(){return pt.a})),n.d(t,\"UniqueOperationTypesRule\",(function(){return ft.a})),n.d(t,\"UniqueTypeNamesRule\",(function(){return dt.a})),n.d(t,\"UniqueEnumValueNamesRule\",(function(){return ht.a})),n.d(t,\"UniqueFieldDefinitionNamesRule\",(function(){return mt.a})),n.d(t,\"UniqueDirectiveNamesRule\",(function(){return gt.a})),n.d(t,\"PossibleTypeExtensionsRule\",(function(){return yt.a})),n.d(t,\"NoDeprecatedCustomRule\",(function(){return vt.a})),n.d(t,\"NoSchemaIntrospectionCustomRule\",(function(){return bt})),n.d(t,\"GraphQLError\",(function(){return y.a})),n.d(t,\"syntaxError\",(function(){return Et.a})),n.d(t,\"locatedError\",(function(){return v.a})),n.d(t,\"printError\",(function(){return y.b})),n.d(t,\"formatError\",(function(){return xt})),n.d(t,\"getIntrospectionQuery\",(function(){return wt})),n.d(t,\"getOperationAST\",(function(){return St.getOperationAST})),n.d(t,\"getOperationRootType\",(function(){return w})),n.d(t,\"introspectionFromSchema\",(function(){return Tt})),n.d(t,\"buildClientSchema\",(function(){return Ot})),n.d(t,\"buildASTSchema\",(function(){return Vt})),n.d(t,\"buildSchema\",(function(){return qt})),n.d(t,\"getDescription\",(function(){return zt})),n.d(t,\"extendSchema\",(function(){return Lt})),n.d(t,\"lexicographicSortSchema\",(function(){return Kt})),n.d(t,\"printSchema\",(function(){return Xt})),n.d(t,\"printType\",(function(){return rn})),n.d(t,\"printIntrospectionSchema\",(function(){return Zt})),n.d(t,\"typeFromAST\",(function(){return C.a})),n.d(t,\"valueFromAST\",(function(){return O})),n.d(t,\"valueFromASTUntyped\",(function(){return dn.a})),n.d(t,\"astFromValue\",(function(){return $t.a})),n.d(t,\"TypeInfo\",(function(){return hn.a})),n.d(t,\"visitWithTypeInfo\",(function(){return hn.b})),n.d(t,\"coerceInputValue\",(function(){return M})),n.d(t,\"concatAST\",(function(){return gn})),n.d(t,\"separateOperations\",(function(){return yn})),n.d(t,\"stripIgnoredCharacters\",(function(){return bn})),n.d(t,\"isEqualType\",(function(){return xn.b})),n.d(t,\"isTypeSubTypeOf\",(function(){return xn.c})),n.d(t,\"doTypesOverlap\",(function(){return xn.a})),n.d(t,\"assertValidName\",(function(){return Dn.a})),n.d(t,\"isValidNameError\",(function(){return Dn.b})),n.d(t,\"BreakingChangeType\",(function(){return kn})),n.d(t,\"DangerousChangeType\",(function(){return An})),n.d(t,\"findBreakingChanges\",(function(){return Tn})),n.d(t,\"findDangerousChanges\",(function(){return _n})),n.d(t,\"findDeprecatedUsages\",(function(){return Vn.a}));var r=\"15.3.0\",i=Object.freeze({major:15,minor:3,patch:0,preReleaseTag:null});function o(e){return\"function\"==typeof(null==e?void 0:e.then)}var a=n(65),s=n(66),u=n(81),c=n(58),l=n(4);var p=n(17),f=n(8),d=n(31),h=n(82);function m(e,t,n){return{prev:e,key:t,typename:n}}function g(e){for(var t=[],n=e;n;)t.push(n.key),n=n.prev;return t.reverse()}var y=n(2),v=n(83),b=n(1),E=n(12),x=n(21),D=n(0),C=n(33);function w(e,t){if(\"query\"===t.operation){var n=e.getQueryType();if(!n)throw new y.a(\"Schema does not define the required query root type.\",t);return n}if(\"mutation\"===t.operation){var r=e.getMutationType();if(!r)throw new y.a(\"Schema is not configured for mutations.\",t);return r}if(\"subscription\"===t.operation){var i=e.getSubscriptionType();if(!i)throw new y.a(\"Schema is not configured for subscriptions.\",t);return i}throw new y.a(\"Can only have query, mutation and subscription operations.\",t)}var S=n(56),k=n(36);function A(e){return e.map((function(e){return\"number\"==typeof e?\"[\"+e.toString()+\"]\":\".\"+e})).join(\"\")}var T=n(15),_=n(14);function O(e,t,n){if(e){if(e.kind===b.a.VARIABLE){var r=e.name.value;if(null==n||void 0===n[r])return;var i=n[r];if(null===i&&Object(D.L)(t))return;return i}if(Object(D.L)(t)){if(e.kind===b.a.NULL)return;return O(e,t.ofType,n)}if(e.kind===b.a.NULL)return null;if(Object(D.J)(t)){var o=t.ofType;if(e.kind===b.a.LIST){for(var a=[],s=0,u=e.values;s<u.length;s++){var c=u[s];if(F(c,n)){if(Object(D.L)(o))return;a.push(null)}else{var f=O(c,o,n);if(void 0===f)return;a.push(f)}}return a}var d=O(e,o,n);if(void 0===d)return;return[d]}if(Object(D.F)(t)){if(e.kind!==b.a.OBJECT)return;for(var h=Object.create(null),m=Object(k.a)(e.fields,(function(e){return e.name.value})),g=0,y=Object(_.a)(t.getFields());g<y.length;g++){var v=y[g],E=m[v.name];if(E&&!F(E.value,n)){var x=O(E.value,v.type,n);if(void 0===x)return;h[v.name]=x}else if(void 0!==v.defaultValue)h[v.name]=v.defaultValue;else if(Object(D.L)(v.type))return}return h}if(Object(D.I)(t)){var C;try{C=t.parseLiteral(e,n)}catch(e){return}if(void 0===C)return;return C}Object(p.a)(0,\"Unexpected input type: \"+Object(l.a)(t))}}function F(e,t){return e.kind===b.a.VARIABLE&&(null==t||void 0===t[e.name.value])}var N=n(39),I=n(44);function M(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:j;return L(e,t,n)}function j(e,t,n){var r=\"Invalid value \"+Object(l.a)(t);throw e.length>0&&(r+=' at \"value'.concat(A(e),'\"')),n.message=r+\": \"+n.message,n}function L(e,t,n,r){if(Object(D.L)(t))return null!=e?L(e,t.ofType,n,r):void n(g(r),e,new y.a('Expected non-nullable type \"'.concat(Object(l.a)(t),'\" not to be null.')));if(null==e)return null;if(Object(D.J)(t)){var i=t.ofType;return Object(h.a)(e)?Object(c.a)(e,(function(e,t){var o=m(r,t,void 0);return L(e,i,n,o)})):[L(e,i,n,r)]}if(Object(D.F)(t)){if(!Object(d.a)(e))return void n(g(r),e,new y.a('Expected type \"'.concat(t.name,'\" to be an object.')));for(var o={},a=t.getFields(),s=0,u=Object(_.a)(a);s<u.length;s++){var f=u[s],v=e[f.name];if(void 0!==v)o[f.name]=L(v,f.type,n,m(r,f.name,t.name));else if(void 0!==f.defaultValue)o[f.name]=f.defaultValue;else if(Object(D.L)(f.type)){var b=Object(l.a)(f.type);n(g(r),e,new y.a('Field \"'.concat(f.name,'\" of required type \"').concat(b,'\" was not provided.')))}}for(var E=0,x=Object.keys(e);E<x.length;E++){var C=x[E];if(!a[C]){var w=Object(I.a)(C,Object.keys(t.getFields()));n(g(r),e,new y.a('Field \"'.concat(C,'\" is not defined by type \"').concat(t.name,'\".')+Object(N.a)(w)))}}return o}if(Object(D.I)(t)){var S;try{S=t.parseValue(e)}catch(i){return void(i instanceof y.a?n(g(r),e,i):n(g(r),e,new y.a('Expected type \"'.concat(t.name,'\". ')+i.message,void 0,void 0,void 0,void 0,i)))}return void 0===S&&n(g(r),e,new y.a('Expected type \"'.concat(t.name,'\".'))),S}Object(p.a)(0,\"Unexpected input type: \"+Object(l.a)(t))}function P(e,t,n,r){var i=[],o=null==r?void 0:r.maxErrors;try{var a=function(e,t,n,r){for(var i={},o=function(o){var a=t[o],s=a.variable.name.value,u=Object(C.a)(e,a.type);if(!Object(D.G)(u)){var c=Object(T.print)(a.type);return r(new y.a('Variable \"$'.concat(s,'\" expected value of type \"').concat(c,'\" which cannot be used as an input type.'),a.type)),\"continue\"}if(!U(n,s)){if(a.defaultValue)i[s]=O(a.defaultValue,u);else if(Object(D.L)(u)){var p=Object(l.a)(u);r(new y.a('Variable \"$'.concat(s,'\" of required type \"').concat(p,'\" was not provided.'),a))}return\"continue\"}var f=n[s];if(null===f&&Object(D.L)(u)){var d=Object(l.a)(u);return r(new y.a('Variable \"$'.concat(s,'\" of non-null type \"').concat(d,'\" must not be null.'),a)),\"continue\"}i[s]=M(f,u,(function(e,t,n){var i='Variable \"$'.concat(s,'\" got invalid value ')+Object(l.a)(t);e.length>0&&(i+=' at \"'.concat(s).concat(A(e),'\"')),r(new y.a(i+\"; \"+n.message,a,void 0,void 0,void 0,n.originalError))}))},a=0;a<t.length;a++)o(a);return i}(e,t,n,(function(e){if(null!=o&&i.length>=o)throw new y.a(\"Too many errors processing variables, error limit reached. Execution aborted.\");i.push(e)}));if(0===i.length)return{coerced:a}}catch(e){i.push(e)}return{errors:i}}function R(e,t,n){for(var r,i={},o=null!==(r=t.arguments)&&void 0!==r?r:[],a=Object(k.a)(o,(function(e){return e.name.value})),s=0,u=e.args;s<u.length;s++){var c=u[s],p=c.name,f=c.type,d=a[p];if(d){var h=d.value,m=h.kind===b.a.NULL;if(h.kind===b.a.VARIABLE){var g=h.name.value;if(null==n||!U(n,g)){if(void 0!==c.defaultValue)i[p]=c.defaultValue;else if(Object(D.L)(f))throw new y.a('Argument \"'.concat(p,'\" of required type \"').concat(Object(l.a)(f),'\" ')+'was provided the variable \"$'.concat(g,'\" which was not provided a runtime value.'),h);continue}m=null==n[g]}if(m&&Object(D.L)(f))throw new y.a('Argument \"'.concat(p,'\" of non-null type \"').concat(Object(l.a)(f),'\" ')+\"must not be null.\",h);var v=O(h,f,n);if(void 0===v)throw new y.a('Argument \"'.concat(p,'\" has invalid value ').concat(Object(T.print)(h),\".\"),h);i[p]=v}else if(void 0!==c.defaultValue)i[p]=c.defaultValue;else if(Object(D.L)(f))throw new y.a('Argument \"'.concat(p,'\" of required type \"').concat(Object(l.a)(f),'\" ')+\"was not provided.\",t)}return i}function B(e,t,n){var r=t.directives&&Object(S.a)(t.directives,(function(t){return t.name.value===e.name}));if(r)return R(e,r,n)}function U(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function z(e,t,n,r,i,o,a,s){return 1===arguments.length?q(e):q({schema:e,document:t,rootValue:n,contextValue:r,variableValues:i,operationName:o,fieldResolver:a,typeResolver:s})}function V(e){var t=q(e);if(o(t))throw new Error(\"GraphQL execution failed to complete synchronously.\");return t}function q(e){var t=e.schema,n=e.document,r=e.rootValue,i=e.contextValue,a=e.variableValues,s=e.operationName,u=e.fieldResolver,c=e.typeResolver;H(t,n,a);var l=W(t,n,r,i,a,s,u,c);if(Array.isArray(l))return{errors:l};var p=function(e,t,n){var r=w(e.schema,t),i=K(e,r,t.selectionSet,Object.create(null),Object.create(null));try{var a=\"mutation\"===t.operation?function(e,t,n,r,i){return a=Object.keys(i),s=function(a,s){var u=i[s],c=m(r,s,t.name),l=Y(e,t,n,u,c);return void 0===l?a:o(l)?l.then((function(e){return a[s]=e,a})):(a[s]=l,a)},u=Object.create(null),a.reduce((function(e,t){return o(e)?e.then((function(e){return s(e,t)})):s(e,t)}),u);var a,s,u}(e,r,n,void 0,i):G(e,r,n,void 0,i);return o(a)?a.then(void 0,(function(t){return e.errors.push(t),Promise.resolve(null)})):a}catch(t){return e.errors.push(t),null}}(l,l.operation,r);return function e(t,n){if(o(n))return n.then((function(n){return e(t,n)}));return 0===t.errors.length?{data:n}:{errors:t.errors,data:n}}(l,p)}function H(e,t,n){t||Object(f.a)(0,\"Must provide document.\"),Object(u.a)(e),null==n||Object(d.a)(n)||Object(f.a)(0,\"Variables must be provided as an Object where each property is a variable value. Perhaps look to see if an unparsed JSON string was provided.\")}function W(e,t,n,r,i,o,a,s){for(var u,c,l,p=Object.create(null),f=0,d=t.definitions;f<d.length;f++){var h=d[f];switch(h.kind){case b.a.OPERATION_DEFINITION:if(null==o){if(void 0!==l)return[new y.a(\"Must provide operation name if query contains multiple operations.\")];l=h}else(null===(u=h.name)||void 0===u?void 0:u.value)===o&&(l=h);break;case b.a.FRAGMENT_DEFINITION:p[h.name.value]=h}}if(!l)return null!=o?[new y.a('Unknown operation named \"'.concat(o,'\".'))]:[new y.a(\"Must provide an operation.\")];var m=P(e,null!==(c=l.variableDefinitions)&&void 0!==c?c:[],null!=i?i:{},{maxErrors:50});return m.errors?m.errors:{schema:e,fragments:p,rootValue:n,contextValue:r,operation:l,variableValues:m.coerced,fieldResolver:null!=a?a:pe,typeResolver:null!=s?s:le,errors:[]}}function G(e,t,n,r,i){for(var a,s,u,c=Object.create(null),l=!1,p=0,f=Object.keys(i);p<f.length;p++){var d=f[p],h=Y(e,t,n,i[d],m(r,d,t.name));void 0!==h&&(c[d]=h,!l&&o(h)&&(l=!0))}return l?(a=c,s=Object.keys(a),u=s.map((function(e){return a[e]})),Promise.all(u).then((function(e){return e.reduce((function(e,t,n){return e[s[n]]=t,e}),Object.create(null))}))):c}function K(e,t,n,r,i){for(var o=0,a=n.selections;o<a.length;o++){var s=a[o];switch(s.kind){case b.a.FIELD:if(!J(e,s))continue;var u=(p=s).alias?p.alias.value:p.name.value;r[u]||(r[u]=[]),r[u].push(s);break;case b.a.INLINE_FRAGMENT:if(!J(e,s)||!Q(e,s,t))continue;K(e,t,s.selectionSet,r,i);break;case b.a.FRAGMENT_SPREAD:var c=s.name.value;if(i[c]||!J(e,s))continue;i[c]=!0;var l=e.fragments[c];if(!l||!Q(e,l,t))continue;K(e,t,l.selectionSet,r,i)}}var p;return r}function J(e,t){var n=B(x.e,t,e.variableValues);if(!0===(null==n?void 0:n.if))return!1;var r=B(x.d,t,e.variableValues);return!1!==(null==r?void 0:r.if)}function Q(e,t,n){var r=t.typeCondition;if(!r)return!0;var i=Object(C.a)(e.schema,r);return i===n||!!Object(D.C)(i)&&e.schema.isSubType(i,n)}function Y(e,t,n,r,i){var o,a=r[0].name.value,s=fe(e.schema,t,a);if(s){var u=null!==(o=s.resolve)&&void 0!==o?o:e.fieldResolver,c=$(e,s,r,t,i),l=X(e,s,r,u,n,c);return ee(e,s.type,r,c,i,l)}}function $(e,t,n,r,i){return{fieldName:t.name,fieldNodes:n,returnType:t.type,parentType:r,path:i,schema:e.schema,fragments:e.fragments,rootValue:e.rootValue,operation:e.operation,variableValues:e.variableValues}}function X(e,t,n,r,i,a){try{var s=r(i,R(t,n[0],e.variableValues),e.contextValue,a);return o(s)?s.then(void 0,Z):s}catch(e){return Z(e)}}function Z(e){return e instanceof Error?e:new Error(\"Unexpected error value: \"+Object(l.a)(e))}function ee(e,t,n,r,i,a){try{var s;return s=o(a)?a.then((function(o){return ne(e,t,n,r,i,o)})):ne(e,t,n,r,i,a),o(s)?s.then(void 0,(function(r){return te(r,n,i,t,e)})):s}catch(r){return te(r,n,i,t,e)}}function te(e,t,n,r,i){var o=Object(v.a)(Z(e),t,g(n));if(Object(D.L)(r))throw o;return i.errors.push(o),null}function ne(e,t,n,r,i,a){if(a instanceof Error)throw a;if(Object(D.L)(t)){var s=ne(e,t.ofType,n,r,i,a);if(null===s)throw new Error(\"Cannot return null for non-nullable field \".concat(r.parentType.name,\".\").concat(r.fieldName,\".\"));return s}return null==a?null:Object(D.J)(t)?function(e,t,n,r,i,a){if(!Object(h.a)(a))throw new y.a('Expected Iterable, but did not find one for field \"'.concat(r.parentType.name,\".\").concat(r.fieldName,'\".'));var s=t.ofType,u=!1,l=Object(c.a)(a,(function(t,a){var c=m(i,a,void 0),l=ee(e,s,n,r,c,t);return!u&&o(l)&&(u=!0),l}));return u?Promise.all(l):l}(e,t,n,r,i,a):Object(D.I)(t)?function(e,t){var n=e.serialize(t);if(void 0===n)throw new Error('Expected a value of type \"'.concat(Object(l.a)(e),'\" but ')+\"received: \".concat(Object(l.a)(t)));return n}(t,a):Object(D.C)(t)?function(e,t,n,r,i,a){var s,u=null!==(s=t.resolveType)&&void 0!==s?s:e.typeResolver,c=e.contextValue,l=u(a,c,r,t);if(o(l))return l.then((function(o){return ie(e,re(o,e,t,n,r,a),n,r,i,a)}));return ie(e,re(l,e,t,n,r,a),n,r,i,a)}(e,t,n,r,i,a):Object(D.N)(t)?ie(e,t,n,r,i,a):void Object(p.a)(0,\"Cannot complete value of unexpected output type: \"+Object(l.a)(t))}function re(e,t,n,r,i,o){var a=\"string\"==typeof e?t.schema.getType(e):e;if(!Object(D.N)(a))throw new y.a('Abstract type \"'.concat(n.name,'\" must resolve to an Object type at runtime for field \"').concat(i.parentType.name,\".\").concat(i.fieldName,'\" with ')+\"value \".concat(Object(l.a)(o),', received \"').concat(Object(l.a)(a),'\". ')+'Either the \"'.concat(n.name,'\" type should provide a \"resolveType\" function or each possible type should provide an \"isTypeOf\" function.'),r);if(!t.schema.isSubType(n,a))throw new y.a('Runtime Object type \"'.concat(a.name,'\" is not a possible type for \"').concat(n.name,'\".'),r);return a}function ie(e,t,n,r,i,a){if(t.isTypeOf){var s=t.isTypeOf(a,e.contextValue,r);if(o(s))return s.then((function(r){if(!r)throw oe(t,a,n);return ae(e,t,n,i,a)}));if(!s)throw oe(t,a,n)}return ae(e,t,n,i,a)}function oe(e,t,n){return new y.a('Expected value of type \"'.concat(e.name,'\" but got: ').concat(Object(l.a)(t),\".\"),n)}function ae(e,t,n,r,i){return G(e,t,i,r,ce(e,t,n))}var se,ue,ce=(se=function(e,t,n){for(var r=Object.create(null),i=Object.create(null),o=0;o<n.length;o++){var a=n[o];a.selectionSet&&(r=K(e,t,a.selectionSet,r,i))}return r},function(e,t,n){ue||(ue=new WeakMap);var r,i=ue.get(e);if(i){if(r=i.get(t)){var o=r.get(n);if(void 0!==o)return o}}else i=new WeakMap,ue.set(e,i);r||(r=new WeakMap,i.set(t,r));var a=se(e,t,n);return r.set(n,a),a});var le=function(e,t,n,r){if(Object(d.a)(e)&&\"string\"==typeof e.__typename)return e.__typename;for(var i=n.schema.getPossibleTypes(r),a=[],s=0;s<i.length;s++){var u=i[s];if(u.isTypeOf){var c=u.isTypeOf(e,t,n);if(o(c))a[s]=c;else if(c)return u}}return a.length?Promise.all(a).then((function(e){for(var t=0;t<e.length;t++)if(e[t])return i[t]})):void 0},pe=function(e,t,n,r){if(Object(d.a)(e)||\"function\"==typeof e){var i=e[r.fieldName];return\"function\"==typeof i?e[r.fieldName](t,n,r):i}};function fe(e,t,n){return n===E.SchemaMetaFieldDef.name&&e.getQueryType()===t?E.SchemaMetaFieldDef:n===E.TypeMetaFieldDef.name&&e.getQueryType()===t?E.TypeMetaFieldDef:n===E.TypeNameMetaFieldDef.name?E.TypeNameMetaFieldDef:t.getFields()[n]}function de(e,t,n,r,i,o,a,s){var u=arguments;return new Promise((function(c){return c(1===u.length?me(e):me({schema:e,source:t,rootValue:n,contextValue:r,variableValues:i,operationName:o,fieldResolver:a,typeResolver:s}))}))}function he(e,t,n,r,i,a,s,u){var c=1===arguments.length?me(e):me({schema:e,source:t,rootValue:n,contextValue:r,variableValues:i,operationName:a,fieldResolver:s,typeResolver:u});if(o(c))throw new Error(\"GraphQL execution failed to complete synchronously.\");return c}function me(e){var t,n=e.schema,r=e.source,i=e.rootValue,o=e.contextValue,c=e.variableValues,l=e.operationName,p=e.fieldResolver,f=e.typeResolver,d=Object(u.b)(n);if(d.length>0)return{errors:d};try{t=Object(a.a)(r)}catch(e){return{errors:[e]}}var h=Object(s.c)(n,t);return h.length>0?{errors:h}:z({schema:n,document:t,rootValue:i,contextValue:o,variableValues:c,operationName:l,fieldResolver:p,typeResolver:f})}var ge=n(54),ye=n(13),ve=n(24),be=n(84),Ee=n(96),xe=n(137),De=n(85),Ce=n(5),we=n(26),Se=n(9),ke=n(46),Ae=n(25);function Te(e,t,n){var r,i,o,a,s,u,c=e[Ae.a].call(e);function l(e){return e.done?e:_e(e.value,t).then(Oe,i)}if(\"function\"==typeof c.return&&(r=c.return,i=function(e){var t=function(){return Promise.reject(e)};return r.call(c).then(t,t)}),n){var p=n;o=function(e){return _e(e,p).then(Oe,i)}}return a={next:function(){return c.next().then(l,o)},return:function(){return r?r.call(c).then(l,o):Promise.resolve({value:void 0,done:!0})},throw:function(e){return\"function\"==typeof c.throw?c.throw(e).then(l,o):Promise.reject(e).catch(i)}},s=Ae.a,u=function(){return this},s in a?Object.defineProperty(a,s,{value:u,enumerable:!0,configurable:!0,writable:!0}):a[s]=u,a}function _e(e,t){return new Promise((function(n){return n(t(e))}))}function Oe(e){return{value:e,done:!1}}function Fe(e){return(Fe=\"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 Ne(e,t,n,r,i,o,a,s){return 1===arguments.length?Me(e):Me({schema:e,document:t,rootValue:n,contextValue:r,variableValues:i,operationName:o,fieldResolver:a,subscribeFieldResolver:s})}function Ie(e){if(e instanceof y.a)return{errors:[e]};throw e}function Me(e){var t=e.schema,n=e.document,r=e.rootValue,i=e.contextValue,o=e.variableValues,a=e.operationName,s=e.fieldResolver,u=e.subscribeFieldResolver,c=je(t,n,r,i,o,a,u),l=function(e){return z({schema:t,document:n,rootValue:e,contextValue:i,variableValues:o,operationName:a,fieldResolver:s})};return c.then((function(e){return Le(e)?Te(e,l,Ie):e}))}function je(e,t,n,r,i,o,a){H(e,t,i);try{var s,u=W(e,t,n,r,i,o,a);if(Array.isArray(u))return Promise.resolve({errors:u});var c=w(e,u.operation),p=K(u,c,u.operation.selectionSet,Object.create(null),Object.create(null)),f=Object.keys(p)[0],d=p[f],h=d[0].name.value,b=fe(e,c,h);if(!b)throw new y.a('The subscription field \"'.concat(h,'\" is not defined.'),d);var E=null!==(s=b.subscribe)&&void 0!==s?s:u.fieldResolver,x=m(void 0,f,c.name),D=$(u,b,d,c,x),C=X(u,b,d,E,n,D);return Promise.resolve(C).then((function(e){if(e instanceof Error)return{errors:[Object(v.a)(e,d,g(x))]};if(Le(e))return e;throw new Error(\"Subscription field must return Async Iterable. \"+\"Received: \".concat(Object(l.a)(e),\".\"))}))}catch(e){return e instanceof y.a?Promise.resolve({errors:[e]}):Promise.reject(e)}}function Le(e){return null!=e&&\"object\"===Fe(e)&&\"function\"==typeof e[Ae.a]}var Pe=n(146),Re=n(138),Be=n(219),Ue=n(226),ze=n(223),Ve=n(142),qe=n(140),He=n(228),We=n(139),Ge=n(221),Ke=n(231),Je=n(233),Qe=n(229),Ye=n(234),$e=n(237),Xe=n(230),Ze=n(144),et=n(225),tt=n(222),nt=n(143),rt=n(141),it=n(227),ot=n(145),at=n(220),st=n(232),ut=n(235),ct=n(224),lt=n(236),pt=n(238),ft=n(239),dt=n(240),ht=n(241),mt=n(242),gt=n(243),yt=n(244),vt=n(245);function bt(e){return{Field:function(t){var n=Object(D.A)(e.getType());n&&Object(E.isIntrospectionType)(n)&&e.reportError(new y.a('GraphQL introspection has been disabled, but the requested query contained the field \"'.concat(t.name.value,'\".'),t))}}}var Et=n(45);function xt(e){var t;e||Object(f.a)(0,\"Received null or undefined error.\");var n=null!==(t=e.message)&&void 0!==t?t:\"An unknown error occurred.\",r=e.locations,i=e.path,o=e.extensions;return o?{message:n,locations:r,path:i,extensions:o}:{message:n,locations:r,path:i}}function Dt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ct(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function wt(e){var t=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Dt(Object(n),!0).forEach((function(t){Ct(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Dt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1},e),n=t.descriptions?\"description\":\"\",r=t.specifiedByUrl?\"specifiedByUrl\":\"\",i=t.directiveIsRepeatable?\"isRepeatable\":\"\",o=t.schemaDescription?n:\"\";return\"\\n    query IntrospectionQuery {\\n      __schema {\\n        \".concat(o,\"\\n        queryType { name }\\n        mutationType { name }\\n        subscriptionType { name }\\n        types {\\n          ...FullType\\n        }\\n        directives {\\n          name\\n          \").concat(n,\"\\n          \").concat(i,\"\\n          locations\\n          args {\\n            ...InputValue\\n          }\\n        }\\n      }\\n    }\\n\\n    fragment FullType on __Type {\\n      kind\\n      name\\n      \").concat(n,\"\\n      \").concat(r,\"\\n      fields(includeDeprecated: true) {\\n        name\\n        \").concat(n,\"\\n        args {\\n          ...InputValue\\n        }\\n        type {\\n          ...TypeRef\\n        }\\n        isDeprecated\\n        deprecationReason\\n      }\\n      inputFields {\\n        ...InputValue\\n      }\\n      interfaces {\\n        ...TypeRef\\n      }\\n      enumValues(includeDeprecated: true) {\\n        name\\n        \").concat(n,\"\\n        isDeprecated\\n        deprecationReason\\n      }\\n      possibleTypes {\\n        ...TypeRef\\n      }\\n    }\\n\\n    fragment InputValue on __InputValue {\\n      name\\n      \").concat(n,\"\\n      type { ...TypeRef }\\n      defaultValue\\n    }\\n\\n    fragment TypeRef on __Type {\\n      kind\\n      name\\n      ofType {\\n        kind\\n        name\\n        ofType {\\n          kind\\n          name\\n          ofType {\\n            kind\\n            name\\n            ofType {\\n              kind\\n              name\\n              ofType {\\n                kind\\n                name\\n                ofType {\\n                  kind\\n                  name\\n                  ofType {\\n                    kind\\n                    name\\n                  }\\n                }\\n              }\\n            }\\n          }\\n        }\\n      }\\n    }\\n  \")}var St=n(274);function kt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function At(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Tt(e,t){var n=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?kt(Object(n),!0).forEach((function(t){At(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):kt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({directiveIsRepeatable:!0,schemaDescription:!0},t),r=V({schema:e,document:Object(a.a)(wt(n))});return!r.errors&&r.data||Object(p.a)(0),r.data}var _t=n(50);function Ot(e,t){Object(d.a)(e)&&Object(d.a)(e.__schema)||Object(f.a)(0,'Invalid or incomplete introspection result. Ensure that you are passing \"data\" property of introspection response and no \"errors\" was returned alongside: '.concat(Object(l.a)(e),\".\"));for(var n=e.__schema,r=Object(_t.a)(n.types,(function(e){return e.name}),(function(e){return function(e){if(null!=e&&null!=e.name&&null!=e.kind)switch(e.kind){case E.TypeKind.SCALAR:return r=e,new D.g({name:r.name,description:r.description,specifiedByUrl:r.specifiedByUrl});case E.TypeKind.OBJECT:return n=e,new D.f({name:n.name,description:n.description,interfaces:function(){return b(n)},fields:function(){return C(n)}});case E.TypeKind.INTERFACE:return t=e,new D.c({name:t.name,description:t.description,interfaces:function(){return b(t)},fields:function(){return C(t)}});case E.TypeKind.UNION:return function(e){if(!e.possibleTypes){var t=Object(l.a)(e);throw new Error(\"Introspection result missing possibleTypes: \".concat(t,\".\"))}return new D.h({name:e.name,description:e.description,types:function(){return e.possibleTypes.map(y)}})}(e);case E.TypeKind.ENUM:return function(e){if(!e.enumValues){var t=Object(l.a)(e);throw new Error(\"Introspection result missing enumValues: \".concat(t,\".\"))}return new D.a({name:e.name,description:e.description,values:Object(_t.a)(e.enumValues,(function(e){return e.name}),(function(e){return{description:e.description,deprecationReason:e.deprecationReason}}))})}(e);case E.TypeKind.INPUT_OBJECT:return function(e){if(!e.inputFields){var t=Object(l.a)(e);throw new Error(\"Introspection result missing inputFields: \".concat(t,\".\"))}return new D.b({name:e.name,description:e.description,fields:function(){return S(e.inputFields)}})}(e)}var t;var n;var r;var i=Object(l.a)(e);throw new Error(\"Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: \".concat(i,\".\"))}(e)})),i=0,o=[].concat(ye.g,E.introspectionTypes);i<o.length;i++){var s=o[i];r[s.name]&&(r[s.name]=s)}var u=n.queryType?y(n.queryType):null,c=n.mutationType?y(n.mutationType):null,p=n.subscriptionType?y(n.subscriptionType):null,h=n.directives?n.directives.map((function(e){if(!e.args){var t=Object(l.a)(e);throw new Error(\"Introspection result missing directive args: \".concat(t,\".\"))}if(!e.locations){var n=Object(l.a)(e);throw new Error(\"Introspection result missing directive locations: \".concat(n,\".\"))}return new x.c({name:e.name,description:e.description,isRepeatable:e.isRepeatable,locations:e.locations.slice(),args:S(e.args)})})):[];return new ge.a({description:n.description,query:u,mutation:c,subscription:p,types:Object(_.a)(r),directives:h,assumeValid:null==t?void 0:t.assumeValid});function m(e){if(e.kind===E.TypeKind.LIST){var t=e.ofType;if(!t)throw new Error(\"Decorated type deeper than introspection query.\");return Object(D.d)(m(t))}if(e.kind===E.TypeKind.NON_NULL){var n=e.ofType;if(!n)throw new Error(\"Decorated type deeper than introspection query.\");var r=m(n);return Object(D.e)(Object(D.t)(r))}return g(e)}function g(e){var t=e.name;if(!t)throw new Error(\"Unknown type reference: \".concat(Object(l.a)(e),\".\"));var n=r[t];if(!n)throw new Error(\"Invalid or incomplete schema, unknown type: \".concat(t,\". Ensure that a full introspection query is used in order to build a client schema.\"));return n}function y(e){return Object(D.u)(g(e))}function v(e){return Object(D.o)(g(e))}function b(e){if(null===e.interfaces&&e.kind===E.TypeKind.INTERFACE)return[];if(!e.interfaces){var t=Object(l.a)(e);throw new Error(\"Introspection result missing interfaces: \".concat(t,\".\"))}return e.interfaces.map(v)}function C(e){if(!e.fields)throw new Error(\"Introspection result missing fields: \".concat(Object(l.a)(e),\".\"));return Object(_t.a)(e.fields,(function(e){return e.name}),w)}function w(e){var t=m(e.type);if(!Object(D.O)(t)){var n=Object(l.a)(t);throw new Error(\"Introspection must provide output type for fields, but received: \".concat(n,\".\"))}if(!e.args){var r=Object(l.a)(e);throw new Error(\"Introspection result missing field args: \".concat(r,\".\"))}return{description:e.description,deprecationReason:e.deprecationReason,type:t,args:S(e.args)}}function S(e){return Object(_t.a)(e,(function(e){return e.name}),k)}function k(e){var t=m(e.type);if(!Object(D.G)(t)){var n=Object(l.a)(t);throw new Error(\"Introspection must provide input type for arguments, but received: \".concat(n,\".\"))}var r=null!=e.defaultValue?O(Object(a.c)(e.defaultValue),t):void 0;return{description:e.description,type:t,defaultValue:r}}}var Ft=n(57),Nt=n(53);function It(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Mt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?It(Object(n),!0).forEach((function(t){jt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):It(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function jt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Lt(e,t,n){Object(ge.b)(e),null!=t&&t.kind===b.a.DOCUMENT||Object(f.a)(0,\"Must provide valid Document AST.\"),!0!==(null==n?void 0:n.assumeValid)&&!0!==(null==n?void 0:n.assumeValidSDL)&&Object(s.b)(t,e);var r=e.toConfig(),i=Pt(r,t,n);return r===i?e:new ge.a(i)}function Pt(e,t,n){for(var r,i,o,a,s,u=[],c=Object.create(null),f=[],d=[],h=0,m=t.definitions;h<m.length;h++){var g=m[h];if(g.kind===b.a.SCHEMA_DEFINITION)s=g;else if(g.kind===b.a.SCHEMA_EXTENSION)d.push(g);else if(Object(ke.d)(g))u.push(g);else if(Object(ke.e)(g)){var y=g.name.value,v=c[y];c[y]=v?v.concat([g]):[g]}else g.kind===b.a.DIRECTIVE_DEFINITION&&f.push(g)}if(0===Object.keys(c).length&&0===u.length&&0===f.length&&0===d.length&&null==s)return e;for(var C=Object.create(null),w=0,S=e.types;w<S.length;w++){var k=S[w];C[k.name]=L(k)}for(var A=0;A<u.length;A++){var T,F=u[A],N=F.name.value;C[N]=null!==(T=Rt[N])&&void 0!==T?T:J(F)}var I=Mt(Mt({query:e.query&&j(e.query),mutation:e.mutation&&j(e.mutation),subscription:e.subscription&&j(e.subscription)},s&&B([s])),B(d));return Mt(Mt({description:null===(r=s)||void 0===r||null===(i=r.description)||void 0===i?void 0:i.value},I),{},{types:Object(_.a)(C),directives:[].concat(e.directives.map((function(e){var t=e.toConfig();return new x.c(Mt(Mt({},t),{},{args:Object(Ft.a)(t.args,R)}))})),f.map((function(e){var t=e.locations.map((function(e){return e.value}));return new x.c({name:e.name.value,description:zt(e,n),locations:t,isRepeatable:e.repeatable,args:q(e.arguments),astNode:e})}))),extensions:void 0,astNode:null!==(o=s)&&void 0!==o?o:e.astNode,extensionASTNodes:e.extensionASTNodes.concat(d),assumeValid:null!==(a=null==n?void 0:n.assumeValid)&&void 0!==a&&a});function M(e){return Object(D.J)(e)?new D.d(M(e.ofType)):Object(D.L)(e)?new D.e(M(e.ofType)):j(e)}function j(e){return C[e.name]}function L(e){return Object(E.isIntrospectionType)(e)||Object(ye.f)(e)?e:Object(D.R)(e)?function(e){for(var t,n=e.toConfig(),r=null!==(t=c[n.name])&&void 0!==t?t:[],i=n.specifiedByUrl,o=0;o<r.length;o++){var a,s=r[o];i=null!==(a=Ut(s))&&void 0!==a?a:i}return new D.g(Mt(Mt({},n),{},{specifiedByUrl:i,extensionASTNodes:n.extensionASTNodes.concat(r)}))}(e):Object(D.N)(e)?function(e){var t,n=e.toConfig(),r=null!==(t=c[n.name])&&void 0!==t?t:[];return new D.f(Mt(Mt({},n),{},{interfaces:function(){return[].concat(e.getInterfaces().map(j),G(r))},fields:function(){return Mt(Mt({},Object(Ft.a)(n.fields,P)),V(r))},extensionASTNodes:n.extensionASTNodes.concat(r)}))}(e):Object(D.H)(e)?function(e){var t,n=e.toConfig(),r=null!==(t=c[n.name])&&void 0!==t?t:[];return new D.c(Mt(Mt({},n),{},{interfaces:function(){return[].concat(e.getInterfaces().map(j),G(r))},fields:function(){return Mt(Mt({},Object(Ft.a)(n.fields,P)),V(r))},extensionASTNodes:n.extensionASTNodes.concat(r)}))}(e):Object(D.T)(e)?function(e){var t,n=e.toConfig(),r=null!==(t=c[n.name])&&void 0!==t?t:[];return new D.h(Mt(Mt({},n),{},{types:function(){return[].concat(e.getTypes().map(j),K(r))},extensionASTNodes:n.extensionASTNodes.concat(r)}))}(e):Object(D.E)(e)?function(e){var t,n=e.toConfig(),r=null!==(t=c[e.name])&&void 0!==t?t:[];return new D.a(Mt(Mt({},n),{},{values:Mt(Mt({},n.values),W(r)),extensionASTNodes:n.extensionASTNodes.concat(r)}))}(e):Object(D.F)(e)?function(e){var t,n=e.toConfig(),r=null!==(t=c[n.name])&&void 0!==t?t:[];return new D.b(Mt(Mt({},n),{},{fields:function(){return Mt(Mt({},Object(Ft.a)(n.fields,(function(e){return Mt(Mt({},e),{},{type:M(e.type)})}))),H(r))},extensionASTNodes:n.extensionASTNodes.concat(r)}))}(e):void Object(p.a)(0,\"Unexpected type: \"+Object(l.a)(e))}function P(e){return Mt(Mt({},e),{},{type:M(e.type),args:Object(Ft.a)(e.args,R)})}function R(e){return Mt(Mt({},e),{},{type:M(e.type)})}function B(e){for(var t={},n=0;n<e.length;n++)for(var r,i=null!==(r=e[n].operationTypes)&&void 0!==r?r:[],o=0;o<i.length;o++){var a=i[o];t[a.operation]=U(a.type)}return t}function U(e){var t,n=e.name.value,r=null!==(t=Rt[n])&&void 0!==t?t:C[n];if(void 0===r)throw new Error('Unknown type: \"'.concat(n,'\".'));return r}function z(e){return e.kind===b.a.LIST_TYPE?new D.d(z(e.type)):e.kind===b.a.NON_NULL_TYPE?new D.e(z(e.type)):U(e)}function V(e){for(var t=Object.create(null),r=0;r<e.length;r++)for(var i,o=null!==(i=e[r].fields)&&void 0!==i?i:[],a=0;a<o.length;a++){var s=o[a];t[s.name.value]={type:z(s.type),description:zt(s,n),args:q(s.arguments),deprecationReason:Bt(s),astNode:s}}return t}function q(e){for(var t=null!=e?e:[],r=Object.create(null),i=0;i<t.length;i++){var o=t[i],a=z(o.type);r[o.name.value]={type:a,description:zt(o,n),defaultValue:O(o.defaultValue,a),astNode:o}}return r}function H(e){for(var t=Object.create(null),r=0;r<e.length;r++)for(var i,o=null!==(i=e[r].fields)&&void 0!==i?i:[],a=0;a<o.length;a++){var s=o[a],u=z(s.type);t[s.name.value]={type:u,description:zt(s,n),defaultValue:O(s.defaultValue,u),astNode:s}}return t}function W(e){for(var t=Object.create(null),r=0;r<e.length;r++)for(var i,o=null!==(i=e[r].values)&&void 0!==i?i:[],a=0;a<o.length;a++){var s=o[a];t[s.name.value]={description:zt(s,n),deprecationReason:Bt(s),astNode:s}}return t}function G(e){for(var t=[],n=0;n<e.length;n++)for(var r,i=null!==(r=e[n].interfaces)&&void 0!==r?r:[],o=0;o<i.length;o++){var a=i[o];t.push(U(a))}return t}function K(e){for(var t=[],n=0;n<e.length;n++)for(var r,i=null!==(r=e[n].types)&&void 0!==r?r:[],o=0;o<i.length;o++){var a=i[o];t.push(U(a))}return t}function J(e){var t,r=e.name.value,i=zt(e,n),o=null!==(t=c[r])&&void 0!==t?t:[];switch(e.kind){case b.a.OBJECT_TYPE_DEFINITION:var a=o,s=[e].concat(a);return new D.f({name:r,description:i,interfaces:function(){return G(s)},fields:function(){return V(s)},astNode:e,extensionASTNodes:a});case b.a.INTERFACE_TYPE_DEFINITION:var u=o,f=[e].concat(u);return new D.c({name:r,description:i,interfaces:function(){return G(f)},fields:function(){return V(f)},astNode:e,extensionASTNodes:u});case b.a.ENUM_TYPE_DEFINITION:var d=o,h=[e].concat(d);return new D.a({name:r,description:i,values:W(h),astNode:e,extensionASTNodes:d});case b.a.UNION_TYPE_DEFINITION:var m=o,g=[e].concat(m);return new D.h({name:r,description:i,types:function(){return K(g)},astNode:e,extensionASTNodes:m});case b.a.SCALAR_TYPE_DEFINITION:var y=o;return new D.g({name:r,description:i,specifiedByUrl:Ut(e),astNode:e,extensionASTNodes:y});case b.a.INPUT_OBJECT_TYPE_DEFINITION:var v=o,E=[e].concat(v);return new D.b({name:r,description:i,fields:function(){return H(E)},astNode:e,extensionASTNodes:v})}Object(p.a)(0,\"Unexpected type definition node: \"+Object(l.a)(e))}}var Rt=Object(k.a)(ye.g.concat(E.introspectionTypes),(function(e){return e.name}));function Bt(e){var t=B(x.b,e);return null==t?void 0:t.reason}function Ut(e){var t=B(x.f,e);return null==t?void 0:t.url}function zt(e,t){if(e.description)return e.description.value;if(!0===(null==t?void 0:t.commentDescriptions)){var n=function(e){var t=e.loc;if(!t)return;var n=[],r=t.startToken.prev;for(;null!=r&&r.kind===Ce.a.COMMENT&&r.next&&r.prev&&r.line+1===r.next.line&&r.line!==r.prev.line;){var i=String(r.value);n.push(i),r=r.prev}return n.length>0?n.reverse().join(\"\\n\"):void 0}(e);if(void 0!==n)return Object(Nt.a)(\"\\n\"+n)}}function Vt(e,t){null!=e&&e.kind===b.a.DOCUMENT||Object(f.a)(0,\"Must provide valid Document AST.\"),!0!==(null==t?void 0:t.assumeValid)&&!0!==(null==t?void 0:t.assumeValidSDL)&&Object(s.a)(e);var n=Pt({description:void 0,types:[],directives:[],extensions:void 0,extensionASTNodes:[],assumeValid:!1},e,t);if(null==n.astNode)for(var r=0,i=n.types;r<i.length;r++){var o=i[r];switch(o.name){case\"Query\":n.query=o;break;case\"Mutation\":n.mutation=o;break;case\"Subscription\":n.subscription=o}}var a=n.directives;return a.some((function(e){return\"skip\"===e.name}))||a.push(x.e),a.some((function(e){return\"include\"===e.name}))||a.push(x.d),a.some((function(e){return\"deprecated\"===e.name}))||a.push(x.b),a.some((function(e){return\"specifiedBy\"===e.name}))||a.push(x.f),new ge.a(n)}function qt(e,t){return Vt(Object(a.a)(e,{noLocation:null==t?void 0:t.noLocation,allowLegacySDLEmptyFields:null==t?void 0:t.allowLegacySDLEmptyFields,allowLegacySDLImplementsInterfaces:null==t?void 0:t.allowLegacySDLImplementsInterfaces,experimentalFragmentVariables:null==t?void 0:t.experimentalFragmentVariables}),{commentDescriptions:null==t?void 0:t.commentDescriptions,assumeValidSDL:null==t?void 0:t.assumeValidSDL,assumeValid:null==t?void 0:t.assumeValid})}function Ht(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Wt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ht(Object(n),!0).forEach((function(t){Gt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ht(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Gt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Kt(e){var t=e.toConfig(),n=Object(_t.a)(Qt(t.types),(function(e){return e.name}),(function(e){if(Object(D.R)(e)||Object(E.isIntrospectionType)(e))return e;if(Object(D.N)(e)){var t=e.toConfig();return new D.f(Wt(Wt({},t),{},{interfaces:function(){return u(t.interfaces)},fields:function(){return s(t.fields)}}))}if(Object(D.H)(e)){var n=e.toConfig();return new D.c(Wt(Wt({},n),{},{interfaces:function(){return u(n.interfaces)},fields:function(){return s(n.fields)}}))}if(Object(D.T)(e)){var i=e.toConfig();return new D.h(Wt(Wt({},i),{},{types:function(){return u(i.types)}}))}if(Object(D.E)(e)){var o=e.toConfig();return new D.a(Wt(Wt({},o),{},{values:Jt(o.values)}))}if(Object(D.F)(e)){var a=e.toConfig();return new D.b(Wt(Wt({},a),{},{fields:function(){return Jt(a.fields,(function(e){return Wt(Wt({},e),{},{type:r(e.type)})}))}}))}Object(p.a)(0,\"Unexpected type: \"+Object(l.a)(e))}));return new ge.a(Wt(Wt({},t),{},{types:Object(_.a)(n),directives:Qt(t.directives).map((function(e){var t=e.toConfig();return new x.c(Wt(Wt({},t),{},{locations:Yt(t.locations,(function(e){return e})),args:a(t.args)}))})),query:o(t.query),mutation:o(t.mutation),subscription:o(t.subscription)}));function r(e){return Object(D.J)(e)?new D.d(r(e.ofType)):Object(D.L)(e)?new D.e(r(e.ofType)):i(e)}function i(e){return n[e.name]}function o(e){return e&&i(e)}function a(e){return Jt(e,(function(e){return Wt(Wt({},e),{},{type:r(e.type)})}))}function s(e){return Jt(e,(function(e){return Wt(Wt({},e),{},{type:r(e.type),args:a(e.args)})}))}function u(e){return Qt(e).map(i)}}function Jt(e,t){for(var n=Object.create(null),r=Yt(Object.keys(e),(function(e){return e})),i=0;i<r.length;i++){var o=r[i],a=e[o];n[o]=t?t(a):a}return n}function Qt(e){return Yt(e,(function(e){return e.name}))}function Yt(e,t){return e.slice().sort((function(e,n){var r=t(e),i=t(n);return r.localeCompare(i)}))}var $t=n(67);function Xt(e,t){return tn(e,(function(e){return!Object(x.i)(e)}),en,t)}function Zt(e,t){return tn(e,x.i,E.isIntrospectionType,t)}function en(e){return!Object(ye.f)(e)&&!Object(E.isIntrospectionType)(e)}function tn(e,t,n,r){var i=e.getDirectives().filter(t),o=Object(_.a)(e.getTypeMap()).filter(n);return[nn(e)].concat(i.map((function(e){return function(e,t){return pn(t,e)+\"directive @\"+e.name+un(t,e.args)+(e.isRepeatable?\" repeatable\":\"\")+\" on \"+e.locations.join(\" | \")}(e,r)})),o.map((function(e){return rn(e,r)}))).filter(Boolean).join(\"\\n\\n\")+\"\\n\"}function nn(e){if(null!=e.description||!function(e){var t=e.getQueryType();if(t&&\"Query\"!==t.name)return!1;var n=e.getMutationType();if(n&&\"Mutation\"!==n.name)return!1;var r=e.getSubscriptionType();if(r&&\"Subscription\"!==r.name)return!1;return!0}(e)){var t=[],n=e.getQueryType();n&&t.push(\"  query: \".concat(n.name));var r=e.getMutationType();r&&t.push(\"  mutation: \".concat(r.name));var i=e.getSubscriptionType();return i&&t.push(\"  subscription: \".concat(i.name)),pn({},e)+\"schema {\\n\".concat(t.join(\"\\n\"),\"\\n}\")}}function rn(e,t){return Object(D.R)(e)?function(e,t){return pn(t,e)+\"scalar \".concat(e.name)+function(e){if(null==e.specifiedByUrl)return\"\";var t=e.specifiedByUrl,n=Object($t.a)(t,ye.e);return n||Object(p.a)(0,\"Unexpected null value returned from `astFromValue` for specifiedByUrl\"),\" @specifiedBy(url: \"+Object(T.print)(n)+\")\"}(e)}(e,t):Object(D.N)(e)?function(e,t){return pn(t,e)+\"type \".concat(e.name)+on(e)+an(t,e)}(e,t):Object(D.H)(e)?function(e,t){return pn(t,e)+\"interface \".concat(e.name)+on(e)+an(t,e)}(e,t):Object(D.T)(e)?function(e,t){var n=e.getTypes(),r=n.length?\" = \"+n.join(\" | \"):\"\";return pn(t,e)+\"union \"+e.name+r}(e,t):Object(D.E)(e)?function(e,t){var n=e.getValues().map((function(e,n){return pn(t,e,\"  \",!n)+\"  \"+e.name+ln(e)}));return pn(t,e)+\"enum \".concat(e.name)+sn(n)}(e,t):Object(D.F)(e)?function(e,t){var n=Object(_.a)(e.getFields()).map((function(e,n){return pn(t,e,\"  \",!n)+\"  \"+cn(e)}));return pn(t,e)+\"input \".concat(e.name)+sn(n)}(e,t):void Object(p.a)(0,\"Unexpected type: \"+Object(l.a)(e))}function on(e){var t=e.getInterfaces();return t.length?\" implements \"+t.map((function(e){return e.name})).join(\" & \"):\"\"}function an(e,t){return sn(Object(_.a)(t.getFields()).map((function(t,n){return pn(e,t,\"  \",!n)+\"  \"+t.name+un(e,t.args,\"  \")+\": \"+String(t.type)+ln(t)})))}function sn(e){return 0!==e.length?\" {\\n\"+e.join(\"\\n\")+\"\\n}\":\"\"}function un(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"\";return 0===t.length?\"\":t.every((function(e){return!e.description}))?\"(\"+t.map(cn).join(\", \")+\")\":\"(\\n\"+t.map((function(t,r){return pn(e,t,\"  \"+n,!r)+\"  \"+n+cn(t)})).join(\"\\n\")+\"\\n\"+n+\")\"}function cn(e){var t=Object($t.a)(e.defaultValue,e.type),n=e.name+\": \"+String(e.type);return t&&(n+=\" = \".concat(Object(T.print)(t))),n}function ln(e){if(!e.isDeprecated)return\"\";var t=e.deprecationReason,n=Object($t.a)(t,ye.e);return n&&t!==x.a?\" @deprecated(reason: \"+Object(T.print)(n)+\")\":\" @deprecated\"}function pn(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"\",r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=t.description;if(null==i)return\"\";if(!0===(null==e?void 0:e.commentDescriptions))return fn(i,n,r);var o=i.length>70,a=Object(Nt.c)(i,\"\",o),s=n&&!r?\"\\n\"+n:n;return s+a.replace(/\\n/g,\"\\n\"+n)+\"\\n\"}function fn(e,t,n){return(t&&!n?\"\\n\":\"\")+e.split(\"\\n\").map((function(e){return t+(\"\"!==e?\"# \"+e:\"#\")})).join(\"\\n\")+\"\\n\"}var dn=n(217),hn=n(86),mn=n(116);function gn(e){return{kind:\"Document\",definitions:Object(mn.a)(e,(function(e){return e.definitions}))}}function yn(e){var t,n=[],r=Object.create(null);Object(we.c)(e,{OperationDefinition:function(e){t=vn(e),n.push(e)},FragmentDefinition:function(e){t=e.name.value},FragmentSpread:function(e){var n=e.name.value,i=r[t];void 0===i&&(i=r[t]=Object.create(null)),i[n]=!0}});for(var i=Object.create(null),o=function(t){var o=n[t],a=vn(o),s=Object.create(null);!function e(t,n,r){var i=n[r];if(i)for(var o=0,a=Object.keys(i);o<a.length;o++){var s=a[o];t[s]||(t[s]=!0,e(t,n,s))}}(s,r,a),i[a]={kind:b.a.DOCUMENT,definitions:e.definitions.filter((function(e){return e===o||e.kind===b.a.FRAGMENT_DEFINITION&&s[e.name.value]}))}},a=0;a<n.length;a++)o(a);return i}function vn(e){return e.name?e.name.value:\"\"}function bn(e){var t=\"string\"==typeof e?new be.a(e):e;if(!(t instanceof be.a))throw new TypeError(\"Must provide string or Source. Received: \".concat(Object(l.a)(t),\".\"));for(var n=t.body,r=new De.a(t),i=\"\",o=!1;r.advance().kind!==Ce.a.EOF;){var a=r.token,s=a.kind,u=!Object(De.b)(a.kind);o&&(u||a.kind===Ce.a.SPREAD)&&(i+=\" \");var c=n.slice(a.start,a.end);s===Ce.a.BLOCK_STRING?i+=En(c):i+=c,o=u}return i}function En(e){var t=e.slice(3,-3),n=Object(Nt.a)(t),r=n.split(/\\r\\n|[\\n\\r]/g);Object(Nt.b)(r)>0&&(n=\"\\n\"+n);var i=n[n.length-1];return('\"'===i&&'\\\\\"\"\"'!==n.slice(-4)||\"\\\\\"===i)&&(n+=\"\\n\"),'\"\"\"'+n+'\"\"\"'}var xn=n(63),Dn=n(218);function Cn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function wn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Cn(Object(n),!0).forEach((function(t){Sn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Cn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Sn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var kn=Object.freeze({TYPE_REMOVED:\"TYPE_REMOVED\",TYPE_CHANGED_KIND:\"TYPE_CHANGED_KIND\",TYPE_REMOVED_FROM_UNION:\"TYPE_REMOVED_FROM_UNION\",VALUE_REMOVED_FROM_ENUM:\"VALUE_REMOVED_FROM_ENUM\",REQUIRED_INPUT_FIELD_ADDED:\"REQUIRED_INPUT_FIELD_ADDED\",IMPLEMENTED_INTERFACE_REMOVED:\"IMPLEMENTED_INTERFACE_REMOVED\",FIELD_REMOVED:\"FIELD_REMOVED\",FIELD_CHANGED_KIND:\"FIELD_CHANGED_KIND\",REQUIRED_ARG_ADDED:\"REQUIRED_ARG_ADDED\",ARG_REMOVED:\"ARG_REMOVED\",ARG_CHANGED_KIND:\"ARG_CHANGED_KIND\",DIRECTIVE_REMOVED:\"DIRECTIVE_REMOVED\",DIRECTIVE_ARG_REMOVED:\"DIRECTIVE_ARG_REMOVED\",REQUIRED_DIRECTIVE_ARG_ADDED:\"REQUIRED_DIRECTIVE_ARG_ADDED\",DIRECTIVE_REPEATABLE_REMOVED:\"DIRECTIVE_REPEATABLE_REMOVED\",DIRECTIVE_LOCATION_REMOVED:\"DIRECTIVE_LOCATION_REMOVED\"}),An=Object.freeze({VALUE_ADDED_TO_ENUM:\"VALUE_ADDED_TO_ENUM\",TYPE_ADDED_TO_UNION:\"TYPE_ADDED_TO_UNION\",OPTIONAL_INPUT_FIELD_ADDED:\"OPTIONAL_INPUT_FIELD_ADDED\",OPTIONAL_ARG_ADDED:\"OPTIONAL_ARG_ADDED\",IMPLEMENTED_INTERFACE_ADDED:\"IMPLEMENTED_INTERFACE_ADDED\",ARG_DEFAULT_VALUE_CHANGE:\"ARG_DEFAULT_VALUE_CHANGE\"});function Tn(e,t){return On(e,t).filter((function(e){return e.type in kn}))}function _n(e,t){return On(e,t).filter((function(e){return e.type in An}))}function On(e,t){return[].concat(function(e,t){for(var n=[],r=zn(Object(_.a)(e.getTypeMap()),Object(_.a)(t.getTypeMap())),i=0,o=r.removed;i<o.length;i++){var a=o[i];n.push({type:kn.TYPE_REMOVED,description:Object(ye.f)(a)?\"Standard scalar \".concat(a.name,\" was removed because it is not referenced anymore.\"):\"\".concat(a.name,\" was removed.\")})}for(var s=0,u=r.persisted;s<u.length;s++){var c=u[s],l=c[0],p=c[1];Object(D.E)(l)&&Object(D.E)(p)?n.push.apply(n,In(l,p)):Object(D.T)(l)&&Object(D.T)(p)?n.push.apply(n,Nn(l,p)):Object(D.F)(l)&&Object(D.F)(p)?n.push.apply(n,Fn(l,p)):Object(D.N)(l)&&Object(D.N)(p)||Object(D.H)(l)&&Object(D.H)(p)?n.push.apply(n,jn(l,p).concat(Mn(l,p))):l.constructor!==p.constructor&&n.push({type:kn.TYPE_CHANGED_KIND,description:\"\".concat(l.name,\" changed from \")+\"\".concat(Bn(l),\" to \").concat(Bn(p),\".\")})}return n}(e,t),function(e,t){for(var n=[],r=zn(e.getDirectives(),t.getDirectives()),i=0,o=r.removed;i<o.length;i++){var a=o[i];n.push({type:kn.DIRECTIVE_REMOVED,description:\"\".concat(a.name,\" was removed.\")})}for(var s=0,u=r.persisted;s<u.length;s++){for(var c=u[s],l=c[0],p=c[1],f=zn(l.args,p.args),d=0,h=f.added;d<h.length;d++){var m=h[d];Object(D.P)(m)&&n.push({type:kn.REQUIRED_DIRECTIVE_ARG_ADDED,description:\"A required arg \".concat(m.name,\" on directive \").concat(l.name,\" was added.\")})}for(var g=0,y=f.removed;g<y.length;g++){var v=y[g];n.push({type:kn.DIRECTIVE_ARG_REMOVED,description:\"\".concat(v.name,\" was removed from \").concat(l.name,\".\")})}l.isRepeatable&&!p.isRepeatable&&n.push({type:kn.DIRECTIVE_REPEATABLE_REMOVED,description:\"Repeatable flag was removed from \".concat(l.name,\".\")});for(var b=0,E=l.locations;b<E.length;b++){var x=E[b];-1===p.locations.indexOf(x)&&n.push({type:kn.DIRECTIVE_LOCATION_REMOVED,description:\"\".concat(x,\" was removed from \").concat(l.name,\".\")})}}return n}(e,t))}function Fn(e,t){for(var n=[],r=zn(Object(_.a)(e.getFields()),Object(_.a)(t.getFields())),i=0,o=r.added;i<o.length;i++){var a=o[i];Object(D.Q)(a)?n.push({type:kn.REQUIRED_INPUT_FIELD_ADDED,description:\"A required field \".concat(a.name,\" on input type \").concat(e.name,\" was added.\")}):n.push({type:An.OPTIONAL_INPUT_FIELD_ADDED,description:\"An optional field \".concat(a.name,\" on input type \").concat(e.name,\" was added.\")})}for(var s=0,u=r.removed;s<u.length;s++){var c=u[s];n.push({type:kn.FIELD_REMOVED,description:\"\".concat(e.name,\".\").concat(c.name,\" was removed.\")})}for(var l=0,p=r.persisted;l<p.length;l++){var f=p[l],d=f[0],h=f[1];Rn(d.type,h.type)||n.push({type:kn.FIELD_CHANGED_KIND,description:\"\".concat(e.name,\".\").concat(d.name,\" changed type from \")+\"\".concat(String(d.type),\" to \").concat(String(h.type),\".\")})}return n}function Nn(e,t){for(var n=[],r=zn(e.getTypes(),t.getTypes()),i=0,o=r.added;i<o.length;i++){var a=o[i];n.push({type:An.TYPE_ADDED_TO_UNION,description:\"\".concat(a.name,\" was added to union type \").concat(e.name,\".\")})}for(var s=0,u=r.removed;s<u.length;s++){var c=u[s];n.push({type:kn.TYPE_REMOVED_FROM_UNION,description:\"\".concat(c.name,\" was removed from union type \").concat(e.name,\".\")})}return n}function In(e,t){for(var n=[],r=zn(e.getValues(),t.getValues()),i=0,o=r.added;i<o.length;i++){var a=o[i];n.push({type:An.VALUE_ADDED_TO_ENUM,description:\"\".concat(a.name,\" was added to enum type \").concat(e.name,\".\")})}for(var s=0,u=r.removed;s<u.length;s++){var c=u[s];n.push({type:kn.VALUE_REMOVED_FROM_ENUM,description:\"\".concat(c.name,\" was removed from enum type \").concat(e.name,\".\")})}return n}function Mn(e,t){for(var n=[],r=zn(e.getInterfaces(),t.getInterfaces()),i=0,o=r.added;i<o.length;i++){var a=o[i];n.push({type:An.IMPLEMENTED_INTERFACE_ADDED,description:\"\".concat(a.name,\" added to interfaces implemented by \").concat(e.name,\".\")})}for(var s=0,u=r.removed;s<u.length;s++){var c=u[s];n.push({type:kn.IMPLEMENTED_INTERFACE_REMOVED,description:\"\".concat(e.name,\" no longer implements interface \").concat(c.name,\".\")})}return n}function jn(e,t){for(var n=[],r=zn(Object(_.a)(e.getFields()),Object(_.a)(t.getFields())),i=0,o=r.removed;i<o.length;i++){var a=o[i];n.push({type:kn.FIELD_REMOVED,description:\"\".concat(e.name,\".\").concat(a.name,\" was removed.\")})}for(var s=0,u=r.persisted;s<u.length;s++){var c=u[s],l=c[0],p=c[1];n.push.apply(n,Ln(e,l,p)),Pn(l.type,p.type)||n.push({type:kn.FIELD_CHANGED_KIND,description:\"\".concat(e.name,\".\").concat(l.name,\" changed type from \")+\"\".concat(String(l.type),\" to \").concat(String(p.type),\".\")})}return n}function Ln(e,t,n){for(var r=[],i=zn(t.args,n.args),o=0,a=i.removed;o<a.length;o++){var s=a[o];r.push({type:kn.ARG_REMOVED,description:\"\".concat(e.name,\".\").concat(t.name,\" arg \").concat(s.name,\" was removed.\")})}for(var u=0,c=i.persisted;u<c.length;u++){var l=c[u],p=l[0],f=l[1];if(Rn(p.type,f.type)){if(void 0!==p.defaultValue)if(void 0===f.defaultValue)r.push({type:An.ARG_DEFAULT_VALUE_CHANGE,description:\"\".concat(e.name,\".\").concat(t.name,\" arg \").concat(p.name,\" defaultValue was removed.\")});else{var d=Un(p.defaultValue,p.type),h=Un(f.defaultValue,f.type);d!==h&&r.push({type:An.ARG_DEFAULT_VALUE_CHANGE,description:\"\".concat(e.name,\".\").concat(t.name,\" arg \").concat(p.name,\" has changed defaultValue from \").concat(d,\" to \").concat(h,\".\")})}}else r.push({type:kn.ARG_CHANGED_KIND,description:\"\".concat(e.name,\".\").concat(t.name,\" arg \").concat(p.name,\" has changed type from \")+\"\".concat(String(p.type),\" to \").concat(String(f.type),\".\")})}for(var m=0,g=i.added;m<g.length;m++){var y=g[m];Object(D.P)(y)?r.push({type:kn.REQUIRED_ARG_ADDED,description:\"A required arg \".concat(y.name,\" on \").concat(e.name,\".\").concat(t.name,\" was added.\")}):r.push({type:An.OPTIONAL_ARG_ADDED,description:\"An optional arg \".concat(y.name,\" on \").concat(e.name,\".\").concat(t.name,\" was added.\")})}return r}function Pn(e,t){return Object(D.J)(e)?Object(D.J)(t)&&Pn(e.ofType,t.ofType)||Object(D.L)(t)&&Pn(e,t.ofType):Object(D.L)(e)?Object(D.L)(t)&&Pn(e.ofType,t.ofType):Object(D.K)(t)&&e.name===t.name||Object(D.L)(t)&&Pn(e,t.ofType)}function Rn(e,t){return Object(D.J)(e)?Object(D.J)(t)&&Rn(e.ofType,t.ofType):Object(D.L)(e)?Object(D.L)(t)&&Rn(e.ofType,t.ofType)||!Object(D.L)(t)&&Rn(e.ofType,t):Object(D.K)(t)&&e.name===t.name}function Bn(e){return Object(D.R)(e)?\"a Scalar type\":Object(D.N)(e)?\"an Object type\":Object(D.H)(e)?\"an Interface type\":Object(D.T)(e)?\"a Union type\":Object(D.E)(e)?\"an Enum type\":Object(D.F)(e)?\"an Input type\":void Object(p.a)(0,\"Unexpected type: \"+Object(l.a)(e))}function Un(e,t){var n=Object($t.a)(e,t);null!=n||Object(p.a)(0);var r=Object(we.c)(n,{ObjectValue:function(e){var t=[].concat(e.fields).sort((function(e,t){return e.name.value.localeCompare(t.name.value)}));return wn(wn({},e),{},{fields:t})}});return Object(T.print)(r)}function zn(e,t){for(var n=[],r=[],i=[],o=Object(k.a)(e,(function(e){return e.name})),a=Object(k.a)(t,(function(e){return e.name})),s=0;s<e.length;s++){var u=e[s],c=a[u.name];void 0===c?r.push(u):i.push([u,c])}for(var l=0;l<t.length;l++){var p=t[l];void 0===o[p.name]&&n.push(p)}return{added:n,persisted:i,removed:r}}var Vn=n(538)},function(e,t,n){\"use strict\";n.d(t,\"h\",(function(){return m})),n.d(t,\"g\",(function(){return g})),n.d(t,\"c\",(function(){return y})),n.d(t,\"d\",(function(){return v})),n.d(t,\"e\",(function(){return b})),n.d(t,\"a\",(function(){return E})),n.d(t,\"b\",(function(){return x})),n.d(t,\"f\",(function(){return D})),n.d(t,\"j\",(function(){return C})),n.d(t,\"i\",(function(){return w}));var r=n(55),i=n(25),o=n(4),a=n(41),s=n(8),u=n(48),c=n(31),l=n(47),p=n(9),f=n(13),d=n(0);function h(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function m(e){return Object(u.a)(e,y)}function g(e){if(!m(e))throw new Error(\"Expected \".concat(Object(o.a)(e),\" to be a GraphQL directive.\"));return e}var y=function(){function e(e){var t,n;this.name=e.name,this.description=e.description,this.locations=e.locations,this.isRepeatable=null!==(t=e.isRepeatable)&&void 0!==t&&t,this.extensions=e.extensions&&Object(a.a)(e.extensions),this.astNode=e.astNode,e.name||Object(s.a)(0,\"Directive must be named.\"),Array.isArray(e.locations)||Object(s.a)(0,\"@\".concat(e.name,\" locations must be an Array.\"));var i=null!==(n=e.args)&&void 0!==n?n:{};Object(c.a)(i)&&!Array.isArray(i)||Object(s.a)(0,\"@\".concat(e.name,\" args must be an object with argument names as keys.\")),this.args=Object(r.a)(i).map((function(e){var t=e[0],n=e[1];return{name:t,description:n.description,type:n.type,defaultValue:n.defaultValue,extensions:n.extensions&&Object(a.a)(n.extensions),astNode:n.astNode}}))}var t,n,o,u=e.prototype;return u.toConfig=function(){return{name:this.name,description:this.description,locations:this.locations,args:Object(d.i)(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}},u.toString=function(){return\"@\"+this.name},u.toJSON=function(){return this.toString()},t=e,(n=[{key:i.c,get:function(){return\"GraphQLDirective\"}}])&&h(t.prototype,n),o&&h(t,o),e}();Object(l.a)(y);var v=new y({name:\"include\",description:\"Directs the executor to include this field or fragment only when the `if` argument is true.\",locations:[p.a.FIELD,p.a.FRAGMENT_SPREAD,p.a.INLINE_FRAGMENT],args:{if:{type:Object(d.e)(f.a),description:\"Included when true.\"}}}),b=new y({name:\"skip\",description:\"Directs the executor to skip this field or fragment when the `if` argument is true.\",locations:[p.a.FIELD,p.a.FRAGMENT_SPREAD,p.a.INLINE_FRAGMENT],args:{if:{type:Object(d.e)(f.a),description:\"Skipped when true.\"}}}),E=\"No longer supported\",x=new y({name:\"deprecated\",description:\"Marks an element of a GraphQL schema as no longer supported.\",locations:[p.a.FIELD_DEFINITION,p.a.ENUM_VALUE],args:{reason:{type:f.e,description:\"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).\",defaultValue:E}}}),D=new y({name:\"specifiedBy\",description:\"Exposes a URL that specifies the behaviour of this scalar.\",locations:[p.a.SCALAR],args:{url:{type:Object(d.e)(f.e),description:\"The URL that specifies the behaviour of this scalar.\"}}}),C=Object.freeze([v,b,x,D]);function w(e){return C.some((function(t){return t.name===e.name}))}},function(e,t,n){\"use strict\";var r=Object.prototype.hasOwnProperty;function i(e,t){return r.call(e,t)}function o(e){return!(e>=55296&&e<=57343)&&(!(e>=64976&&e<=65007)&&(65535!=(65535&e)&&65534!=(65535&e)&&(!(e>=0&&e<=8)&&(11!==e&&(!(e>=14&&e<=31)&&(!(e>=127&&e<=159)&&!(e>1114111)))))))}function a(e){if(e>65535){var t=55296+((e-=65536)>>10),n=56320+(1023&e);return String.fromCharCode(t,n)}return String.fromCharCode(e)}var s=/\\\\([!\"#$%&'()*+,\\-.\\/:;<=>?@[\\\\\\]^_`{|}~])/g,u=new RegExp(s.source+\"|\"+/&([a-z#][a-z0-9]{1,31});/gi.source,\"gi\"),c=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i,l=n(170);var p=/[&<>\"]/,f=/[&<>\"]/g,d={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\"};function h(e){return d[e]}var m=/[.?*+^$[\\]\\\\(){}|-]/g;var g=n(104);t.lib={},t.lib.mdurl=n(105),t.lib.ucmicro=n(171),t.assign=function(e){var t=Array.prototype.slice.call(arguments,1);return t.forEach((function(t){if(t){if(\"object\"!=typeof t)throw new TypeError(t+\"must be object\");Object.keys(t).forEach((function(n){e[n]=t[n]}))}})),e},t.isString=function(e){return\"[object String]\"===function(e){return Object.prototype.toString.call(e)}(e)},t.has=i,t.unescapeMd=function(e){return e.indexOf(\"\\\\\")<0?e:e.replace(s,\"$1\")},t.unescapeAll=function(e){return e.indexOf(\"\\\\\")<0&&e.indexOf(\"&\")<0?e:e.replace(u,(function(e,t,n){return t||function(e,t){var n=0;return i(l,t)?l[t]:35===t.charCodeAt(0)&&c.test(t)&&o(n=\"x\"===t[1].toLowerCase()?parseInt(t.slice(2),16):parseInt(t.slice(1),10))?a(n):e}(e,n)}))},t.isValidEntityCode=o,t.fromCodePoint=a,t.escapeHtml=function(e){return p.test(e)?e.replace(f,h):e},t.arrayReplaceAt=function(e,t,n){return[].concat(e.slice(0,t),n,e.slice(t+1))},t.isSpace=function(e){switch(e){case 9:case 32:return!0}return!1},t.isWhiteSpace=function(e){if(e>=8192&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1},t.isMdAsciiPunct=function(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}},t.isPunctChar=function(e){return g.test(e)},t.escapeRE=function(e){return e.replace(m,\"\\\\$&\")},t.normalizeReference=function(e){return e.trim().replace(/\\s+/g,\" \").toUpperCase()}},function(e,t,n){\"use strict\";var r=Object.prototype.hasOwnProperty;function i(e,t){return r.call(e,t)}function o(e){return!(e>=55296&&e<=57343)&&(!(e>=64976&&e<=65007)&&(65535!=(65535&e)&&65534!=(65535&e)&&(!(e>=0&&e<=8)&&(11!==e&&(!(e>=14&&e<=31)&&(!(e>=127&&e<=159)&&!(e>1114111)))))))}function a(e){if(e>65535){var t=55296+((e-=65536)>>10),n=56320+(1023&e);return String.fromCharCode(t,n)}return String.fromCharCode(e)}var s=/\\\\([!\"#$%&'()*+,\\-.\\/:;<=>?@[\\\\\\]^_`{|}~])/g,u=new RegExp(s.source+\"|\"+/&([a-z#][a-z0-9]{1,31});/gi.source,\"gi\"),c=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i,l=n(201);var p=/[&<>\"]/,f=/[&<>\"]/g,d={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\"};function h(e){return d[e]}var m=/[.?*+^$[\\]\\\\(){}|-]/g;var g=n(104);t.lib={},t.lib.mdurl=n(105),t.lib.ucmicro=n(171),t.assign=function(e){var t=Array.prototype.slice.call(arguments,1);return t.forEach((function(t){if(t){if(\"object\"!=typeof t)throw new TypeError(t+\"must be object\");Object.keys(t).forEach((function(n){e[n]=t[n]}))}})),e},t.isString=function(e){return\"[object String]\"===function(e){return Object.prototype.toString.call(e)}(e)},t.has=i,t.unescapeMd=function(e){return e.indexOf(\"\\\\\")<0?e:e.replace(s,\"$1\")},t.unescapeAll=function(e){return e.indexOf(\"\\\\\")<0&&e.indexOf(\"&\")<0?e:e.replace(u,(function(e,t,n){return t||function(e,t){var n=0;return i(l,t)?l[t]:35===t.charCodeAt(0)&&c.test(t)&&o(n=\"x\"===t[1].toLowerCase()?parseInt(t.slice(2),16):parseInt(t.slice(1),10))?a(n):e}(e,n)}))},t.isValidEntityCode=o,t.fromCodePoint=a,t.escapeHtml=function(e){return p.test(e)?e.replace(f,h):e},t.arrayReplaceAt=function(e,t,n){return[].concat(e.slice(0,t),n,e.slice(t+1))},t.isSpace=function(e){switch(e){case 9:case 32:return!0}return!1},t.isWhiteSpace=function(e){if(e>=8192&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1},t.isMdAsciiPunct=function(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}},t.isPunctChar=function(e){return g.test(e)},t.escapeRE=function(e){return e.replace(m,\"\\\\$&\")},t.normalizeReference=function(e){return e=e.trim().replace(/\\s+/g,\" \"),\"Ṿ\"===\"ẞ\".toLowerCase()&&(e=e.replace(/ẞ/g,\"ß\")),e.toLowerCase().toUpperCase()}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i})),n.d(t,\"b\",(function(){return o})),n.d(t,\"c\",(function(){return a}));var r=n(47),i=function(){function e(e,t,n){this.start=e.start,this.end=t.end,this.startToken=e,this.endToken=t,this.source=n}return e.prototype.toJSON=function(){return{start:this.start,end:this.end}},e}();Object(r.a)(i);var o=function(){function e(e,t,n,r,i,o,a){this.kind=e,this.start=t,this.end=n,this.line=r,this.column=i,this.value=a,this.prev=o,this.next=null}return e.prototype.toJSON=function(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}},e}();function a(e){return null!=e&&\"string\"==typeof e.kind}Object(r.a)(o)},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return r})),n.d(t,\"a\",(function(){return i})),n.d(t,\"c\",(function(){return o}));var r=\"function\"==typeof Symbol?Symbol.iterator:\"@@iterator\",i=\"function\"==typeof Symbol?Symbol.asyncIterator:\"@@asyncIterator\",o=\"function\"==typeof Symbol?Symbol.toStringTag:\"@@toStringTag\"},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return a})),n.d(t,\"c\",(function(){return s})),n.d(t,\"d\",(function(){return u})),n.d(t,\"b\",(function(){return c}));var r=n(4),i=n(24),o={Name:[],Document:[\"definitions\"],OperationDefinition:[\"name\",\"variableDefinitions\",\"directives\",\"selectionSet\"],VariableDefinition:[\"variable\",\"type\",\"defaultValue\",\"directives\"],Variable:[\"name\"],SelectionSet:[\"selections\"],Field:[\"alias\",\"name\",\"arguments\",\"directives\",\"selectionSet\"],Argument:[\"name\",\"value\"],FragmentSpread:[\"name\",\"directives\"],InlineFragment:[\"typeCondition\",\"directives\",\"selectionSet\"],FragmentDefinition:[\"name\",\"variableDefinitions\",\"typeCondition\",\"directives\",\"selectionSet\"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:[\"values\"],ObjectValue:[\"fields\"],ObjectField:[\"name\",\"value\"],Directive:[\"name\",\"arguments\"],NamedType:[\"name\"],ListType:[\"type\"],NonNullType:[\"type\"],SchemaDefinition:[\"description\",\"directives\",\"operationTypes\"],OperationTypeDefinition:[\"type\"],ScalarTypeDefinition:[\"description\",\"name\",\"directives\"],ObjectTypeDefinition:[\"description\",\"name\",\"interfaces\",\"directives\",\"fields\"],FieldDefinition:[\"description\",\"name\",\"arguments\",\"type\",\"directives\"],InputValueDefinition:[\"description\",\"name\",\"type\",\"defaultValue\",\"directives\"],InterfaceTypeDefinition:[\"description\",\"name\",\"interfaces\",\"directives\",\"fields\"],UnionTypeDefinition:[\"description\",\"name\",\"directives\",\"types\"],EnumTypeDefinition:[\"description\",\"name\",\"directives\",\"values\"],EnumValueDefinition:[\"description\",\"name\",\"directives\"],InputObjectTypeDefinition:[\"description\",\"name\",\"directives\",\"fields\"],DirectiveDefinition:[\"description\",\"name\",\"arguments\",\"locations\"],SchemaExtension:[\"directives\",\"operationTypes\"],ScalarTypeExtension:[\"name\",\"directives\"],ObjectTypeExtension:[\"name\",\"interfaces\",\"directives\",\"fields\"],InterfaceTypeExtension:[\"name\",\"interfaces\",\"directives\",\"fields\"],UnionTypeExtension:[\"name\",\"directives\",\"types\"],EnumTypeExtension:[\"name\",\"directives\",\"values\"],InputObjectTypeExtension:[\"name\",\"directives\",\"fields\"]},a=Object.freeze({});function s(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o,s=void 0,u=Array.isArray(e),l=[e],p=-1,f=[],d=void 0,h=void 0,m=void 0,g=[],y=[],v=e;do{var b=++p===l.length,E=b&&0!==f.length;if(b){if(h=0===y.length?void 0:g[g.length-1],d=m,m=y.pop(),E){if(u)d=d.slice();else{for(var x={},D=0,C=Object.keys(d);D<C.length;D++){var w=C[D];x[w]=d[w]}d=x}for(var S=0,k=0;k<f.length;k++){var A=f[k][0],T=f[k][1];u&&(A-=S),u&&null===T?(d.splice(A,1),S++):d[A]=T}}p=s.index,l=s.keys,f=s.edits,u=s.inArray,s=s.prev}else{if(h=m?u?p:l[p]:void 0,null==(d=m?m[h]:v))continue;m&&g.push(h)}var _,O=void 0;if(!Array.isArray(d)){if(!Object(i.c)(d))throw new Error(\"Invalid AST Node: \".concat(Object(r.a)(d),\".\"));var F=c(t,d.kind,b);if(F){if((O=F.call(t,d,h,m,g,y))===a)break;if(!1===O){if(!b){g.pop();continue}}else if(void 0!==O&&(f.push([h,O]),!b)){if(!Object(i.c)(O)){g.pop();continue}d=O}}}if(void 0===O&&E&&f.push([h,d]),b)g.pop();else s={inArray:u,index:p,keys:l,edits:f,prev:s},l=(u=Array.isArray(d))?d:null!==(_=n[d.kind])&&void 0!==_?_:[],p=-1,f=[],m&&y.push(m),m=d}while(void 0!==s);return 0!==f.length&&(v=f[f.length-1][1]),v}function u(e){var t=new Array(e.length);return{enter:function(n){for(var r=0;r<e.length;r++)if(null==t[r]){var i=c(e[r],n.kind,!1);if(i){var o=i.apply(e[r],arguments);if(!1===o)t[r]=n;else if(o===a)t[r]=a;else if(void 0!==o)return o}}},leave:function(n){for(var r=0;r<e.length;r++)if(null==t[r]){var i=c(e[r],n.kind,!0);if(i){var o=i.apply(e[r],arguments);if(o===a)t[r]=a;else if(void 0!==o&&!1!==o)return o}}else t[r]===n&&(t[r]=null)}}}function c(e,t,n){var r=e[t];if(r){if(!n&&\"function\"==typeof r)return r;var i=n?r.leave:r.enter;if(\"function\"==typeof i)return i}else{var o=n?e.leave:e.enter;if(o){if(\"function\"==typeof o)return o;var a=o[t];if(\"function\"==typeof a)return a}}}},function(e,t,n){\"use strict\";(function(e){n.d(t,\"a\",(function(){return a})),n.d(t,\"b\",(function(){return s}));var r=n(19),i=Object.setPrototypeOf,o=void 0===i?function(e,t){return e.__proto__=t,e}:i,a=function(e){function t(n){void 0===n&&(n=\"Invariant Violation\");var r=e.call(this,\"number\"==typeof n?\"Invariant Violation: \"+n+\" (see https://github.com/apollographql/invariant-packages)\":n)||this;return r.framesToPop=1,r.name=\"Invariant Violation\",o(r,t.prototype),r}return Object(r.b)(t,e),t}(Error);function s(e,t){if(!e)throw new a(t)}function u(e){return function(){return console[e].apply(console,arguments)}}!function(e){e.warn=u(\"warn\"),e.error=u(\"error\")}(s||(s={}));var c={env:{}};if(\"object\"==typeof e)c=e;else try{Function(\"stub\",\"process = stub\")(c)}catch(e){}}).call(this,n(100))},function(e,t,n){\"use strict\";function r(e,t){return e===t}function i(e,t,n){if(null===t||null===n||t.length!==n.length)return!1;for(var r=t.length,i=0;i<r;i++)if(!e(t[i],n[i]))return!1;return!0}function o(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r,n=null,o=null;return function(){return i(t,n,arguments)||(o=e.apply(null,arguments)),n=arguments,o}}function a(e){var t=Array.isArray(e[0])?e[0]:e;if(!t.every((function(e){return\"function\"==typeof e}))){var n=t.map((function(e){return typeof e})).join(\", \");throw new Error(\"Selector creators expect all input-selectors to be functions, instead received the following types: [\"+n+\"]\")}return t}function s(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return function(){for(var t=arguments.length,r=Array(t),i=0;i<t;i++)r[i]=arguments[i];var o=0,s=r.pop(),u=a(r),c=e.apply(void 0,[function(){return o++,s.apply(null,arguments)}].concat(n)),l=e((function(){for(var e=[],t=u.length,n=0;n<t;n++)e.push(u[n].apply(null,arguments));return c.apply(null,e)}));return l.resultFunc=s,l.dependencies=u,l.recomputations=function(){return o},l.resetRecomputations=function(){return o=0},l}}n.r(t),n.d(t,\"defaultMemoize\",(function(){return o})),n.d(t,\"createSelectorCreator\",(function(){return s})),n.d(t,\"createSelector\",(function(){return u})),n.d(t,\"createStructuredSelector\",(function(){return c}));var u=s(o);function c(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u;if(\"object\"!=typeof e)throw new Error(\"createStructuredSelector expects first argument to be an object where each property is a selector, instead received a \"+typeof e);var n=Object.keys(e);return t(n.map((function(t){return e[t]})),(function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.reduce((function(e,t,r){return e[n[r]]=t,e}),{})}))}},function(e,t,n){\"use strict\";e.exports=function(e,t,n,r,i,o,a,s){if(!e){var u;if(void 0===t)u=new Error(\"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.\");else{var c=[n,r,i,o,a,s],l=0;(u=new Error(t.replace(/%s/g,(function(){return c[l++]})))).name=\"Invariant Violation\"}throw u.framesToPop=1,u}}},function(e,t,n){\"use strict\";n.r(t),n.d(t,\"Provider\",(function(){return l})),n.d(t,\"connectAdvanced\",(function(){return w})),n.d(t,\"ReactReduxContext\",(function(){return o})),n.d(t,\"connect\",(function(){return z})),n.d(t,\"batch\",(function(){return $.unstable_batchedUpdates})),n.d(t,\"useDispatch\",(function(){return G})),n.d(t,\"createDispatchHook\",(function(){return W})),n.d(t,\"useSelector\",(function(){return Y})),n.d(t,\"createSelectorHook\",(function(){return J})),n.d(t,\"useStore\",(function(){return H})),n.d(t,\"createStoreHook\",(function(){return q})),n.d(t,\"shallowEqual\",(function(){return k}));var r=n(3),i=n.n(r),o=(n(7),i.a.createContext(null));var a=function(e){e()},s={notify:function(){}};function u(){var e=a,t=null,n=null;return{clear:function(){t=null,n=null},notify:function(){e((function(){for(var e=t;e;)e.callback(),e=e.next}))},get:function(){for(var e=[],n=t;n;)e.push(n),n=n.next;return e},subscribe:function(e){var r=!0,i=n={callback:e,next:null,prev:n};return i.prev?i.prev.next=i:t=i,function(){r&&null!==t&&(r=!1,i.next?i.next.prev=i.prev:n=i.prev,i.prev?i.prev.next=i.next:t=i.next)}}}}var c=function(){function e(e,t){this.store=e,this.parentSub=t,this.unsubscribe=null,this.listeners=s,this.handleChangeWrapper=this.handleChangeWrapper.bind(this)}var t=e.prototype;return t.addNestedSub=function(e){return this.trySubscribe(),this.listeners.subscribe(e)},t.notifyNestedSubs=function(){this.listeners.notify()},t.handleChangeWrapper=function(){this.onStateChange&&this.onStateChange()},t.isSubscribed=function(){return Boolean(this.unsubscribe)},t.trySubscribe=function(){this.unsubscribe||(this.unsubscribe=this.parentSub?this.parentSub.addNestedSub(this.handleChangeWrapper):this.store.subscribe(this.handleChangeWrapper),this.listeners=u())},t.tryUnsubscribe=function(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null,this.listeners.clear(),this.listeners=s)},e}();var l=function(e){var t=e.store,n=e.context,a=e.children,s=Object(r.useMemo)((function(){var e=new c(t);return e.onStateChange=e.notifyNestedSubs,{store:t,subscription:e}}),[t]),u=Object(r.useMemo)((function(){return t.getState()}),[t]);Object(r.useEffect)((function(){var e=s.subscription;return e.trySubscribe(),u!==t.getState()&&e.notifyNestedSubs(),function(){e.tryUnsubscribe(),e.onStateChange=null}}),[s,u]);var l=n||o;return i.a.createElement(l.Provider,{value:s},a)},p=n(37),f=n(61),d=n(136),h=n.n(d),m=n(80),g=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?r.useLayoutEffect:r.useEffect,y=[],v=[null,null];function b(e,t){var n=e[1];return[t.payload,n+1]}function E(e,t,n){g((function(){return e.apply(void 0,t)}),n)}function x(e,t,n,r,i,o,a){e.current=r,t.current=i,n.current=!1,o.current&&(o.current=null,a())}function D(e,t,n,r,i,o,a,s,u,c){if(e){var l=!1,p=null,f=function(){if(!l){var e,n,f=t.getState();try{e=r(f,i.current)}catch(e){n=e,p=e}n||(p=null),e===o.current?a.current||u():(o.current=e,s.current=e,a.current=!0,c({type:\"STORE_UPDATED\",payload:{error:n}}))}};n.onStateChange=f,n.trySubscribe(),f();return function(){if(l=!0,n.tryUnsubscribe(),n.onStateChange=null,p)throw p}}}var C=function(){return[null,0]};function w(e,t){void 0===t&&(t={});var n=t,a=n.getDisplayName,s=void 0===a?function(e){return\"ConnectAdvanced(\"+e+\")\"}:a,u=n.methodName,l=void 0===u?\"connectAdvanced\":u,d=n.renderCountProp,g=void 0===d?void 0:d,w=n.shouldHandleStateChanges,S=void 0===w||w,k=n.storeKey,A=void 0===k?\"store\":k,T=(n.withRef,n.forwardRef),_=void 0!==T&&T,O=n.context,F=void 0===O?o:O,N=Object(f.a)(n,[\"getDisplayName\",\"methodName\",\"renderCountProp\",\"shouldHandleStateChanges\",\"storeKey\",\"withRef\",\"forwardRef\",\"context\"]),I=F;return function(t){var n=t.displayName||t.name||\"Component\",o=s(n),a=Object(p.a)({},N,{getDisplayName:s,methodName:l,renderCountProp:g,shouldHandleStateChanges:S,storeKey:A,displayName:o,wrappedComponentName:n,WrappedComponent:t}),u=N.pure;var d=u?r.useMemo:function(e){return e()};function w(n){var o=Object(r.useMemo)((function(){var e=n.forwardedRef,t=Object(f.a)(n,[\"forwardedRef\"]);return[n.context,e,t]}),[n]),s=o[0],u=o[1],l=o[2],h=Object(r.useMemo)((function(){return s&&s.Consumer&&Object(m.isContextConsumer)(i.a.createElement(s.Consumer,null))?s:I}),[s,I]),g=Object(r.useContext)(h),w=Boolean(n.store)&&Boolean(n.store.getState)&&Boolean(n.store.dispatch);Boolean(g)&&Boolean(g.store);var k=w?n.store:g.store,A=Object(r.useMemo)((function(){return function(t){return e(t.dispatch,a)}(k)}),[k]),T=Object(r.useMemo)((function(){if(!S)return v;var e=new c(k,w?null:g.subscription),t=e.notifyNestedSubs.bind(e);return[e,t]}),[k,w,g]),_=T[0],O=T[1],F=Object(r.useMemo)((function(){return w?g:Object(p.a)({},g,{subscription:_})}),[w,g,_]),N=Object(r.useReducer)(b,y,C),M=N[0][0],j=N[1];if(M&&M.error)throw M.error;var L=Object(r.useRef)(),P=Object(r.useRef)(l),R=Object(r.useRef)(),B=Object(r.useRef)(!1),U=d((function(){return R.current&&l===P.current?R.current:A(k.getState(),l)}),[k,M,l]);E(x,[P,L,B,l,U,R,O]),E(D,[S,k,_,A,P,L,B,R,O,j],[k,_,A]);var z=Object(r.useMemo)((function(){return i.a.createElement(t,Object(p.a)({},U,{ref:u}))}),[u,t,U]);return Object(r.useMemo)((function(){return S?i.a.createElement(h.Provider,{value:F},z):z}),[h,z,F])}var k=u?i.a.memo(w):w;if(k.WrappedComponent=t,k.displayName=o,_){var T=i.a.forwardRef((function(e,t){return i.a.createElement(k,Object(p.a)({},e,{forwardedRef:t}))}));return T.displayName=o,T.WrappedComponent=t,h()(T,t)}return h()(k,t)}}function S(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!=e&&t!=t}function k(e,t){if(S(e,t))return!0;if(\"object\"!=typeof e||null===e||\"object\"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var i=0;i<n.length;i++)if(!Object.prototype.hasOwnProperty.call(t,n[i])||!S(e[n[i]],t[n[i]]))return!1;return!0}var A=n(60);function T(e){return function(t,n){var r=e(t,n);function i(){return r}return i.dependsOnOwnProps=!1,i}}function _(e){return null!==e.dependsOnOwnProps&&void 0!==e.dependsOnOwnProps?Boolean(e.dependsOnOwnProps):1!==e.length}function O(e,t){return function(t,n){n.displayName;var r=function(e,t){return r.dependsOnOwnProps?r.mapToProps(e,t):r.mapToProps(e)};return r.dependsOnOwnProps=!0,r.mapToProps=function(t,n){r.mapToProps=e,r.dependsOnOwnProps=_(e);var i=r(t,n);return\"function\"==typeof i&&(r.mapToProps=i,r.dependsOnOwnProps=_(i),i=r(t,n)),i},r}}var F=[function(e){return\"function\"==typeof e?O(e):void 0},function(e){return e?void 0:T((function(e){return{dispatch:e}}))},function(e){return e&&\"object\"==typeof e?T((function(t){return Object(A.bindActionCreators)(e,t)})):void 0}];var N=[function(e){return\"function\"==typeof e?O(e):void 0},function(e){return e?void 0:T((function(){return{}}))}];function I(e,t,n){return Object(p.a)({},n,{},e,{},t)}var M=[function(e){return\"function\"==typeof e?function(e){return function(t,n){n.displayName;var r,i=n.pure,o=n.areMergedPropsEqual,a=!1;return function(t,n,s){var u=e(t,n,s);return a?i&&o(u,r)||(r=u):(a=!0,r=u),r}}}(e):void 0},function(e){return e?void 0:function(){return I}}];function j(e,t,n,r){return function(i,o){return n(e(i,o),t(r,o),o)}}function L(e,t,n,r,i){var o,a,s,u,c,l=i.areStatesEqual,p=i.areOwnPropsEqual,f=i.areStatePropsEqual,d=!1;function h(i,d){var h,m,g=!p(d,a),y=!l(i,o);return o=i,a=d,g&&y?(s=e(o,a),t.dependsOnOwnProps&&(u=t(r,a)),c=n(s,u,a)):g?(e.dependsOnOwnProps&&(s=e(o,a)),t.dependsOnOwnProps&&(u=t(r,a)),c=n(s,u,a)):y?(h=e(o,a),m=!f(h,s),s=h,m&&(c=n(s,u,a)),c):c}return function(i,l){return d?h(i,l):(s=e(o=i,a=l),u=t(r,a),c=n(s,u,a),d=!0,c)}}function P(e,t){var n=t.initMapStateToProps,r=t.initMapDispatchToProps,i=t.initMergeProps,o=Object(f.a)(t,[\"initMapStateToProps\",\"initMapDispatchToProps\",\"initMergeProps\"]),a=n(e,o),s=r(e,o),u=i(e,o);return(o.pure?L:j)(a,s,u,e,o)}function R(e,t,n){for(var r=t.length-1;r>=0;r--){var i=t[r](e);if(i)return i}return function(t,r){throw new Error(\"Invalid value of type \"+typeof e+\" for \"+n+\" argument when connecting component \"+r.wrappedComponentName+\".\")}}function B(e,t){return e===t}function U(e){var t=void 0===e?{}:e,n=t.connectHOC,r=void 0===n?w:n,i=t.mapStateToPropsFactories,o=void 0===i?N:i,a=t.mapDispatchToPropsFactories,s=void 0===a?F:a,u=t.mergePropsFactories,c=void 0===u?M:u,l=t.selectorFactory,d=void 0===l?P:l;return function(e,t,n,i){void 0===i&&(i={});var a=i,u=a.pure,l=void 0===u||u,h=a.areStatesEqual,m=void 0===h?B:h,g=a.areOwnPropsEqual,y=void 0===g?k:g,v=a.areStatePropsEqual,b=void 0===v?k:v,E=a.areMergedPropsEqual,x=void 0===E?k:E,D=Object(f.a)(a,[\"pure\",\"areStatesEqual\",\"areOwnPropsEqual\",\"areStatePropsEqual\",\"areMergedPropsEqual\"]),C=R(e,o,\"mapStateToProps\"),w=R(t,s,\"mapDispatchToProps\"),S=R(n,c,\"mergeProps\");return r(d,Object(p.a)({methodName:\"connect\",getDisplayName:function(e){return\"Connect(\"+e+\")\"},shouldHandleStateChanges:Boolean(e),initMapStateToProps:C,initMapDispatchToProps:w,initMergeProps:S,pure:l,areStatesEqual:m,areOwnPropsEqual:y,areStatePropsEqual:b,areMergedPropsEqual:x},D))}}var z=U();function V(){return Object(r.useContext)(o)}function q(e){void 0===e&&(e=o);var t=e===o?V:function(){return Object(r.useContext)(e)};return function(){return t().store}}var H=q();function W(e){void 0===e&&(e=o);var t=e===o?H:q(e);return function(){return t().dispatch}}var G=W(),K=function(e,t){return e===t};function J(e){void 0===e&&(e=o);var t=e===o?V:function(){return Object(r.useContext)(e)};return function(e,n){void 0===n&&(n=K);var i=t();return function(e,t,n,i){var o,a=Object(r.useReducer)((function(e){return e+1}),0)[1],s=Object(r.useMemo)((function(){return new c(n,i)}),[n,i]),u=Object(r.useRef)(),l=Object(r.useRef)(),p=Object(r.useRef)();try{o=e!==l.current||u.current?e(n.getState()):p.current}catch(e){throw u.current&&(e.message+=\"\\nThe error may be correlated with this previous error:\\n\"+u.current.stack+\"\\n\\n\"),e}return g((function(){l.current=e,p.current=o,u.current=void 0})),g((function(){function e(){try{var e=l.current(n.getState());if(t(e,p.current))return;p.current=e}catch(e){u.current=e}a({})}return s.onStateChange=e,s.trySubscribe(),e(),function(){return s.tryUnsubscribe()}}),[n,s]),o}(e,n,i.store,i.subscription)}}var Q,Y=J(),$=n(59);Q=$.unstable_batchedUpdates,a=Q},function(e,t,n){\"use strict\";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 i(e){return\"object\"==r(e)&&null!==e}n.d(t,\"a\",(function(){return i}))},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(28),i=n(42);function o(e){return e.get(\"selectedWorkspace\")}t.getSessionsState=r.createSelector([function(e){return e.getIn([\"workspaces\",o(e)])||i.makeWorkspace(\"\")}],(function(e){return e.get(\"sessions\")})),t.getSelectedSession=r.createSelector([t.getSessionsState],(function(e){var n=t.getSelectedSessionId(e);return e.getIn([\"sessions\",n])})),t.getSelectedSessionId=function(e){return e.selectedSessionId&&\"\"!==e.selectedSessionId?e.selectedSessionId:e.sessions.first().id},t.getSelectedSessionIdFromRoot=r.createSelector([t.getSelectedSession],(function(e){return e.get(\"id\")}));var a=function(e){return r.createSelector([t.getSelectedSession],(function(t){return t.get(e)}))};function s(e){return e.getIn([\"settingsString\"])}function u(e){try{return JSON.parse(e)}catch(e){}return{}}function c(e){var t=e.variables;try{return JSON.parse(t)}catch(e){}return{}}t.getScrollTop=a(\"scrollTop\"),t.getEndpoint=a(\"endpoint\"),t.getQuery=a(\"query\"),t.getFile=a(\"file\"),t.getVariables=a(\"variables\"),t.getResponses=a(\"responses\"),t.getOperationName=a(\"operationName\"),t.getQueryRunning=a(\"queryRunning\"),t.getSubscriptionActive=a(\"subscriptionActive\"),t.getOperations=a(\"operations\"),t.getVariableToType=a(\"variableToType\"),t.getQueryTypes=a(\"queryTypes\"),t.getDate=a(\"date\"),t.getHasMutation=a(\"hasMutation\"),t.getHasSubscription=a(\"hasSubscription\"),t.getHasQuery=a(\"hasQuery\"),t.getIsFile=a(\"isFile\"),t.getStarred=a(\"starred\"),t.getName=a(\"name\"),t.getFilePath=a(\"filePath\"),t.getSelectedUserToken=a(\"selectedUserToken\"),t.getHeaders=a(\"headers\"),t.getHasChanged=a(\"hasChanged\"),t.getAbsolutePath=a(\"absolutePath\"),t.getIsSettingsTab=a(\"isSettingsTab\"),t.getIsConfigTab=a(\"isConfigTab\"),t.getCurrentQueryStartTime=a(\"currentQueryStartTime\"),t.getCurrentQueryEndTime=a(\"currentQueryEndTime\"),t.getIsReloadingSchema=a(\"isReloadingSchema\"),t.getIsPollingSchema=r.createSelector([t.getEndpoint,s],(function(e,t){var n=JSON.parse(t);try{return n[\"schema.polling.enable\"]&&e.match(\"/\"+n[\"schema.polling.endpointFilter\"])&&!0}catch(e){return!1}})),t.getResponseExtensions=a(\"responseExtensions\"),t.getQueryVariablesActive=a(\"queryVariablesActive\"),t.getEndpointUnreachable=a(\"endpointUnreachable\"),t.getEditorFlex=a(\"editorFlex\"),t.getVariableEditorOpen=a(\"variableEditorOpen\"),t.getVariableEditorHeight=a(\"variableEditorHeight\"),t.getResponseTracingOpen=a(\"responseTracingOpen\"),t.getResponseTracingHeight=a(\"responseTracingHeight\"),t.getDocExplorerWidth=a(\"docExplorerWidth\"),t.getNextQueryStartTime=a(\"nextQueryStartTime\"),t.getTracingSupported=a(\"tracingSupported\"),t.getTabWidth=r.createSelector([s],(function(e){try{return JSON.parse(e)[\"prettier.tabWidth\"]||2}catch(e){}return 2})),t.getUseTabs=r.createSelector([s],(function(e){try{return JSON.parse(e)[\"prettier.useTabs\"]||!1}catch(e){}return!1})),t.getHeadersCount=r.createSelector([t.getHeaders],(function(e){try{var t=JSON.parse(e);return Object.keys(t).length}catch(e){}return 0})),t.getParsedHeaders=r.createSelector([t.getSelectedSession],u),t.getParsedHeadersFromSession=u,t.getParsedVariables=r.createSelector([t.getSelectedSession],c),t.getParsedVariablesFromSession=c,t.getTracing=r.createSelector([t.getResponseExtensions],(function(e){return e&&e.tracing})),t.getSessionsArray=r.createSelector([t.getSessionsState],(function(e){return e.get(\"sessions\").toArray().map((function(e){return e[1]}))}))},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return s}));var r=n(4),i=n(17),o=n(1),a=n(0);function s(e,t){var n;return t.kind===o.a.LIST_TYPE?(n=s(e,t.type))&&Object(a.d)(n):t.kind===o.a.NON_NULL_TYPE?(n=s(e,t.type))&&Object(a.e)(n):t.kind===o.a.NAMED_TYPE?e.getType(t.name.value):void Object(i.a)(0,\"Unexpected type node: \"+Object(r.a)(t))}},function(e,t,n){\"use strict\";n.r(t),n.d(t,\"version\",(function(){return rr})),n.d(t,\"Collection\",(function(){return v})),n.d(t,\"Iterable\",(function(){return or})),n.d(t,\"Seq\",(function(){return R})),n.d(t,\"Map\",(function(){return Et})),n.d(t,\"OrderedMap\",(function(){return rn})),n.d(t,\"List\",(function(){return qt})),n.d(t,\"Stack\",(function(){return cn})),n.d(t,\"Set\",(function(){return bn})),n.d(t,\"OrderedSet\",(function(){return Vn})),n.d(t,\"Record\",(function(){return Kn})),n.d(t,\"Range\",(function(){return kn})),n.d(t,\"Repeat\",(function(){return er})),n.d(t,\"is\",(function(){return Z})),n.d(t,\"fromJS\",(function(){return tr})),n.d(t,\"hash\",(function(){return re})),n.d(t,\"isImmutable\",(function(){return w})),n.d(t,\"isCollection\",(function(){return h})),n.d(t,\"isKeyed\",(function(){return m})),n.d(t,\"isIndexed\",(function(){return g})),n.d(t,\"isAssociative\",(function(){return y})),n.d(t,\"isOrdered\",(function(){return k})),n.d(t,\"isValueObject\",(function(){return X})),n.d(t,\"get\",(function(){return We})),n.d(t,\"getIn\",(function(){return An})),n.d(t,\"has\",(function(){return He})),n.d(t,\"hasIn\",(function(){return _n})),n.d(t,\"merge\",(function(){return at})),n.d(t,\"mergeDeep\",(function(){return ut})),n.d(t,\"mergeWith\",(function(){return st})),n.d(t,\"mergeDeepWith\",(function(){return ct})),n.d(t,\"remove\",(function(){return Ke})),n.d(t,\"removeIn\",(function(){return Xe})),n.d(t,\"set\",(function(){return Je})),n.d(t,\"setIn\",(function(){return Ye})),n.d(t,\"update\",(function(){return et})),n.d(t,\"updateIn\",(function(){return Qe}));var r={};function i(e){e&&(e.value=!0)}function o(){}function a(e){return void 0===e.size&&(e.size=e.__iterate(u)),e.size}function s(e,t){if(\"number\"!=typeof t){var n=t>>>0;if(\"\"+n!==t||4294967295===n)return NaN;t=n}return t<0?a(e)+t:t}function u(){return!0}function c(e,t,n){return(0===e&&!d(e)||void 0!==n&&e<=-n)&&(void 0===t||void 0!==n&&t>=n)}function l(e,t){return f(e,t,0)}function p(e,t){return f(e,t,t)}function f(e,t,n){return void 0===e?n:d(e)?t===1/0?t:0|Math.max(0,t+e):void 0===t||t===e?e:0|Math.min(t,e)}function d(e){return e<0||0===e&&1/e==-1/0}function h(e){return Boolean(e&&e[\"@@__IMMUTABLE_ITERABLE__@@\"])}function m(e){return Boolean(e&&e[\"@@__IMMUTABLE_KEYED__@@\"])}function g(e){return Boolean(e&&e[\"@@__IMMUTABLE_INDEXED__@@\"])}function y(e){return m(e)||g(e)}var v=function(e){return h(e)?e:R(e)},b=function(e){function t(e){return m(e)?e:B(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(v),E=function(e){function t(e){return g(e)?e:U(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(v),x=function(e){function t(e){return h(e)&&!y(e)?e:z(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(v);v.Keyed=b,v.Indexed=E,v.Set=x;function D(e){return Boolean(e&&e[\"@@__IMMUTABLE_SEQ__@@\"])}function C(e){return Boolean(e&&e[\"@@__IMMUTABLE_RECORD__@@\"])}function w(e){return h(e)||C(e)}var S=\"@@__IMMUTABLE_ORDERED__@@\";function k(e){return Boolean(e&&e[S])}var A=\"function\"==typeof Symbol&&Symbol.iterator,T=A||\"@@iterator\",_=function(e){this.next=e};function O(e,t,n,r){var i=0===e?t:1===e?n:[t,n];return r?r.value=i:r={value:i,done:!1},r}function F(){return{value:void 0,done:!0}}function N(e){return!!j(e)}function I(e){return e&&\"function\"==typeof e.next}function M(e){var t=j(e);return t&&t.call(e)}function j(e){var t=e&&(A&&e[A]||e[\"@@iterator\"]);if(\"function\"==typeof t)return t}_.prototype.toString=function(){return\"[Iterator]\"},_.KEYS=0,_.VALUES=1,_.ENTRIES=2,_.prototype.inspect=_.prototype.toSource=function(){return this.toString()},_.prototype[T]=function(){return this};var L=Object.prototype.hasOwnProperty;function P(e){return!(!Array.isArray(e)&&\"string\"!=typeof e)||e&&\"object\"==typeof e&&Number.isInteger(e.length)&&e.length>=0&&(0===e.length?1===Object.keys(e).length:e.hasOwnProperty(e.length-1))}var R=function(e){function t(e){return null==e?G():w(e)?e.toSeq():function(e){var t=Q(e);if(t)return t;if(\"object\"==typeof e)return new q(e);throw new TypeError(\"Expected Array or collection object of values, or keyed object: \"+e)}(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.toSeq=function(){return this},t.prototype.toString=function(){return this.__toString(\"Seq {\",\"}\")},t.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},t.prototype.__iterate=function(e,t){var n=this._cache;if(n){for(var r=n.length,i=0;i!==r;){var o=n[t?r-++i:i++];if(!1===e(o[1],o[0],this))break}return i}return this.__iterateUncached(e,t)},t.prototype.__iterator=function(e,t){var n=this._cache;if(n){var r=n.length,i=0;return new _((function(){if(i===r)return{value:void 0,done:!0};var o=n[t?r-++i:i++];return O(e,o[0],o[1])}))}return this.__iteratorUncached(e,t)},t}(v),B=function(e){function t(e){return null==e?G().toKeyedSeq():h(e)?m(e)?e.toSeq():e.fromEntrySeq():C(e)?e.toSeq():K(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.toKeyedSeq=function(){return this},t}(R),U=function(e){function t(e){return null==e?G():h(e)?m(e)?e.entrySeq():e.toIndexedSeq():C(e)?e.toSeq().entrySeq():J(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return t(arguments)},t.prototype.toIndexedSeq=function(){return this},t.prototype.toString=function(){return this.__toString(\"Seq [\",\"]\")},t}(R),z=function(e){function t(e){return(h(e)&&!y(e)?e:U(e)).toSetSeq()}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return t(arguments)},t.prototype.toSetSeq=function(){return this},t}(R);R.isSeq=D,R.Keyed=B,R.Set=z,R.Indexed=U,R.prototype[\"@@__IMMUTABLE_SEQ__@@\"]=!0;var V=function(e){function t(e){this._array=e,this.size=e.length}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e,t){return this.has(e)?this._array[s(this,e)]:t},t.prototype.__iterate=function(e,t){for(var n=this._array,r=n.length,i=0;i!==r;){var o=t?r-++i:i++;if(!1===e(n[o],o,this))break}return i},t.prototype.__iterator=function(e,t){var n=this._array,r=n.length,i=0;return new _((function(){if(i===r)return{value:void 0,done:!0};var o=t?r-++i:i++;return O(e,o,n[o])}))},t}(U),q=function(e){function t(e){var t=Object.keys(e);this._object=e,this._keys=t,this.size=t.length}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e,t){return void 0===t||this.has(e)?this._object[e]:t},t.prototype.has=function(e){return L.call(this._object,e)},t.prototype.__iterate=function(e,t){for(var n=this._object,r=this._keys,i=r.length,o=0;o!==i;){var a=r[t?i-++o:o++];if(!1===e(n[a],a,this))break}return o},t.prototype.__iterator=function(e,t){var n=this._object,r=this._keys,i=r.length,o=0;return new _((function(){if(o===i)return{value:void 0,done:!0};var a=r[t?i-++o:o++];return O(e,a,n[a])}))},t}(B);q.prototype[S]=!0;var H,W=function(e){function t(e){this._collection=e,this.size=e.length||e.size}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);var n=M(this._collection),r=0;if(I(n))for(var i;!(i=n.next()).done&&!1!==e(i.value,r++,this););return r},t.prototype.__iteratorUncached=function(e,t){if(t)return this.cacheResult().__iterator(e,t);var n=M(this._collection);if(!I(n))return new _(F);var r=0;return new _((function(){var t=n.next();return t.done?t:O(e,r++,t.value)}))},t}(U);function G(){return H||(H=new V([]))}function K(e){var t=Array.isArray(e)?new V(e):N(e)?new W(e):void 0;if(t)return t.fromEntrySeq();if(\"object\"==typeof e)return new q(e);throw new TypeError(\"Expected Array or collection object of [k, v] entries, or keyed object: \"+e)}function J(e){var t=Q(e);if(t)return t;throw new TypeError(\"Expected Array or collection object of values: \"+e)}function Q(e){return P(e)?new V(e):N(e)?new W(e):void 0}function Y(e){return Boolean(e&&e[\"@@__IMMUTABLE_MAP__@@\"])}function $(e){return Y(e)&&k(e)}function X(e){return Boolean(e&&\"function\"==typeof e.equals&&\"function\"==typeof e.hashCode)}function Z(e,t){if(e===t||e!=e&&t!=t)return!0;if(!e||!t)return!1;if(\"function\"==typeof e.valueOf&&\"function\"==typeof t.valueOf){if((e=e.valueOf())===(t=t.valueOf())||e!=e&&t!=t)return!0;if(!e||!t)return!1}return!!(X(e)&&X(t)&&e.equals(t))}var ee=\"function\"==typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function(e,t){var n=65535&(e|=0),r=65535&(t|=0);return n*r+((e>>>16)*r+n*(t>>>16)<<16>>>0)|0};function te(e){return e>>>1&1073741824|3221225471&e}var ne=Object.prototype.valueOf;function re(e){switch(typeof e){case\"boolean\":return e?1108378657:1108378656;case\"number\":return function(e){if(e!=e||e===1/0)return 0;var t=0|e;t!==e&&(t^=4294967295*e);for(;e>4294967295;)t^=e/=4294967295;return te(t)}(e);case\"string\":return e.length>pe?function(e){var t=he[e];void 0===t&&(t=ie(e),de===fe&&(de=0,he={}),de++,he[e]=t);return t}(e):ie(e);case\"object\":case\"function\":return null===e?1108378658:\"function\"==typeof e.hashCode?te(e.hashCode(e)):(e.valueOf!==ne&&\"function\"==typeof e.valueOf&&(e=e.valueOf(e)),function(e){var t;if(ue&&void 0!==(t=se.get(e)))return t;if(void 0!==(t=e[le]))return t;if(!ae){if(void 0!==(t=e.propertyIsEnumerable&&e.propertyIsEnumerable[le]))return t;if(void 0!==(t=function(e){if(e&&e.nodeType>0)switch(e.nodeType){case 1:return e.uniqueID;case 9:return e.documentElement&&e.documentElement.uniqueID}}(e)))return t}t=++ce,1073741824&ce&&(ce=0);if(ue)se.set(e,t);else{if(void 0!==oe&&!1===oe(e))throw new Error(\"Non-extensible objects are not allowed as keys.\");if(ae)Object.defineProperty(e,le,{enumerable:!1,configurable:!1,writable:!1,value:t});else if(void 0!==e.propertyIsEnumerable&&e.propertyIsEnumerable===e.constructor.prototype.propertyIsEnumerable)e.propertyIsEnumerable=function(){return this.constructor.prototype.propertyIsEnumerable.apply(this,arguments)},e.propertyIsEnumerable[le]=t;else{if(void 0===e.nodeType)throw new Error(\"Unable to set a non-enumerable property on object.\");e[le]=t}}return t}(e));case\"undefined\":return 1108378659;default:if(\"function\"==typeof e.toString)return ie(e.toString());throw new Error(\"Value type \"+typeof e+\" cannot be hashed.\")}}function ie(e){for(var t=0,n=0;n<e.length;n++)t=31*t+e.charCodeAt(n)|0;return te(t)}var oe=Object.isExtensible,ae=function(){try{return Object.defineProperty({},\"@\",{}),!0}catch(e){return!1}}();var se,ue=\"function\"==typeof WeakMap;ue&&(se=new WeakMap);var ce=0,le=\"__immutablehash__\";\"function\"==typeof Symbol&&(le=Symbol(le));var pe=16,fe=255,de=0,he={},me=function(e){function t(e,t){this._iter=e,this._useKeys=t,this.size=e.size}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e,t){return this._iter.get(e,t)},t.prototype.has=function(e){return this._iter.has(e)},t.prototype.valueSeq=function(){return this._iter.valueSeq()},t.prototype.reverse=function(){var e=this,t=xe(this,!0);return this._useKeys||(t.valueSeq=function(){return e._iter.toSeq().reverse()}),t},t.prototype.map=function(e,t){var n=this,r=Ee(this,e,t);return this._useKeys||(r.valueSeq=function(){return n._iter.toSeq().map(e,t)}),r},t.prototype.__iterate=function(e,t){var n=this;return this._iter.__iterate((function(t,r){return e(t,r,n)}),t)},t.prototype.__iterator=function(e,t){return this._iter.__iterator(e,t)},t}(B);me.prototype[S]=!0;var ge=function(e){function t(e){this._iter=e,this.size=e.size}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.includes=function(e){return this._iter.includes(e)},t.prototype.__iterate=function(e,t){var n=this,r=0;return t&&a(this),this._iter.__iterate((function(i){return e(i,t?n.size-++r:r++,n)}),t)},t.prototype.__iterator=function(e,t){var n=this,r=this._iter.__iterator(1,t),i=0;return t&&a(this),new _((function(){var o=r.next();return o.done?o:O(e,t?n.size-++i:i++,o.value,o)}))},t}(U),ye=function(e){function t(e){this._iter=e,this.size=e.size}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.has=function(e){return this._iter.includes(e)},t.prototype.__iterate=function(e,t){var n=this;return this._iter.__iterate((function(t){return e(t,t,n)}),t)},t.prototype.__iterator=function(e,t){var n=this._iter.__iterator(1,t);return new _((function(){var t=n.next();return t.done?t:O(e,t.value,t.value,t)}))},t}(z),ve=function(e){function t(e){this._iter=e,this.size=e.size}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.entrySeq=function(){return this._iter.toSeq()},t.prototype.__iterate=function(e,t){var n=this;return this._iter.__iterate((function(t){if(t){Ne(t);var r=h(t);return e(r?t.get(1):t[1],r?t.get(0):t[0],n)}}),t)},t.prototype.__iterator=function(e,t){var n=this._iter.__iterator(1,t);return new _((function(){for(;;){var t=n.next();if(t.done)return t;var r=t.value;if(r){Ne(r);var i=h(r);return O(e,i?r.get(0):r[0],i?r.get(1):r[1],t)}}}))},t}(B);function be(e){var t=Me(e);return t._iter=e,t.size=e.size,t.flip=function(){return e},t.reverse=function(){var t=e.reverse.apply(this);return t.flip=function(){return e.reverse()},t},t.has=function(t){return e.includes(t)},t.includes=function(t){return e.has(t)},t.cacheResult=je,t.__iterateUncached=function(t,n){var r=this;return e.__iterate((function(e,n){return!1!==t(n,e,r)}),n)},t.__iteratorUncached=function(t,n){if(2===t){var r=e.__iterator(t,n);return new _((function(){var e=r.next();if(!e.done){var t=e.value[0];e.value[0]=e.value[1],e.value[1]=t}return e}))}return e.__iterator(1===t?0:1,n)},t}function Ee(e,t,n){var i=Me(e);return i.size=e.size,i.has=function(t){return e.has(t)},i.get=function(i,o){var a=e.get(i,r);return a===r?o:t.call(n,a,i,e)},i.__iterateUncached=function(r,i){var o=this;return e.__iterate((function(e,i,a){return!1!==r(t.call(n,e,i,a),i,o)}),i)},i.__iteratorUncached=function(r,i){var o=e.__iterator(2,i);return new _((function(){var i=o.next();if(i.done)return i;var a=i.value,s=a[0];return O(r,s,t.call(n,a[1],s,e),i)}))},i}function xe(e,t){var n=this,r=Me(e);return r._iter=e,r.size=e.size,r.reverse=function(){return e},e.flip&&(r.flip=function(){var t=be(e);return t.reverse=function(){return e.flip()},t}),r.get=function(n,r){return e.get(t?n:-1-n,r)},r.has=function(n){return e.has(t?n:-1-n)},r.includes=function(t){return e.includes(t)},r.cacheResult=je,r.__iterate=function(n,r){var i=this,o=0;return r&&a(e),e.__iterate((function(e,a){return n(e,t?a:r?i.size-++o:o++,i)}),!r)},r.__iterator=function(r,i){var o=0;i&&a(e);var s=e.__iterator(2,!i);return new _((function(){var e=s.next();if(e.done)return e;var a=e.value;return O(r,t?a[0]:i?n.size-++o:o++,a[1],e)}))},r}function De(e,t,n,i){var o=Me(e);return i&&(o.has=function(i){var o=e.get(i,r);return o!==r&&!!t.call(n,o,i,e)},o.get=function(i,o){var a=e.get(i,r);return a!==r&&t.call(n,a,i,e)?a:o}),o.__iterateUncached=function(r,o){var a=this,s=0;return e.__iterate((function(e,o,u){if(t.call(n,e,o,u))return s++,r(e,i?o:s-1,a)}),o),s},o.__iteratorUncached=function(r,o){var a=e.__iterator(2,o),s=0;return new _((function(){for(;;){var o=a.next();if(o.done)return o;var u=o.value,c=u[0],l=u[1];if(t.call(n,l,c,e))return O(r,i?c:s++,l,o)}}))},o}function Ce(e,t,n,r){var i=e.size;if(c(t,n,i))return e;var o=l(t,i),a=p(n,i);if(o!=o||a!=a)return Ce(e.toSeq().cacheResult(),t,n,r);var u,f=a-o;f==f&&(u=f<0?0:f);var d=Me(e);return d.size=0===u?u:e.size&&u||void 0,!r&&D(e)&&u>=0&&(d.get=function(t,n){return(t=s(this,t))>=0&&t<u?e.get(t+o,n):n}),d.__iterateUncached=function(t,n){var i=this;if(0===u)return 0;if(n)return this.cacheResult().__iterate(t,n);var a=0,s=!0,c=0;return e.__iterate((function(e,n){if(!s||!(s=a++<o))return c++,!1!==t(e,r?n:c-1,i)&&c!==u})),c},d.__iteratorUncached=function(t,n){if(0!==u&&n)return this.cacheResult().__iterator(t,n);if(0===u)return new _(F);var i=e.__iterator(t,n),a=0,s=0;return new _((function(){for(;a++<o;)i.next();if(++s>u)return{value:void 0,done:!0};var e=i.next();return r||1===t||e.done?e:O(t,s-1,0===t?void 0:e.value[1],e)}))},d}function we(e,t,n,r){var i=Me(e);return i.__iterateUncached=function(i,o){var a=this;if(o)return this.cacheResult().__iterate(i,o);var s=!0,u=0;return e.__iterate((function(e,o,c){if(!s||!(s=t.call(n,e,o,c)))return u++,i(e,r?o:u-1,a)})),u},i.__iteratorUncached=function(i,o){var a=this;if(o)return this.cacheResult().__iterator(i,o);var s=e.__iterator(2,o),u=!0,c=0;return new _((function(){var e,o,l;do{if((e=s.next()).done)return r||1===i?e:O(i,c++,0===i?void 0:e.value[1],e);var p=e.value;o=p[0],l=p[1],u&&(u=t.call(n,l,o,a))}while(u);return 2===i?e:O(i,o,l,e)}))},i}function Se(e,t){var n=m(e),r=[e].concat(t).map((function(e){return h(e)?n&&(e=b(e)):e=n?K(e):J(Array.isArray(e)?e:[e]),e})).filter((function(e){return 0!==e.size}));if(0===r.length)return e;if(1===r.length){var i=r[0];if(i===e||n&&m(i)||g(e)&&g(i))return i}var o=new V(r);return n?o=o.toKeyedSeq():g(e)||(o=o.toSetSeq()),(o=o.flatten(!0)).size=r.reduce((function(e,t){if(void 0!==e){var n=t.size;if(void 0!==n)return e+n}}),0),o}function ke(e,t,n){var r=Me(e);return r.__iterateUncached=function(i,o){if(o)return this.cacheResult().__iterate(i,o);var a=0,s=!1;return function e(u,c){u.__iterate((function(o,u){return(!t||c<t)&&h(o)?e(o,c+1):(a++,!1===i(o,n?u:a-1,r)&&(s=!0)),!s}),o)}(e,0),a},r.__iteratorUncached=function(r,i){if(i)return this.cacheResult().__iterator(r,i);var o=e.__iterator(r,i),a=[],s=0;return new _((function(){for(;o;){var e=o.next();if(!1===e.done){var u=e.value;if(2===r&&(u=u[1]),t&&!(a.length<t)||!h(u))return n?e:O(r,s++,u,e);a.push(o),o=u.__iterator(r,i)}else o=a.pop()}return{value:void 0,done:!0}}))},r}function Ae(e,t,n){t||(t=Le);var r=m(e),i=0,o=e.toSeq().map((function(t,r){return[r,t,i++,n?n(t,r,e):t]})).valueSeq().toArray();return o.sort((function(e,n){return t(e[3],n[3])||e[2]-n[2]})).forEach(r?function(e,t){o[t].length=2}:function(e,t){o[t]=e[1]}),r?B(o):g(e)?U(o):z(o)}function Te(e,t,n){if(t||(t=Le),n){var r=e.toSeq().map((function(t,r){return[t,n(t,r,e)]})).reduce((function(e,n){return _e(t,e[1],n[1])?n:e}));return r&&r[0]}return e.reduce((function(e,n){return _e(t,e,n)?n:e}))}function _e(e,t,n){var r=e(n,t);return 0===r&&n!==t&&(null==n||n!=n)||r>0}function Oe(e,t,n,r){var i=Me(e),o=new V(n).map((function(e){return e.size}));return i.size=r?o.max():o.min(),i.__iterate=function(e,t){for(var n,r=this.__iterator(1,t),i=0;!(n=r.next()).done&&!1!==e(n.value,i++,this););return i},i.__iteratorUncached=function(e,i){var o=n.map((function(e){return e=v(e),M(i?e.reverse():e)})),a=0,s=!1;return new _((function(){var n;return s||(n=o.map((function(e){return e.next()})),s=r?n.every((function(e){return e.done})):n.some((function(e){return e.done}))),s?{value:void 0,done:!0}:O(e,a++,t.apply(null,n.map((function(e){return e.value}))))}))},i}function Fe(e,t){return e===t?e:D(e)?t:e.constructor(t)}function Ne(e){if(e!==Object(e))throw new TypeError(\"Expected [K, V] tuple: \"+e)}function Ie(e){return m(e)?b:g(e)?E:x}function Me(e){return Object.create((m(e)?B:g(e)?U:z).prototype)}function je(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):R.prototype.cacheResult.call(this)}function Le(e,t){return void 0===e&&void 0===t?0:void 0===e?1:void 0===t?-1:e>t?1:e<t?-1:0}function Pe(e,t){t=t||0;for(var n=Math.max(0,e.length-t),r=new Array(n),i=0;i<n;i++)r[i]=e[i+t];return r}function Re(e,t){if(!e)throw new Error(t)}function Be(e){Re(e!==1/0,\"Cannot perform this action with an infinite size.\")}function Ue(e){if(P(e)&&\"string\"!=typeof e)return e;if(k(e))return e.toArray();throw new TypeError(\"Invalid keyPath: expected Ordered Collection or Array: \"+e)}function ze(e){return e&&(\"function\"!=typeof e.constructor||\"Object\"===e.constructor.name)}function Ve(e){return\"object\"==typeof e&&(w(e)||Array.isArray(e)||ze(e))}function qe(e){try{return\"string\"==typeof e?JSON.stringify(e):String(e)}catch(t){return JSON.stringify(e)}}function He(e,t){return w(e)?e.has(t):Ve(e)&&L.call(e,t)}function We(e,t,n){return w(e)?e.get(t,n):He(e,t)?\"function\"==typeof e.get?e.get(t):e[t]:n}function Ge(e){if(Array.isArray(e))return Pe(e);var t={};for(var n in e)L.call(e,n)&&(t[n]=e[n]);return t}function Ke(e,t){if(!Ve(e))throw new TypeError(\"Cannot update non-data-structure value: \"+e);if(w(e)){if(!e.remove)throw new TypeError(\"Cannot update immutable value without .remove() method: \"+e);return e.remove(t)}if(!L.call(e,t))return e;var n=Ge(e);return Array.isArray(n)?n.splice(t,1):delete n[t],n}function Je(e,t,n){if(!Ve(e))throw new TypeError(\"Cannot update non-data-structure value: \"+e);if(w(e)){if(!e.set)throw new TypeError(\"Cannot update immutable value without .set() method: \"+e);return e.set(t,n)}if(L.call(e,t)&&n===e[t])return e;var r=Ge(e);return r[t]=n,r}function Qe(e,t,n,i){i||(i=n,n=void 0);var o=function e(t,n,i,o,a,s){var u=n===r;if(o===i.length){var c=u?a:n,l=s(c);return l===c?n:l}if(!u&&!Ve(n))throw new TypeError(\"Cannot update within non-data-structure value in path [\"+i.slice(0,o).map(qe)+\"]: \"+n);var p=i[o],f=u?r:We(n,p,r),d=e(f===r?t:w(f),f,i,o+1,a,s);return d===f?n:d===r?Ke(n,p):Je(u?t?Nt():{}:n,p,d)}(w(e),e,Ue(t),0,n,i);return o===r?n:o}function Ye(e,t,n){return Qe(e,t,r,(function(){return n}))}function $e(e,t){return Ye(this,e,t)}function Xe(e,t){return Qe(e,t,(function(){return r}))}function Ze(e){return Xe(this,e)}function et(e,t,n,r){return Qe(e,[t],n,r)}function tt(e,t,n){return 1===arguments.length?e(this):et(this,e,t,n)}function nt(e,t,n){return Qe(this,e,t,n)}function rt(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return ot(this,e)}function it(e){for(var t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];if(\"function\"!=typeof e)throw new TypeError(\"Invalid merger function: \"+e);return ot(this,t,e)}function ot(e,t,n){for(var i=[],o=0;o<t.length;o++){var a=b(t[o]);0!==a.size&&i.push(a)}return 0===i.length?e:0!==e.toSeq().size||e.__ownerID||1!==i.length?e.withMutations((function(e){for(var t=n?function(t,i){et(e,i,r,(function(e){return e===r?t:n(e,t,i)}))}:function(t,n){e.set(n,t)},o=0;o<i.length;o++)i[o].forEach(t)})):e.constructor(i[0])}function at(e){for(var t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];return pt(e,t)}function st(e,t){for(var n=[],r=arguments.length-2;r-- >0;)n[r]=arguments[r+2];return pt(t,n,e)}function ut(e){for(var t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];return lt(e,t)}function ct(e,t){for(var n=[],r=arguments.length-2;r-- >0;)n[r]=arguments[r+2];return lt(t,n,e)}function lt(e,t,n){return pt(e,t,function(e){return function t(n,r,i){return Ve(n)&&Ve(r)?pt(n,[r],t):e?e(n,r,i):r}}(n))}function pt(e,t,n){if(!Ve(e))throw new TypeError(\"Cannot merge into non-data-structure value: \"+e);if(w(e))return\"function\"==typeof n&&e.mergeWith?e.mergeWith.apply(e,[n].concat(t)):e.merge?e.merge.apply(e,t):e.concat.apply(e,t);for(var r=Array.isArray(e),i=e,o=r?E:b,a=r?function(t){i===e&&(i=Ge(i)),i.push(t)}:function(t,r){var o=L.call(i,r),a=o&&n?n(i[r],t,r):t;o&&a===i[r]||(i===e&&(i=Ge(i)),i[r]=a)},s=0;s<t.length;s++)o(t[s]).forEach(a);return i}function ft(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return lt(this,e)}function dt(e){for(var t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];return lt(this,t,e)}function ht(e){for(var t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];return Qe(this,e,Nt(),(function(e){return pt(e,t)}))}function mt(e){for(var t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];return Qe(this,e,Nt(),(function(e){return lt(e,t)}))}function gt(e){var t=this.asMutable();return e(t),t.wasAltered()?t.__ensureOwner(this.__ownerID):this}function yt(){return this.__ownerID?this:this.__ensureOwner(new o)}function vt(){return this.__ensureOwner()}function bt(){return this.__altered}ge.prototype.cacheResult=me.prototype.cacheResult=ye.prototype.cacheResult=ve.prototype.cacheResult=je;var Et=function(e){function t(t){return null==t?Nt():Y(t)&&!k(t)?t:Nt().withMutations((function(n){var r=e(t);Be(r.size),r.forEach((function(e,t){return n.set(t,e)}))}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return Nt().withMutations((function(t){for(var n=0;n<e.length;n+=2){if(n+1>=e.length)throw new Error(\"Missing value for key: \"+e[n]);t.set(e[n],e[n+1])}}))},t.prototype.toString=function(){return this.__toString(\"Map {\",\"}\")},t.prototype.get=function(e,t){return this._root?this._root.get(0,void 0,e,t):t},t.prototype.set=function(e,t){return It(this,e,t)},t.prototype.remove=function(e){return It(this,e,r)},t.prototype.deleteAll=function(e){var t=v(e);return 0===t.size?this:this.withMutations((function(e){t.forEach((function(t){return e.remove(t)}))}))},t.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):Nt()},t.prototype.sort=function(e){return rn(Ae(this,e))},t.prototype.sortBy=function(e,t){return rn(Ae(this,t,e))},t.prototype.map=function(e,t){return this.withMutations((function(n){n.forEach((function(r,i){n.set(i,e.call(t,r,i,n))}))}))},t.prototype.__iterator=function(e,t){return new Tt(this,e,t)},t.prototype.__iterate=function(e,t){var n=this,r=0;return this._root&&this._root.iterate((function(t){return r++,e(t[1],t[0],n)}),t),r},t.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?Ft(this.size,this._root,e,this.__hash):0===this.size?Nt():(this.__ownerID=e,this.__altered=!1,this)},t}(b);Et.isMap=Y;var xt=Et.prototype;xt[\"@@__IMMUTABLE_MAP__@@\"]=!0,xt.delete=xt.remove,xt.removeAll=xt.deleteAll,xt.setIn=$e,xt.removeIn=xt.deleteIn=Ze,xt.update=tt,xt.updateIn=nt,xt.merge=xt.concat=rt,xt.mergeWith=it,xt.mergeDeep=ft,xt.mergeDeepWith=dt,xt.mergeIn=ht,xt.mergeDeepIn=mt,xt.withMutations=gt,xt.wasAltered=bt,xt.asImmutable=vt,xt[\"@@transducer/init\"]=xt.asMutable=yt,xt[\"@@transducer/step\"]=function(e,t){return e.set(t[0],t[1])},xt[\"@@transducer/result\"]=function(e){return e.asImmutable()};var Dt=function(e,t){this.ownerID=e,this.entries=t};Dt.prototype.get=function(e,t,n,r){for(var i=this.entries,o=0,a=i.length;o<a;o++)if(Z(n,i[o][0]))return i[o][1];return r},Dt.prototype.update=function(e,t,n,a,s,u,c){for(var l=s===r,p=this.entries,f=0,d=p.length;f<d&&!Z(a,p[f][0]);f++);var h=f<d;if(h?p[f][1]===s:l)return this;if(i(c),(l||!h)&&i(u),!l||1!==p.length){if(!h&&!l&&p.length>=Bt)return function(e,t,n,r){e||(e=new o);for(var i=new kt(e,re(n),[n,r]),a=0;a<t.length;a++){var s=t[a];i=i.update(e,0,void 0,s[0],s[1])}return i}(e,p,a,s);var m=e&&e===this.ownerID,g=m?p:Pe(p);return h?l?f===d-1?g.pop():g[f]=g.pop():g[f]=[a,s]:g.push([a,s]),m?(this.entries=g,this):new Dt(e,g)}};var Ct=function(e,t,n){this.ownerID=e,this.bitmap=t,this.nodes=n};Ct.prototype.get=function(e,t,n,r){void 0===t&&(t=re(n));var i=1<<(31&(0===e?t:t>>>e)),o=this.bitmap;return 0==(o&i)?r:this.nodes[Pt(o&i-1)].get(e+5,t,n,r)},Ct.prototype.update=function(e,t,n,i,o,a,s){void 0===n&&(n=re(i));var u=31&(0===t?n:n>>>t),c=1<<u,l=this.bitmap,p=0!=(l&c);if(!p&&o===r)return this;var f=Pt(l&c-1),d=this.nodes,h=p?d[f]:void 0,m=Mt(h,e,t+5,n,i,o,a,s);if(m===h)return this;if(!p&&m&&d.length>=Ut)return function(e,t,n,r,i){for(var o=0,a=new Array(32),s=0;0!==n;s++,n>>>=1)a[s]=1&n?t[o++]:void 0;return a[r]=i,new wt(e,o+1,a)}(e,d,l,u,m);if(p&&!m&&2===d.length&&jt(d[1^f]))return d[1^f];if(p&&m&&1===d.length&&jt(m))return m;var g=e&&e===this.ownerID,y=p?m?l:l^c:l|c,v=p?m?Rt(d,f,m,g):function(e,t,n){var r=e.length-1;if(n&&t===r)return e.pop(),e;for(var i=new Array(r),o=0,a=0;a<r;a++)a===t&&(o=1),i[a]=e[a+o];return i}(d,f,g):function(e,t,n,r){var i=e.length+1;if(r&&t+1===i)return e[t]=n,e;for(var o=new Array(i),a=0,s=0;s<i;s++)s===t?(o[s]=n,a=-1):o[s]=e[s+a];return o}(d,f,m,g);return g?(this.bitmap=y,this.nodes=v,this):new Ct(e,y,v)};var wt=function(e,t,n){this.ownerID=e,this.count=t,this.nodes=n};wt.prototype.get=function(e,t,n,r){void 0===t&&(t=re(n));var i=31&(0===e?t:t>>>e),o=this.nodes[i];return o?o.get(e+5,t,n,r):r},wt.prototype.update=function(e,t,n,i,o,a,s){void 0===n&&(n=re(i));var u=31&(0===t?n:n>>>t),c=o===r,l=this.nodes,p=l[u];if(c&&!p)return this;var f=Mt(p,e,t+5,n,i,o,a,s);if(f===p)return this;var d=this.count;if(p){if(!f&&--d<zt)return function(e,t,n,r){for(var i=0,o=0,a=new Array(n),s=0,u=1,c=t.length;s<c;s++,u<<=1){var l=t[s];void 0!==l&&s!==r&&(i|=u,a[o++]=l)}return new Ct(e,i,a)}(e,l,d,u)}else d++;var h=e&&e===this.ownerID,m=Rt(l,u,f,h);return h?(this.count=d,this.nodes=m,this):new wt(e,d,m)};var St=function(e,t,n){this.ownerID=e,this.keyHash=t,this.entries=n};St.prototype.get=function(e,t,n,r){for(var i=this.entries,o=0,a=i.length;o<a;o++)if(Z(n,i[o][0]))return i[o][1];return r},St.prototype.update=function(e,t,n,o,a,s,u){void 0===n&&(n=re(o));var c=a===r;if(n!==this.keyHash)return c?this:(i(u),i(s),Lt(this,e,t,n,[o,a]));for(var l=this.entries,p=0,f=l.length;p<f&&!Z(o,l[p][0]);p++);var d=p<f;if(d?l[p][1]===a:c)return this;if(i(u),(c||!d)&&i(s),c&&2===f)return new kt(e,this.keyHash,l[1^p]);var h=e&&e===this.ownerID,m=h?l:Pe(l);return d?c?p===f-1?m.pop():m[p]=m.pop():m[p]=[o,a]:m.push([o,a]),h?(this.entries=m,this):new St(e,this.keyHash,m)};var kt=function(e,t,n){this.ownerID=e,this.keyHash=t,this.entry=n};kt.prototype.get=function(e,t,n,r){return Z(n,this.entry[0])?this.entry[1]:r},kt.prototype.update=function(e,t,n,o,a,s,u){var c=a===r,l=Z(o,this.entry[0]);return(l?a===this.entry[1]:c)?this:(i(u),c?void i(s):l?e&&e===this.ownerID?(this.entry[1]=a,this):new kt(e,this.keyHash,[o,a]):(i(s),Lt(this,e,t,re(o),[o,a])))},Dt.prototype.iterate=St.prototype.iterate=function(e,t){for(var n=this.entries,r=0,i=n.length-1;r<=i;r++)if(!1===e(n[t?i-r:r]))return!1},Ct.prototype.iterate=wt.prototype.iterate=function(e,t){for(var n=this.nodes,r=0,i=n.length-1;r<=i;r++){var o=n[t?i-r:r];if(o&&!1===o.iterate(e,t))return!1}},kt.prototype.iterate=function(e,t){return e(this.entry)};var At,Tt=function(e){function t(e,t,n){this._type=t,this._reverse=n,this._stack=e._root&&Ot(e._root)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.next=function(){for(var e=this._type,t=this._stack;t;){var n=t.node,r=t.index++,i=void 0;if(n.entry){if(0===r)return _t(e,n.entry)}else if(n.entries){if(r<=(i=n.entries.length-1))return _t(e,n.entries[this._reverse?i-r:r])}else if(r<=(i=n.nodes.length-1)){var o=n.nodes[this._reverse?i-r:r];if(o){if(o.entry)return _t(e,o.entry);t=this._stack=Ot(o,t)}continue}t=this._stack=this._stack.__prev}return{value:void 0,done:!0}},t}(_);function _t(e,t){return O(e,t[0],t[1])}function Ot(e,t){return{node:e,index:0,__prev:t}}function Ft(e,t,n,r){var i=Object.create(xt);return i.size=e,i._root=t,i.__ownerID=n,i.__hash=r,i.__altered=!1,i}function Nt(){return At||(At=Ft(0))}function It(e,t,n){var i,o;if(e._root){var a={value:!1},s={value:!1};if(i=Mt(e._root,e.__ownerID,0,void 0,t,n,a,s),!s.value)return e;o=e.size+(a.value?n===r?-1:1:0)}else{if(n===r)return e;o=1,i=new Dt(e.__ownerID,[[t,n]])}return e.__ownerID?(e.size=o,e._root=i,e.__hash=void 0,e.__altered=!0,e):i?Ft(o,i):Nt()}function Mt(e,t,n,o,a,s,u,c){return e?e.update(t,n,o,a,s,u,c):s===r?e:(i(c),i(u),new kt(t,o,[a,s]))}function jt(e){return e.constructor===kt||e.constructor===St}function Lt(e,t,n,r,i){if(e.keyHash===r)return new St(t,r,[e.entry,i]);var o,a=31&(0===n?e.keyHash:e.keyHash>>>n),s=31&(0===n?r:r>>>n),u=a===s?[Lt(e,t,n+5,r,i)]:(o=new kt(t,r,i),a<s?[e,o]:[o,e]);return new Ct(t,1<<a|1<<s,u)}function Pt(e){return e=(e=(858993459&(e-=e>>1&1431655765))+(e>>2&858993459))+(e>>4)&252645135,e+=e>>8,127&(e+=e>>16)}function Rt(e,t,n,r){var i=r?e:Pe(e);return i[t]=n,i}var Bt=8,Ut=16,zt=8;function Vt(e){return Boolean(e&&e[\"@@__IMMUTABLE_LIST__@@\"])}var qt=function(e){function t(t){var n=Yt();if(null==t)return n;if(Vt(t))return t;var r=e(t),i=r.size;return 0===i?n:(Be(i),i>0&&i<32?Qt(0,i,5,null,new Wt(r.toArray())):n.withMutations((function(e){e.setSize(i),r.forEach((function(t,n){return e.set(n,t)}))})))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return this(arguments)},t.prototype.toString=function(){return this.__toString(\"List [\",\"]\")},t.prototype.get=function(e,t){if((e=s(this,e))>=0&&e<this.size){var n=Zt(this,e+=this._origin);return n&&n.array[31&e]}return t},t.prototype.set=function(e,t){return function(e,t,n){if((t=s(e,t))!=t)return e;if(t>=e.size||t<0)return e.withMutations((function(e){t<0?en(e,t).set(0,n):en(e,0,t+1).set(t,n)}));t+=e._origin;var r=e._tail,i=e._root,o={value:!1};t>=tn(e._capacity)?r=$t(r,e.__ownerID,0,t,n,o):i=$t(i,e.__ownerID,e._level,t,n,o);if(!o.value)return e;if(e.__ownerID)return e._root=i,e._tail=r,e.__hash=void 0,e.__altered=!0,e;return Qt(e._origin,e._capacity,e._level,i,r)}(this,e,t)},t.prototype.remove=function(e){return this.has(e)?0===e?this.shift():e===this.size-1?this.pop():this.splice(e,1):this},t.prototype.insert=function(e,t){return this.splice(e,0,t)},t.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=this._origin=this._capacity=0,this._level=5,this._root=this._tail=null,this.__hash=void 0,this.__altered=!0,this):Yt()},t.prototype.push=function(){var e=arguments,t=this.size;return this.withMutations((function(n){en(n,0,t+e.length);for(var r=0;r<e.length;r++)n.set(t+r,e[r])}))},t.prototype.pop=function(){return en(this,0,-1)},t.prototype.unshift=function(){var e=arguments;return this.withMutations((function(t){en(t,-e.length);for(var n=0;n<e.length;n++)t.set(n,e[n])}))},t.prototype.shift=function(){return en(this,1)},t.prototype.concat=function(){for(var t=arguments,n=[],r=0;r<arguments.length;r++){var i=t[r],o=e(\"string\"!=typeof i&&N(i)?i:[i]);0!==o.size&&n.push(o)}return 0===n.length?this:0!==this.size||this.__ownerID||1!==n.length?this.withMutations((function(e){n.forEach((function(t){return t.forEach((function(t){return e.push(t)}))}))})):this.constructor(n[0])},t.prototype.setSize=function(e){return en(this,0,e)},t.prototype.map=function(e,t){var n=this;return this.withMutations((function(r){for(var i=0;i<n.size;i++)r.set(i,e.call(t,r.get(i),i,r))}))},t.prototype.slice=function(e,t){var n=this.size;return c(e,t,n)?this:en(this,l(e,n),p(t,n))},t.prototype.__iterator=function(e,t){var n=t?this.size:0,r=Jt(this,t);return new _((function(){var i=r();return i===Kt?{value:void 0,done:!0}:O(e,t?--n:n++,i)}))},t.prototype.__iterate=function(e,t){for(var n,r=t?this.size:0,i=Jt(this,t);(n=i())!==Kt&&!1!==e(n,t?--r:r++,this););return r},t.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?Qt(this._origin,this._capacity,this._level,this._root,this._tail,e,this.__hash):0===this.size?Yt():(this.__ownerID=e,this.__altered=!1,this)},t}(E);qt.isList=Vt;var Ht=qt.prototype;Ht[\"@@__IMMUTABLE_LIST__@@\"]=!0,Ht.delete=Ht.remove,Ht.merge=Ht.concat,Ht.setIn=$e,Ht.deleteIn=Ht.removeIn=Ze,Ht.update=tt,Ht.updateIn=nt,Ht.mergeIn=ht,Ht.mergeDeepIn=mt,Ht.withMutations=gt,Ht.wasAltered=bt,Ht.asImmutable=vt,Ht[\"@@transducer/init\"]=Ht.asMutable=yt,Ht[\"@@transducer/step\"]=function(e,t){return e.push(t)},Ht[\"@@transducer/result\"]=function(e){return e.asImmutable()};var Wt=function(e,t){this.array=e,this.ownerID=t};Wt.prototype.removeBefore=function(e,t,n){if(n===t?1<<t:0===this.array.length)return this;var r=n>>>t&31;if(r>=this.array.length)return new Wt([],e);var i,o=0===r;if(t>0){var a=this.array[r];if((i=a&&a.removeBefore(e,t-5,n))===a&&o)return this}if(o&&!i)return this;var s=Xt(this,e);if(!o)for(var u=0;u<r;u++)s.array[u]=void 0;return i&&(s.array[r]=i),s},Wt.prototype.removeAfter=function(e,t,n){if(n===(t?1<<t:0)||0===this.array.length)return this;var r,i=n-1>>>t&31;if(i>=this.array.length)return this;if(t>0){var o=this.array[i];if((r=o&&o.removeAfter(e,t-5,n))===o&&i===this.array.length-1)return this}var a=Xt(this,e);return a.array.splice(i+1),r&&(a.array[i]=r),a};var Gt,Kt={};function Jt(e,t){var n=e._origin,r=e._capacity,i=tn(r),o=e._tail;return a(e._root,e._level,0);function a(e,s,u){return 0===s?function(e,a){var s=a===i?o&&o.array:e&&e.array,u=a>n?0:n-a,c=r-a;c>32&&(c=32);return function(){if(u===c)return Kt;var e=t?--c:u++;return s&&s[e]}}(e,u):function(e,i,o){var s,u=e&&e.array,c=o>n?0:n-o>>i,l=1+(r-o>>i);l>32&&(l=32);return function(){for(;;){if(s){var e=s();if(e!==Kt)return e;s=null}if(c===l)return Kt;var n=t?--l:c++;s=a(u&&u[n],i-5,o+(n<<i))}}}(e,s,u)}}function Qt(e,t,n,r,i,o,a){var s=Object.create(Ht);return s.size=t-e,s._origin=e,s._capacity=t,s._level=n,s._root=r,s._tail=i,s.__ownerID=o,s.__hash=a,s.__altered=!1,s}function Yt(){return Gt||(Gt=Qt(0,0,5))}function $t(e,t,n,r,o,a){var s,u=r>>>n&31,c=e&&u<e.array.length;if(!c&&void 0===o)return e;if(n>0){var l=e&&e.array[u],p=$t(l,t,n-5,r,o,a);return p===l?e:((s=Xt(e,t)).array[u]=p,s)}return c&&e.array[u]===o?e:(a&&i(a),s=Xt(e,t),void 0===o&&u===s.array.length-1?s.array.pop():s.array[u]=o,s)}function Xt(e,t){return t&&e&&t===e.ownerID?e:new Wt(e?e.array.slice():[],t)}function Zt(e,t){if(t>=tn(e._capacity))return e._tail;if(t<1<<e._level+5){for(var n=e._root,r=e._level;n&&r>0;)n=n.array[t>>>r&31],r-=5;return n}}function en(e,t,n){void 0!==t&&(t|=0),void 0!==n&&(n|=0);var r=e.__ownerID||new o,i=e._origin,a=e._capacity,s=i+t,u=void 0===n?a:n<0?a+n:i+n;if(s===i&&u===a)return e;if(s>=u)return e.clear();for(var c=e._level,l=e._root,p=0;s+p<0;)l=new Wt(l&&l.array.length?[void 0,l]:[],r),p+=1<<(c+=5);p&&(s+=p,i+=p,u+=p,a+=p);for(var f=tn(a),d=tn(u);d>=1<<c+5;)l=new Wt(l&&l.array.length?[l]:[],r),c+=5;var h=e._tail,m=d<f?Zt(e,u-1):d>f?new Wt([],r):h;if(h&&d>f&&s<a&&h.array.length){for(var g=l=Xt(l,r),y=c;y>5;y-=5){var v=f>>>y&31;g=g.array[v]=Xt(g.array[v],r)}g.array[f>>>5&31]=h}if(u<a&&(m=m&&m.removeAfter(r,0,u)),s>=d)s-=d,u-=d,c=5,l=null,m=m&&m.removeBefore(r,0,s);else if(s>i||d<f){for(p=0;l;){var b=s>>>c&31;if(b!==d>>>c&31)break;b&&(p+=(1<<c)*b),c-=5,l=l.array[b]}l&&s>i&&(l=l.removeBefore(r,c,s-p)),l&&d<f&&(l=l.removeAfter(r,c,d-p)),p&&(s-=p,u-=p)}return e.__ownerID?(e.size=u-s,e._origin=s,e._capacity=u,e._level=c,e._root=l,e._tail=m,e.__hash=void 0,e.__altered=!0,e):Qt(s,u,c,l,m)}function tn(e){return e<32?0:e-1>>>5<<5}var nn,rn=function(e){function t(e){return null==e?an():$(e)?e:an().withMutations((function(t){var n=b(e);Be(n.size),n.forEach((function(e,n){return t.set(n,e)}))}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return this(arguments)},t.prototype.toString=function(){return this.__toString(\"OrderedMap {\",\"}\")},t.prototype.get=function(e,t){var n=this._map.get(e);return void 0!==n?this._list.get(n)[1]:t},t.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._map.clear(),this._list.clear(),this):an()},t.prototype.set=function(e,t){return sn(this,e,t)},t.prototype.remove=function(e){return sn(this,e,r)},t.prototype.wasAltered=function(){return this._map.wasAltered()||this._list.wasAltered()},t.prototype.__iterate=function(e,t){var n=this;return this._list.__iterate((function(t){return t&&e(t[1],t[0],n)}),t)},t.prototype.__iterator=function(e,t){return this._list.fromEntrySeq().__iterator(e,t)},t.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._map.__ensureOwner(e),n=this._list.__ensureOwner(e);return e?on(t,n,e,this.__hash):0===this.size?an():(this.__ownerID=e,this._map=t,this._list=n,this)},t}(Et);function on(e,t,n,r){var i=Object.create(rn.prototype);return i.size=e?e.size:0,i._map=e,i._list=t,i.__ownerID=n,i.__hash=r,i}function an(){return nn||(nn=on(Nt(),Yt()))}function sn(e,t,n){var i,o,a=e._map,s=e._list,u=a.get(t),c=void 0!==u;if(n===r){if(!c)return e;s.size>=32&&s.size>=2*a.size?(i=(o=s.filter((function(e,t){return void 0!==e&&u!==t}))).toKeyedSeq().map((function(e){return e[0]})).flip().toMap(),e.__ownerID&&(i.__ownerID=o.__ownerID=e.__ownerID)):(i=a.remove(t),o=u===s.size-1?s.pop():s.set(u,void 0))}else if(c){if(n===s.get(u)[1])return e;i=a,o=s.set(u,[t,n])}else i=a.set(t,s.size),o=s.set(s.size,[t,n]);return e.__ownerID?(e.size=i.size,e._map=i,e._list=o,e.__hash=void 0,e):on(i,o)}rn.isOrderedMap=$,rn.prototype[S]=!0,rn.prototype.delete=rn.prototype.remove;function un(e){return Boolean(e&&e[\"@@__IMMUTABLE_STACK__@@\"])}var cn=function(e){function t(e){return null==e?dn():un(e)?e:dn().pushAll(e)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return this(arguments)},t.prototype.toString=function(){return this.__toString(\"Stack [\",\"]\")},t.prototype.get=function(e,t){var n=this._head;for(e=s(this,e);n&&e--;)n=n.next;return n?n.value:t},t.prototype.peek=function(){return this._head&&this._head.value},t.prototype.push=function(){var e=arguments;if(0===arguments.length)return this;for(var t=this.size+arguments.length,n=this._head,r=arguments.length-1;r>=0;r--)n={value:e[r],next:n};return this.__ownerID?(this.size=t,this._head=n,this.__hash=void 0,this.__altered=!0,this):fn(t,n)},t.prototype.pushAll=function(t){if(0===(t=e(t)).size)return this;if(0===this.size&&un(t))return t;Be(t.size);var n=this.size,r=this._head;return t.__iterate((function(e){n++,r={value:e,next:r}}),!0),this.__ownerID?(this.size=n,this._head=r,this.__hash=void 0,this.__altered=!0,this):fn(n,r)},t.prototype.pop=function(){return this.slice(1)},t.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):dn()},t.prototype.slice=function(t,n){if(c(t,n,this.size))return this;var r=l(t,this.size);if(p(n,this.size)!==this.size)return e.prototype.slice.call(this,t,n);for(var i=this.size-r,o=this._head;r--;)o=o.next;return this.__ownerID?(this.size=i,this._head=o,this.__hash=void 0,this.__altered=!0,this):fn(i,o)},t.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?fn(this.size,this._head,e,this.__hash):0===this.size?dn():(this.__ownerID=e,this.__altered=!1,this)},t.prototype.__iterate=function(e,t){var n=this;if(t)return new V(this.toArray()).__iterate((function(t,r){return e(t,r,n)}),t);for(var r=0,i=this._head;i&&!1!==e(i.value,r++,this);)i=i.next;return r},t.prototype.__iterator=function(e,t){if(t)return new V(this.toArray()).__iterator(e,t);var n=0,r=this._head;return new _((function(){if(r){var t=r.value;return r=r.next,O(e,n++,t)}return{value:void 0,done:!0}}))},t}(E);cn.isStack=un;var ln,pn=cn.prototype;function fn(e,t,n,r){var i=Object.create(pn);return i.size=e,i._head=t,i.__ownerID=n,i.__hash=r,i.__altered=!1,i}function dn(){return ln||(ln=fn(0))}pn[\"@@__IMMUTABLE_STACK__@@\"]=!0,pn.shift=pn.pop,pn.unshift=pn.push,pn.unshiftAll=pn.pushAll,pn.withMutations=gt,pn.wasAltered=bt,pn.asImmutable=vt,pn[\"@@transducer/init\"]=pn.asMutable=yt,pn[\"@@transducer/step\"]=function(e,t){return e.unshift(t)},pn[\"@@transducer/result\"]=function(e){return e.asImmutable()};function hn(e){return Boolean(e&&e[\"@@__IMMUTABLE_SET__@@\"])}function mn(e){return hn(e)&&k(e)}function gn(e,t){if(e===t)return!0;if(!h(t)||void 0!==e.size&&void 0!==t.size&&e.size!==t.size||void 0!==e.__hash&&void 0!==t.__hash&&e.__hash!==t.__hash||m(e)!==m(t)||g(e)!==g(t)||k(e)!==k(t))return!1;if(0===e.size&&0===t.size)return!0;var n=!y(e);if(k(e)){var i=e.entries();return t.every((function(e,t){var r=i.next().value;return r&&Z(r[1],e)&&(n||Z(r[0],t))}))&&i.next().done}var o=!1;if(void 0===e.size)if(void 0===t.size)\"function\"==typeof e.cacheResult&&e.cacheResult();else{o=!0;var a=e;e=t,t=a}var s=!0,u=t.__iterate((function(t,i){if(n?!e.has(t):o?!Z(t,e.get(i,r)):!Z(e.get(i,r),t))return s=!1,!1}));return s&&e.size===u}function yn(e,t){var n=function(n){e.prototype[n]=t[n]};return Object.keys(t).forEach(n),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(t).forEach(n),e}function vn(e){if(!e||\"object\"!=typeof e)return e;if(!h(e)){if(!Ve(e))return e;e=R(e)}if(m(e)){var t={};return e.__iterate((function(e,n){t[n]=vn(e)})),t}var n=[];return e.__iterate((function(e){n.push(vn(e))})),n}var bn=function(e){function t(t){return null==t?wn():hn(t)&&!k(t)?t:wn().withMutations((function(n){var r=e(t);Be(r.size),r.forEach((function(e){return n.add(e)}))}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return this(arguments)},t.fromKeys=function(e){return this(b(e).keySeq())},t.intersect=function(e){return(e=v(e).toArray()).length?xn.intersect.apply(t(e.pop()),e):wn()},t.union=function(e){return(e=v(e).toArray()).length?xn.union.apply(t(e.pop()),e):wn()},t.prototype.toString=function(){return this.__toString(\"Set {\",\"}\")},t.prototype.has=function(e){return this._map.has(e)},t.prototype.add=function(e){return Dn(this,this._map.set(e,e))},t.prototype.remove=function(e){return Dn(this,this._map.remove(e))},t.prototype.clear=function(){return Dn(this,this._map.clear())},t.prototype.map=function(e,t){var n=this,r=[],i=[];return this.forEach((function(o){var a=e.call(t,o,o,n);a!==o&&(r.push(o),i.push(a))})),this.withMutations((function(e){r.forEach((function(t){return e.remove(t)})),i.forEach((function(t){return e.add(t)}))}))},t.prototype.union=function(){for(var t=[],n=arguments.length;n--;)t[n]=arguments[n];return 0===(t=t.filter((function(e){return 0!==e.size}))).length?this:0!==this.size||this.__ownerID||1!==t.length?this.withMutations((function(n){for(var r=0;r<t.length;r++)e(t[r]).forEach((function(e){return n.add(e)}))})):this.constructor(t[0])},t.prototype.intersect=function(){for(var t=[],n=arguments.length;n--;)t[n]=arguments[n];if(0===t.length)return this;t=t.map((function(t){return e(t)}));var r=[];return this.forEach((function(e){t.every((function(t){return t.includes(e)}))||r.push(e)})),this.withMutations((function(e){r.forEach((function(t){e.remove(t)}))}))},t.prototype.subtract=function(){for(var t=[],n=arguments.length;n--;)t[n]=arguments[n];if(0===t.length)return this;t=t.map((function(t){return e(t)}));var r=[];return this.forEach((function(e){t.some((function(t){return t.includes(e)}))&&r.push(e)})),this.withMutations((function(e){r.forEach((function(t){e.remove(t)}))}))},t.prototype.sort=function(e){return Vn(Ae(this,e))},t.prototype.sortBy=function(e,t){return Vn(Ae(this,t,e))},t.prototype.wasAltered=function(){return this._map.wasAltered()},t.prototype.__iterate=function(e,t){var n=this;return this._map.__iterate((function(t){return e(t,t,n)}),t)},t.prototype.__iterator=function(e,t){return this._map.__iterator(e,t)},t.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._map.__ensureOwner(e);return e?this.__make(t,e):0===this.size?this.__empty():(this.__ownerID=e,this._map=t,this)},t}(x);bn.isSet=hn;var En,xn=bn.prototype;function Dn(e,t){return e.__ownerID?(e.size=t.size,e._map=t,e):t===e._map?e:0===t.size?e.__empty():e.__make(t)}function Cn(e,t){var n=Object.create(xn);return n.size=e?e.size:0,n._map=e,n.__ownerID=t,n}function wn(){return En||(En=Cn(Nt()))}xn[\"@@__IMMUTABLE_SET__@@\"]=!0,xn.delete=xn.remove,xn.merge=xn.concat=xn.union,xn.withMutations=gt,xn.asImmutable=vt,xn[\"@@transducer/init\"]=xn.asMutable=yt,xn[\"@@transducer/step\"]=function(e,t){return e.add(t)},xn[\"@@transducer/result\"]=function(e){return e.asImmutable()},xn.__empty=wn,xn.__make=Cn;var Sn,kn=function(e){function t(e,n,r){if(!(this instanceof t))return new t(e,n,r);if(Re(0!==r,\"Cannot step a Range by 0\"),e=e||0,void 0===n&&(n=1/0),r=void 0===r?1:Math.abs(r),n<e&&(r=-r),this._start=e,this._end=n,this._step=r,this.size=Math.max(0,Math.ceil((n-e)/r-1)+1),0===this.size){if(Sn)return Sn;Sn=this}}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.toString=function(){return 0===this.size?\"Range []\":\"Range [ \"+this._start+\"...\"+this._end+(1!==this._step?\" by \"+this._step:\"\")+\" ]\"},t.prototype.get=function(e,t){return this.has(e)?this._start+s(this,e)*this._step:t},t.prototype.includes=function(e){var t=(e-this._start)/this._step;return t>=0&&t<this.size&&t===Math.floor(t)},t.prototype.slice=function(e,n){return c(e,n,this.size)?this:(e=l(e,this.size),(n=p(n,this.size))<=e?new t(0,0):new t(this.get(e,this._end),this.get(n,this._end),this._step))},t.prototype.indexOf=function(e){var t=e-this._start;if(t%this._step==0){var n=t/this._step;if(n>=0&&n<this.size)return n}return-1},t.prototype.lastIndexOf=function(e){return this.indexOf(e)},t.prototype.__iterate=function(e,t){for(var n=this.size,r=this._step,i=t?this._start+(n-1)*r:this._start,o=0;o!==n&&!1!==e(i,t?n-++o:o++,this);)i+=t?-r:r;return o},t.prototype.__iterator=function(e,t){var n=this.size,r=this._step,i=t?this._start+(n-1)*r:this._start,o=0;return new _((function(){if(o===n)return{value:void 0,done:!0};var a=i;return i+=t?-r:r,O(e,t?n-++o:o++,a)}))},t.prototype.equals=function(e){return e instanceof t?this._start===e._start&&this._end===e._end&&this._step===e._step:gn(this,e)},t}(U);function An(e,t,n){for(var i=Ue(t),o=0;o!==i.length;)if((e=We(e,i[o++],r))===r)return n;return e}function Tn(e,t){return An(this,e,t)}function _n(e,t){return An(e,t,r)!==r}function On(){Be(this.size);var e={};return this.__iterate((function(t,n){e[n]=t})),e}v.isIterable=h,v.isKeyed=m,v.isIndexed=g,v.isAssociative=y,v.isOrdered=k,v.Iterator=_,yn(v,{toArray:function(){Be(this.size);var e=new Array(this.size||0),t=m(this),n=0;return this.__iterate((function(r,i){e[n++]=t?[i,r]:r})),e},toIndexedSeq:function(){return new ge(this)},toJS:function(){return vn(this)},toKeyedSeq:function(){return new me(this,!0)},toMap:function(){return Et(this.toKeyedSeq())},toObject:On,toOrderedMap:function(){return rn(this.toKeyedSeq())},toOrderedSet:function(){return Vn(m(this)?this.valueSeq():this)},toSet:function(){return bn(m(this)?this.valueSeq():this)},toSetSeq:function(){return new ye(this)},toSeq:function(){return g(this)?this.toIndexedSeq():m(this)?this.toKeyedSeq():this.toSetSeq()},toStack:function(){return cn(m(this)?this.valueSeq():this)},toList:function(){return qt(m(this)?this.valueSeq():this)},toString:function(){return\"[Collection]\"},__toString:function(e,t){return 0===this.size?e+t:e+\" \"+this.toSeq().map(this.__toStringMapper).join(\", \")+\" \"+t},concat:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return Fe(this,Se(this,e))},includes:function(e){return this.some((function(t){return Z(t,e)}))},entries:function(){return this.__iterator(2)},every:function(e,t){Be(this.size);var n=!0;return this.__iterate((function(r,i,o){if(!e.call(t,r,i,o))return n=!1,!1})),n},filter:function(e,t){return Fe(this,De(this,e,t,!0))},find:function(e,t,n){var r=this.findEntry(e,t);return r?r[1]:n},forEach:function(e,t){return Be(this.size),this.__iterate(t?e.bind(t):e)},join:function(e){Be(this.size),e=void 0!==e?\"\"+e:\",\";var t=\"\",n=!0;return this.__iterate((function(r){n?n=!1:t+=e,t+=null!=r?r.toString():\"\"})),t},keys:function(){return this.__iterator(0)},map:function(e,t){return Fe(this,Ee(this,e,t))},reduce:function(e,t,n){return Mn(this,e,t,n,arguments.length<2,!1)},reduceRight:function(e,t,n){return Mn(this,e,t,n,arguments.length<2,!0)},reverse:function(){return Fe(this,xe(this,!0))},slice:function(e,t){return Fe(this,Ce(this,e,t,!0))},some:function(e,t){return!this.every(Pn(e),t)},sort:function(e){return Fe(this,Ae(this,e))},values:function(){return this.__iterator(1)},butLast:function(){return this.slice(0,-1)},isEmpty:function(){return void 0!==this.size?0===this.size:!this.some((function(){return!0}))},count:function(e,t){return a(e?this.toSeq().filter(e,t):this)},countBy:function(e,t){return function(e,t,n){var r=Et().asMutable();return e.__iterate((function(i,o){r.update(t.call(n,i,o,e),0,(function(e){return e+1}))})),r.asImmutable()}(this,e,t)},equals:function(e){return gn(this,e)},entrySeq:function(){var e=this;if(e._cache)return new V(e._cache);var t=e.toSeq().map(Ln).toIndexedSeq();return t.fromEntrySeq=function(){return e.toSeq()},t},filterNot:function(e,t){return this.filter(Pn(e),t)},findEntry:function(e,t,n){var r=n;return this.__iterate((function(n,i,o){if(e.call(t,n,i,o))return r=[i,n],!1})),r},findKey:function(e,t){var n=this.findEntry(e,t);return n&&n[0]},findLast:function(e,t,n){return this.toKeyedSeq().reverse().find(e,t,n)},findLastEntry:function(e,t,n){return this.toKeyedSeq().reverse().findEntry(e,t,n)},findLastKey:function(e,t){return this.toKeyedSeq().reverse().findKey(e,t)},first:function(e){return this.find(u,null,e)},flatMap:function(e,t){return Fe(this,function(e,t,n){var r=Ie(e);return e.toSeq().map((function(i,o){return r(t.call(n,i,o,e))})).flatten(!0)}(this,e,t))},flatten:function(e){return Fe(this,ke(this,e,!0))},fromEntrySeq:function(){return new ve(this)},get:function(e,t){return this.find((function(t,n){return Z(n,e)}),void 0,t)},getIn:Tn,groupBy:function(e,t){return function(e,t,n){var r=m(e),i=(k(e)?rn():Et()).asMutable();e.__iterate((function(o,a){i.update(t.call(n,o,a,e),(function(e){return(e=e||[]).push(r?[a,o]:o),e}))}));var o=Ie(e);return i.map((function(t){return Fe(e,o(t))})).asImmutable()}(this,e,t)},has:function(e){return this.get(e,r)!==r},hasIn:function(e){return _n(this,e)},isSubset:function(e){return e=\"function\"==typeof e.includes?e:v(e),this.every((function(t){return e.includes(t)}))},isSuperset:function(e){return(e=\"function\"==typeof e.isSubset?e:v(e)).isSubset(this)},keyOf:function(e){return this.findKey((function(t){return Z(t,e)}))},keySeq:function(){return this.toSeq().map(jn).toIndexedSeq()},last:function(e){return this.toSeq().reverse().first(e)},lastKeyOf:function(e){return this.toKeyedSeq().reverse().keyOf(e)},max:function(e){return Te(this,e)},maxBy:function(e,t){return Te(this,t,e)},min:function(e){return Te(this,e?Rn(e):Un)},minBy:function(e,t){return Te(this,t?Rn(t):Un,e)},rest:function(){return this.slice(1)},skip:function(e){return 0===e?this:this.slice(Math.max(0,e))},skipLast:function(e){return 0===e?this:this.slice(0,-Math.max(0,e))},skipWhile:function(e,t){return Fe(this,we(this,e,t,!0))},skipUntil:function(e,t){return this.skipWhile(Pn(e),t)},sortBy:function(e,t){return Fe(this,Ae(this,t,e))},take:function(e){return this.slice(0,Math.max(0,e))},takeLast:function(e){return this.slice(-Math.max(0,e))},takeWhile:function(e,t){return Fe(this,function(e,t,n){var r=Me(e);return r.__iterateUncached=function(r,i){var o=this;if(i)return this.cacheResult().__iterate(r,i);var a=0;return e.__iterate((function(e,i,s){return t.call(n,e,i,s)&&++a&&r(e,i,o)})),a},r.__iteratorUncached=function(r,i){var o=this;if(i)return this.cacheResult().__iterator(r,i);var a=e.__iterator(2,i),s=!0;return new _((function(){if(!s)return{value:void 0,done:!0};var e=a.next();if(e.done)return e;var i=e.value,u=i[0],c=i[1];return t.call(n,c,u,o)?2===r?e:O(r,u,c,e):(s=!1,{value:void 0,done:!0})}))},r}(this,e,t))},takeUntil:function(e,t){return this.takeWhile(Pn(e),t)},update:function(e){return e(this)},valueSeq:function(){return this.toIndexedSeq()},hashCode:function(){return this.__hash||(this.__hash=function(e){if(e.size===1/0)return 0;var t=k(e),n=m(e),r=t?1:0;return function(e,t){return t=ee(t,3432918353),t=ee(t<<15|t>>>-15,461845907),t=ee(t<<13|t>>>-13,5),t=ee((t=(t+3864292196|0)^e)^t>>>16,2246822507),t=te((t=ee(t^t>>>13,3266489909))^t>>>16)}(e.__iterate(n?t?function(e,t){r=31*r+zn(re(e),re(t))|0}:function(e,t){r=r+zn(re(e),re(t))|0}:t?function(e){r=31*r+re(e)|0}:function(e){r=r+re(e)|0}),r)}(this))}});var Fn=v.prototype;Fn[\"@@__IMMUTABLE_ITERABLE__@@\"]=!0,Fn[T]=Fn.values,Fn.toJSON=Fn.toArray,Fn.__toStringMapper=qe,Fn.inspect=Fn.toSource=function(){return this.toString()},Fn.chain=Fn.flatMap,Fn.contains=Fn.includes,yn(b,{flip:function(){return Fe(this,be(this))},mapEntries:function(e,t){var n=this,r=0;return Fe(this,this.toSeq().map((function(i,o){return e.call(t,[o,i],r++,n)})).fromEntrySeq())},mapKeys:function(e,t){var n=this;return Fe(this,this.toSeq().flip().map((function(r,i){return e.call(t,r,i,n)})).flip())}});var Nn=b.prototype;Nn[\"@@__IMMUTABLE_KEYED__@@\"]=!0,Nn[T]=Fn.entries,Nn.toJSON=On,Nn.__toStringMapper=function(e,t){return qe(t)+\": \"+qe(e)},yn(E,{toKeyedSeq:function(){return new me(this,!1)},filter:function(e,t){return Fe(this,De(this,e,t,!1))},findIndex:function(e,t){var n=this.findEntry(e,t);return n?n[0]:-1},indexOf:function(e){var t=this.keyOf(e);return void 0===t?-1:t},lastIndexOf:function(e){var t=this.lastKeyOf(e);return void 0===t?-1:t},reverse:function(){return Fe(this,xe(this,!1))},slice:function(e,t){return Fe(this,Ce(this,e,t,!1))},splice:function(e,t){var n=arguments.length;if(t=Math.max(t||0,0),0===n||2===n&&!t)return this;e=l(e,e<0?this.count():this.size);var r=this.slice(0,e);return Fe(this,1===n?r:r.concat(Pe(arguments,2),this.slice(e+t)))},findLastIndex:function(e,t){var n=this.findLastEntry(e,t);return n?n[0]:-1},first:function(e){return this.get(0,e)},flatten:function(e){return Fe(this,ke(this,e,!1))},get:function(e,t){return(e=s(this,e))<0||this.size===1/0||void 0!==this.size&&e>this.size?t:this.find((function(t,n){return n===e}),void 0,t)},has:function(e){return(e=s(this,e))>=0&&(void 0!==this.size?this.size===1/0||e<this.size:-1!==this.indexOf(e))},interpose:function(e){return Fe(this,function(e,t){var n=Me(e);return n.size=e.size&&2*e.size-1,n.__iterateUncached=function(n,r){var i=this,o=0;return e.__iterate((function(e){return(!o||!1!==n(t,o++,i))&&!1!==n(e,o++,i)}),r),o},n.__iteratorUncached=function(n,r){var i,o=e.__iterator(1,r),a=0;return new _((function(){return(!i||a%2)&&(i=o.next()).done?i:a%2?O(n,a++,t):O(n,a++,i.value,i)}))},n}(this,e))},interleave:function(){var e=[this].concat(Pe(arguments)),t=Oe(this.toSeq(),U.of,e),n=t.flatten(!0);return t.size&&(n.size=t.size*e.length),Fe(this,n)},keySeq:function(){return kn(0,this.size)},last:function(e){return this.get(-1,e)},skipWhile:function(e,t){return Fe(this,we(this,e,t,!1))},zip:function(){var e=[this].concat(Pe(arguments));return Fe(this,Oe(this,Bn,e))},zipAll:function(){var e=[this].concat(Pe(arguments));return Fe(this,Oe(this,Bn,e,!0))},zipWith:function(e){var t=Pe(arguments);return t[0]=this,Fe(this,Oe(this,e,t))}});var In=E.prototype;function Mn(e,t,n,r,i,o){return Be(e.size),e.__iterate((function(e,o,a){i?(i=!1,n=e):n=t.call(r,n,e,o,a)}),o),n}function jn(e,t){return t}function Ln(e,t){return[t,e]}function Pn(e){return function(){return!e.apply(this,arguments)}}function Rn(e){return function(){return-e.apply(this,arguments)}}function Bn(){return Pe(arguments)}function Un(e,t){return e<t?1:e>t?-1:0}function zn(e,t){return e^t+2654435769+(e<<6)+(e>>2)|0}In[\"@@__IMMUTABLE_INDEXED__@@\"]=!0,In[S]=!0,yn(x,{get:function(e,t){return this.has(e)?e:t},includes:function(e){return this.has(e)},keySeq:function(){return this.valueSeq()}}),x.prototype.has=Fn.includes,x.prototype.contains=x.prototype.includes,yn(B,b.prototype),yn(U,E.prototype),yn(z,x.prototype);var Vn=function(e){function t(e){return null==e?Gn():mn(e)?e:Gn().withMutations((function(t){var n=x(e);Be(n.size),n.forEach((function(e){return t.add(e)}))}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.of=function(){return this(arguments)},t.fromKeys=function(e){return this(b(e).keySeq())},t.prototype.toString=function(){return this.__toString(\"OrderedSet {\",\"}\")},t}(bn);Vn.isOrderedSet=mn;var qn,Hn=Vn.prototype;function Wn(e,t){var n=Object.create(Hn);return n.size=e?e.size:0,n._map=e,n.__ownerID=t,n}function Gn(){return qn||(qn=Wn(an()))}Hn[S]=!0,Hn.zip=In.zip,Hn.zipWith=In.zipWith,Hn.__empty=Gn,Hn.__make=Wn;var Kn=function(e,t){var n,r=function(o){var a=this;if(o instanceof r)return o;if(!(this instanceof r))return new r(o);if(!n){n=!0;var s=Object.keys(e),u=i._indices={};i._name=t,i._keys=s,i._defaultValues=e;for(var c=0;c<s.length;c++){var l=s[c];u[l]=c,i[l]?\"object\"==typeof console&&console.warn&&console.warn(\"Cannot define \"+Yn(this)+' with property \"'+l+'\" since that property name is part of the Record API.'):Xn(i,l)}}this.__ownerID=void 0,this._values=qt().withMutations((function(e){e.setSize(a._keys.length),b(o).forEach((function(t,n){e.set(a._indices[n],t===a._defaultValues[n]?void 0:t)}))}))},i=r.prototype=Object.create(Jn);return i.constructor=r,t&&(r.displayName=t),r};Kn.prototype.toString=function(){for(var e,t=Yn(this)+\" { \",n=this._keys,r=0,i=n.length;r!==i;r++)t+=(r?\", \":\"\")+(e=n[r])+\": \"+qe(this.get(e));return t+\" }\"},Kn.prototype.equals=function(e){return this===e||e&&this._keys===e._keys&&$n(this).equals($n(e))},Kn.prototype.hashCode=function(){return $n(this).hashCode()},Kn.prototype.has=function(e){return this._indices.hasOwnProperty(e)},Kn.prototype.get=function(e,t){if(!this.has(e))return t;var n=this._indices[e],r=this._values.get(n);return void 0===r?this._defaultValues[e]:r},Kn.prototype.set=function(e,t){if(this.has(e)){var n=this._values.set(this._indices[e],t===this._defaultValues[e]?void 0:t);if(n!==this._values&&!this.__ownerID)return Qn(this,n)}return this},Kn.prototype.remove=function(e){return this.set(e)},Kn.prototype.clear=function(){var e=this._values.clear().setSize(this._keys.length);return this.__ownerID?this:Qn(this,e)},Kn.prototype.wasAltered=function(){return this._values.wasAltered()},Kn.prototype.toSeq=function(){return $n(this)},Kn.prototype.toJS=function(){return vn(this)},Kn.prototype.entries=function(){return this.__iterator(2)},Kn.prototype.__iterator=function(e,t){return $n(this).__iterator(e,t)},Kn.prototype.__iterate=function(e,t){return $n(this).__iterate(e,t)},Kn.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._values.__ensureOwner(e);return e?Qn(this,t,e):(this.__ownerID=e,this._values=t,this)},Kn.isRecord=C,Kn.getDescriptiveName=Yn;var Jn=Kn.prototype;function Qn(e,t,n){var r=Object.create(Object.getPrototypeOf(e));return r._values=t,r.__ownerID=n,r}function Yn(e){return e.constructor.displayName||e.constructor.name||\"Record\"}function $n(e){return K(e._keys.map((function(t){return[t,e.get(t)]})))}function Xn(e,t){try{Object.defineProperty(e,t,{get:function(){return this.get(t)},set:function(e){Re(this.__ownerID,\"Cannot set on an immutable record.\"),this.set(t,e)}})}catch(e){}}Jn[\"@@__IMMUTABLE_RECORD__@@\"]=!0,Jn.delete=Jn.remove,Jn.deleteIn=Jn.removeIn=Ze,Jn.getIn=Tn,Jn.hasIn=Fn.hasIn,Jn.merge=rt,Jn.mergeWith=it,Jn.mergeIn=ht,Jn.mergeDeep=ft,Jn.mergeDeepWith=dt,Jn.mergeDeepIn=mt,Jn.setIn=$e,Jn.update=tt,Jn.updateIn=nt,Jn.withMutations=gt,Jn.asMutable=yt,Jn.asImmutable=vt,Jn[T]=Jn.entries,Jn.toJSON=Jn.toObject=Fn.toObject,Jn.inspect=Jn.toSource=function(){return this.toString()};var Zn,er=function(e){function t(e,n){if(!(this instanceof t))return new t(e,n);if(this._value=e,this.size=void 0===n?1/0:Math.max(0,n),0===this.size){if(Zn)return Zn;Zn=this}}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.toString=function(){return 0===this.size?\"Repeat []\":\"Repeat [ \"+this._value+\" \"+this.size+\" times ]\"},t.prototype.get=function(e,t){return this.has(e)?this._value:t},t.prototype.includes=function(e){return Z(this._value,e)},t.prototype.slice=function(e,n){var r=this.size;return c(e,n,r)?this:new t(this._value,p(n,r)-l(e,r))},t.prototype.reverse=function(){return this},t.prototype.indexOf=function(e){return Z(this._value,e)?0:-1},t.prototype.lastIndexOf=function(e){return Z(this._value,e)?this.size:-1},t.prototype.__iterate=function(e,t){for(var n=this.size,r=0;r!==n&&!1!==e(this._value,t?n-++r:r++,this););return r},t.prototype.__iterator=function(e,t){var n=this,r=this.size,i=0;return new _((function(){return i===r?{value:void 0,done:!0}:O(e,t?r-++i:i++,n._value)}))},t.prototype.equals=function(e){return e instanceof t?Z(this._value,e._value):gn(e)},t}(U);function tr(e,t){return function e(t,n,r,i,o,a){var s=Array.isArray(r)?U:ze(r)?B:null;if(s){if(~t.indexOf(r))throw new TypeError(\"Cannot convert circular structure to Immutable\");t.push(r),o&&\"\"!==i&&o.push(i);var u=n.call(a,i,s(r).map((function(i,a){return e(t,n,i,a,o,r)})),o&&o.slice());return t.pop(),o&&o.pop(),u}return r}([],t||nr,e,\"\",t&&t.length>2?[]:void 0,{\"\":e})}function nr(e,t){return m(t)?t.toMap():t.toList()}var rr=\"4.0.0-rc.11\",ir={version:rr,Collection:v,Iterable:v,Seq:R,Map:Et,OrderedMap:rn,List:qt,Stack:cn,Set:bn,OrderedSet:Vn,Record:Kn,Range:kn,Repeat:er,is:Z,fromJS:tr,hash:re,isImmutable:w,isCollection:h,isKeyed:m,isIndexed:g,isAssociative:y,isOrdered:k,isValueObject:X,isSeq:D,isList:Vt,isMap:Y,isOrderedMap:$,isStack:un,isSet:hn,isOrderedSet:mn,isRecord:C,get:We,getIn:An,has:He,hasIn:_n,merge:at,mergeDeep:ut,mergeWith:st,mergeDeepWith:ct,remove:Ke,removeIn:Xe,set:Je,setIn:Ye,update:et,updateIn:Qe},or=v;t.default=ir},function(e,t,n){\"use strict\";var r=n(93),i=[\"kind\",\"resolve\",\"construct\",\"instanceOf\",\"predicate\",\"represent\",\"defaultStyle\",\"styleAliases\"],o=[\"scalar\",\"sequence\",\"mapping\"];e.exports=function(e,t){var n,a;if(t=t||{},Object.keys(t).forEach((function(t){if(-1===i.indexOf(t))throw new r('Unknown option \"'+t+'\" is met in definition of \"'+e+'\" YAML type.')})),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=(n=t.styleAliases||null,a={},null!==n&&Object.keys(n).forEach((function(e){n[e].forEach((function(t){a[String(t)]=e}))})),a),-1===o.indexOf(this.kind))throw new r('Unknown kind \"'+this.kind+'\" is specified for \"'+e+'\" YAML type.')}},function(e,t,n){\"use strict\";function r(e,t){return e.reduce((function(e,n){return e[t(n)]=n,e}),Object.create(null))}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";var r;Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(49);function o(e,t){return function(n){var r;return(r={})[e]=n||t,r}}t.editQuery=(r=i.createActions({EDIT_QUERY:function(e){return{query:e}},EDIT_HEADERS:o(\"headers\"),EDIT_ENDPOINT:o(\"endpoint\"),EDIT_VARIABLES:o(\"variables\"),SET_OPERATION_NAME:o(\"operationName\"),SET_VARIABLE_TO_TYPE:o(\"variableToType\"),SET_OPERATIONS:o(\"operations\"),SET_EDITOR_FLEX:o(\"editorFlex\"),EDIT_NAME:o(\"name\"),OPEN_QUERY_VARIABLES:function(){return{queryVariablesActive:!0}},CLOSE_QUERY_VARIABLES:function(){return{queryVariablesActive:!1}},SET_VARIABLE_EDITOR_HEIGHT:o(\"variableEditorHeight\"),SET_RESPONSE_TRACING_HEIGHT:o(\"responceTracingHeight\"),SET_TRACING_SUPPORTED:o(\"tracingSupported\"),SET_SUBSCRIPTION_ACTIVE:o(\"subscriptionActive\"),SET_QUERY_TYPES:o(\"queryTypes\"),SET_RESPONSE_EXTENSIONS:o(\"responseExtensions\"),SET_CURRENT_QUERY_START_TIME:o(\"currentQueryStartTime\"),SET_CURRENT_QUERY_END_TIME:o(\"currentQueryEndTime\"),UPDATE_QUERY_FACTS:o(),PRETTIFY_QUERY:o(),INJECT_HEADERS:function(e,t){return{headers:e,endpoint:t}},CLOSE_TRACING:o(\"responseTracingHeight\"),OPEN_TRACING:o(\"responseTracingHeight\"),TOGGLE_TRACING:o(),CLOSE_VARIABLES:o(\"variableEditorHeight\"),OPEN_VARIABLES:o(\"variableEditorHeight\"),TOGGLE_VARIABLES:o(),ADD_RESPONSE:function(e,t,n){return{workspaceId:e,sessionId:t,response:n}},SET_RESPONSE:function(e,t,n){return{workspaceId:e,sessionId:t,response:n}},CLEAR_RESPONSES:o(),FETCH_SCHEMA:o(),REFETCH_SCHEMA:o(),SET_ENDPOINT_UNREACHABLE:o(\"endpoint\"),SET_SCROLL_TOP:function(e,t){return{sessionId:e,scrollTop:t}},SCHEMA_FETCHING_SUCCESS:function(e,t,n){return{endpoint:e,tracingSupported:t,isPollingSchema:n}},SCHEMA_FETCHING_ERROR:function(e,t){return{endpoint:e,error:t}},RENEW_STACKS:o(),RUN_QUERY:function(e){return{operationName:e}},QUERY_SUCCESS:o(),QUERY_ERROR:o(),RUN_QUERY_AT_POSITION:function(e){return{position:e}},START_QUERY:o(\"queryRunning\",!0),STOP_QUERY:function(e,t){return{workspaceId:t,sessionId:e}},OPEN_SETTINGS_TAB:function(){return{}},OPEN_CONFIG_TAB:function(){return{}},NEW_SESSION:function(e,t){return{endpoint:e,reuseHeaders:t}},NEW_SESSION_FROM_QUERY:function(e){return{query:e}},NEW_FILE_TAB:function(e,t,n){return{fileName:e,filePath:t,file:n}},DUPLICATE_SESSION:o(\"session\"),CLOSE_SELECTED_TAB:function(){return{}},SELECT_NEXT_TAB:function(){return{}},SELECT_PREV_TAB:function(){return{}},SELECT_TAB:o(\"sessionId\"),SELECT_TAB_INDEX:o(\"index\"),CLOSE_TAB:o(\"sessionId\"),REORDER_TABS:function(e,t){return{src:e,dest:t}},EDIT_SETTINGS:o(),SAVE_SETTINGS:o(),EDIT_CONFIG:o(),SAVE_CONFIG:o(),EDIT_FILE:o(),SAVE_FILE:o()})).editQuery,t.editVariables=r.editVariables,t.setOperationName=r.setOperationName,t.editHeaders=r.editHeaders,t.editEndpoint=r.editEndpoint,t.setVariableToType=r.setVariableToType,t.setOperations=r.setOperations,t.startQuery=r.startQuery,t.stopQuery=r.stopQuery,t.setEditorFlex=r.setEditorFlex,t.openQueryVariables=r.openQueryVariables,t.closeQueryVariables=r.closeQueryVariables,t.setVariableEditorHeight=r.setVariableEditorHeight,t.setResponseTracingHeight=r.setResponseTracingHeight,t.setTracingSupported=r.setTracingSupported,t.closeTracing=r.closeTracing,t.openTracing=r.openTracing,t.closeVariables=r.closeVariables,t.openVariables=r.openVariables,t.addResponse=r.addResponse,t.setResponse=r.setResponse,t.clearResponses=r.clearResponses,t.openSettingsTab=r.openSettingsTab,t.schemaFetchingSuccess=r.schemaFetchingSuccess,t.schemaFetchingError=r.schemaFetchingError,t.setEndpointUnreachable=r.setEndpointUnreachable,t.renewStacks=r.renewStacks,t.runQuery=r.runQuery,t.prettifyQuery=r.prettifyQuery,t.fetchSchema=r.fetchSchema,t.updateQueryFacts=r.updateQueryFacts,t.runQueryAtPosition=r.runQueryAtPosition,t.toggleTracing=r.toggleTracing,t.toggleVariables=r.toggleVariables,t.newSession=r.newSession,t.newSessionFromQuery=r.newSessionFromQuery,t.newFileTab=r.newFileTab,t.closeTab=r.closeTab,t.closeSelectedTab=r.closeSelectedTab,t.editSettings=r.editSettings,t.saveSettings=r.saveSettings,t.editConfig=r.editConfig,t.saveConfig=r.saveConfig,t.editFile=r.editFile,t.saveFile=r.saveFile,t.selectTab=r.selectTab,t.selectTabIndex=r.selectTabIndex,t.selectNextTab=r.selectNextTab,t.selectPrevTab=r.selectPrevTab,t.duplicateSession=r.duplicateSession,t.querySuccess=r.querySuccess,t.queryError=r.queryError,t.setSubscriptionActive=r.setSubscriptionActive,t.setQueryTypes=r.setQueryTypes,t.injectHeaders=r.injectHeaders,t.openConfigTab=r.openConfigTab,t.editName=r.editName,t.setResponseExtensions=r.setResponseExtensions,t.setCurrentQueryStartTime=r.setCurrentQueryStartTime,t.setCurrentQueryEndTime=r.setCurrentQueryEndTime,t.refetchSchema=r.refetchSchema,t.setScrollTop=r.setScrollTop,t.reorderTabs=r.reorderTabs},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return r}));function r(e,t){var n=\"string\"==typeof e?[e,t]:[void 0,e],r=n[0],i=\" Did you mean \";r&&(i+=r+\" \");var o=n[1].map((function(e){return'\"'.concat(e,'\"')}));switch(o.length){case 0:return\"\";case 1:return i+o[0]+\"?\";case 2:return i+o[0]+\" or \"+o[1]+\"?\"}var a=o.slice(0,5),s=a.pop();return i+a.join(\", \")+\", or \"+s+\"?\"}},function(e,t,n){\"use strict\";var r=n(215),i=n.n(r).a;t.a=i},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(55);function i(e){if(null===Object.getPrototypeOf(e))return e;for(var t=Object.create(null),n=0,i=Object(r.a)(e);n<i.length;n++){var o=i[n],a=o[0],s=o[1];t[a]=s}return t}},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__assign||function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(282),s=n(117),u=n(101),c=n(158),l=n(291),p=n(34),f=n(159),d=n(292),h=n(28),m=n(160),g=n(162);function y(e){return e.get(\"selectedWorkspace\")}t.getSelectedWorkspaceId=y,t.getSelectedWorkspace=function(e){return e.getIn([\"workspaces\",y(e)])};var v=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(p.Record({docs:p.Map({}),sessions:u.makeSessionState(\"\"),sharing:new c.SharingState,history:p.OrderedMap()}));t.Workspace=v,t.defaultSettings={\"editor.cursorShape\":\"line\",\"editor.fontFamily\":\"'Source Code Pro', 'Consolas', 'Inconsolata', 'Droid Sans Mono', 'Monaco', monospace\",\"editor.fontSize\":14,\"editor.reuseHeaders\":!0,\"editor.theme\":\"dark\",\"general.betaUpdates\":!1,\"prettier.printWidth\":80,\"prettier.tabWidth\":2,\"prettier.useTabs\":!1,\"request.credentials\":\"omit\",\"schema.disableComments\":!0,\"schema.polling.enable\":!0,\"schema.polling.endpointFilter\":\"*localhost*\",\"schema.polling.interval\":2e3,\"tracing.hideTracingResponse\":!0,\"tracing.tracingSupported\":!0};var b=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(p.Record({workspaces:p.Map({\"\":x(\"\")}),selectedWorkspace:\"\",settingsString:JSON.stringify(t.defaultSettings,null,2),stateInjected:!1,appHistory:new g.AppHistory,general:new f.GeneralState}));t.RootState=b;var E=a.combineReducers({docs:s.default,sessions:u.default,sharing:c.default,history:l.default,general:f.default,appHistory:g.default});function x(e){var t,n=u.makeSessionState(e);return new v({docs:p.Map((t={},t[n.selectedSessionId]=new s.DocsSession,t)),sessions:n,sharing:new c.SharingState,history:p.OrderedMap()})}function D(e){try{return n=JSON.parse(e),\"dark\"!==(r=n[\"editor.theme\"])&&\"light\"!==r&&(n[\"editor.theme\"]=\"dark\"),o(o({},t.defaultSettings),n)}catch(e){return t.defaultSettings}var n,r}t.rootReducer=function(e,t){if(void 0===e&&(e=new b),\"SELECT_WORKSPACE\"===t.type)return e.set(\"selectedWorkspace\",t.payload.workspace);if(\"SET_SETTINGS_STRING\"===t.type)return e.set(\"settingsString\",t.payload.settingsString);if(\"INIT_STATE\"===t.type&&!e.stateInjected){var n=t.payload,r=n.workspaceId,i=n.endpoint;return e.workspaces.get(r)?e.set(\"selectedWorkspace\",r):e.setIn([\"workspaces\",r],x(i)).set(\"selectedWorkspace\",r)}if(\"INJECT_STATE\"===t.type)return m.deserializePersistedState(t.payload.state).set(\"stateInjected\",!0);if(\"INJECT_TABS\"===t.type)return function(e){var t=e[0].endpoint,n=p.OrderedMap(e.map(u.sessionFromTab).reduce((function(e,t){var n;return o(o({},e),((n={})[t.id]=t,n))}),{})),r=n.first().id,i=x(t).setIn([\"sessions\",\"sessions\"],n).setIn([\"sessions\",\"selectedSessionId\"],r);return(new b).setIn([\"workspaces\",t],i).set(\"selectedWorkspace\",t)}(t.payload.tabs);if(\"SELECT_APP_HISTORY_ITEM\"===t.type)return e.set(\"appHistory\",g.default(e.appHistory,t));if({OPEN_HISTORY:!0,CLOSE_HISTORY:!0,SET_ENDPOINT_DISABLED:!0,SET_CONFIG_STRING:!0}[t.type])return e.set(\"general\",f.default(e.general,t));var a=[\"workspaces\",t.payload&&t.payload.workspaceId?t.payload.workspaceId:y(e)];return e.setIn(a,E(e.getIn(a),t))},t.makeWorkspace=x,t.default=t.rootReducer,t.getSessionCounts=d.immutableMemoize((function(e){return e.workspaces.map((function(e){return e.sessions.sessionCount}))})),t.getSettingsString=function(e){return e.settingsString},t.getSettings=h.createSelector([t.getSettingsString],D),t.normalizeSettingsString=function(e){return JSON.stringify(D(e),null,2)},t.getTheme=function(e,n){return(n||t.getSettings(e))[\"editor.theme\"]||\"dark\"}},function(e,t){var n;n=function(){return this}();try{n=n||new Function(\"return this\")()}catch(e){\"object\"==typeof window&&(n=window)}e.exports=n},function(e,t,n){\"use strict\";function r(e,t){for(var n=Object.create(null),r=new i(e),o=Math.floor(.4*e.length)+1,a=0;a<t.length;a++){var s=t[a],u=r.measure(s,o);void 0!==u&&(n[s]=u)}return Object.keys(n).sort((function(e,t){var r=n[e]-n[t];return 0!==r?r:e.localeCompare(t)}))}n.d(t,\"a\",(function(){return r}));var i=function(){function e(e){this._input=e,this._inputLowerCase=e.toLowerCase(),this._inputArray=o(this._inputLowerCase),this._rows=[new Array(e.length+1).fill(0),new Array(e.length+1).fill(0),new Array(e.length+1).fill(0)]}return e.prototype.measure=function(e,t){if(this._input===e)return 0;var n=e.toLowerCase();if(this._inputLowerCase===n)return 1;var r=o(n),i=this._inputArray;if(r.length<i.length){var a=r;r=i,i=a}var s=r.length,u=i.length;if(!(s-u>t)){for(var c=this._rows,l=0;l<=u;l++)c[0][l]=l;for(var p=1;p<=s;p++){for(var f=c[(p-1)%3],d=c[p%3],h=d[0]=p,m=1;m<=u;m++){var g=r[p-1]===i[m-1]?0:1,y=Math.min(f[m]+1,d[m-1]+1,f[m-1]+g);if(p>1&&m>1&&r[p-1]===i[m-2]&&r[p-2]===i[m-1]){var v=c[(p-2)%3][m-2];y=Math.min(y,v+1)}y<h&&(h=y),d[m]=y}if(h>t)return}var b=c[s%3][u];return b<=t?b:void 0}},e}();function o(e){for(var t=e.length,n=new Array(t),r=0;r<t;++r)n[r]=e.charCodeAt(r);return n}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(2);function i(e,t,n){return new r.a(\"Syntax Error: \".concat(n),void 0,e,[t])}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i})),n.d(t,\"b\",(function(){return o})),n.d(t,\"c\",(function(){return a})),n.d(t,\"i\",(function(){return s})),n.d(t,\"f\",(function(){return u})),n.d(t,\"g\",(function(){return c})),n.d(t,\"d\",(function(){return l})),n.d(t,\"h\",(function(){return p})),n.d(t,\"e\",(function(){return f}));var r=n(1);function i(e){return o(e)||c(e)||p(e)}function o(e){return e.kind===r.a.OPERATION_DEFINITION||e.kind===r.a.FRAGMENT_DEFINITION}function a(e){return e.kind===r.a.FIELD||e.kind===r.a.FRAGMENT_SPREAD||e.kind===r.a.INLINE_FRAGMENT}function s(e){return e.kind===r.a.VARIABLE||e.kind===r.a.INT||e.kind===r.a.FLOAT||e.kind===r.a.STRING||e.kind===r.a.BOOLEAN||e.kind===r.a.NULL||e.kind===r.a.ENUM||e.kind===r.a.LIST||e.kind===r.a.OBJECT}function u(e){return e.kind===r.a.NAMED_TYPE||e.kind===r.a.LIST_TYPE||e.kind===r.a.NON_NULL_TYPE}function c(e){return e.kind===r.a.SCHEMA_DEFINITION||l(e)||e.kind===r.a.DIRECTIVE_DEFINITION}function l(e){return e.kind===r.a.SCALAR_TYPE_DEFINITION||e.kind===r.a.OBJECT_TYPE_DEFINITION||e.kind===r.a.INTERFACE_TYPE_DEFINITION||e.kind===r.a.UNION_TYPE_DEFINITION||e.kind===r.a.ENUM_TYPE_DEFINITION||e.kind===r.a.INPUT_OBJECT_TYPE_DEFINITION}function p(e){return e.kind===r.a.SCHEMA_EXTENSION||f(e)}function f(e){return e.kind===r.a.SCALAR_TYPE_EXTENSION||e.kind===r.a.OBJECT_TYPE_EXTENSION||e.kind===r.a.INTERFACE_TYPE_EXTENSION||e.kind===r.a.UNION_TYPE_EXTENSION||e.kind===r.a.ENUM_TYPE_EXTENSION||e.kind===r.a.INPUT_OBJECT_TYPE_EXTENSION}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return o}));var r=n(17),i=n(95);function o(e){var t=e.prototype.toJSON;\"function\"==typeof t||Object(r.a)(0),e.prototype.inspect=t,i.a&&(e.prototype[i.a]=t)}},function(e,t,n){\"use strict\";t.a=function(e,t){return e instanceof t}},function(e,t,n){\"use strict\";n.r(t),n.d(t,\"combineActions\",(function(){return p})),n.d(t,\"createAction\",(function(){return h})),n.d(t,\"createActions\",(function(){return F})),n.d(t,\"createCurriedAction\",(function(){return P})),n.d(t,\"handleAction\",(function(){return R})),n.d(t,\"handleActions\",(function(){return z}));var r=n(29),i=n.n(r),o=function(e){return\"function\"==typeof e},a=function(e){return 0===e.length},s=function(e){return e.toString()},u=function(e){return\"string\"==typeof e};function c(e){return u(e)||o(e)||(\"symbol\"==typeof(t=e)||\"object\"==typeof t&&\"[object Symbol]\"===Object.prototype.toString.call(t));var t}function l(e){return!a(e)&&e.every(c)}function p(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];i()(l(t),\"Expected action types to be strings, symbols, or action creators\");var r=t.map(s).join(\"||\");return{toString:function(){return r}}}var f=function(e){return e},d=function(e){return null===e};function h(e,t,n){void 0===t&&(t=f),i()(o(t)||d(t),\"Expected payloadCreator to be a function, undefined or null\");var r=d(t)||t===f?f:function(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return e instanceof Error?e:t.apply(void 0,[e].concat(r))},a=o(n),s=e.toString(),u=function(){var t=r.apply(void 0,arguments),i={type:e};return t instanceof Error&&(i.error=!0),void 0!==t&&(i.payload=t),a&&(i.meta=n.apply(void 0,arguments)),i};return u.toString=function(){return s},u}var m=function(e){if(\"object\"!=typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t},g=function(e){return Array.isArray(e)},y=function(e){return null==e},v=function(e){return e[e.length-1]},b=n(147),E=n.n(b),x=function(e){return-1===e.indexOf(\"/\")?E()(e):e.split(\"/\").map(E.a).join(\"/\")},D=function(e,t){return e.reduce((function(e,n){return t(e,n)}),{})},C=function(e){return\"undefined\"!=typeof Map&&e instanceof Map};function w(e){if(C(e))return Array.from(e.keys());if(\"undefined\"!=typeof Reflect&&\"function\"==typeof Reflect.ownKeys)return Reflect.ownKeys(e);var t=Object.getOwnPropertyNames(e);return\"function\"==typeof Object.getOwnPropertySymbols&&(t=t.concat(Object.getOwnPropertySymbols(e))),t}function S(e,t){return C(t)?t.get(e):t[e]}var k=function(e){return function t(n,r,i,o){var a=void 0===r?{}:r,s=a.namespace,u=void 0===s?\"/\":s,c=a.prefix;return void 0===i&&(i={}),void 0===o&&(o=\"\"),w(n).forEach((function(r){var a=function(e){return o||!c||c&&new RegExp(\"^\"+c+u).test(e)?e:\"\"+c+u+e}(function(e){var t;if(!o)return e;var n=e.toString().split(\"||\"),r=o.split(\"||\");return(t=[]).concat.apply(t,r.map((function(e){return n.map((function(t){return\"\"+e+u+t}))}))).join(\"||\")}(r)),s=S(r,n);e(s)?t(s,{namespace:u,prefix:c},i,a):i[a]=s})),i}},A=k(m);function T(e,t){var n=void 0===t?{}:t,r=n.namespace,i=void 0===r?\"/\":r,o=n.prefix;var s={};return Object.getOwnPropertyNames(e).forEach((function(t){var n=o?t.replace(\"\"+o+i,\"\"):t;return function t(n,r,i){var o=x(i.shift());a(i)?r[o]=e[n]:(r[o]||(r[o]={}),t(n,r[o],i))}(t,s,n.split(i))})),s}function _(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);\"function\"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(t){O(e,t,n[t])}))}return e}function O(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function F(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var o=m(v(n))?n.pop():{};return i()(n.every(u)&&(u(e)||m(e)),\"Expected optional object followed by string action types\"),u(e)?M([e].concat(n),o):_({},N(e,o),M(n,o))}function N(e,t){return T(I(A(e,t)),t)}function I(e,t){var n=void 0===t?{}:t,r=n.prefix,a=n.namespace,s=void 0===a?\"/\":a;return D(Object.keys(e),(function(t,n){var a,u=e[n];i()(function(e){if(o(e)||y(e))return!0;if(g(e)){var t=e[0],n=void 0===t?f:t,r=e[1];return o(n)&&o(r)}return!1}(u),\"Expected function, undefined, null, or array with payload and meta functions for \"+n);var c=r?\"\"+r+s+n:n,l=g(u)?h.apply(void 0,[c].concat(u)):h(c,u);return _({},t,((a={})[n]=l,a))}))}function M(e,t){var n=I(D(e,(function(e,t){var n;return _({},e,((n={})[t]=f,n))})),t);return D(Object.keys(n),(function(e,t){var r;return _({},e,((r={})[x(t)]=n[t],r))}))}var j=n(246),L=n.n(j),P=function(e,t){return L()(h(e,t),t.length)};function R(e,t,n){void 0===t&&(t=f);var r=s(e).split(\"||\");i()(!(void 0===n),\"defaultState for reducer handling \"+r.join(\", \")+\" should be defined\"),i()(o(t)||m(t),\"Expected reducer to be a function or object with next and throw reducers\");var a=o(t)?[t,t]:[t.next,t.throw].map((function(e){return y(e)?f:e})),u=a[0],c=a[1];return function(e,t){void 0===e&&(e=n);var i=t.type;return i&&-1!==r.indexOf(s(i))?(!0===t.error?c:u)(e,t):e}}var B=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=\"function\"!=typeof t[t.length-1]&&t.pop(),i=t;if(void 0===r)throw new TypeError(\"The initial state may not be undefined. If you do not want to set a value for this reducer, you can use null instead of undefined.\");return function(e,t){for(var n=arguments.length,o=Array(n>2?n-2:0),a=2;a<n;a++)o[a-2]=arguments[a];var s=void 0===e,u=void 0===t;return s&&u&&r?r:i.reduce((function(e,n){return n.apply(void 0,[e,t].concat(o))}),s&&!u&&r?r:e)}};var U=k((function(e){return(m(e)||C(e))&&(t=w(e),n=t.every((function(e){return\"next\"===e||\"throw\"===e})),!(t.length&&t.length<=2&&n));var t,n}));function z(e,t,n){void 0===n&&(n={}),i()(m(e)||C(e),\"Expected handlers to be a plain object.\");var r=U(e,n),o=w(r).map((function(e){return R(e,S(e,r),t)})),a=B.apply(void 0,o.concat([t]));return function(e,n){return void 0===e&&(e=t),a(e,n)}}},function(e,t,n){\"use strict\";function r(e,t,n){return e.reduce((function(e,r){return e[t(r)]=n(r),e}),Object.create(null))}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";var r=function(){};e.exports=r},function(e,t,n){\"use strict\";function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var i=this&&this.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n};Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(3),a=function(e){var t=e.title,n=e.children,r=i(e,[\"title\",\"children\"]);return o.createElement(\"svg\",r,t?o.createElement(\"title\",null,t):void 0,n)};t.AddIcon=function(e){return o.createElement(a,r({},e,{viewBox:\"0 0 50 50\"}),o.createElement(\"line\",{x1:\"25\",y1:\"13.1\",x2:\"25\",y2:\"36.9\"}),o.createElement(\"line\",{x1:\"36.9\",y1:\"25\",x2:\"13.1\",y2:\"25\"}))},t.AddFullIcon=function(e){return o.createElement(a,r({x:\"0px\",y:\"0px\",viewBox:\"-1 3 50 50\"},e),o.createElement(\"line\",{x1:\"24\",y1:\"7.27\",x2:\"24\",y2:\"48.73\"}),o.createElement(\"line\",{x1:\"44.73\",y1:\"28\",x2:\"3.27\",y2:\"28\"}))},t.FullArrowRightIcon=function(e){return o.createElement(a,r({},e,{viewBox:\"0 0 14 11\"}),o.createElement(\"path\",{d:\"M13.32,4.97L8.99,0.64c-0.29-0.29-0.77-0.29-1.06,0s-0.29,0.77,0,1.06l2.97,2.97H1.21 C0.8,4.67,0.46,5,0.46,5.42S0.8,6.17,1.21,6.17h9.85L7.93,9.3c-0.29,0.29-0.29,0.77,0,1.06c0.15,0.15,0.34,0.22,0.53,0.22 s0.38-0.07,0.53-0.22l4.33-4.33C13.61,5.74,13.61,5.26,13.32,4.97z\"}))},t.SettingsIcon=function(e){return o.createElement(a,r({},e,{viewBox:\"0 0 50 50\"}),o.createElement(\"path\",{d:\"M48,21h-5.71c-0.4-1.58-0.91-3.33-1.56-4.66l4.06-4.06c0.19-0.19,0.29-0.44,0.29-0.71 c0-0.27-0.11-0.52-0.29-0.71L39.14,5.2c-0.39-0.39-1.02-0.39-1.41,0l-4.06,4.06C32.33,8.62,30.58,8.11,29,7.71V2c0-0.55-0.45-1-1-1 h-6c-0.55,0-1,0.45-1,1v5.71c-1.58,0.4-3.33,0.91-4.66,1.55L12.27,5.2c-0.39-0.39-1.02-0.39-1.41,0L5.2,10.86 c-0.39,0.39-0.39,1.02,0,1.41l4.07,4.07C8.62,17.66,8.11,19.42,7.71,21H2c-0.55,0-1,0.45-1,1v6c0,0.55,0.45,1,1,1h5.71 c0.4,1.58,0.91,3.34,1.56,4.66L5.2,37.73c-0.19,0.19-0.29,0.44-0.29,0.71s0.11,0.52,0.29,0.71l5.66,5.66c0.38,0.38,1.04,0.38,1.41,0 l4.07-4.06c1.32,0.65,3.08,1.15,4.66,1.56V48c0,0.55,0.45,1,1,1h6c0.55,0,1-0.45,1-1v-5.71c1.58-0.4,3.34-0.91,4.66-1.56l4.07,4.06 c0.39,0.39,1.02,0.39,1.41,0l5.66-5.66c0.39-0.39,0.39-1.02,0-1.41l-4.06-4.07c0.65-1.33,1.16-3.08,1.56-4.66H48c0.55,0,1-0.45,1-1 v-6C49,21.45,48.55,21,48,21 M25,33c-4.41,0-8-3.59-8-8s3.59-8,8-8s8,3.59,8,8S29.41,33,25,33\"}))},t.CrossIcon=function(e){return o.createElement(a,r({},e,{viewBox:\"0 0 50 50\"}),o.createElement(\"line\",{x1:\"4\",y1:\"4\",x2:\"46\",y2:\"46\"}),o.createElement(\"line\",{x1:\"46\",y1:\"4\",x2:\"4\",y2:\"46\"}))},t.ArrowRight=function(e){return o.createElement(a,r({width:14,height:11},e,{viewBox:\"-1 -1 14 11\"}),o.createElement(\"path\",{d:\"M5,8.79825579 L5,-1.79402089\",id:\"Stroke-3\",stroke:\"#FFFFFF\",strokeWidth:\"1.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\",fill:\"none\",transform:\"translate(5.750000, 3.502117) rotate(-90.000000) translate(-5.750000, -3.502117) \"}),o.createElement(\"polyline\",{id:\"Stroke-5\",stroke:\"#FFFFFF\",strokeWidth:\"1.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\",fill:\"none\",transform:\"translate(9.868295, 4.333992) rotate(-90.000000) translate(-9.868295, -4.333992) \",points:\"14.2022868 2.16699605 9.86829475 6.50098814 5.53430265 2.16699605\"}))},t.History=function(e){return o.createElement(a,r({},e,{viewBox:\"0 0 50 50\",fill:\"none\"}),o.createElement(\"polyline\",{points:\"4.33,19.64 9.7,27.69 15.95,20.54 \"}),o.createElement(\"path\",{d:\"M9.71,27.69C8.36,16.81,16.68,8.38,26.06,8.03c9.37-0.35,17.25,6.97,17.6,16.35 c0.35,9.38-6.97,17.26-16.35,17.6\"}),o.createElement(\"polyline\",{points:\"26.68,16.06 26.68,25.89 35.62,25.89 \"}))},t.Star=function(e){var t=e.height,n=e.width,s=e.stroke,u=e.fill,c=e.strokeWidth,l=e.onClick,p=i(e,[\"height\",\"width\",\"stroke\",\"fill\",\"strokeWidth\",\"onClick\"]);return o.createElement(a,r({width:n,height:t,fill:u||\"none\",stroke:s||\"none\",strokeWidth:c,viewBox:\"118 12 16 16\",onClick:l},p),o.createElement(\"polygon\",{points:\"126 24 121.297718 26.472136 122.195774 21.236068 118.391548 17.527864 123.648859 16.763932 126 12 128.351141 16.763932 133.608452 17.527864 129.804226 21.236068 130.702282 26.472136\"}))},t.Search=function(e){var t=e.height,n=e.width,s=e.strokeWidth,u=e.color,c=i(e,[\"height\",\"width\",\"strokeWidth\",\"color\"]);return o.createElement(a,r({width:n,height:t,viewBox:\"0 0 50 50\",strokeWidth:s,stroke:u,fill:\"none\"},c),o.createElement(\"circle\",{cx:\"17.82\",cy:\"18.11\",r:\"16.21\"}),o.createElement(\"line\",{x1:\"29.28\",y1:\"29.57\",x2:\"48.21\",y2:\"48.5\"}))},t.ShareIcon=function(e){var t=e.width,n=e.height,s=e.color,u=i(e,[\"width\",\"height\",\"color\"]);return o.createElement(a,r({width:t,height:n,viewBox:\"0 0 50 50\",stroke:s},u),o.createElement(\"path\",{d:\"M16.47 15.56c-.36 0-.65.3-.65.67v20.22c0 .37.29.67.65.67h9.06c.36 0 .65-.3.65-.67s-.29-.67-.65-.67h-8.41V16.91h1.29v.67c0 .37.29.67.65.67h10.35c.36 0 .65-.3.65-.67v-.67h1.29v6.07c0 .37.29.67.65.67.36 0 .65-.3.65-.67v-6.74a.66.66 0 0 0-.65-.67h-1.94v-1.35h3.88v8.76c0 .37.29.67.65.67.36 0 .65-.3.65-.67v-9.44a.66.66 0 0 0-.65-.67h-4.53v-.67a.66.66 0 0 0-.65-.67H27.4c-.3-1.54-1.61-2.7-3.17-2.7-1.56 0-2.87 1.16-3.17 2.7h-2.01c-.36 0-.65.3-.65.67v.67h-4.53c-.36 0-.65.3-.65.67V40.5c0 .37.29.67.65.67h11.65c.36 0 .65-.3.65-.67s-.29-.67-.65-.67h-11V14.22h3.88v1.35h-1.93zm3.24-2.69h1.94c.36 0 .65-.3.65-.67 0-1.11.87-2.02 1.94-2.02 1.07 0 1.94.91 1.94 2.02 0 .37.29.67.65.67h1.94v4.04h-9.06v-4.04z\"}),o.createElement(\"path\",{d:\"M28.71 20.96h-9.06c-.36 0-.65.3-.65.67 0 .37.29.67.65.67h9.06c.36 0 .65-.3.65-.67a.66.66 0 0 0-.65-.67M28.71 23.65h-9.06c-.36 0-.65.3-.65.67s.3.68.66.68h9.06c.36 0 .65-.3.65-.67s-.3-.68-.66-.68M28.71 26.35h-9.06c-.36 0-.65.3-.65.67s.29.67.65.67h9.06c.36 0 .65-.3.65-.67s-.29-.67-.65-.67M26.13 29.04h-6.47c-.36 0-.65.3-.65.67 0 .37.29.67.65.67h6.47c.36 0 .65-.3.65-.67-.01-.36-.3-.67-.65-.67M37.77 33.21h-6.13l1.43-1.38c.26-.25.28-.68.03-.95a.62.62 0 0 0-.91-.04l-2.63 2.54c-.13.13-.21.3-.21.49v.02c0 .2.09.38.23.5l2.6 2.56c.12.12.28.18.44.18.17 0 .34-.07.47-.21.25-.27.23-.7-.03-.95l-1.43-1.41h6.13c.36 0 .65-.3.65-.67s-.28-.68-.64-.68\"}))},t.Triangle=function(e){return o.createElement(a,r({width:6,height:7,viewBox:\"40 0 6 7\"},e),o.createElement(\"polygon\",{stroke:\"none\",fill:\"rgba(0, 0, 0, .2)\",fillRule:\"evenodd\",points:\"40 7 40 0 46 3.5\"}))}},function(e,t,n){\"use strict\";function r(e){var t=e.split(/\\r\\n|[\\n\\r]/g),n=i(t);if(0!==n)for(var r=1;r<t.length;r++)t[r]=t[r].slice(n);for(;t.length>0&&a(t[0]);)t.shift();for(;t.length>0&&a(t[t.length-1]);)t.pop();return t.join(\"\\n\")}function i(e){for(var t=null,n=1;n<e.length;n++){var r=e[n],i=o(r);if(i!==r.length&&((null===t||i<t)&&0===(t=i)))break}return null===t?0:t}function o(e){for(var t=0;t<e.length&&(\" \"===e[t]||\"\\t\"===e[t]);)t++;return t}function a(e){return o(e)===e.length}function s(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=-1===e.indexOf(\"\\n\"),i=\" \"===e[0]||\"\\t\"===e[0],o='\"'===e[e.length-1],a=\"\\\\\"===e[e.length-1],s=!r||o||a||n,u=\"\";return!s||r&&i||(u+=\"\\n\"+t),u+=t?e.replace(/\\n/g,\"\\n\"+t):e,s&&(u+=\"\\n\"),'\"\"\"'+u.replace(/\"\"\"/g,'\\\\\"\"\"')+'\"\"\"'}n.d(t,\"a\",(function(){return r})),n.d(t,\"b\",(function(){return i})),n.d(t,\"c\",(function(){return s}))},function(e,t,n){\"use strict\";n.d(t,\"c\",(function(){return g})),n.d(t,\"b\",(function(){return y})),n.d(t,\"a\",(function(){return v}));var r=n(56),i=n(58),o=n(14),a=n(25),s=n(4),u=n(41),c=n(8),l=n(48),p=n(31),f=n(12),d=n(21),h=n(0);function m(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function g(e){return Object(l.a)(e,v)}function y(e){if(!g(e))throw new Error(\"Expected \".concat(Object(s.a)(e),\" to be a GraphQL schema.\"));return e}var v=function(){function e(e){var t;this.__validationErrors=!0===e.assumeValid?[]:void 0,Object(p.a)(e)||Object(c.a)(0,\"Must provide configuration object.\"),!e.types||Array.isArray(e.types)||Object(c.a)(0,'\"types\" must be Array if provided but got: '.concat(Object(s.a)(e.types),\".\")),!e.directives||Array.isArray(e.directives)||Object(c.a)(0,'\"directives\" must be Array if provided but got: '+\"\".concat(Object(s.a)(e.directives),\".\")),this.description=e.description,this.extensions=e.extensions&&Object(u.a)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=e.extensionASTNodes,this._queryType=e.query,this._mutationType=e.mutation,this._subscriptionType=e.subscription,this._directives=null!==(t=e.directives)&&void 0!==t?t:d.j;var n=new Set(e.types);if(null!=e.types)for(var r=0,o=e.types;r<o.length;r++){var a=o[r];n.delete(a),b(a,n)}null!=this._queryType&&b(this._queryType,n),null!=this._mutationType&&b(this._mutationType,n),null!=this._subscriptionType&&b(this._subscriptionType,n);for(var l=0,m=this._directives;l<m.length;l++){var g=m[l];if(Object(d.h)(g))for(var y=0,v=g.args;y<v.length;y++){b(v[y].type,n)}}b(f.__Schema,n),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(var E=0,x=Object(i.a)(n);E<x.length;E++){var D=x[E];if(null!=D){var C=D.name;if(C||Object(c.a)(0,\"One of the provided types for building the Schema is missing a name.\"),void 0!==this._typeMap[C])throw new Error('Schema must contain uniquely named types but contains multiple types named \"'.concat(C,'\".'));if(this._typeMap[C]=D,Object(h.H)(D))for(var w=0,S=D.getInterfaces();w<S.length;w++){var k=S[w];if(Object(h.H)(k)){var A=this._implementationsMap[k.name];void 0===A&&(A=this._implementationsMap[k.name]={objects:[],interfaces:[]}),A.interfaces.push(D)}}else if(Object(h.N)(D))for(var T=0,_=D.getInterfaces();T<_.length;T++){var O=_[T];if(Object(h.H)(O)){var F=this._implementationsMap[O.name];void 0===F&&(F=this._implementationsMap[O.name]={objects:[],interfaces:[]}),F.objects.push(D)}}}}}var t,n,l,g=e.prototype;return g.getQueryType=function(){return this._queryType},g.getMutationType=function(){return this._mutationType},g.getSubscriptionType=function(){return this._subscriptionType},g.getTypeMap=function(){return this._typeMap},g.getType=function(e){return this.getTypeMap()[e]},g.getPossibleTypes=function(e){return Object(h.T)(e)?e.getTypes():this.getImplementations(e).objects},g.getImplementations=function(e){var t=this._implementationsMap[e.name];return null!=t?t:{objects:[],interfaces:[]}},g.isPossibleType=function(e,t){return this.isSubType(e,t)},g.isSubType=function(e,t){var n=this._subTypeMap[e.name];if(void 0===n){if(n=Object.create(null),Object(h.T)(e))for(var r=0,i=e.getTypes();r<i.length;r++){n[i[r].name]=!0}else{for(var o=this.getImplementations(e),a=0,s=o.objects;a<s.length;a++){n[s[a].name]=!0}for(var u=0,c=o.interfaces;u<c.length;u++){n[c[u].name]=!0}}this._subTypeMap[e.name]=n}return void 0!==n[t.name]},g.getDirectives=function(){return this._directives},g.getDirective=function(e){return Object(r.a)(this.getDirectives(),(function(t){return t.name===e}))},g.toConfig=function(){var e;return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object(o.a)(this.getTypeMap()),directives:this.getDirectives().slice(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:null!==(e=this.extensionASTNodes)&&void 0!==e?e:[],assumeValid:void 0!==this.__validationErrors}},t=e,(n=[{key:a.c,get:function(){return\"GraphQLSchema\"}}])&&m(t.prototype,n),l&&m(t,l),e}();function b(e,t){var n=Object(h.A)(e);if(!t.has(n))if(t.add(n),Object(h.T)(n))for(var r=0,i=n.getTypes();r<i.length;r++){b(i[r],t)}else if(Object(h.N)(n)||Object(h.H)(n)){for(var a=0,s=n.getInterfaces();a<s.length;a++){b(s[a],t)}for(var u=0,c=Object(o.a)(n.getFields());u<c.length;u++){var l=c[u];b(l.type,t);for(var p=0,f=l.args;p<f.length;p++){b(f[p].type,t)}}}else if(Object(h.F)(n))for(var d=0,m=Object(o.a)(n.getFields());d<m.length;d++){b(m[d].type,t)}return t}},function(e,t,n){\"use strict\";var r=Object.entries||function(e){return Object.keys(e).map((function(t){return[t,e[t]]}))};t.a=r},function(e,t,n){\"use strict\";var r=Array.prototype.find?function(e,t){return Array.prototype.find.call(e,t)}:function(e,t){for(var n=0;n<e.length;n++){var r=e[n];if(t(r))return r}};t.a=r},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(55);function i(e,t){for(var n=Object.create(null),i=0,o=Object(r.a)(e);i<o.length;i++){var a=o[i],s=a[0],u=a[1];n[s]=t(u,s)}return n}},function(e,t,n){\"use strict\";var r=n(25),i=Array.from||function(e,t,n){if(null==e)throw new TypeError(\"Array.from requires an array-like object - not null or undefined\");var i=e[r.b];if(\"function\"==typeof i){for(var o,a=i.call(e),s=[],u=0;!(o=a.next()).done;++u)if(s.push(t.call(n,o.value,u)),u>9999999)throw new TypeError(\"Near-infinite iteration.\");return s}var c=e.length;if(\"number\"==typeof c&&c>=0&&c%1==0){for(var l=[],p=0;p<c;++p)Object.prototype.hasOwnProperty.call(e,p)&&l.push(t.call(n,e[p],p));return l}return[]};t.a=i},function(e,t,n){\"use strict\";!function e(){if(\"undefined\"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&\"function\"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE){0;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}}(),e.exports=n(260)},function(e,t,n){\"use strict\";n.r(t),n.d(t,\"__DO_NOT_USE__ActionTypes\",(function(){return o})),n.d(t,\"applyMiddleware\",(function(){return g})),n.d(t,\"bindActionCreators\",(function(){return p})),n.d(t,\"combineReducers\",(function(){return c})),n.d(t,\"compose\",(function(){return m})),n.d(t,\"createStore\",(function(){return s}));var r=n(114),i=function(){return Math.random().toString(36).substring(7).split(\"\").join(\".\")},o={INIT:\"@@redux/INIT\"+i(),REPLACE:\"@@redux/REPLACE\"+i(),PROBE_UNKNOWN_ACTION:function(){return\"@@redux/PROBE_UNKNOWN_ACTION\"+i()}};function a(e){if(\"object\"!=typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function s(e,t,n){var i;if(\"function\"==typeof t&&\"function\"==typeof n||\"function\"==typeof n&&\"function\"==typeof arguments[3])throw new Error(\"It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function.\");if(\"function\"==typeof t&&void 0===n&&(n=t,t=void 0),void 0!==n){if(\"function\"!=typeof n)throw new Error(\"Expected the enhancer to be a function.\");return n(s)(e,t)}if(\"function\"!=typeof e)throw new Error(\"Expected the reducer to be a function.\");var u=e,c=t,l=[],p=l,f=!1;function d(){p===l&&(p=l.slice())}function h(){if(f)throw new Error(\"You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.\");return c}function m(e){if(\"function\"!=typeof e)throw new Error(\"Expected the listener to be a function.\");if(f)throw new Error(\"You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api-reference/store#subscribelistener for more details.\");var t=!0;return d(),p.push(e),function(){if(t){if(f)throw new Error(\"You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api-reference/store#subscribelistener for more details.\");t=!1,d();var n=p.indexOf(e);p.splice(n,1),l=null}}}function g(e){if(!a(e))throw new Error(\"Actions must be plain objects. Use custom middleware for async actions.\");if(void 0===e.type)throw new Error('Actions may not have an undefined \"type\" property. Have you misspelled a constant?');if(f)throw new Error(\"Reducers may not dispatch actions.\");try{f=!0,c=u(c,e)}finally{f=!1}for(var t=l=p,n=0;n<t.length;n++){(0,t[n])()}return e}function y(e){if(\"function\"!=typeof e)throw new Error(\"Expected the nextReducer to be a function.\");u=e,g({type:o.REPLACE})}function v(){var e,t=m;return(e={subscribe:function(e){if(\"object\"!=typeof e||null===e)throw new TypeError(\"Expected the observer to be an object.\");function n(){e.next&&e.next(h())}return n(),{unsubscribe:t(n)}}})[r.default]=function(){return this},e}return g({type:o.INIT}),(i={dispatch:g,subscribe:m,getState:h,replaceReducer:y})[r.default]=v,i}function u(e,t){var n=t&&t.type;return\"Given \"+(n&&'action \"'+String(n)+'\"'||\"an action\")+', reducer \"'+e+'\" returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined.'}function c(e){for(var t=Object.keys(e),n={},r=0;r<t.length;r++){var i=t[r];0,\"function\"==typeof e[i]&&(n[i]=e[i])}var a,s=Object.keys(n);try{!function(e){Object.keys(e).forEach((function(t){var n=e[t];if(void 0===n(void 0,{type:o.INIT}))throw new Error('Reducer \"'+t+\"\\\" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.\");if(void 0===n(void 0,{type:o.PROBE_UNKNOWN_ACTION()}))throw new Error('Reducer \"'+t+\"\\\" returned undefined when probed with a random type. Don't try to handle \"+o.INIT+' or other actions in \"redux/*\" namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.')}))}(n)}catch(e){a=e}return function(e,t){if(void 0===e&&(e={}),a)throw a;for(var r=!1,i={},o=0;o<s.length;o++){var c=s[o],l=n[c],p=e[c],f=l(p,t);if(void 0===f){var d=u(c,t);throw new Error(d)}i[c]=f,r=r||f!==p}return(r=r||s.length!==Object.keys(e).length)?i:e}}function l(e,t){return function(){return t(e.apply(this,arguments))}}function p(e,t){if(\"function\"==typeof e)return l(e,t);if(\"object\"!=typeof e||null===e)throw new Error(\"bindActionCreators expected an object or a function, instead received \"+(null===e?\"null\":typeof e)+'. Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?');var n={};for(var r in e){var i=e[r];\"function\"==typeof i&&(n[r]=l(i,t))}return n}function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(e,t){var n=Object.keys(e);return Object.getOwnPropertySymbols&&n.push.apply(n,Object.getOwnPropertySymbols(e)),t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n}function h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?d(n,!0).forEach((function(t){f(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function m(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return 0===t.length?function(e){return e}:1===t.length?t[0]:t.reduce((function(e,t){return function(){return e(t.apply(void 0,arguments))}}))}function g(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){return function(){var n=e.apply(void 0,arguments),r=function(){throw new Error(\"Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch.\")},i={getState:n.getState,dispatch:function(){return r.apply(void 0,arguments)}},o=t.map((function(e){return e(i)}));return h({},n,{dispatch:r=m.apply(void 0,o)(n.dispatch)})}}}},function(e,t,n){\"use strict\";function r(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}n.d(t,\"a\",(function(){return r}))},function(e,t,n){\"use strict\";n.r(t),n.d(t,\"ApolloLink\",(function(){return b})),n.d(t,\"concat\",(function(){return v})),n.d(t,\"createOperation\",(function(){return f})),n.d(t,\"empty\",(function(){return m})),n.d(t,\"execute\",(function(){return E})),n.d(t,\"from\",(function(){return g})),n.d(t,\"fromError\",(function(){return p})),n.d(t,\"fromPromise\",(function(){return l})),n.d(t,\"makePromise\",(function(){return c})),n.d(t,\"split\",(function(){return y})),n.d(t,\"toPromise\",(function(){return u}));var r=n(40);n.d(t,\"Observable\",(function(){return r.a}));var i=n(27),o=n(19),a=n(113);n.d(t,\"getOperationName\",(function(){return a.a}));!function(e){function t(t,n){var r=e.call(this,t)||this;return r.link=n,r}Object(o.b)(t,e)}(Error);function s(e){return e.request.length<=1}function u(e){var t=!1;return new Promise((function(n,r){e.subscribe({next:function(e){t||(t=!0,n(e))},error:r})}))}var c=u;function l(e){return new r.a((function(t){e.then((function(e){t.next(e),t.complete()})).catch(t.error.bind(t))}))}function p(e){return new r.a((function(t){t.error(e)}))}function f(e,t){var n=Object(o.a)({},e);return Object.defineProperty(t,\"setContext\",{enumerable:!1,value:function(e){n=\"function\"==typeof e?Object(o.a)({},n,e(n)):Object(o.a)({},n,e)}}),Object.defineProperty(t,\"getContext\",{enumerable:!1,value:function(){return Object(o.a)({},n)}}),Object.defineProperty(t,\"toKey\",{enumerable:!1,value:function(){return function(e){var t=e.query,n=e.variables,r=e.operationName;return JSON.stringify([r,t,n])}(t)}}),t}function d(e,t){return t?t(e):r.a.of()}function h(e){return\"function\"==typeof e?new b(e):e}function m(){return new b((function(){return r.a.of()}))}function g(e){return 0===e.length?m():e.map(h).reduce((function(e,t){return e.concat(t)}))}function y(e,t,n){var i=h(t),o=h(n||new b(d));return s(i)&&s(o)?new b((function(t){return e(t)?i.request(t)||r.a.of():o.request(t)||r.a.of()})):new b((function(t,n){return e(t)?i.request(t,n)||r.a.of():o.request(t,n)||r.a.of()}))}var v=function(e,t){var n=h(e);if(s(n))return n;var i=h(t);return s(i)?new b((function(e){return n.request(e,(function(e){return i.request(e)||r.a.of()}))||r.a.of()})):new b((function(e,t){return n.request(e,(function(e){return i.request(e,t)||r.a.of()}))||r.a.of()}))},b=function(){function e(e){e&&(this.request=e)}return e.prototype.split=function(t,n,r){return this.concat(y(t,n,r||new e(d)))},e.prototype.concat=function(e){return v(this,e)},e.prototype.request=function(e,t){throw new i.a(1)},e.empty=m,e.from=g,e.split=y,e.execute=E,e}();function E(e,t){return e.request(f(t.context,function(e){var t={variables:e.variables||{},extensions:e.extensions||{},operationName:e.operationName,query:e.query};return t.operationName||(t.operationName=\"string\"!=typeof t.query?Object(a.a)(t.query):\"\"),t}(function(e){for(var t=[\"query\",\"operationName\",\"variables\",\"extensions\",\"context\"],n=0,r=Object.keys(e);n<r.length;n++){var o=r[n];if(t.indexOf(o)<0)throw new i.a(2)}return e}(t))))||r.a.of()}},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return i})),n.d(t,\"c\",(function(){return o})),n.d(t,\"a\",(function(){return a}));var r=n(0);function i(e,t){return e===t||(Object(r.L)(e)&&Object(r.L)(t)||!(!Object(r.J)(e)||!Object(r.J)(t)))&&i(e.ofType,t.ofType)}function o(e,t,n){return t===n||(Object(r.L)(n)?!!Object(r.L)(t)&&o(e,t.ofType,n.ofType):Object(r.L)(t)?o(e,t.ofType,n):Object(r.J)(n)?!!Object(r.J)(t)&&o(e,t.ofType,n.ofType):!Object(r.J)(t)&&(Object(r.C)(n)&&(Object(r.H)(t)||Object(r.N)(t))&&e.isSubType(n,t)))}function a(e,t,n){return t===n||(Object(r.C)(t)?Object(r.C)(n)?e.getPossibleTypes(t).some((function(t){return e.isSubType(n,t)})):e.isSubType(t,n):!!Object(r.C)(n)&&e.isSubType(n,t))}},function(e,t,n){\"use strict\";(function(t){var r=n(73);\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n * @license  MIT\n */function i(e,t){if(e===t)return 0;for(var n=e.length,r=t.length,i=0,o=Math.min(n,r);i<o;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:r<n?1:0}function o(e){return t.Buffer&&\"function\"==typeof t.Buffer.isBuffer?t.Buffer.isBuffer(e):!(null==e||!e._isBuffer)}var a=n(379),s=Object.prototype.hasOwnProperty,u=Array.prototype.slice,c=\"foo\"===function(){}.name;function l(e){return Object.prototype.toString.call(e)}function p(e){return!o(e)&&(\"function\"==typeof t.ArrayBuffer&&(\"function\"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):!!e&&(e instanceof DataView||!!(e.buffer&&e.buffer instanceof ArrayBuffer))))}var f=e.exports=v,d=/\\s*function\\s+([^\\(\\s]*)\\s*/;function h(e){if(a.isFunction(e)){if(c)return e.name;var t=e.toString().match(d);return t&&t[1]}}function m(e,t){return\"string\"==typeof e?e.length<t?e:e.slice(0,t):e}function g(e){if(c||!a.isFunction(e))return a.inspect(e);var t=h(e);return\"[Function\"+(t?\": \"+t:\"\")+\"]\"}function y(e,t,n,r,i){throw new f.AssertionError({message:n,actual:e,expected:t,operator:r,stackStartFunction:i})}function v(e,t){e||y(e,!0,t,\"==\",f.ok)}function b(e,t,n,r){if(e===t)return!0;if(o(e)&&o(t))return 0===i(e,t);if(a.isDate(e)&&a.isDate(t))return e.getTime()===t.getTime();if(a.isRegExp(e)&&a.isRegExp(t))return e.source===t.source&&e.global===t.global&&e.multiline===t.multiline&&e.lastIndex===t.lastIndex&&e.ignoreCase===t.ignoreCase;if(null!==e&&\"object\"==typeof e||null!==t&&\"object\"==typeof t){if(p(e)&&p(t)&&l(e)===l(t)&&!(e instanceof Float32Array||e instanceof Float64Array))return 0===i(new Uint8Array(e.buffer),new Uint8Array(t.buffer));if(o(e)!==o(t))return!1;var s=(r=r||{actual:[],expected:[]}).actual.indexOf(e);return-1!==s&&s===r.expected.indexOf(t)||(r.actual.push(e),r.expected.push(t),function(e,t,n,r){if(null==e||null==t)return!1;if(a.isPrimitive(e)||a.isPrimitive(t))return e===t;if(n&&Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;var i=E(e),o=E(t);if(i&&!o||!i&&o)return!1;if(i)return e=u.call(e),t=u.call(t),b(e,t,n);var s,c,l=C(e),p=C(t);if(l.length!==p.length)return!1;for(l.sort(),p.sort(),c=l.length-1;c>=0;c--)if(l[c]!==p[c])return!1;for(c=l.length-1;c>=0;c--)if(s=l[c],!b(e[s],t[s],n,r))return!1;return!0}(e,t,n,r))}return n?e===t:e==t}function E(e){return\"[object Arguments]\"==Object.prototype.toString.call(e)}function x(e,t){if(!e||!t)return!1;if(\"[object RegExp]\"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function D(e,t,n,r){var i;if(\"function\"!=typeof t)throw new TypeError('\"block\" argument must be a function');\"string\"==typeof n&&(r=n,n=null),i=function(e){var t;try{e()}catch(e){t=e}return t}(t),r=(n&&n.name?\" (\"+n.name+\").\":\".\")+(r?\" \"+r:\".\"),e&&!i&&y(i,n,\"Missing expected exception\"+r);var o=\"string\"==typeof r,s=!e&&i&&!n;if((!e&&a.isError(i)&&o&&x(i,n)||s)&&y(i,n,\"Got unwanted exception\"+r),e&&i&&n&&!x(i,n)||!e&&i)throw i}f.AssertionError=function(e){this.name=\"AssertionError\",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=function(e){return m(g(e.actual),128)+\" \"+e.operator+\" \"+m(g(e.expected),128)}(this),this.generatedMessage=!0);var t=e.stackStartFunction||y;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var n=new Error;if(n.stack){var r=n.stack,i=h(t),o=r.indexOf(\"\\n\"+i);if(o>=0){var a=r.indexOf(\"\\n\",o+1);r=r.substring(a+1)}this.stack=r}}},a.inherits(f.AssertionError,Error),f.fail=y,f.ok=v,f.equal=function(e,t,n){e!=t&&y(e,t,n,\"==\",f.equal)},f.notEqual=function(e,t,n){e==t&&y(e,t,n,\"!=\",f.notEqual)},f.deepEqual=function(e,t,n){b(e,t,!1)||y(e,t,n,\"deepEqual\",f.deepEqual)},f.deepStrictEqual=function(e,t,n){b(e,t,!0)||y(e,t,n,\"deepStrictEqual\",f.deepStrictEqual)},f.notDeepEqual=function(e,t,n){b(e,t,!1)&&y(e,t,n,\"notDeepEqual\",f.notDeepEqual)},f.notDeepStrictEqual=function e(t,n,r){b(t,n,!0)&&y(t,n,r,\"notDeepStrictEqual\",e)},f.strictEqual=function(e,t,n){e!==t&&y(e,t,n,\"===\",f.strictEqual)},f.notStrictEqual=function(e,t,n){e===t&&y(e,t,n,\"!==\",f.notStrictEqual)},f.throws=function(e,t,n){D(!0,e,t,n)},f.doesNotThrow=function(e,t,n){D(!1,e,t,n)},f.ifError=function(e){if(e)throw e},f.strict=r((function e(t,n){t||y(t,!0,n,\"==\",e)}),f,{equal:f.strictEqual,deepEqual:f.deepStrictEqual,notEqual:f.notStrictEqual,notDeepEqual:f.notDeepStrictEqual}),f.strict.strict=f.strict;var C=Object.keys||function(e){var t=[];for(var n in e)s.call(e,n)&&t.push(n);return t}}).call(this,n(43))},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return f})),n.d(t,\"c\",(function(){return d})),n.d(t,\"b\",(function(){return h}));var r=n(4),i=n(8),o=n(45),a=n(1),s=n(24),u=n(84),c=n(5),l=n(9),p=n(85);function f(e,t){return new m(e,t).parseDocument()}function d(e,t){var n=new m(e,t);n.expectToken(c.a.SOF);var r=n.parseValueLiteral(!1);return n.expectToken(c.a.EOF),r}function h(e,t){var n=new m(e,t);n.expectToken(c.a.SOF);var r=n.parseTypeReference();return n.expectToken(c.a.EOF),r}var m=function(){function e(e,t){var n=\"string\"==typeof e?new u.a(e):e;n instanceof u.a||Object(i.a)(0,\"Must provide Source. Received: \".concat(Object(r.a)(n),\".\")),this._lexer=new p.a(n),this._options=t}var t=e.prototype;return t.parseName=function(){var e=this.expectToken(c.a.NAME);return{kind:a.a.NAME,value:e.value,loc:this.loc(e)}},t.parseDocument=function(){var e=this._lexer.token;return{kind:a.a.DOCUMENT,definitions:this.many(c.a.SOF,this.parseDefinition,c.a.EOF),loc:this.loc(e)}},t.parseDefinition=function(){if(this.peek(c.a.NAME))switch(this._lexer.token.value){case\"query\":case\"mutation\":case\"subscription\":return this.parseOperationDefinition();case\"fragment\":return this.parseFragmentDefinition();case\"schema\":case\"scalar\":case\"type\":case\"interface\":case\"union\":case\"enum\":case\"input\":case\"directive\":return this.parseTypeSystemDefinition();case\"extend\":return this.parseTypeSystemExtension()}else{if(this.peek(c.a.BRACE_L))return this.parseOperationDefinition();if(this.peekDescription())return this.parseTypeSystemDefinition()}throw this.unexpected()},t.parseOperationDefinition=function(){var e=this._lexer.token;if(this.peek(c.a.BRACE_L))return{kind:a.a.OPERATION_DEFINITION,operation:\"query\",name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet(),loc:this.loc(e)};var t,n=this.parseOperationType();return this.peek(c.a.NAME)&&(t=this.parseName()),{kind:a.a.OPERATION_DEFINITION,operation:n,name:t,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},t.parseOperationType=function(){var e=this.expectToken(c.a.NAME);switch(e.value){case\"query\":return\"query\";case\"mutation\":return\"mutation\";case\"subscription\":return\"subscription\"}throw this.unexpected(e)},t.parseVariableDefinitions=function(){return this.optionalMany(c.a.PAREN_L,this.parseVariableDefinition,c.a.PAREN_R)},t.parseVariableDefinition=function(){var e=this._lexer.token;return{kind:a.a.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(c.a.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(c.a.EQUALS)?this.parseValueLiteral(!0):void 0,directives:this.parseDirectives(!0),loc:this.loc(e)}},t.parseVariable=function(){var e=this._lexer.token;return this.expectToken(c.a.DOLLAR),{kind:a.a.VARIABLE,name:this.parseName(),loc:this.loc(e)}},t.parseSelectionSet=function(){var e=this._lexer.token;return{kind:a.a.SELECTION_SET,selections:this.many(c.a.BRACE_L,this.parseSelection,c.a.BRACE_R),loc:this.loc(e)}},t.parseSelection=function(){return this.peek(c.a.SPREAD)?this.parseFragment():this.parseField()},t.parseField=function(){var e,t,n=this._lexer.token,r=this.parseName();return this.expectOptionalToken(c.a.COLON)?(e=r,t=this.parseName()):t=r,{kind:a.a.FIELD,alias:e,name:t,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(c.a.BRACE_L)?this.parseSelectionSet():void 0,loc:this.loc(n)}},t.parseArguments=function(e){var t=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(c.a.PAREN_L,t,c.a.PAREN_R)},t.parseArgument=function(){var e=this._lexer.token,t=this.parseName();return this.expectToken(c.a.COLON),{kind:a.a.ARGUMENT,name:t,value:this.parseValueLiteral(!1),loc:this.loc(e)}},t.parseConstArgument=function(){var e=this._lexer.token;return{kind:a.a.ARGUMENT,name:this.parseName(),value:(this.expectToken(c.a.COLON),this.parseValueLiteral(!0)),loc:this.loc(e)}},t.parseFragment=function(){var e=this._lexer.token;this.expectToken(c.a.SPREAD);var t=this.expectOptionalKeyword(\"on\");return!t&&this.peek(c.a.NAME)?{kind:a.a.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1),loc:this.loc(e)}:{kind:a.a.INLINE_FRAGMENT,typeCondition:t?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},t.parseFragmentDefinition=function(){var e,t=this._lexer.token;return this.expectKeyword(\"fragment\"),!0===(null===(e=this._options)||void 0===e?void 0:e.experimentalFragmentVariables)?{kind:a.a.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword(\"on\"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(t)}:{kind:a.a.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword(\"on\"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(t)}},t.parseFragmentName=function(){if(\"on\"===this._lexer.token.value)throw this.unexpected();return this.parseName()},t.parseValueLiteral=function(e){var t=this._lexer.token;switch(t.kind){case c.a.BRACKET_L:return this.parseList(e);case c.a.BRACE_L:return this.parseObject(e);case c.a.INT:return this._lexer.advance(),{kind:a.a.INT,value:t.value,loc:this.loc(t)};case c.a.FLOAT:return this._lexer.advance(),{kind:a.a.FLOAT,value:t.value,loc:this.loc(t)};case c.a.STRING:case c.a.BLOCK_STRING:return this.parseStringLiteral();case c.a.NAME:switch(this._lexer.advance(),t.value){case\"true\":return{kind:a.a.BOOLEAN,value:!0,loc:this.loc(t)};case\"false\":return{kind:a.a.BOOLEAN,value:!1,loc:this.loc(t)};case\"null\":return{kind:a.a.NULL,loc:this.loc(t)};default:return{kind:a.a.ENUM,value:t.value,loc:this.loc(t)}}case c.a.DOLLAR:if(!e)return this.parseVariable()}throw this.unexpected()},t.parseStringLiteral=function(){var e=this._lexer.token;return this._lexer.advance(),{kind:a.a.STRING,value:e.value,block:e.kind===c.a.BLOCK_STRING,loc:this.loc(e)}},t.parseList=function(e){var t=this,n=this._lexer.token;return{kind:a.a.LIST,values:this.any(c.a.BRACKET_L,(function(){return t.parseValueLiteral(e)}),c.a.BRACKET_R),loc:this.loc(n)}},t.parseObject=function(e){var t=this,n=this._lexer.token;return{kind:a.a.OBJECT,fields:this.any(c.a.BRACE_L,(function(){return t.parseObjectField(e)}),c.a.BRACE_R),loc:this.loc(n)}},t.parseObjectField=function(e){var t=this._lexer.token,n=this.parseName();return this.expectToken(c.a.COLON),{kind:a.a.OBJECT_FIELD,name:n,value:this.parseValueLiteral(e),loc:this.loc(t)}},t.parseDirectives=function(e){for(var t=[];this.peek(c.a.AT);)t.push(this.parseDirective(e));return t},t.parseDirective=function(e){var t=this._lexer.token;return this.expectToken(c.a.AT),{kind:a.a.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e),loc:this.loc(t)}},t.parseTypeReference=function(){var e,t=this._lexer.token;return this.expectOptionalToken(c.a.BRACKET_L)?(e=this.parseTypeReference(),this.expectToken(c.a.BRACKET_R),e={kind:a.a.LIST_TYPE,type:e,loc:this.loc(t)}):e=this.parseNamedType(),this.expectOptionalToken(c.a.BANG)?{kind:a.a.NON_NULL_TYPE,type:e,loc:this.loc(t)}:e},t.parseNamedType=function(){var e=this._lexer.token;return{kind:a.a.NAMED_TYPE,name:this.parseName(),loc:this.loc(e)}},t.parseTypeSystemDefinition=function(){var e=this.peekDescription()?this._lexer.lookahead():this._lexer.token;if(e.kind===c.a.NAME)switch(e.value){case\"schema\":return this.parseSchemaDefinition();case\"scalar\":return this.parseScalarTypeDefinition();case\"type\":return this.parseObjectTypeDefinition();case\"interface\":return this.parseInterfaceTypeDefinition();case\"union\":return this.parseUnionTypeDefinition();case\"enum\":return this.parseEnumTypeDefinition();case\"input\":return this.parseInputObjectTypeDefinition();case\"directive\":return this.parseDirectiveDefinition()}throw this.unexpected(e)},t.peekDescription=function(){return this.peek(c.a.STRING)||this.peek(c.a.BLOCK_STRING)},t.parseDescription=function(){if(this.peekDescription())return this.parseStringLiteral()},t.parseSchemaDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword(\"schema\");var n=this.parseDirectives(!0),r=this.many(c.a.BRACE_L,this.parseOperationTypeDefinition,c.a.BRACE_R);return{kind:a.a.SCHEMA_DEFINITION,description:t,directives:n,operationTypes:r,loc:this.loc(e)}},t.parseOperationTypeDefinition=function(){var e=this._lexer.token,t=this.parseOperationType();this.expectToken(c.a.COLON);var n=this.parseNamedType();return{kind:a.a.OPERATION_TYPE_DEFINITION,operation:t,type:n,loc:this.loc(e)}},t.parseScalarTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword(\"scalar\");var n=this.parseName(),r=this.parseDirectives(!0);return{kind:a.a.SCALAR_TYPE_DEFINITION,description:t,name:n,directives:r,loc:this.loc(e)}},t.parseObjectTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword(\"type\");var n=this.parseName(),r=this.parseImplementsInterfaces(),i=this.parseDirectives(!0),o=this.parseFieldsDefinition();return{kind:a.a.OBJECT_TYPE_DEFINITION,description:t,name:n,interfaces:r,directives:i,fields:o,loc:this.loc(e)}},t.parseImplementsInterfaces=function(){var e=[];if(this.expectOptionalKeyword(\"implements\")){this.expectOptionalToken(c.a.AMP);do{var t;e.push(this.parseNamedType())}while(this.expectOptionalToken(c.a.AMP)||!0===(null===(t=this._options)||void 0===t?void 0:t.allowLegacySDLImplementsInterfaces)&&this.peek(c.a.NAME))}return e},t.parseFieldsDefinition=function(){var e;return!0===(null===(e=this._options)||void 0===e?void 0:e.allowLegacySDLEmptyFields)&&this.peek(c.a.BRACE_L)&&this._lexer.lookahead().kind===c.a.BRACE_R?(this._lexer.advance(),this._lexer.advance(),[]):this.optionalMany(c.a.BRACE_L,this.parseFieldDefinition,c.a.BRACE_R)},t.parseFieldDefinition=function(){var e=this._lexer.token,t=this.parseDescription(),n=this.parseName(),r=this.parseArgumentDefs();this.expectToken(c.a.COLON);var i=this.parseTypeReference(),o=this.parseDirectives(!0);return{kind:a.a.FIELD_DEFINITION,description:t,name:n,arguments:r,type:i,directives:o,loc:this.loc(e)}},t.parseArgumentDefs=function(){return this.optionalMany(c.a.PAREN_L,this.parseInputValueDef,c.a.PAREN_R)},t.parseInputValueDef=function(){var e=this._lexer.token,t=this.parseDescription(),n=this.parseName();this.expectToken(c.a.COLON);var r,i=this.parseTypeReference();this.expectOptionalToken(c.a.EQUALS)&&(r=this.parseValueLiteral(!0));var o=this.parseDirectives(!0);return{kind:a.a.INPUT_VALUE_DEFINITION,description:t,name:n,type:i,defaultValue:r,directives:o,loc:this.loc(e)}},t.parseInterfaceTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword(\"interface\");var n=this.parseName(),r=this.parseImplementsInterfaces(),i=this.parseDirectives(!0),o=this.parseFieldsDefinition();return{kind:a.a.INTERFACE_TYPE_DEFINITION,description:t,name:n,interfaces:r,directives:i,fields:o,loc:this.loc(e)}},t.parseUnionTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword(\"union\");var n=this.parseName(),r=this.parseDirectives(!0),i=this.parseUnionMemberTypes();return{kind:a.a.UNION_TYPE_DEFINITION,description:t,name:n,directives:r,types:i,loc:this.loc(e)}},t.parseUnionMemberTypes=function(){var e=[];if(this.expectOptionalToken(c.a.EQUALS)){this.expectOptionalToken(c.a.PIPE);do{e.push(this.parseNamedType())}while(this.expectOptionalToken(c.a.PIPE))}return e},t.parseEnumTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword(\"enum\");var n=this.parseName(),r=this.parseDirectives(!0),i=this.parseEnumValuesDefinition();return{kind:a.a.ENUM_TYPE_DEFINITION,description:t,name:n,directives:r,values:i,loc:this.loc(e)}},t.parseEnumValuesDefinition=function(){return this.optionalMany(c.a.BRACE_L,this.parseEnumValueDefinition,c.a.BRACE_R)},t.parseEnumValueDefinition=function(){var e=this._lexer.token,t=this.parseDescription(),n=this.parseName(),r=this.parseDirectives(!0);return{kind:a.a.ENUM_VALUE_DEFINITION,description:t,name:n,directives:r,loc:this.loc(e)}},t.parseInputObjectTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword(\"input\");var n=this.parseName(),r=this.parseDirectives(!0),i=this.parseInputFieldsDefinition();return{kind:a.a.INPUT_OBJECT_TYPE_DEFINITION,description:t,name:n,directives:r,fields:i,loc:this.loc(e)}},t.parseInputFieldsDefinition=function(){return this.optionalMany(c.a.BRACE_L,this.parseInputValueDef,c.a.BRACE_R)},t.parseTypeSystemExtension=function(){var e=this._lexer.lookahead();if(e.kind===c.a.NAME)switch(e.value){case\"schema\":return this.parseSchemaExtension();case\"scalar\":return this.parseScalarTypeExtension();case\"type\":return this.parseObjectTypeExtension();case\"interface\":return this.parseInterfaceTypeExtension();case\"union\":return this.parseUnionTypeExtension();case\"enum\":return this.parseEnumTypeExtension();case\"input\":return this.parseInputObjectTypeExtension()}throw this.unexpected(e)},t.parseSchemaExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"schema\");var t=this.parseDirectives(!0),n=this.optionalMany(c.a.BRACE_L,this.parseOperationTypeDefinition,c.a.BRACE_R);if(0===t.length&&0===n.length)throw this.unexpected();return{kind:a.a.SCHEMA_EXTENSION,directives:t,operationTypes:n,loc:this.loc(e)}},t.parseScalarTypeExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"scalar\");var t=this.parseName(),n=this.parseDirectives(!0);if(0===n.length)throw this.unexpected();return{kind:a.a.SCALAR_TYPE_EXTENSION,name:t,directives:n,loc:this.loc(e)}},t.parseObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"type\");var t=this.parseName(),n=this.parseImplementsInterfaces(),r=this.parseDirectives(!0),i=this.parseFieldsDefinition();if(0===n.length&&0===r.length&&0===i.length)throw this.unexpected();return{kind:a.a.OBJECT_TYPE_EXTENSION,name:t,interfaces:n,directives:r,fields:i,loc:this.loc(e)}},t.parseInterfaceTypeExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"interface\");var t=this.parseName(),n=this.parseImplementsInterfaces(),r=this.parseDirectives(!0),i=this.parseFieldsDefinition();if(0===n.length&&0===r.length&&0===i.length)throw this.unexpected();return{kind:a.a.INTERFACE_TYPE_EXTENSION,name:t,interfaces:n,directives:r,fields:i,loc:this.loc(e)}},t.parseUnionTypeExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"union\");var t=this.parseName(),n=this.parseDirectives(!0),r=this.parseUnionMemberTypes();if(0===n.length&&0===r.length)throw this.unexpected();return{kind:a.a.UNION_TYPE_EXTENSION,name:t,directives:n,types:r,loc:this.loc(e)}},t.parseEnumTypeExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"enum\");var t=this.parseName(),n=this.parseDirectives(!0),r=this.parseEnumValuesDefinition();if(0===n.length&&0===r.length)throw this.unexpected();return{kind:a.a.ENUM_TYPE_EXTENSION,name:t,directives:n,values:r,loc:this.loc(e)}},t.parseInputObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"input\");var t=this.parseName(),n=this.parseDirectives(!0),r=this.parseInputFieldsDefinition();if(0===n.length&&0===r.length)throw this.unexpected();return{kind:a.a.INPUT_OBJECT_TYPE_EXTENSION,name:t,directives:n,fields:r,loc:this.loc(e)}},t.parseDirectiveDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword(\"directive\"),this.expectToken(c.a.AT);var n=this.parseName(),r=this.parseArgumentDefs(),i=this.expectOptionalKeyword(\"repeatable\");this.expectKeyword(\"on\");var o=this.parseDirectiveLocations();return{kind:a.a.DIRECTIVE_DEFINITION,description:t,name:n,arguments:r,repeatable:i,locations:o,loc:this.loc(e)}},t.parseDirectiveLocations=function(){this.expectOptionalToken(c.a.PIPE);var e=[];do{e.push(this.parseDirectiveLocation())}while(this.expectOptionalToken(c.a.PIPE));return e},t.parseDirectiveLocation=function(){var e=this._lexer.token,t=this.parseName();if(void 0!==l.a[t.value])return t;throw this.unexpected(e)},t.loc=function(e){var t;if(!0!==(null===(t=this._options)||void 0===t?void 0:t.noLocation))return new s.a(e,this._lexer.lastToken,this._lexer.source)},t.peek=function(e){return this._lexer.token.kind===e},t.expectToken=function(e){var t=this._lexer.token;if(t.kind===e)return this._lexer.advance(),t;throw Object(o.a)(this._lexer.source,t.start,\"Expected \".concat(y(e),\", found \").concat(g(t),\".\"))},t.expectOptionalToken=function(e){var t=this._lexer.token;if(t.kind===e)return this._lexer.advance(),t},t.expectKeyword=function(e){var t=this._lexer.token;if(t.kind!==c.a.NAME||t.value!==e)throw Object(o.a)(this._lexer.source,t.start,'Expected \"'.concat(e,'\", found ').concat(g(t),\".\"));this._lexer.advance()},t.expectOptionalKeyword=function(e){var t=this._lexer.token;return t.kind===c.a.NAME&&t.value===e&&(this._lexer.advance(),!0)},t.unexpected=function(e){var t=null!=e?e:this._lexer.token;return Object(o.a)(this._lexer.source,t.start,\"Unexpected \".concat(g(t),\".\"))},t.any=function(e,t,n){this.expectToken(e);for(var r=[];!this.expectOptionalToken(n);)r.push(t.call(this));return r},t.optionalMany=function(e,t,n){if(this.expectOptionalToken(e)){var r=[];do{r.push(t.call(this))}while(!this.expectOptionalToken(n));return r}return[]},t.many=function(e,t,n){this.expectToken(e);var r=[];do{r.push(t.call(this))}while(!this.expectOptionalToken(n));return r},e}();function g(e){var t=e.value;return y(e.kind)+(null!=t?' \"'.concat(t,'\"'):\"\")}function y(e){return Object(p.b)(e)?'\"'.concat(e,'\"'):e}},function(e,t,n){\"use strict\";n.d(t,\"c\",(function(){return l})),n.d(t,\"a\",(function(){return f})),n.d(t,\"b\",(function(){return d}));var r=n(8),i=n(2),o=n(26),a=n(81),s=n(86),u=n(138),c=n(146);function l(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:u.a,l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new s.a(e),p=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{maxErrors:void 0};t||Object(r.a)(0,\"Must provide document.\"),Object(a.a)(e);var f=Object.freeze({}),d=[],h=new c.b(e,t,l,(function(e){if(null!=p.maxErrors&&d.length>=p.maxErrors)throw d.push(new i.a(\"Too many validation errors, error limit reached. Validation aborted.\")),f;d.push(e)})),m=Object(o.d)(n.map((function(e){return e(h)})));try{Object(o.c)(t,Object(s.b)(l,m))}catch(e){if(e!==f)throw e}return d}function p(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:u.b,r=[],i=new c.a(e,t,(function(e){r.push(e)})),a=n.map((function(e){return e(i)}));return Object(o.c)(e,Object(o.d)(a)),r}function f(e){var t=p(e);if(0!==t.length)throw new Error(t.map((function(e){return e.message})).join(\"\\n\\n\"))}function d(e,t){var n=p(e,t);if(0!==n.length)throw new Error(n.map((function(e){return e.message})).join(\"\\n\\n\"))}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return d}));var r=n(72),i=n(58),o=n(14),a=n(4),s=n(17),u=n(31),c=n(82),l=n(1),p=n(13),f=n(0);function d(e,t){if(Object(f.L)(t)){var n=d(e,t.ofType);return(null==n?void 0:n.kind)===l.a.NULL?null:n}if(null===e)return{kind:l.a.NULL};if(void 0===e)return null;if(Object(f.J)(t)){var m=t.ofType;if(Object(c.a)(e)){for(var g=[],y=0,v=Object(i.a)(e);y<v.length;y++){var b=d(v[y],m);null!=b&&g.push(b)}return{kind:l.a.LIST,values:g}}return d(e,m)}if(Object(f.F)(t)){if(!Object(u.a)(e))return null;for(var E=[],x=0,D=Object(o.a)(t.getFields());x<D.length;x++){var C=D[x],w=d(e[C.name],C.type);w&&E.push({kind:l.a.OBJECT_FIELD,name:{kind:l.a.NAME,value:C.name},value:w})}return{kind:l.a.OBJECT,fields:E}}if(Object(f.I)(t)){var S=t.serialize(e);if(null==S)return null;if(\"boolean\"==typeof S)return{kind:l.a.BOOLEAN,value:S};if(\"number\"==typeof S&&Object(r.a)(S)){var k=String(S);return h.test(k)?{kind:l.a.INT,value:k}:{kind:l.a.FLOAT,value:k}}if(\"string\"==typeof S)return Object(f.E)(t)?{kind:l.a.ENUM,value:S}:t===p.c&&h.test(S)?{kind:l.a.INT,value:S}:{kind:l.a.STRING,value:S};throw new TypeError(\"Cannot convert value to AST: \".concat(Object(a.a)(S),\".\"))}Object(s.a)(0,\"Unexpected input type: \"+Object(a.a)(t))}var h=/^-?(?:0|[1-9][0-9]*)$/},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(87),i=n(20),o=n(156),a=n(34);t.columnWidth=300,t.introspectionQuery=i.getIntrospectionQuery(),t.defaultQuery=\"# Write your query or mutation here\\n\",t.modalStyle={overlay:{zIndex:99999,backgroundColor:\"rgba(15,32,46,.9)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},content:{position:\"relative\",width:976,height:\"auto\",top:\"initial\",left:\"initial\",right:\"initial\",bottom:\"initial\",borderRadius:2,padding:0,border:\"none\",background:\"none\",boxShadow:\"0 1px 7px rgba(0,0,0,.2)\"}},t.getDefaultSession=function(e){return{id:r(),query:t.defaultQuery,variables:\"\",responses:a.List([]),endpoint:e,operationName:void 0,hasMutation:!1,hasSubscription:!1,hasQuery:!1,queryTypes:o.getQueryTypes(t.defaultQuery),subscriptionActive:!1,date:new Date,starred:!1,queryRunning:!1,operations:a.List([]),isReloadingSchema:!1,isSchemaPendingUpdate:!1,responseExtensions:{},queryVariablesActive:!1,endpointUnreachable:!1,editorFlex:1,variableEditorOpen:!1,variableEditorHeight:200,responseTracingOpen:!1,responseTracingHeight:300,docExplorerWidth:350,variableToType:a.Map({}),headers:\"\",file:void 0,isFile:!1,name:void 0,filePath:void 0,selectedUserToken:void 0,hasChanged:void 0,absolutePath:void 0,isSettingsTab:void 0,isConfigTab:void 0,currentQueryStartTime:void 0,currentQueryEndTime:void 0,nextQueryStartTime:void 0,tracingSupported:void 0,changed:void 0,scrollTop:void 0}}},function(e,t,n){\"use strict\";var r,i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e},o=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,\"__esModule\",{value:!0});var a,s,u,c=n(3),l=n(11),p=l.styled.div(a||(a=i([\"\\n  /* Comment */\\n  .cm-comment {\\n    color: \",\";\\n  }\\n\\n  /* Punctuation */\\n  .cm-punctuation {\\n    color: \",\";\\n  }\\n\\n  /* Proppery */\\n  .cm-property {\\n    color: \",\";\\n  }\\n\\n  /* Keyword */\\n  .cm-keyword {\\n    color: \",\";\\n  }\\n\\n  /* OperationName, FragmentName */\\n  .cm-def {\\n    color: \",\";\\n  }\\n\\n  /* FieldAlias */\\n  .cm-qualifier {\\n    color: \",\";\\n  }\\n\\n  /* ArgumentName and ObjectFieldName */\\n  .cm-attribute {\\n    color: \",\";\\n  }\\n\\n  /* Number */\\n  .cm-number {\\n    color: \",\";\\n  }\\n\\n  /* String */\\n  .cm-string {\\n    color: \",\";\\n  }\\n\\n  /* Boolean */\\n  .cm-builtin {\\n    color: \",\";\\n  }\\n\\n  /* EnumValue */\\n  .cm-string-2 {\\n    color: \",\";\\n  }\\n\\n  /* Variable */\\n  .cm-variable {\\n    color: \",\";\\n  }\\n\\n  /* Directive */\\n  .cm-meta {\\n    color: \",\";\\n  }\\n\\n  /* Type */\\n  .cm-atom {\\n    color: \",\";\\n  }\\n\\n  /* Comma */\\n  .cm-ws {\\n    color: \",\";\\n  }\\n  position: relative;\\n  display: flex;\\n  flex: 1 1 0%;\\n  flex-flow: column;\\n\\n  .CodeMirror {\\n    color: rgba(255, 255, 255, 0.3);\\n    font-family: \",\";\\n    font-size: \",\";\\n    height: 100%;\\n    left: 0;\\n    position: absolute;\\n    top: 0;\\n    width: 100%;\\n  }\\n\\n  .CodeMirror-lines {\\n    padding: 20px 0;\\n  }\\n\\n  .CodeMirror-gutters {\\n    border-right: none;\\n  }\\n\\n  .CodeMirror span[role='presentation'] {\\n    color: \",\";\\n  }\\n\\n  /* CURSOR */\\n\\n  .CodeMirror div.CodeMirror-cursor {\\n    background: \",\";\\n    border-left: \",\";\\n    border-bottom: \",\";\\n  }\\n  /* Shown when moving in bi-directional text */\\n  .CodeMirror div.CodeMirror-secondarycursor {\\n    border-left: 1px solid silver;\\n  }\\n  .CodeMirror.cm-fat-cursor div.CodeMirror-cursor {\\n    background: rgba(255, 255, 255, 0.6);\\n    color: white;\\n    border: 0;\\n    width: auto;\\n  }\\n  .CodeMirror.cm-fat-cursor div.CodeMirror-cursors {\\n    z-index: 1;\\n  }\\n\\n  .cm-animate-fat-cursor {\\n    -webkit-animation: blink 1.06s steps(1) infinite;\\n    animation: blink 1.06s steps(1) infinite;\\n    border: 0;\\n    width: auto;\\n  }\\n  @-webkit-keyframes blink {\\n    0% {\\n      background: #7e7;\\n    }\\n    50% {\\n      background: none;\\n    }\\n    100% {\\n      background: #7e7;\\n    }\\n  }\\n  @keyframes blink {\\n    0% {\\n      background: #7e7;\\n    }\\n    50% {\\n      background: none;\\n    }\\n    100% {\\n      background: #7e7;\\n    }\\n  }\\n\\n  .CodeMirror-foldmarker {\\n    border-radius: 4px;\\n    background: #08f;\\n    background: linear-gradient(#43a8ff, #0f83e8);\\n    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.1);\\n    color: white;\\n    font-family: arial;\\n    font-size: 12px;\\n    line-height: 0;\\n    margin: 0 3px;\\n    padding: 0px 4px 1px;\\n    text-shadow: 0 -1px rgba(0, 0, 0, 0.1);\\n  }\\n\\n  div.CodeMirror span.CodeMirror-matchingbracket {\\n    /* color: rgba(255, 255, 255, 0.4); */\\n    text-decoration: underline;\\n  }\\n\\n  div.CodeMirror span.CodeMirror-nonmatchingbracket {\\n    color: rgb(242, 92, 84);\\n  }\\n\\n  .toolbar-button {\\n    background: #fdfdfd;\\n    background: linear-gradient(#fbfbfb, #f8f8f8);\\n    border-color: #d3d3d3 #d0d0d0 #bababa;\\n    border-radius: 4px;\\n    border-style: solid;\\n    border-width: 0.5px;\\n    box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.13), inset 0 1px #fff;\\n    color: #444;\\n    cursor: pointer;\\n    display: inline-block;\\n    margin: 0 5px 0;\\n    padding: 2px 8px 4px;\\n    text-decoration: none;\\n  }\\n  .toolbar-button:active {\\n    background: linear-gradient(#ececec, #d8d8d8);\\n    border-color: #cacaca #c9c9c9 #b0b0b0;\\n    box-shadow: 0 1px 0 #fff, inset 0 1px rgba(255, 255, 255, 0.2),\\n      inset 0 1px 1px rgba(0, 0, 0, 0.08);\\n  }\\n  .toolbar-button.error {\\n    background: linear-gradient(#fdf3f3, #e6d6d7);\\n    color: #b00;\\n  }\\n\\n  .autoInsertedLeaf.cm-property {\\n    -webkit-animation-duration: 6s;\\n    animation-duration: 6s;\\n    -webkit-animation-name: insertionFade;\\n    animation-name: insertionFade;\\n    border-bottom: 2px solid rgba(255, 255, 255, 0);\\n    border-radius: 2px;\\n    margin: -2px -4px -1px;\\n    padding: 2px 4px 1px;\\n  }\\n\\n  @-webkit-keyframes insertionFade {\\n    from,\\n    to {\\n      background: rgba(255, 255, 255, 0);\\n      border-color: rgba(255, 255, 255, 0);\\n    }\\n\\n    15%,\\n    85% {\\n      background: #fbffc9;\\n      border-color: #f0f3c0;\\n    }\\n  }\\n\\n  @keyframes insertionFade {\\n    from,\\n    to {\\n      background: rgba(255, 255, 255, 0);\\n      border-color: rgba(255, 255, 255, 0);\\n    }\\n\\n    15%,\\n    85% {\\n      background: #fbffc9;\\n      border-color: #f0f3c0;\\n    }\\n  }\\n\\n  .CodeMirror pre {\\n    padding: 0 4px; /* Horizontal padding of content */\\n  }\\n\\n  .CodeMirror-scrollbar-filler,\\n  .CodeMirror-gutter-filler {\\n    background-color: white; /* The little square between H and V scrollbars */\\n  }\\n\\n  /* GUTTER */\\n\\n  .CodeMirror-gutters {\\n    background-color: transparent;\\n    border: none;\\n    white-space: nowrap;\\n  }\\n  .CodeMirror-linenumbers {\\n    background: \",\";\\n  }\\n  .CodeMirror-linenumber {\\n    font-family: Open Sans, sans-serif;\\n    font-weight: 600;\\n    font-size: \",\";\\n    color: \",\";\\n    min-width: 20px;\\n    padding: 0 3px 0 5px;\\n    text-align: right;\\n    white-space: nowrap;\\n  }\\n\\n  .CodeMirror-guttermarker {\\n    color: black;\\n  }\\n  .CodeMirror-guttermarker-subtle {\\n    color: #999;\\n  }\\n\\n  .cm-tab {\\n    display: inline-block;\\n    text-decoration: inherit;\\n  }\\n\\n  .CodeMirror-ruler {\\n    border-left: 1px solid #ccc;\\n    position: absolute;\\n  }\\n  .cm-negative {\\n    color: #d44;\\n  }\\n  .cm-positive {\\n    color: #292;\\n  }\\n  .cm-header,\\n  .cm-strong {\\n    font-weight: bold;\\n  }\\n  .cm-em {\\n    font-style: italic;\\n  }\\n  .cm-link {\\n    text-decoration: underline;\\n  }\\n  .cm-strikethrough {\\n    text-decoration: line-through;\\n  }\\n\\n  .cm-s-default .cm-error {\\n    color: #f00;\\n  }\\n  .cm-invalidchar {\\n    color: #f00;\\n  }\\n\\n  .CodeMirror-composing {\\n    border-bottom: 2px solid;\\n  }\\n  .CodeMirror-matchingtag {\\n    background: rgba(255, 150, 0, 0.3);\\n  }\\n  .CodeMirror-activeline-background {\\n    background: #e8f2ff;\\n  }\\n\\n  /* The rest of this file contains styles related to the mechanics of\\n   the editor. You probably shouldn't touch them. */\\n\\n  .CodeMirror {\\n    background: white;\\n    overflow: hidden;\\n    line-height: 1.6;\\n  }\\n\\n  .CodeMirror-scroll {\\n    height: 100%;\\n    /* 30px is the magic margin used to hide the element's real scrollbars */\\n    /* See overflow: hidden in .CodeMirror */\\n    /* margin-bottom: -30px;\\n    margin-right: -30px; */\\n    outline: none; /* Prevent dragging from highlighting the element */\\n    overflow: hidden;\\n    /* padding-bottom: 30px; */\\n    position: relative;\\n    &:hover {\\n      overflow: scroll !important;\\n    }\\n  }\\n  .CodeMirror-sizer {\\n    border-right: 30px solid transparent;\\n    position: relative;\\n  }\\n\\n  /* The fake, visible scrollbars. Used to force redraw during scrolling\\n   before actual scrolling happens, thus preventing shaking and\\n   flickering artifacts. */\\n  .CodeMirror-vscrollbar,\\n  .CodeMirror-hscrollbar,\\n  .CodeMirror-scrollbar-filler,\\n  .CodeMirror-gutter-filler {\\n    display: none !important;\\n    position: absolute;\\n    z-index: 6;\\n  }\\n  .CodeMirror-vscrollbar {\\n    overflow-x: hidden;\\n    overflow-y: scroll;\\n    right: 0;\\n    top: 0;\\n  }\\n  .CodeMirror-hscrollbar {\\n    bottom: 0;\\n    left: 0;\\n    overflow-x: scroll;\\n    overflow-y: hidden;\\n  }\\n  .CodeMirror-scrollbar-filler {\\n    right: 0;\\n    bottom: 0;\\n  }\\n  .CodeMirror-gutter-filler {\\n    left: 0;\\n    bottom: 0;\\n  }\\n\\n  .CodeMirror-gutters {\\n    min-height: 100%;\\n    position: absolute;\\n    left: 0;\\n    top: 0;\\n    z-index: 3;\\n    margin-left: 3px;\\n  }\\n  .CodeMirror-gutter {\\n    display: inline-block;\\n    height: 100%;\\n    margin-bottom: -30px;\\n    vertical-align: top;\\n    white-space: normal;\\n    /* Hack to make IE7 behave */\\n    *zoom: 1;\\n    *display: inline;\\n  }\\n  .CodeMirror-gutter-wrapper {\\n    background: none !important;\\n    border: none !important;\\n    position: absolute;\\n    z-index: 4;\\n  }\\n  .CodeMirror-gutter-background {\\n    position: absolute;\\n    top: 0;\\n    bottom: 0;\\n    z-index: 4;\\n  }\\n  .CodeMirror-gutter-elt {\\n    cursor: default;\\n    position: absolute;\\n    z-index: 4;\\n  }\\n  .CodeMirror-gutter-wrapper {\\n    -webkit-user-select: none;\\n    -moz-user-select: none;\\n    -ms-user-select: none;\\n    user-select: none;\\n  }\\n\\n  .CodeMirror-lines {\\n    cursor: text;\\n    min-height: 1px; /* prevents collapsing before first draw */\\n  }\\n  .CodeMirror pre {\\n    -webkit-tap-highlight-color: transparent;\\n    /* Reset some styles that the rest of the page might have set */\\n    background: transparent;\\n    border-radius: 0;\\n    border-width: 0;\\n    color: inherit;\\n    font-family: inherit;\\n    font-size: inherit;\\n    -webkit-font-variant-ligatures: none;\\n    font-variant-ligatures: none;\\n    line-height: inherit;\\n    margin: 0;\\n    overflow: visible;\\n    position: relative;\\n    white-space: pre;\\n    word-wrap: normal;\\n    z-index: 2;\\n  }\\n  .CodeMirror-wrap pre {\\n    word-wrap: break-word;\\n    white-space: pre-wrap;\\n    word-break: normal;\\n  }\\n\\n  .CodeMirror-linebackground {\\n    position: absolute;\\n    left: 0;\\n    right: 0;\\n    top: 0;\\n    bottom: 0;\\n    z-index: 0;\\n  }\\n\\n  .CodeMirror-linewidget {\\n    overflow: auto;\\n    position: relative;\\n    z-index: 2;\\n  }\\n\\n  .CodeMirror-widget {\\n  }\\n\\n  .CodeMirror-code {\\n    outline: none;\\n  }\\n\\n  /* Force content-box sizing for the elements where we expect it */\\n  .CodeMirror-scroll,\\n  .CodeMirror-sizer,\\n  .CodeMirror-gutter,\\n  .CodeMirror-gutters,\\n  .CodeMirror-linenumber {\\n    box-sizing: content-box;\\n  }\\n\\n  .CodeMirror-measure {\\n    height: 0;\\n    overflow: hidden;\\n    position: absolute;\\n    visibility: hidden;\\n    width: 100%;\\n  }\\n\\n  .CodeMirror-cursor {\\n    position: absolute;\\n  }\\n  .CodeMirror-measure pre {\\n    position: static;\\n  }\\n\\n  div.CodeMirror-cursors {\\n    position: relative;\\n    visibility: hidden;\\n    z-index: 3;\\n  }\\n  div.CodeMirror-dragcursors {\\n    visibility: visible;\\n  }\\n\\n  .CodeMirror-focused div.CodeMirror-cursors {\\n    visibility: visible;\\n  }\\n\\n  .CodeMirror-selected {\\n    background: \",\";\\n  }\\n  .CodeMirror-focused .CodeMirror-selected {\\n    background: \",\";\\n  }\\n  .CodeMirror-crosshair {\\n    cursor: crosshair;\\n  }\\n  .CodeMirror-line::-moz-selection,\\n  .CodeMirror-line > span::-moz-selection,\\n  .CodeMirror-line > span > span::-moz-selection {\\n    background: \",\";\\n  }\\n  .CodeMirror-line::selection,\\n  .CodeMirror-line > span::selection,\\n  .CodeMirror-line > span > span::selection {\\n    background: \",\";\\n  }\\n  .CodeMirror-line::-moz-selection,\\n  .CodeMirror-line > span::-moz-selection,\\n  .CodeMirror-line > span > span::-moz-selection {\\n    background: \",\";\\n  }\\n\\n  .cm-searching {\\n    background: #ffa;\\n    background: rgba(255, 255, 0, 0.4);\\n  }\\n\\n  /* IE7 hack to prevent it from returning funny offsetTops on the spans */\\n  .CodeMirror span {\\n    *vertical-align: text-bottom;\\n  }\\n\\n  /* Used to force a border model for a node */\\n  .cm-force-border {\\n    padding-right: 0.1px;\\n  }\\n\\n  @media print {\\n    /* Hide the cursor when printing */\\n    .CodeMirror div.CodeMirror-cursors {\\n      visibility: hidden;\\n    }\\n  }\\n\\n  /* See issue #2901 */\\n  .cm-tab-wrap-hack:after {\\n    content: '';\\n  }\\n\\n  /* Help users use markselection to safely style text background */\\n  span.CodeMirror-selectedtext {\\n    background: none;\\n  }\\n\\n  .CodeMirror-dialog {\\n    background: inherit;\\n    color: inherit;\\n    left: 0;\\n    right: 0;\\n    overflow: hidden;\\n    padding: 0.1em 0.8em;\\n    position: absolute;\\n    z-index: 15;\\n  }\\n\\n  .CodeMirror-dialog-top {\\n    border-bottom: 1px solid #eee;\\n    top: 0;\\n  }\\n\\n  .CodeMirror-dialog-bottom {\\n    border-top: 1px solid #eee;\\n    bottom: 0;\\n  }\\n\\n  .CodeMirror-dialog input {\\n    background: transparent;\\n    border: 1px solid #d3d6db;\\n    color: inherit;\\n    font-family: monospace;\\n    outline: none;\\n    width: 20em;\\n  }\\n\\n  .CodeMirror-dialog button {\\n    font-size: 70%;\\n  }\\n\\n  .CodeMirror-foldgutter {\\n    width: 0.7em;\\n  }\\n  .CodeMirror-foldgutter-open,\\n  .CodeMirror-foldgutter-folded {\\n    cursor: pointer;\\n  }\\n  .CodeMirror-foldgutter-open:after {\\n    content: '▾';\\n  }\\n  .CodeMirror-foldgutter-folded:after {\\n    content: '▸';\\n  }\\n  /* The lint marker gutter */\\n  .CodeMirror-lint-markers {\\n    width: 16px;\\n  }\\n\\n  .CodeMirror-jump-token {\\n    cursor: pointer;\\n    text-decoration: underline;\\n  }\\n\"],[\"\\n  /* Comment */\\n  .cm-comment {\\n    color: \",\";\\n  }\\n\\n  /* Punctuation */\\n  .cm-punctuation {\\n    color: \",\";\\n  }\\n\\n  /* Proppery */\\n  .cm-property {\\n    color: \",\";\\n  }\\n\\n  /* Keyword */\\n  .cm-keyword {\\n    color: \",\";\\n  }\\n\\n  /* OperationName, FragmentName */\\n  .cm-def {\\n    color: \",\";\\n  }\\n\\n  /* FieldAlias */\\n  .cm-qualifier {\\n    color: \",\";\\n  }\\n\\n  /* ArgumentName and ObjectFieldName */\\n  .cm-attribute {\\n    color: \",\";\\n  }\\n\\n  /* Number */\\n  .cm-number {\\n    color: \",\";\\n  }\\n\\n  /* String */\\n  .cm-string {\\n    color: \",\";\\n  }\\n\\n  /* Boolean */\\n  .cm-builtin {\\n    color: \",\";\\n  }\\n\\n  /* EnumValue */\\n  .cm-string-2 {\\n    color: \",\";\\n  }\\n\\n  /* Variable */\\n  .cm-variable {\\n    color: \",\";\\n  }\\n\\n  /* Directive */\\n  .cm-meta {\\n    color: \",\";\\n  }\\n\\n  /* Type */\\n  .cm-atom {\\n    color: \",\";\\n  }\\n\\n  /* Comma */\\n  .cm-ws {\\n    color: \",\";\\n  }\\n  position: relative;\\n  display: flex;\\n  flex: 1 1 0%;\\n  flex-flow: column;\\n\\n  .CodeMirror {\\n    color: rgba(255, 255, 255, 0.3);\\n    font-family: \",\";\\n    font-size: \",\";\\n    height: 100%;\\n    left: 0;\\n    position: absolute;\\n    top: 0;\\n    width: 100%;\\n  }\\n\\n  .CodeMirror-lines {\\n    padding: 20px 0;\\n  }\\n\\n  .CodeMirror-gutters {\\n    border-right: none;\\n  }\\n\\n  .CodeMirror span[role='presentation'] {\\n    color: \",\";\\n  }\\n\\n  /* CURSOR */\\n\\n  .CodeMirror div.CodeMirror-cursor {\\n    background: \",\";\\n    border-left: \",\";\\n    border-bottom: \",\";\\n  }\\n  /* Shown when moving in bi-directional text */\\n  .CodeMirror div.CodeMirror-secondarycursor {\\n    border-left: 1px solid silver;\\n  }\\n  .CodeMirror.cm-fat-cursor div.CodeMirror-cursor {\\n    background: rgba(255, 255, 255, 0.6);\\n    color: white;\\n    border: 0;\\n    width: auto;\\n  }\\n  .CodeMirror.cm-fat-cursor div.CodeMirror-cursors {\\n    z-index: 1;\\n  }\\n\\n  .cm-animate-fat-cursor {\\n    -webkit-animation: blink 1.06s steps(1) infinite;\\n    animation: blink 1.06s steps(1) infinite;\\n    border: 0;\\n    width: auto;\\n  }\\n  @-webkit-keyframes blink {\\n    0% {\\n      background: #7e7;\\n    }\\n    50% {\\n      background: none;\\n    }\\n    100% {\\n      background: #7e7;\\n    }\\n  }\\n  @keyframes blink {\\n    0% {\\n      background: #7e7;\\n    }\\n    50% {\\n      background: none;\\n    }\\n    100% {\\n      background: #7e7;\\n    }\\n  }\\n\\n  .CodeMirror-foldmarker {\\n    border-radius: 4px;\\n    background: #08f;\\n    background: linear-gradient(#43a8ff, #0f83e8);\\n    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.1);\\n    color: white;\\n    font-family: arial;\\n    font-size: 12px;\\n    line-height: 0;\\n    margin: 0 3px;\\n    padding: 0px 4px 1px;\\n    text-shadow: 0 -1px rgba(0, 0, 0, 0.1);\\n  }\\n\\n  div.CodeMirror span.CodeMirror-matchingbracket {\\n    /* color: rgba(255, 255, 255, 0.4); */\\n    text-decoration: underline;\\n  }\\n\\n  div.CodeMirror span.CodeMirror-nonmatchingbracket {\\n    color: rgb(242, 92, 84);\\n  }\\n\\n  .toolbar-button {\\n    background: #fdfdfd;\\n    background: linear-gradient(#fbfbfb, #f8f8f8);\\n    border-color: #d3d3d3 #d0d0d0 #bababa;\\n    border-radius: 4px;\\n    border-style: solid;\\n    border-width: 0.5px;\\n    box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.13), inset 0 1px #fff;\\n    color: #444;\\n    cursor: pointer;\\n    display: inline-block;\\n    margin: 0 5px 0;\\n    padding: 2px 8px 4px;\\n    text-decoration: none;\\n  }\\n  .toolbar-button:active {\\n    background: linear-gradient(#ececec, #d8d8d8);\\n    border-color: #cacaca #c9c9c9 #b0b0b0;\\n    box-shadow: 0 1px 0 #fff, inset 0 1px rgba(255, 255, 255, 0.2),\\n      inset 0 1px 1px rgba(0, 0, 0, 0.08);\\n  }\\n  .toolbar-button.error {\\n    background: linear-gradient(#fdf3f3, #e6d6d7);\\n    color: #b00;\\n  }\\n\\n  .autoInsertedLeaf.cm-property {\\n    -webkit-animation-duration: 6s;\\n    animation-duration: 6s;\\n    -webkit-animation-name: insertionFade;\\n    animation-name: insertionFade;\\n    border-bottom: 2px solid rgba(255, 255, 255, 0);\\n    border-radius: 2px;\\n    margin: -2px -4px -1px;\\n    padding: 2px 4px 1px;\\n  }\\n\\n  @-webkit-keyframes insertionFade {\\n    from,\\n    to {\\n      background: rgba(255, 255, 255, 0);\\n      border-color: rgba(255, 255, 255, 0);\\n    }\\n\\n    15%,\\n    85% {\\n      background: #fbffc9;\\n      border-color: #f0f3c0;\\n    }\\n  }\\n\\n  @keyframes insertionFade {\\n    from,\\n    to {\\n      background: rgba(255, 255, 255, 0);\\n      border-color: rgba(255, 255, 255, 0);\\n    }\\n\\n    15%,\\n    85% {\\n      background: #fbffc9;\\n      border-color: #f0f3c0;\\n    }\\n  }\\n\\n  .CodeMirror pre {\\n    padding: 0 4px; /* Horizontal padding of content */\\n  }\\n\\n  .CodeMirror-scrollbar-filler,\\n  .CodeMirror-gutter-filler {\\n    background-color: white; /* The little square between H and V scrollbars */\\n  }\\n\\n  /* GUTTER */\\n\\n  .CodeMirror-gutters {\\n    background-color: transparent;\\n    border: none;\\n    white-space: nowrap;\\n  }\\n  .CodeMirror-linenumbers {\\n    background: \",\";\\n  }\\n  .CodeMirror-linenumber {\\n    font-family: Open Sans, sans-serif;\\n    font-weight: 600;\\n    font-size: \",\";\\n    color: \",\";\\n    min-width: 20px;\\n    padding: 0 3px 0 5px;\\n    text-align: right;\\n    white-space: nowrap;\\n  }\\n\\n  .CodeMirror-guttermarker {\\n    color: black;\\n  }\\n  .CodeMirror-guttermarker-subtle {\\n    color: #999;\\n  }\\n\\n  .cm-tab {\\n    display: inline-block;\\n    text-decoration: inherit;\\n  }\\n\\n  .CodeMirror-ruler {\\n    border-left: 1px solid #ccc;\\n    position: absolute;\\n  }\\n  .cm-negative {\\n    color: #d44;\\n  }\\n  .cm-positive {\\n    color: #292;\\n  }\\n  .cm-header,\\n  .cm-strong {\\n    font-weight: bold;\\n  }\\n  .cm-em {\\n    font-style: italic;\\n  }\\n  .cm-link {\\n    text-decoration: underline;\\n  }\\n  .cm-strikethrough {\\n    text-decoration: line-through;\\n  }\\n\\n  .cm-s-default .cm-error {\\n    color: #f00;\\n  }\\n  .cm-invalidchar {\\n    color: #f00;\\n  }\\n\\n  .CodeMirror-composing {\\n    border-bottom: 2px solid;\\n  }\\n  .CodeMirror-matchingtag {\\n    background: rgba(255, 150, 0, 0.3);\\n  }\\n  .CodeMirror-activeline-background {\\n    background: #e8f2ff;\\n  }\\n\\n  /* The rest of this file contains styles related to the mechanics of\\n   the editor. You probably shouldn't touch them. */\\n\\n  .CodeMirror {\\n    background: white;\\n    overflow: hidden;\\n    line-height: 1.6;\\n  }\\n\\n  .CodeMirror-scroll {\\n    height: 100%;\\n    /* 30px is the magic margin used to hide the element's real scrollbars */\\n    /* See overflow: hidden in .CodeMirror */\\n    /* margin-bottom: -30px;\\n    margin-right: -30px; */\\n    outline: none; /* Prevent dragging from highlighting the element */\\n    overflow: hidden;\\n    /* padding-bottom: 30px; */\\n    position: relative;\\n    &:hover {\\n      overflow: scroll !important;\\n    }\\n  }\\n  .CodeMirror-sizer {\\n    border-right: 30px solid transparent;\\n    position: relative;\\n  }\\n\\n  /* The fake, visible scrollbars. Used to force redraw during scrolling\\n   before actual scrolling happens, thus preventing shaking and\\n   flickering artifacts. */\\n  .CodeMirror-vscrollbar,\\n  .CodeMirror-hscrollbar,\\n  .CodeMirror-scrollbar-filler,\\n  .CodeMirror-gutter-filler {\\n    display: none !important;\\n    position: absolute;\\n    z-index: 6;\\n  }\\n  .CodeMirror-vscrollbar {\\n    overflow-x: hidden;\\n    overflow-y: scroll;\\n    right: 0;\\n    top: 0;\\n  }\\n  .CodeMirror-hscrollbar {\\n    bottom: 0;\\n    left: 0;\\n    overflow-x: scroll;\\n    overflow-y: hidden;\\n  }\\n  .CodeMirror-scrollbar-filler {\\n    right: 0;\\n    bottom: 0;\\n  }\\n  .CodeMirror-gutter-filler {\\n    left: 0;\\n    bottom: 0;\\n  }\\n\\n  .CodeMirror-gutters {\\n    min-height: 100%;\\n    position: absolute;\\n    left: 0;\\n    top: 0;\\n    z-index: 3;\\n    margin-left: 3px;\\n  }\\n  .CodeMirror-gutter {\\n    display: inline-block;\\n    height: 100%;\\n    margin-bottom: -30px;\\n    vertical-align: top;\\n    white-space: normal;\\n    /* Hack to make IE7 behave */\\n    *zoom: 1;\\n    *display: inline;\\n  }\\n  .CodeMirror-gutter-wrapper {\\n    background: none !important;\\n    border: none !important;\\n    position: absolute;\\n    z-index: 4;\\n  }\\n  .CodeMirror-gutter-background {\\n    position: absolute;\\n    top: 0;\\n    bottom: 0;\\n    z-index: 4;\\n  }\\n  .CodeMirror-gutter-elt {\\n    cursor: default;\\n    position: absolute;\\n    z-index: 4;\\n  }\\n  .CodeMirror-gutter-wrapper {\\n    -webkit-user-select: none;\\n    -moz-user-select: none;\\n    -ms-user-select: none;\\n    user-select: none;\\n  }\\n\\n  .CodeMirror-lines {\\n    cursor: text;\\n    min-height: 1px; /* prevents collapsing before first draw */\\n  }\\n  .CodeMirror pre {\\n    -webkit-tap-highlight-color: transparent;\\n    /* Reset some styles that the rest of the page might have set */\\n    background: transparent;\\n    border-radius: 0;\\n    border-width: 0;\\n    color: inherit;\\n    font-family: inherit;\\n    font-size: inherit;\\n    -webkit-font-variant-ligatures: none;\\n    font-variant-ligatures: none;\\n    line-height: inherit;\\n    margin: 0;\\n    overflow: visible;\\n    position: relative;\\n    white-space: pre;\\n    word-wrap: normal;\\n    z-index: 2;\\n  }\\n  .CodeMirror-wrap pre {\\n    word-wrap: break-word;\\n    white-space: pre-wrap;\\n    word-break: normal;\\n  }\\n\\n  .CodeMirror-linebackground {\\n    position: absolute;\\n    left: 0;\\n    right: 0;\\n    top: 0;\\n    bottom: 0;\\n    z-index: 0;\\n  }\\n\\n  .CodeMirror-linewidget {\\n    overflow: auto;\\n    position: relative;\\n    z-index: 2;\\n  }\\n\\n  .CodeMirror-widget {\\n  }\\n\\n  .CodeMirror-code {\\n    outline: none;\\n  }\\n\\n  /* Force content-box sizing for the elements where we expect it */\\n  .CodeMirror-scroll,\\n  .CodeMirror-sizer,\\n  .CodeMirror-gutter,\\n  .CodeMirror-gutters,\\n  .CodeMirror-linenumber {\\n    box-sizing: content-box;\\n  }\\n\\n  .CodeMirror-measure {\\n    height: 0;\\n    overflow: hidden;\\n    position: absolute;\\n    visibility: hidden;\\n    width: 100%;\\n  }\\n\\n  .CodeMirror-cursor {\\n    position: absolute;\\n  }\\n  .CodeMirror-measure pre {\\n    position: static;\\n  }\\n\\n  div.CodeMirror-cursors {\\n    position: relative;\\n    visibility: hidden;\\n    z-index: 3;\\n  }\\n  div.CodeMirror-dragcursors {\\n    visibility: visible;\\n  }\\n\\n  .CodeMirror-focused div.CodeMirror-cursors {\\n    visibility: visible;\\n  }\\n\\n  .CodeMirror-selected {\\n    background: \",\";\\n  }\\n  .CodeMirror-focused .CodeMirror-selected {\\n    background: \",\";\\n  }\\n  .CodeMirror-crosshair {\\n    cursor: crosshair;\\n  }\\n  .CodeMirror-line::-moz-selection,\\n  .CodeMirror-line > span::-moz-selection,\\n  .CodeMirror-line > span > span::-moz-selection {\\n    background: \",\";\\n  }\\n  .CodeMirror-line::selection,\\n  .CodeMirror-line > span::selection,\\n  .CodeMirror-line > span > span::selection {\\n    background: \",\";\\n  }\\n  .CodeMirror-line::-moz-selection,\\n  .CodeMirror-line > span::-moz-selection,\\n  .CodeMirror-line > span > span::-moz-selection {\\n    background: \",\";\\n  }\\n\\n  .cm-searching {\\n    background: #ffa;\\n    background: rgba(255, 255, 0, 0.4);\\n  }\\n\\n  /* IE7 hack to prevent it from returning funny offsetTops on the spans */\\n  .CodeMirror span {\\n    *vertical-align: text-bottom;\\n  }\\n\\n  /* Used to force a border model for a node */\\n  .cm-force-border {\\n    padding-right: 0.1px;\\n  }\\n\\n  @media print {\\n    /* Hide the cursor when printing */\\n    .CodeMirror div.CodeMirror-cursors {\\n      visibility: hidden;\\n    }\\n  }\\n\\n  /* See issue #2901 */\\n  .cm-tab-wrap-hack:after {\\n    content: '';\\n  }\\n\\n  /* Help users use markselection to safely style text background */\\n  span.CodeMirror-selectedtext {\\n    background: none;\\n  }\\n\\n  .CodeMirror-dialog {\\n    background: inherit;\\n    color: inherit;\\n    left: 0;\\n    right: 0;\\n    overflow: hidden;\\n    padding: 0.1em 0.8em;\\n    position: absolute;\\n    z-index: 15;\\n  }\\n\\n  .CodeMirror-dialog-top {\\n    border-bottom: 1px solid #eee;\\n    top: 0;\\n  }\\n\\n  .CodeMirror-dialog-bottom {\\n    border-top: 1px solid #eee;\\n    bottom: 0;\\n  }\\n\\n  .CodeMirror-dialog input {\\n    background: transparent;\\n    border: 1px solid #d3d6db;\\n    color: inherit;\\n    font-family: monospace;\\n    outline: none;\\n    width: 20em;\\n  }\\n\\n  .CodeMirror-dialog button {\\n    font-size: 70%;\\n  }\\n\\n  .CodeMirror-foldgutter {\\n    width: 0.7em;\\n  }\\n  .CodeMirror-foldgutter-open,\\n  .CodeMirror-foldgutter-folded {\\n    cursor: pointer;\\n  }\\n  .CodeMirror-foldgutter-open:after {\\n    content: '▾';\\n  }\\n  .CodeMirror-foldgutter-folded:after {\\n    content: '▸';\\n  }\\n  /* The lint marker gutter */\\n  .CodeMirror-lint-markers {\\n    width: 16px;\\n  }\\n\\n  .CodeMirror-jump-token {\\n    cursor: pointer;\\n    text-decoration: underline;\\n  }\\n\"])),(function(e){return e.theme.editorColours.comment}),(function(e){return e.theme.editorColours.punctuation}),(function(e){return e.theme.editorColours.property}),(function(e){return e.theme.editorColours.keyword}),(function(e){return e.theme.editorColours.def}),(function(e){return e.theme.editorColours.def}),(function(e){return e.theme.editorColours.attribute}),(function(e){return e.theme.editorColours.number}),(function(e){return e.theme.editorColours.string}),(function(e){return e.theme.editorColours.builtin}),(function(e){return e.theme.editorColours.string2}),(function(e){return e.theme.editorColours.variable}),(function(e){return e.theme.editorColours.meta}),(function(e){return e.theme.editorColours.atom}),(function(e){return e.theme.editorColours.ws}),(function(e){return e.theme.settings[\"editor.fontFamily\"]}),(function(e){return e.theme.settings[\"editor.fontSize\"]+\"px\"}),(function(e){return e.theme.colours.text}),(function(e){return\"block\"===e.theme.settings[\"editor.cursorShape\"]?e.theme.editorColours.cursorColor:\"transparent\"}),(function(e){return\"line\"===e.theme.settings[\"editor.cursorShape\"]?\"1px solid \"+e.theme.editorColours.cursorColor:0}),(function(e){return\"underline\"===e.theme.settings[\"editor.cursorShape\"]?\"1px solid \"+e.theme.editorColours.cursorColor:0}),(function(e){return e.theme.editorColours.editorBackground}),(function(e){return e.theme.settings[\"editor.fontSize\"]-2+\"px\"}),(function(e){return e.theme.colours.textInactive}),(function(e){return e.theme.editorColours.selection}),(function(e){return e.theme.editorColours.selection}),(function(e){return e.theme.editorColours.selection}),(function(e){return e.theme.editorColours.selection}),(function(e){return e.theme.editorColours.selection})),f=l.createGlobalStyle(s||(s=i(['\\n  *::-webkit-scrollbar {\\n    -webkit-appearance: none;\\n    width: 7px;\\n    height: 7px;\\n  }\\n  *::-webkit-scrollbar-track-piece {\\n    background-color: rgba(255, 255, 255, 0);\\n  }\\n  *::-webkit-scrollbar-track {\\n    background-color: inherit;\\n  }\\n  *::-webkit-scrollbar-thumb {\\n    max-height: 100px;\\n    border-radius: 3px;\\n    background-color: rgba(1, 1, 1, 0.23);\\n  }\\n  *::-webkit-scrollbar-thumb:hover {\\n    background-color: rgba(1, 1, 1, 0.35);\\n  }\\n  *::-webkit-scrollbar-thumb:active {\\n    background-color: rgba(1, 1, 1, 0.48);\\n  }\\n  *::-webkit-scrollbar-corner {\\n    background: rgba(0,0,0,0);\\n  }\\n\\n\\n  .CodeMirror-lint-tooltip, .CodeMirror-info {\\n    background-color: white;\\n    border-radius: 4px 4px 4px 4px;\\n    border: 1px solid black;\\n    color: #09141C;\\n    font-family: Open Sans, monospace;\\n    font-size: 14px;\\n    max-width: 600px;\\n    opacity: 0;\\n    overflow: hidden;\\n    padding: 12px 14px;\\n    position: fixed;\\n    -webkit-transition: opacity 0.4s;\\n    transition: opacity 0.4s;\\n    z-index: 100;\\n  }\\n\\n  .CodeMirror-lint-message-error,\\n  .CodeMirror-lint-message-warning {\\n    padding-left: 18px;\\n  }\\n\\n  .CodeMirror-lint-mark-error,\\n  .CodeMirror-lint-mark-warning {\\n    background-position: left bottom;\\n    background-repeat: repeat-x;\\n  }\\n\\n  .CodeMirror-lint-mark-error {\\n    background-image: url(\\'data:image/svg+xml;utf8,<svg width=\"5\" height=\"4\" viewBox=\"0 0 5 4\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n    <path d=\"M5 1.00954C4.87191 1.03474 4.75219 1.10989 4.674 1.235L3.87 2.52141C3.28249 3.46141 1.9135 3.46141 1.326 2.52141L0.521998 1.235C0.404356 1.04677 0.19271 0.971619 0 1.00954V0.00314821C0.0325855 0.00105209 0.0652291 2.68503e-06 0.0978728 5.14592e-09C0.0977892 -1.71531e-09 0.0979564 -1.71531e-09 0.0978728 5.14592e-09C0.586954 4.01563e-05 1.07627 0.235041 1.37 0.705002L2.174 1.99141C2.36983 2.30474 2.82616 2.30474 3.022 1.99141L3.826 0.705002C4.10012 0.266408 4.54438 0.0324569 5 0.00314818V1.00954Z\" fill=\"#FF4F56\"/>\\n    </svg>\\n    \\');\\n  }\\n\\n  .CodeMirror-lint-mark-warning {\\n    background-image: url(\\'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJFhQXEbhTg7YAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAMklEQVQI12NkgIIvJ3QXMjAwdDN+OaEbysDA4MPAwNDNwMCwiOHLCd1zX07o6kBVGQEAKBANtobskNMAAAAASUVORK5CYII=\\');\\n  }\\n\\n  .CodeMirror-lint-marker-error,\\n  .CodeMirror-lint-marker-warning {\\n    background-position: center center;\\n    background-repeat: no-repeat;\\n    cursor: pointer;\\n    display: inline-block;\\n    height: 16px;\\n    position: relative;\\n    vertical-align: middle;\\n    width: 16px;\\n  }\\n\\n  .CodeMirror-lint-message-error,\\n  .CodeMirror-lint-message-warning {\\n    background-position: top left;\\n    background-repeat: no-repeat;\\n    padding-left: 22px;\\n  }\\n\\n  .CodeMirror-lint-marker-error,\\n  .CodeMirror-lint-message-error {\\n    background-image: url(\\'data:image/svg+xml;utf8,<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n    <circle cx=\"8\" cy=\"8\" r=\"8\" fill=\"#FF4F56\"/>\\n    <path d=\"M4.2929 10.2928C3.90237 10.6833 3.90237 11.3164 4.29289 11.707C4.68341 12.0975 5.31657 12.0975 5.7071 11.707L4.2929 10.2928ZM11.7071 5.70711C12.0976 5.31659 12.0976 4.68343 11.7071 4.2929C11.3166 3.90237 10.6834 3.90237 10.2929 4.29289L11.7071 5.70711ZM5.7071 4.29301C5.31657 3.90249 4.68341 3.9025 4.29289 4.29302C3.90237 4.68355 3.90237 5.31672 4.2929 5.70724L5.7071 4.29301ZM10.2929 11.7071C10.6834 12.0976 11.3166 12.0976 11.7071 11.7071C12.0976 11.3166 12.0976 10.6834 11.7071 10.2929L10.2929 11.7071ZM5.7071 11.707L11.7071 5.70711L10.2929 4.29289L4.2929 10.2928L5.7071 11.707ZM4.2929 5.70724L10.2929 11.7071L11.7071 10.2929L5.7071 4.29301L4.2929 5.70724Z\" fill=\"white\"/>\\n    </svg>\\n    \\');\\n    background-position: 0 50%;\\n  }\\n\\n  .CodeMirror-lint-marker-warning,\\n  .CodeMirror-lint-message-warning {\\n    background-image: url(\\'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAANlBMVEX/uwDvrwD/uwD/uwD/uwD/uwD/uwD/uwD/uwD6twD/uwAAAADurwD2tQD7uAD+ugAAAAD/uwDhmeTRAAAADHRSTlMJ8mN1EYcbmiixgACm7WbuAAAAVklEQVR42n3PUQqAIBBFUU1LLc3u/jdbOJoW1P08DA9Gba8+YWJ6gNJoNYIBzAA2chBth5kLmG9YUoG0NHAUwFXwO9LuBQL1giCQb8gC9Oro2vp5rncCIY8L8uEx5ZkAAAAASUVORK5CYII=\\');\\n  }\\n\\n  .CodeMirror-lint-marker-multiple {\\n    background-image: url(\\'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAMAAADzjKfhAAAACVBMVEUAAAAAAAC/v7914kyHAAAAAXRSTlMAQObYZgAAACNJREFUeNo1ioEJAAAIwmz/H90iFFSGJgFMe3gaLZ0od+9/AQZ0ADosbYraAAAAAElFTkSuQmCC\\');\\n    background-position: right bottom;\\n    background-repeat: no-repeat;\\n    width: 100%;\\n    height: 100%;\\n  }\\n\\n  .CodeMirror-lint-mark-error {\\n    &:before {\\n      content: \\'\\';\\n      width: 50px;\\n      height: 14px;\\n      position: absolute;\\n      background: #FF4F56;\\n      left: -80px;\\n      top: 50%;\\n      transform: translateY(-50%);\\n      z-index: 10;\\n    }\\n  }\\n\\n  .CodeMirror-lint-message-error span {\\n    color: white;\\n    background: #FF4F56;\\n    font-family: \\'Source Code Pro\\', monospace;\\n    font-weight: 600;\\n    border-radius: 2px;\\n    padding: 0 4px;\\n  }\\n\\n  .CodeMirror-hints {\\n    background: white;\\n    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);\\n    font-size: 14px;\\n    list-style: none;\\n    margin-left: -6px;\\n    margin: 0;\\n    max-height: 20em;\\n    overflow: hidden;\\n    padding: 0;\\n    position: absolute;\\n    z-index: 10;\\n    border-radius: 2px;\\n    top: 0;\\n    left: 0;\\n    &:hover {\\n      overflow-y: overlay;\\n    }\\n  }\\n\\n  .CodeMirror-hints-wrapper {\\n    font-family: \\'Open Sans\\', sans-serif;\\n    background: white;\\n    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);\\n    margin-left: -6px;\\n    position: absolute;\\n    z-index: 10;\\n  }\\n\\n  .CodeMirror-hints-wrapper .CodeMirror-hints {\\n    box-shadow: none;\\n    margin-left: 0;\\n    position: relative;\\n    z-index: 0;\\n  }\\n\\n  .CodeMirror-hint {\\n    color: rgba(15, 32, 45, 0.6);\\n    cursor: pointer;\\n    margin: 0;\\n    max-width: 300px;\\n    overflow: hidden;\\n    padding: 6px 12px;\\n    white-space: pre;\\n  }\\n\\n  li.CodeMirror-hint-active {\\n    background-color: #2a7ed3;\\n    border-top-color: white;\\n    color: white;\\n  }\\n\\n  .CodeMirror-hint-information {\\n    border-top: solid 1px rgba(0, 0, 0, 0.1);\\n    max-width: 300px;\\n    padding: 10px 12px;\\n    position: relative;\\n    z-index: 1;\\n    background-color: rgba(15, 32, 45, 0.03);\\n    font-size: 14px;\\n  }\\n\\n  .CodeMirror-hint-information:first-child {\\n    border-bottom: solid 1px #c0c0c0;\\n    border-top: none;\\n    margin-bottom: -1px;\\n  }\\n\\n  .CodeMirror-hint-information .content {\\n    color: rgba(15, 32, 45, 0.6);\\n    box-orient: vertical;\\n    display: -webkit-box;\\n    display: -ms-flexbox;\\n    display: flex;\\n    line-clamp: 3;\\n    line-height: 1.36;\\n    max-height: 59px;\\n    overflow: hidden;\\n    text-overflow: -o-ellipsis-lastline;\\n  }\\n\\n  .CodeMirror-hint-information .content p:first-child {\\n    margin-top: 0;\\n  }\\n\\n  .CodeMirror-hint-information .content p:last-child {\\n    margin-bottom: 0;\\n  }\\n\\n  .CodeMirror-hint-information .infoType {\\n    color: rgb(241, 143, 1);\\n    cursor: pointer;\\n    display: inline;\\n    margin-right: 0.5em;\\n  }\\n'],['\\n  *::-webkit-scrollbar {\\n    -webkit-appearance: none;\\n    width: 7px;\\n    height: 7px;\\n  }\\n  *::-webkit-scrollbar-track-piece {\\n    background-color: rgba(255, 255, 255, 0);\\n  }\\n  *::-webkit-scrollbar-track {\\n    background-color: inherit;\\n  }\\n  *::-webkit-scrollbar-thumb {\\n    max-height: 100px;\\n    border-radius: 3px;\\n    background-color: rgba(1, 1, 1, 0.23);\\n  }\\n  *::-webkit-scrollbar-thumb:hover {\\n    background-color: rgba(1, 1, 1, 0.35);\\n  }\\n  *::-webkit-scrollbar-thumb:active {\\n    background-color: rgba(1, 1, 1, 0.48);\\n  }\\n  *::-webkit-scrollbar-corner {\\n    background: rgba(0,0,0,0);\\n  }\\n\\n\\n  .CodeMirror-lint-tooltip, .CodeMirror-info {\\n    background-color: white;\\n    border-radius: 4px 4px 4px 4px;\\n    border: 1px solid black;\\n    color: #09141C;\\n    font-family: Open Sans, monospace;\\n    font-size: 14px;\\n    max-width: 600px;\\n    opacity: 0;\\n    overflow: hidden;\\n    padding: 12px 14px;\\n    position: fixed;\\n    -webkit-transition: opacity 0.4s;\\n    transition: opacity 0.4s;\\n    z-index: 100;\\n  }\\n\\n  .CodeMirror-lint-message-error,\\n  .CodeMirror-lint-message-warning {\\n    padding-left: 18px;\\n  }\\n\\n  .CodeMirror-lint-mark-error,\\n  .CodeMirror-lint-mark-warning {\\n    background-position: left bottom;\\n    background-repeat: repeat-x;\\n  }\\n\\n  .CodeMirror-lint-mark-error {\\n    background-image: url(\\'data:image/svg+xml;utf8,<svg width=\"5\" height=\"4\" viewBox=\"0 0 5 4\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n    <path d=\"M5 1.00954C4.87191 1.03474 4.75219 1.10989 4.674 1.235L3.87 2.52141C3.28249 3.46141 1.9135 3.46141 1.326 2.52141L0.521998 1.235C0.404356 1.04677 0.19271 0.971619 0 1.00954V0.00314821C0.0325855 0.00105209 0.0652291 2.68503e-06 0.0978728 5.14592e-09C0.0977892 -1.71531e-09 0.0979564 -1.71531e-09 0.0978728 5.14592e-09C0.586954 4.01563e-05 1.07627 0.235041 1.37 0.705002L2.174 1.99141C2.36983 2.30474 2.82616 2.30474 3.022 1.99141L3.826 0.705002C4.10012 0.266408 4.54438 0.0324569 5 0.00314818V1.00954Z\" fill=\"#FF4F56\"/>\\n    </svg>\\n    \\');\\n  }\\n\\n  .CodeMirror-lint-mark-warning {\\n    background-image: url(\\'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJFhQXEbhTg7YAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAMklEQVQI12NkgIIvJ3QXMjAwdDN+OaEbysDA4MPAwNDNwMCwiOHLCd1zX07o6kBVGQEAKBANtobskNMAAAAASUVORK5CYII=\\');\\n  }\\n\\n  .CodeMirror-lint-marker-error,\\n  .CodeMirror-lint-marker-warning {\\n    background-position: center center;\\n    background-repeat: no-repeat;\\n    cursor: pointer;\\n    display: inline-block;\\n    height: 16px;\\n    position: relative;\\n    vertical-align: middle;\\n    width: 16px;\\n  }\\n\\n  .CodeMirror-lint-message-error,\\n  .CodeMirror-lint-message-warning {\\n    background-position: top left;\\n    background-repeat: no-repeat;\\n    padding-left: 22px;\\n  }\\n\\n  .CodeMirror-lint-marker-error,\\n  .CodeMirror-lint-message-error {\\n    background-image: url(\\'data:image/svg+xml;utf8,<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n    <circle cx=\"8\" cy=\"8\" r=\"8\" fill=\"#FF4F56\"/>\\n    <path d=\"M4.2929 10.2928C3.90237 10.6833 3.90237 11.3164 4.29289 11.707C4.68341 12.0975 5.31657 12.0975 5.7071 11.707L4.2929 10.2928ZM11.7071 5.70711C12.0976 5.31659 12.0976 4.68343 11.7071 4.2929C11.3166 3.90237 10.6834 3.90237 10.2929 4.29289L11.7071 5.70711ZM5.7071 4.29301C5.31657 3.90249 4.68341 3.9025 4.29289 4.29302C3.90237 4.68355 3.90237 5.31672 4.2929 5.70724L5.7071 4.29301ZM10.2929 11.7071C10.6834 12.0976 11.3166 12.0976 11.7071 11.7071C12.0976 11.3166 12.0976 10.6834 11.7071 10.2929L10.2929 11.7071ZM5.7071 11.707L11.7071 5.70711L10.2929 4.29289L4.2929 10.2928L5.7071 11.707ZM4.2929 5.70724L10.2929 11.7071L11.7071 10.2929L5.7071 4.29301L4.2929 5.70724Z\" fill=\"white\"/>\\n    </svg>\\n    \\');\\n    background-position: 0 50%;\\n  }\\n\\n  .CodeMirror-lint-marker-warning,\\n  .CodeMirror-lint-message-warning {\\n    background-image: url(\\'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAANlBMVEX/uwDvrwD/uwD/uwD/uwD/uwD/uwD/uwD/uwD6twD/uwAAAADurwD2tQD7uAD+ugAAAAD/uwDhmeTRAAAADHRSTlMJ8mN1EYcbmiixgACm7WbuAAAAVklEQVR42n3PUQqAIBBFUU1LLc3u/jdbOJoW1P08DA9Gba8+YWJ6gNJoNYIBzAA2chBth5kLmG9YUoG0NHAUwFXwO9LuBQL1giCQb8gC9Oro2vp5rncCIY8L8uEx5ZkAAAAASUVORK5CYII=\\');\\n  }\\n\\n  .CodeMirror-lint-marker-multiple {\\n    background-image: url(\\'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAMAAADzjKfhAAAACVBMVEUAAAAAAAC/v7914kyHAAAAAXRSTlMAQObYZgAAACNJREFUeNo1ioEJAAAIwmz/H90iFFSGJgFMe3gaLZ0od+9/AQZ0ADosbYraAAAAAElFTkSuQmCC\\');\\n    background-position: right bottom;\\n    background-repeat: no-repeat;\\n    width: 100%;\\n    height: 100%;\\n  }\\n\\n  .CodeMirror-lint-mark-error {\\n    &:before {\\n      content: \\'\\';\\n      width: 50px;\\n      height: 14px;\\n      position: absolute;\\n      background: #FF4F56;\\n      left: -80px;\\n      top: 50%;\\n      transform: translateY(-50%);\\n      z-index: 10;\\n    }\\n  }\\n\\n  .CodeMirror-lint-message-error span {\\n    color: white;\\n    background: #FF4F56;\\n    font-family: \\'Source Code Pro\\', monospace;\\n    font-weight: 600;\\n    border-radius: 2px;\\n    padding: 0 4px;\\n  }\\n\\n  .CodeMirror-hints {\\n    background: white;\\n    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);\\n    font-size: 14px;\\n    list-style: none;\\n    margin-left: -6px;\\n    margin: 0;\\n    max-height: 20em;\\n    overflow: hidden;\\n    padding: 0;\\n    position: absolute;\\n    z-index: 10;\\n    border-radius: 2px;\\n    top: 0;\\n    left: 0;\\n    &:hover {\\n      overflow-y: overlay;\\n    }\\n  }\\n\\n  .CodeMirror-hints-wrapper {\\n    font-family: \\'Open Sans\\', sans-serif;\\n    background: white;\\n    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);\\n    margin-left: -6px;\\n    position: absolute;\\n    z-index: 10;\\n  }\\n\\n  .CodeMirror-hints-wrapper .CodeMirror-hints {\\n    box-shadow: none;\\n    margin-left: 0;\\n    position: relative;\\n    z-index: 0;\\n  }\\n\\n  .CodeMirror-hint {\\n    color: rgba(15, 32, 45, 0.6);\\n    cursor: pointer;\\n    margin: 0;\\n    max-width: 300px;\\n    overflow: hidden;\\n    padding: 6px 12px;\\n    white-space: pre;\\n  }\\n\\n  li.CodeMirror-hint-active {\\n    background-color: #2a7ed3;\\n    border-top-color: white;\\n    color: white;\\n  }\\n\\n  .CodeMirror-hint-information {\\n    border-top: solid 1px rgba(0, 0, 0, 0.1);\\n    max-width: 300px;\\n    padding: 10px 12px;\\n    position: relative;\\n    z-index: 1;\\n    background-color: rgba(15, 32, 45, 0.03);\\n    font-size: 14px;\\n  }\\n\\n  .CodeMirror-hint-information:first-child {\\n    border-bottom: solid 1px #c0c0c0;\\n    border-top: none;\\n    margin-bottom: -1px;\\n  }\\n\\n  .CodeMirror-hint-information .content {\\n    color: rgba(15, 32, 45, 0.6);\\n    box-orient: vertical;\\n    display: -webkit-box;\\n    display: -ms-flexbox;\\n    display: flex;\\n    line-clamp: 3;\\n    line-height: 1.36;\\n    max-height: 59px;\\n    overflow: hidden;\\n    text-overflow: -o-ellipsis-lastline;\\n  }\\n\\n  .CodeMirror-hint-information .content p:first-child {\\n    margin-top: 0;\\n  }\\n\\n  .CodeMirror-hint-information .content p:last-child {\\n    margin-bottom: 0;\\n  }\\n\\n  .CodeMirror-hint-information .infoType {\\n    color: rgb(241, 143, 1);\\n    cursor: pointer;\\n    display: inline;\\n    margin-right: 0.5em;\\n  }\\n']))),d=l.styled.div(u||(u=i([\"\\n  color: #141823;\\n  display: flex;\\n  flex-direction: row;\\n  font-family: system, -apple-system, 'San Francisco', '.SFNSDisplay-Regular',\\n    'Segoe UI', Segoe, 'Segoe WP', 'Helvetica Neue', helvetica, 'Lucida Grande',\\n    arial, sans-serif;\\n  font-size: 14px;\\n  height: 100%;\\n  margin: 0;\\n  overflow: hidden;\\n  width: 100%;\\n\"],[\"\\n  color: #141823;\\n  display: flex;\\n  flex-direction: row;\\n  font-family: system, -apple-system, 'San Francisco', '.SFNSDisplay-Regular',\\n    'Segoe UI', Segoe, 'Segoe WP', 'Helvetica Neue', helvetica, 'Lucida Grande',\\n    arial, sans-serif;\\n  font-size: 14px;\\n  height: 100%;\\n  margin: 0;\\n  overflow: hidden;\\n  width: 100%;\\n\"]))),h=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.getWidth=function(){return t.graphqlContainer.offsetWidth},t.setGraphqlContainer=function(e){t.graphqlContainer=e},t}return o(t,e),t.prototype.render=function(){return c.createElement(d,{ref:this.setGraphqlContainer},this.props.children)},t}(c.PureComponent);t.Container=h,t.default=function(e){var t=e.children;return c.createElement(p,{onMouseMove:function(e){if(e.target.classList.contains(\"CodeMirror-lint-mark-error\"))for(var t=document.getElementsByClassName(\"CodeMirror-lint-message-error\"),n=0,r=Array.from(t);n<r.length;n++){var i=r[n];i.innerHTML=i.innerHTML.replace(/\"(.*?)\"/g,\"<span>$1</span>\")}}},t,c.createElement(f,null))}},function(e,t,n){!function(e){\"use strict\";var t,n,r=e.Pos;function i(e,t){for(var n=function(e){var t=e.flags;return null!=t?t:(e.ignoreCase?\"i\":\"\")+(e.global?\"g\":\"\")+(e.multiline?\"m\":\"\")}(e),r=n,i=0;i<t.length;i++)-1==r.indexOf(t.charAt(i))&&(r+=t.charAt(i));return n==r?e:new RegExp(e.source,r)}function o(e){return/\\\\s|\\\\n|\\n|\\\\W|\\\\D|\\[\\^/.test(e.source)}function a(e,t,n){t=i(t,\"g\");for(var o=n.line,a=n.ch,s=e.lastLine();o<=s;o++,a=0){t.lastIndex=a;var u=e.getLine(o),c=t.exec(u);if(c)return{from:r(o,c.index),to:r(o,c.index+c[0].length),match:c}}}function s(e,t,n){if(!o(t))return a(e,t,n);t=i(t,\"gm\");for(var s,u=1,c=n.line,l=e.lastLine();c<=l;){for(var p=0;p<u&&!(c>l);p++){var f=e.getLine(c++);s=null==s?f:s+\"\\n\"+f}u*=2,t.lastIndex=n.ch;var d=t.exec(s);if(d){var h=s.slice(0,d.index).split(\"\\n\"),m=d[0].split(\"\\n\"),g=n.line+h.length-1,y=h[h.length-1].length;return{from:r(g,y),to:r(g+m.length-1,1==m.length?y+m[0].length:m[m.length-1].length),match:d}}}}function u(e,t,n){for(var r,i=0;i<=e.length;){t.lastIndex=i;var o=t.exec(e);if(!o)break;var a=o.index+o[0].length;if(a>e.length-n)break;(!r||a>r.index+r[0].length)&&(r=o),i=o.index+1}return r}function c(e,t,n){t=i(t,\"g\");for(var o=n.line,a=n.ch,s=e.firstLine();o>=s;o--,a=-1){var c=e.getLine(o),l=u(c,t,a<0?0:c.length-a);if(l)return{from:r(o,l.index),to:r(o,l.index+l[0].length),match:l}}}function l(e,t,n){if(!o(t))return c(e,t,n);t=i(t,\"gm\");for(var a,s=1,l=e.getLine(n.line).length-n.ch,p=n.line,f=e.firstLine();p>=f;){for(var d=0;d<s&&p>=f;d++){var h=e.getLine(p--);a=null==a?h:h+\"\\n\"+a}s*=2;var m=u(a,t,l);if(m){var g=a.slice(0,m.index).split(\"\\n\"),y=m[0].split(\"\\n\"),v=p+g.length,b=g[g.length-1].length;return{from:r(v,b),to:r(v+y.length-1,1==y.length?b+y[0].length:y[y.length-1].length),match:m}}}}function p(e,t,n,r){if(e.length==t.length)return n;for(var i=0,o=n+Math.max(0,e.length-t.length);;){if(i==o)return i;var a=i+o>>1,s=r(e.slice(0,a)).length;if(s==n)return a;s>n?o=a:i=a+1}}function f(e,i,o,a){if(!i.length)return null;var s=a?t:n,u=s(i).split(/\\r|\\n\\r?/);e:for(var c=o.line,l=o.ch,f=e.lastLine()+1-u.length;c<=f;c++,l=0){var d=e.getLine(c).slice(l),h=s(d);if(1==u.length){var m=h.indexOf(u[0]);if(-1==m)continue e;return o=p(d,h,m,s)+l,{from:r(c,p(d,h,m,s)+l),to:r(c,p(d,h,m+u[0].length,s)+l)}}var g=h.length-u[0].length;if(h.slice(g)==u[0]){for(var y=1;y<u.length-1;y++)if(s(e.getLine(c+y))!=u[y])continue e;var v=e.getLine(c+u.length-1),b=s(v),E=u[u.length-1];if(b.slice(0,E.length)==E)return{from:r(c,p(d,h,g,s)+l),to:r(c+u.length-1,p(v,b,E.length,s))}}}}function d(e,i,o,a){if(!i.length)return null;var s=a?t:n,u=s(i).split(/\\r|\\n\\r?/);e:for(var c=o.line,l=o.ch,f=e.firstLine()-1+u.length;c>=f;c--,l=-1){var d=e.getLine(c);l>-1&&(d=d.slice(0,l));var h=s(d);if(1==u.length){var m=h.lastIndexOf(u[0]);if(-1==m)continue e;return{from:r(c,p(d,h,m,s)),to:r(c,p(d,h,m+u[0].length,s))}}var g=u[u.length-1];if(h.slice(0,g.length)==g){var y=1;for(o=c-u.length+1;y<u.length-1;y++)if(s(e.getLine(o+y))!=u[y])continue e;var v=e.getLine(c+1-u.length),b=s(v);if(b.slice(b.length-u[0].length)==u[0])return{from:r(c+1-u.length,p(v,b,v.length-u[0].length,s)),to:r(c,p(d,h,g.length,s))}}}}function h(e,t,n,o){var u;this.atOccurrence=!1,this.doc=e,n=n?e.clipPos(n):r(0,0),this.pos={from:n,to:n},\"object\"==typeof o?u=o.caseFold:(u=o,o=null),\"string\"==typeof t?(null==u&&(u=!1),this.matches=function(n,r){return(n?d:f)(e,t,r,u)}):(t=i(t,\"gm\"),o&&!1===o.multiline?this.matches=function(n,r){return(n?c:a)(e,t,r)}:this.matches=function(n,r){return(n?l:s)(e,t,r)})}String.prototype.normalize?(t=function(e){return e.normalize(\"NFD\").toLowerCase()},n=function(e){return e.normalize(\"NFD\")}):(t=function(e){return e.toLowerCase()},n=function(e){return e}),h.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(t){for(var n=this.matches(t,this.doc.clipPos(t?this.pos.from:this.pos.to));n&&0==e.cmpPos(n.from,n.to);)t?n.from.ch?n.from=r(n.from.line,n.from.ch-1):n=n.from.line==this.doc.firstLine()?null:this.matches(t,this.doc.clipPos(r(n.from.line-1))):n.to.ch<this.doc.getLine(n.to.line).length?n.to=r(n.to.line,n.to.ch+1):n=n.to.line==this.doc.lastLine()?null:this.matches(t,r(n.to.line+1,0));if(n)return this.pos=n,this.atOccurrence=!0,this.pos.match||!0;var i=r(t?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:i,to:i},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(t,n){if(this.atOccurrence){var i=e.splitLines(t);this.doc.replaceRange(i,this.pos.from,this.pos.to,n),this.pos.to=r(this.pos.from.line+i.length-1,i[i.length-1].length+(1==i.length?this.pos.from.ch:0))}}},e.defineExtension(\"getSearchCursor\",(function(e,t,n){return new h(this.doc,e,t,n)})),e.defineDocExtension(\"getSearchCursor\",(function(e,t,n){return new h(this,e,t,n)})),e.defineExtension(\"selectMatches\",(function(t,n){for(var r=[],i=this.getSearchCursor(t,this.getCursor(\"from\"),n);i.findNext()&&!(e.cmpPos(i.to(),this.getCursor(\"to\"))>0);)r.push({anchor:i.from(),head:i.to()});r.length&&this.setSelections(r,0)}))}(n(16))},function(e,t,n){!function(e){function t(t,n,r){var i,o=t.getWrapperElement();return(i=o.appendChild(document.createElement(\"div\"))).className=r?\"CodeMirror-dialog CodeMirror-dialog-bottom\":\"CodeMirror-dialog CodeMirror-dialog-top\",\"string\"==typeof n?i.innerHTML=n:i.appendChild(n),e.addClass(o,\"dialog-opened\"),i}function n(e,t){e.state.currentNotificationClose&&e.state.currentNotificationClose(),e.state.currentNotificationClose=t}e.defineExtension(\"openDialog\",(function(r,i,o){o||(o={}),n(this,null);var a=t(this,r,o.bottom),s=!1,u=this;function c(t){if(\"string\"==typeof t)p.value=t;else{if(s)return;s=!0,e.rmClass(a.parentNode,\"dialog-opened\"),a.parentNode.removeChild(a),u.focus(),o.onClose&&o.onClose(a)}}var l,p=a.getElementsByTagName(\"input\")[0];return p?(p.focus(),o.value&&(p.value=o.value,!1!==o.selectValueOnOpen&&p.select()),o.onInput&&e.on(p,\"input\",(function(e){o.onInput(e,p.value,c)})),o.onKeyUp&&e.on(p,\"keyup\",(function(e){o.onKeyUp(e,p.value,c)})),e.on(p,\"keydown\",(function(t){o&&o.onKeyDown&&o.onKeyDown(t,p.value,c)||((27==t.keyCode||!1!==o.closeOnEnter&&13==t.keyCode)&&(p.blur(),e.e_stop(t),c()),13==t.keyCode&&i(p.value,t))})),!1!==o.closeOnBlur&&e.on(a,\"focusout\",(function(e){null!==e.relatedTarget&&c()}))):(l=a.getElementsByTagName(\"button\")[0])&&(e.on(l,\"click\",(function(){c(),u.focus()})),!1!==o.closeOnBlur&&e.on(l,\"blur\",c),l.focus()),c})),e.defineExtension(\"openConfirm\",(function(r,i,o){n(this,null);var a=t(this,r,o&&o.bottom),s=a.getElementsByTagName(\"button\"),u=!1,c=this,l=1;function p(){u||(u=!0,e.rmClass(a.parentNode,\"dialog-opened\"),a.parentNode.removeChild(a),c.focus())}s[0].focus();for(var f=0;f<s.length;++f){var d=s[f];!function(t){e.on(d,\"click\",(function(n){e.e_preventDefault(n),p(),t&&t(c)}))}(i[f]),e.on(d,\"blur\",(function(){--l,setTimeout((function(){l<=0&&p()}),200)})),e.on(d,\"focus\",(function(){++l}))}})),e.defineExtension(\"openNotification\",(function(r,i){n(this,c);var o,a=t(this,r,i&&i.bottom),s=!1,u=i&&void 0!==i.duration?i.duration:5e3;function c(){s||(s=!0,clearTimeout(o),e.rmClass(a.parentNode,\"dialog-opened\"),a.parentNode.removeChild(a))}return e.on(a,\"click\",(function(t){e.e_preventDefault(t),c()})),u&&(o=setTimeout(c,u)),c}))}(n(16))},function(e,t,n){\"use strict\";var r=Number.isFinite||function(e){return\"number\"==typeof e&&isFinite(e)};t.a=r},function(e,t,n){\"use strict\";\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/var r=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;function a(e){if(null==e)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String(\"abc\");if(e[5]=\"de\",\"5\"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t[\"_\"+String.fromCharCode(n)]=n;if(\"0123456789\"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(\"\"))return!1;var r={};return\"abcdefghijklmnopqrst\".split(\"\").forEach((function(e){r[e]=e})),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},r)).join(\"\")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,s,u=a(e),c=1;c<arguments.length;c++){for(var l in n=Object(arguments[c]))i.call(n,l)&&(u[l]=n[l]);if(r){s=r(n);for(var p=0;p<s.length;p++)o.call(n,s[p])&&(u[s[p]]=n[s[p]])}}return u}},function(e,t,n){\"use strict\";var r;Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(49);t.setStacks=(r=i.createActions({SET_STACKS:function(e,t){return{sessionId:e,stacks:t}},ADD_STACK:function(e,t,n,r){return{sessionId:e,field:t,x:n,y:r}},TOGGLE_DOCS:function(e,t){return{sessionId:e,activeTabIdx:t}},SET_DOCS_VISIBLE:function(e,t,n){return{sessionId:e,open:t,activeTabIdx:n}},CHANGE_WIDTH_DOCS:function(e,t){return{sessionId:e,width:t}},CHANGE_KEY_MOVE:function(e,t){return{sessionId:e,move:t}},SHOW_DOC_FOR_REFERENCE:function(e){return{reference:e}}})).setStacks,t.addStack=r.addStack,t.toggleDocs=r.toggleDocs,t.setDocsVisible=r.setDocsVisible,t.changeWidthDocs=r.changeWidthDocs,t.changeKeyMove=r.changeKeyMove,t.showDocForReference=r.showDocForReference},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(28),i=n(117),o=n(42);t.getSessionDocsState=r.createSelector([o.getSelectedWorkspace],(function(e){var t=e.sessions.selectedSessionId;return e.docs.get(t)||new i.DocsSession})),t.getSessionDocs=r.createSelector([t.getSessionDocsState],(function(e){return e.toJS()})),t.getDocsOpen=r.createSelector([t.getSessionDocsState],(function(e){return e.get(\"docsOpen\")}))},function(e,t){const n=/[&<>\"']/,r=/[&<>\"']/g,i=/[<>\"']|&(?!#?\\w+;)/,o=/[<>\"']|&(?!#?\\w+;)/g,a={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"},s=e=>a[e];const u=/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/gi;function c(e){return e.replace(u,(e,t)=>\"colon\"===(t=t.toLowerCase())?\":\":\"#\"===t.charAt(0)?\"x\"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):\"\")}const l=/(^|[^\\[])\\^/g;const p=/[^\\w:]/g,f=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;const d={},h=/^[^:]+:\\/*[^/]*$/,m=/^([^:]+:)[\\s\\S]*$/,g=/^([^:]+:\\/*[^/]*)[\\s\\S]*$/;function y(e,t){d[\" \"+e]||(h.test(e)?d[\" \"+e]=e+\"/\":d[\" \"+e]=v(e,\"/\",!0));const n=-1===(e=d[\" \"+e]).indexOf(\":\");return\"//\"===t.substring(0,2)?n?t:e.replace(m,\"$1\")+t:\"/\"===t.charAt(0)?n?t:e.replace(g,\"$1\")+t:e+t}function v(e,t,n){const r=e.length;if(0===r)return\"\";let i=0;for(;i<r;){const o=e.charAt(r-i-1);if(o!==t||n){if(o===t||!n)break;i++}else i++}return e.substr(0,r-i)}e.exports={escape:function(e,t){if(t){if(n.test(e))return e.replace(r,s)}else if(i.test(e))return e.replace(o,s);return e},unescape:c,edit:function(e,t){e=e.source||e,t=t||\"\";const n={replace:(t,r)=>(r=(r=r.source||r).replace(l,\"$1\"),e=e.replace(t,r),n),getRegex:()=>new RegExp(e,t)};return n},cleanUrl:function(e,t,n){if(e){let e;try{e=decodeURIComponent(c(n)).replace(p,\"\").toLowerCase()}catch(e){return null}if(0===e.indexOf(\"javascript:\")||0===e.indexOf(\"vbscript:\")||0===e.indexOf(\"data:\"))return null}t&&!f.test(n)&&(n=y(t,n));try{n=encodeURI(n).replace(/%25/g,\"%\")}catch(e){return null}return n},resolveUrl:y,noopTest:{exec:function(){}},merge:function(e){let t,n,r=1;for(;r<arguments.length;r++)for(n in t=arguments[r],t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},splitCells:function(e,t){const n=e.replace(/\\|/g,(e,t,n)=>{let r=!1,i=t;for(;--i>=0&&\"\\\\\"===n[i];)r=!r;return r?\"|\":\" |\"}).split(/ \\|/);let r=0;if(n.length>t)n.splice(t);else for(;n.length<t;)n.push(\"\");for(;r<n.length;r++)n[r]=n[r].trim().replace(/\\\\\\|/g,\"|\");return n},rtrim:v,findClosingBracket:function(e,t){if(-1===e.indexOf(t[1]))return-1;const n=e.length;let r=0,i=0;for(;i<n;i++)if(\"\\\\\"===e[i])i++;else if(e[i]===t[0])r++;else if(e[i]===t[1]&&(r--,r<0))return i;return-1},checkSanitizeDeprecation:function(e){e&&e.sanitize&&!e.silent&&console.warn(\"marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options\")}}},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(3),s=n(60),u=n(30),c=n(20),l=n(418),p=n(52),f=n(169),d=n(74),h=n(75),m=n(32),g=n(28),y=n(11),v=function(e){function t(t){var n=e.call(this,t)||this;return n.onClick=function(){n.props.clickable&&n.props.addStack(n.props.sessionId,n.props.type,n.props.x,n.props.y)},n.setRef=function(e){n.ref=e},n.state={collapsed:!1},n}return i(t,e),t.prototype.shouldComponentUpdate=function(e,t){return this.props.type!==e.type||this.props.keyMove!==e.keyMove||this.props.isActive!==e.isActive||this.state.collapsed!==t.collapsed},t.prototype.componentDidMount=function(){this.updateSize()},t.prototype.componentDidUpdate=function(){this.updateSize()},t.prototype.updateSize=function(){if(this.ref){\"function\"==typeof this.props.onSetWidth&&this.props.onSetWidth(this.ref.scrollWidth);this.ref.scrollHeight>31&&!this.state.collapsed&&this.props.collapsable&&this.setState({collapsed:!0})}},t.prototype.render=function(){var e=this.props,t=e.type,n=e.clickable,r=e.className,i=e.beforeNode,o=e.afterNode,s=e.showParentName,u=e.isActive,f=c.isType(t),d=s&&t.parent?a.createElement(\"span\",null,t.parent.name,\".\",a.createElement(\"b\",null,t.name)):t.name;return a.createElement(w,{active:u,clickable:n,className:\"doc-category-item\"+(r||\"\"),onClick:this.onClick,ref:this.setRef},i,i&&\" \",!f&&a.createElement(\"span\",null,a.createElement(\"span\",{className:\"field-name\"},d),t.args&&t.args.length>0&&[\"(\",a.createElement(\"span\",{key:\"args\"},this.state.collapsed?a.createElement(S,null,\"...\"):t.args.map((function(e){return a.createElement(l.default,{key:e.name,arg:e})}))),\")\"],\": \"),a.createElement(\"span\",{className:\"type-name\"},function e(t){if(t instanceof c.GraphQLNonNull)return a.createElement(\"span\",null,e(t.ofType),\"!\");if(t instanceof c.GraphQLList)return a.createElement(\"span\",null,\"[\",e(t.ofType),\"]\");return a.createElement(\"span\",null,t.name)}(t.type||t)),void 0!==t.defaultValue?a.createElement(A,null,\" \",\"= \",a.createElement(\"span\",null,\"\"+JSON.stringify(t.defaultValue,null,2))):void 0,n&&a.createElement(k,null,a.createElement(p.Triangle,null)),o&&\" \",o)},t.defaultProps={clickable:!0,collapsable:!1},t}(a.Component);var b=g.createSelector([function(e,t){var n=t.x,r=t.y,i=h.getSessionDocsState(e),o=m.getSelectedSessionIdFromRoot(e);if(i){var a=i.navStack.get(n);if(a){var s=a.get(\"x\")===n&&a.get(\"y\")===r;return{isActive:s,keyMove:i.keyMove,lastActive:s&&n===i.navStack.length-1,sessionId:o}}}return{isActive:!1,keyMove:!1,lastActive:!1,sessionId:o}}],(function(e){return e}));t.default=u.connect(b,(function(e){return s.bindActionCreators({addStack:d.addStack},e)}))(f.toJS(v));var E,x,D,C,w=y.styled(\"div\")(E||(E=o([\"\\n  position: relative;\\n  padding: 6px 16px;\\n  overflow: auto;\\n  font-size: 14px;\\n  transition: 0.1s background-color;\\n  background: \",\";\\n\\n  cursor: \",\";\\n\\n  &:hover {\\n    color: \",\";\\n    background: #2a7ed3;\\n    .field-name,\\n    .type-name,\\n    .arg-name,\\n    span {\\n      color: \",\" !important;\\n    }\\n  }\\n  b {\\n    font-weight: 600;\\n  }\\n\"],[\"\\n  position: relative;\\n  padding: 6px 16px;\\n  overflow: auto;\\n  font-size: 14px;\\n  transition: 0.1s background-color;\\n  background: \",\";\\n\\n  cursor: \",\";\\n\\n  &:hover {\\n    color: \",\";\\n    background: #2a7ed3;\\n    .field-name,\\n    .type-name,\\n    .arg-name,\\n    span {\\n      color: \",\" !important;\\n    }\\n  }\\n  b {\\n    font-weight: 600;\\n  }\\n\"])),(function(e){return e.active?e.theme.colours.black07:e.theme.colours.white}),(function(e){return e.clickable?\"pointer\":\"select\"}),(function(e){return e.theme.colours.white}),(function(e){return e.theme.colours.white})),S=y.styled.span(x||(x=o([\"\\n  font-weight: 600;\\n\"],[\"\\n  font-weight: 600;\\n\"]))),k=y.styled.div(D||(D=o([\"\\n  position: absolute;\\n  right: 10px;\\n  top: 50%;\\n  transform: translateY(-50%);\\n\"],[\"\\n  position: absolute;\\n  right: 10px;\\n  top: 50%;\\n  transform: translateY(-50%);\\n\"]))),A=y.styled.span(C||(C=o([\"\\n  color: \",\";\\n  span {\\n    color: #1f61a9;\\n  }\\n\"],[\"\\n  color: \",\";\\n  span {\\n    color: #1f61a9;\\n  }\\n\"])),(function(e){return e.theme.colours.black30}))},function(e,t,n){\"use strict\";function r(e){return null==e}e.exports.isNothing=r,e.exports.isObject=function(e){return\"object\"==typeof e&&null!==e},e.exports.toArray=function(e){return Array.isArray(e)?e:r(e)?[]:[e]},e.exports.repeat=function(e,t){var n,r=\"\";for(n=0;n<t;n+=1)r+=e;return r},e.exports.isNegativeZero=function(e){return 0===e&&Number.NEGATIVE_INFINITY===1/e},e.exports.extend=function(e,t){var n,r,i,o;if(t)for(n=0,r=(o=Object.keys(t)).length;n<r;n+=1)e[i=o[n]]=t[i];return e}},function(e,t,n){\"use strict\";var r=n(78),i=n(93),o=n(35);function a(e,t,n){var r=[];return e.include.forEach((function(e){n=a(e,t,n)})),e[t].forEach((function(e){n.forEach((function(t,n){t.tag===e.tag&&t.kind===e.kind&&r.push(n)})),n.push(e)})),n.filter((function(e,t){return-1===r.indexOf(t)}))}function s(e){this.include=e.include||[],this.implicit=e.implicit||[],this.explicit=e.explicit||[],this.implicit.forEach((function(e){if(e.loadKind&&\"scalar\"!==e.loadKind)throw new i(\"There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.\")})),this.compiledImplicit=a(this,\"implicit\",[]),this.compiledExplicit=a(this,\"explicit\",[]),this.compiledTypeMap=function(){var e,t,n={scalar:{},sequence:{},mapping:{},fallback:{}};function r(e){n[e.kind][e.tag]=n.fallback[e.tag]=e}for(e=0,t=arguments.length;e<t;e+=1)arguments[e].forEach(r);return n}(this.compiledImplicit,this.compiledExplicit)}s.DEFAULT=null,s.create=function(){var e,t;switch(arguments.length){case 1:e=s.DEFAULT,t=arguments[0];break;case 2:e=arguments[0],t=arguments[1];break;default:throw new i(\"Wrong number of arguments for Schema.create function\")}if(e=r.toArray(e),t=r.toArray(t),!e.every((function(e){return e instanceof s})))throw new i(\"Specified list of super schemas (or a single Schema object) contains a non-Schema object.\");if(!t.every((function(e){return e instanceof o})))throw new i(\"Specified list of YAML types (or a single Type object) contains a non-Type object.\");return new s({include:e,explicit:t})},e.exports=s},function(e,t,n){\"use strict\";e.exports=n(265)},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return m})),n.d(t,\"a\",(function(){return g}));var r=n(56),i=n(116),o=n(14),a=n(4),s=n(2),u=n(83),c=n(218),l=n(63),p=n(54),f=n(21),d=n(12),h=n(0);function m(e){if(Object(p.b)(e),e.__validationErrors)return e.__validationErrors;var t=new y(e);!function(e){var t=e.schema,n=t.getQueryType();if(n){if(!Object(h.N)(n)){var r;e.reportError(\"Query root type must be Object type, it cannot be \".concat(Object(a.a)(n),\".\"),null!==(r=v(t,\"query\"))&&void 0!==r?r:n.astNode)}}else e.reportError(\"Query root type must be provided.\",t.astNode);var i,o=t.getMutationType();o&&!Object(h.N)(o)&&e.reportError(\"Mutation root type must be Object type if provided, it cannot be \"+\"\".concat(Object(a.a)(o),\".\"),null!==(i=v(t,\"mutation\"))&&void 0!==i?i:o.astNode);var s,u=t.getSubscriptionType();u&&!Object(h.N)(u)&&e.reportError(\"Subscription root type must be Object type if provided, it cannot be \"+\"\".concat(Object(a.a)(u),\".\"),null!==(s=v(t,\"subscription\"))&&void 0!==s?s:u.astNode)}(t),function(e){for(var t=0,n=e.schema.getDirectives();t<n.length;t++){var r=n[t];if(Object(f.h)(r)){b(e,r);for(var i=0,o=r.args;i<o.length;i++){var s=o[i];b(e,s),Object(h.G)(s.type)||e.reportError(\"The type of @\".concat(r.name,\"(\").concat(s.name,\":) must be Input Type \")+\"but got: \".concat(Object(a.a)(s.type),\".\"),s.astNode)}}else e.reportError(\"Expected directive but got: \".concat(Object(a.a)(r),\".\"),null==r?void 0:r.astNode)}}(t),function(e){for(var t=function(e){var t=Object.create(null),n=[],r=Object.create(null);return function i(a){if(t[a.name])return;t[a.name]=!0,r[a.name]=n.length;for(var s=Object(o.a)(a.getFields()),u=0;u<s.length;u++){var c=s[u];if(Object(h.L)(c.type)&&Object(h.F)(c.type.ofType)){var l=c.type.ofType,p=r[l.name];if(n.push(c),void 0===p)i(l);else{var f=n.slice(p),d=f.map((function(e){return e.name})).join(\".\");e.reportError('Cannot reference Input Object \"'.concat(l.name,'\" within itself through a series of non-null fields: \"').concat(d,'\".'),f.map((function(e){return e.astNode})))}n.pop()}}r[a.name]=void 0}}(e),n=e.schema.getTypeMap(),r=0,i=Object(o.a)(n);r<i.length;r++){var s=i[r];Object(h.K)(s)?(Object(d.isIntrospectionType)(s)||b(e,s),Object(h.N)(s)||Object(h.H)(s)?(E(e,s),x(e,s)):Object(h.T)(s)?w(e,s):Object(h.E)(s)?S(e,s):Object(h.F)(s)&&(k(e,s),t(s))):e.reportError(\"Expected GraphQL named type but got: \".concat(Object(a.a)(s),\".\"),s.astNode)}}(t);var n=t.getErrors();return e.__validationErrors=n,n}function g(e){var t=m(e);if(0!==t.length)throw new Error(t.map((function(e){return e.message})).join(\"\\n\\n\"))}var y=function(){function e(e){this._errors=[],this.schema=e}var t=e.prototype;return t.reportError=function(e,t){var n=Array.isArray(t)?t.filter(Boolean):t;this.addError(new s.a(e,n))},t.addError=function(e){this._errors.push(e)},t.getErrors=function(){return this._errors},e}();function v(e,t){for(var n=T(e,(function(e){return e.operationTypes})),r=0;r<n.length;r++){var i=n[r];if(i.operation===t)return i.type}}function b(e,t){var n=Object(c.b)(t.name);n&&e.addError(Object(u.a)(n,t.astNode))}function E(e,t){var n=Object(o.a)(t.getFields());0===n.length&&e.reportError(\"Type \".concat(t.name,\" must define one or more fields.\"),A(t));for(var r=0;r<n.length;r++){var i,s=n[r];if(b(e,s),!Object(h.O)(s.type))e.reportError(\"The type of \".concat(t.name,\".\").concat(s.name,\" must be Output Type \")+\"but got: \".concat(Object(a.a)(s.type),\".\"),null===(i=s.astNode)||void 0===i?void 0:i.type);for(var u=0,c=s.args;u<c.length;u++){var l,p=c[u],f=p.name;if(b(e,p),!Object(h.G)(p.type))e.reportError(\"The type of \".concat(t.name,\".\").concat(s.name,\"(\").concat(f,\":) must be Input \")+\"Type but got: \".concat(Object(a.a)(p.type),\".\"),null===(l=p.astNode)||void 0===l?void 0:l.type)}}}function x(e,t){for(var n=Object.create(null),r=0,i=t.getInterfaces();r<i.length;r++){var o=i[r];Object(h.H)(o)?t!==o?n[o.name]?e.reportError(\"Type \".concat(t.name,\" can only implement \").concat(o.name,\" once.\"),_(t,o)):(n[o.name]=!0,C(e,t,o),D(e,t,o)):e.reportError(\"Type \".concat(t.name,\" cannot implement itself because it would create a circular reference.\"),_(t,o)):e.reportError(\"Type \".concat(Object(a.a)(t),\" must only implement Interface types, \")+\"it cannot implement \".concat(Object(a.a)(o),\".\"),_(t,o))}}function D(e,t,n){for(var i=t.getFields(),s=0,u=Object(o.a)(n.getFields());s<u.length;s++){var c=u[s],p=c.name,f=i[p];if(f){var d,m;if(!Object(l.c)(e.schema,f.type,c.type))e.reportError(\"Interface field \".concat(n.name,\".\").concat(p,\" expects type \")+\"\".concat(Object(a.a)(c.type),\" but \").concat(t.name,\".\").concat(p,\" \")+\"is type \".concat(Object(a.a)(f.type),\".\"),[null===(d=c.astNode)||void 0===d?void 0:d.type,null===(m=f.astNode)||void 0===m?void 0:m.type]);for(var g=function(i,o){var s,u,c=o[i],d=c.name,h=Object(r.a)(f.args,(function(e){return e.name===d}));if(!h)return e.reportError(\"Interface field argument \".concat(n.name,\".\").concat(p,\"(\").concat(d,\":) expected but \").concat(t.name,\".\").concat(p,\" does not provide it.\"),[c.astNode,f.astNode]),\"continue\";Object(l.b)(c.type,h.type)||e.reportError(\"Interface field argument \".concat(n.name,\".\").concat(p,\"(\").concat(d,\":) \")+\"expects type \".concat(Object(a.a)(c.type),\" but \")+\"\".concat(t.name,\".\").concat(p,\"(\").concat(d,\":) is type \")+\"\".concat(Object(a.a)(h.type),\".\"),[null===(s=c.astNode)||void 0===s?void 0:s.type,null===(u=h.astNode)||void 0===u?void 0:u.type])},y=0,v=c.args;y<v.length;y++)g(y,v);for(var b=function(i,o){var a=o[i],s=a.name;!Object(r.a)(c.args,(function(e){return e.name===s}))&&Object(h.P)(a)&&e.reportError(\"Object field \".concat(t.name,\".\").concat(p,\" includes required argument \").concat(s,\" that is missing from the Interface field \").concat(n.name,\".\").concat(p,\".\"),[a.astNode,c.astNode])},E=0,x=f.args;E<x.length;E++)b(E,x)}else e.reportError(\"Interface field \".concat(n.name,\".\").concat(p,\" expected but \").concat(t.name,\" does not provide it.\"),[c.astNode].concat(A(t)))}}function C(e,t,n){for(var r=t.getInterfaces(),i=0,o=n.getInterfaces();i<o.length;i++){var a=o[i];-1===r.indexOf(a)&&e.reportError(a===t?\"Type \".concat(t.name,\" cannot implement \").concat(n.name,\" because it would create a circular reference.\"):\"Type \".concat(t.name,\" must implement \").concat(a.name,\" because it is implemented by \").concat(n.name,\".\"),[].concat(_(n,a),_(t,n)))}}function w(e,t){var n=t.getTypes();0===n.length&&e.reportError(\"Union type \".concat(t.name,\" must define one or more member types.\"),A(t));for(var r=Object.create(null),i=0;i<n.length;i++){var o=n[i];r[o.name]?e.reportError(\"Union type \".concat(t.name,\" can only include type \").concat(o.name,\" once.\"),O(t,o.name)):(r[o.name]=!0,Object(h.N)(o)||e.reportError(\"Union type \".concat(t.name,\" can only include Object types, \")+\"it cannot include \".concat(Object(a.a)(o),\".\"),O(t,String(o))))}}function S(e,t){var n=t.getValues();0===n.length&&e.reportError(\"Enum type \".concat(t.name,\" must define one or more values.\"),A(t));for(var r=0;r<n.length;r++){var i=n[r],o=i.name;b(e,i),\"true\"!==o&&\"false\"!==o&&\"null\"!==o||e.reportError(\"Enum type \".concat(t.name,\" cannot include value: \").concat(o,\".\"),i.astNode)}}function k(e,t){var n=Object(o.a)(t.getFields());0===n.length&&e.reportError(\"Input Object type \".concat(t.name,\" must define one or more fields.\"),A(t));for(var r=0;r<n.length;r++){var i,s=n[r];if(b(e,s),!Object(h.G)(s.type))e.reportError(\"The type of \".concat(t.name,\".\").concat(s.name,\" must be Input Type \")+\"but got: \".concat(Object(a.a)(s.type),\".\"),null===(i=s.astNode)||void 0===i?void 0:i.type)}}function A(e){var t=e.astNode,n=e.extensionASTNodes;return t?n?[t].concat(n):[t]:null!=n?n:[]}function T(e,t){return Object(i.a)(A(e),(function(e){var n;return null!==(n=t(e))&&void 0!==n?n:[]}))}function _(e,t){return T(e,(function(e){return e.interfaces})).filter((function(e){return e.name.value===t.name}))}function O(e,t){return T(e,(function(e){return e.types})).filter((function(e){return e.name.value===t}))}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return o}));var r=n(25);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 o(e){if(null==e||\"object\"!==i(e))return!1;var t=e.length;return\"number\"==typeof t&&t>=0&&t%1==0||\"function\"==typeof e[r.b]}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(2);function i(e,t,n){var i;return Array.isArray(e.path)?e:new r.a(e.message,null!==(i=e.nodes)&&void 0!==i?i:t,e.source,e.positions,n,e)}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return a}));var r=n(25),i=n(8);function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var a=function(){function e(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"GraphQL request\",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{line:1,column:1};this.body=e,this.name=t,this.locationOffset=n,this.locationOffset.line>0||Object(i.a)(0,\"line in locationOffset is 1-indexed and must be positive.\"),this.locationOffset.column>0||Object(i.a)(0,\"column in locationOffset is 1-indexed and must be positive.\")}var t,n,a;return t=e,(n=[{key:r.c,get:function(){return\"Source\"}}])&&o(t.prototype,n),a&&o(t,a),e}()},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return s})),n.d(t,\"b\",(function(){return u}));var r=n(45),i=n(24),o=n(5),a=n(53),s=function(){function e(e){var t=new i.b(o.a.SOF,0,0,0,0,null);this.source=e,this.lastToken=t,this.token=t,this.line=1,this.lineStart=0}var t=e.prototype;return t.advance=function(){return this.lastToken=this.token,this.token=this.lookahead()},t.lookahead=function(){var e=this.token;if(e.kind!==o.a.EOF)do{var t;e=null!==(t=e.next)&&void 0!==t?t:e.next=l(this,e)}while(e.kind===o.a.COMMENT);return e},e}();function u(e){return e===o.a.BANG||e===o.a.DOLLAR||e===o.a.AMP||e===o.a.PAREN_L||e===o.a.PAREN_R||e===o.a.SPREAD||e===o.a.COLON||e===o.a.EQUALS||e===o.a.AT||e===o.a.BRACKET_L||e===o.a.BRACKET_R||e===o.a.BRACE_L||e===o.a.PIPE||e===o.a.BRACE_R}function c(e){return isNaN(e)?o.a.EOF:e<127?JSON.stringify(String.fromCharCode(e)):'\"\\\\u'.concat((\"00\"+e.toString(16).toUpperCase()).slice(-4),'\"')}function l(e,t){var n=e.source,s=n.body,u=s.length,l=function(e,t,n){var r=e.length,i=t;for(;i<r;){var o=e.charCodeAt(i);if(9===o||32===o||44===o||65279===o)++i;else if(10===o)++i,++n.line,n.lineStart=i;else{if(13!==o)break;10===e.charCodeAt(i+1)?i+=2:++i,++n.line,n.lineStart=i}}return i}(s,t.end,e),d=e.line,h=1+l-e.lineStart;if(l>=u)return new i.b(o.a.EOF,u,u,d,h,t);var m=s.charCodeAt(l);switch(m){case 33:return new i.b(o.a.BANG,l,l+1,d,h,t);case 35:return function(e,t,n,r,a){var s,u=e.body,c=t;do{s=u.charCodeAt(++c)}while(!isNaN(s)&&(s>31||9===s));return new i.b(o.a.COMMENT,t,c,n,r,a,u.slice(t+1,c))}(n,l,d,h,t);case 36:return new i.b(o.a.DOLLAR,l,l+1,d,h,t);case 38:return new i.b(o.a.AMP,l,l+1,d,h,t);case 40:return new i.b(o.a.PAREN_L,l,l+1,d,h,t);case 41:return new i.b(o.a.PAREN_R,l,l+1,d,h,t);case 46:if(46===s.charCodeAt(l+1)&&46===s.charCodeAt(l+2))return new i.b(o.a.SPREAD,l,l+3,d,h,t);break;case 58:return new i.b(o.a.COLON,l,l+1,d,h,t);case 61:return new i.b(o.a.EQUALS,l,l+1,d,h,t);case 64:return new i.b(o.a.AT,l,l+1,d,h,t);case 91:return new i.b(o.a.BRACKET_L,l,l+1,d,h,t);case 93:return new i.b(o.a.BRACKET_R,l,l+1,d,h,t);case 123:return new i.b(o.a.BRACE_L,l,l+1,d,h,t);case 124:return new i.b(o.a.PIPE,l,l+1,d,h,t);case 125:return new i.b(o.a.BRACE_R,l,l+1,d,h,t);case 65:case 66:case 67:case 68:case 69:case 70:case 71:case 72:case 73:case 74:case 75:case 76:case 77:case 78:case 79:case 80:case 81:case 82:case 83:case 84:case 85:case 86:case 87:case 88:case 89:case 90:case 95:case 97:case 98:case 99:case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:case 108:case 109:case 110:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:case 122:return function(e,t,n,r,a){var s=e.body,u=s.length,c=t+1,l=0;for(;c!==u&&!isNaN(l=s.charCodeAt(c))&&(95===l||l>=48&&l<=57||l>=65&&l<=90||l>=97&&l<=122);)++c;return new i.b(o.a.NAME,t,c,n,r,a,s.slice(t,c))}(n,l,d,h,t);case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return function(e,t,n,a,s,u){var l=e.body,f=n,d=t,h=!1;45===f&&(f=l.charCodeAt(++d));if(48===f){if((f=l.charCodeAt(++d))>=48&&f<=57)throw Object(r.a)(e,d,\"Invalid number, unexpected digit after 0: \".concat(c(f),\".\"))}else d=p(e,d,f),f=l.charCodeAt(d);46===f&&(h=!0,f=l.charCodeAt(++d),d=p(e,d,f),f=l.charCodeAt(d));69!==f&&101!==f||(h=!0,43!==(f=l.charCodeAt(++d))&&45!==f||(f=l.charCodeAt(++d)),d=p(e,d,f),f=l.charCodeAt(d));if(46===f||function(e){return 95===e||e>=65&&e<=90||e>=97&&e<=122}(f))throw Object(r.a)(e,d,\"Invalid number, expected digit but got: \".concat(c(f),\".\"));return new i.b(h?o.a.FLOAT:o.a.INT,t,d,a,s,u,l.slice(t,d))}(n,l,m,d,h,t);case 34:return 34===s.charCodeAt(l+1)&&34===s.charCodeAt(l+2)?function(e,t,n,s,u,l){var p=e.body,f=t+3,d=f,h=0,m=\"\";for(;f<p.length&&!isNaN(h=p.charCodeAt(f));){if(34===h&&34===p.charCodeAt(f+1)&&34===p.charCodeAt(f+2))return m+=p.slice(d,f),new i.b(o.a.BLOCK_STRING,t,f+3,n,s,u,Object(a.a)(m));if(h<32&&9!==h&&10!==h&&13!==h)throw Object(r.a)(e,f,\"Invalid character within String: \".concat(c(h),\".\"));10===h?(++f,++l.line,l.lineStart=f):13===h?(10===p.charCodeAt(f+1)?f+=2:++f,++l.line,l.lineStart=f):92===h&&34===p.charCodeAt(f+1)&&34===p.charCodeAt(f+2)&&34===p.charCodeAt(f+3)?(m+=p.slice(d,f)+'\"\"\"',d=f+=4):++f}throw Object(r.a)(e,f,\"Unterminated string.\")}(n,l,d,h,t,e):function(e,t,n,a,s){var u=e.body,l=t+1,p=l,d=0,h=\"\";for(;l<u.length&&!isNaN(d=u.charCodeAt(l))&&10!==d&&13!==d;){if(34===d)return h+=u.slice(p,l),new i.b(o.a.STRING,t,l+1,n,a,s,h);if(d<32&&9!==d)throw Object(r.a)(e,l,\"Invalid character within String: \".concat(c(d),\".\"));if(++l,92===d){switch(h+=u.slice(p,l-1),d=u.charCodeAt(l)){case 34:h+='\"';break;case 47:h+=\"/\";break;case 92:h+=\"\\\\\";break;case 98:h+=\"\\b\";break;case 102:h+=\"\\f\";break;case 110:h+=\"\\n\";break;case 114:h+=\"\\r\";break;case 116:h+=\"\\t\";break;case 117:var m=(y=u.charCodeAt(l+1),v=u.charCodeAt(l+2),b=u.charCodeAt(l+3),E=u.charCodeAt(l+4),f(y)<<12|f(v)<<8|f(b)<<4|f(E));if(m<0){var g=u.slice(l+1,l+5);throw Object(r.a)(e,l,\"Invalid character escape sequence: \\\\u\".concat(g,\".\"))}h+=String.fromCharCode(m),l+=4;break;default:throw Object(r.a)(e,l,\"Invalid character escape sequence: \\\\\".concat(String.fromCharCode(d),\".\"))}++l,p=l}}var y,v,b,E;throw Object(r.a)(e,l,\"Unterminated string.\")}(n,l,d,h,t)}throw Object(r.a)(n,l,function(e){if(e<32&&9!==e&&10!==e&&13!==e)return\"Cannot contain the invalid character \".concat(c(e),\".\");if(39===e)return\"Unexpected single quote character ('), did you mean to use a double quote (\\\")?\";return\"Cannot parse the unexpected character \".concat(c(e),\".\")}(m))}function p(e,t,n){var i=e.body,o=t,a=n;if(a>=48&&a<=57){do{a=i.charCodeAt(++o)}while(a>=48&&a<=57);return o}throw Object(r.a)(e,o,\"Invalid number, expected digit but got: \".concat(c(a),\".\"))}function f(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return l})),n.d(t,\"b\",(function(){return f}));var r=n(56),i=n(1),o=n(24),a=n(26),s=n(0),u=n(12),c=n(33),l=function(){function e(e,t,n){this._schema=e,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=null!=t?t:p,n&&(Object(s.G)(n)&&this._inputTypeStack.push(n),Object(s.D)(n)&&this._parentTypeStack.push(n),Object(s.O)(n)&&this._typeStack.push(n))}var t=e.prototype;return t.getType=function(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]},t.getParentType=function(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]},t.getInputType=function(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]},t.getParentInputType=function(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]},t.getFieldDef=function(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]},t.getDefaultValue=function(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]},t.getDirective=function(){return this._directive},t.getArgument=function(){return this._argument},t.getEnumValue=function(){return this._enumValue},t.enter=function(e){var t=this._schema;switch(e.kind){case i.a.SELECTION_SET:var n=Object(s.A)(this.getType());this._parentTypeStack.push(Object(s.D)(n)?n:void 0);break;case i.a.FIELD:var o,a,u=this.getParentType();u&&(o=this._getFieldDef(t,u,e))&&(a=o.type),this._fieldDefStack.push(o),this._typeStack.push(Object(s.O)(a)?a:void 0);break;case i.a.DIRECTIVE:this._directive=t.getDirective(e.name.value);break;case i.a.OPERATION_DEFINITION:var l;switch(e.operation){case\"query\":l=t.getQueryType();break;case\"mutation\":l=t.getMutationType();break;case\"subscription\":l=t.getSubscriptionType()}this._typeStack.push(Object(s.N)(l)?l:void 0);break;case i.a.INLINE_FRAGMENT:case i.a.FRAGMENT_DEFINITION:var p=e.typeCondition,f=p?Object(c.a)(t,p):Object(s.A)(this.getType());this._typeStack.push(Object(s.O)(f)?f:void 0);break;case i.a.VARIABLE_DEFINITION:var d=Object(c.a)(t,e.type);this._inputTypeStack.push(Object(s.G)(d)?d:void 0);break;case i.a.ARGUMENT:var h,m,g,y=null!==(h=this.getDirective())&&void 0!==h?h:this.getFieldDef();y&&(m=Object(r.a)(y.args,(function(t){return t.name===e.name.value})))&&(g=m.type),this._argument=m,this._defaultValueStack.push(m?m.defaultValue:void 0),this._inputTypeStack.push(Object(s.G)(g)?g:void 0);break;case i.a.LIST:var v=Object(s.B)(this.getInputType()),b=Object(s.J)(v)?v.ofType:v;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Object(s.G)(b)?b:void 0);break;case i.a.OBJECT_FIELD:var E,x,D=Object(s.A)(this.getInputType());Object(s.F)(D)&&(x=D.getFields()[e.name.value])&&(E=x.type),this._defaultValueStack.push(x?x.defaultValue:void 0),this._inputTypeStack.push(Object(s.G)(E)?E:void 0);break;case i.a.ENUM:var C,w=Object(s.A)(this.getInputType());Object(s.E)(w)&&(C=w.getValue(e.value)),this._enumValue=C}},t.leave=function(e){switch(e.kind){case i.a.SELECTION_SET:this._parentTypeStack.pop();break;case i.a.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case i.a.DIRECTIVE:this._directive=null;break;case i.a.OPERATION_DEFINITION:case i.a.INLINE_FRAGMENT:case i.a.FRAGMENT_DEFINITION:this._typeStack.pop();break;case i.a.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case i.a.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case i.a.LIST:case i.a.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case i.a.ENUM:this._enumValue=null}},e}();function p(e,t,n){var r=n.name.value;return r===u.SchemaMetaFieldDef.name&&e.getQueryType()===t?u.SchemaMetaFieldDef:r===u.TypeMetaFieldDef.name&&e.getQueryType()===t?u.TypeMetaFieldDef:r===u.TypeNameMetaFieldDef.name&&Object(s.D)(t)?u.TypeNameMetaFieldDef:Object(s.N)(t)||Object(s.H)(t)?t.getFields()[r]:void 0}function f(e,t){return{enter:function(n){e.enter(n);var r=Object(a.b)(t,n.kind,!1);if(r){var i=r.apply(t,arguments);return void 0!==i&&(e.leave(n),Object(o.c)(i)&&e.enter(i)),i}},leave:function(n){var r,i=Object(a.b)(t,n.kind,!0);return i&&(r=i.apply(t,arguments)),e.leave(n),r}}}},function(e,t,n){!function(t){\"use strict\";var n=0,r=Math.pow(36,4),i=function(e,t){var n=\"000000000\"+e;return n.substr(n.length-t)},o=function(){return i((Math.random()*r<<0).toString(36),4)},a=function(){return n=n<r?n:0,++n-1},s=function(){var e=(new Date).getTime().toString(36),t=s.fingerprint(),n=o()+o();return\"c\"+e+i(a().toString(36),4)+t+n};s.slug=function(){var e,t=(new Date).getTime().toString(36),n=s.fingerprint().slice(0,1)+s.fingerprint().slice(-1),r=o().slice(-2);return e=a().toString(36).slice(-4),t.slice(-2)+e+n+r},s.globalCount=function(){var e=function(){var e,t=0;for(e in window)t++;return t}();return s.globalCount=function(){return e},e},s.fingerprint=function(){return i((navigator.mimeTypes.length+navigator.userAgent.length).toString(36)+s.globalCount().toString(36),4)},t.register?t.register(\"cuid\",s):e.exports=s}(this.applitude||this)},function(e,t,n){\"use strict\";var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},\"function\"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError(\"Generator is already executing.\");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){a.label=o[1];break}if(6===o[0]&&a.label<i[1]){a.label=i[1],i=o;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(o);break}i[2]&&a.ops.pop(),a.trys.pop();continue}o=t.call(e,a)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}};Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(297),a=n(298);t.safely=function(e){return function(){var t,n,r=[];for(t=0;t<arguments.length;t++)r[t]=arguments[t];return i(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,e.apply(void 0,r)];case 1:return t.sent(),[3,3];case 2:return n=t.sent(),console.error(n),[3,3];case 3:return[2]}}))}},t.prettify=function(e,t){return o.format(e,r(r({},t),{parser:\"graphql\",plugins:[a]}))},t.isIframe=function(){try{return window.self!==window.top}catch(e){return!0}}},function(e,t,n){\"use strict\";var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(20);function o(e,t){return void 0===t&&(t=0),e.ofType&&t<5?o(e.ofType,t+1):e}function a(e,t){var n={fields:[],interfaces:[],args:[],implementations:[]},r=t.type||t,a=i.isType(r);if(r.ofType&&(r=o(r.ofType)),r.getFields){var s=r.getFields();n.fields=Object.keys(s).map((function(e){var n=s[e];return n.parent=t,n.path=t.path+\"/\"+e,n}))}return r instanceof i.GraphQLObjectType&&(n.interfaces=r.getInterfaces()),n.args=t.args?t.args:[],a&&r instanceof i.GraphQLInterfaceType&&(n.implementations=e.getPossibleTypes(r)),n}function s(e,t,n){var r=a(e,t),i=r.interfaces.indexOf(n);if(i>-1)return i;var o=r.fields.indexOf(n);if(o>-1)return r.interfaces.length+o;var s=r.args.indexOf(n);if(s>-1)return r.interfaces.length+r.fields.length+s;var u=r.implementations.indexOf(n);return u>-1?r.interfaces.length+r.fields.length+r.args.length+u:0}t.getNewStack=function(e,t,n){for(var r=n.getIn([\"field\",\"path\"]),i=r.split(\"/\"),a=null,u=0,c=null,l=-1,p=function(){var n=i.shift();if(0===u)a=e[n],l=Object.keys(e).indexOf(n);else{var r=a.args.find((function(e){return e.name===n}));c=a,r?a=r:(a.type.ofType&&(a=o(a.type.ofType)),a.type&&(a=a.type),a=a.getFields()[n]||a.getInterfaces().find((function(e){return e.name===n})))}c&&(l=s(t,c,a)),u++};i.length>0;)p();return a?(a.path=r,a.parent=c,n.merge({y:l,field:a})):null},t.getDeeperType=o,t.getRootMap=function(e){return r(r(r({},e.getQueryType().getFields()),e.getMutationType&&e.getMutationType()&&e.getMutationType().getFields()),e.getSubscriptionType&&e.getSubscriptionType()&&e.getSubscriptionType().getFields())},t.serializeRoot=function(e){var t={queries:[],mutations:[],subscriptions:[]},n=e.getQueryType().getFields();t.queries=Object.keys(n).map((function(e){var t=n[e];return t.path=e,t.parent=null,t}));var r=e.getMutationType&&e.getMutationType();if(r){var i=r.getFields();t.mutations=Object.keys(i).map((function(e){var t=i[e];return t.path=e,t.parent=null,t}))}window.ss=e;var o=e.getSubscriptionType&&e.getSubscriptionType();if(o){var a=o.getFields();t.subscriptions=Object.keys(a).map((function(e){var t=a[e];return t.path=e,t.parent=null,t}))}return t},t.getElementRoot=function(e,t){var n=0;return e.queries[t+n]?e.queries[t+n]:(n+=e.queries.length,e.mutations[t-n]?e.mutations[t-n]:(n+=e.mutations.length,e.subscriptions[t-n]?e.subscriptions[t-n]:void 0))},t.serialize=a,t.getElement=function(e,t){var n=0;return e.interfaces[t+n]?e.interfaces[t+n]:(n+=e.interfaces.length,e.fields[t-n]?e.fields[t-n]:(n+=e.fields.length,e.args[t-n]?e.args[t-n]:(n+=e.args.length,e.implementations[t-n]?e.implementations[t-n]:void 0)))},t.getElementIndex=s},function(e,t){function n(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:\"\",highlight:null,langPrefix:\"language-\",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,xhtml:!1}}e.exports={defaults:{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:\"\",highlight:null,langPrefix:\"language-\",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,xhtml:!1},getDefaults:n,changeDefaults:function(t){e.exports.defaults=t}}},function(e,t,n){!function(e){var t=/MSIE \\d/.test(navigator.userAgent)&&(null==document.documentMode||document.documentMode<8),n=e.Pos,r={\"(\":\")>\",\")\":\"(<\",\"[\":\"]>\",\"]\":\"[<\",\"{\":\"}>\",\"}\":\"{<\",\"<\":\">>\",\">\":\"<<\"};function i(e){return e&&e.bracketRegex||/[(){}[\\]]/}function o(e,t,o){var s=e.getLineHandle(t.line),u=t.ch-1,c=o&&o.afterCursor;null==c&&(c=/(^| )cm-fat-cursor($| )/.test(e.getWrapperElement().className));var l=i(o),p=!c&&u>=0&&l.test(s.text.charAt(u))&&r[s.text.charAt(u)]||l.test(s.text.charAt(u+1))&&r[s.text.charAt(++u)];if(!p)return null;var f=\">\"==p.charAt(1)?1:-1;if(o&&o.strict&&f>0!=(u==t.ch))return null;var d=e.getTokenTypeAt(n(t.line,u+1)),h=a(e,n(t.line,u+(f>0?1:0)),f,d||null,o);return null==h?null:{from:n(t.line,u),to:h&&h.pos,match:h&&h.ch==p.charAt(0),forward:f>0}}function a(e,t,o,a,s){for(var u=s&&s.maxScanLineLength||1e4,c=s&&s.maxScanLines||1e3,l=[],p=i(s),f=o>0?Math.min(t.line+c,e.lastLine()+1):Math.max(e.firstLine()-1,t.line-c),d=t.line;d!=f;d+=o){var h=e.getLine(d);if(h){var m=o>0?0:h.length-1,g=o>0?h.length:-1;if(!(h.length>u))for(d==t.line&&(m=t.ch-(o<0?1:0));m!=g;m+=o){var y=h.charAt(m);if(p.test(y)&&(void 0===a||e.getTokenTypeAt(n(d,m+1))==a)){var v=r[y];if(v&&\">\"==v.charAt(1)==o>0)l.push(y);else{if(!l.length)return{pos:n(d,m),ch:y};l.pop()}}}}}return d-o!=(o>0?e.lastLine():e.firstLine())&&null}function s(e,r,i){for(var a=e.state.matchBrackets.maxHighlightLineLength||1e3,s=[],u=e.listSelections(),c=0;c<u.length;c++){var l=u[c].empty()&&o(e,u[c].head,i);if(l&&e.getLine(l.from.line).length<=a){var p=l.match?\"CodeMirror-matchingbracket\":\"CodeMirror-nonmatchingbracket\";s.push(e.markText(l.from,n(l.from.line,l.from.ch+1),{className:p})),l.to&&e.getLine(l.to.line).length<=a&&s.push(e.markText(l.to,n(l.to.line,l.to.ch+1),{className:p}))}}if(s.length){t&&e.state.focused&&e.focus();var f=function(){e.operation((function(){for(var e=0;e<s.length;e++)s[e].clear()}))};if(!r)return f;setTimeout(f,800)}}function u(e){e.operation((function(){e.state.matchBrackets.currentlyHighlighted&&(e.state.matchBrackets.currentlyHighlighted(),e.state.matchBrackets.currentlyHighlighted=null),e.state.matchBrackets.currentlyHighlighted=s(e,!1,e.state.matchBrackets)}))}e.defineOption(\"matchBrackets\",!1,(function(t,n,r){function i(e){e.state.matchBrackets&&e.state.matchBrackets.currentlyHighlighted&&(e.state.matchBrackets.currentlyHighlighted(),e.state.matchBrackets.currentlyHighlighted=null)}r&&r!=e.Init&&(t.off(\"cursorActivity\",u),t.off(\"focus\",u),t.off(\"blur\",i),i(t)),n&&(t.state.matchBrackets=\"object\"==typeof n?n:{},t.on(\"cursorActivity\",u),t.on(\"focus\",u),t.on(\"blur\",i))})),e.defineExtension(\"matchBrackets\",(function(){s(this,!0)})),e.defineExtension(\"findMatchingBracket\",(function(e,t,n){return(n||\"boolean\"==typeof t)&&(n?(n.strict=t,t=n):t=t?{strict:!0}:null),o(this,e,t)})),e.defineExtension(\"scanForBracket\",(function(e,t,n,r){return a(this,e,t,n,r)}))}(n(16))},function(e,t,n){!function(e){\"use strict\";e.registerHelper(\"fold\",\"brace\",(function(t,n){var r,i=n.line,o=t.getLine(i);function a(a){for(var s=n.ch,u=0;;){var c=s<=0?-1:o.lastIndexOf(a,s-1);if(-1!=c){if(1==u&&c<n.ch)break;if(r=t.getTokenTypeAt(e.Pos(i,c+1)),!/^(comment|string)/.test(r))return c+1;s=c-1}else{if(1==u)break;u=1,s=o.length}}}var s=\"{\",u=\"}\",c=a(\"{\");if(null==c&&(s=\"[\",u=\"]\",c=a(\"[\")),null!=c){var l,p,f=1,d=t.lastLine();e:for(var h=i;h<=d;++h)for(var m=t.getLine(h),g=h==i?c:0;;){var y=m.indexOf(s,g),v=m.indexOf(u,g);if(y<0&&(y=m.length),v<0&&(v=m.length),(g=Math.min(y,v))==m.length)break;if(t.getTokenTypeAt(e.Pos(h,g+1))==r)if(g==y)++f;else if(!--f){l=h,p=g;break e}++g}if(null!=l&&i!=l)return{from:e.Pos(i,c),to:e.Pos(l,p)}}})),e.registerHelper(\"fold\",\"import\",(function(t,n){function r(n){if(n<t.firstLine()||n>t.lastLine())return null;var r=t.getTokenAt(e.Pos(n,1));if(/\\S/.test(r.string)||(r=t.getTokenAt(e.Pos(n,r.end+1))),\"keyword\"!=r.type||\"import\"!=r.string)return null;for(var i=n,o=Math.min(t.lastLine(),n+10);i<=o;++i){var a=t.getLine(i).indexOf(\";\");if(-1!=a)return{startCh:r.end,end:e.Pos(i,a)}}}var i,o=n.line,a=r(o);if(!a||r(o-1)||(i=r(o-2))&&i.end.line==o-1)return null;for(var s=a.end;;){var u=r(s.line+1);if(null==u)break;s=u.end}return{from:t.clipPos(e.Pos(o,a.startCh+1)),to:s}})),e.registerHelper(\"fold\",\"include\",(function(t,n){function r(n){if(n<t.firstLine()||n>t.lastLine())return null;var r=t.getTokenAt(e.Pos(n,1));return/\\S/.test(r.string)||(r=t.getTokenAt(e.Pos(n,r.end+1))),\"meta\"==r.type&&\"#include\"==r.string.slice(0,8)?r.start+8:void 0}var i=n.line,o=r(i);if(null==o||null!=r(i-1))return null;for(var a=i;null!=r(a+1);)++a;return{from:e.Pos(i,o+1),to:t.clipPos(e.Pos(a))}}))}(n(16))},function(e,t,n){\"use strict\";function r(e,t){Error.call(this),this.name=\"YAMLException\",this.reason=e,this.mark=t,this.message=(this.reason||\"(unknown reason)\")+(this.mark?\" \"+this.mark.toString():\"\"),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||\"\"}r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r.prototype.toString=function(e){var t=this.name+\": \";return t+=this.reason||\"(unknown reason)\",!e&&this.mark&&(t+=\" \"+this.mark.toString()),t},e.exports=r},function(e,t,n){\"use strict\";var r=n(79);e.exports=new r({include:[n(210)],implicit:[n(505),n(506)],explicit:[n(507),n(512),n(513),n(514)]})},function(e,t,n){\"use strict\";var r=\"function\"==typeof Symbol&&\"function\"==typeof Symbol.for?Symbol.for(\"nodejs.util.inspect.custom\"):void 0;t.a=r},function(e,t,n){\"use strict\";function r(e,t){for(var n,r=/\\r\\n|[\\n\\r]/g,i=1,o=t+1;(n=r.exec(e.body))&&n.index<t;)i+=1,o=t+1-(n.index+n[0].length);return{line:i,column:o}}n.d(t,\"a\",(function(){return r}))},function(e,t,n){(function(e,r){var i;\n/**\n * @license\n * Lodash <https://lodash.com/>\n * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */(function(){var o=\"Expected a function\",a=\"__lodash_placeholder__\",s=[[\"ary\",128],[\"bind\",1],[\"bindKey\",2],[\"curry\",8],[\"curryRight\",16],[\"flip\",512],[\"partial\",32],[\"partialRight\",64],[\"rearg\",256]],u=\"[object Arguments]\",c=\"[object Array]\",l=\"[object Boolean]\",p=\"[object Date]\",f=\"[object Error]\",d=\"[object Function]\",h=\"[object GeneratorFunction]\",m=\"[object Map]\",g=\"[object Number]\",y=\"[object Object]\",v=\"[object RegExp]\",b=\"[object Set]\",E=\"[object String]\",x=\"[object Symbol]\",D=\"[object WeakMap]\",C=\"[object ArrayBuffer]\",w=\"[object DataView]\",S=\"[object Float32Array]\",k=\"[object Float64Array]\",A=\"[object Int8Array]\",T=\"[object Int16Array]\",_=\"[object Int32Array]\",O=\"[object Uint8Array]\",F=\"[object Uint16Array]\",N=\"[object Uint32Array]\",I=/\\b__p \\+= '';/g,M=/\\b(__p \\+=) '' \\+/g,j=/(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g,L=/&(?:amp|lt|gt|quot|#39);/g,P=/[&<>\"']/g,R=RegExp(L.source),B=RegExp(P.source),U=/<%-([\\s\\S]+?)%>/g,z=/<%([\\s\\S]+?)%>/g,V=/<%=([\\s\\S]+?)%>/g,q=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,H=/^\\w*$/,W=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,G=/[\\\\^$.*+?()[\\]{}|]/g,K=RegExp(G.source),J=/^\\s+|\\s+$/g,Q=/^\\s+/,Y=/\\s+$/,$=/\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,X=/\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,Z=/,? & /,ee=/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g,te=/\\\\(\\\\)?/g,ne=/\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g,re=/\\w*$/,ie=/^[-+]0x[0-9a-f]+$/i,oe=/^0b[01]+$/i,ae=/^\\[object .+?Constructor\\]$/,se=/^0o[0-7]+$/i,ue=/^(?:0|[1-9]\\d*)$/,ce=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,le=/($^)/,pe=/['\\n\\r\\u2028\\u2029\\\\]/g,fe=\"\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff\",de=\"\\\\xac\\\\xb1\\\\xd7\\\\xf7\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\\\\u2000-\\\\u206f \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\",he=\"[\\\\ud800-\\\\udfff]\",me=\"[\"+de+\"]\",ge=\"[\"+fe+\"]\",ye=\"\\\\d+\",ve=\"[\\\\u2700-\\\\u27bf]\",be=\"[a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff]\",Ee=\"[^\\\\ud800-\\\\udfff\"+de+ye+\"\\\\u2700-\\\\u27bfa-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xffA-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde]\",xe=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",De=\"[^\\\\ud800-\\\\udfff]\",Ce=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",we=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",Se=\"[A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde]\",ke=\"(?:\"+be+\"|\"+Ee+\")\",Ae=\"(?:\"+Se+\"|\"+Ee+\")\",Te=\"(?:\"+ge+\"|\"+xe+\")\"+\"?\",_e=\"[\\\\ufe0e\\\\ufe0f]?\"+Te+(\"(?:\\\\u200d(?:\"+[De,Ce,we].join(\"|\")+\")[\\\\ufe0e\\\\ufe0f]?\"+Te+\")*\"),Oe=\"(?:\"+[ve,Ce,we].join(\"|\")+\")\"+_e,Fe=\"(?:\"+[De+ge+\"?\",ge,Ce,we,he].join(\"|\")+\")\",Ne=RegExp(\"['’]\",\"g\"),Ie=RegExp(ge,\"g\"),Me=RegExp(xe+\"(?=\"+xe+\")|\"+Fe+_e,\"g\"),je=RegExp([Se+\"?\"+be+\"+(?:['’](?:d|ll|m|re|s|t|ve))?(?=\"+[me,Se,\"$\"].join(\"|\")+\")\",Ae+\"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?=\"+[me,Se+ke,\"$\"].join(\"|\")+\")\",Se+\"?\"+ke+\"+(?:['’](?:d|ll|m|re|s|t|ve))?\",Se+\"+(?:['’](?:D|LL|M|RE|S|T|VE))?\",\"\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])\",\"\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])\",ye,Oe].join(\"|\"),\"g\"),Le=RegExp(\"[\\\\u200d\\\\ud800-\\\\udfff\"+fe+\"\\\\ufe0e\\\\ufe0f]\"),Pe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Re=[\"Array\",\"Buffer\",\"DataView\",\"Date\",\"Error\",\"Float32Array\",\"Float64Array\",\"Function\",\"Int8Array\",\"Int16Array\",\"Int32Array\",\"Map\",\"Math\",\"Object\",\"Promise\",\"RegExp\",\"Set\",\"String\",\"Symbol\",\"TypeError\",\"Uint8Array\",\"Uint8ClampedArray\",\"Uint16Array\",\"Uint32Array\",\"WeakMap\",\"_\",\"clearTimeout\",\"isFinite\",\"parseInt\",\"setTimeout\"],Be=-1,Ue={};Ue[S]=Ue[k]=Ue[A]=Ue[T]=Ue[_]=Ue[O]=Ue[\"[object Uint8ClampedArray]\"]=Ue[F]=Ue[N]=!0,Ue[u]=Ue[c]=Ue[C]=Ue[l]=Ue[w]=Ue[p]=Ue[f]=Ue[d]=Ue[m]=Ue[g]=Ue[y]=Ue[v]=Ue[b]=Ue[E]=Ue[D]=!1;var ze={};ze[u]=ze[c]=ze[C]=ze[w]=ze[l]=ze[p]=ze[S]=ze[k]=ze[A]=ze[T]=ze[_]=ze[m]=ze[g]=ze[y]=ze[v]=ze[b]=ze[E]=ze[x]=ze[O]=ze[\"[object Uint8ClampedArray]\"]=ze[F]=ze[N]=!0,ze[f]=ze[d]=ze[D]=!1;var Ve={\"\\\\\":\"\\\\\",\"'\":\"'\",\"\\n\":\"n\",\"\\r\":\"r\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"},qe=parseFloat,He=parseInt,We=\"object\"==typeof e&&e&&e.Object===Object&&e,Ge=\"object\"==typeof self&&self&&self.Object===Object&&self,Ke=We||Ge||Function(\"return this\")(),Je=t&&!t.nodeType&&t,Qe=Je&&\"object\"==typeof r&&r&&!r.nodeType&&r,Ye=Qe&&Qe.exports===Je,$e=Ye&&We.process,Xe=function(){try{var e=Qe&&Qe.require&&Qe.require(\"util\").types;return e||$e&&$e.binding&&$e.binding(\"util\")}catch(e){}}(),Ze=Xe&&Xe.isArrayBuffer,et=Xe&&Xe.isDate,tt=Xe&&Xe.isMap,nt=Xe&&Xe.isRegExp,rt=Xe&&Xe.isSet,it=Xe&&Xe.isTypedArray;function ot(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function at(e,t,n,r){for(var i=-1,o=null==e?0:e.length;++i<o;){var a=e[i];t(r,a,n(a),e)}return r}function st(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e}function ut(e,t){for(var n=null==e?0:e.length;n--&&!1!==t(e[n],n,e););return e}function ct(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(!t(e[n],n,e))return!1;return!0}function lt(e,t){for(var n=-1,r=null==e?0:e.length,i=0,o=[];++n<r;){var a=e[n];t(a,n,e)&&(o[i++]=a)}return o}function pt(e,t){return!!(null==e?0:e.length)&&xt(e,t,0)>-1}function ft(e,t,n){for(var r=-1,i=null==e?0:e.length;++r<i;)if(n(t,e[r]))return!0;return!1}function dt(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}function ht(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}function mt(e,t,n,r){var i=-1,o=null==e?0:e.length;for(r&&o&&(n=e[++i]);++i<o;)n=t(n,e[i],i,e);return n}function gt(e,t,n,r){var i=null==e?0:e.length;for(r&&i&&(n=e[--i]);i--;)n=t(n,e[i],i,e);return n}function yt(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}var vt=St(\"length\");function bt(e,t,n){var r;return n(e,(function(e,n,i){if(t(e,n,i))return r=n,!1})),r}function Et(e,t,n,r){for(var i=e.length,o=n+(r?1:-1);r?o--:++o<i;)if(t(e[o],o,e))return o;return-1}function xt(e,t,n){return t==t?function(e,t,n){var r=n-1,i=e.length;for(;++r<i;)if(e[r]===t)return r;return-1}(e,t,n):Et(e,Ct,n)}function Dt(e,t,n,r){for(var i=n-1,o=e.length;++i<o;)if(r(e[i],t))return i;return-1}function Ct(e){return e!=e}function wt(e,t){var n=null==e?0:e.length;return n?Tt(e,t)/n:NaN}function St(e){return function(t){return null==t?void 0:t[e]}}function kt(e){return function(t){return null==e?void 0:e[t]}}function At(e,t,n,r,i){return i(e,(function(e,i,o){n=r?(r=!1,e):t(n,e,i,o)})),n}function Tt(e,t){for(var n,r=-1,i=e.length;++r<i;){var o=t(e[r]);void 0!==o&&(n=void 0===n?o:n+o)}return n}function _t(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}function Ot(e){return function(t){return e(t)}}function Ft(e,t){return dt(t,(function(t){return e[t]}))}function Nt(e,t){return e.has(t)}function It(e,t){for(var n=-1,r=e.length;++n<r&&xt(t,e[n],0)>-1;);return n}function Mt(e,t){for(var n=e.length;n--&&xt(t,e[n],0)>-1;);return n}function jt(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}var Lt=kt({\"À\":\"A\",\"Á\":\"A\",\"Â\":\"A\",\"Ã\":\"A\",\"Ä\":\"A\",\"Å\":\"A\",\"à\":\"a\",\"á\":\"a\",\"â\":\"a\",\"ã\":\"a\",\"ä\":\"a\",\"å\":\"a\",\"Ç\":\"C\",\"ç\":\"c\",\"Ð\":\"D\",\"ð\":\"d\",\"È\":\"E\",\"É\":\"E\",\"Ê\":\"E\",\"Ë\":\"E\",\"è\":\"e\",\"é\":\"e\",\"ê\":\"e\",\"ë\":\"e\",\"Ì\":\"I\",\"Í\":\"I\",\"Î\":\"I\",\"Ï\":\"I\",\"ì\":\"i\",\"í\":\"i\",\"î\":\"i\",\"ï\":\"i\",\"Ñ\":\"N\",\"ñ\":\"n\",\"Ò\":\"O\",\"Ó\":\"O\",\"Ô\":\"O\",\"Õ\":\"O\",\"Ö\":\"O\",\"Ø\":\"O\",\"ò\":\"o\",\"ó\":\"o\",\"ô\":\"o\",\"õ\":\"o\",\"ö\":\"o\",\"ø\":\"o\",\"Ù\":\"U\",\"Ú\":\"U\",\"Û\":\"U\",\"Ü\":\"U\",\"ù\":\"u\",\"ú\":\"u\",\"û\":\"u\",\"ü\":\"u\",\"Ý\":\"Y\",\"ý\":\"y\",\"ÿ\":\"y\",\"Æ\":\"Ae\",\"æ\":\"ae\",\"Þ\":\"Th\",\"þ\":\"th\",\"ß\":\"ss\",\"Ā\":\"A\",\"Ă\":\"A\",\"Ą\":\"A\",\"ā\":\"a\",\"ă\":\"a\",\"ą\":\"a\",\"Ć\":\"C\",\"Ĉ\":\"C\",\"Ċ\":\"C\",\"Č\":\"C\",\"ć\":\"c\",\"ĉ\":\"c\",\"ċ\":\"c\",\"č\":\"c\",\"Ď\":\"D\",\"Đ\":\"D\",\"ď\":\"d\",\"đ\":\"d\",\"Ē\":\"E\",\"Ĕ\":\"E\",\"Ė\":\"E\",\"Ę\":\"E\",\"Ě\":\"E\",\"ē\":\"e\",\"ĕ\":\"e\",\"ė\":\"e\",\"ę\":\"e\",\"ě\":\"e\",\"Ĝ\":\"G\",\"Ğ\":\"G\",\"Ġ\":\"G\",\"Ģ\":\"G\",\"ĝ\":\"g\",\"ğ\":\"g\",\"ġ\":\"g\",\"ģ\":\"g\",\"Ĥ\":\"H\",\"Ħ\":\"H\",\"ĥ\":\"h\",\"ħ\":\"h\",\"Ĩ\":\"I\",\"Ī\":\"I\",\"Ĭ\":\"I\",\"Į\":\"I\",\"İ\":\"I\",\"ĩ\":\"i\",\"ī\":\"i\",\"ĭ\":\"i\",\"į\":\"i\",\"ı\":\"i\",\"Ĵ\":\"J\",\"ĵ\":\"j\",\"Ķ\":\"K\",\"ķ\":\"k\",\"ĸ\":\"k\",\"Ĺ\":\"L\",\"Ļ\":\"L\",\"Ľ\":\"L\",\"Ŀ\":\"L\",\"Ł\":\"L\",\"ĺ\":\"l\",\"ļ\":\"l\",\"ľ\":\"l\",\"ŀ\":\"l\",\"ł\":\"l\",\"Ń\":\"N\",\"Ņ\":\"N\",\"Ň\":\"N\",\"Ŋ\":\"N\",\"ń\":\"n\",\"ņ\":\"n\",\"ň\":\"n\",\"ŋ\":\"n\",\"Ō\":\"O\",\"Ŏ\":\"O\",\"Ő\":\"O\",\"ō\":\"o\",\"ŏ\":\"o\",\"ő\":\"o\",\"Ŕ\":\"R\",\"Ŗ\":\"R\",\"Ř\":\"R\",\"ŕ\":\"r\",\"ŗ\":\"r\",\"ř\":\"r\",\"Ś\":\"S\",\"Ŝ\":\"S\",\"Ş\":\"S\",\"Š\":\"S\",\"ś\":\"s\",\"ŝ\":\"s\",\"ş\":\"s\",\"š\":\"s\",\"Ţ\":\"T\",\"Ť\":\"T\",\"Ŧ\":\"T\",\"ţ\":\"t\",\"ť\":\"t\",\"ŧ\":\"t\",\"Ũ\":\"U\",\"Ū\":\"U\",\"Ŭ\":\"U\",\"Ů\":\"U\",\"Ű\":\"U\",\"Ų\":\"U\",\"ũ\":\"u\",\"ū\":\"u\",\"ŭ\":\"u\",\"ů\":\"u\",\"ű\":\"u\",\"ų\":\"u\",\"Ŵ\":\"W\",\"ŵ\":\"w\",\"Ŷ\":\"Y\",\"ŷ\":\"y\",\"Ÿ\":\"Y\",\"Ź\":\"Z\",\"Ż\":\"Z\",\"Ž\":\"Z\",\"ź\":\"z\",\"ż\":\"z\",\"ž\":\"z\",\"Ĳ\":\"IJ\",\"ĳ\":\"ij\",\"Œ\":\"Oe\",\"œ\":\"oe\",\"ŉ\":\"'n\",\"ſ\":\"s\"}),Pt=kt({\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"});function Rt(e){return\"\\\\\"+Ve[e]}function Bt(e){return Le.test(e)}function Ut(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function zt(e,t){return function(n){return e(t(n))}}function Vt(e,t){for(var n=-1,r=e.length,i=0,o=[];++n<r;){var s=e[n];s!==t&&s!==a||(e[n]=a,o[i++]=n)}return o}function qt(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}function Ht(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=[e,e]})),n}function Wt(e){return Bt(e)?function(e){var t=Me.lastIndex=0;for(;Me.test(e);)++t;return t}(e):vt(e)}function Gt(e){return Bt(e)?function(e){return e.match(Me)||[]}(e):function(e){return e.split(\"\")}(e)}var Kt=kt({\"&amp;\":\"&\",\"&lt;\":\"<\",\"&gt;\":\">\",\"&quot;\":'\"',\"&#39;\":\"'\"});var Jt=function e(t){var n,r=(t=null==t?Ke:Jt.defaults(Ke.Object(),t,Jt.pick(Ke,Re))).Array,i=t.Date,fe=t.Error,de=t.Function,he=t.Math,me=t.Object,ge=t.RegExp,ye=t.String,ve=t.TypeError,be=r.prototype,Ee=de.prototype,xe=me.prototype,De=t[\"__core-js_shared__\"],Ce=Ee.toString,we=xe.hasOwnProperty,Se=0,ke=(n=/[^.]+$/.exec(De&&De.keys&&De.keys.IE_PROTO||\"\"))?\"Symbol(src)_1.\"+n:\"\",Ae=xe.toString,Te=Ce.call(me),_e=Ke._,Oe=ge(\"^\"+Ce.call(we).replace(G,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),Fe=Ye?t.Buffer:void 0,Me=t.Symbol,Le=t.Uint8Array,Ve=Fe?Fe.allocUnsafe:void 0,We=zt(me.getPrototypeOf,me),Ge=me.create,Je=xe.propertyIsEnumerable,Qe=be.splice,$e=Me?Me.isConcatSpreadable:void 0,Xe=Me?Me.iterator:void 0,vt=Me?Me.toStringTag:void 0,kt=function(){try{var e=Zi(me,\"defineProperty\");return e({},\"\",{}),e}catch(e){}}(),Qt=t.clearTimeout!==Ke.clearTimeout&&t.clearTimeout,Yt=i&&i.now!==Ke.Date.now&&i.now,$t=t.setTimeout!==Ke.setTimeout&&t.setTimeout,Xt=he.ceil,Zt=he.floor,en=me.getOwnPropertySymbols,tn=Fe?Fe.isBuffer:void 0,nn=t.isFinite,rn=be.join,on=zt(me.keys,me),an=he.max,sn=he.min,un=i.now,cn=t.parseInt,ln=he.random,pn=be.reverse,fn=Zi(t,\"DataView\"),dn=Zi(t,\"Map\"),hn=Zi(t,\"Promise\"),mn=Zi(t,\"Set\"),gn=Zi(t,\"WeakMap\"),yn=Zi(me,\"create\"),vn=gn&&new gn,bn={},En=Ao(fn),xn=Ao(dn),Dn=Ao(hn),Cn=Ao(mn),wn=Ao(gn),Sn=Me?Me.prototype:void 0,kn=Sn?Sn.valueOf:void 0,An=Sn?Sn.toString:void 0;function Tn(e){if(Ha(e)&&!Ia(e)&&!(e instanceof Nn)){if(e instanceof Fn)return e;if(we.call(e,\"__wrapped__\"))return To(e)}return new Fn(e)}var _n=function(){function e(){}return function(t){if(!qa(t))return{};if(Ge)return Ge(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();function On(){}function Fn(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=void 0}function Nn(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}function In(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Mn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function jn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Ln(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new jn;++t<n;)this.add(e[t])}function Pn(e){var t=this.__data__=new Mn(e);this.size=t.size}function Rn(e,t){var n=Ia(e),r=!n&&Na(e),i=!n&&!r&&Pa(e),o=!n&&!r&&!i&&Xa(e),a=n||r||i||o,s=a?_t(e.length,ye):[],u=s.length;for(var c in e)!t&&!we.call(e,c)||a&&(\"length\"==c||i&&(\"offset\"==c||\"parent\"==c)||o&&(\"buffer\"==c||\"byteLength\"==c||\"byteOffset\"==c)||ao(c,u))||s.push(c);return s}function Bn(e){var t=e.length;return t?e[Lr(0,t-1)]:void 0}function Un(e,t){return wo(yi(e),Qn(t,0,e.length))}function zn(e){return wo(yi(e))}function Vn(e,t,n){(void 0!==n&&!_a(e[t],n)||void 0===n&&!(t in e))&&Kn(e,t,n)}function qn(e,t,n){var r=e[t];we.call(e,t)&&_a(r,n)&&(void 0!==n||t in e)||Kn(e,t,n)}function Hn(e,t){for(var n=e.length;n--;)if(_a(e[n][0],t))return n;return-1}function Wn(e,t,n,r){return er(e,(function(e,i,o){t(r,e,n(e),o)})),r}function Gn(e,t){return e&&vi(t,Es(t),e)}function Kn(e,t,n){\"__proto__\"==t&&kt?kt(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function Jn(e,t){for(var n=-1,i=t.length,o=r(i),a=null==e;++n<i;)o[n]=a?void 0:ms(e,t[n]);return o}function Qn(e,t,n){return e==e&&(void 0!==n&&(e=e<=n?e:n),void 0!==t&&(e=e>=t?e:t)),e}function Yn(e,t,n,r,i,o){var a,s=1&t,c=2&t,f=4&t;if(n&&(a=i?n(e,r,i,o):n(e)),void 0!==a)return a;if(!qa(e))return e;var D=Ia(e);if(D){if(a=function(e){var t=e.length,n=new e.constructor(t);t&&\"string\"==typeof e[0]&&we.call(e,\"index\")&&(n.index=e.index,n.input=e.input);return n}(e),!s)return yi(e,a)}else{var I=no(e),M=I==d||I==h;if(Pa(e))return pi(e,s);if(I==y||I==u||M&&!i){if(a=c||M?{}:io(e),!s)return c?function(e,t){return vi(e,to(e),t)}(e,function(e,t){return e&&vi(t,xs(t),e)}(a,e)):function(e,t){return vi(e,eo(e),t)}(e,Gn(a,e))}else{if(!ze[I])return i?e:{};a=function(e,t,n){var r=e.constructor;switch(t){case C:return fi(e);case l:case p:return new r(+e);case w:return function(e,t){var n=t?fi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case S:case k:case A:case T:case _:case O:case\"[object Uint8ClampedArray]\":case F:case N:return di(e,n);case m:return new r;case g:case E:return new r(e);case v:return function(e){var t=new e.constructor(e.source,re.exec(e));return t.lastIndex=e.lastIndex,t}(e);case b:return new r;case x:return i=e,kn?me(kn.call(i)):{}}var i}(e,I,s)}}o||(o=new Pn);var j=o.get(e);if(j)return j;o.set(e,a),Qa(e)?e.forEach((function(r){a.add(Yn(r,t,n,r,e,o))})):Wa(e)&&e.forEach((function(r,i){a.set(i,Yn(r,t,n,i,e,o))}));var L=D?void 0:(f?c?Gi:Wi:c?xs:Es)(e);return st(L||e,(function(r,i){L&&(r=e[i=r]),qn(a,i,Yn(r,t,n,i,e,o))})),a}function $n(e,t,n){var r=n.length;if(null==e)return!r;for(e=me(e);r--;){var i=n[r],o=t[i],a=e[i];if(void 0===a&&!(i in e)||!o(a))return!1}return!0}function Xn(e,t,n){if(\"function\"!=typeof e)throw new ve(o);return Eo((function(){e.apply(void 0,n)}),t)}function Zn(e,t,n,r){var i=-1,o=pt,a=!0,s=e.length,u=[],c=t.length;if(!s)return u;n&&(t=dt(t,Ot(n))),r?(o=ft,a=!1):t.length>=200&&(o=Nt,a=!1,t=new Ln(t));e:for(;++i<s;){var l=e[i],p=null==n?l:n(l);if(l=r||0!==l?l:0,a&&p==p){for(var f=c;f--;)if(t[f]===p)continue e;u.push(l)}else o(t,p,r)||u.push(l)}return u}Tn.templateSettings={escape:U,evaluate:z,interpolate:V,variable:\"\",imports:{_:Tn}},Tn.prototype=On.prototype,Tn.prototype.constructor=Tn,Fn.prototype=_n(On.prototype),Fn.prototype.constructor=Fn,Nn.prototype=_n(On.prototype),Nn.prototype.constructor=Nn,In.prototype.clear=function(){this.__data__=yn?yn(null):{},this.size=0},In.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},In.prototype.get=function(e){var t=this.__data__;if(yn){var n=t[e];return\"__lodash_hash_undefined__\"===n?void 0:n}return we.call(t,e)?t[e]:void 0},In.prototype.has=function(e){var t=this.__data__;return yn?void 0!==t[e]:we.call(t,e)},In.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=yn&&void 0===t?\"__lodash_hash_undefined__\":t,this},Mn.prototype.clear=function(){this.__data__=[],this.size=0},Mn.prototype.delete=function(e){var t=this.__data__,n=Hn(t,e);return!(n<0)&&(n==t.length-1?t.pop():Qe.call(t,n,1),--this.size,!0)},Mn.prototype.get=function(e){var t=this.__data__,n=Hn(t,e);return n<0?void 0:t[n][1]},Mn.prototype.has=function(e){return Hn(this.__data__,e)>-1},Mn.prototype.set=function(e,t){var n=this.__data__,r=Hn(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},jn.prototype.clear=function(){this.size=0,this.__data__={hash:new In,map:new(dn||Mn),string:new In}},jn.prototype.delete=function(e){var t=$i(this,e).delete(e);return this.size-=t?1:0,t},jn.prototype.get=function(e){return $i(this,e).get(e)},jn.prototype.has=function(e){return $i(this,e).has(e)},jn.prototype.set=function(e,t){var n=$i(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},Ln.prototype.add=Ln.prototype.push=function(e){return this.__data__.set(e,\"__lodash_hash_undefined__\"),this},Ln.prototype.has=function(e){return this.__data__.has(e)},Pn.prototype.clear=function(){this.__data__=new Mn,this.size=0},Pn.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Pn.prototype.get=function(e){return this.__data__.get(e)},Pn.prototype.has=function(e){return this.__data__.has(e)},Pn.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Mn){var r=n.__data__;if(!dn||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new jn(r)}return n.set(e,t),this.size=n.size,this};var er=xi(ur),tr=xi(cr,!0);function nr(e,t){var n=!0;return er(e,(function(e,r,i){return n=!!t(e,r,i)})),n}function rr(e,t,n){for(var r=-1,i=e.length;++r<i;){var o=e[r],a=t(o);if(null!=a&&(void 0===s?a==a&&!$a(a):n(a,s)))var s=a,u=o}return u}function ir(e,t){var n=[];return er(e,(function(e,r,i){t(e,r,i)&&n.push(e)})),n}function or(e,t,n,r,i){var o=-1,a=e.length;for(n||(n=oo),i||(i=[]);++o<a;){var s=e[o];t>0&&n(s)?t>1?or(s,t-1,n,r,i):ht(i,s):r||(i[i.length]=s)}return i}var ar=Di(),sr=Di(!0);function ur(e,t){return e&&ar(e,t,Es)}function cr(e,t){return e&&sr(e,t,Es)}function lr(e,t){return lt(t,(function(t){return Ua(e[t])}))}function pr(e,t){for(var n=0,r=(t=si(t,e)).length;null!=e&&n<r;)e=e[ko(t[n++])];return n&&n==r?e:void 0}function fr(e,t,n){var r=t(e);return Ia(e)?r:ht(r,n(e))}function dr(e){return null==e?void 0===e?\"[object Undefined]\":\"[object Null]\":vt&&vt in me(e)?function(e){var t=we.call(e,vt),n=e[vt];try{e[vt]=void 0;var r=!0}catch(e){}var i=Ae.call(e);r&&(t?e[vt]=n:delete e[vt]);return i}(e):function(e){return Ae.call(e)}(e)}function hr(e,t){return e>t}function mr(e,t){return null!=e&&we.call(e,t)}function gr(e,t){return null!=e&&t in me(e)}function yr(e,t,n){for(var i=n?ft:pt,o=e[0].length,a=e.length,s=a,u=r(a),c=1/0,l=[];s--;){var p=e[s];s&&t&&(p=dt(p,Ot(t))),c=sn(p.length,c),u[s]=!n&&(t||o>=120&&p.length>=120)?new Ln(s&&p):void 0}p=e[0];var f=-1,d=u[0];e:for(;++f<o&&l.length<c;){var h=p[f],m=t?t(h):h;if(h=n||0!==h?h:0,!(d?Nt(d,m):i(l,m,n))){for(s=a;--s;){var g=u[s];if(!(g?Nt(g,m):i(e[s],m,n)))continue e}d&&d.push(m),l.push(h)}}return l}function vr(e,t,n){var r=null==(e=go(e,t=si(t,e)))?e:e[ko(Bo(t))];return null==r?void 0:ot(r,e,n)}function br(e){return Ha(e)&&dr(e)==u}function Er(e,t,n,r,i){return e===t||(null==e||null==t||!Ha(e)&&!Ha(t)?e!=e&&t!=t:function(e,t,n,r,i,o){var a=Ia(e),s=Ia(t),d=a?c:no(e),h=s?c:no(t),D=(d=d==u?y:d)==y,S=(h=h==u?y:h)==y,k=d==h;if(k&&Pa(e)){if(!Pa(t))return!1;a=!0,D=!1}if(k&&!D)return o||(o=new Pn),a||Xa(e)?qi(e,t,n,r,i,o):function(e,t,n,r,i,o,a){switch(n){case w:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case C:return!(e.byteLength!=t.byteLength||!o(new Le(e),new Le(t)));case l:case p:case g:return _a(+e,+t);case f:return e.name==t.name&&e.message==t.message;case v:case E:return e==t+\"\";case m:var s=Ut;case b:var u=1&r;if(s||(s=qt),e.size!=t.size&&!u)return!1;var c=a.get(e);if(c)return c==t;r|=2,a.set(e,t);var d=qi(s(e),s(t),r,i,o,a);return a.delete(e),d;case x:if(kn)return kn.call(e)==kn.call(t)}return!1}(e,t,d,n,r,i,o);if(!(1&n)){var A=D&&we.call(e,\"__wrapped__\"),T=S&&we.call(t,\"__wrapped__\");if(A||T){var _=A?e.value():e,O=T?t.value():t;return o||(o=new Pn),i(_,O,n,r,o)}}if(!k)return!1;return o||(o=new Pn),function(e,t,n,r,i,o){var a=1&n,s=Wi(e),u=s.length,c=Wi(t).length;if(u!=c&&!a)return!1;var l=u;for(;l--;){var p=s[l];if(!(a?p in t:we.call(t,p)))return!1}var f=o.get(e);if(f&&o.get(t))return f==t;var d=!0;o.set(e,t),o.set(t,e);var h=a;for(;++l<u;){p=s[l];var m=e[p],g=t[p];if(r)var y=a?r(g,m,p,t,e,o):r(m,g,p,e,t,o);if(!(void 0===y?m===g||i(m,g,n,r,o):y)){d=!1;break}h||(h=\"constructor\"==p)}if(d&&!h){var v=e.constructor,b=t.constructor;v==b||!(\"constructor\"in e)||!(\"constructor\"in t)||\"function\"==typeof v&&v instanceof v&&\"function\"==typeof b&&b instanceof b||(d=!1)}return o.delete(e),o.delete(t),d}(e,t,n,r,i,o)}(e,t,n,r,Er,i))}function xr(e,t,n,r){var i=n.length,o=i,a=!r;if(null==e)return!o;for(e=me(e);i--;){var s=n[i];if(a&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++i<o;){var u=(s=n[i])[0],c=e[u],l=s[1];if(a&&s[2]){if(void 0===c&&!(u in e))return!1}else{var p=new Pn;if(r)var f=r(c,l,u,e,t,p);if(!(void 0===f?Er(l,c,3,r,p):f))return!1}}return!0}function Dr(e){return!(!qa(e)||(t=e,ke&&ke in t))&&(Ua(e)?Oe:ae).test(Ao(e));var t}function Cr(e){return\"function\"==typeof e?e:null==e?Gs:\"object\"==typeof e?Ia(e)?_r(e[0],e[1]):Tr(e):tu(e)}function wr(e){if(!po(e))return on(e);var t=[];for(var n in me(e))we.call(e,n)&&\"constructor\"!=n&&t.push(n);return t}function Sr(e){if(!qa(e))return function(e){var t=[];if(null!=e)for(var n in me(e))t.push(n);return t}(e);var t=po(e),n=[];for(var r in e)(\"constructor\"!=r||!t&&we.call(e,r))&&n.push(r);return n}function kr(e,t){return e<t}function Ar(e,t){var n=-1,i=ja(e)?r(e.length):[];return er(e,(function(e,r,o){i[++n]=t(e,r,o)})),i}function Tr(e){var t=Xi(e);return 1==t.length&&t[0][2]?ho(t[0][0],t[0][1]):function(n){return n===e||xr(n,e,t)}}function _r(e,t){return uo(e)&&fo(t)?ho(ko(e),t):function(n){var r=ms(n,e);return void 0===r&&r===t?gs(n,e):Er(t,r,3)}}function Or(e,t,n,r,i){e!==t&&ar(t,(function(o,a){if(i||(i=new Pn),qa(o))!function(e,t,n,r,i,o,a){var s=vo(e,n),u=vo(t,n),c=a.get(u);if(c)return void Vn(e,n,c);var l=o?o(s,u,n+\"\",e,t,a):void 0,p=void 0===l;if(p){var f=Ia(u),d=!f&&Pa(u),h=!f&&!d&&Xa(u);l=u,f||d||h?Ia(s)?l=s:La(s)?l=yi(s):d?(p=!1,l=pi(u,!0)):h?(p=!1,l=di(u,!0)):l=[]:Ka(u)||Na(u)?(l=s,Na(s)?l=as(s):qa(s)&&!Ua(s)||(l=io(u))):p=!1}p&&(a.set(u,l),i(l,u,r,o,a),a.delete(u));Vn(e,n,l)}(e,t,a,n,Or,r,i);else{var s=r?r(vo(e,a),o,a+\"\",e,t,i):void 0;void 0===s&&(s=o),Vn(e,a,s)}}),xs)}function Fr(e,t){var n=e.length;if(n)return ao(t+=t<0?n:0,n)?e[t]:void 0}function Nr(e,t,n){var r=-1;return t=dt(t.length?t:[Gs],Ot(Yi())),function(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}(Ar(e,(function(e,n,i){return{criteria:dt(t,(function(t){return t(e)})),index:++r,value:e}})),(function(e,t){return function(e,t,n){var r=-1,i=e.criteria,o=t.criteria,a=i.length,s=n.length;for(;++r<a;){var u=hi(i[r],o[r]);if(u){if(r>=s)return u;var c=n[r];return u*(\"desc\"==c?-1:1)}}return e.index-t.index}(e,t,n)}))}function Ir(e,t,n){for(var r=-1,i=t.length,o={};++r<i;){var a=t[r],s=pr(e,a);n(s,a)&&zr(o,si(a,e),s)}return o}function Mr(e,t,n,r){var i=r?Dt:xt,o=-1,a=t.length,s=e;for(e===t&&(t=yi(t)),n&&(s=dt(e,Ot(n)));++o<a;)for(var u=0,c=t[o],l=n?n(c):c;(u=i(s,l,u,r))>-1;)s!==e&&Qe.call(s,u,1),Qe.call(e,u,1);return e}function jr(e,t){for(var n=e?t.length:0,r=n-1;n--;){var i=t[n];if(n==r||i!==o){var o=i;ao(i)?Qe.call(e,i,1):Zr(e,i)}}return e}function Lr(e,t){return e+Zt(ln()*(t-e+1))}function Pr(e,t){var n=\"\";if(!e||t<1||t>9007199254740991)return n;do{t%2&&(n+=e),(t=Zt(t/2))&&(e+=e)}while(t);return n}function Rr(e,t){return xo(mo(e,t,Gs),e+\"\")}function Br(e){return Bn(_s(e))}function Ur(e,t){var n=_s(e);return wo(n,Qn(t,0,n.length))}function zr(e,t,n,r){if(!qa(e))return e;for(var i=-1,o=(t=si(t,e)).length,a=o-1,s=e;null!=s&&++i<o;){var u=ko(t[i]),c=n;if(i!=a){var l=s[u];void 0===(c=r?r(l,u,s):void 0)&&(c=qa(l)?l:ao(t[i+1])?[]:{})}qn(s,u,c),s=s[u]}return e}var Vr=vn?function(e,t){return vn.set(e,t),e}:Gs,qr=kt?function(e,t){return kt(e,\"toString\",{configurable:!0,enumerable:!1,value:qs(t),writable:!0})}:Gs;function Hr(e){return wo(_s(e))}function Wr(e,t,n){var i=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var a=r(o);++i<o;)a[i]=e[i+t];return a}function Gr(e,t){var n;return er(e,(function(e,r,i){return!(n=t(e,r,i))})),!!n}function Kr(e,t,n){var r=0,i=null==e?r:e.length;if(\"number\"==typeof t&&t==t&&i<=2147483647){for(;r<i;){var o=r+i>>>1,a=e[o];null!==a&&!$a(a)&&(n?a<=t:a<t)?r=o+1:i=o}return i}return Jr(e,t,Gs,n)}function Jr(e,t,n,r){t=n(t);for(var i=0,o=null==e?0:e.length,a=t!=t,s=null===t,u=$a(t),c=void 0===t;i<o;){var l=Zt((i+o)/2),p=n(e[l]),f=void 0!==p,d=null===p,h=p==p,m=$a(p);if(a)var g=r||h;else g=c?h&&(r||f):s?h&&f&&(r||!d):u?h&&f&&!d&&(r||!m):!d&&!m&&(r?p<=t:p<t);g?i=l+1:o=l}return sn(o,4294967294)}function Qr(e,t){for(var n=-1,r=e.length,i=0,o=[];++n<r;){var a=e[n],s=t?t(a):a;if(!n||!_a(s,u)){var u=s;o[i++]=0===a?0:a}}return o}function Yr(e){return\"number\"==typeof e?e:$a(e)?NaN:+e}function $r(e){if(\"string\"==typeof e)return e;if(Ia(e))return dt(e,$r)+\"\";if($a(e))return An?An.call(e):\"\";var t=e+\"\";return\"0\"==t&&1/e==-1/0?\"-0\":t}function Xr(e,t,n){var r=-1,i=pt,o=e.length,a=!0,s=[],u=s;if(n)a=!1,i=ft;else if(o>=200){var c=t?null:Pi(e);if(c)return qt(c);a=!1,i=Nt,u=new Ln}else u=t?[]:s;e:for(;++r<o;){var l=e[r],p=t?t(l):l;if(l=n||0!==l?l:0,a&&p==p){for(var f=u.length;f--;)if(u[f]===p)continue e;t&&u.push(p),s.push(l)}else i(u,p,n)||(u!==s&&u.push(p),s.push(l))}return s}function Zr(e,t){return null==(e=go(e,t=si(t,e)))||delete e[ko(Bo(t))]}function ei(e,t,n,r){return zr(e,t,n(pr(e,t)),r)}function ti(e,t,n,r){for(var i=e.length,o=r?i:-1;(r?o--:++o<i)&&t(e[o],o,e););return n?Wr(e,r?0:o,r?o+1:i):Wr(e,r?o+1:0,r?i:o)}function ni(e,t){var n=e;return n instanceof Nn&&(n=n.value()),mt(t,(function(e,t){return t.func.apply(t.thisArg,ht([e],t.args))}),n)}function ri(e,t,n){var i=e.length;if(i<2)return i?Xr(e[0]):[];for(var o=-1,a=r(i);++o<i;)for(var s=e[o],u=-1;++u<i;)u!=o&&(a[o]=Zn(a[o]||s,e[u],t,n));return Xr(or(a,1),t,n)}function ii(e,t,n){for(var r=-1,i=e.length,o=t.length,a={};++r<i;){var s=r<o?t[r]:void 0;n(a,e[r],s)}return a}function oi(e){return La(e)?e:[]}function ai(e){return\"function\"==typeof e?e:Gs}function si(e,t){return Ia(e)?e:uo(e,t)?[e]:So(ss(e))}var ui=Rr;function ci(e,t,n){var r=e.length;return n=void 0===n?r:n,!t&&n>=r?e:Wr(e,t,n)}var li=Qt||function(e){return Ke.clearTimeout(e)};function pi(e,t){if(t)return e.slice();var n=e.length,r=Ve?Ve(n):new e.constructor(n);return e.copy(r),r}function fi(e){var t=new e.constructor(e.byteLength);return new Le(t).set(new Le(e)),t}function di(e,t){var n=t?fi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function hi(e,t){if(e!==t){var n=void 0!==e,r=null===e,i=e==e,o=$a(e),a=void 0!==t,s=null===t,u=t==t,c=$a(t);if(!s&&!c&&!o&&e>t||o&&a&&u&&!s&&!c||r&&a&&u||!n&&u||!i)return 1;if(!r&&!o&&!c&&e<t||c&&n&&i&&!r&&!o||s&&n&&i||!a&&i||!u)return-1}return 0}function mi(e,t,n,i){for(var o=-1,a=e.length,s=n.length,u=-1,c=t.length,l=an(a-s,0),p=r(c+l),f=!i;++u<c;)p[u]=t[u];for(;++o<s;)(f||o<a)&&(p[n[o]]=e[o]);for(;l--;)p[u++]=e[o++];return p}function gi(e,t,n,i){for(var o=-1,a=e.length,s=-1,u=n.length,c=-1,l=t.length,p=an(a-u,0),f=r(p+l),d=!i;++o<p;)f[o]=e[o];for(var h=o;++c<l;)f[h+c]=t[c];for(;++s<u;)(d||o<a)&&(f[h+n[s]]=e[o++]);return f}function yi(e,t){var n=-1,i=e.length;for(t||(t=r(i));++n<i;)t[n]=e[n];return t}function vi(e,t,n,r){var i=!n;n||(n={});for(var o=-1,a=t.length;++o<a;){var s=t[o],u=r?r(n[s],e[s],s,n,e):void 0;void 0===u&&(u=e[s]),i?Kn(n,s,u):qn(n,s,u)}return n}function bi(e,t){return function(n,r){var i=Ia(n)?at:Wn,o=t?t():{};return i(n,e,Yi(r,2),o)}}function Ei(e){return Rr((function(t,n){var r=-1,i=n.length,o=i>1?n[i-1]:void 0,a=i>2?n[2]:void 0;for(o=e.length>3&&\"function\"==typeof o?(i--,o):void 0,a&&so(n[0],n[1],a)&&(o=i<3?void 0:o,i=1),t=me(t);++r<i;){var s=n[r];s&&e(t,s,r,o)}return t}))}function xi(e,t){return function(n,r){if(null==n)return n;if(!ja(n))return e(n,r);for(var i=n.length,o=t?i:-1,a=me(n);(t?o--:++o<i)&&!1!==r(a[o],o,a););return n}}function Di(e){return function(t,n,r){for(var i=-1,o=me(t),a=r(t),s=a.length;s--;){var u=a[e?s:++i];if(!1===n(o[u],u,o))break}return t}}function Ci(e){return function(t){var n=Bt(t=ss(t))?Gt(t):void 0,r=n?n[0]:t.charAt(0),i=n?ci(n,1).join(\"\"):t.slice(1);return r[e]()+i}}function wi(e){return function(t){return mt(Us(Ns(t).replace(Ne,\"\")),e,\"\")}}function Si(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var n=_n(e.prototype),r=e.apply(n,t);return qa(r)?r:n}}function ki(e){return function(t,n,r){var i=me(t);if(!ja(t)){var o=Yi(n,3);t=Es(t),n=function(e){return o(i[e],e,i)}}var a=e(t,n,r);return a>-1?i[o?t[a]:a]:void 0}}function Ai(e){return Hi((function(t){var n=t.length,r=n,i=Fn.prototype.thru;for(e&&t.reverse();r--;){var a=t[r];if(\"function\"!=typeof a)throw new ve(o);if(i&&!s&&\"wrapper\"==Ji(a))var s=new Fn([],!0)}for(r=s?r:n;++r<n;){var u=Ji(a=t[r]),c=\"wrapper\"==u?Ki(a):void 0;s=c&&co(c[0])&&424==c[1]&&!c[4].length&&1==c[9]?s[Ji(c[0])].apply(s,c[3]):1==a.length&&co(a)?s[u]():s.thru(a)}return function(){var e=arguments,r=e[0];if(s&&1==e.length&&Ia(r))return s.plant(r).value();for(var i=0,o=n?t[i].apply(this,e):r;++i<n;)o=t[i].call(this,o);return o}}))}function Ti(e,t,n,i,o,a,s,u,c,l){var p=128&t,f=1&t,d=2&t,h=24&t,m=512&t,g=d?void 0:Si(e);return function y(){for(var v=arguments.length,b=r(v),E=v;E--;)b[E]=arguments[E];if(h)var x=Qi(y),D=jt(b,x);if(i&&(b=mi(b,i,o,h)),a&&(b=gi(b,a,s,h)),v-=D,h&&v<l){var C=Vt(b,x);return ji(e,t,Ti,y.placeholder,n,b,C,u,c,l-v)}var w=f?n:this,S=d?w[e]:e;return v=b.length,u?b=yo(b,u):m&&v>1&&b.reverse(),p&&c<v&&(b.length=c),this&&this!==Ke&&this instanceof y&&(S=g||Si(S)),S.apply(w,b)}}function _i(e,t){return function(n,r){return function(e,t,n,r){return ur(e,(function(e,i,o){t(r,n(e),i,o)})),r}(n,e,t(r),{})}}function Oi(e,t){return function(n,r){var i;if(void 0===n&&void 0===r)return t;if(void 0!==n&&(i=n),void 0!==r){if(void 0===i)return r;\"string\"==typeof n||\"string\"==typeof r?(n=$r(n),r=$r(r)):(n=Yr(n),r=Yr(r)),i=e(n,r)}return i}}function Fi(e){return Hi((function(t){return t=dt(t,Ot(Yi())),Rr((function(n){var r=this;return e(t,(function(e){return ot(e,r,n)}))}))}))}function Ni(e,t){var n=(t=void 0===t?\" \":$r(t)).length;if(n<2)return n?Pr(t,e):t;var r=Pr(t,Xt(e/Wt(t)));return Bt(t)?ci(Gt(r),0,e).join(\"\"):r.slice(0,e)}function Ii(e){return function(t,n,i){return i&&\"number\"!=typeof i&&so(t,n,i)&&(n=i=void 0),t=ns(t),void 0===n?(n=t,t=0):n=ns(n),function(e,t,n,i){for(var o=-1,a=an(Xt((t-e)/(n||1)),0),s=r(a);a--;)s[i?a:++o]=e,e+=n;return s}(t,n,i=void 0===i?t<n?1:-1:ns(i),e)}}function Mi(e){return function(t,n){return\"string\"==typeof t&&\"string\"==typeof n||(t=os(t),n=os(n)),e(t,n)}}function ji(e,t,n,r,i,o,a,s,u,c){var l=8&t;t|=l?32:64,4&(t&=~(l?64:32))||(t&=-4);var p=[e,t,i,l?o:void 0,l?a:void 0,l?void 0:o,l?void 0:a,s,u,c],f=n.apply(void 0,p);return co(e)&&bo(f,p),f.placeholder=r,Do(f,e,t)}function Li(e){var t=he[e];return function(e,n){if(e=os(e),(n=null==n?0:sn(rs(n),292))&&nn(e)){var r=(ss(e)+\"e\").split(\"e\");return+((r=(ss(t(r[0]+\"e\"+(+r[1]+n)))+\"e\").split(\"e\"))[0]+\"e\"+(+r[1]-n))}return t(e)}}var Pi=mn&&1/qt(new mn([,-0]))[1]==1/0?function(e){return new mn(e)}:$s;function Ri(e){return function(t){var n=no(t);return n==m?Ut(t):n==b?Ht(t):function(e,t){return dt(t,(function(t){return[t,e[t]]}))}(t,e(t))}}function Bi(e,t,n,i,s,u,c,l){var p=2&t;if(!p&&\"function\"!=typeof e)throw new ve(o);var f=i?i.length:0;if(f||(t&=-97,i=s=void 0),c=void 0===c?c:an(rs(c),0),l=void 0===l?l:rs(l),f-=s?s.length:0,64&t){var d=i,h=s;i=s=void 0}var m=p?void 0:Ki(e),g=[e,t,n,i,s,d,h,u,c,l];if(m&&function(e,t){var n=e[1],r=t[1],i=n|r,o=i<131,s=128==r&&8==n||128==r&&256==n&&e[7].length<=t[8]||384==r&&t[7].length<=t[8]&&8==n;if(!o&&!s)return e;1&r&&(e[2]=t[2],i|=1&n?0:4);var u=t[3];if(u){var c=e[3];e[3]=c?mi(c,u,t[4]):u,e[4]=c?Vt(e[3],a):t[4]}(u=t[5])&&(c=e[5],e[5]=c?gi(c,u,t[6]):u,e[6]=c?Vt(e[5],a):t[6]);(u=t[7])&&(e[7]=u);128&r&&(e[8]=null==e[8]?t[8]:sn(e[8],t[8]));null==e[9]&&(e[9]=t[9]);e[0]=t[0],e[1]=i}(g,m),e=g[0],t=g[1],n=g[2],i=g[3],s=g[4],!(l=g[9]=void 0===g[9]?p?0:e.length:an(g[9]-f,0))&&24&t&&(t&=-25),t&&1!=t)y=8==t||16==t?function(e,t,n){var i=Si(e);return function o(){for(var a=arguments.length,s=r(a),u=a,c=Qi(o);u--;)s[u]=arguments[u];var l=a<3&&s[0]!==c&&s[a-1]!==c?[]:Vt(s,c);if((a-=l.length)<n)return ji(e,t,Ti,o.placeholder,void 0,s,l,void 0,void 0,n-a);var p=this&&this!==Ke&&this instanceof o?i:e;return ot(p,this,s)}}(e,t,l):32!=t&&33!=t||s.length?Ti.apply(void 0,g):function(e,t,n,i){var o=1&t,a=Si(e);return function t(){for(var s=-1,u=arguments.length,c=-1,l=i.length,p=r(l+u),f=this&&this!==Ke&&this instanceof t?a:e;++c<l;)p[c]=i[c];for(;u--;)p[c++]=arguments[++s];return ot(f,o?n:this,p)}}(e,t,n,i);else var y=function(e,t,n){var r=1&t,i=Si(e);return function t(){var o=this&&this!==Ke&&this instanceof t?i:e;return o.apply(r?n:this,arguments)}}(e,t,n);return Do((m?Vr:bo)(y,g),e,t)}function Ui(e,t,n,r){return void 0===e||_a(e,xe[n])&&!we.call(r,n)?t:e}function zi(e,t,n,r,i,o){return qa(e)&&qa(t)&&(o.set(t,e),Or(e,t,void 0,zi,o),o.delete(t)),e}function Vi(e){return Ka(e)?void 0:e}function qi(e,t,n,r,i,o){var a=1&n,s=e.length,u=t.length;if(s!=u&&!(a&&u>s))return!1;var c=o.get(e);if(c&&o.get(t))return c==t;var l=-1,p=!0,f=2&n?new Ln:void 0;for(o.set(e,t),o.set(t,e);++l<s;){var d=e[l],h=t[l];if(r)var m=a?r(h,d,l,t,e,o):r(d,h,l,e,t,o);if(void 0!==m){if(m)continue;p=!1;break}if(f){if(!yt(t,(function(e,t){if(!Nt(f,t)&&(d===e||i(d,e,n,r,o)))return f.push(t)}))){p=!1;break}}else if(d!==h&&!i(d,h,n,r,o)){p=!1;break}}return o.delete(e),o.delete(t),p}function Hi(e){return xo(mo(e,void 0,Mo),e+\"\")}function Wi(e){return fr(e,Es,eo)}function Gi(e){return fr(e,xs,to)}var Ki=vn?function(e){return vn.get(e)}:$s;function Ji(e){for(var t=e.name+\"\",n=bn[t],r=we.call(bn,t)?n.length:0;r--;){var i=n[r],o=i.func;if(null==o||o==e)return i.name}return t}function Qi(e){return(we.call(Tn,\"placeholder\")?Tn:e).placeholder}function Yi(){var e=Tn.iteratee||Ks;return e=e===Ks?Cr:e,arguments.length?e(arguments[0],arguments[1]):e}function $i(e,t){var n,r,i=e.__data__;return(\"string\"==(r=typeof(n=t))||\"number\"==r||\"symbol\"==r||\"boolean\"==r?\"__proto__\"!==n:null===n)?i[\"string\"==typeof t?\"string\":\"hash\"]:i.map}function Xi(e){for(var t=Es(e),n=t.length;n--;){var r=t[n],i=e[r];t[n]=[r,i,fo(i)]}return t}function Zi(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return Dr(n)?n:void 0}var eo=en?function(e){return null==e?[]:(e=me(e),lt(en(e),(function(t){return Je.call(e,t)})))}:iu,to=en?function(e){for(var t=[];e;)ht(t,eo(e)),e=We(e);return t}:iu,no=dr;function ro(e,t,n){for(var r=-1,i=(t=si(t,e)).length,o=!1;++r<i;){var a=ko(t[r]);if(!(o=null!=e&&n(e,a)))break;e=e[a]}return o||++r!=i?o:!!(i=null==e?0:e.length)&&Va(i)&&ao(a,i)&&(Ia(e)||Na(e))}function io(e){return\"function\"!=typeof e.constructor||po(e)?{}:_n(We(e))}function oo(e){return Ia(e)||Na(e)||!!($e&&e&&e[$e])}function ao(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&(\"number\"==n||\"symbol\"!=n&&ue.test(e))&&e>-1&&e%1==0&&e<t}function so(e,t,n){if(!qa(n))return!1;var r=typeof t;return!!(\"number\"==r?ja(n)&&ao(t,n.length):\"string\"==r&&t in n)&&_a(n[t],e)}function uo(e,t){if(Ia(e))return!1;var n=typeof e;return!(\"number\"!=n&&\"symbol\"!=n&&\"boolean\"!=n&&null!=e&&!$a(e))||(H.test(e)||!q.test(e)||null!=t&&e in me(t))}function co(e){var t=Ji(e),n=Tn[t];if(\"function\"!=typeof n||!(t in Nn.prototype))return!1;if(e===n)return!0;var r=Ki(n);return!!r&&e===r[0]}(fn&&no(new fn(new ArrayBuffer(1)))!=w||dn&&no(new dn)!=m||hn&&\"[object Promise]\"!=no(hn.resolve())||mn&&no(new mn)!=b||gn&&no(new gn)!=D)&&(no=function(e){var t=dr(e),n=t==y?e.constructor:void 0,r=n?Ao(n):\"\";if(r)switch(r){case En:return w;case xn:return m;case Dn:return\"[object Promise]\";case Cn:return b;case wn:return D}return t});var lo=De?Ua:ou;function po(e){var t=e&&e.constructor;return e===(\"function\"==typeof t&&t.prototype||xe)}function fo(e){return e==e&&!qa(e)}function ho(e,t){return function(n){return null!=n&&(n[e]===t&&(void 0!==t||e in me(n)))}}function mo(e,t,n){return t=an(void 0===t?e.length-1:t,0),function(){for(var i=arguments,o=-1,a=an(i.length-t,0),s=r(a);++o<a;)s[o]=i[t+o];o=-1;for(var u=r(t+1);++o<t;)u[o]=i[o];return u[t]=n(s),ot(e,this,u)}}function go(e,t){return t.length<2?e:pr(e,Wr(t,0,-1))}function yo(e,t){for(var n=e.length,r=sn(t.length,n),i=yi(e);r--;){var o=t[r];e[r]=ao(o,n)?i[o]:void 0}return e}function vo(e,t){if((\"constructor\"!==t||\"function\"!=typeof e[t])&&\"__proto__\"!=t)return e[t]}var bo=Co(Vr),Eo=$t||function(e,t){return Ke.setTimeout(e,t)},xo=Co(qr);function Do(e,t,n){var r=t+\"\";return xo(e,function(e,t){var n=t.length;if(!n)return e;var r=n-1;return t[r]=(n>1?\"& \":\"\")+t[r],t=t.join(n>2?\", \":\" \"),e.replace($,\"{\\n/* [wrapped with \"+t+\"] */\\n\")}(r,function(e,t){return st(s,(function(n){var r=\"_.\"+n[0];t&n[1]&&!pt(e,r)&&e.push(r)})),e.sort()}(function(e){var t=e.match(X);return t?t[1].split(Z):[]}(r),n)))}function Co(e){var t=0,n=0;return function(){var r=un(),i=16-(r-n);if(n=r,i>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function wo(e,t){var n=-1,r=e.length,i=r-1;for(t=void 0===t?r:t;++n<t;){var o=Lr(n,i),a=e[o];e[o]=e[n],e[n]=a}return e.length=t,e}var So=function(e){var t=Ca(e,(function(e){return 500===n.size&&n.clear(),e})),n=t.cache;return t}((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(\"\"),e.replace(W,(function(e,n,r,i){t.push(r?i.replace(te,\"$1\"):n||e)})),t}));function ko(e){if(\"string\"==typeof e||$a(e))return e;var t=e+\"\";return\"0\"==t&&1/e==-1/0?\"-0\":t}function Ao(e){if(null!=e){try{return Ce.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"}function To(e){if(e instanceof Nn)return e.clone();var t=new Fn(e.__wrapped__,e.__chain__);return t.__actions__=yi(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}var _o=Rr((function(e,t){return La(e)?Zn(e,or(t,1,La,!0)):[]})),Oo=Rr((function(e,t){var n=Bo(t);return La(n)&&(n=void 0),La(e)?Zn(e,or(t,1,La,!0),Yi(n,2)):[]})),Fo=Rr((function(e,t){var n=Bo(t);return La(n)&&(n=void 0),La(e)?Zn(e,or(t,1,La,!0),void 0,n):[]}));function No(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:rs(n);return i<0&&(i=an(r+i,0)),Et(e,Yi(t,3),i)}function Io(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=r-1;return void 0!==n&&(i=rs(n),i=n<0?an(r+i,0):sn(i,r-1)),Et(e,Yi(t,3),i,!0)}function Mo(e){return(null==e?0:e.length)?or(e,1):[]}function jo(e){return e&&e.length?e[0]:void 0}var Lo=Rr((function(e){var t=dt(e,oi);return t.length&&t[0]===e[0]?yr(t):[]})),Po=Rr((function(e){var t=Bo(e),n=dt(e,oi);return t===Bo(n)?t=void 0:n.pop(),n.length&&n[0]===e[0]?yr(n,Yi(t,2)):[]})),Ro=Rr((function(e){var t=Bo(e),n=dt(e,oi);return(t=\"function\"==typeof t?t:void 0)&&n.pop(),n.length&&n[0]===e[0]?yr(n,void 0,t):[]}));function Bo(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}var Uo=Rr(zo);function zo(e,t){return e&&e.length&&t&&t.length?Mr(e,t):e}var Vo=Hi((function(e,t){var n=null==e?0:e.length,r=Jn(e,t);return jr(e,dt(t,(function(e){return ao(e,n)?+e:e})).sort(hi)),r}));function qo(e){return null==e?e:pn.call(e)}var Ho=Rr((function(e){return Xr(or(e,1,La,!0))})),Wo=Rr((function(e){var t=Bo(e);return La(t)&&(t=void 0),Xr(or(e,1,La,!0),Yi(t,2))})),Go=Rr((function(e){var t=Bo(e);return t=\"function\"==typeof t?t:void 0,Xr(or(e,1,La,!0),void 0,t)}));function Ko(e){if(!e||!e.length)return[];var t=0;return e=lt(e,(function(e){if(La(e))return t=an(e.length,t),!0})),_t(t,(function(t){return dt(e,St(t))}))}function Jo(e,t){if(!e||!e.length)return[];var n=Ko(e);return null==t?n:dt(n,(function(e){return ot(t,void 0,e)}))}var Qo=Rr((function(e,t){return La(e)?Zn(e,t):[]})),Yo=Rr((function(e){return ri(lt(e,La))})),$o=Rr((function(e){var t=Bo(e);return La(t)&&(t=void 0),ri(lt(e,La),Yi(t,2))})),Xo=Rr((function(e){var t=Bo(e);return t=\"function\"==typeof t?t:void 0,ri(lt(e,La),void 0,t)})),Zo=Rr(Ko);var ea=Rr((function(e){var t=e.length,n=t>1?e[t-1]:void 0;return n=\"function\"==typeof n?(e.pop(),n):void 0,Jo(e,n)}));function ta(e){var t=Tn(e);return t.__chain__=!0,t}function na(e,t){return t(e)}var ra=Hi((function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,i=function(t){return Jn(t,e)};return!(t>1||this.__actions__.length)&&r instanceof Nn&&ao(n)?((r=r.slice(n,+n+(t?1:0))).__actions__.push({func:na,args:[i],thisArg:void 0}),new Fn(r,this.__chain__).thru((function(e){return t&&!e.length&&e.push(void 0),e}))):this.thru(i)}));var ia=bi((function(e,t,n){we.call(e,n)?++e[n]:Kn(e,n,1)}));var oa=ki(No),aa=ki(Io);function sa(e,t){return(Ia(e)?st:er)(e,Yi(t,3))}function ua(e,t){return(Ia(e)?ut:tr)(e,Yi(t,3))}var ca=bi((function(e,t,n){we.call(e,n)?e[n].push(t):Kn(e,n,[t])}));var la=Rr((function(e,t,n){var i=-1,o=\"function\"==typeof t,a=ja(e)?r(e.length):[];return er(e,(function(e){a[++i]=o?ot(t,e,n):vr(e,t,n)})),a})),pa=bi((function(e,t,n){Kn(e,n,t)}));function fa(e,t){return(Ia(e)?dt:Ar)(e,Yi(t,3))}var da=bi((function(e,t,n){e[n?0:1].push(t)}),(function(){return[[],[]]}));var ha=Rr((function(e,t){if(null==e)return[];var n=t.length;return n>1&&so(e,t[0],t[1])?t=[]:n>2&&so(t[0],t[1],t[2])&&(t=[t[0]]),Nr(e,or(t,1),[])})),ma=Yt||function(){return Ke.Date.now()};function ga(e,t,n){return t=n?void 0:t,Bi(e,128,void 0,void 0,void 0,void 0,t=e&&null==t?e.length:t)}function ya(e,t){var n;if(\"function\"!=typeof t)throw new ve(o);return e=rs(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=void 0),n}}var va=Rr((function(e,t,n){var r=1;if(n.length){var i=Vt(n,Qi(va));r|=32}return Bi(e,r,t,n,i)})),ba=Rr((function(e,t,n){var r=3;if(n.length){var i=Vt(n,Qi(ba));r|=32}return Bi(t,r,e,n,i)}));function Ea(e,t,n){var r,i,a,s,u,c,l=0,p=!1,f=!1,d=!0;if(\"function\"!=typeof e)throw new ve(o);function h(t){var n=r,o=i;return r=i=void 0,l=t,s=e.apply(o,n)}function m(e){return l=e,u=Eo(y,t),p?h(e):s}function g(e){var n=e-c;return void 0===c||n>=t||n<0||f&&e-l>=a}function y(){var e=ma();if(g(e))return v(e);u=Eo(y,function(e){var n=t-(e-c);return f?sn(n,a-(e-l)):n}(e))}function v(e){return u=void 0,d&&r?h(e):(r=i=void 0,s)}function b(){var e=ma(),n=g(e);if(r=arguments,i=this,c=e,n){if(void 0===u)return m(c);if(f)return li(u),u=Eo(y,t),h(c)}return void 0===u&&(u=Eo(y,t)),s}return t=os(t)||0,qa(n)&&(p=!!n.leading,a=(f=\"maxWait\"in n)?an(os(n.maxWait)||0,t):a,d=\"trailing\"in n?!!n.trailing:d),b.cancel=function(){void 0!==u&&li(u),l=0,r=c=i=u=void 0},b.flush=function(){return void 0===u?s:v(ma())},b}var xa=Rr((function(e,t){return Xn(e,1,t)})),Da=Rr((function(e,t,n){return Xn(e,os(t)||0,n)}));function Ca(e,t){if(\"function\"!=typeof e||null!=t&&\"function\"!=typeof t)throw new ve(o);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=e.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(Ca.Cache||jn),n}function wa(e){if(\"function\"!=typeof e)throw new ve(o);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Ca.Cache=jn;var Sa=ui((function(e,t){var n=(t=1==t.length&&Ia(t[0])?dt(t[0],Ot(Yi())):dt(or(t,1),Ot(Yi()))).length;return Rr((function(r){for(var i=-1,o=sn(r.length,n);++i<o;)r[i]=t[i].call(this,r[i]);return ot(e,this,r)}))})),ka=Rr((function(e,t){return Bi(e,32,void 0,t,Vt(t,Qi(ka)))})),Aa=Rr((function(e,t){return Bi(e,64,void 0,t,Vt(t,Qi(Aa)))})),Ta=Hi((function(e,t){return Bi(e,256,void 0,void 0,void 0,t)}));function _a(e,t){return e===t||e!=e&&t!=t}var Oa=Mi(hr),Fa=Mi((function(e,t){return e>=t})),Na=br(function(){return arguments}())?br:function(e){return Ha(e)&&we.call(e,\"callee\")&&!Je.call(e,\"callee\")},Ia=r.isArray,Ma=Ze?Ot(Ze):function(e){return Ha(e)&&dr(e)==C};function ja(e){return null!=e&&Va(e.length)&&!Ua(e)}function La(e){return Ha(e)&&ja(e)}var Pa=tn||ou,Ra=et?Ot(et):function(e){return Ha(e)&&dr(e)==p};function Ba(e){if(!Ha(e))return!1;var t=dr(e);return t==f||\"[object DOMException]\"==t||\"string\"==typeof e.message&&\"string\"==typeof e.name&&!Ka(e)}function Ua(e){if(!qa(e))return!1;var t=dr(e);return t==d||t==h||\"[object AsyncFunction]\"==t||\"[object Proxy]\"==t}function za(e){return\"number\"==typeof e&&e==rs(e)}function Va(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}function qa(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}function Ha(e){return null!=e&&\"object\"==typeof e}var Wa=tt?Ot(tt):function(e){return Ha(e)&&no(e)==m};function Ga(e){return\"number\"==typeof e||Ha(e)&&dr(e)==g}function Ka(e){if(!Ha(e)||dr(e)!=y)return!1;var t=We(e);if(null===t)return!0;var n=we.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof n&&n instanceof n&&Ce.call(n)==Te}var Ja=nt?Ot(nt):function(e){return Ha(e)&&dr(e)==v};var Qa=rt?Ot(rt):function(e){return Ha(e)&&no(e)==b};function Ya(e){return\"string\"==typeof e||!Ia(e)&&Ha(e)&&dr(e)==E}function $a(e){return\"symbol\"==typeof e||Ha(e)&&dr(e)==x}var Xa=it?Ot(it):function(e){return Ha(e)&&Va(e.length)&&!!Ue[dr(e)]};var Za=Mi(kr),es=Mi((function(e,t){return e<=t}));function ts(e){if(!e)return[];if(ja(e))return Ya(e)?Gt(e):yi(e);if(Xe&&e[Xe])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[Xe]());var t=no(e);return(t==m?Ut:t==b?qt:_s)(e)}function ns(e){return e?(e=os(e))===1/0||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function rs(e){var t=ns(e),n=t%1;return t==t?n?t-n:t:0}function is(e){return e?Qn(rs(e),0,4294967295):0}function os(e){if(\"number\"==typeof e)return e;if($a(e))return NaN;if(qa(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=qa(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=e.replace(J,\"\");var n=oe.test(e);return n||se.test(e)?He(e.slice(2),n?2:8):ie.test(e)?NaN:+e}function as(e){return vi(e,xs(e))}function ss(e){return null==e?\"\":$r(e)}var us=Ei((function(e,t){if(po(t)||ja(t))vi(t,Es(t),e);else for(var n in t)we.call(t,n)&&qn(e,n,t[n])})),cs=Ei((function(e,t){vi(t,xs(t),e)})),ls=Ei((function(e,t,n,r){vi(t,xs(t),e,r)})),ps=Ei((function(e,t,n,r){vi(t,Es(t),e,r)})),fs=Hi(Jn);var ds=Rr((function(e,t){e=me(e);var n=-1,r=t.length,i=r>2?t[2]:void 0;for(i&&so(t[0],t[1],i)&&(r=1);++n<r;)for(var o=t[n],a=xs(o),s=-1,u=a.length;++s<u;){var c=a[s],l=e[c];(void 0===l||_a(l,xe[c])&&!we.call(e,c))&&(e[c]=o[c])}return e})),hs=Rr((function(e){return e.push(void 0,zi),ot(Cs,void 0,e)}));function ms(e,t,n){var r=null==e?void 0:pr(e,t);return void 0===r?n:r}function gs(e,t){return null!=e&&ro(e,t,gr)}var ys=_i((function(e,t,n){null!=t&&\"function\"!=typeof t.toString&&(t=Ae.call(t)),e[t]=n}),qs(Gs)),vs=_i((function(e,t,n){null!=t&&\"function\"!=typeof t.toString&&(t=Ae.call(t)),we.call(e,t)?e[t].push(n):e[t]=[n]}),Yi),bs=Rr(vr);function Es(e){return ja(e)?Rn(e):wr(e)}function xs(e){return ja(e)?Rn(e,!0):Sr(e)}var Ds=Ei((function(e,t,n){Or(e,t,n)})),Cs=Ei((function(e,t,n,r){Or(e,t,n,r)})),ws=Hi((function(e,t){var n={};if(null==e)return n;var r=!1;t=dt(t,(function(t){return t=si(t,e),r||(r=t.length>1),t})),vi(e,Gi(e),n),r&&(n=Yn(n,7,Vi));for(var i=t.length;i--;)Zr(n,t[i]);return n}));var Ss=Hi((function(e,t){return null==e?{}:function(e,t){return Ir(e,t,(function(t,n){return gs(e,n)}))}(e,t)}));function ks(e,t){if(null==e)return{};var n=dt(Gi(e),(function(e){return[e]}));return t=Yi(t),Ir(e,n,(function(e,n){return t(e,n[0])}))}var As=Ri(Es),Ts=Ri(xs);function _s(e){return null==e?[]:Ft(e,Es(e))}var Os=wi((function(e,t,n){return t=t.toLowerCase(),e+(n?Fs(t):t)}));function Fs(e){return Bs(ss(e).toLowerCase())}function Ns(e){return(e=ss(e))&&e.replace(ce,Lt).replace(Ie,\"\")}var Is=wi((function(e,t,n){return e+(n?\"-\":\"\")+t.toLowerCase()})),Ms=wi((function(e,t,n){return e+(n?\" \":\"\")+t.toLowerCase()})),js=Ci(\"toLowerCase\");var Ls=wi((function(e,t,n){return e+(n?\"_\":\"\")+t.toLowerCase()}));var Ps=wi((function(e,t,n){return e+(n?\" \":\"\")+Bs(t)}));var Rs=wi((function(e,t,n){return e+(n?\" \":\"\")+t.toUpperCase()})),Bs=Ci(\"toUpperCase\");function Us(e,t,n){return e=ss(e),void 0===(t=n?void 0:t)?function(e){return Pe.test(e)}(e)?function(e){return e.match(je)||[]}(e):function(e){return e.match(ee)||[]}(e):e.match(t)||[]}var zs=Rr((function(e,t){try{return ot(e,void 0,t)}catch(e){return Ba(e)?e:new fe(e)}})),Vs=Hi((function(e,t){return st(t,(function(t){t=ko(t),Kn(e,t,va(e[t],e))})),e}));function qs(e){return function(){return e}}var Hs=Ai(),Ws=Ai(!0);function Gs(e){return e}function Ks(e){return Cr(\"function\"==typeof e?e:Yn(e,1))}var Js=Rr((function(e,t){return function(n){return vr(n,e,t)}})),Qs=Rr((function(e,t){return function(n){return vr(e,n,t)}}));function Ys(e,t,n){var r=Es(t),i=lr(t,r);null!=n||qa(t)&&(i.length||!r.length)||(n=t,t=e,e=this,i=lr(t,Es(t)));var o=!(qa(n)&&\"chain\"in n&&!n.chain),a=Ua(e);return st(i,(function(n){var r=t[n];e[n]=r,a&&(e.prototype[n]=function(){var t=this.__chain__;if(o||t){var n=e(this.__wrapped__),i=n.__actions__=yi(this.__actions__);return i.push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,ht([this.value()],arguments))})})),e}function $s(){}var Xs=Fi(dt),Zs=Fi(ct),eu=Fi(yt);function tu(e){return uo(e)?St(ko(e)):function(e){return function(t){return pr(t,e)}}(e)}var nu=Ii(),ru=Ii(!0);function iu(){return[]}function ou(){return!1}var au=Oi((function(e,t){return e+t}),0),su=Li(\"ceil\"),uu=Oi((function(e,t){return e/t}),1),cu=Li(\"floor\");var lu,pu=Oi((function(e,t){return e*t}),1),fu=Li(\"round\"),du=Oi((function(e,t){return e-t}),0);return Tn.after=function(e,t){if(\"function\"!=typeof t)throw new ve(o);return e=rs(e),function(){if(--e<1)return t.apply(this,arguments)}},Tn.ary=ga,Tn.assign=us,Tn.assignIn=cs,Tn.assignInWith=ls,Tn.assignWith=ps,Tn.at=fs,Tn.before=ya,Tn.bind=va,Tn.bindAll=Vs,Tn.bindKey=ba,Tn.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Ia(e)?e:[e]},Tn.chain=ta,Tn.chunk=function(e,t,n){t=(n?so(e,t,n):void 0===t)?1:an(rs(t),0);var i=null==e?0:e.length;if(!i||t<1)return[];for(var o=0,a=0,s=r(Xt(i/t));o<i;)s[a++]=Wr(e,o,o+=t);return s},Tn.compact=function(e){for(var t=-1,n=null==e?0:e.length,r=0,i=[];++t<n;){var o=e[t];o&&(i[r++]=o)}return i},Tn.concat=function(){var e=arguments.length;if(!e)return[];for(var t=r(e-1),n=arguments[0],i=e;i--;)t[i-1]=arguments[i];return ht(Ia(n)?yi(n):[n],or(t,1))},Tn.cond=function(e){var t=null==e?0:e.length,n=Yi();return e=t?dt(e,(function(e){if(\"function\"!=typeof e[1])throw new ve(o);return[n(e[0]),e[1]]})):[],Rr((function(n){for(var r=-1;++r<t;){var i=e[r];if(ot(i[0],this,n))return ot(i[1],this,n)}}))},Tn.conforms=function(e){return function(e){var t=Es(e);return function(n){return $n(n,e,t)}}(Yn(e,1))},Tn.constant=qs,Tn.countBy=ia,Tn.create=function(e,t){var n=_n(e);return null==t?n:Gn(n,t)},Tn.curry=function e(t,n,r){var i=Bi(t,8,void 0,void 0,void 0,void 0,void 0,n=r?void 0:n);return i.placeholder=e.placeholder,i},Tn.curryRight=function e(t,n,r){var i=Bi(t,16,void 0,void 0,void 0,void 0,void 0,n=r?void 0:n);return i.placeholder=e.placeholder,i},Tn.debounce=Ea,Tn.defaults=ds,Tn.defaultsDeep=hs,Tn.defer=xa,Tn.delay=Da,Tn.difference=_o,Tn.differenceBy=Oo,Tn.differenceWith=Fo,Tn.drop=function(e,t,n){var r=null==e?0:e.length;return r?Wr(e,(t=n||void 0===t?1:rs(t))<0?0:t,r):[]},Tn.dropRight=function(e,t,n){var r=null==e?0:e.length;return r?Wr(e,0,(t=r-(t=n||void 0===t?1:rs(t)))<0?0:t):[]},Tn.dropRightWhile=function(e,t){return e&&e.length?ti(e,Yi(t,3),!0,!0):[]},Tn.dropWhile=function(e,t){return e&&e.length?ti(e,Yi(t,3),!0):[]},Tn.fill=function(e,t,n,r){var i=null==e?0:e.length;return i?(n&&\"number\"!=typeof n&&so(e,t,n)&&(n=0,r=i),function(e,t,n,r){var i=e.length;for((n=rs(n))<0&&(n=-n>i?0:i+n),(r=void 0===r||r>i?i:rs(r))<0&&(r+=i),r=n>r?0:is(r);n<r;)e[n++]=t;return e}(e,t,n,r)):[]},Tn.filter=function(e,t){return(Ia(e)?lt:ir)(e,Yi(t,3))},Tn.flatMap=function(e,t){return or(fa(e,t),1)},Tn.flatMapDeep=function(e,t){return or(fa(e,t),1/0)},Tn.flatMapDepth=function(e,t,n){return n=void 0===n?1:rs(n),or(fa(e,t),n)},Tn.flatten=Mo,Tn.flattenDeep=function(e){return(null==e?0:e.length)?or(e,1/0):[]},Tn.flattenDepth=function(e,t){return(null==e?0:e.length)?or(e,t=void 0===t?1:rs(t)):[]},Tn.flip=function(e){return Bi(e,512)},Tn.flow=Hs,Tn.flowRight=Ws,Tn.fromPairs=function(e){for(var t=-1,n=null==e?0:e.length,r={};++t<n;){var i=e[t];r[i[0]]=i[1]}return r},Tn.functions=function(e){return null==e?[]:lr(e,Es(e))},Tn.functionsIn=function(e){return null==e?[]:lr(e,xs(e))},Tn.groupBy=ca,Tn.initial=function(e){return(null==e?0:e.length)?Wr(e,0,-1):[]},Tn.intersection=Lo,Tn.intersectionBy=Po,Tn.intersectionWith=Ro,Tn.invert=ys,Tn.invertBy=vs,Tn.invokeMap=la,Tn.iteratee=Ks,Tn.keyBy=pa,Tn.keys=Es,Tn.keysIn=xs,Tn.map=fa,Tn.mapKeys=function(e,t){var n={};return t=Yi(t,3),ur(e,(function(e,r,i){Kn(n,t(e,r,i),e)})),n},Tn.mapValues=function(e,t){var n={};return t=Yi(t,3),ur(e,(function(e,r,i){Kn(n,r,t(e,r,i))})),n},Tn.matches=function(e){return Tr(Yn(e,1))},Tn.matchesProperty=function(e,t){return _r(e,Yn(t,1))},Tn.memoize=Ca,Tn.merge=Ds,Tn.mergeWith=Cs,Tn.method=Js,Tn.methodOf=Qs,Tn.mixin=Ys,Tn.negate=wa,Tn.nthArg=function(e){return e=rs(e),Rr((function(t){return Fr(t,e)}))},Tn.omit=ws,Tn.omitBy=function(e,t){return ks(e,wa(Yi(t)))},Tn.once=function(e){return ya(2,e)},Tn.orderBy=function(e,t,n,r){return null==e?[]:(Ia(t)||(t=null==t?[]:[t]),Ia(n=r?void 0:n)||(n=null==n?[]:[n]),Nr(e,t,n))},Tn.over=Xs,Tn.overArgs=Sa,Tn.overEvery=Zs,Tn.overSome=eu,Tn.partial=ka,Tn.partialRight=Aa,Tn.partition=da,Tn.pick=Ss,Tn.pickBy=ks,Tn.property=tu,Tn.propertyOf=function(e){return function(t){return null==e?void 0:pr(e,t)}},Tn.pull=Uo,Tn.pullAll=zo,Tn.pullAllBy=function(e,t,n){return e&&e.length&&t&&t.length?Mr(e,t,Yi(n,2)):e},Tn.pullAllWith=function(e,t,n){return e&&e.length&&t&&t.length?Mr(e,t,void 0,n):e},Tn.pullAt=Vo,Tn.range=nu,Tn.rangeRight=ru,Tn.rearg=Ta,Tn.reject=function(e,t){return(Ia(e)?lt:ir)(e,wa(Yi(t,3)))},Tn.remove=function(e,t){var n=[];if(!e||!e.length)return n;var r=-1,i=[],o=e.length;for(t=Yi(t,3);++r<o;){var a=e[r];t(a,r,e)&&(n.push(a),i.push(r))}return jr(e,i),n},Tn.rest=function(e,t){if(\"function\"!=typeof e)throw new ve(o);return Rr(e,t=void 0===t?t:rs(t))},Tn.reverse=qo,Tn.sampleSize=function(e,t,n){return t=(n?so(e,t,n):void 0===t)?1:rs(t),(Ia(e)?Un:Ur)(e,t)},Tn.set=function(e,t,n){return null==e?e:zr(e,t,n)},Tn.setWith=function(e,t,n,r){return r=\"function\"==typeof r?r:void 0,null==e?e:zr(e,t,n,r)},Tn.shuffle=function(e){return(Ia(e)?zn:Hr)(e)},Tn.slice=function(e,t,n){var r=null==e?0:e.length;return r?(n&&\"number\"!=typeof n&&so(e,t,n)?(t=0,n=r):(t=null==t?0:rs(t),n=void 0===n?r:rs(n)),Wr(e,t,n)):[]},Tn.sortBy=ha,Tn.sortedUniq=function(e){return e&&e.length?Qr(e):[]},Tn.sortedUniqBy=function(e,t){return e&&e.length?Qr(e,Yi(t,2)):[]},Tn.split=function(e,t,n){return n&&\"number\"!=typeof n&&so(e,t,n)&&(t=n=void 0),(n=void 0===n?4294967295:n>>>0)?(e=ss(e))&&(\"string\"==typeof t||null!=t&&!Ja(t))&&!(t=$r(t))&&Bt(e)?ci(Gt(e),0,n):e.split(t,n):[]},Tn.spread=function(e,t){if(\"function\"!=typeof e)throw new ve(o);return t=null==t?0:an(rs(t),0),Rr((function(n){var r=n[t],i=ci(n,0,t);return r&&ht(i,r),ot(e,this,i)}))},Tn.tail=function(e){var t=null==e?0:e.length;return t?Wr(e,1,t):[]},Tn.take=function(e,t,n){return e&&e.length?Wr(e,0,(t=n||void 0===t?1:rs(t))<0?0:t):[]},Tn.takeRight=function(e,t,n){var r=null==e?0:e.length;return r?Wr(e,(t=r-(t=n||void 0===t?1:rs(t)))<0?0:t,r):[]},Tn.takeRightWhile=function(e,t){return e&&e.length?ti(e,Yi(t,3),!1,!0):[]},Tn.takeWhile=function(e,t){return e&&e.length?ti(e,Yi(t,3)):[]},Tn.tap=function(e,t){return t(e),e},Tn.throttle=function(e,t,n){var r=!0,i=!0;if(\"function\"!=typeof e)throw new ve(o);return qa(n)&&(r=\"leading\"in n?!!n.leading:r,i=\"trailing\"in n?!!n.trailing:i),Ea(e,t,{leading:r,maxWait:t,trailing:i})},Tn.thru=na,Tn.toArray=ts,Tn.toPairs=As,Tn.toPairsIn=Ts,Tn.toPath=function(e){return Ia(e)?dt(e,ko):$a(e)?[e]:yi(So(ss(e)))},Tn.toPlainObject=as,Tn.transform=function(e,t,n){var r=Ia(e),i=r||Pa(e)||Xa(e);if(t=Yi(t,4),null==n){var o=e&&e.constructor;n=i?r?new o:[]:qa(e)&&Ua(o)?_n(We(e)):{}}return(i?st:ur)(e,(function(e,r,i){return t(n,e,r,i)})),n},Tn.unary=function(e){return ga(e,1)},Tn.union=Ho,Tn.unionBy=Wo,Tn.unionWith=Go,Tn.uniq=function(e){return e&&e.length?Xr(e):[]},Tn.uniqBy=function(e,t){return e&&e.length?Xr(e,Yi(t,2)):[]},Tn.uniqWith=function(e,t){return t=\"function\"==typeof t?t:void 0,e&&e.length?Xr(e,void 0,t):[]},Tn.unset=function(e,t){return null==e||Zr(e,t)},Tn.unzip=Ko,Tn.unzipWith=Jo,Tn.update=function(e,t,n){return null==e?e:ei(e,t,ai(n))},Tn.updateWith=function(e,t,n,r){return r=\"function\"==typeof r?r:void 0,null==e?e:ei(e,t,ai(n),r)},Tn.values=_s,Tn.valuesIn=function(e){return null==e?[]:Ft(e,xs(e))},Tn.without=Qo,Tn.words=Us,Tn.wrap=function(e,t){return ka(ai(t),e)},Tn.xor=Yo,Tn.xorBy=$o,Tn.xorWith=Xo,Tn.zip=Zo,Tn.zipObject=function(e,t){return ii(e||[],t||[],qn)},Tn.zipObjectDeep=function(e,t){return ii(e||[],t||[],zr)},Tn.zipWith=ea,Tn.entries=As,Tn.entriesIn=Ts,Tn.extend=cs,Tn.extendWith=ls,Ys(Tn,Tn),Tn.add=au,Tn.attempt=zs,Tn.camelCase=Os,Tn.capitalize=Fs,Tn.ceil=su,Tn.clamp=function(e,t,n){return void 0===n&&(n=t,t=void 0),void 0!==n&&(n=(n=os(n))==n?n:0),void 0!==t&&(t=(t=os(t))==t?t:0),Qn(os(e),t,n)},Tn.clone=function(e){return Yn(e,4)},Tn.cloneDeep=function(e){return Yn(e,5)},Tn.cloneDeepWith=function(e,t){return Yn(e,5,t=\"function\"==typeof t?t:void 0)},Tn.cloneWith=function(e,t){return Yn(e,4,t=\"function\"==typeof t?t:void 0)},Tn.conformsTo=function(e,t){return null==t||$n(e,t,Es(t))},Tn.deburr=Ns,Tn.defaultTo=function(e,t){return null==e||e!=e?t:e},Tn.divide=uu,Tn.endsWith=function(e,t,n){e=ss(e),t=$r(t);var r=e.length,i=n=void 0===n?r:Qn(rs(n),0,r);return(n-=t.length)>=0&&e.slice(n,i)==t},Tn.eq=_a,Tn.escape=function(e){return(e=ss(e))&&B.test(e)?e.replace(P,Pt):e},Tn.escapeRegExp=function(e){return(e=ss(e))&&K.test(e)?e.replace(G,\"\\\\$&\"):e},Tn.every=function(e,t,n){var r=Ia(e)?ct:nr;return n&&so(e,t,n)&&(t=void 0),r(e,Yi(t,3))},Tn.find=oa,Tn.findIndex=No,Tn.findKey=function(e,t){return bt(e,Yi(t,3),ur)},Tn.findLast=aa,Tn.findLastIndex=Io,Tn.findLastKey=function(e,t){return bt(e,Yi(t,3),cr)},Tn.floor=cu,Tn.forEach=sa,Tn.forEachRight=ua,Tn.forIn=function(e,t){return null==e?e:ar(e,Yi(t,3),xs)},Tn.forInRight=function(e,t){return null==e?e:sr(e,Yi(t,3),xs)},Tn.forOwn=function(e,t){return e&&ur(e,Yi(t,3))},Tn.forOwnRight=function(e,t){return e&&cr(e,Yi(t,3))},Tn.get=ms,Tn.gt=Oa,Tn.gte=Fa,Tn.has=function(e,t){return null!=e&&ro(e,t,mr)},Tn.hasIn=gs,Tn.head=jo,Tn.identity=Gs,Tn.includes=function(e,t,n,r){e=ja(e)?e:_s(e),n=n&&!r?rs(n):0;var i=e.length;return n<0&&(n=an(i+n,0)),Ya(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&xt(e,t,n)>-1},Tn.indexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:rs(n);return i<0&&(i=an(r+i,0)),xt(e,t,i)},Tn.inRange=function(e,t,n){return t=ns(t),void 0===n?(n=t,t=0):n=ns(n),function(e,t,n){return e>=sn(t,n)&&e<an(t,n)}(e=os(e),t,n)},Tn.invoke=bs,Tn.isArguments=Na,Tn.isArray=Ia,Tn.isArrayBuffer=Ma,Tn.isArrayLike=ja,Tn.isArrayLikeObject=La,Tn.isBoolean=function(e){return!0===e||!1===e||Ha(e)&&dr(e)==l},Tn.isBuffer=Pa,Tn.isDate=Ra,Tn.isElement=function(e){return Ha(e)&&1===e.nodeType&&!Ka(e)},Tn.isEmpty=function(e){if(null==e)return!0;if(ja(e)&&(Ia(e)||\"string\"==typeof e||\"function\"==typeof e.splice||Pa(e)||Xa(e)||Na(e)))return!e.length;var t=no(e);if(t==m||t==b)return!e.size;if(po(e))return!wr(e).length;for(var n in e)if(we.call(e,n))return!1;return!0},Tn.isEqual=function(e,t){return Er(e,t)},Tn.isEqualWith=function(e,t,n){var r=(n=\"function\"==typeof n?n:void 0)?n(e,t):void 0;return void 0===r?Er(e,t,void 0,n):!!r},Tn.isError=Ba,Tn.isFinite=function(e){return\"number\"==typeof e&&nn(e)},Tn.isFunction=Ua,Tn.isInteger=za,Tn.isLength=Va,Tn.isMap=Wa,Tn.isMatch=function(e,t){return e===t||xr(e,t,Xi(t))},Tn.isMatchWith=function(e,t,n){return n=\"function\"==typeof n?n:void 0,xr(e,t,Xi(t),n)},Tn.isNaN=function(e){return Ga(e)&&e!=+e},Tn.isNative=function(e){if(lo(e))throw new fe(\"Unsupported core-js use. Try https://npms.io/search?q=ponyfill.\");return Dr(e)},Tn.isNil=function(e){return null==e},Tn.isNull=function(e){return null===e},Tn.isNumber=Ga,Tn.isObject=qa,Tn.isObjectLike=Ha,Tn.isPlainObject=Ka,Tn.isRegExp=Ja,Tn.isSafeInteger=function(e){return za(e)&&e>=-9007199254740991&&e<=9007199254740991},Tn.isSet=Qa,Tn.isString=Ya,Tn.isSymbol=$a,Tn.isTypedArray=Xa,Tn.isUndefined=function(e){return void 0===e},Tn.isWeakMap=function(e){return Ha(e)&&no(e)==D},Tn.isWeakSet=function(e){return Ha(e)&&\"[object WeakSet]\"==dr(e)},Tn.join=function(e,t){return null==e?\"\":rn.call(e,t)},Tn.kebabCase=Is,Tn.last=Bo,Tn.lastIndexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=r;return void 0!==n&&(i=(i=rs(n))<0?an(r+i,0):sn(i,r-1)),t==t?function(e,t,n){for(var r=n+1;r--;)if(e[r]===t)return r;return r}(e,t,i):Et(e,Ct,i,!0)},Tn.lowerCase=Ms,Tn.lowerFirst=js,Tn.lt=Za,Tn.lte=es,Tn.max=function(e){return e&&e.length?rr(e,Gs,hr):void 0},Tn.maxBy=function(e,t){return e&&e.length?rr(e,Yi(t,2),hr):void 0},Tn.mean=function(e){return wt(e,Gs)},Tn.meanBy=function(e,t){return wt(e,Yi(t,2))},Tn.min=function(e){return e&&e.length?rr(e,Gs,kr):void 0},Tn.minBy=function(e,t){return e&&e.length?rr(e,Yi(t,2),kr):void 0},Tn.stubArray=iu,Tn.stubFalse=ou,Tn.stubObject=function(){return{}},Tn.stubString=function(){return\"\"},Tn.stubTrue=function(){return!0},Tn.multiply=pu,Tn.nth=function(e,t){return e&&e.length?Fr(e,rs(t)):void 0},Tn.noConflict=function(){return Ke._===this&&(Ke._=_e),this},Tn.noop=$s,Tn.now=ma,Tn.pad=function(e,t,n){e=ss(e);var r=(t=rs(t))?Wt(e):0;if(!t||r>=t)return e;var i=(t-r)/2;return Ni(Zt(i),n)+e+Ni(Xt(i),n)},Tn.padEnd=function(e,t,n){e=ss(e);var r=(t=rs(t))?Wt(e):0;return t&&r<t?e+Ni(t-r,n):e},Tn.padStart=function(e,t,n){e=ss(e);var r=(t=rs(t))?Wt(e):0;return t&&r<t?Ni(t-r,n)+e:e},Tn.parseInt=function(e,t,n){return n||null==t?t=0:t&&(t=+t),cn(ss(e).replace(Q,\"\"),t||0)},Tn.random=function(e,t,n){if(n&&\"boolean\"!=typeof n&&so(e,t,n)&&(t=n=void 0),void 0===n&&(\"boolean\"==typeof t?(n=t,t=void 0):\"boolean\"==typeof e&&(n=e,e=void 0)),void 0===e&&void 0===t?(e=0,t=1):(e=ns(e),void 0===t?(t=e,e=0):t=ns(t)),e>t){var r=e;e=t,t=r}if(n||e%1||t%1){var i=ln();return sn(e+i*(t-e+qe(\"1e-\"+((i+\"\").length-1))),t)}return Lr(e,t)},Tn.reduce=function(e,t,n){var r=Ia(e)?mt:At,i=arguments.length<3;return r(e,Yi(t,4),n,i,er)},Tn.reduceRight=function(e,t,n){var r=Ia(e)?gt:At,i=arguments.length<3;return r(e,Yi(t,4),n,i,tr)},Tn.repeat=function(e,t,n){return t=(n?so(e,t,n):void 0===t)?1:rs(t),Pr(ss(e),t)},Tn.replace=function(){var e=arguments,t=ss(e[0]);return e.length<3?t:t.replace(e[1],e[2])},Tn.result=function(e,t,n){var r=-1,i=(t=si(t,e)).length;for(i||(i=1,e=void 0);++r<i;){var o=null==e?void 0:e[ko(t[r])];void 0===o&&(r=i,o=n),e=Ua(o)?o.call(e):o}return e},Tn.round=fu,Tn.runInContext=e,Tn.sample=function(e){return(Ia(e)?Bn:Br)(e)},Tn.size=function(e){if(null==e)return 0;if(ja(e))return Ya(e)?Wt(e):e.length;var t=no(e);return t==m||t==b?e.size:wr(e).length},Tn.snakeCase=Ls,Tn.some=function(e,t,n){var r=Ia(e)?yt:Gr;return n&&so(e,t,n)&&(t=void 0),r(e,Yi(t,3))},Tn.sortedIndex=function(e,t){return Kr(e,t)},Tn.sortedIndexBy=function(e,t,n){return Jr(e,t,Yi(n,2))},Tn.sortedIndexOf=function(e,t){var n=null==e?0:e.length;if(n){var r=Kr(e,t);if(r<n&&_a(e[r],t))return r}return-1},Tn.sortedLastIndex=function(e,t){return Kr(e,t,!0)},Tn.sortedLastIndexBy=function(e,t,n){return Jr(e,t,Yi(n,2),!0)},Tn.sortedLastIndexOf=function(e,t){if(null==e?0:e.length){var n=Kr(e,t,!0)-1;if(_a(e[n],t))return n}return-1},Tn.startCase=Ps,Tn.startsWith=function(e,t,n){return e=ss(e),n=null==n?0:Qn(rs(n),0,e.length),t=$r(t),e.slice(n,n+t.length)==t},Tn.subtract=du,Tn.sum=function(e){return e&&e.length?Tt(e,Gs):0},Tn.sumBy=function(e,t){return e&&e.length?Tt(e,Yi(t,2)):0},Tn.template=function(e,t,n){var r=Tn.templateSettings;n&&so(e,t,n)&&(t=void 0),e=ss(e),t=ls({},t,r,Ui);var i,o,a=ls({},t.imports,r.imports,Ui),s=Es(a),u=Ft(a,s),c=0,l=t.interpolate||le,p=\"__p += '\",f=ge((t.escape||le).source+\"|\"+l.source+\"|\"+(l===V?ne:le).source+\"|\"+(t.evaluate||le).source+\"|$\",\"g\"),d=\"//# sourceURL=\"+(we.call(t,\"sourceURL\")?(t.sourceURL+\"\").replace(/[\\r\\n]/g,\" \"):\"lodash.templateSources[\"+ ++Be+\"]\")+\"\\n\";e.replace(f,(function(t,n,r,a,s,u){return r||(r=a),p+=e.slice(c,u).replace(pe,Rt),n&&(i=!0,p+=\"' +\\n__e(\"+n+\") +\\n'\"),s&&(o=!0,p+=\"';\\n\"+s+\";\\n__p += '\"),r&&(p+=\"' +\\n((__t = (\"+r+\")) == null ? '' : __t) +\\n'\"),c=u+t.length,t})),p+=\"';\\n\";var h=we.call(t,\"variable\")&&t.variable;h||(p=\"with (obj) {\\n\"+p+\"\\n}\\n\"),p=(o?p.replace(I,\"\"):p).replace(M,\"$1\").replace(j,\"$1;\"),p=\"function(\"+(h||\"obj\")+\") {\\n\"+(h?\"\":\"obj || (obj = {});\\n\")+\"var __t, __p = ''\"+(i?\", __e = _.escape\":\"\")+(o?\", __j = Array.prototype.join;\\nfunction print() { __p += __j.call(arguments, '') }\\n\":\";\\n\")+p+\"return __p\\n}\";var m=zs((function(){return de(s,d+\"return \"+p).apply(void 0,u)}));if(m.source=p,Ba(m))throw m;return m},Tn.times=function(e,t){if((e=rs(e))<1||e>9007199254740991)return[];var n=4294967295,r=sn(e,4294967295);e-=4294967295;for(var i=_t(r,t=Yi(t));++n<e;)t(n);return i},Tn.toFinite=ns,Tn.toInteger=rs,Tn.toLength=is,Tn.toLower=function(e){return ss(e).toLowerCase()},Tn.toNumber=os,Tn.toSafeInteger=function(e){return e?Qn(rs(e),-9007199254740991,9007199254740991):0===e?e:0},Tn.toString=ss,Tn.toUpper=function(e){return ss(e).toUpperCase()},Tn.trim=function(e,t,n){if((e=ss(e))&&(n||void 0===t))return e.replace(J,\"\");if(!e||!(t=$r(t)))return e;var r=Gt(e),i=Gt(t);return ci(r,It(r,i),Mt(r,i)+1).join(\"\")},Tn.trimEnd=function(e,t,n){if((e=ss(e))&&(n||void 0===t))return e.replace(Y,\"\");if(!e||!(t=$r(t)))return e;var r=Gt(e);return ci(r,0,Mt(r,Gt(t))+1).join(\"\")},Tn.trimStart=function(e,t,n){if((e=ss(e))&&(n||void 0===t))return e.replace(Q,\"\");if(!e||!(t=$r(t)))return e;var r=Gt(e);return ci(r,It(r,Gt(t))).join(\"\")},Tn.truncate=function(e,t){var n=30,r=\"...\";if(qa(t)){var i=\"separator\"in t?t.separator:i;n=\"length\"in t?rs(t.length):n,r=\"omission\"in t?$r(t.omission):r}var o=(e=ss(e)).length;if(Bt(e)){var a=Gt(e);o=a.length}if(n>=o)return e;var s=n-Wt(r);if(s<1)return r;var u=a?ci(a,0,s).join(\"\"):e.slice(0,s);if(void 0===i)return u+r;if(a&&(s+=u.length-s),Ja(i)){if(e.slice(s).search(i)){var c,l=u;for(i.global||(i=ge(i.source,ss(re.exec(i))+\"g\")),i.lastIndex=0;c=i.exec(l);)var p=c.index;u=u.slice(0,void 0===p?s:p)}}else if(e.indexOf($r(i),s)!=s){var f=u.lastIndexOf(i);f>-1&&(u=u.slice(0,f))}return u+r},Tn.unescape=function(e){return(e=ss(e))&&R.test(e)?e.replace(L,Kt):e},Tn.uniqueId=function(e){var t=++Se;return ss(e)+t},Tn.upperCase=Rs,Tn.upperFirst=Bs,Tn.each=sa,Tn.eachRight=ua,Tn.first=jo,Ys(Tn,(lu={},ur(Tn,(function(e,t){we.call(Tn.prototype,t)||(lu[t]=e)})),lu),{chain:!1}),Tn.VERSION=\"4.17.15\",st([\"bind\",\"bindKey\",\"curry\",\"curryRight\",\"partial\",\"partialRight\"],(function(e){Tn[e].placeholder=Tn})),st([\"drop\",\"take\"],(function(e,t){Nn.prototype[e]=function(n){n=void 0===n?1:an(rs(n),0);var r=this.__filtered__&&!t?new Nn(this):this.clone();return r.__filtered__?r.__takeCount__=sn(n,r.__takeCount__):r.__views__.push({size:sn(n,4294967295),type:e+(r.__dir__<0?\"Right\":\"\")}),r},Nn.prototype[e+\"Right\"]=function(t){return this.reverse()[e](t).reverse()}})),st([\"filter\",\"map\",\"takeWhile\"],(function(e,t){var n=t+1,r=1==n||3==n;Nn.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:Yi(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}})),st([\"head\",\"last\"],(function(e,t){var n=\"take\"+(t?\"Right\":\"\");Nn.prototype[e]=function(){return this[n](1).value()[0]}})),st([\"initial\",\"tail\"],(function(e,t){var n=\"drop\"+(t?\"\":\"Right\");Nn.prototype[e]=function(){return this.__filtered__?new Nn(this):this[n](1)}})),Nn.prototype.compact=function(){return this.filter(Gs)},Nn.prototype.find=function(e){return this.filter(e).head()},Nn.prototype.findLast=function(e){return this.reverse().find(e)},Nn.prototype.invokeMap=Rr((function(e,t){return\"function\"==typeof e?new Nn(this):this.map((function(n){return vr(n,e,t)}))})),Nn.prototype.reject=function(e){return this.filter(wa(Yi(e)))},Nn.prototype.slice=function(e,t){e=rs(e);var n=this;return n.__filtered__&&(e>0||t<0)?new Nn(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),void 0!==t&&(n=(t=rs(t))<0?n.dropRight(-t):n.take(t-e)),n)},Nn.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Nn.prototype.toArray=function(){return this.take(4294967295)},ur(Nn.prototype,(function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),i=Tn[r?\"take\"+(\"last\"==t?\"Right\":\"\"):t],o=r||/^find/.test(t);i&&(Tn.prototype[t]=function(){var t=this.__wrapped__,a=r?[1]:arguments,s=t instanceof Nn,u=a[0],c=s||Ia(t),l=function(e){var t=i.apply(Tn,ht([e],a));return r&&p?t[0]:t};c&&n&&\"function\"==typeof u&&1!=u.length&&(s=c=!1);var p=this.__chain__,f=!!this.__actions__.length,d=o&&!p,h=s&&!f;if(!o&&c){t=h?t:new Nn(this);var m=e.apply(t,a);return m.__actions__.push({func:na,args:[l],thisArg:void 0}),new Fn(m,p)}return d&&h?e.apply(this,a):(m=this.thru(l),d?r?m.value()[0]:m.value():m)})})),st([\"pop\",\"push\",\"shift\",\"sort\",\"splice\",\"unshift\"],(function(e){var t=be[e],n=/^(?:push|sort|unshift)$/.test(e)?\"tap\":\"thru\",r=/^(?:pop|shift)$/.test(e);Tn.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var i=this.value();return t.apply(Ia(i)?i:[],e)}return this[n]((function(n){return t.apply(Ia(n)?n:[],e)}))}})),ur(Nn.prototype,(function(e,t){var n=Tn[t];if(n){var r=n.name+\"\";we.call(bn,r)||(bn[r]=[]),bn[r].push({name:t,func:n})}})),bn[Ti(void 0,2).name]=[{name:\"wrapper\",func:void 0}],Nn.prototype.clone=function(){var e=new Nn(this.__wrapped__);return e.__actions__=yi(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=yi(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=yi(this.__views__),e},Nn.prototype.reverse=function(){if(this.__filtered__){var e=new Nn(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Nn.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=Ia(e),r=t<0,i=n?e.length:0,o=function(e,t,n){var r=-1,i=n.length;for(;++r<i;){var o=n[r],a=o.size;switch(o.type){case\"drop\":e+=a;break;case\"dropRight\":t-=a;break;case\"take\":t=sn(t,e+a);break;case\"takeRight\":e=an(e,t-a)}}return{start:e,end:t}}(0,i,this.__views__),a=o.start,s=o.end,u=s-a,c=r?s:a-1,l=this.__iteratees__,p=l.length,f=0,d=sn(u,this.__takeCount__);if(!n||!r&&i==u&&d==u)return ni(e,this.__actions__);var h=[];e:for(;u--&&f<d;){for(var m=-1,g=e[c+=t];++m<p;){var y=l[m],v=y.iteratee,b=y.type,E=v(g);if(2==b)g=E;else if(!E){if(1==b)continue e;break e}}h[f++]=g}return h},Tn.prototype.at=ra,Tn.prototype.chain=function(){return ta(this)},Tn.prototype.commit=function(){return new Fn(this.value(),this.__chain__)},Tn.prototype.next=function(){void 0===this.__values__&&(this.__values__=ts(this.value()));var e=this.__index__>=this.__values__.length;return{done:e,value:e?void 0:this.__values__[this.__index__++]}},Tn.prototype.plant=function(e){for(var t,n=this;n instanceof On;){var r=To(n);r.__index__=0,r.__values__=void 0,t?i.__wrapped__=r:t=r;var i=r;n=n.__wrapped__}return i.__wrapped__=e,t},Tn.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Nn){var t=e;return this.__actions__.length&&(t=new Nn(this)),(t=t.reverse()).__actions__.push({func:na,args:[qo],thisArg:void 0}),new Fn(t,this.__chain__)}return this.thru(qo)},Tn.prototype.toJSON=Tn.prototype.valueOf=Tn.prototype.value=function(){return ni(this.__wrapped__,this.__actions__)},Tn.prototype.first=Tn.prototype.head,Xe&&(Tn.prototype[Xe]=function(){return this}),Tn}();Ke._=Jt,void 0===(i=function(){return Jt}.call(t,n,t,r))||(r.exports=i)}).call(this)}).call(this,n(43),n(161)(e))},function(e,t,n){\"use strict\";var r;Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(49);t.setSettingsString=(r=i.createActions({SET_SETTINGS_STRING:function(e){return{settingsString:e}},SET_CONFIG_STRING:function(e){return{configString:e}},OPEN_HISTORY:function(){return{}},CLOSE_HISTORY:function(){return{}}})).setSettingsString,t.setConfigString=r.setConfigString,t.openHistory=r.openHistory,t.closeHistory=r.closeHistory},function(e,t,n){\"use strict\";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 i=this&&this.__assign||function(){return(i=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)},o=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},\"function\"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError(\"Generator is already executing.\");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){a.label=o[1];break}if(6===o[0]&&a.label<i[1]){a.label=i[1],i=o;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(o);break}i[2]&&a.ops.pop(),a.trys.pop();continue}o=t.call(e,a)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}};Object.defineProperty(t,\"__esModule\",{value:!0});var a,s=n(62),u=n(153),c=n(115),l=n(522),p=n(278),f=n(279),d=n(111),h=n(213),m=n(154),g=n(38),y=n(32),v=n(293),b=n(42),E=n(87),x=n(101),D=n(118),C=n(88),w=n(34);t.setSubscriptionEndpoint=function(e){a=e},t.defaultLinkCreator=function(e,t){var n={},r=e.headers,o=e.credentials;r&&(n=i({},r));var a=new l.HttpLink({uri:e.endpoint,headers:r,credentials:o});if(!t)return{link:a};var u=new c.SubscriptionClient(t,{timeout:2e4,lazy:!0,connectionParams:n}),d=new p.WebSocketLink(u);return{link:s.ApolloLink.split((function(e){return f.isSubscription(e)}),d,a),subscriptionClient:u}};var S=t.defaultLinkCreator;t.schemaFetcher=new v.SchemaFetcher(S),window.schemaFetcher=t.schemaFetcher,t.setLinkCreator=function(e){e&&(S=e,t.schemaFetcher=new v.SchemaFetcher(e))};var k={};function A(e,t){void 0===t&&(t=!1);var n=T(e);if(\"Failed to fetch\"===n)return{error:\"\"+n+(t?\" schema\":\"\")+\". Please check your connection\"};try{return JSON.parse(n)}catch(e){}return{error:n}}function T(e){return e instanceof Error?e.result&&\"object\"===r(e.result)?e.result:e.message:e}t.formatError=A,t.fecthingSagas=[d.takeEvery(\"RUN_QUERY\",C.safely((function(e){var t,n,r,i,c,l,p,v,C,_,O,F,N,I,M,j,L,P,R,B;return o(this,(function(o){switch(o.label){case 0:return t=e.payload.operationName,[4,d.select(b.getSelectedWorkspaceId)];case 1:return n=o.sent(),[4,d.select(y.getSelectedSession)];case 2:return r=o.sent(),i={query:r.query,operationName:t,variables:y.getParsedVariablesFromSession(r)},c=m.makeOperation(i),l=f.isSubscription(c),[4,d.select(b.getSelectedWorkspaceId)];case 3:return p=o.sent(),[4,d.select(b.getSettings)];case 4:return v=o.sent(),[4,d.put(g.setSubscriptionActive(f.isSubscription(c)))];case 5:return o.sent(),[4,d.put(g.startQuery())];case 6:return o.sent(),C=u.parseHeaders(r.headers),r.tracingSupported&&r.responseTracingOpen&&(C=w.set(C,\"X-Apollo-Tracing\",\"1\")),_={endpoint:r.endpoint,headers:C,credentials:v[\"request.credentials\"]},O=S(_,a),F=O.link,N=O.subscriptionClient,[4,d.put(g.setCurrentQueryStartTime(new Date))];case 7:o.sent(),I=!1,M=h.eventChannel((function(e){var t=!1;N&&l&&N.onDisconnected((function(){t=!0,e({error:new Error(\"Could not connect to websocket endpoint \"+a+\". Please check if the endpoint url is correct.\")}),e(h.END)}));var n=s.execute(F,c).subscribe({next:function(t){e({value:t})},error:function(t){e({error:t}),e(h.END)},complete:function(){e(h.END)}}),i=function(){if(!t)try{n.unsubscribe()}catch(e){console.error(e)}},o=p+\"~\"+r.id;return k[o]={unsubscribe:i},i})),o.label=8;case 8:o.trys.push([8,,23,26]),o.label=9;case 9:return[4,d.take(M)];case 10:return j=o.sent(),L=j.value,P=j.error,L&&L.extensions?(R=L.extensions,[4,d.put(g.setResponseExtensions(R))]):[3,12];case 11:o.sent(),L.extensions.tracing&&v[\"tracing.hideTracingResponse\"]&&delete L.extensions.tracing,o.label=12;case 12:return B=new x.ResponseRecord({date:JSON.stringify(L||A(P),null,2),time:new Date,resultID:E()}),\"Failed to fetch\"!==T(P)?[3,14]:[4,d.put(g.setEndpointUnreachable(r.endpoint))];case 13:o.sent(),o.label=14;case 14:return l?I?[4,d.put(g.clearResponses())]:[3,16]:[3,18];case 15:o.sent(),I=!1,o.label=16;case 16:return[4,d.put(g.addResponse(n,r.id,B))];case 17:return o.sent(),[3,20];case 18:return[4,d.put(g.setResponse(n,r.id,B))];case 19:o.sent(),o.label=20;case 20:return[4,d.put(D.addHistoryItem(r))];case 21:return o.sent(),[3,9];case 22:return[3,26];case 23:return[4,d.put(g.setCurrentQueryEndTime(new Date))];case 24:return o.sent(),[4,d.put(g.stopQuery(r.id,n))];case 25:return o.sent(),[7];case 26:return[2]}}))}))),d.takeLatest(\"STOP_QUERY\",C.safely((function(e){var t,n,r,i,a,s,u,c;return o(this,(function(o){switch(o.label){case 0:return t=e.payload,n=t.sessionId,r=t.workspaceId,[4,d.select(y.getSessionsState)];case 1:return i=o.sent().sessions,a=i.get(n),[4,r||d.select(b.getSelectedWorkspaceId)];case 2:return s=o.sent(),u=s+\"~\"+a.id,(c=k[u])&&c.unsubscribe&&c.unsubscribe(),delete k[u],[2]}}))})))]},function(e,t){var n,r,i=e.exports={};function o(){throw new Error(\"setTimeout has not been defined\")}function a(){throw new Error(\"clearTimeout has not been defined\")}function s(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n=\"function\"==typeof setTimeout?setTimeout:o}catch(e){n=o}try{r=\"function\"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var u,c=[],l=!1,p=-1;function f(){l&&u&&(l=!1,u.length?c=u.concat(c):p=-1,c.length&&d())}function d(){if(!l){var e=s(f);l=!0;for(var t=c.length;t;){for(u=c,c=[];++p<t;)u&&u[p].run();p=-1,t=c.length}u=null,l=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===a||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function h(e,t){this.fun=e,this.array=t}function m(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];c.push(new h(e,t)),1!==c.length||l||s(d)},h.prototype.run=function(){this.fun.apply(null,this.array)},i.title=\"browser\",i.browser=!0,i.env={},i.argv=[],i.version=\"\",i.versions={},i.on=m,i.addListener=m,i.once=m,i.off=m,i.removeListener=m,i.removeAllListeners=m,i.emit=m,i.prependListener=m,i.prependOnceListener=m,i.listeners=function(e){return[]},i.binding=function(e){throw new Error(\"process.binding is not supported\")},i.cwd=function(){return\"/\"},i.chdir=function(e){throw new Error(\"process.chdir is not supported\")},i.umask=function(){return 0}},function(e,t,n){\"use strict\";var r,i,o=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(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,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};Object.defineProperty(t,\"__esModule\",{value:!0});var s=n(34),u=n(49),c=n(38),l=n(32),p=n(68),f=n(87),d=n(99),h=n(157),m=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o(t,e),t.prototype.toJSON=function(){var e=this.toObject(),t={queryRunning:!1,subscriptionActive:!1,responseExtensions:{}};return e.responses&&e.responses.size>0&&(e.responses.size>20||e.responses.get(0).date.length>2e3)&&(t.responses=s.List()),s.merge(e,t)},t}(s.Record(p.getDefaultSession(\"\")));t.Session=m;var g=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o(t,e),t}(s.Record({resultID:\"\",date:\"\",time:new Date,isSchemaError:!1}));function y(e){return void 0===e&&(e=\"\"),new m({endpoint:e}).set(\"id\",f())}t.ResponseRecord=g,t.sessionFromTab=function(e){return new m(a(a({},e),{headers:e.headers?JSON.stringify(e.headers,null,2):\"\",responses:e.responses&&e.responses.length>0?s.List(e.responses.map((function(e){return new g({date:e})}))):s.List()})).set(\"id\",f())};var v=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o(t,e),t}(s.Record({sessions:s.OrderedMap({}),selectedSessionId:\"\",sessionCount:0,headers:\"\"}));function b(e){var t,n=new m({endpoint:e||\"\"});return new v({sessions:s.OrderedMap((t={},t[n.id]=n,t)),selectedSessionId:n.id,sessionCount:1})}t.SessionState=v,t.makeSessionState=b;var E=u.handleActions(((i={})[u.combineActions(c.editQuery,c.editVariables,c.editHeaders,c.editEndpoint,c.setEditorFlex,c.openQueryVariables,c.closeQueryVariables,c.setVariableEditorHeight,c.setResponseTracingHeight,c.setTracingSupported,c.setVariableToType,c.setOperations,c.setOperationName,c.setSubscriptionActive,c.startQuery,c.setQueryTypes,c.editName,c.setResponseExtensions,c.setCurrentQueryStartTime,c.setCurrentQueryEndTime)]=function(e,t){var n=t.payload,r=Object.keys(n),i=1===r.length?r[0]:r[1],o=[\"sessions\",l.getSelectedSessionId(e),i];return e.setIn(o,n[i])},i.START_QUERY=function(e){return e.setIn([\"sessions\",l.getSelectedSessionId(e),\"queryRunning\"],!0).setIn([\"sessions\",l.getSelectedSessionId(e),\"responseExtensions\"],void 0)},i.CLOSE_TRACING=function(e,t){var n=t.payload.responseTracingHeight;return e.mergeDeepIn([\"sessions\",l.getSelectedSessionId(e)],s.Map({responseTracingHeight:n,responseTracingOpen:!1}))},i.TOGGLE_TRACING=function(e){var t=[\"sessions\",l.getSelectedSessionId(e),\"responseTracingOpen\"];return e.setIn(t,!e.getIn(t))},i.OPEN_TRACING=function(e,t){var n=t.payload.responseTracingHeight;return e.mergeDeepIn([\"sessions\",l.getSelectedSessionId(e)],s.Map({responseTracingHeight:n,responseTracingOpen:!0}))},i.CLOSE_VARIABLES=function(e,t){var n=t.payload.variableEditorHeight;return e.mergeDeepIn([\"sessions\",l.getSelectedSessionId(e)],s.Map({variableEditorHeight:n,variableEditorOpen:!1}))},i.OPEN_VARIABLES=function(e,t){var n=t.payload.variableEditorHeight;return e.mergeDeepIn([\"sessions\",l.getSelectedSessionId(e)],s.Map({variableEditorHeight:n,variableEditorOpen:!0}))},i.TOGGLE_VARIABLES=function(e){var t=[\"sessions\",l.getSelectedSessionId(e),\"variableEditorOpen\"];return e.setIn(t,!e.getIn(t))},i.ADD_RESPONSE=function(e,t){var n=t.payload,r=n.response,i=n.sessionId;return e.updateIn([\"sessions\",i,\"responses\"],(function(e){return e.push(r)}))},i.SET_RESPONSE=function(e,t){var n=t.payload,r=n.response,i=n.sessionId;return e.setIn([\"sessions\",i,\"responses\"],s.List([r]))},i.CLEAR_RESPONSES=function(e){return e.setIn([\"sessions\",l.getSelectedSessionId(e),\"responses\"],s.List())},i.FETCH_SCHEMA=function(e){return e.setIn([\"sessions\",l.getSelectedSessionId(e),\"isReloadingSchema\"],!0)},i.REFETCH_SCHEMA=function(e){return e.setIn([\"sessions\",l.getSelectedSessionId(e),\"isReloadingSchema\"],!0)},i.STOP_QUERY=function(e,t){var n=t.payload.sessionId;return e.mergeIn([\"sessions\",n],{queryRunning:!1,subscriptionActive:!1})},i.SET_SCROLL_TOP=function(e,t){var n=t.payload,r=n.sessionId,i=n.scrollTop;return e.sessions.get(r)?e.setIn([\"sessions\",r,\"scrollTop\"],i):e},i.SCHEMA_FETCHING_SUCCESS=function(e,t){var n=t.payload,r=e.get(\"sessions\").map((function(e){if(e.endpoint===n.endpoint){var t={tracingSupported:n.tracingSupported,isReloadingSchema:!1,endpointUnreachable:!1},r=e.responses?e.responses.first():null;return r&&1===e.responses.size&&r.isSchemaError&&(t.responses=s.List([])),e.merge(s.Map(t))}return e}));return e.set(\"sessions\",r)},i.SET_ENDPOINT_UNREACHABLE=function(e,t){var n=t.payload,r=e.get(\"sessions\").map((function(e,t){return e.get(\"endpoint\")===n.endpoint?e.merge(s.Map({endpointUnreachable:!0})):e}));return e.set(\"sessions\",r)},i.SCHEMA_FETCHING_ERROR=function(e,t){var n=t.payload,r=e.get(\"sessions\").map((function(e,t){if(e.get(\"endpoint\")===n.endpoint){var r=e.responses;if(r.size<=1){var i=e.responses?e.responses.first():null;i&&!i.isSchemaError||(i=new g({resultID:f(),isSchemaError:!0,date:JSON.stringify(d.formatError(n.error,!0),null,2),time:new Date})),r=s.List([i])}return e.merge(s.Map({isReloadingSchema:!1,endpointUnreachable:!0,responses:r}))}return e}));return e.set(\"sessions\",r)},i.SET_SELECTED_SESSION_ID=function(e,t){var n=t.payload.sessionId;return e.set(\"selectedSessionId\",n)},i.OPEN_SETTINGS_TAB=function(e){var t=e,n=e.sessions.find((function(e){return e.get(\"isSettingsTab\",!1)}));return n||(n=y().merge({isSettingsTab:!0,isFile:!0,name:\"Settings\",changed:!1}),t=t.setIn([\"sessions\",n.id],n)),t.set(\"selectedSessionId\",n.id)},i.OPEN_CONFIG_TAB=function(e){var t=e,n=e.sessions.find((function(e){return e.get(\"isConfigTab\",!1)}));return n||(n=y().merge({isConfigTab:!0,isFile:!0,name:\"GraphQL Config\",changed:!1}),t=t.setIn([\"sessions\",n.id],n)),t.set(\"selectedSessionId\",n.id)},i.NEW_FILE_TAB=function(e,t){var n=t.payload,r=n.fileName,i=n.filePath,o=n.file,a=e,s=e.sessions.find((function(e){return e.get(\"name\",\"\")===r}));return s||(s=y().merge({isFile:!0,name:r,changed:!1,file:o,filePath:i}),a=a.setIn([\"sessions\",s.id],s)),a.set(\"selectedSessionId\",s.id).set(\"sessionCount\",a.sessions.size)},i.NEW_SESSION=function(e,t){var n=t.payload,r=n.reuseHeaders,i=n.endpoint,o=e.sessions.first(),a={query:\"\",isReloadingSchema:o.isReloadingSchema,endpointUnreachable:o.endpointUnreachable};o.endpointUnreachable&&(a.responses=o.responses);var s=y(i||o.endpoint).merge(a);if(r){var u=l.getSelectedSessionId(e),c=e.sessions.get(u);s=s.set(\"headers\",c.headers)}else s=s.set(\"headers\",e.headers);return e.setIn([\"sessions\",s.id],s).set(\"selectedSessionId\",s.id).set(\"sessionCount\",e.sessions.size+1)},i.INJECT_HEADERS=function(e,t){var n=t.payload,r=n.headers,i=n.endpoint;if(!r||\"\"===r||0===Object.keys(r).length)return e;var o=\"string\"==typeof r?r:JSON.stringify(r,null,2),a=l.getSelectedSessionId(e),s=e.set(\"headers\",o),u=e.sessions.get(a);if(u.headers===o)return s;if(u.query===p.defaultQuery)return s.setIn([\"sessions\",a,\"headers\"],o);var c=y(i).set(\"headers\",o);return s.setIn([\"sessions\",c.id],c).set(\"selectedSessionId\",c.id).set(\"sessionCount\",e.sessions.size+1)},i.DUPLICATE_SESSION=function(e,t){var n=t.payload.session.set(\"id\",f());return e.setIn([\"sessions\",n.id],n).set(\"selectedSessionId\",n.id).set(\"sessionCount\",e.sessions.size+1)},i.NEW_SESSION_FROM_QUERY=function(e,t){var n=t.payload.query,r=y().set(\"query\",n);return e.setIn([\"sessions\",r.id],r).set(\"sessionCount\",e.sessions.size+1)},i.CLOSE_SELECTED_TAB=function(e){return x(e,l.getSelectedSessionId(e)).set(\"sessionCount\",e.sessions.size-1)},i.SELECT_NEXT_TAB=function(e){var t=l.getSelectedSessionId(e),n=e.sessions.size,r=e.sessions.keySeq(),i=r.indexOf(t);return i+1<n?e.set(\"selectedSessionId\",r.get(i+1)):e.set(\"selectedSessionId\",r.get(0))},i.SELECT_PREV_TAB=function(e){var t=l.getSelectedSessionId(e),n=e.sessions.size,r=e.sessions.keySeq(),i=r.indexOf(t);return i-1>=0?e.set(\"selectedSessionId\",r.get(i-1)):e.set(\"selectedSessionId\",r.get(n-1))},i.SELECT_TAB_INDEX=function(e,t){var n=t.payload.index,r=e.sessions.keySeq();return e.set(\"selectedSessionId\",r.get(n))},i.SELECT_TAB=function(e,t){var n=t.payload.sessionId;return e.set(\"selectedSessionId\",n)},i.CLOSE_TAB=function(e,t){return x(e,t.payload.sessionId).set(\"sessionCount\",e.sessions.size-1)},i.REORDER_TABS=function(e,t){for(var n=t.payload,r=n.src,i=n.dest,o=e.sessions.toIndexedSeq(),a=[],u=0;u<o.size;u++)a.push(u);var c=h.arrayMove(a,r,i),l=s.OrderedMap();for(u=0;u<o.size;u++){var p=c[u],f=o.get(p);l=l.set(f.id,f)}return e.set(\"sessions\",l)},i.EDIT_SETTINGS=function(e){return e.setIn([\"sessions\",l.getSelectedSessionId(e),\"changed\"],!0)},i.SAVE_SETTINGS=function(e){return e.setIn([\"sessions\",l.getSelectedSessionId(e),\"changed\"],!1)},i.EDIT_CONFIG=function(e){return e.setIn([\"sessions\",l.getSelectedSessionId(e),\"changed\"],!0)},i.SAVE_CONFIG=function(e){return e.setIn([\"sessions\",l.getSelectedSessionId(e),\"changed\"],!1)},i.EDIT_FILE=function(e){return e.setIn([\"sessions\",l.getSelectedSessionId(e),\"changed\"],!0)},i.SAVE_FILE=function(e){return e.setIn([\"sessions\",l.getSelectedSessionId(e),\"changed\"],!1)},i),b(\"\"));function x(e,t){var n=e.sessions.size,r=e.sessions.keySeq(),i=e.removeIn([\"sessions\",t]),o=e.sessions.get(t);if(1===n){var a={query:\"\",headers:o.headers,isReloadingSchema:o.isReloadingSchema,endpointUnreachable:o.endpointUnreachable};o.endpointUnreachable&&(a.responses=o.responses);var s=y(o.endpoint).merge(a);return(i=i.set(\"selectedSessionId\",s.id)).setIn([\"sessions\",s.id],s)}var u=l.getSelectedSessionId(e),c=r.indexOf(t);if(u===t){var p=c-1;return p<0?i.set(\"selectedSessionId\",r.get(1)):i.set(\"selectedSessionId\",r.get(p))}return i}t.default=function(e,t){var n=E(e,t);return\"\"===n.selectedSessionId&&e.sessions.size>0?n.set(\"selectedSessionId\",e.sessions.first().id):n}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.vendorPrefix=t.events=void 0,t.arrayMove=function(e,t,n){var r=e.slice(0);if(n>=r.length)for(var i=n-r.length;1+i--;)r.push(void 0);return r.splice(n,0,r.splice(t,1)[0]),r},t.omit=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return Object.keys(e).reduce((function(t,r){return-1===n.indexOf(r)&&(t[r]=e[r]),t}),{})},t.closest=function(e,t){for(;e;){if(t(e))return e;e=e.parentNode}},t.limit=function(e,t,n){if(n<e)return e;if(n>t)return t;return n},t.getElementMargin=function(e){var t=window.getComputedStyle(e);return{top:a(t.marginTop),right:a(t.marginRight),bottom:a(t.marginBottom),left:a(t.marginLeft)}},t.provideDisplayName=function(e,t){var n=t.displayName||t.name;return n?e+\"(\"+n+\")\":e},t.getPosition=function(e){return e.touches&&e.touches.length?{x:e.touches[0].pageX,y:e.touches[0].pageY}:e.changedTouches&&e.changedTouches.length?{x:e.changedTouches[0].pageX,y:e.changedTouches[0].pageY}:{x:e.pageX,y:e.pageY}},t.isTouchEvent=function(e){return e.touches&&e.touches.length||e.changedTouches&&e.changedTouches.length},t.getEdgeOffset=function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{top:0,left:0};if(t){var i={top:r.top+t.offsetTop,left:r.left+t.offsetLeft};return t.parentNode!==n?e(t.parentNode,n,i):i}},t.getLockPixelOffset=function(e){var t=e.lockOffset,n=e.width,r=e.height,i=t,a=t,s=\"px\";if(\"string\"==typeof t){var u=/^[+-]?\\d*(?:\\.\\d*)?(px|%)$/.exec(t);(0,o.default)(null!==u,'lockOffset value should be a number or a string of a number followed by \"px\" or \"%\". Given %s',t),i=a=parseFloat(t),s=u[1]}(0,o.default)(isFinite(i)&&isFinite(a),\"lockOffset value should be a finite. Given %s\",t),\"%\"===s&&(i=i*n/100,a=a*r/100);return{x:i,y:a}};var r,i=n(29),o=(r=i)&&r.__esModule?r:{default:r};t.events={start:[\"touchstart\",\"mousedown\"],move:[\"touchmove\",\"mousemove\"],end:[\"touchend\",\"touchcancel\",\"mouseup\"]},t.vendorPrefix=function(){if(\"undefined\"==typeof window||\"undefined\"==typeof document)return\"\";var e=window.getComputedStyle(document.documentElement,\"\")||[\"-moz-hidden-iframe\"],t=(Array.prototype.slice.call(e).join(\"\").match(/-(moz|webkit|ms)-/)||\"\"===e.OLink&&[\"\",\"o\"])[1];switch(t){case\"ms\":return\"ms\";default:return t&&t.length?t[0].toUpperCase()+t.substr(1):\"\"}}();function a(e){return\"px\"===e.substr(-2)?parseFloat(e):0}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(315),i=n(168);t.theme=i.theme;var o=r,a=o.default,s=o.css,u=o.injectGlobal,c=o.keyframes,l=o.ThemeProvider,p=o.withTheme,f=o.createGlobalStyle;t.css=s,t.injectGlobal=u,t.keyframes=c,t.ThemeProvider=l,t.withTheme=p,t.createGlobalStyle=f,t.default=a},function(e,t){e.exports=/[!-#%-\\*,-\\/:;\\?@\\[-\\]_\\{\\}\\xA1\\xA7\\xAB\\xB6\\xB7\\xBB\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u09FD\\u0A76\\u0AF0\\u0C84\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E4E\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]|\\uD800[\\uDD00-\\uDD02\\uDF9F\\uDFD0]|\\uD801\\uDD6F|\\uD802[\\uDC57\\uDD1F\\uDD3F\\uDE50-\\uDE58\\uDE7F\\uDEF0-\\uDEF6\\uDF39-\\uDF3F\\uDF99-\\uDF9C]|\\uD803[\\uDF55-\\uDF59]|\\uD804[\\uDC47-\\uDC4D\\uDCBB\\uDCBC\\uDCBE-\\uDCC1\\uDD40-\\uDD43\\uDD74\\uDD75\\uDDC5-\\uDDC8\\uDDCD\\uDDDB\\uDDDD-\\uDDDF\\uDE38-\\uDE3D\\uDEA9]|\\uD805[\\uDC4B-\\uDC4F\\uDC5B\\uDC5D\\uDCC6\\uDDC1-\\uDDD7\\uDE41-\\uDE43\\uDE60-\\uDE6C\\uDF3C-\\uDF3E]|\\uD806[\\uDC3B\\uDE3F-\\uDE46\\uDE9A-\\uDE9C\\uDE9E-\\uDEA2]|\\uD807[\\uDC41-\\uDC45\\uDC70\\uDC71\\uDEF7\\uDEF8]|\\uD809[\\uDC70-\\uDC74]|\\uD81A[\\uDE6E\\uDE6F\\uDEF5\\uDF37-\\uDF3B\\uDF44]|\\uD81B[\\uDE97-\\uDE9A]|\\uD82F\\uDC9F|\\uD836[\\uDE87-\\uDE8B]|\\uD83A[\\uDD5E\\uDD5F]/},function(e,t,n){\"use strict\";e.exports.encode=n(324),e.exports.decode=n(325),e.exports.format=n(326),e.exports.parse=n(327)},function(e,t,n){!function(e){\"use strict\";e.defineOption(\"foldGutter\",!1,(function(t,r,i){var o;i&&i!=e.Init&&(t.clearGutter(t.state.foldGutter.options.gutter),t.state.foldGutter=null,t.off(\"gutterClick\",u),t.off(\"changes\",c),t.off(\"viewportChange\",l),t.off(\"fold\",p),t.off(\"unfold\",p),t.off(\"swapDoc\",c)),r&&(t.state.foldGutter=new n((!0===(o=r)&&(o={}),null==o.gutter&&(o.gutter=\"CodeMirror-foldgutter\"),null==o.indicatorOpen&&(o.indicatorOpen=\"CodeMirror-foldgutter-open\"),null==o.indicatorFolded&&(o.indicatorFolded=\"CodeMirror-foldgutter-folded\"),o)),s(t),t.on(\"gutterClick\",u),t.on(\"changes\",c),t.on(\"viewportChange\",l),t.on(\"fold\",p),t.on(\"unfold\",p),t.on(\"swapDoc\",c))}));var t=e.Pos;function n(e){this.options=e,this.from=this.to=0}function r(e,n){for(var r=e.findMarks(t(n,0),t(n+1,0)),i=0;i<r.length;++i)if(r[i].__isFold){var o=r[i].find(-1);if(o&&o.line===n)return r[i]}}function i(e){if(\"string\"==typeof e){var t=document.createElement(\"div\");return t.className=e+\" CodeMirror-guttermarker-subtle\",t}return e.cloneNode(!0)}function o(e,n,o){var s=e.state.foldGutter.options,u=n-1,c=e.foldOption(s,\"minFoldSize\"),l=e.foldOption(s,\"rangeFinder\"),p=\"string\"==typeof s.indicatorFolded&&a(s.indicatorFolded),f=\"string\"==typeof s.indicatorOpen&&a(s.indicatorOpen);e.eachLine(n,o,(function(n){++u;var o=null,a=n.gutterMarkers;if(a&&(a=a[s.gutter]),r(e,u)){if(p&&a&&p.test(a.className))return;o=i(s.indicatorFolded)}else{var d=t(u,0),h=l&&l(e,d);if(h&&h.to.line-h.from.line>=c){if(f&&a&&f.test(a.className))return;o=i(s.indicatorOpen)}}(o||a)&&e.setGutterMarker(n,s.gutter,o)}))}function a(e){return new RegExp(\"(^|\\\\s)\"+e+\"(?:$|\\\\s)\\\\s*\")}function s(e){var t=e.getViewport(),n=e.state.foldGutter;n&&(e.operation((function(){o(e,t.from,t.to)})),n.from=t.from,n.to=t.to)}function u(e,n,i){var o=e.state.foldGutter;if(o){var a=o.options;if(i==a.gutter){var s=r(e,n);s?s.clear():e.foldCode(t(n,0),a)}}}function c(e){var t=e.state.foldGutter;if(t){var n=t.options;t.from=t.to=0,clearTimeout(t.changeUpdate),t.changeUpdate=setTimeout((function(){s(e)}),n.foldOnChangeTimeSpan||600)}}function l(e){var t=e.state.foldGutter;if(t){var n=t.options;clearTimeout(t.changeUpdate),t.changeUpdate=setTimeout((function(){var n=e.getViewport();t.from==t.to||n.from-t.to>20||t.from-n.to>20?s(e):e.operation((function(){n.from<t.from&&(o(e,n.from,t.from),t.from=n.from),n.to>t.to&&(o(e,t.to,n.to),t.to=n.to)}))}),n.updateViewportTimeSpan||400)}}function p(e,t){var n=e.state.foldGutter;if(n){var r=t.line;r>=n.from&&r<n.to&&o(e,r,r+1)}}}(n(16),n(376))},function(e,t,n){!function(e){\"use strict\";function t(e,t){var n=Number(t);return/^[-+]/.test(t)?e.getCursor().line+n:n-1}e.commands.jumpToLine=function(e){var n=e.getCursor();!function(e,t,n,r,i){e.openDialog?e.openDialog(t,i,{value:r,selectValueOnOpen:!0}):i(prompt(n,r))}(e,function(e){return e.phrase(\"Jump to line:\")+' <input type=\"text\" style=\"width: 10em\" class=\"CodeMirror-search-field\"/> <span style=\"color: #888\" class=\"CodeMirror-search-hint\">'+e.phrase(\"(Use line:column or scroll% syntax)\")+\"</span>\"}(e),e.phrase(\"Jump to line:\"),n.line+1+\":\"+n.ch,(function(r){var i;if(r)if(i=/^\\s*([\\+\\-]?\\d+)\\s*\\:\\s*(\\d+)\\s*$/.exec(r))e.setCursor(t(e,i[1]),Number(i[2]));else if(i=/^\\s*([\\+\\-]?\\d+(\\.\\d+)?)\\%\\s*/.exec(r)){var o=Math.round(e.lineCount()*Number(i[1])/100);/^[-+]/.test(i[1])&&(o=n.line+o+1),e.setCursor(o-1,n.ch)}else(i=/^\\s*\\:?\\s*([\\+\\-]?\\d+)\\s*/.exec(r))&&e.setCursor(t(e,i[1]),n.ch)}))},e.keyMap.default[\"Alt-G\"]=\"jumpToLine\"}(n(16),n(71))},function(e,t,n){!function(e){\"use strict\";var t=e.commands,n=e.Pos;function r(t,r){t.extendSelectionsBy((function(i){return t.display.shift||t.doc.extend||i.empty()?function(t,r,i){if(i<0&&0==r.ch)return t.clipPos(n(r.line-1));var o=t.getLine(r.line);if(i>0&&r.ch>=o.length)return t.clipPos(n(r.line+1,0));for(var a,s=\"start\",u=r.ch,c=u,l=i<0?0:o.length,p=0;c!=l;c+=i,p++){var f=o.charAt(i<0?c-1:c),d=\"_\"!=f&&e.isWordChar(f)?\"w\":\"o\";if(\"w\"==d&&f.toUpperCase()==f&&(d=\"W\"),\"start\"==s)\"o\"!=d?(s=\"in\",a=d):u=c+i;else if(\"in\"==s&&a!=d){if(\"w\"==a&&\"W\"==d&&i<0&&c--,\"W\"==a&&\"w\"==d&&i>0){if(c==u+1){a=\"w\";continue}c--}break}}return n(r.line,c)}(t.doc,i.head,r):r<0?i.from():i.to()}))}function i(t,r){if(t.isReadOnly())return e.Pass;t.operation((function(){for(var e=t.listSelections().length,i=[],o=-1,a=0;a<e;a++){var s=t.listSelections()[a].head;if(!(s.line<=o)){var u=n(s.line+(r?0:1),0);t.replaceRange(\"\\n\",u,null,\"+insertLine\"),t.indentLine(u.line,null,!0),i.push({head:u,anchor:u}),o=s.line+1}}t.setSelections(i)})),t.execCommand(\"indentAuto\")}function o(t,r){for(var i=r.ch,o=i,a=t.getLine(r.line);i&&e.isWordChar(a.charAt(i-1));)--i;for(;o<a.length&&e.isWordChar(a.charAt(o));)++o;return{from:n(r.line,i),to:n(r.line,o),word:a.slice(i,o)}}function a(e,t){for(var n=e.listSelections(),r=[],i=0;i<n.length;i++){var o=n[i],a=e.findPosV(o.anchor,t,\"line\",o.anchor.goalColumn),s=e.findPosV(o.head,t,\"line\",o.head.goalColumn);a.goalColumn=null!=o.anchor.goalColumn?o.anchor.goalColumn:e.cursorCoords(o.anchor,\"div\").left,s.goalColumn=null!=o.head.goalColumn?o.head.goalColumn:e.cursorCoords(o.head,\"div\").left;var u={anchor:a,head:s};r.push(o),r.push(u)}e.setSelections(r)}function s(t){for(var r=t.listSelections(),i=[],o=0;o<r.length;o++){var a=r[o],s=a.head,u=t.scanForBracket(s,-1);if(!u)return!1;for(;;){var c=t.scanForBracket(s,1);if(!c)return!1;if(c.ch==\"(){}[]\".charAt(\"(){}[]\".indexOf(u.ch)+1)){var l=n(u.pos.line,u.pos.ch+1);if(0!=e.cmpPos(l,a.from())||0!=e.cmpPos(c.pos,a.to())){i.push({anchor:l,head:c.pos});break}if(!(u=t.scanForBracket(u.pos,-1)))return!1}s=n(c.pos.line,c.pos.ch+1)}}return t.setSelections(i),!0}function u(e){return e?/\\bpunctuation\\b/.test(e)?e:void 0:null}function c(t,r){if(t.isReadOnly())return e.Pass;for(var i,o=t.listSelections(),a=[],s=0;s<o.length;s++){var u=o[s];if(!u.empty()){for(var c=u.from().line,l=u.to().line;s<o.length-1&&o[s+1].from().line==l;)l=o[++s].to().line;o[s].to().ch||l--,a.push(c,l)}}a.length?i=!0:a.push(t.firstLine(),t.lastLine()),t.operation((function(){for(var e=[],o=0;o<a.length;o+=2){var s=a[o],u=a[o+1],c=n(s,0),l=n(u),p=t.getRange(c,l,!1);r?p.sort():p.sort((function(e,t){var n=e.toUpperCase(),r=t.toUpperCase();return n!=r&&(e=n,t=r),e<t?-1:e==t?0:1})),t.replaceRange(p,c,l),i&&e.push({anchor:c,head:n(u+1,0)})}i&&t.setSelections(e,0)}))}function l(t,n){t.operation((function(){for(var r=t.listSelections(),i=[],a=[],s=0;s<r.length;s++)(c=r[s]).empty()?(i.push(s),a.push(\"\")):a.push(n(t.getRange(c.from(),c.to())));var u;for(t.replaceSelections(a,\"around\",\"case\"),s=i.length-1;s>=0;s--){var c=r[i[s]];if(!(u&&e.cmpPos(c.head,u)>0)){var l=o(t,c.head);u=l.from,t.replaceRange(n(l.word),l.from,l.to)}}}))}function p(t){var n=t.getCursor(\"from\"),r=t.getCursor(\"to\");if(0==e.cmpPos(n,r)){var i=o(t,n);if(!i.word)return;n=i.from,r=i.to}return{from:n,to:r,query:t.getRange(n,r),word:i}}function f(e,t){var r=p(e);if(r){var i=r.query,o=e.getSearchCursor(i,t?r.to:r.from);(t?o.findNext():o.findPrevious())?e.setSelection(o.from(),o.to()):(o=e.getSearchCursor(i,t?n(e.firstLine(),0):e.clipPos(n(e.lastLine()))),(t?o.findNext():o.findPrevious())?e.setSelection(o.from(),o.to()):r.word&&e.setSelection(r.from,r.to))}}t.goSubwordLeft=function(e){r(e,-1)},t.goSubwordRight=function(e){r(e,1)},t.scrollLineUp=function(e){var t=e.getScrollInfo();if(!e.somethingSelected()){var n=e.lineAtHeight(t.top+t.clientHeight,\"local\");e.getCursor().line>=n&&e.execCommand(\"goLineUp\")}e.scrollTo(null,t.top-e.defaultTextHeight())},t.scrollLineDown=function(e){var t=e.getScrollInfo();if(!e.somethingSelected()){var n=e.lineAtHeight(t.top,\"local\")+1;e.getCursor().line<=n&&e.execCommand(\"goLineDown\")}e.scrollTo(null,t.top+e.defaultTextHeight())},t.splitSelectionByLine=function(e){for(var t=e.listSelections(),r=[],i=0;i<t.length;i++)for(var o=t[i].from(),a=t[i].to(),s=o.line;s<=a.line;++s)a.line>o.line&&s==a.line&&0==a.ch||r.push({anchor:s==o.line?o:n(s,0),head:s==a.line?a:n(s)});e.setSelections(r,0)},t.singleSelectionTop=function(e){var t=e.listSelections()[0];e.setSelection(t.anchor,t.head,{scroll:!1})},t.selectLine=function(e){for(var t=e.listSelections(),r=[],i=0;i<t.length;i++){var o=t[i];r.push({anchor:n(o.from().line,0),head:n(o.to().line+1,0)})}e.setSelections(r)},t.insertLineAfter=function(e){return i(e,!1)},t.insertLineBefore=function(e){return i(e,!0)},t.selectNextOccurrence=function(t){var r=t.getCursor(\"from\"),i=t.getCursor(\"to\"),a=t.state.sublimeFindFullWord==t.doc.sel;if(0==e.cmpPos(r,i)){var s=o(t,r);if(!s.word)return;t.setSelection(s.from,s.to),a=!0}else{var u=t.getRange(r,i),c=a?new RegExp(\"\\\\b\"+u+\"\\\\b\"):u,l=t.getSearchCursor(c,i),p=l.findNext();if(p||(p=(l=t.getSearchCursor(c,n(t.firstLine(),0))).findNext()),!p||function(t,n,r){for(var i=0;i<t.length;i++)if(0==e.cmpPos(t[i].from(),n)&&0==e.cmpPos(t[i].to(),r))return!0;return!1}(t.listSelections(),l.from(),l.to()))return;t.addSelection(l.from(),l.to())}a&&(t.state.sublimeFindFullWord=t.doc.sel)},t.skipAndSelectNextOccurrence=function(n){var r=n.getCursor(\"anchor\"),i=n.getCursor(\"head\");t.selectNextOccurrence(n),0!=e.cmpPos(r,i)&&n.doc.setSelections(n.doc.listSelections().filter((function(e){return e.anchor!=r||e.head!=i})))},t.addCursorToPrevLine=function(e){a(e,-1)},t.addCursorToNextLine=function(e){a(e,1)},t.selectScope=function(e){s(e)||e.execCommand(\"selectAll\")},t.selectBetweenBrackets=function(t){if(!s(t))return e.Pass},t.goToBracket=function(t){t.extendSelectionsBy((function(r){var i=t.scanForBracket(r.head,1,u(t.getTokenTypeAt(r.head)));if(i&&0!=e.cmpPos(i.pos,r.head))return i.pos;var o=t.scanForBracket(r.head,-1,u(t.getTokenTypeAt(n(r.head.line,r.head.ch+1))));return o&&n(o.pos.line,o.pos.ch+1)||r.head}))},t.swapLineUp=function(t){if(t.isReadOnly())return e.Pass;for(var r=t.listSelections(),i=[],o=t.firstLine()-1,a=[],s=0;s<r.length;s++){var u=r[s],c=u.from().line-1,l=u.to().line;a.push({anchor:n(u.anchor.line-1,u.anchor.ch),head:n(u.head.line-1,u.head.ch)}),0!=u.to().ch||u.empty()||--l,c>o?i.push(c,l):i.length&&(i[i.length-1]=l),o=l}t.operation((function(){for(var e=0;e<i.length;e+=2){var r=i[e],o=i[e+1],s=t.getLine(r);t.replaceRange(\"\",n(r,0),n(r+1,0),\"+swapLine\"),o>t.lastLine()?t.replaceRange(\"\\n\"+s,n(t.lastLine()),null,\"+swapLine\"):t.replaceRange(s+\"\\n\",n(o,0),null,\"+swapLine\")}t.setSelections(a),t.scrollIntoView()}))},t.swapLineDown=function(t){if(t.isReadOnly())return e.Pass;for(var r=t.listSelections(),i=[],o=t.lastLine()+1,a=r.length-1;a>=0;a--){var s=r[a],u=s.to().line+1,c=s.from().line;0!=s.to().ch||s.empty()||u--,u<o?i.push(u,c):i.length&&(i[i.length-1]=c),o=c}t.operation((function(){for(var e=i.length-2;e>=0;e-=2){var r=i[e],o=i[e+1],a=t.getLine(r);r==t.lastLine()?t.replaceRange(\"\",n(r-1),n(r),\"+swapLine\"):t.replaceRange(\"\",n(r,0),n(r+1,0),\"+swapLine\"),t.replaceRange(a+\"\\n\",n(o,0),null,\"+swapLine\")}t.scrollIntoView()}))},t.toggleCommentIndented=function(e){e.toggleComment({indent:!0})},t.joinLines=function(e){for(var t=e.listSelections(),r=[],i=0;i<t.length;i++){for(var o=t[i],a=o.from(),s=a.line,u=o.to().line;i<t.length-1&&t[i+1].from().line==u;)u=t[++i].to().line;r.push({start:s,end:u,anchor:!o.empty()&&a})}e.operation((function(){for(var t=0,i=[],o=0;o<r.length;o++){for(var a,s=r[o],u=s.anchor&&n(s.anchor.line-t,s.anchor.ch),c=s.start;c<=s.end;c++){var l=c-t;c==s.end&&(a=n(l,e.getLine(l).length+1)),l<e.lastLine()&&(e.replaceRange(\" \",n(l),n(l+1,/^\\s*/.exec(e.getLine(l+1))[0].length)),++t)}i.push({anchor:u||a,head:a})}e.setSelections(i,0)}))},t.duplicateLine=function(e){e.operation((function(){for(var t=e.listSelections().length,r=0;r<t;r++){var i=e.listSelections()[r];i.empty()?e.replaceRange(e.getLine(i.head.line)+\"\\n\",n(i.head.line,0)):e.replaceRange(e.getRange(i.from(),i.to()),i.from())}e.scrollIntoView()}))},t.sortLines=function(e){c(e,!0)},t.sortLinesInsensitive=function(e){c(e,!1)},t.nextBookmark=function(e){var t=e.state.sublimeBookmarks;if(t)for(;t.length;){var n=t.shift(),r=n.find();if(r)return t.push(n),e.setSelection(r.from,r.to)}},t.prevBookmark=function(e){var t=e.state.sublimeBookmarks;if(t)for(;t.length;){t.unshift(t.pop());var n=t[t.length-1].find();if(n)return e.setSelection(n.from,n.to);t.pop()}},t.toggleBookmark=function(e){for(var t=e.listSelections(),n=e.state.sublimeBookmarks||(e.state.sublimeBookmarks=[]),r=0;r<t.length;r++){for(var i=t[r].from(),o=t[r].to(),a=t[r].empty()?e.findMarksAt(i):e.findMarks(i,o),s=0;s<a.length;s++)if(a[s].sublimeBookmark){a[s].clear();for(var u=0;u<n.length;u++)n[u]==a[s]&&n.splice(u--,1);break}s==a.length&&n.push(e.markText(i,o,{sublimeBookmark:!0,clearWhenEmpty:!1}))}},t.clearBookmarks=function(e){var t=e.state.sublimeBookmarks;if(t)for(var n=0;n<t.length;n++)t[n].clear();t.length=0},t.selectBookmarks=function(e){var t=e.state.sublimeBookmarks,n=[];if(t)for(var r=0;r<t.length;r++){var i=t[r].find();i?n.push({anchor:i.from,head:i.to}):t.splice(r--,0)}n.length&&e.setSelections(n,0)},t.smartBackspace=function(t){if(t.somethingSelected())return e.Pass;t.operation((function(){for(var r=t.listSelections(),i=t.getOption(\"indentUnit\"),o=r.length-1;o>=0;o--){var a=r[o].head,s=t.getRange({line:a.line,ch:0},a),u=e.countColumn(s,null,t.getOption(\"tabSize\")),c=t.findPosH(a,-1,\"char\",!1);if(s&&!/\\S/.test(s)&&u%i==0){var l=new n(a.line,e.findColumn(s,u-i,i));l.ch!=a.ch&&(c=l)}t.replaceRange(\"\",c,a,\"+delete\")}}))},t.delLineRight=function(e){e.operation((function(){for(var t=e.listSelections(),r=t.length-1;r>=0;r--)e.replaceRange(\"\",t[r].anchor,n(t[r].to().line),\"+delete\");e.scrollIntoView()}))},t.upcaseAtCursor=function(e){l(e,(function(e){return e.toUpperCase()}))},t.downcaseAtCursor=function(e){l(e,(function(e){return e.toLowerCase()}))},t.setSublimeMark=function(e){e.state.sublimeMark&&e.state.sublimeMark.clear(),e.state.sublimeMark=e.setBookmark(e.getCursor())},t.selectToSublimeMark=function(e){var t=e.state.sublimeMark&&e.state.sublimeMark.find();t&&e.setSelection(e.getCursor(),t)},t.deleteToSublimeMark=function(t){var n=t.state.sublimeMark&&t.state.sublimeMark.find();if(n){var r=t.getCursor(),i=n;if(e.cmpPos(r,i)>0){var o=i;i=r,r=o}t.state.sublimeKilled=t.getRange(r,i),t.replaceRange(\"\",r,i)}},t.swapWithSublimeMark=function(e){var t=e.state.sublimeMark&&e.state.sublimeMark.find();t&&(e.state.sublimeMark.clear(),e.state.sublimeMark=e.setBookmark(e.getCursor()),e.setCursor(t))},t.sublimeYank=function(e){null!=e.state.sublimeKilled&&e.replaceSelection(e.state.sublimeKilled,null,\"paste\")},t.showInCenter=function(e){var t=e.cursorCoords(null,\"local\");e.scrollTo(null,(t.top+t.bottom)/2-e.getScrollInfo().clientHeight/2)},t.findUnder=function(e){f(e,!0)},t.findUnderPrevious=function(e){f(e,!1)},t.findAllUnder=function(e){var t=p(e);if(t){for(var n=e.getSearchCursor(t.query),r=[],i=-1;n.findNext();)r.push({anchor:n.from(),head:n.to()}),n.from().line<=t.from.line&&n.from().ch<=t.from.ch&&i++;e.setSelections(r,i)}};var d=e.keyMap;d.macSublime={\"Cmd-Left\":\"goLineStartSmart\",\"Shift-Tab\":\"indentLess\",\"Shift-Ctrl-K\":\"deleteLine\",\"Alt-Q\":\"wrapLines\",\"Ctrl-Left\":\"goSubwordLeft\",\"Ctrl-Right\":\"goSubwordRight\",\"Ctrl-Alt-Up\":\"scrollLineUp\",\"Ctrl-Alt-Down\":\"scrollLineDown\",\"Cmd-L\":\"selectLine\",\"Shift-Cmd-L\":\"splitSelectionByLine\",Esc:\"singleSelectionTop\",\"Cmd-Enter\":\"insertLineAfter\",\"Shift-Cmd-Enter\":\"insertLineBefore\",\"Cmd-D\":\"selectNextOccurrence\",\"Shift-Cmd-Space\":\"selectScope\",\"Shift-Cmd-M\":\"selectBetweenBrackets\",\"Cmd-M\":\"goToBracket\",\"Cmd-Ctrl-Up\":\"swapLineUp\",\"Cmd-Ctrl-Down\":\"swapLineDown\",\"Cmd-/\":\"toggleCommentIndented\",\"Cmd-J\":\"joinLines\",\"Shift-Cmd-D\":\"duplicateLine\",F5:\"sortLines\",\"Cmd-F5\":\"sortLinesInsensitive\",F2:\"nextBookmark\",\"Shift-F2\":\"prevBookmark\",\"Cmd-F2\":\"toggleBookmark\",\"Shift-Cmd-F2\":\"clearBookmarks\",\"Alt-F2\":\"selectBookmarks\",Backspace:\"smartBackspace\",\"Cmd-K Cmd-D\":\"skipAndSelectNextOccurrence\",\"Cmd-K Cmd-K\":\"delLineRight\",\"Cmd-K Cmd-U\":\"upcaseAtCursor\",\"Cmd-K Cmd-L\":\"downcaseAtCursor\",\"Cmd-K Cmd-Space\":\"setSublimeMark\",\"Cmd-K Cmd-A\":\"selectToSublimeMark\",\"Cmd-K Cmd-W\":\"deleteToSublimeMark\",\"Cmd-K Cmd-X\":\"swapWithSublimeMark\",\"Cmd-K Cmd-Y\":\"sublimeYank\",\"Cmd-K Cmd-C\":\"showInCenter\",\"Cmd-K Cmd-G\":\"clearBookmarks\",\"Cmd-K Cmd-Backspace\":\"delLineLeft\",\"Cmd-K Cmd-1\":\"foldAll\",\"Cmd-K Cmd-0\":\"unfoldAll\",\"Cmd-K Cmd-J\":\"unfoldAll\",\"Ctrl-Shift-Up\":\"addCursorToPrevLine\",\"Ctrl-Shift-Down\":\"addCursorToNextLine\",\"Cmd-F3\":\"findUnder\",\"Shift-Cmd-F3\":\"findUnderPrevious\",\"Alt-F3\":\"findAllUnder\",\"Shift-Cmd-[\":\"fold\",\"Shift-Cmd-]\":\"unfold\",\"Cmd-I\":\"findIncremental\",\"Shift-Cmd-I\":\"findIncrementalReverse\",\"Cmd-H\":\"replace\",F3:\"findNext\",\"Shift-F3\":\"findPrev\",fallthrough:\"macDefault\"},e.normalizeKeyMap(d.macSublime),d.pcSublime={\"Shift-Tab\":\"indentLess\",\"Shift-Ctrl-K\":\"deleteLine\",\"Alt-Q\":\"wrapLines\",\"Ctrl-T\":\"transposeChars\",\"Alt-Left\":\"goSubwordLeft\",\"Alt-Right\":\"goSubwordRight\",\"Ctrl-Up\":\"scrollLineUp\",\"Ctrl-Down\":\"scrollLineDown\",\"Ctrl-L\":\"selectLine\",\"Shift-Ctrl-L\":\"splitSelectionByLine\",Esc:\"singleSelectionTop\",\"Ctrl-Enter\":\"insertLineAfter\",\"Shift-Ctrl-Enter\":\"insertLineBefore\",\"Ctrl-D\":\"selectNextOccurrence\",\"Shift-Ctrl-Space\":\"selectScope\",\"Shift-Ctrl-M\":\"selectBetweenBrackets\",\"Ctrl-M\":\"goToBracket\",\"Shift-Ctrl-Up\":\"swapLineUp\",\"Shift-Ctrl-Down\":\"swapLineDown\",\"Ctrl-/\":\"toggleCommentIndented\",\"Ctrl-J\":\"joinLines\",\"Shift-Ctrl-D\":\"duplicateLine\",F9:\"sortLines\",\"Ctrl-F9\":\"sortLinesInsensitive\",F2:\"nextBookmark\",\"Shift-F2\":\"prevBookmark\",\"Ctrl-F2\":\"toggleBookmark\",\"Shift-Ctrl-F2\":\"clearBookmarks\",\"Alt-F2\":\"selectBookmarks\",Backspace:\"smartBackspace\",\"Ctrl-K Ctrl-D\":\"skipAndSelectNextOccurrence\",\"Ctrl-K Ctrl-K\":\"delLineRight\",\"Ctrl-K Ctrl-U\":\"upcaseAtCursor\",\"Ctrl-K Ctrl-L\":\"downcaseAtCursor\",\"Ctrl-K Ctrl-Space\":\"setSublimeMark\",\"Ctrl-K Ctrl-A\":\"selectToSublimeMark\",\"Ctrl-K Ctrl-W\":\"deleteToSublimeMark\",\"Ctrl-K Ctrl-X\":\"swapWithSublimeMark\",\"Ctrl-K Ctrl-Y\":\"sublimeYank\",\"Ctrl-K Ctrl-C\":\"showInCenter\",\"Ctrl-K Ctrl-G\":\"clearBookmarks\",\"Ctrl-K Ctrl-Backspace\":\"delLineLeft\",\"Ctrl-K Ctrl-1\":\"foldAll\",\"Ctrl-K Ctrl-0\":\"unfoldAll\",\"Ctrl-K Ctrl-J\":\"unfoldAll\",\"Ctrl-Alt-Up\":\"addCursorToPrevLine\",\"Ctrl-Alt-Down\":\"addCursorToNextLine\",\"Ctrl-F3\":\"findUnder\",\"Shift-Ctrl-F3\":\"findUnderPrevious\",\"Alt-F3\":\"findAllUnder\",\"Shift-Ctrl-[\":\"fold\",\"Shift-Ctrl-]\":\"unfold\",\"Ctrl-I\":\"findIncremental\",\"Shift-Ctrl-I\":\"findIncrementalReverse\",\"Ctrl-H\":\"replace\",F3:\"findNext\",\"Shift-F3\":\"findPrev\",fallthrough:\"pcDefault\"},e.normalizeKeyMap(d.pcSublime);var h=d.default==d.macDefault;d.sublime=h?d.macSublime:d.pcSublime}(n(16),n(70),n(91))},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=function(e){return function(t){return t.general.get(e)}};t.getFixedEndpoint=r(\"fixedEndpoint\"),t.getHistoryOpen=r(\"historyOpen\"),t.getConfigString=r(\"configString\")},function(e,t,n){\"use strict\";var r=n(79);e.exports=r.DEFAULT=new r({include:[n(94)],explicit:[n(515),n(516),n(517)]})},function(e,t,n){\"use strict\";n.r(t),n.d(t,\"actionChannel\",(function(){return i.p})),n.d(t,\"all\",(function(){return i.B})),n.d(t,\"apply\",(function(){return i.a})),n.d(t,\"call\",(function(){return i.o})),n.d(t,\"cancel\",(function(){return i.n})),n.d(t,\"cancelled\",(function(){return i.H})),n.d(t,\"cps\",(function(){return i.D})),n.d(t,\"delay\",(function(){return i.v})),n.d(t,\"effectTypes\",(function(){return i.x})),n.d(t,\"flush\",(function(){return i.I})),n.d(t,\"fork\",(function(){return i.m})),n.d(t,\"getContext\",(function(){return i.J})),n.d(t,\"join\",(function(){return i.F})),n.d(t,\"put\",(function(){return i.z})),n.d(t,\"putResolve\",(function(){return i.A})),n.d(t,\"race\",(function(){return i.w})),n.d(t,\"select\",(function(){return i.G})),n.d(t,\"setContext\",(function(){return i.K})),n.d(t,\"spawn\",(function(){return i.E})),n.d(t,\"take\",(function(){return i.l})),n.d(t,\"takeMaybe\",(function(){return i.y})),n.d(t,\"debounce\",(function(){return E})),n.d(t,\"retry\",(function(){return b})),n.d(t,\"takeEvery\",(function(){return m})),n.d(t,\"takeLatest\",(function(){return g})),n.d(t,\"takeLeading\",(function(){return y})),n.d(t,\"throttle\",(function(){return v}));n(18),n(37);var r=n(10),i=n(6),o=(n(112),function(e){return{done:!0,value:e}}),a={};function s(e){return Object(r.b)(e)?\"channel\":Object(r.l)(e)?String(e):Object(r.d)(e)?e.name:String(e)}function u(e,t,n){var r,s,u,c=t;function l(t,n){if(c===a)return o(t);if(n&&!s)throw c=a,n;r&&r(t);var i=n?e[s](n):e[c]();return c=i.nextState,u=i.effect,r=i.stateUpdater,s=i.errorState,c===a?o(t):u}return Object(i.ab)(l,(function(e){return l(null,e)}),n)}function c(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];var a,c={done:!1,value:Object(i.l)(e)},l=function(e){return{done:!1,value:i.m.apply(void 0,[t].concat(r,[e]))}},p=function(e){return a=e};return u({q1:function(){return{nextState:\"q2\",effect:c,stateUpdater:p}},q2:function(){return{nextState:\"q1\",effect:l(a)}}},\"q1\",\"takeEvery(\"+s(e)+\", \"+t.name+\")\")}function l(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];var a,c,l={done:!1,value:Object(i.l)(e)},p=function(e){return{done:!1,value:i.m.apply(void 0,[t].concat(r,[e]))}},f=function(e){return{done:!1,value:Object(i.n)(e)}},d=function(e){return a=e},h=function(e){return c=e};return u({q1:function(){return{nextState:\"q2\",effect:l,stateUpdater:h}},q2:function(){return a?{nextState:\"q3\",effect:f(a)}:{nextState:\"q1\",effect:p(c),stateUpdater:d}},q3:function(){return{nextState:\"q1\",effect:p(c),stateUpdater:d}}},\"q1\",\"takeLatest(\"+s(e)+\", \"+t.name+\")\")}function p(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];var a,c={done:!1,value:Object(i.l)(e)},l=function(e){return{done:!1,value:i.o.apply(void 0,[t].concat(r,[e]))}},p=function(e){return a=e};return u({q1:function(){return{nextState:\"q2\",effect:c,stateUpdater:p}},q2:function(){return{nextState:\"q1\",effect:l(a)}}},\"q1\",\"takeLeading(\"+s(e)+\", \"+t.name+\")\")}function f(e,t,n){for(var r=arguments.length,o=new Array(r>3?r-3:0),a=3;a<r;a++)o[a-3]=arguments[a];var c,l,p={done:!1,value:Object(i.p)(t,Object(i.r)(1))},f=function(){return{done:!1,value:Object(i.l)(l)}},d=function(e){return{done:!1,value:i.m.apply(void 0,[n].concat(o,[e]))}},h={done:!1,value:Object(i.v)(e)},m=function(e){return c=e},g=function(e){return l=e};return u({q1:function(){return{nextState:\"q2\",effect:p,stateUpdater:g}},q2:function(){return{nextState:\"q3\",effect:f(),stateUpdater:m}},q3:function(){return{nextState:\"q4\",effect:d(c)}},q4:function(){return{nextState:\"q2\",effect:h}}},\"q1\",\"throttle(\"+s(t)+\", \"+n.name+\")\")}function d(e,t,n){for(var r=e,o=arguments.length,s=new Array(o>3?o-3:0),c=3;c<o;c++)s[c-3]=arguments[c];var l={done:!1,value:i.o.apply(void 0,[n].concat(s))},p={done:!1,value:Object(i.v)(t)};return u({q1:function(){return{nextState:\"q2\",effect:l,errorState:\"q10\"}},q2:function(){return{nextState:a}},q10:function(e){if((r-=1)<=0)throw e;return{nextState:\"q1\",effect:p}}},\"q1\",\"retry(\"+n.name+\")\")}function h(e,t,n){for(var r=arguments.length,o=new Array(r>3?r-3:0),a=3;a<r;a++)o[a-3]=arguments[a];var c,l,p={done:!1,value:Object(i.l)(t)},f={done:!1,value:Object(i.w)({action:Object(i.l)(t),debounce:Object(i.v)(e)})},d=function(e){return{done:!1,value:i.m.apply(void 0,[n].concat(o,[e]))}},h=function(e){return{done:!1,value:e}},m=function(e){return c=e},g=function(e){return l=e};return u({q1:function(){return{nextState:\"q2\",effect:p,stateUpdater:m}},q2:function(){return{nextState:\"q3\",effect:f,stateUpdater:g}},q3:function(){return l.debounce?{nextState:\"q1\",effect:d(c)}:{nextState:\"q2\",effect:h(l.action),stateUpdater:m}}},\"q1\",\"debounce(\"+s(t)+\", \"+n.name+\")\")}function m(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];return i.m.apply(void 0,[c,e,t].concat(r))}function g(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];return i.m.apply(void 0,[l,e,t].concat(r))}function y(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];return i.m.apply(void 0,[p,e,t].concat(r))}function v(e,t,n){for(var r=arguments.length,o=new Array(r>3?r-3:0),a=3;a<r;a++)o[a-3]=arguments[a];return i.m.apply(void 0,[f,e,t,n].concat(o))}function b(e,t,n){for(var r=arguments.length,o=new Array(r>3?r-3:0),a=3;a<r;a++)o[a-3]=arguments[a];return i.o.apply(void 0,[d,e,t,n].concat(o))}function E(e,t,n){for(var r=arguments.length,o=new Array(r>3?r-3:0),a=3;a<r;a++)o[a-3]=arguments[a];return i.m.apply(void 0,[h,e,t,n].concat(o))}},function(e,t,n){\"use strict\";var r=n(18);t.a=function(e,t){var n;void 0===t&&(t=!0);var i=new Promise((function(r){n=setTimeout(r,e,t)}));return i[r.a]=function(){clearTimeout(n)},i}},function(e,t,n){\"use strict\";(function(e){n.d(t,\"a\",(function(){return r}));n(26),n(27),n(19),n(216),n(152);function r(e){return e.definitions.filter((function(e){return\"OperationDefinition\"===e.kind&&e.name})).map((function(e){return e.name.value}))[0]||null}\"function\"==typeof WeakMap&&\"object\"==typeof navigator&&navigator.product,Object.prototype.toString;Object.prototype.hasOwnProperty;Object.create({})}).call(this,n(100))},function(e,t,n){\"use strict\";n.r(t),function(e,r){var i,o=n(214);i=\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:void 0!==e?e:r;var a=Object(o.a)(i);t.default=a}.call(this,n(43),n(266)(e))},function(e,t,n){\"use strict\";(function(e){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)},i=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},\"function\"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError(\"Generator is already executing.\");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){a.label=o[1];break}if(6===o[0]&&a.label<i[1]){a.label=i[1],i=o;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(o);break}i[2]&&a.ops.pop(),a.trys.pop();continue}o=t.call(e,a)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}},a=this&&this.__spreadArrays||function(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),i=0;for(t=0;t<n;t++)for(var o=arguments[t],a=0,s=o.length;a<s;a++,i++)r[i]=o[a];return r};Object.defineProperty(t,\"__esModule\",{value:!0}),t.SubscriptionClient=void 0;var s=void 0!==e?e:\"undefined\"!=typeof window?window:{},u=s.WebSocket||s.MozWebSocket,c=n(270),l=n(271),p=n(272),f=n(273),d=n(15),h=n(274),m=n(114),g=n(275),y=n(276),v=n(277),b=function(){function e(e,t,n,r){var i=t||{},o=i.connectionCallback,a=void 0===o?void 0:o,s=i.connectionParams,p=void 0===s?{}:s,f=i.minTimeout,d=void 0===f?y.MIN_WS_TIMEOUT:f,h=i.timeout,m=void 0===h?y.WS_TIMEOUT:h,v=i.reconnect,b=void 0!==v&&v,E=i.reconnectionAttempts,x=void 0===E?1/0:E,D=i.lazy,C=void 0!==D&&D,w=i.inactivityTimeout,S=void 0===w?0:w,k=i.wsOptionArguments,A=void 0===k?[]:k;if(this.wsImpl=n||u,!this.wsImpl)throw new Error(\"Unable to find native implementation, or alternative implementation for WebSocket!\");this.wsProtocols=r||g.GRAPHQL_WS,this.connectionCallback=a,this.url=e,this.operations={},this.nextOperationId=0,this.minWsTimeout=d,this.wsTimeout=m,this.unsentMessagesQueue=[],this.reconnect=b,this.reconnecting=!1,this.reconnectionAttempts=x,this.lazy=!!C,this.inactivityTimeout=S,this.closedByUser=!1,this.backoff=new c({jitter:.5}),this.eventEmitter=new l.EventEmitter,this.middlewares=[],this.client=null,this.maxConnectTimeGenerator=this.createMaxConnectTimeGenerator(),this.connectionParams=this.getConnectionParams(p),this.wsOptionArguments=A,this.lazy||this.connect()}return Object.defineProperty(e.prototype,\"status\",{get:function(){return null===this.client?this.wsImpl.CLOSED:this.client.readyState},enumerable:!1,configurable:!0}),e.prototype.close=function(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0),this.clearInactivityTimeout(),null!==this.client&&(this.closedByUser=t,e&&(this.clearCheckConnectionInterval(),this.clearMaxConnectTimeout(),this.clearTryReconnectTimeout(),this.unsubscribeAll(),this.sendMessage(void 0,v.default.GQL_CONNECTION_TERMINATE,null)),this.client.close(),this.client.onopen=null,this.client.onclose=null,this.client.onerror=null,this.client.onmessage=null,this.client=null,this.eventEmitter.emit(\"disconnected\"),e||this.tryReconnect())},e.prototype.request=function(e){var t,n,r=this.getObserver.bind(this),i=this.executeOperation.bind(this),o=this.unsubscribe.bind(this);return this.clearInactivityTimeout(),(t={})[m.default]=function(){return this},t.subscribe=function(t,a,s){var u=r(t,a,s);return n=i(e,(function(e,t){null===e&&null===t?u.complete&&u.complete():e?u.error&&u.error(e[0]):u.next&&u.next(t)})),{unsubscribe:function(){n&&(o(n),n=null)}}},t},e.prototype.on=function(e,t,n){var r=this.eventEmitter.on(e,t,n);return function(){r.off(e,t,n)}},e.prototype.onConnected=function(e,t){return this.on(\"connected\",e,t)},e.prototype.onConnecting=function(e,t){return this.on(\"connecting\",e,t)},e.prototype.onDisconnected=function(e,t){return this.on(\"disconnected\",e,t)},e.prototype.onReconnected=function(e,t){return this.on(\"reconnected\",e,t)},e.prototype.onReconnecting=function(e,t){return this.on(\"reconnecting\",e,t)},e.prototype.onError=function(e,t){return this.on(\"error\",e,t)},e.prototype.unsubscribeAll=function(){var e=this;Object.keys(this.operations).forEach((function(t){e.unsubscribe(t)}))},e.prototype.applyMiddlewares=function(e){var t=this;return new Promise((function(n,r){var i,o,s;i=a(t.middlewares),o=t,(s=function(t){if(t)r(t);else if(i.length>0){var a=i.shift();a&&a.applyMiddleware.apply(o,[e,s])}else n(e)})()}))},e.prototype.use=function(e){var t=this;return e.map((function(e){if(\"function\"!=typeof e.applyMiddleware)throw new Error(\"Middleware must implement the applyMiddleware function.\");t.middlewares.push(e)})),this},e.prototype.getConnectionParams=function(e){return function(){return new Promise((function(t,n){if(\"function\"==typeof e)try{return t(e.call(null))}catch(e){return n(e)}t(e)}))}},e.prototype.executeOperation=function(e,t){var n=this;null===this.client&&this.connect();var r=this.generateOperationId();return this.operations[r]={options:e,handler:t},this.applyMiddlewares(e).then((function(e){n.checkOperationOptions(e,t),n.operations[r]&&(n.operations[r]={options:e,handler:t},n.sendMessage(r,v.default.GQL_START,e))})).catch((function(e){n.unsubscribe(r),t(n.formatErrors(e))})),r},e.prototype.getObserver=function(e,t,n){return\"function\"==typeof e?{next:function(t){return e(t)},error:function(e){return t&&t(e)},complete:function(){return n&&n()}}:e},e.prototype.createMaxConnectTimeGenerator=function(){var e=this.minWsTimeout,t=this.wsTimeout;return new c({min:e,max:t,factor:1.2})},e.prototype.clearCheckConnectionInterval=function(){this.checkConnectionIntervalId&&(clearInterval(this.checkConnectionIntervalId),this.checkConnectionIntervalId=null)},e.prototype.clearMaxConnectTimeout=function(){this.maxConnectTimeoutId&&(clearTimeout(this.maxConnectTimeoutId),this.maxConnectTimeoutId=null)},e.prototype.clearTryReconnectTimeout=function(){this.tryReconnectTimeoutId&&(clearTimeout(this.tryReconnectTimeoutId),this.tryReconnectTimeoutId=null)},e.prototype.clearInactivityTimeout=function(){this.inactivityTimeoutId&&(clearTimeout(this.inactivityTimeoutId),this.inactivityTimeoutId=null)},e.prototype.setInactivityTimeout=function(){var e=this;this.inactivityTimeout>0&&0===Object.keys(this.operations).length&&(this.inactivityTimeoutId=setTimeout((function(){0===Object.keys(e.operations).length&&e.close()}),this.inactivityTimeout))},e.prototype.checkOperationOptions=function(e,t){var n=e.query,r=e.variables,i=e.operationName;if(!n)throw new Error(\"Must provide a query.\");if(!t)throw new Error(\"Must provide an handler.\");if(!p.default(n)&&!h.getOperationAST(n,i)||i&&!p.default(i)||r&&!f.default(r))throw new Error(\"Incorrect option types. query must be a string or a document,`operationName` must be a string, and `variables` must be an object.\")},e.prototype.buildMessage=function(e,t,n){return{id:e,type:t,payload:n&&n.query?r(r({},n),{query:\"string\"==typeof n.query?n.query:d.print(n.query)}):n}},e.prototype.formatErrors=function(e){return Array.isArray(e)?e:e&&e.errors?this.formatErrors(e.errors):e&&e.message?[e]:[{name:\"FormatedError\",message:\"Unknown error\",originalError:e}]},e.prototype.sendMessage=function(e,t,n){this.sendMessageRaw(this.buildMessage(e,t,n))},e.prototype.sendMessageRaw=function(e){switch(this.status){case this.wsImpl.OPEN:var t=JSON.stringify(e);try{JSON.parse(t)}catch(t){this.eventEmitter.emit(\"error\",new Error(\"Message must be JSON-serializable. Got: \"+e))}this.client.send(t);break;case this.wsImpl.CONNECTING:this.unsentMessagesQueue.push(e);break;default:this.reconnecting||this.eventEmitter.emit(\"error\",new Error(\"A message was not sent because socket is not connected, is closing or is already closed. Message was: \"+JSON.stringify(e)))}},e.prototype.generateOperationId=function(){return String(++this.nextOperationId)},e.prototype.tryReconnect=function(){var e=this;if(this.reconnect&&!(this.backoff.attempts>=this.reconnectionAttempts)){this.reconnecting||(Object.keys(this.operations).forEach((function(t){e.unsentMessagesQueue.push(e.buildMessage(t,v.default.GQL_START,e.operations[t].options))})),this.reconnecting=!0),this.clearTryReconnectTimeout();var t=this.backoff.duration();this.tryReconnectTimeoutId=setTimeout((function(){e.connect()}),t)}},e.prototype.flushUnsentMessagesQueue=function(){var e=this;this.unsentMessagesQueue.forEach((function(t){e.sendMessageRaw(t)})),this.unsentMessagesQueue=[]},e.prototype.checkConnection=function(){this.wasKeepAliveReceived?this.wasKeepAliveReceived=!1:this.reconnecting||this.close(!1,!0)},e.prototype.checkMaxConnectTimeout=function(){var e=this;this.clearMaxConnectTimeout(),this.maxConnectTimeoutId=setTimeout((function(){e.status!==e.wsImpl.OPEN&&(e.reconnecting=!0,e.close(!1,!0))}),this.maxConnectTimeGenerator.duration())},e.prototype.connect=function(){var e,t=this;this.client=new((e=this.wsImpl).bind.apply(e,a([void 0,this.url,this.wsProtocols],this.wsOptionArguments))),this.checkMaxConnectTimeout(),this.client.onopen=function(){return i(t,void 0,void 0,(function(){var e,t;return o(this,(function(n){switch(n.label){case 0:if(this.status!==this.wsImpl.OPEN)return[3,4];this.clearMaxConnectTimeout(),this.closedByUser=!1,this.eventEmitter.emit(this.reconnecting?\"reconnecting\":\"connecting\"),n.label=1;case 1:return n.trys.push([1,3,,4]),[4,this.connectionParams()];case 2:return e=n.sent(),this.sendMessage(void 0,v.default.GQL_CONNECTION_INIT,e),this.flushUnsentMessagesQueue(),[3,4];case 3:return t=n.sent(),this.sendMessage(void 0,v.default.GQL_CONNECTION_ERROR,t),this.flushUnsentMessagesQueue(),[3,4];case 4:return[2]}}))}))},this.client.onclose=function(){t.closedByUser||t.close(!1,!1)},this.client.onerror=function(e){t.eventEmitter.emit(\"error\",e)},this.client.onmessage=function(e){var n=e.data;t.processReceivedData(n)}},e.prototype.processReceivedData=function(e){var t,n;try{n=(t=JSON.parse(e)).id}catch(t){throw new Error(\"Message must be JSON-parseable. Got: \"+e)}if(-1===[v.default.GQL_DATA,v.default.GQL_COMPLETE,v.default.GQL_ERROR].indexOf(t.type)||this.operations[n])switch(t.type){case v.default.GQL_CONNECTION_ERROR:this.connectionCallback&&this.connectionCallback(t.payload);break;case v.default.GQL_CONNECTION_ACK:this.eventEmitter.emit(this.reconnecting?\"reconnected\":\"connected\",t.payload),this.reconnecting=!1,this.backoff.reset(),this.maxConnectTimeGenerator.reset(),this.connectionCallback&&this.connectionCallback();break;case v.default.GQL_COMPLETE:var i=this.operations[n].handler;delete this.operations[n],i.call(this,null,null);break;case v.default.GQL_ERROR:this.operations[n].handler(this.formatErrors(t.payload),null),delete this.operations[n];break;case v.default.GQL_DATA:var o=t.payload.errors?r(r({},t.payload),{errors:this.formatErrors(t.payload.errors)}):t.payload;this.operations[n].handler(null,o);break;case v.default.GQL_CONNECTION_KEEP_ALIVE:var a=void 0===this.wasKeepAliveReceived;this.wasKeepAliveReceived=!0,a&&this.checkConnection(),this.checkConnectionIntervalId&&(clearInterval(this.checkConnectionIntervalId),this.checkConnection()),this.checkConnectionIntervalId=setInterval(this.checkConnection.bind(this),this.wsTimeout);break;default:throw new Error(\"Invalid message type!\")}else this.unsubscribe(n)},e.prototype.unsubscribe=function(e){this.operations[e]&&(delete this.operations[e],this.setInactivityTimeout(),this.sendMessage(e,v.default.GQL_STOP,void 0))},e}();t.SubscriptionClient=b}).call(this,n(43))},function(e,t,n){\"use strict\";var r=Array.prototype.flatMap,i=r?function(e,t){return r.call(e,t)}:function(e,t){for(var n=[],r=0;r<e.length;r++){var i=t(e[r]);Array.isArray(i)?n=n.concat(i):n.push(i)}return n};t.a=i},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(34),a=n(49),s=n(68),u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.toJSON=function(){var e=this.toObject();return o.set(e,\"navStack\",o.List([]))},t}(o.Record({navStack:o.List([]),docsOpen:!1,docsWidth:s.columnWidth,activeTabIdx:null,keyMove:!1}));t.DocsSession=u;var c=o.Map({\"\":new u});function l(e,t){if(!t)throw new Error(\"sessionId cant be null\");return e.get(t)||new u}t.default=a.handleActions({SET_STACKS:function(e,t){var n=t.payload,r=n.sessionId,i=n.stacks,o=l(e,r);return o=o.set(\"navStack\",i),e.set(r,o)},ADD_STACK:function(e,t){var n=t.payload,r=n.sessionId,i=n.field,a=n.x,s=n.y;i.path||(i.path=i.name);var u=l(e,r);return u=u.update(\"navStack\",(function(e){var t=e;return a<t.count()&&(t=t.slice(0,a)),t.push(o.Map({x:a,y:s,field:i}))})),e.set(r,u)},TOGGLE_DOCS:function(e,t){var n=t.payload,r=n.sessionId,i=n.activeTabIdx,o=l(e,r);return o=o.set(\"docsOpen\",!o.docsOpen),\"number\"==typeof i&&(o=o.set(\"activeTabIdx\",o.docsOpen?i:null)),e.set(r,o)},SET_DOCS_VISIBLE:function(e,t){var n=t.payload,r=n.sessionId,i=n.open,o=n.activeTabIdx,a=l(e,r);return(a=a.set(\"docsOpen\",!!i)).docsOpen?\"number\"==typeof o&&(a=a.set(\"activeTabIdx\",o)):a=a.set(\"activeTabIdx\",null),e.set(r,a)},CHANGE_WIDTH_DOCS:function(e,t){var n=t.payload,r=n.sessionId,i=n.width,o=l(e,r);return o=o.set(\"docsWidth\",i),e.set(r,o)},CHANGE_KEY_MOVE:function(e,t){var n=t.payload,r=n.sessionId,i=n.keyMove,o=l(e,r);return o=o.set(\"keyMove\",i),e.set(r,o)}},c)},function(e,t,n){\"use strict\";var r;Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(49);t.toggleHistoryItemStarring=(r=i.createActions({TOGGLE_HISTORY_ITEM_STARRING:function(e){return{sessionId:e}},ADD_HISTORY_ITEM:function(e){return{session:e}}})).toggleHistoryItemStarring,t.addHistoryItem=r.addHistoryItem},function(e,t,n){\"use strict\";var r;Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(49);t.share=(r=i.createActions({TOGGLE_SHARE_HISTORY:function(){return{}},TOGGLE_SHARE_HEADERS:function(){return{}},TOGGLE_SHARE_ALL_TABS:function(){return{}},SHARE:function(){return{}},SET_SHARE_URL:function(e){return{shareUrl:e}}})).share,t.toggleShareHistory=r.toggleShareHistory,t.toggleShareHeaders=r.toggleShareHeaders,t.toggleShareAllTabs=r.toggleShareAllTabs,t.setShareUrl=r.setShareUrl},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.canUseDOM=void 0;var r,i=n(311);var o=((r=i)&&r.__esModule?r:{default:r}).default,a=o.canUseDOM?window.HTMLElement:{};t.canUseDOM=o.canUseDOM;t.default=a},function(e,t,n){\"use strict\";(function(e){var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(3),s=n(321),u=n(30),c=n(180),l=n(38),p=n(28),f=n(32),d=n(69),h=n(11),m=n(88),g=new s,y=function(t){function r(e){var n=t.call(this,e)||this;return n.setRef=function(e){n.node=e},n.onKeyUp=function(e,t){var r=t.keyCode;86!==r&&(r>=65&&r<=90||!t.shiftKey&&r>=48&&r<=57||t.shiftKey&&189===r||t.shiftKey&&50===r||t.shiftKey&&57===r)&&n.editor.execCommand(\"autocomplete\")},n.onEdit=function(){!n.ignoreChangeEvent&&n.props.onChange&&(n.cachedValue=n.editor.getValue(),n.props.onChange(n.cachedValue))},n.onHasCompletion=function(e,t){c.default(e,t,n.props.onHintInformationRender)},n.closeCompletion=function(){n.editor.state.completionActive&&\"function\"==typeof n.editor.state.completionActive.close&&n.editor.state.completionActive.close()},n.cachedValue=e.value||\"\",n.props.getRef&&n.props.getRef(n),n}return i(r,t),r.prototype.componentDidMount=function(){var t=this,r=n(16);n(125),n(185),n(91),n(126),n(106),n(92),n(186),n(70),n(107),n(71),n(127),n(108),n(377),n(378),n(382),n(383),n(385),n(190);var i=[];i.push(\"CodeMirror-linenumbers\"),i.push(\"CodeMirror-foldgutter\"),this.editor=r(this.node,{autofocus:!m.isIframe(),value:this.props.value||\"\",lineNumbers:!0,tabSize:this.props.tabWidth||2,indentWithTabs:this.props.useTabs||!1,mode:\"graphql\",theme:\"graphiql\",keyMap:\"sublime\",autoCloseBrackets:!0,matchBrackets:!0,showCursorWhenSelecting:!0,readOnly:!1,foldGutter:{minFoldSize:4},lint:{schema:this.props.schema},hintOptions:{schema:this.props.schema,closeOnUnfocus:!0,completeSingle:!1},info:{schema:this.props.schema,renderDescription:function(e){return g.render(e)},onClick:this.props.onClickReference},jump:{schema:this.props.schema,onClick:this.props.onClickReference},gutters:i,extraKeys:{\"Cmd-Space\":function(){return t.editor.showHint({completeSingle:!0})},\"Ctrl-Space\":function(){return t.editor.showHint({completeSingle:!0})},\"Alt-Space\":function(){return t.editor.showHint({completeSingle:!0})},\"Shift-Space\":function(){return t.editor.showHint({completeSingle:!0})},\"Cmd-Enter\":function(){t.props.onRunQuery&&t.props.onRunQuery()},\"Ctrl-Enter\":function(){t.props.onRunQuery&&t.props.onRunQuery()},\"Ctrl-Left\":\"goSubwordLeft\",\"Ctrl-Right\":\"goSubwordRight\",\"Alt-Left\":\"goGroupLeft\",\"Alt-Right\":\"goGroupRight\",\"Cmd-F\":\"findPersistent\",\"Ctrl-F\":\"findPersistent\"}}),this.editor.on(\"change\",this.onEdit),this.editor.on(\"keyup\",this.onKeyUp),this.editor.on(\"hasCompletion\",this.onHasCompletion),e.editor=this.editor,this.props.scrollTop&&this.scrollTo(this.props.scrollTop)},r.prototype.componentDidUpdate=function(e){var t=this,r=n(16);this.ignoreChangeEvent=!0,this.props.schema!==e.schema&&(this.editor.options.lint.schema=this.props.schema,this.editor.options.hintOptions.schema=this.props.schema,this.editor.options.info.schema=this.props.schema,this.editor.options.jump.schema=this.props.schema,r.signal(this.editor,\"change\",this.editor)),this.props.value!==e.value&&this.props.value!==this.cachedValue&&(this.cachedValue=this.props.value,this.editor.setValue(this.props.value)),this.ignoreChangeEvent=!1,setTimeout((function(){t.props.sessionId!==e.sessionId&&t.props.scrollTop&&t.scrollTo(t.props.scrollTop)}))},r.prototype.UNSAFE_componentWillReceiveProps=function(e){this.props.sessionId!==e.sessionId&&(this.closeCompletion(),this.updateSessionScrollTop(),m.isIframe()||this.editor.focus())},r.prototype.scrollTo=function(e){this.node.querySelector(\".CodeMirror-scroll\").scrollTop=e},r.prototype.updateSessionScrollTop=function(){this.props.setScrollTop&&this.props.sessionId&&this.props.setScrollTop(this.props.sessionId,this.node.querySelector(\".CodeMirror-scroll\").scrollTop)},r.prototype.componentWillUnmount=function(){this.updateSessionScrollTop(),this.editor.off(\"change\",this.onEdit),this.editor.off(\"keyup\",this.onKeyUp),this.editor.off(\"hasCompletion\",this.onHasCompletion),this.editor=null},r.prototype.render=function(){return a.createElement(d.default,null,a.createElement(E,{ref:this.setRef}))},r.prototype.getCodeMirror=function(){return this.editor},r.prototype.getClientHeight=function(){return this.node&&this.node.clientHeight},r}(a.PureComponent);t.QueryEditor=y;var v=p.createStructuredSelector({value:f.getQuery,sessionId:f.getSelectedSessionIdFromRoot,scrollTop:f.getScrollTop,tabWidth:f.getTabWidth,useTabs:f.getUseTabs});t.default=u.connect(v,{onChange:l.editQuery,setScrollTop:l.setScrollTop})(y);var b,E=h.styled.div(b||(b=o([\"\\n  flex: 1 1 0%;\\n  position: relative;\\n\\n  .CodeMirror {\\n    width: 100%;\\n    background: \",\";\\n  }\\n\"],[\"\\n  flex: 1 1 0%;\\n  position: relative;\\n\\n  .CodeMirror {\\n    width: 100%;\\n    background: \",\";\\n  }\\n\"])),(function(e){return e.theme.editorColours.editorBackground}))}).call(this,n(43))},function(e,t,n){\"use strict\";function r(){this.__rules__=[],this.__cache__=null}r.prototype.__find__=function(e){for(var t=0;t<this.__rules__.length;t++)if(this.__rules__[t].name===e)return t;return-1},r.prototype.__compile__=function(){var e=this,t=[\"\"];e.__rules__.forEach((function(e){e.enabled&&e.alt.forEach((function(e){t.indexOf(e)<0&&t.push(e)}))})),e.__cache__={},t.forEach((function(t){e.__cache__[t]=[],e.__rules__.forEach((function(n){n.enabled&&(t&&n.alt.indexOf(t)<0||e.__cache__[t].push(n.fn))}))}))},r.prototype.at=function(e,t,n){var r=this.__find__(e),i=n||{};if(-1===r)throw new Error(\"Parser rule not found: \"+e);this.__rules__[r].fn=t,this.__rules__[r].alt=i.alt||[],this.__cache__=null},r.prototype.before=function(e,t,n,r){var i=this.__find__(e),o=r||{};if(-1===i)throw new Error(\"Parser rule not found: \"+e);this.__rules__.splice(i,0,{name:t,enabled:!0,fn:n,alt:o.alt||[]}),this.__cache__=null},r.prototype.after=function(e,t,n,r){var i=this.__find__(e),o=r||{};if(-1===i)throw new Error(\"Parser rule not found: \"+e);this.__rules__.splice(i+1,0,{name:t,enabled:!0,fn:n,alt:o.alt||[]}),this.__cache__=null},r.prototype.push=function(e,t,n){var r=n||{};this.__rules__.push({name:e,enabled:!0,fn:t,alt:r.alt||[]}),this.__cache__=null},r.prototype.enable=function(e,t){Array.isArray(e)||(e=[e]);var n=[];return e.forEach((function(e){var r=this.__find__(e);if(r<0){if(t)return;throw new Error(\"Rules manager: invalid rule name \"+e)}this.__rules__[r].enabled=!0,n.push(e)}),this),this.__cache__=null,n},r.prototype.enableOnly=function(e,t){Array.isArray(e)||(e=[e]),this.__rules__.forEach((function(e){e.enabled=!1})),this.enable(e,t)},r.prototype.disable=function(e,t){Array.isArray(e)||(e=[e]);var n=[];return e.forEach((function(e){var r=this.__find__(e);if(r<0){if(t)return;throw new Error(\"Rules manager: invalid rule name \"+e)}this.__rules__[r].enabled=!1,n.push(e)}),this),this.__cache__=null,n},r.prototype.getRules=function(e){return null===this.__cache__&&this.__compile__(),this.__cache__[e]||[]},e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n){this.type=e,this.tag=t,this.attrs=null,this.map=null,this.nesting=n,this.level=0,this.children=null,this.content=\"\",this.markup=\"\",this.info=\"\",this.meta=null,this.block=!1,this.hidden=!1}r.prototype.attrIndex=function(e){var t,n,r;if(!this.attrs)return-1;for(n=0,r=(t=this.attrs).length;n<r;n++)if(t[n][0]===e)return n;return-1},r.prototype.attrPush=function(e){this.attrs?this.attrs.push(e):this.attrs=[e]},r.prototype.attrSet=function(e,t){var n=this.attrIndex(e),r=[e,t];n<0?this.attrPush(r):this.attrs[n]=r},r.prototype.attrGet=function(e){var t=this.attrIndex(e),n=null;return t>=0&&(n=this.attrs[t][1]),n},r.prototype.attrJoin=function(e,t){var n=this.attrIndex(e);n<0?this.attrPush([e,t]):this.attrs[n][1]=this.attrs[n][1]+\" \"+t},e.exports=r},function(e,t,n){const{defaults:r}=n(90),{cleanUrl:i,escape:o}=n(76);e.exports=class{constructor(e){this.options=e||r}code(e,t,n){const r=(t||\"\").match(/\\S*/)[0];if(this.options.highlight){const t=this.options.highlight(e,r);null!=t&&t!==e&&(n=!0,e=t)}return r?'<pre><code class=\"'+this.options.langPrefix+o(r,!0)+'\">'+(n?e:o(e,!0))+\"</code></pre>\\n\":\"<pre><code>\"+(n?e:o(e,!0))+\"</code></pre>\"}blockquote(e){return\"<blockquote>\\n\"+e+\"</blockquote>\\n\"}html(e){return e}heading(e,t,n,r){return this.options.headerIds?\"<h\"+t+' id=\"'+this.options.headerPrefix+r.slug(n)+'\">'+e+\"</h\"+t+\">\\n\":\"<h\"+t+\">\"+e+\"</h\"+t+\">\\n\"}hr(){return this.options.xhtml?\"<hr/>\\n\":\"<hr>\\n\"}list(e,t,n){const r=t?\"ol\":\"ul\";return\"<\"+r+(t&&1!==n?' start=\"'+n+'\"':\"\")+\">\\n\"+e+\"</\"+r+\">\\n\"}listitem(e){return\"<li>\"+e+\"</li>\\n\"}checkbox(e){return\"<input \"+(e?'checked=\"\" ':\"\")+'disabled=\"\" type=\"checkbox\"'+(this.options.xhtml?\" /\":\"\")+\"> \"}paragraph(e){return\"<p>\"+e+\"</p>\\n\"}table(e,t){return t&&(t=\"<tbody>\"+t+\"</tbody>\"),\"<table>\\n<thead>\\n\"+e+\"</thead>\\n\"+t+\"</table>\\n\"}tablerow(e){return\"<tr>\\n\"+e+\"</tr>\\n\"}tablecell(e,t){const n=t.header?\"th\":\"td\";return(t.align?\"<\"+n+' align=\"'+t.align+'\">':\"<\"+n+\">\")+e+\"</\"+n+\">\\n\"}strong(e){return\"<strong>\"+e+\"</strong>\"}em(e){return\"<em>\"+e+\"</em>\"}codespan(e){return\"<code>\"+e+\"</code>\"}br(){return this.options.xhtml?\"<br/>\":\"<br>\"}del(e){return\"<del>\"+e+\"</del>\"}link(e,t,n){if(null===(e=i(this.options.sanitize,this.options.baseUrl,e)))return n;let r='<a href=\"'+o(e)+'\"';return t&&(r+=' title=\"'+t+'\"'),r+=\">\"+n+\"</a>\",r}image(e,t,n){if(null===(e=i(this.options.sanitize,this.options.baseUrl,e)))return n;let r='<img src=\"'+e+'\" alt=\"'+n+'\"';return t&&(r+=' title=\"'+t+'\"'),r+=this.options.xhtml?\"/>\":\">\",r}text(e){return e}}},function(e,t,n){!function(e){\"use strict\";function t(e,t){this.cm=e,this.options=t,this.widget=null,this.debounce=0,this.tick=0,this.startPos=this.cm.getCursor(\"start\"),this.startLen=this.cm.getLine(this.startPos.line).length-this.cm.getSelection().length;var n=this;e.on(\"cursorActivity\",this.activityFunc=function(){n.cursorActivity()})}e.showHint=function(e,t,n){if(!t)return e.showHint(n);n&&n.async&&(t.async=!0);var r={hint:t};if(n)for(var i in n)r[i]=n[i];return e.showHint(r)},e.defineExtension(\"showHint\",(function(n){n=function(e,t,n){var r=e.options.hintOptions,i={};for(var o in u)i[o]=u[o];if(r)for(var o in r)void 0!==r[o]&&(i[o]=r[o]);if(n)for(var o in n)void 0!==n[o]&&(i[o]=n[o]);return i.hint.resolve&&(i.hint=i.hint.resolve(e,t)),i}(this,this.getCursor(\"start\"),n);var r=this.listSelections();if(!(r.length>1)){if(this.somethingSelected()){if(!n.hint.supportsSelection)return;for(var i=0;i<r.length;i++)if(r[i].head.line!=r[i].anchor.line)return}this.state.completionActive&&this.state.completionActive.close();var o=this.state.completionActive=new t(this,n);o.options.hint&&(e.signal(this,\"startCompletion\",this),o.update(!0))}})),e.defineExtension(\"closeHint\",(function(){this.state.completionActive&&this.state.completionActive.close()}));var n=window.requestAnimationFrame||function(e){return setTimeout(e,1e3/60)},r=window.cancelAnimationFrame||clearTimeout;function i(e){return\"string\"==typeof e?e:e.text}function o(e,t){for(;t&&t!=e;){if(\"LI\"===t.nodeName.toUpperCase()&&t.parentNode==e)return t;t=t.parentNode}}function a(t,n){this.completion=t,this.data=n,this.picked=!1;var r=this,a=t.cm,s=a.getInputField().ownerDocument,u=s.defaultView||s.parentWindow,c=this.hints=s.createElement(\"ul\"),l=t.cm.options.theme;c.className=\"CodeMirror-hints \"+l,this.selectedHint=n.selectedHint||0;for(var p=n.list,f=0;f<p.length;++f){var d=c.appendChild(s.createElement(\"li\")),h=p[f],m=\"CodeMirror-hint\"+(f!=this.selectedHint?\"\":\" CodeMirror-hint-active\");null!=h.className&&(m=h.className+\" \"+m),d.className=m,h.render?h.render(d,n,h):d.appendChild(s.createTextNode(h.displayText||i(h))),d.hintId=f}var g=t.options.container||s.body,y=a.cursorCoords(t.options.alignWithWord?n.from:null),v=y.left,b=y.bottom,E=!0,x=0,D=0;if(g!==s.body){var C=-1!==[\"absolute\",\"relative\",\"fixed\"].indexOf(u.getComputedStyle(g).position)?g:g.offsetParent,w=C.getBoundingClientRect(),S=s.body.getBoundingClientRect();x=w.left-S.left-C.scrollLeft,D=w.top-S.top-C.scrollTop}c.style.left=v-x+\"px\",c.style.top=b-D+\"px\";var k=u.innerWidth||Math.max(s.body.offsetWidth,s.documentElement.offsetWidth),A=u.innerHeight||Math.max(s.body.offsetHeight,s.documentElement.offsetHeight);g.appendChild(c);var T=c.getBoundingClientRect(),_=T.bottom-A,O=c.scrollHeight>c.clientHeight+1,F=a.getScrollInfo();if(_>0){var N=T.bottom-T.top;if(y.top-(y.bottom-T.top)-N>0)c.style.top=(b=y.top-N-D)+\"px\",E=!1;else if(N>A){c.style.height=A-5+\"px\",c.style.top=(b=y.bottom-T.top-D)+\"px\";var I=a.getCursor();n.from.ch!=I.ch&&(y=a.cursorCoords(I),c.style.left=(v=y.left-x)+\"px\",T=c.getBoundingClientRect())}}var M,j=T.right-k;if(j>0&&(T.right-T.left>k&&(c.style.width=k-5+\"px\",j-=T.right-T.left-k),c.style.left=(v=y.left-j-x)+\"px\"),O)for(var L=c.firstChild;L;L=L.nextSibling)L.style.paddingRight=a.display.nativeBarWidth+\"px\";return a.addKeyMap(this.keyMap=function(e,t){var n={Up:function(){t.moveFocus(-1)},Down:function(){t.moveFocus(1)},PageUp:function(){t.moveFocus(1-t.menuSize(),!0)},PageDown:function(){t.moveFocus(t.menuSize()-1,!0)},Home:function(){t.setFocus(0)},End:function(){t.setFocus(t.length-1)},Enter:t.pick,Tab:t.pick,Esc:t.close};/Mac/.test(navigator.platform)&&(n[\"Ctrl-P\"]=function(){t.moveFocus(-1)},n[\"Ctrl-N\"]=function(){t.moveFocus(1)});var r=e.options.customKeys,i=r?{}:n;function o(e,r){var o;o=\"string\"!=typeof r?function(e){return r(e,t)}:n.hasOwnProperty(r)?n[r]:r,i[e]=o}if(r)for(var a in r)r.hasOwnProperty(a)&&o(a,r[a]);var s=e.options.extraKeys;if(s)for(var a in s)s.hasOwnProperty(a)&&o(a,s[a]);return i}(t,{moveFocus:function(e,t){r.changeActive(r.selectedHint+e,t)},setFocus:function(e){r.changeActive(e)},menuSize:function(){return r.screenAmount()},length:p.length,close:function(){t.close()},pick:function(){r.pick()},data:n})),t.options.closeOnUnfocus&&(a.on(\"blur\",this.onBlur=function(){M=setTimeout((function(){t.close()}),100)}),a.on(\"focus\",this.onFocus=function(){clearTimeout(M)})),a.on(\"scroll\",this.onScroll=function(){var e=a.getScrollInfo(),n=a.getWrapperElement().getBoundingClientRect(),r=b+F.top-e.top,i=r-(u.pageYOffset||(s.documentElement||s.body).scrollTop);if(E||(i+=c.offsetHeight),i<=n.top||i>=n.bottom)return t.close();c.style.top=r+\"px\",c.style.left=v+F.left-e.left+\"px\"}),e.on(c,\"dblclick\",(function(e){var t=o(c,e.target||e.srcElement);t&&null!=t.hintId&&(r.changeActive(t.hintId),r.pick())})),e.on(c,\"click\",(function(e){var n=o(c,e.target||e.srcElement);n&&null!=n.hintId&&(r.changeActive(n.hintId),t.options.completeOnSingleClick&&r.pick())})),e.on(c,\"mousedown\",(function(){setTimeout((function(){a.focus()}),20)})),this.scrollToActive(),e.signal(n,\"select\",p[this.selectedHint],c.childNodes[this.selectedHint]),!0}function s(e,t,n,r){if(e.async)e(t,r,n);else{var i=e(t,n);i&&i.then?i.then(r):r(i)}}t.prototype={close:function(){this.active()&&(this.cm.state.completionActive=null,this.tick=null,this.cm.off(\"cursorActivity\",this.activityFunc),this.widget&&this.data&&e.signal(this.data,\"close\"),this.widget&&this.widget.close(),e.signal(this.cm,\"endCompletion\",this.cm))},active:function(){return this.cm.state.completionActive==this},pick:function(t,n){var r=t.list[n],o=this;this.cm.operation((function(){r.hint?r.hint(o.cm,t,r):o.cm.replaceRange(i(r),r.from||t.from,r.to||t.to,\"complete\"),e.signal(t,\"pick\",r),o.cm.scrollIntoView()})),this.close()},cursorActivity:function(){this.debounce&&(r(this.debounce),this.debounce=0);var e=this.startPos;this.data&&(e=this.data.from);var t=this.cm.getCursor(),i=this.cm.getLine(t.line);if(t.line!=this.startPos.line||i.length-t.ch!=this.startLen-this.startPos.ch||t.ch<e.ch||this.cm.somethingSelected()||!t.ch||this.options.closeCharacters.test(i.charAt(t.ch-1)))this.close();else{var o=this;this.debounce=n((function(){o.update()})),this.widget&&this.widget.disable()}},update:function(e){if(null!=this.tick){var t=this,n=++this.tick;s(this.options.hint,this.cm,this.options,(function(r){t.tick==n&&t.finishUpdate(r,e)}))}},finishUpdate:function(t,n){this.data&&e.signal(this.data,\"update\");var r=this.widget&&this.widget.picked||n&&this.options.completeSingle;this.widget&&this.widget.close(),this.data=t,t&&t.list.length&&(r&&1==t.list.length?this.pick(t,0):(this.widget=new a(this,t),e.signal(t,\"shown\")))}},a.prototype={close:function(){if(this.completion.widget==this){this.completion.widget=null,this.hints.parentNode.removeChild(this.hints),this.completion.cm.removeKeyMap(this.keyMap);var e=this.completion.cm;this.completion.options.closeOnUnfocus&&(e.off(\"blur\",this.onBlur),e.off(\"focus\",this.onFocus)),e.off(\"scroll\",this.onScroll)}},disable:function(){this.completion.cm.removeKeyMap(this.keyMap);var e=this;this.keyMap={Enter:function(){e.picked=!0}},this.completion.cm.addKeyMap(this.keyMap)},pick:function(){this.completion.pick(this.data,this.selectedHint)},changeActive:function(t,n){if(t>=this.data.list.length?t=n?this.data.list.length-1:0:t<0&&(t=n?0:this.data.list.length-1),this.selectedHint!=t){var r=this.hints.childNodes[this.selectedHint];r&&(r.className=r.className.replace(\" CodeMirror-hint-active\",\"\")),(r=this.hints.childNodes[this.selectedHint=t]).className+=\" CodeMirror-hint-active\",this.scrollToActive(),e.signal(this.data,\"select\",this.data.list[this.selectedHint],r)}},scrollToActive:function(){var e=this.completion.options.scrollMargin||0,t=this.hints.childNodes[Math.max(0,this.selectedHint-e)],n=this.hints.childNodes[Math.min(this.data.list.length-1,this.selectedHint+e)],r=this.hints.firstChild;t.offsetTop<this.hints.scrollTop?this.hints.scrollTop=t.offsetTop-r.offsetTop:n.offsetTop+n.offsetHeight>this.hints.scrollTop+this.hints.clientHeight&&(this.hints.scrollTop=n.offsetTop+n.offsetHeight-this.hints.clientHeight+r.offsetTop)},screenAmount:function(){return Math.floor(this.hints.clientHeight/this.hints.firstChild.offsetHeight)||1}},e.registerHelper(\"hint\",\"auto\",{resolve:function(t,n){var r,i=t.getHelpers(n,\"hint\");if(i.length){var o=function(e,t,n){var r=function(e,t){if(!e.somethingSelected())return t;for(var n=[],r=0;r<t.length;r++)t[r].supportsSelection&&n.push(t[r]);return n}(e,i);!function i(o){if(o==r.length)return t(null);s(r[o],e,n,(function(e){e&&e.list.length>0?t(e):i(o+1)}))}(0)};return o.async=!0,o.supportsSelection=!0,o}return(r=t.getHelper(t.getCursor(),\"hintWords\"))?function(t){return e.hint.fromList(t,{words:r})}:e.hint.anyword?function(t,n){return e.hint.anyword(t,n)}:function(){}}}),e.registerHelper(\"hint\",\"fromList\",(function(t,n){var r,i=t.getCursor(),o=t.getTokenAt(i),a=e.Pos(i.line,o.start),s=i;o.start<i.ch&&/\\w/.test(o.string.charAt(i.ch-o.start-1))?r=o.string.substr(0,i.ch-o.start):(r=\"\",a=i);for(var u=[],c=0;c<n.words.length;c++){var l=n.words[c];l.slice(0,r.length)==r&&u.push(l)}if(u.length)return{list:u,from:a,to:s}})),e.commands.autocomplete=e.showHint;var u={hint:e.hint.auto,completeSingle:!0,alignWithWord:!0,closeCharacters:/[\\s()\\[\\]{};:>,]/,closeOnUnfocus:!0,completeOnSingleClick:!0,container:null,customKeys:null,extraKeys:null};e.defineOption(\"hintOptions\",null)}(n(16))},function(e,t,n){!function(e){var t={pairs:\"()[]{}''\\\"\\\"\",closeBefore:\")]}'\\\":;>\",triples:\"\",explode:\"[]{}\"},n=e.Pos;function r(e,n){return\"pairs\"==n&&\"string\"==typeof e?e:\"object\"==typeof e&&null!=e[n]?e[n]:t[n]}e.defineOption(\"autoCloseBrackets\",!1,(function(t,n,a){a&&a!=e.Init&&(t.removeKeyMap(i),t.state.closeBrackets=null),n&&(o(r(n,\"pairs\")),t.state.closeBrackets=n,t.addKeyMap(i))}));var i={Backspace:function(t){var i=s(t);if(!i||t.getOption(\"disableInput\"))return e.Pass;for(var o=r(i,\"pairs\"),a=t.listSelections(),c=0;c<a.length;c++){if(!a[c].empty())return e.Pass;var l=u(t,a[c].head);if(!l||o.indexOf(l)%2!=0)return e.Pass}for(c=a.length-1;c>=0;c--){var p=a[c].head;t.replaceRange(\"\",n(p.line,p.ch-1),n(p.line,p.ch+1),\"+delete\")}},Enter:function(t){var n=s(t),i=n&&r(n,\"explode\");if(!i||t.getOption(\"disableInput\"))return e.Pass;for(var o=t.listSelections(),a=0;a<o.length;a++){if(!o[a].empty())return e.Pass;var c=u(t,o[a].head);if(!c||i.indexOf(c)%2!=0)return e.Pass}t.operation((function(){var e=t.lineSeparator()||\"\\n\";t.replaceSelection(e+e,null),t.execCommand(\"goCharLeft\"),o=t.listSelections();for(var n=0;n<o.length;n++){var r=o[n].head.line;t.indentLine(r,null,!0),t.indentLine(r+1,null,!0)}}))}};function o(e){for(var t=0;t<e.length;t++){var n=e.charAt(t),r=\"'\"+n+\"'\";i[r]||(i[r]=a(n))}}function a(t){return function(i){return function(t,i){var o=s(t);if(!o||t.getOption(\"disableInput\"))return e.Pass;var a=r(o,\"pairs\"),u=a.indexOf(i);if(-1==u)return e.Pass;for(var l,p=r(o,\"closeBefore\"),f=r(o,\"triples\"),d=a.charAt(u+1)==i,h=t.listSelections(),m=u%2==0,g=0;g<h.length;g++){var y,v=h[g],b=v.head,E=t.getRange(b,n(b.line,b.ch+1));if(m&&!v.empty())y=\"surround\";else if(!d&&m||E!=i)if(d&&b.ch>1&&f.indexOf(i)>=0&&t.getRange(n(b.line,b.ch-2),b)==i+i){if(b.ch>2&&/\\bstring/.test(t.getTokenTypeAt(n(b.line,b.ch-2))))return e.Pass;y=\"addFour\"}else if(d){var x=0==b.ch?\" \":t.getRange(n(b.line,b.ch-1),b);if(e.isWordChar(E)||x==i||e.isWordChar(x))return e.Pass;y=\"both\"}else{if(!m||!(0===E.length||/\\s/.test(E)||p.indexOf(E)>-1))return e.Pass;y=\"both\"}else y=d&&c(t,b)?\"both\":f.indexOf(i)>=0&&t.getRange(b,n(b.line,b.ch+3))==i+i+i?\"skipThree\":\"skip\";if(l){if(l!=y)return e.Pass}else l=y}var D=u%2?a.charAt(u-1):i,C=u%2?i:a.charAt(u+1);t.operation((function(){if(\"skip\"==l)t.execCommand(\"goCharRight\");else if(\"skipThree\"==l)for(var r=0;r<3;r++)t.execCommand(\"goCharRight\");else if(\"surround\"==l){var i=t.getSelections();for(r=0;r<i.length;r++)i[r]=D+i[r]+C;for(t.replaceSelections(i,\"around\"),i=t.listSelections().slice(),r=0;r<i.length;r++)i[r]=(o=i[r],a=void 0,a=e.cmpPos(o.anchor,o.head)>0,{anchor:new n(o.anchor.line,o.anchor.ch+(a?-1:1)),head:new n(o.head.line,o.head.ch+(a?1:-1))});t.setSelections(i)}else\"both\"==l?(t.replaceSelection(D+C,null),t.triggerElectric(D+C),t.execCommand(\"goCharLeft\")):\"addFour\"==l&&(t.replaceSelection(D+D+D+D,\"before\"),t.execCommand(\"goCharRight\"));var o,a}))}(i,t)}}function s(e){var t=e.state.closeBrackets;return!t||t.override?t:e.getModeAt(e.getCursor()).closeBrackets||t}function u(e,t){var r=e.getRange(n(t.line,t.ch-1),n(t.line,t.ch+1));return 2==r.length?r:null}function c(e,t){var r=e.getTokenAt(n(t.line,t.ch+1));return/\\bstring/.test(r.type)&&r.start==t.ch&&(0==t.ch||!/\\bstring/.test(e.getTokenTypeAt(t)))}o(t.pairs+\"`\")}(n(16))},function(e,t,n){!function(e){\"use strict\";var t=\"CodeMirror-lint-markers\";function n(e){e.parentNode&&e.parentNode.removeChild(e)}function r(t,r,i,o){var a=function(t,n,r){var i=document.createElement(\"div\");function o(t){if(!i.parentNode)return e.off(document,\"mousemove\",o);i.style.top=Math.max(0,t.clientY-i.offsetHeight-5)+\"px\",i.style.left=t.clientX+5+\"px\"}return i.className=\"CodeMirror-lint-tooltip cm-s-\"+t.options.theme,i.appendChild(r.cloneNode(!0)),t.state.lint.options.selfContain?t.getWrapperElement().appendChild(i):document.body.appendChild(i),e.on(document,\"mousemove\",o),o(n),null!=i.style.opacity&&(i.style.opacity=1),i}(t,r,i);function s(){var t;e.off(o,\"mouseout\",s),a&&((t=a).parentNode&&(null==t.style.opacity&&n(t),t.style.opacity=0,setTimeout((function(){n(t)}),600)),a=null)}var u=setInterval((function(){if(a)for(var e=o;;e=e.parentNode){if(e&&11==e.nodeType&&(e=e.host),e==document.body)return;if(!e){s();break}}if(!a)return clearInterval(u)}),400);e.on(o,\"mouseout\",s)}function i(e,t,n){this.marked=[],this.options=t,this.timeout=null,this.hasGutter=n,this.onMouseOver=function(t){!function(e,t){var n=t.target||t.srcElement;if(/\\bCodeMirror-lint-mark-/.test(n.className)){for(var i=n.getBoundingClientRect(),o=(i.left+i.right)/2,a=(i.top+i.bottom)/2,u=e.findMarksAt(e.coordsChar({left:o,top:a},\"client\")),c=[],l=0;l<u.length;++l){var p=u[l].__annotation;p&&c.push(p)}c.length&&function(e,t,n){for(var i=n.target||n.srcElement,o=document.createDocumentFragment(),a=0;a<t.length;a++){var u=t[a];o.appendChild(s(u))}r(e,n,o,i)}(e,c,t)}}(e,t)},this.waitingFor=0}function o(e){var n=e.state.lint;n.hasGutter&&e.clearGutter(t);for(var r=0;r<n.marked.length;++r)n.marked[r].clear();n.marked.length=0}function a(t,n,i,o,a){var s=document.createElement(\"div\"),u=s;return s.className=\"CodeMirror-lint-marker-\"+i,o&&((u=s.appendChild(document.createElement(\"div\"))).className=\"CodeMirror-lint-marker-multiple\"),0!=a&&e.on(u,\"mouseover\",(function(e){r(t,e,n,u)})),s}function s(e){var t=e.severity;t||(t=\"error\");var n=document.createElement(\"div\");return n.className=\"CodeMirror-lint-message-\"+t,void 0!==e.messageHTML?n.innerHTML=e.messageHTML:n.appendChild(document.createTextNode(e.message)),n}function u(t){var n=t.state.lint.options,r=n.options||n,i=n.getAnnotations||t.getHelper(e.Pos(0,0),\"lint\");if(i)if(n.async||i.async)!function(t,n,r){var i=t.state.lint,o=++i.waitingFor;function a(){o=-1,t.off(\"change\",a)}t.on(\"change\",a),n(t.getValue(),(function(n,r){t.off(\"change\",a),i.waitingFor==o&&(r&&n instanceof e&&(n=r),t.operation((function(){c(t,n)})))}),r,t)}(t,i,r);else{var o=i(t.getValue(),r,t);if(!o)return;o.then?o.then((function(e){t.operation((function(){c(t,e)}))})):t.operation((function(){c(t,o)}))}}function c(e,n){o(e);for(var r,i,u=e.state.lint,c=u.options,l=function(e){for(var t=[],n=0;n<e.length;++n){var r=e[n],i=r.from.line;(t[i]||(t[i]=[])).push(r)}return t}(n),p=0;p<l.length;++p){var f=l[p];if(f){for(var d=null,h=u.hasGutter&&document.createDocumentFragment(),m=0;m<f.length;++m){var g=f[m],y=g.severity;y||(y=\"error\"),i=y,d=\"error\"==(r=d)?r:i,c.formatAnnotation&&(g=c.formatAnnotation(g)),u.hasGutter&&h.appendChild(s(g)),g.to&&u.marked.push(e.markText(g.from,g.to,{className:\"CodeMirror-lint-mark-\"+y,__annotation:g}))}u.hasGutter&&e.setGutterMarker(p,t,a(e,h,d,f.length>1,u.options.tooltips))}}c.onUpdateLinting&&c.onUpdateLinting(n,l,e)}function l(e){var t=e.state.lint;t&&(clearTimeout(t.timeout),t.timeout=setTimeout((function(){u(e)}),t.options.delay||500))}e.defineOption(\"lint\",!1,(function(n,r,a){if(a&&a!=e.Init&&(o(n),!1!==n.state.lint.options.lintOnChange&&n.off(\"change\",l),e.off(n.getWrapperElement(),\"mouseover\",n.state.lint.onMouseOver),clearTimeout(n.state.lint.timeout),delete n.state.lint),r){for(var s=n.getOption(\"gutters\"),c=!1,p=0;p<s.length;++p)s[p]==t&&(c=!0);var f=n.state.lint=new i(n,(d=r)instanceof Function?{getAnnotations:d}:(d&&!0!==d||(d={}),d),c);!1!==f.options.lintOnChange&&n.on(\"change\",l),0!=f.options.tooltips&&\"gutter\"!=f.options.tooltips&&e.on(n.getWrapperElement(),\"mouseover\",f.onMouseOver),u(n)}var d})),e.defineExtension(\"performLint\",(function(){this.state.lint&&u(this)}))}(n(16))},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e},a=this&&this.__assign||function(){return(a=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};Object.defineProperty(t,\"__esModule\",{value:!0});var s=n(3),u=n(11),c=n(191),l=n(389),p=n(395),f=n(28),d=n(32),h=n(30),m=n(109),g=n(7),y=n(38),v=n(119),b=n(98),E=n(42),x=function(e){function n(){var t=null!==e&&e.apply(this,arguments)||this;return t.copyCurlToClipboard=function(){var e=t.getCurl();c(e)},t.onChange=function(e){t.props.editEndpoint(e.target.value)},t.onKeyDown=function(e){13===e.keyCode&&t.props.refetchSchema()},t.openHistory=function(){t.props.openHistory()},t.getCurl=function(){var e,n=t.props.session;try{e=JSON.parse(n.variables)}catch(e){}var r,i=JSON.stringify({query:n.query,variables:e,operationName:n.operationName});try{r=JSON.parse(n.headers)}catch(e){}var o=a({\"Accept-Encoding\":\"gzip, deflate, br\",\"Content-Type\":\"application/json\",Accept:\"application/json\",Connection:\"keep-alive\",DNT:\"1\",Origin:location.origin||n.endpoint},r),s=Object.keys(o).map((function(e){return\"-H '\"+e+\": \"+o[e]+\"'\"})).join(\" \");return\"curl '\"+n.endpoint+\"' \"+s+\" --data-binary '\"+i+\"' --compressed\"},t}return i(n,e),n.prototype.render=function(){var e=this.props,n=e.endpointUnreachable,r=e.settings;return s.createElement(O,null,s.createElement(t.Button,{onClick:this.props.prettifyQuery},\"Prettify\"),s.createElement(t.Button,{onClick:this.openHistory},\"History\"),s.createElement(N,null,s.createElement(F,{value:this.props.endpoint,onChange:this.onChange,onKeyDown:this.onKeyDown,onBlur:this.props.refetchSchema,disabled:this.props.fixedEndpoint,active:!this.props.fixedEndpoint}),n?s.createElement(I,null,s.createElement(\"span\",null,\"Server cannot be reached\"),s.createElement(L,null)):s.createElement(\"div\",{style:{display:\"flex\",flexDirection:\"row\",alignItems:\"center\",position:\"absolute\",left:\"6px\"}},s.createElement(p.default,{settings:r,isPollingSchema:this.props.isPollingSchema,onReloadSchema:this.props.refetchSchema}))),s.createElement(t.Button,{onClick:this.copyCurlToClipboard},\"Copy CURL\"),this.props.shareEnabled&&s.createElement(l.default,null,s.createElement(t.Button,null,\"Share Playground\")))},n.contextTypes={store:g.shape({subscribe:g.func.isRequired,dispatch:g.func.isRequired,getState:g.func.isRequired})},n}(s.Component),D=f.createStructuredSelector({endpoint:d.getEndpoint,fixedEndpoint:m.getFixedEndpoint,isPollingSchema:d.getIsPollingSchema,endpointUnreachable:d.getEndpointUnreachable,settings:E.getSettings,session:d.getSelectedSession});t.default=h.connect(D,{editEndpoint:y.editEndpoint,prettifyQuery:y.prettifyQuery,openHistory:b.openHistory,share:v.share,refetchSchema:y.refetchSchema})(x),t.Button=u.styled.button(C||(C=o([\"\\n  text-transform: uppercase;\\n  font-weight: 600;\\n  color: \",\";\\n  background: \",\";\\n  border-radius: 2px;\\n  flex: 0 0 auto;\\n  letter-spacing: 0.53px;\\n  font-size: 14px;\\n  padding: 6px 9px 7px 10px;\\n  margin-left: 6px;\\n\\n  cursor: pointer;\\n  transition: 0.1s linear background-color;\\n  &:first-child {\\n    margin-left: 0;\\n  }\\n  &:hover {\\n    background-color: \",\";\\n  }\\n\"],[\"\\n  text-transform: uppercase;\\n  font-weight: 600;\\n  color: \",\";\\n  background: \",\";\\n  border-radius: 2px;\\n  flex: 0 0 auto;\\n  letter-spacing: 0.53px;\\n  font-size: 14px;\\n  padding: 6px 9px 7px 10px;\\n  margin-left: 6px;\\n\\n  cursor: pointer;\\n  transition: 0.1s linear background-color;\\n  &:first-child {\\n    margin-left: 0;\\n  }\\n  &:hover {\\n    background-color: \",\";\\n  }\\n\"])),(function(e){return e.theme.editorColours.buttonText}),(function(e){return e.theme.editorColours.button}),(function(e){return e.theme.editorColours.buttonHover}));var C,w,S,k,A,T,_,O=u.styled.div(w||(w=o([\"\\n  display: flex;\\n  background: \",\";\\n  padding: 10px 10px 4px;\\n  align-items: center;\\n\"],[\"\\n  display: flex;\\n  background: \",\";\\n  padding: 10px 10px 4px;\\n  align-items: center;\\n\"])),(function(e){return e.theme.editorColours.navigationBar})),F=u.styled(\"input\")(S||(S=o([\"\\n  background: \",\";\\n  border-radius: 4px;\\n  color: \",\";\\n  border: 1px solid \",\";\\n  padding: 6px 12px;\\n  padding-left: 30px;\\n  font-size: 13px;\\n  flex: 1;\\n\"],[\"\\n  background: \",\";\\n  border-radius: 4px;\\n  color: \",\";\\n  border: 1px solid \",\";\\n  padding: 6px 12px;\\n  padding-left: 30px;\\n  font-size: 13px;\\n  flex: 1;\\n\"])),(function(e){return e.theme.editorColours.button}),(function(e){return e.active?e.theme.editorColours.navigationBarText:e.theme.editorColours.textInactive}),(function(e){return e.theme.editorColours.background})),N=u.styled.div(k||(k=o([\"\\n  flex: 1;\\n  margin-left: 6px;\\n  position: relative;\\n  display: flex;\\n  align-items: center;\\n\"],[\"\\n  flex: 1;\\n  margin-left: 6px;\\n  position: relative;\\n  display: flex;\\n  align-items: center;\\n\"]))),I=u.styled.div(A||(A=o([\"\\n  position: absolute;\\n  right: 5px;\\n  display: flex;\\n  align-items: center;\\n  color: #f25c54;\\n\"],[\"\\n  position: absolute;\\n  right: 5px;\\n  display: flex;\\n  align-items: center;\\n  color: #f25c54;\\n\"]))),M=u.styled.div(T||(T=o([\"\\n  width: 16px;\\n  height: 16px;\\n  background-color: \",\";\\n  border-radius: 100%;\\n\"],[\"\\n  width: 16px;\\n  height: 16px;\\n  background-color: \",\";\\n  border-radius: 100%;\\n\"])),(function(e){return e.theme.editorColours.icon})),j=u.styled.div(_||(_=o([\"\\n  position: relative;\\n  margin: 6px;\\n\"],[\"\\n  position: relative;\\n  margin: 6px;\\n\"]))),L=function(){return s.createElement(j,null,s.createElement(M,null))}},function(e,t,n){\"use strict\";var r=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var i,o,a,s=n(3),u=n(11),c=u.keyframes(i||(i=r([\"\\n  from {\\n    transform: rotate(0deg);\\n  }\\n  to {\\n    transform: rotate(359deg);\\n  }\\n\"],[\"\\n  from {\\n    transform: rotate(0deg);\\n  }\\n  to {\\n    transform: rotate(359deg);\\n  }\\n\"]))),l=u.styled.div(o||(o=r([\"\\n  height: 36px;\\n  left: 50%;\\n  position: absolute;\\n  top: 50%;\\n  transform: translate(-50%, -50%);\\n  width: 36px;\\n  z-index: 10;\\n\"],[\"\\n  height: 36px;\\n  left: 50%;\\n  position: absolute;\\n  top: 50%;\\n  transform: translate(-50%, -50%);\\n  width: 36px;\\n  z-index: 10;\\n\"]))),p=u.styled.div(a||(a=r([\"\\n  position: absolute;\\n  display: inline-block;\\n  height: 24px;\\n  width: 24px;\\n  vertical-align: middle;\\n\\n  animation: \",\" 0.6s infinite linear;\\n\\n  border-radius: 100%;\\n  border-bottom: 6px solid rgba(150, 150, 150, 0.15);\\n  border-left: 6px solid rgba(150, 150, 150, 0.15);\\n  border-right: 6px solid rgba(150, 150, 150, 0.15);\\n  border-top: 6px solid rgba(150, 150, 150, 0.8);\\n\"],[\"\\n  position: absolute;\\n  display: inline-block;\\n  height: 24px;\\n  width: 24px;\\n  vertical-align: middle;\\n\\n  animation: \",\" 0.6s infinite linear;\\n\\n  border-radius: 100%;\\n  border-bottom: 6px solid rgba(150, 150, 150, 0.15);\\n  border-left: 6px solid rgba(150, 150, 150, 0.15);\\n  border-right: 6px solid rgba(150, 150, 150, 0.15);\\n  border-top: 6px solid rgba(150, 150, 150, 0.8);\\n\"])),c);t.default=function(){return s.createElement(l,null,s.createElement(p,null))}},function(e,t,n){\"use strict\";function r(){this.__rules__=[],this.__cache__=null}r.prototype.__find__=function(e){for(var t=0;t<this.__rules__.length;t++)if(this.__rules__[t].name===e)return t;return-1},r.prototype.__compile__=function(){var e=this,t=[\"\"];e.__rules__.forEach((function(e){e.enabled&&e.alt.forEach((function(e){t.indexOf(e)<0&&t.push(e)}))})),e.__cache__={},t.forEach((function(t){e.__cache__[t]=[],e.__rules__.forEach((function(n){n.enabled&&(t&&n.alt.indexOf(t)<0||e.__cache__[t].push(n.fn))}))}))},r.prototype.at=function(e,t,n){var r=this.__find__(e),i=n||{};if(-1===r)throw new Error(\"Parser rule not found: \"+e);this.__rules__[r].fn=t,this.__rules__[r].alt=i.alt||[],this.__cache__=null},r.prototype.before=function(e,t,n,r){var i=this.__find__(e),o=r||{};if(-1===i)throw new Error(\"Parser rule not found: \"+e);this.__rules__.splice(i,0,{name:t,enabled:!0,fn:n,alt:o.alt||[]}),this.__cache__=null},r.prototype.after=function(e,t,n,r){var i=this.__find__(e),o=r||{};if(-1===i)throw new Error(\"Parser rule not found: \"+e);this.__rules__.splice(i+1,0,{name:t,enabled:!0,fn:n,alt:o.alt||[]}),this.__cache__=null},r.prototype.push=function(e,t,n){var r=n||{};this.__rules__.push({name:e,enabled:!0,fn:t,alt:r.alt||[]}),this.__cache__=null},r.prototype.enable=function(e,t){Array.isArray(e)||(e=[e]);var n=[];return e.forEach((function(e){var r=this.__find__(e);if(r<0){if(t)return;throw new Error(\"Rules manager: invalid rule name \"+e)}this.__rules__[r].enabled=!0,n.push(e)}),this),this.__cache__=null,n},r.prototype.enableOnly=function(e,t){Array.isArray(e)||(e=[e]),this.__rules__.forEach((function(e){e.enabled=!1})),this.enable(e,t)},r.prototype.disable=function(e,t){Array.isArray(e)||(e=[e]);var n=[];return e.forEach((function(e){var r=this.__find__(e);if(r<0){if(t)return;throw new Error(\"Rules manager: invalid rule name \"+e)}this.__rules__[r].enabled=!1,n.push(e)}),this),this.__cache__=null,n},r.prototype.getRules=function(e){return null===this.__cache__&&this.__compile__(),this.__cache__[e]||[]},e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n){this.type=e,this.tag=t,this.attrs=null,this.map=null,this.nesting=n,this.level=0,this.children=null,this.content=\"\",this.markup=\"\",this.info=\"\",this.meta=null,this.block=!1,this.hidden=!1}r.prototype.attrIndex=function(e){var t,n,r;if(!this.attrs)return-1;for(n=0,r=(t=this.attrs).length;n<r;n++)if(t[n][0]===e)return n;return-1},r.prototype.attrPush=function(e){this.attrs?this.attrs.push(e):this.attrs=[e]},r.prototype.attrSet=function(e,t){var n=this.attrIndex(e),r=[e,t];n<0?this.attrPush(r):this.attrs[n]=r},r.prototype.attrGet=function(e){var t=this.attrIndex(e),n=null;return t>=0&&(n=this.attrs[t][1]),n},r.prototype.attrJoin=function(e,t){var n=this.attrIndex(e);n<0?this.attrPush([e,t]):this.attrs[n][1]=this.attrs[n][1]+\" \"+t},e.exports=r},function(e,t,n){\"use strict\";var r=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var i,o=n(11);t.DocType=o.styled.div(i||(i=r([\"\\n  padding: 20px 16px 0 16px;\\n  overflow: auto;\\n  font-size: 14px;\\n\"],[\"\\n  padding: 20px 16px 0 16px;\\n  overflow: auto;\\n  font-size: 14px;\\n\"])))},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(20),i=n(163);function o(e){return\"string\"==typeof e?{endpoint:e,subscriptionEndpoint:void 0}:{endpoint:e.url,subscriptionEndpoint:e.subscription?e.subscription.url:void 0,headers:e.headers}}t.getActiveEndpoints=function(e,t,n){return o(n?e.projects[n].extensions.endpoints[t]:e.extensions.endpoints[t])},t.getEndpointFromEndpointConfig=o;var a=new i({max:10});t.cachedPrintSchema=function(e){var t=a.get(e);if(t)return t;var n=r.printSchema(e);return a.set(e,n),n}},function(e,t,n){\"use strict\";var r=n(79);e.exports=new r({explicit:[n(498),n(499),n(500)]})},function(e,t,n){\"use strict\";n.r(t),n.d(t,\"CharacterStream\",(function(){return r})),n.d(t,\"LexRules\",(function(){return l})),n.d(t,\"ParseRules\",(function(){return p})),n.d(t,\"isIgnored\",(function(){return c})),n.d(t,\"butNot\",(function(){return a})),n.d(t,\"list\",(function(){return o})),n.d(t,\"opt\",(function(){return i})),n.d(t,\"p\",(function(){return u})),n.d(t,\"t\",(function(){return s})),n.d(t,\"onlineParser\",(function(){return m})),n.d(t,\"AdditionalRuleKinds\",(function(){return w})),n.d(t,\"RuleKinds\",(function(){return S}));class r{constructor(e){this.getStartOfToken=()=>this._start,this.getCurrentPosition=()=>this._pos,this.eol=()=>this._sourceText.length===this._pos,this.sol=()=>0===this._pos,this.peek=()=>this._sourceText.charAt(this._pos)?this._sourceText.charAt(this._pos):null,this.next=()=>{const e=this._sourceText.charAt(this._pos);return this._pos++,e},this.eat=e=>{if(this._testNextCharacter(e))return this._start=this._pos,this._pos++,this._sourceText.charAt(this._pos-1)},this.eatWhile=e=>{let t=this._testNextCharacter(e),n=!1;for(t&&(n=t,this._start=this._pos);t;)this._pos++,t=this._testNextCharacter(e),n=!0;return n},this.eatSpace=()=>this.eatWhile(/[\\s\\u00a0]/),this.skipToEnd=()=>{this._pos=this._sourceText.length},this.skipTo=e=>{this._pos=e},this.match=(e,t=!0,n=!1)=>{let r=null,i=null;if(\"string\"==typeof e){i=new RegExp(e,n?\"i\":\"g\").test(this._sourceText.substr(this._pos,e.length)),r=e}else e instanceof RegExp&&(i=this._sourceText.slice(this._pos).match(e),r=i&&i[0]);return!(null==i||!(\"string\"==typeof e||i instanceof Array&&this._sourceText.startsWith(i[0],this._pos)))&&(t&&(this._start=this._pos,r&&r.length&&(this._pos+=r.length)),i)},this.backUp=e=>{this._pos-=e},this.column=()=>this._pos,this.indentation=()=>{const e=this._sourceText.match(/\\s*/);let t=0;if(e&&0===e.length){const n=e[0];let r=0;for(;n.length>r;)9===n.charCodeAt(r)?t+=2:t++,r++}return t},this.current=()=>this._sourceText.slice(this._start,this._pos),this._start=0,this._pos=0,this._sourceText=e}_testNextCharacter(e){const t=this._sourceText.charAt(this._pos);let n=!1;return n=\"string\"==typeof e?t===e:e instanceof RegExp?e.test(t):e(t),n}}function i(e){return{ofRule:e}}function o(e,t){return{ofRule:e,isList:!0,separator:t}}function a(e,t){const n=e.match;return e.match=e=>{let r=!1;return n&&(r=n(e)),r&&t.every(t=>t.match&&!t.match(e))},e}function s(e,t){return{style:t,match:t=>t.kind===e}}function u(e,t){return{style:t||\"punctuation\",match:t=>\"Punctuation\"===t.kind&&t.value===e}}const c=e=>\" \"===e||\"\\t\"===e||\",\"===e||\"\\n\"===e||\"\\r\"===e||\"\\ufeff\"===e||\" \"===e,l={Name:/^[_A-Za-z][_0-9A-Za-z]*/,Punctuation:/^(?:!|\\$|\\(|\\)|\\.\\.\\.|:|=|@|\\[|]|\\{|\\||\\})/,Number:/^-?(?:0|(?:[1-9][0-9]*))(?:\\.[0-9]*)?(?:[eE][+-]?[0-9]+)?/,String:/^(?:\"\"\"(?:\\\\\"\"\"|[^\"]|\"[^\"]|\"\"[^\"])*(?:\"\"\")?|\"(?:[^\"\\\\]|\\\\(?:\"|\\/|\\\\|b|f|n|r|t|u[0-9a-fA-F]{4}))*\"?)/,Comment:/^#.*/},p={Document:[o(\"Definition\")],Definition(e){switch(e.value){case\"{\":return\"ShortQuery\";case\"query\":return\"Query\";case\"mutation\":return\"Mutation\";case\"subscription\":return\"Subscription\";case\"fragment\":return\"FragmentDefinition\";case\"schema\":return\"SchemaDef\";case\"scalar\":return\"ScalarDef\";case\"type\":return\"ObjectTypeDef\";case\"interface\":return\"InterfaceDef\";case\"union\":return\"UnionDef\";case\"enum\":return\"EnumDef\";case\"input\":return\"InputDef\";case\"extend\":return\"ExtendDef\";case\"directive\":return\"DirectiveDef\"}},ShortQuery:[\"SelectionSet\"],Query:[d(\"query\"),i(h(\"def\")),i(\"VariableDefinitions\"),o(\"Directive\"),\"SelectionSet\"],Mutation:[d(\"mutation\"),i(h(\"def\")),i(\"VariableDefinitions\"),o(\"Directive\"),\"SelectionSet\"],Subscription:[d(\"subscription\"),i(h(\"def\")),i(\"VariableDefinitions\"),o(\"Directive\"),\"SelectionSet\"],VariableDefinitions:[u(\"(\"),o(\"VariableDefinition\"),u(\")\")],VariableDefinition:[\"Variable\",u(\":\"),\"Type\",i(\"DefaultValue\")],Variable:[u(\"$\",\"variable\"),h(\"variable\")],DefaultValue:[u(\"=\"),\"Value\"],SelectionSet:[u(\"{\"),o(\"Selection\"),u(\"}\")],Selection:(e,t)=>\"...\"===e.value?t.match(/[\\s\\u00a0,]*(on\\b|@|{)/,!1)?\"InlineFragment\":\"FragmentSpread\":t.match(/[\\s\\u00a0,]*:/,!1)?\"AliasedField\":\"Field\",AliasedField:[h(\"property\"),u(\":\"),h(\"qualifier\"),i(\"Arguments\"),o(\"Directive\"),i(\"SelectionSet\")],Field:[h(\"property\"),i(\"Arguments\"),o(\"Directive\"),i(\"SelectionSet\")],Arguments:[u(\"(\"),o(\"Argument\"),u(\")\")],Argument:[h(\"attribute\"),u(\":\"),\"Value\"],FragmentSpread:[u(\"...\"),h(\"def\"),o(\"Directive\")],InlineFragment:[u(\"...\"),i(\"TypeCondition\"),o(\"Directive\"),\"SelectionSet\"],FragmentDefinition:[d(\"fragment\"),i(a(h(\"def\"),[d(\"on\")])),\"TypeCondition\",o(\"Directive\"),\"SelectionSet\"],TypeCondition:[d(\"on\"),\"NamedType\"],Value(e){switch(e.kind){case\"Number\":return\"NumberValue\";case\"String\":return\"StringValue\";case\"Punctuation\":switch(e.value){case\"[\":return\"ListValue\";case\"{\":return\"ObjectValue\";case\"$\":return\"Variable\"}return null;case\"Name\":switch(e.value){case\"true\":case\"false\":return\"BooleanValue\"}return\"null\"===e.value?\"NullValue\":\"EnumValue\"}},NumberValue:[s(\"Number\",\"number\")],StringValue:[s(\"String\",\"string\")],BooleanValue:[s(\"Name\",\"builtin\")],NullValue:[s(\"Name\",\"keyword\")],EnumValue:[h(\"string-2\")],ListValue:[u(\"[\"),o(\"Value\"),u(\"]\")],ObjectValue:[u(\"{\"),o(\"ObjectField\"),u(\"}\")],ObjectField:[h(\"attribute\"),u(\":\"),\"Value\"],Type:e=>\"[\"===e.value?\"ListType\":\"NonNullType\",ListType:[u(\"[\"),\"Type\",u(\"]\"),i(u(\"!\"))],NonNullType:[\"NamedType\",i(u(\"!\"))],NamedType:[(f=\"atom\",{style:f,match:e=>\"Name\"===e.kind,update(e,t){e.prevState&&e.prevState.prevState&&(e.name=t.value,e.prevState.prevState.type=t.value)}})],Directive:[u(\"@\",\"meta\"),h(\"meta\"),i(\"Arguments\")],SchemaDef:[d(\"schema\"),o(\"Directive\"),u(\"{\"),o(\"OperationTypeDef\"),u(\"}\")],OperationTypeDef:[h(\"keyword\"),u(\":\"),h(\"atom\")],ScalarDef:[d(\"scalar\"),h(\"atom\"),o(\"Directive\")],ObjectTypeDef:[d(\"type\"),h(\"atom\"),i(\"Implements\"),o(\"Directive\"),u(\"{\"),o(\"FieldDef\"),u(\"}\")],Implements:[d(\"implements\"),o(\"NamedType\")],FieldDef:[h(\"property\"),i(\"ArgumentsDef\"),u(\":\"),\"Type\",o(\"Directive\")],ArgumentsDef:[u(\"(\"),o(\"InputValueDef\"),u(\")\")],InputValueDef:[h(\"attribute\"),u(\":\"),\"Type\",i(\"DefaultValue\"),o(\"Directive\")],InterfaceDef:[d(\"interface\"),h(\"atom\"),o(\"Directive\"),u(\"{\"),o(\"FieldDef\"),u(\"}\")],UnionDef:[d(\"union\"),h(\"atom\"),o(\"Directive\"),u(\"=\"),o(\"UnionMember\",u(\"|\"))],UnionMember:[\"NamedType\"],EnumDef:[d(\"enum\"),h(\"atom\"),o(\"Directive\"),u(\"{\"),o(\"EnumValueDef\"),u(\"}\")],EnumValueDef:[h(\"string-2\"),o(\"Directive\")],InputDef:[d(\"input\"),h(\"atom\"),o(\"Directive\"),u(\"{\"),o(\"InputValueDef\"),u(\"}\")],ExtendDef:[d(\"extend\"),\"ObjectTypeDef\"],DirectiveDef:[d(\"directive\"),u(\"@\",\"meta\"),h(\"meta\"),i(\"ArgumentsDef\"),d(\"on\"),o(\"DirectiveLocation\",u(\"|\"))],DirectiveLocation:[h(\"string-2\")]};var f;function d(e){return{style:\"keyword\",match:t=>\"Name\"===t.kind&&t.value===e}}function h(e){return{style:e,match:e=>\"Name\"===e.kind,update(e,t){e.name=t.value}}}function m(e={eatWhitespace:e=>e.eatWhile(c),lexRules:l,parseRules:p,editorConfig:{}}){return{startState(){const t={level:0,step:0,name:null,kind:null,type:null,rule:null,needsSeperator:!1,prevState:null};return v(e.parseRules,t,\"Document\"),t},token:(t,n)=>function(e,t,n){const{lexRules:r,parseRules:i,eatWhitespace:o,editorConfig:a}=n;t.rule&&0===t.rule.length?b(t):t.needsAdvance&&(t.needsAdvance=!1,E(t,!0));if(e.sol()){const n=a&&a.tabSize||2;t.indentLevel=Math.floor(e.indentation()/n)}if(o(e))return\"ws\";const s=function(e,t){const n=Object.keys(e);for(let r=0;r<n.length;r++){const i=t.match(e[n[r]]);if(i&&i instanceof Array)return{kind:n[r],value:i[0]}}}(r,e);if(!s){return e.match(/\\S+/)||e.match(/\\s/),v(y,t,\"Invalid\"),\"invalidchar\"}if(\"Comment\"===s.kind)return v(y,t,\"Comment\"),\"comment\";const u=g({},t);if(\"Punctuation\"===s.kind)if(/^[{([]/.test(s.value))void 0!==t.indentLevel&&(t.levels=(t.levels||[]).concat(t.indentLevel+1));else if(/^[})\\]]/.test(s.value)){const e=t.levels=(t.levels||[]).slice(0,-1);t.indentLevel&&e.length>0&&e[e.length-1]<t.indentLevel&&(t.indentLevel=e[e.length-1])}for(;t.rule;){let n=\"function\"==typeof t.rule?0===t.step?t.rule(s,e):null:t.rule[t.step];if(t.needsSeperator&&(n=n&&n.separator),n){if(n.ofRule&&(n=n.ofRule),\"string\"==typeof n){v(i,t,n);continue}if(n.match&&n.match(s))return n.update&&n.update(t,s),\"Punctuation\"===s.kind?E(t,!0):t.needsAdvance=!0,n.style}D(t)}return g(t,u),v(y,t,\"Invalid\"),\"invalidchar\"}(t,n,e)}}function g(e,t){const n=Object.keys(t);for(let r=0;r<n.length;r++)e[n[r]]=t[n[r]];return e}const y={Invalid:[],Comment:[]};function v(e,t,n){if(!e[n])throw new TypeError(\"Unknown rule: \"+n);t.prevState=Object.assign({},t),t.kind=n,t.name=null,t.type=null,t.rule=e[n],t.step=0,t.needsSeperator=!1}function b(e){e.prevState&&(e.kind=e.prevState.kind,e.name=e.prevState.name,e.type=e.prevState.type,e.rule=e.prevState.rule,e.step=e.prevState.step,e.needsSeperator=e.prevState.needsSeperator,e.prevState=e.prevState.prevState)}function E(e,t){if(x(e)&&e.rule){const n=e.rule[e.step];if(n.separator){const t=n.separator;if(e.needsSeperator=!e.needsSeperator,!e.needsSeperator&&t.ofRule)return}if(t)return}for(e.needsSeperator=!1,e.step++;e.rule&&!(Array.isArray(e.rule)&&e.step<e.rule.length);)b(e),e.rule&&(x(e)?e.rule&&e.rule[e.step].separator&&(e.needsSeperator=!e.needsSeperator):(e.needsSeperator=!1,e.step++))}function x(e){const t=Array.isArray(e.rule)&&\"string\"!=typeof e.rule[e.step]&&e.rule[e.step];return t&&t.isList}function D(e){for(;e.rule&&(!Array.isArray(e.rule)||!e.rule[e.step].ofRule);)b(e);e.rule&&E(e,!1)}var C=n(1);const w={ALIASED_FIELD:\"AliasedField\",ARGUMENTS:\"Arguments\",SHORT_QUERY:\"ShortQuery\",QUERY:\"Query\",MUTATION:\"Mutation\",SUBSCRIPTION:\"Subscription\",TYPE_CONDITION:\"TypeCondition\",INVALID:\"Invalid\",COMMENT:\"Comment\",SCHEMA_DEF:\"SchemaDef\",SCALAR_DEF:\"ScalarDef\",OBJECT_TYPE_DEF:\"ObjectTypeDef\",OBJECT_VALUE:\"ObjectValue\",LIST_VALUE:\"ListValue\",INTERFACE_DEF:\"InterfaceDef\",UNION_DEF:\"UnionDef\",ENUM_DEF:\"EnumDef\",ENUM_VALUE:\"EnumValue\",FIELD_DEF:\"FieldDef\",INPUT_DEF:\"InputDef\",INPUT_VALUE_DEF:\"InputValueDef\",ARGUMENTS_DEF:\"ArgumentsDef\",EXTEND_DEF:\"ExtendDef\",DIRECTIVE_DEF:\"DirectiveDef\"},S=Object.assign(Object.assign({},C.a),w)},function(e,t,n){\"use strict\";var r=n(80),i={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},a={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function u(e){return r.isMemo(e)?a:s[e.$$typeof]||i}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=a;var c=Object.defineProperty,l=Object.getOwnPropertyNames,p=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,d=Object.getPrototypeOf,h=Object.prototype;e.exports=function e(t,n,r){if(\"string\"!=typeof n){if(h){var i=d(n);i&&i!==h&&e(t,i,r)}var a=l(n);p&&(a=a.concat(p(n)));for(var s=u(t),m=u(n),g=0;g<a.length;++g){var y=a[g];if(!(o[y]||r&&r[y]||m&&m[y]||s&&s[y])){var v=f(n,y);try{c(t,y,v)}catch(e){}}}}return t}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i})),n.d(t,\"b\",(function(){return o}));var r=n(96);function i(e){return o(e.source,Object(r.a)(e.source,e.start))}function o(e,t){var n=e.locationOffset.column-1,r=s(n)+e.body,i=t.line-1,o=e.locationOffset.line-1,u=t.line+o,c=1===t.line?n:0,l=t.column+c,p=\"\".concat(e.name,\":\").concat(u,\":\").concat(l,\"\\n\"),f=r.split(/\\r\\n|[\\n\\r]/g),d=f[i];if(d.length>120){for(var h=Math.floor(l/80),m=l%80,g=[],y=0;y<d.length;y+=80)g.push(d.slice(y,y+80));return p+a([[\"\".concat(u),g[0]]].concat(g.slice(1,h+1).map((function(e){return[\"\",e]})),[[\" \",s(m-1)+\"^\"],[\"\",g[h+1]]]))}return p+a([[\"\".concat(u-1),f[i-1]],[\"\".concat(u),d],[\"\",s(l-1)+\"^\"],[\"\".concat(u+1),f[i+1]]])}function a(e){var t=e.filter((function(e){e[0];return void 0!==e[1]})),n=Math.max.apply(Math,t.map((function(e){return e[0].length})));return t.map((function(e){var t,r=e[0],i=e[1];return s(n-(t=r).length)+t+(i?\" | \"+i:\" |\")})).join(\"\\n\")}function s(e){return Array(e+1).join(\" \")}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return L})),n.d(t,\"b\",(function(){return P}));var r=n(219),i=n(220),o=n(221),a=n(222),s=n(139),u=n(223),c=n(224),l=n(225),p=n(226),f=n(227),d=n(228),h=n(229),m=n(230),g=n(231),y=n(232),v=n(233),b=n(234),E=n(140),x=n(141),D=n(142),C=n(143),w=n(235),S=n(144),k=n(236),A=n(237),T=n(145),_=n(238),O=n(239),F=n(240),N=n(241),I=n(242),M=n(243),j=n(244),L=Object.freeze([r.a,i.a,o.a,a.a,s.a,u.a,c.a,l.a,p.a,f.a,d.a,h.a,m.a,g.a,y.a,v.a,b.a,E.a,x.a,D.b,C.a,w.a,S.b,k.a,A.a,T.a]),P=Object.freeze([_.a,O.a,F.a,N.a,I.a,M.a,s.a,E.a,x.a,j.a,D.a,C.a,T.a,S.a])},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return c}));var r=n(39),i=n(44),o=n(2),a=n(46),s=n(13),u=n(12);function c(e){for(var t=e.getSchema(),n=t?t.getTypeMap():Object.create(null),s=Object.create(null),u=0,c=e.getDocument().definitions;u<c.length;u++){var p=c[u];Object(a.d)(p)&&(s[p.name.value]=!0)}var f=Object.keys(n).concat(Object.keys(s));return{NamedType:function(t,u,c,p,d){var h,m=t.name.value;if(!n[m]&&!s[m]){var g,y=null!==(g=d[2])&&void 0!==g?g:c,v=null!=y&&(h=y,!Array.isArray(h)&&(Object(a.g)(h)||Object(a.h)(h)));if(v&&function(e){return-1!==l.indexOf(e)}(m))return;var b=Object(i.a)(m,v?l.concat(f):f);e.reportError(new o.a('Unknown type \"'.concat(m,'\".')+Object(r.a)(b),t))}}}}var l=[].concat(s.g,u.introspectionTypes).map((function(e){return e.name}))},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return c}));var r=n(4),i=n(17),o=n(2),a=n(1),s=n(9),u=n(21);function c(e){for(var t=Object.create(null),n=e.getSchema(),c=n?n.getDirectives():u.j,l=0;l<c.length;l++){var p=c[l];t[p.name]=p.locations}for(var f=e.getDocument().definitions,d=0;d<f.length;d++){var h=f[d];h.kind===a.a.DIRECTIVE_DEFINITION&&(t[h.name.value]=h.locations.map((function(e){return e.value})))}return{Directive:function(n,u,c,l,p){var f=n.name.value,d=t[f];if(d){var h=function(e){var t=e[e.length-1];switch(!Array.isArray(t)||Object(i.a)(0),t.kind){case a.a.OPERATION_DEFINITION:return function(e){switch(e){case\"query\":return s.a.QUERY;case\"mutation\":return s.a.MUTATION;case\"subscription\":return s.a.SUBSCRIPTION}Object(i.a)(0,\"Unexpected operation: \"+Object(r.a)(e))}(t.operation);case a.a.FIELD:return s.a.FIELD;case a.a.FRAGMENT_SPREAD:return s.a.FRAGMENT_SPREAD;case a.a.INLINE_FRAGMENT:return s.a.INLINE_FRAGMENT;case a.a.FRAGMENT_DEFINITION:return s.a.FRAGMENT_DEFINITION;case a.a.VARIABLE_DEFINITION:return s.a.VARIABLE_DEFINITION;case a.a.SCHEMA_DEFINITION:case a.a.SCHEMA_EXTENSION:return s.a.SCHEMA;case a.a.SCALAR_TYPE_DEFINITION:case a.a.SCALAR_TYPE_EXTENSION:return s.a.SCALAR;case a.a.OBJECT_TYPE_DEFINITION:case a.a.OBJECT_TYPE_EXTENSION:return s.a.OBJECT;case a.a.FIELD_DEFINITION:return s.a.FIELD_DEFINITION;case a.a.INTERFACE_TYPE_DEFINITION:case a.a.INTERFACE_TYPE_EXTENSION:return s.a.INTERFACE;case a.a.UNION_TYPE_DEFINITION:case a.a.UNION_TYPE_EXTENSION:return s.a.UNION;case a.a.ENUM_TYPE_DEFINITION:case a.a.ENUM_TYPE_EXTENSION:return s.a.ENUM;case a.a.ENUM_VALUE_DEFINITION:return s.a.ENUM_VALUE;case a.a.INPUT_OBJECT_TYPE_DEFINITION:case a.a.INPUT_OBJECT_TYPE_EXTENSION:return s.a.INPUT_OBJECT;case a.a.INPUT_VALUE_DEFINITION:return e[e.length-3].kind===a.a.INPUT_OBJECT_TYPE_DEFINITION?s.a.INPUT_FIELD_DEFINITION:s.a.ARGUMENT_DEFINITION}}(p);h&&-1===d.indexOf(h)&&e.reportError(new o.a('Directive \"@'.concat(f,'\" may not be used on ').concat(h,\".\"),n))}else e.reportError(new o.a('Unknown directive \"@'.concat(f,'\".'),n))}}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return s}));var r=n(2),i=n(1),o=n(46),a=n(21);function s(e){for(var t=Object.create(null),n=e.getSchema(),s=n?n.getDirectives():a.j,u=0;u<s.length;u++){var c=s[u];t[c.name]=!c.isRepeatable}for(var l=e.getDocument().definitions,p=0;p<l.length;p++){var f=l[p];f.kind===i.a.DIRECTIVE_DEFINITION&&(t[f.name.value]=!f.repeatable)}var d=Object.create(null),h=Object.create(null);return{enter:function(n){if(null!=n.directives){var a;if(n.kind===i.a.SCHEMA_DEFINITION||n.kind===i.a.SCHEMA_EXTENSION)a=d;else if(Object(o.d)(n)||Object(o.e)(n)){var s=n.name.value;void 0===(a=h[s])&&(h[s]=a=Object.create(null))}else a=Object.create(null);for(var u=0,c=n.directives;u<c.length;u++){var l=c[u],p=l.name.value;t[p]&&(a[p]?e.reportError(new r.a('The directive \"@'.concat(p,'\" can only be used once at this location.'),[a[p],l])):a[p]=l)}}}}}},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return p})),n.d(t,\"a\",(function(){return f}));var r=n(39),i=n(44),o=n(2),a=n(1),s=n(21);function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?u(Object(n),!0).forEach((function(t){l(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):u(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function p(e){return c(c({},f(e)),{},{Argument:function(t){var n=e.getArgument(),a=e.getFieldDef(),s=e.getParentType();if(!n&&a&&s){var u=t.name.value,c=a.args.map((function(e){return e.name})),l=Object(i.a)(u,c);e.reportError(new o.a('Unknown argument \"'.concat(u,'\" on field \"').concat(s.name,\".\").concat(a.name,'\".')+Object(r.a)(l),t))}}})}function f(e){for(var t=Object.create(null),n=e.getSchema(),u=n?n.getDirectives():s.j,c=0;c<u.length;c++){var l=u[c];t[l.name]=l.args.map((function(e){return e.name}))}for(var p=e.getDocument().definitions,f=0;f<p.length;f++){var d=p[f];if(d.kind===a.a.DIRECTIVE_DEFINITION){var h,m=null!==(h=d.arguments)&&void 0!==h?h:[];t[d.name.value]=m.map((function(e){return e.name.value}))}}return{Directive:function(n){var a=n.name.value,s=t[a];if(n.arguments&&s)for(var u=0,c=n.arguments;u<c.length;u++){var l=c[u],p=l.name.value;if(-1===s.indexOf(p)){var f=Object(i.a)(p,s);e.reportError(new o.a('Unknown argument \"'.concat(p,'\" on directive \"@').concat(a,'\".')+Object(r.a)(f),l))}}return!1}}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(2);function i(e){var t=Object.create(null);return{Field:function(){t=Object.create(null)},Directive:function(){t=Object.create(null)},Argument:function(n){var i=n.name.value;return t[i]?e.reportError(new r.a('There can be only one argument named \"'.concat(i,'\".'),[t[i],n.name])):t[i]=n.name,!1}}}},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return d})),n.d(t,\"a\",(function(){return h}));var r=n(4),i=n(36),o=n(2),a=n(1),s=n(15),u=n(21),c=n(0);function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){f(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(e){return p(p({},h(e)),{},{Field:{leave:function(t){var n,a=e.getFieldDef();if(!a)return!1;for(var s=null!==(n=t.arguments)&&void 0!==n?n:[],u=Object(i.a)(s,(function(e){return e.name.value})),l=0,p=a.args;l<p.length;l++){var f=p[l];if(!u[f.name]&&Object(c.P)(f)){var d=Object(r.a)(f.type);e.reportError(new o.a('Field \"'.concat(a.name,'\" argument \"').concat(f.name,'\" of type \"').concat(d,'\" is required, but it was not provided.'),t))}}}}})}function h(e){for(var t=Object.create(null),n=e.getSchema(),l=n?n.getDirectives():u.j,p=0;p<l.length;p++){var f=l[p];t[f.name]=Object(i.a)(f.args.filter(c.P),(function(e){return e.name}))}for(var d=e.getDocument().definitions,h=0;h<d.length;h++){var g=d[h];if(g.kind===a.a.DIRECTIVE_DEFINITION){var y,v=null!==(y=g.arguments)&&void 0!==y?y:[];t[g.name.value]=Object(i.a)(v.filter(m),(function(e){return e.name.value}))}}return{Directive:{leave:function(n){var a=n.name.value,u=t[a];if(u)for(var l,p=null!==(l=n.arguments)&&void 0!==l?l:[],f=Object(i.a)(p,(function(e){return e.name.value})),d=0,h=Object.keys(u);d<h.length;d++){var m=h[d];if(!f[m]){var g=u[m].type,y=Object(c.S)(g)?Object(r.a)(g):Object(s.print)(g);e.reportError(new o.a('Directive \"@'.concat(a,'\" argument \"').concat(m,'\" of type \"').concat(y,'\" is required, but it was not provided.'),n))}}}}}}function m(e){return e.type.kind===a.a.NON_NULL_TYPE&&null==e.defaultValue}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(2);function i(e){var t=[],n=Object.create(null);return{ObjectValue:{enter:function(){t.push(n),n=Object.create(null)},leave:function(){n=t.pop()}},ObjectField:function(t){var i=t.name.value;n[i]?e.reportError(new r.a('There can be only one input field named \"'.concat(i,'\".'),[n[i],t.name])):n[i]=t.name}}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return u})),n.d(t,\"b\",(function(){return c}));var r=n(1),i=n(26),o=n(86);function a(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var s=function(){function e(e,t){this._ast=e,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=t}var t=e.prototype;return t.reportError=function(e){this._onError(e)},t.getDocument=function(){return this._ast},t.getFragment=function(e){var t=this._fragments;return t||(this._fragments=t=this.getDocument().definitions.reduce((function(e,t){return t.kind===r.a.FRAGMENT_DEFINITION&&(e[t.name.value]=t),e}),Object.create(null))),t[e]},t.getFragmentSpreads=function(e){var t=this._fragmentSpreads.get(e);if(!t){t=[];for(var n=[e];0!==n.length;)for(var i=0,o=n.pop().selections;i<o.length;i++){var a=o[i];a.kind===r.a.FRAGMENT_SPREAD?t.push(a):a.selectionSet&&n.push(a.selectionSet)}this._fragmentSpreads.set(e,t)}return t},t.getRecursivelyReferencedFragments=function(e){var t=this._recursivelyReferencedFragments.get(e);if(!t){t=[];for(var n=Object.create(null),r=[e.selectionSet];0!==r.length;)for(var i=r.pop(),o=0,a=this.getFragmentSpreads(i);o<a.length;o++){var s=a[o].name.value;if(!0!==n[s]){n[s]=!0;var u=this.getFragment(s);u&&(t.push(u),r.push(u.selectionSet))}}this._recursivelyReferencedFragments.set(e,t)}return t},e}(),u=function(e){function t(t,n,r){var i;return(i=e.call(this,t,r)||this)._schema=n,i}return a(t,e),t.prototype.getSchema=function(){return this._schema},t}(s),c=function(e){function t(t,n,r,i){var o;return(o=e.call(this,n,i)||this)._schema=t,o._typeInfo=r,o._variableUsages=new Map,o._recursiveVariableUsages=new Map,o}a(t,e);var n=t.prototype;return n.getSchema=function(){return this._schema},n.getVariableUsages=function(e){var t=this._variableUsages.get(e);if(!t){var n=[],r=new o.a(this._schema);Object(i.c)(e,Object(o.b)(r,{VariableDefinition:function(){return!1},Variable:function(e){n.push({node:e,type:r.getInputType(),defaultValue:r.getDefaultValue()})}})),t=n,this._variableUsages.set(e,t)}return t},n.getRecursiveVariableUsages=function(e){var t=this._recursiveVariableUsages.get(e);if(!t){t=this.getVariableUsages(e);for(var n=0,r=this.getRecursivelyReferencedFragments(e);n<r.length;n++){var i=r[n];t=t.concat(this.getVariableUsages(i))}this._recursiveVariableUsages.set(e,t)}return t},n.getType=function(){return this._typeInfo.getType()},n.getParentType=function(){return this._typeInfo.getParentType()},n.getInputType=function(){return this._typeInfo.getInputType()},n.getParentInputType=function(){return this._typeInfo.getParentInputType()},n.getFieldDef=function(){return this._typeInfo.getFieldDef()},n.getDirective=function(){return this._typeInfo.getDirective()},n.getArgument=function(){return this._typeInfo.getArgument()},n.getEnumValue=function(){return this._typeInfo.getEnumValue()},t}(s)},function(e,t,n){var r=n(280);e.exports=function(e){return r(e).replace(/\\s(\\w)/g,(function(e,t){return t.toUpperCase()}))}},function(e,t,n){e.exports=function e(t){\"use strict\";var n=/^\\0+/g,r=/[\\0\\r\\f]/g,i=/: */g,o=/zoo|gra/,a=/([,: ])(transform)/g,s=/,+\\s*(?![^(]*[)])/g,u=/ +\\s*(?![^(]*[)])/g,c=/ *[\\0] */g,l=/,\\r+?/g,p=/([\\t\\r\\n ])*\\f?&/g,f=/:global\\(((?:[^\\(\\)\\[\\]]*|\\[.*\\]|\\([^\\(\\)]*\\))*)\\)/g,d=/\\W+/g,h=/@(k\\w+)\\s*(\\S*)\\s*/,m=/::(place)/g,g=/:(read-only)/g,y=/\\s+(?=[{\\];=:>])/g,v=/([[}=:>])\\s+/g,b=/(\\{[^{]+?);(?=\\})/g,E=/\\s{2,}/g,x=/([^\\(])(:+) */g,D=/[svh]\\w+-[tblr]{2}/,C=/\\(\\s*(.*)\\s*\\)/g,w=/([\\s\\S]*?);/g,S=/-self|flex-/g,k=/[^]*?(:[rp][el]a[\\w-]+)[^]*/,A=/stretch|:\\s*\\w+\\-(?:conte|avail)/,T=/([^-])(image-set\\()/,_=\"-webkit-\",O=\"-moz-\",F=\"-ms-\",N=59,I=125,M=123,j=40,L=41,P=10,R=13,B=32,U=45,z=42,V=44,q=58,H=47,W=1,G=1,K=0,J=1,Q=1,Y=1,$=0,X=0,Z=0,ee=[],te=[],ne=0,re=null,ie=0,oe=1,ae=\"\",se=\"\",ue=\"\";function ce(e,t,i,o,a){for(var s,u,l=0,p=0,f=0,d=0,y=0,v=0,b=0,E=0,D=0,w=0,S=0,k=0,A=0,T=0,O=0,F=0,$=0,te=0,re=0,pe=i.length,ye=pe-1,ve=\"\",be=\"\",Ee=\"\",xe=\"\",De=\"\",Ce=\"\";O<pe;){if(b=i.charCodeAt(O),O===ye&&p+d+f+l!==0&&(0!==p&&(b=p===H?P:H),d=f=l=0,pe++,ye++),p+d+f+l===0){if(O===ye&&(F>0&&(be=be.replace(r,\"\")),be.trim().length>0)){switch(b){case B:case 9:case N:case R:case P:break;default:be+=i.charAt(O)}b=N}if(1===$)switch(b){case M:case I:case N:case 34:case 39:case j:case L:case V:$=0;case 9:case R:case P:case B:break;default:for($=0,re=O,y=b,O--,b=N;re<pe;)switch(i.charCodeAt(re++)){case P:case R:case N:++O,b=y,re=pe;break;case q:F>0&&(++O,b=y);case M:re=pe}}switch(b){case M:for(y=(be=be.trim()).charCodeAt(0),S=1,re=++O;O<pe;){switch(b=i.charCodeAt(O)){case M:S++;break;case I:S--;break;case H:switch(v=i.charCodeAt(O+1)){case z:case H:O=ge(v,O,ye,i)}break;case 91:b++;case j:b++;case 34:case 39:for(;O++<ye&&i.charCodeAt(O)!==b;);}if(0===S)break;O++}switch(Ee=i.substring(re,O),0===y&&(y=(be=be.replace(n,\"\").trim()).charCodeAt(0)),y){case 64:switch(F>0&&(be=be.replace(r,\"\")),v=be.charCodeAt(1)){case 100:case 109:case 115:case U:s=t;break;default:s=ee}if(re=(Ee=ce(t,s,Ee,v,a+1)).length,Z>0&&0===re&&(re=be.length),ne>0&&(u=me(3,Ee,s=le(ee,be,te),t,G,W,re,v,a,o),be=s.join(\"\"),void 0!==u&&0===(re=(Ee=u.trim()).length)&&(v=0,Ee=\"\")),re>0)switch(v){case 115:be=be.replace(C,he);case 100:case 109:case U:Ee=be+\"{\"+Ee+\"}\";break;case 107:Ee=(be=be.replace(h,\"$1 $2\"+(oe>0?ae:\"\")))+\"{\"+Ee+\"}\",Ee=1===Q||2===Q&&de(\"@\"+Ee,3)?\"@\"+_+Ee+\"@\"+Ee:\"@\"+Ee;break;default:Ee=be+Ee,112===o&&(xe+=Ee,Ee=\"\")}else Ee=\"\";break;default:Ee=ce(t,le(t,be,te),Ee,o,a+1)}De+=Ee,k=0,$=0,T=0,F=0,te=0,A=0,be=\"\",Ee=\"\",b=i.charCodeAt(++O);break;case I:case N:if((re=(be=(F>0?be.replace(r,\"\"):be).trim()).length)>1)switch(0===T&&((y=be.charCodeAt(0))===U||y>96&&y<123)&&(re=(be=be.replace(\" \",\":\")).length),ne>0&&void 0!==(u=me(1,be,t,e,G,W,xe.length,o,a,o))&&0===(re=(be=u.trim()).length)&&(be=\"\\0\\0\"),y=be.charCodeAt(0),v=be.charCodeAt(1),y){case 0:break;case 64:if(105===v||99===v){Ce+=be+i.charAt(O);break}default:if(be.charCodeAt(re-1)===q)break;xe+=fe(be,y,v,be.charCodeAt(2))}k=0,$=0,T=0,F=0,te=0,be=\"\",b=i.charCodeAt(++O)}}switch(b){case R:case P:if(p+d+f+l+X===0)switch(w){case L:case 39:case 34:case 64:case 126:case 62:case z:case 43:case H:case U:case q:case V:case N:case M:case I:break;default:T>0&&($=1)}p===H?p=0:J+k===0&&107!==o&&be.length>0&&(F=1,be+=\"\\0\"),ne*ie>0&&me(0,be,t,e,G,W,xe.length,o,a,o),W=1,G++;break;case N:case I:if(p+d+f+l===0){W++;break}default:switch(W++,ve=i.charAt(O),b){case 9:case B:if(d+l+p===0)switch(E){case V:case q:case 9:case B:ve=\"\";break;default:b!==B&&(ve=\" \")}break;case 0:ve=\"\\\\0\";break;case 12:ve=\"\\\\f\";break;case 11:ve=\"\\\\v\";break;case 38:d+p+l===0&&J>0&&(te=1,F=1,ve=\"\\f\"+ve);break;case 108:if(d+p+l+K===0&&T>0)switch(O-T){case 2:112===E&&i.charCodeAt(O-3)===q&&(K=E);case 8:111===D&&(K=D)}break;case q:d+p+l===0&&(T=O);break;case V:p+f+d+l===0&&(F=1,ve+=\"\\r\");break;case 34:case 39:0===p&&(d=d===b?0:0===d?b:d);break;case 91:d+p+f===0&&l++;break;case 93:d+p+f===0&&l--;break;case L:d+p+l===0&&f--;break;case j:if(d+p+l===0){if(0===k)switch(2*E+3*D){case 533:break;default:S=0,k=1}f++}break;case 64:p+f+d+l+T+A===0&&(A=1);break;case z:case H:if(d+l+f>0)break;switch(p){case 0:switch(2*b+3*i.charCodeAt(O+1)){case 235:p=H;break;case 220:re=O,p=z}break;case z:b===H&&E===z&&re+2!==O&&(33===i.charCodeAt(re+2)&&(xe+=i.substring(re,O+1)),ve=\"\",p=0)}}if(0===p){if(J+d+l+A===0&&107!==o&&b!==N)switch(b){case V:case 126:case 62:case 43:case L:case j:if(0===k){switch(E){case 9:case B:case P:case R:ve+=\"\\0\";break;default:ve=\"\\0\"+ve+(b===V?\"\":\"\\0\")}F=1}else switch(b){case j:T+7===O&&108===E&&(T=0),k=++S;break;case L:0==(k=--S)&&(F=1,ve+=\"\\0\")}break;case 9:case B:switch(E){case 0:case M:case I:case N:case V:case 12:case 9:case B:case P:case R:break;default:0===k&&(F=1,ve+=\"\\0\")}}be+=ve,b!==B&&9!==b&&(w=b)}}D=E,E=b,O++}if(re=xe.length,Z>0&&0===re&&0===De.length&&0===t[0].length==0&&(109!==o||1===t.length&&(J>0?se:ue)===t[0])&&(re=t.join(\",\").length+2),re>0){if(s=0===J&&107!==o?function(e){for(var t,n,i=0,o=e.length,a=Array(o);i<o;++i){for(var s=e[i].split(c),u=\"\",l=0,p=0,f=0,d=0,h=s.length;l<h;++l)if(!(0===(p=(n=s[l]).length)&&h>1)){if(f=u.charCodeAt(u.length-1),d=n.charCodeAt(0),t=\"\",0!==l)switch(f){case z:case 126:case 62:case 43:case B:case j:break;default:t=\" \"}switch(d){case 38:n=t+se;case 126:case 62:case 43:case B:case L:case j:break;case 91:n=t+n+se;break;case q:switch(2*n.charCodeAt(1)+3*n.charCodeAt(2)){case 530:if(Y>0){n=t+n.substring(8,p-1);break}default:(l<1||s[l-1].length<1)&&(n=t+se+n)}break;case V:t=\"\";default:n=p>1&&n.indexOf(\":\")>0?t+n.replace(x,\"$1\"+se+\"$2\"):t+n+se}u+=n}a[i]=u.replace(r,\"\").trim()}return a}(t):t,ne>0&&void 0!==(u=me(2,xe,s,e,G,W,re,o,a,o))&&0===(xe=u).length)return Ce+xe+De;if(xe=s.join(\",\")+\"{\"+xe+\"}\",Q*K!=0){switch(2!==Q||de(xe,2)||(K=0),K){case 111:xe=xe.replace(g,\":-moz-$1\")+xe;break;case 112:xe=xe.replace(m,\"::\"+_+\"input-$1\")+xe.replace(m,\"::-moz-$1\")+xe.replace(m,\":-ms-input-$1\")+xe}K=0}}return Ce+xe+De}function le(e,t,n){var r=t.trim().split(l),i=r,o=r.length,a=e.length;switch(a){case 0:case 1:for(var s=0,u=0===a?\"\":e[0]+\" \";s<o;++s)i[s]=pe(u,i[s],n,a).trim();break;default:s=0;var c=0;for(i=[];s<o;++s)for(var p=0;p<a;++p)i[c++]=pe(e[p]+\" \",r[s],n,a).trim()}return i}function pe(e,t,n,r){var i=t,o=i.charCodeAt(0);switch(o<33&&(o=(i=i.trim()).charCodeAt(0)),o){case 38:switch(J+r){case 0:case 1:if(0===e.trim().length)break;default:return i.replace(p,\"$1\"+e.trim())}break;case q:switch(i.charCodeAt(1)){case 103:if(Y>0&&J>0)return i.replace(f,\"$1\").replace(p,\"$1\"+ue);break;default:return e.trim()+i.replace(p,\"$1\"+e.trim())}default:if(n*J>0&&i.indexOf(\"\\f\")>0)return i.replace(p,(e.charCodeAt(0)===q?\"\":\"$1\")+e.trim())}return e+i}function fe(e,t,n,r){var c,l=0,p=e+\";\",f=2*t+3*n+4*r;if(944===f)return function(e){var t=e.length,n=e.indexOf(\":\",9)+1,r=e.substring(0,n).trim(),i=e.substring(n,t-1).trim();switch(e.charCodeAt(9)*oe){case 0:break;case U:if(110!==e.charCodeAt(10))break;default:var o=i.split((i=\"\",s)),a=0;for(n=0,t=o.length;a<t;n=0,++a){for(var c=o[a],l=c.split(u);c=l[n];){var p=c.charCodeAt(0);if(1===oe&&(p>64&&p<90||p>96&&p<123||95===p||p===U&&c.charCodeAt(1)!==U))switch(isNaN(parseFloat(c))+(-1!==c.indexOf(\"(\"))){case 1:switch(c){case\"infinite\":case\"alternate\":case\"backwards\":case\"running\":case\"normal\":case\"forwards\":case\"both\":case\"none\":case\"linear\":case\"ease\":case\"ease-in\":case\"ease-out\":case\"ease-in-out\":case\"paused\":case\"reverse\":case\"alternate-reverse\":case\"inherit\":case\"initial\":case\"unset\":case\"step-start\":case\"step-end\":break;default:c+=ae}}l[n++]=c}i+=(0===a?\"\":\",\")+l.join(\" \")}}return i=r+i+\";\",1===Q||2===Q&&de(i,1)?_+i+i:i}(p);if(0===Q||2===Q&&!de(p,1))return p;switch(f){case 1015:return 97===p.charCodeAt(10)?_+p+p:p;case 951:return 116===p.charCodeAt(3)?_+p+p:p;case 963:return 110===p.charCodeAt(5)?_+p+p:p;case 1009:if(100!==p.charCodeAt(4))break;case 969:case 942:return _+p+p;case 978:return _+p+O+p+p;case 1019:case 983:return _+p+O+p+F+p+p;case 883:return p.charCodeAt(8)===U?_+p+p:p.indexOf(\"image-set(\",11)>0?p.replace(T,\"$1\"+_+\"$2\")+p:p;case 932:if(p.charCodeAt(4)===U)switch(p.charCodeAt(5)){case 103:return _+\"box-\"+p.replace(\"-grow\",\"\")+_+p+F+p.replace(\"grow\",\"positive\")+p;case 115:return _+p+F+p.replace(\"shrink\",\"negative\")+p;case 98:return _+p+F+p.replace(\"basis\",\"preferred-size\")+p}return _+p+F+p+p;case 964:return _+p+F+\"flex-\"+p+p;case 1023:if(99!==p.charCodeAt(8))break;return c=p.substring(p.indexOf(\":\",15)).replace(\"flex-\",\"\").replace(\"space-between\",\"justify\"),_+\"box-pack\"+c+_+p+F+\"flex-pack\"+c+p;case 1005:return o.test(p)?p.replace(i,\":\"+_)+p.replace(i,\":\"+O)+p:p;case 1e3:switch(l=(c=p.substring(13).trim()).indexOf(\"-\")+1,c.charCodeAt(0)+c.charCodeAt(l)){case 226:c=p.replace(D,\"tb\");break;case 232:c=p.replace(D,\"tb-rl\");break;case 220:c=p.replace(D,\"lr\");break;default:return p}return _+p+F+c+p;case 1017:if(-1===p.indexOf(\"sticky\",9))return p;case 975:switch(l=(p=e).length-10,f=(c=(33===p.charCodeAt(l)?p.substring(0,l):p).substring(e.indexOf(\":\",7)+1).trim()).charCodeAt(0)+(0|c.charCodeAt(7))){case 203:if(c.charCodeAt(8)<111)break;case 115:p=p.replace(c,_+c)+\";\"+p;break;case 207:case 102:p=p.replace(c,_+(f>102?\"inline-\":\"\")+\"box\")+\";\"+p.replace(c,_+c)+\";\"+p.replace(c,F+c+\"box\")+\";\"+p}return p+\";\";case 938:if(p.charCodeAt(5)===U)switch(p.charCodeAt(6)){case 105:return c=p.replace(\"-items\",\"\"),_+p+_+\"box-\"+c+F+\"flex-\"+c+p;case 115:return _+p+F+\"flex-item-\"+p.replace(S,\"\")+p;default:return _+p+F+\"flex-line-pack\"+p.replace(\"align-content\",\"\").replace(S,\"\")+p}break;case 973:case 989:if(p.charCodeAt(3)!==U||122===p.charCodeAt(4))break;case 931:case 953:if(!0===A.test(e))return 115===(c=e.substring(e.indexOf(\":\")+1)).charCodeAt(0)?fe(e.replace(\"stretch\",\"fill-available\"),t,n,r).replace(\":fill-available\",\":stretch\"):p.replace(c,_+c)+p.replace(c,O+c.replace(\"fill-\",\"\"))+p;break;case 962:if(p=_+p+(102===p.charCodeAt(5)?F+p:\"\")+p,n+r===211&&105===p.charCodeAt(13)&&p.indexOf(\"transform\",10)>0)return p.substring(0,p.indexOf(\";\",27)+1).replace(a,\"$1\"+_+\"$2\")+p}return p}function de(e,t){var n=e.indexOf(1===t?\":\":\"{\"),r=e.substring(0,3!==t?n:10),i=e.substring(n+1,e.length-1);return re(2!==t?r:r.replace(k,\"$1\"),i,t)}function he(e,t){var n=fe(t,t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2));return n!==t+\";\"?n.replace(w,\" or ($1)\").substring(4):\"(\"+t+\")\"}function me(e,t,n,r,i,o,a,s,u,c){for(var l,p=0,f=t;p<ne;++p)switch(l=te[p].call(ve,e,f,n,r,i,o,a,s,u,c)){case void 0:case!1:case!0:case null:break;default:f=l}if(f!==t)return f}function ge(e,t,n,r){for(var i=t+1;i<n;++i)switch(r.charCodeAt(i)){case H:if(e===z&&r.charCodeAt(i-1)===z&&t+2!==i)return i+1;break;case P:if(e===H)return i+1}return i}function ye(e){for(var t in e){var n=e[t];switch(t){case\"keyframe\":oe=0|n;break;case\"global\":Y=0|n;break;case\"cascade\":J=0|n;break;case\"compress\":$=0|n;break;case\"semicolon\":X=0|n;break;case\"preserve\":Z=0|n;break;case\"prefix\":re=null,n?\"function\"!=typeof n?Q=1:(Q=2,re=n):Q=0}}return ye}function ve(t,n){if(void 0!==this&&this.constructor===ve)return e(t);var i=t,o=i.charCodeAt(0);o<33&&(o=(i=i.trim()).charCodeAt(0)),oe>0&&(ae=i.replace(d,91===o?\"\":\"-\")),o=1,1===J?ue=i:se=i;var a,s=[ue];ne>0&&void 0!==(a=me(-1,n,s,s,G,W,0,0,0,0))&&\"string\"==typeof a&&(n=a);var u=ce(ee,s,n,0,0);return ne>0&&void 0!==(a=me(-2,u,s,s,G,W,u.length,0,0,0))&&\"string\"!=typeof(u=a)&&(o=0),ae=\"\",ue=\"\",se=\"\",K=0,G=1,W=1,$*o==0?u:u.replace(r,\"\").replace(y,\"\").replace(v,\"$1\").replace(b,\"$1\").replace(E,\" \")}return ve.use=function e(t){switch(t){case void 0:case null:ne=te.length=0;break;default:if(\"function\"==typeof t)te[ne++]=t;else if(\"object\"==typeof t)for(var n=0,r=t.length;n<r;++n)e(t[n]);else ie=0|!!t}return e},ve.set=ye,void 0!==t&&ye(t),ve}(null)},function(e,t,n){\"use strict\";function r(e,t){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}t.a=function(e,t){var n;void 0===t&&(t=r);var i,o=[],a=!1;return function(){for(var r=[],s=0;s<arguments.length;s++)r[s]=arguments[s];return a&&n===this&&t(r,o)||(i=e.apply(this,r),a=!0,n=this,o=r),i}}},function(e,t,n){\"use strict\";var r;Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(49);t.selectWorkspace=(r=i.createActions({SELECT_WORKSPACE:function(e){return{workspace:e}},INIT_STATE:function(e,t){return{workspaceId:e,endpoint:t}},INJECT_STATE:function(e){return{state:e}},INJECT_TABS:function(e){return{tabs:e}}})).selectWorkspace,t.initState=r.initState,t.injectState=r.injectState,t.injectTabs=r.injectTabs},function(e,t,n){\"use strict\";var r=n(257);function i(){}var o=null,a={};function s(e){if(\"object\"!=typeof this)throw new TypeError(\"Promises must be constructed via new\");if(\"function\"!=typeof e)throw new TypeError(\"Promise constructor's argument is not a function\");this._75=0,this._83=0,this._18=null,this._38=null,e!==i&&d(e,this)}function u(e,t){for(;3===e._83;)e=e._18;if(s._47&&s._47(e),0===e._83)return 0===e._75?(e._75=1,void(e._38=t)):1===e._75?(e._75=2,void(e._38=[e._38,t])):void e._38.push(t);!function(e,t){r((function(){var n=1===e._83?t.onFulfilled:t.onRejected;if(null!==n){var r=function(e,t){try{return e(t)}catch(e){return o=e,a}}(n,e._18);r===a?l(t.promise,o):c(t.promise,r)}else 1===e._83?c(t.promise,e._18):l(t.promise,e._18)}))}(e,t)}function c(e,t){if(t===e)return l(e,new TypeError(\"A promise cannot be resolved with itself.\"));if(t&&(\"object\"==typeof t||\"function\"==typeof t)){var n=function(e){try{return e.then}catch(e){return o=e,a}}(t);if(n===a)return l(e,o);if(n===e.then&&t instanceof s)return e._83=3,e._18=t,void p(e);if(\"function\"==typeof n)return void d(n.bind(t),e)}e._83=1,e._18=t,p(e)}function l(e,t){e._83=2,e._18=t,s._71&&s._71(e,t),p(e)}function p(e){if(1===e._75&&(u(e,e._38),e._38=null),2===e._75){for(var t=0;t<e._38.length;t++)u(e,e._38[t]);e._38=null}}function f(e,t,n){this.onFulfilled=\"function\"==typeof e?e:null,this.onRejected=\"function\"==typeof t?t:null,this.promise=n}function d(e,t){var n=!1,r=function(e,t,n){try{e(t,n)}catch(e){return o=e,a}}(e,(function(e){n||(n=!0,c(t,e))}),(function(e){n||(n=!0,l(t,e))}));n||r!==a||(n=!0,l(t,o))}e.exports=s,s._47=null,s._71=null,s._44=i,s.prototype.then=function(e,t){if(this.constructor!==s)return function(e,t,n){return new e.constructor((function(r,o){var a=new s(i);a.then(r,o),u(e,new f(t,n,a))}))}(this,e,t);var n=new s(i);return u(this,new f(e,t,n)),n}},function(e,t,n){\"use strict\";var r=Object.prototype;r.toString,r.hasOwnProperty,new Map},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.parseHeaders=function(e){if(!e)return{};try{return JSON.parse(e)}catch(e){return{}}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(34),i=n(20);t.makeOperation=function(e){return r.setIn(e,[\"query\"],i.parse(e.query))}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){return e&&\"@@redux/INIT\"===e.type?\"initialState argument passed to createStore\":\"previous state received by the reducer\"},e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.getQueryTypes=function(e){var t=!1,n=!1,r=!1,i=null;return e&&e.definitions&&e.definitions.forEach((function(e){i||(i=e.name&&e.name.value),i||(i=e.selectionSet&&e.selectionSet.selections&&e.selectionSet.selections.length>0&&e.selectionSet.selections[0].name.value),\"subscription\"===e.operation&&(t=!0),\"query\"===e.operation&&(n=!0),\"mutation\"===e.operation&&(r=!0)})),{firstOperationName:i,subscription:t,query:n,mutation:r}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.arrayMove=t.sortableHandle=t.sortableElement=t.sortableContainer=t.SortableHandle=t.SortableElement=t.SortableContainer=void 0;var r=n(102);Object.defineProperty(t,\"arrayMove\",{enumerable:!0,get:function(){return r.arrayMove}});var i=s(n(287)),o=s(n(289)),a=s(n(290));function s(e){return e&&e.__esModule?e:{default:e}}t.SortableContainer=i.default,t.SortableElement=o.default,t.SortableHandle=a.default,t.sortableContainer=i.default,t.sortableElement=o.default,t.sortableHandle=a.default},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(34),a=n(49),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(o.Record({history:!1,headers:!0,allTabs:!0,shareUrl:null}));t.SharingState=s,t.default=a.handleActions({TOGGLE_SHARE_HISTORY:function(e){return e.set(\"history\",!e.history)},TOGGLE_SHARE_HEADERS:function(e){return e.set(\"headers\",!e.headers)},TOGGLE_SHARE_ALL_TABS:function(e){return e.set(\"allTabs\",!e.allTabs)},SET_SHARE_URL:function(e,t){var n=t.payload.shareUrl;return e.set(\"shareUrl\",n)}},new s)},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(34),a=n(49),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(o.Record({historyOpen:!1,fixedEndpoint:!1,endpoint:\"\",configString:\"\",envVars:{}}));t.GeneralState=s,t.default=a.handleActions({OPEN_HISTORY:function(e){return e.set(\"historyOpen\",!0)},CLOSE_HISTORY:function(e){return e.set(\"historyOpen\",!1)},SET_ENDPOINT_DISABLED:function(e,t){var n=t.payload.value;return e.set(\"endpointDisabled\",n)},SET_CONFIG_STRING:function(e,t){var n=t.payload.configString;return e.set(\"configString\",n)}},new s)},function(e,t,n){\"use strict\";var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)},i=this&&this.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n};Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(117),a=n(101),s=n(158),u=n(34),c=n(159),l=n(97),p=n(42),f=n(162);function d(e){return new f.AppHistory({items:u.OrderedMap(l.mapValues(e.items,(function(e){return new f.AppHistoryItem(e)})))})}function h(e){return u.Map(l.mapValues(e,(function(e){return new o.DocsSession({docsOpen:e.docsOpen,keyMove:e.keyMove,docsWidth:e.docsWidth,navStack:(t=e.navStack,u.List(t.map((function(e){return u.Map(e)}))))});var t})))}function m(e){var t=g(e.sessions),n=e.selectedSessionId&&\"\"!==e.selectedSessionId?e.selectedSessionId:t.first().id;return new a.SessionState({selectedSessionId:n,sessions:t,sessionCount:t.size,headers:e.headers})}function g(e){return u.OrderedMap(l.mapValues(e,(function(e){return function(e){return new a.Session(r(r({},e),{responses:(t=e.responses,u.List(t.filter((function(e){return e.isSchemaError})).map((function(e){return function(e){return new a.ResponseRecord({resultID:e.resultID,date:e.date,time:new Date(e.time),isSchemaError:e.isSchemaError||!1})}(e)})))),operations:u.fromJS(e.operations),variableToType:u.Map(e.variableToType),date:e.date?new Date(e.date):void 0,currentQueryStartTime:e.currentQueryStartTime?new Date(e.currentQueryStartTime):void 0,currentQueryEndTime:e.currentQueryEndTime?new Date(e.currentQueryEndTime):void 0,nextQueryStartTime:e.nextQueryStartTime?new Date(e.nextQueryStartTime):void 0}));var t}(e)})))}function y(e){e.shareUrl;var t=i(e,[\"shareUrl\"]);return new s.SharingState(t)}function v(e){return g(e)}function b(e){return new c.GeneralState(e)}t.deserializePersistedState=function(e){return new p.RootState({workspaces:(t=e.workspaces,u.Map(l.mapValues(t,(function(e,t){return new p.Workspace({docs:h(e.docs),sessions:m(e.sessions),sharing:y(e.sharing),history:v(e.history)})})))),selectedWorkspace:e.selectedWorkspace,settingsString:p.normalizeSettingsString(e.settingsString),appHistory:d(e.appHistory),general:b(e.general)});var t}},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,\"loaded\",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,\"id\",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(34),a=n(49),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(o.Record({items:o.OrderedMap()}));t.AppHistory=s;var u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(o.Record({type:\"local\",configString:void 0,configPath:void 0,endpoint:void 0,folderName:void 0,env:void 0,platformToken:void 0,lastOpened:new Date,config:void 0}));t.AppHistoryItem=u,t.default=a.handleActions({SELECT_APP_HISTORY_ITEM:function(e,t){var n=t.payload;return e.setIn([\"items\",n.item.path],n.item)}},new s),t.getAppHistory=function(e){return e.appHistory}},function(e,t,n){\"use strict\";const r=n(295),i=Symbol(\"max\"),o=Symbol(\"length\"),a=Symbol(\"lengthCalculator\"),s=Symbol(\"allowStale\"),u=Symbol(\"maxAge\"),c=Symbol(\"dispose\"),l=Symbol(\"noDisposeOnSet\"),p=Symbol(\"lruList\"),f=Symbol(\"cache\"),d=Symbol(\"updateAgeOnGet\"),h=()=>1;const m=(e,t,n)=>{const r=e[f].get(t);if(r){const t=r.value;if(g(e,t)){if(v(e,r),!e[s])return}else n&&(e[d]&&(r.value.now=Date.now()),e[p].unshiftNode(r));return t.value}},g=(e,t)=>{if(!t||!t.maxAge&&!e[u])return!1;const n=Date.now()-t.now;return t.maxAge?n>t.maxAge:e[u]&&n>e[u]},y=e=>{if(e[o]>e[i])for(let t=e[p].tail;e[o]>e[i]&&null!==t;){const n=t.prev;v(e,t),t=n}},v=(e,t)=>{if(t){const n=t.value;e[c]&&e[c](n.key,n.value),e[o]-=n.length,e[f].delete(n.key),e[p].removeNode(t)}};class b{constructor(e,t,n,r,i){this.key=e,this.value=t,this.length=n,this.now=r,this.maxAge=i||0}}const E=(e,t,n,r)=>{let i=n.value;g(e,i)&&(v(e,n),e[s]||(i=void 0)),i&&t.call(r,i.value,i.key,e)};e.exports=class{constructor(e){if(\"number\"==typeof e&&(e={max:e}),e||(e={}),e.max&&(\"number\"!=typeof e.max||e.max<0))throw new TypeError(\"max must be a non-negative number\");this[i]=e.max||1/0;const t=e.length||h;if(this[a]=\"function\"!=typeof t?h:t,this[s]=e.stale||!1,e.maxAge&&\"number\"!=typeof e.maxAge)throw new TypeError(\"maxAge must be a number\");this[u]=e.maxAge||0,this[c]=e.dispose,this[l]=e.noDisposeOnSet||!1,this[d]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(\"number\"!=typeof e||e<0)throw new TypeError(\"max must be a non-negative number\");this[i]=e||1/0,y(this)}get max(){return this[i]}set allowStale(e){this[s]=!!e}get allowStale(){return this[s]}set maxAge(e){if(\"number\"!=typeof e)throw new TypeError(\"maxAge must be a non-negative number\");this[u]=e,y(this)}get maxAge(){return this[u]}set lengthCalculator(e){\"function\"!=typeof e&&(e=h),e!==this[a]&&(this[a]=e,this[o]=0,this[p].forEach(e=>{e.length=this[a](e.value,e.key),this[o]+=e.length})),y(this)}get lengthCalculator(){return this[a]}get length(){return this[o]}get itemCount(){return this[p].length}rforEach(e,t){t=t||this;for(let n=this[p].tail;null!==n;){const r=n.prev;E(this,e,n,t),n=r}}forEach(e,t){t=t||this;for(let n=this[p].head;null!==n;){const r=n.next;E(this,e,n,t),n=r}}keys(){return this[p].toArray().map(e=>e.key)}values(){return this[p].toArray().map(e=>e.value)}reset(){this[c]&&this[p]&&this[p].length&&this[p].forEach(e=>this[c](e.key,e.value)),this[f]=new Map,this[p]=new r,this[o]=0}dump(){return this[p].map(e=>!g(this,e)&&{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[p]}set(e,t,n){if((n=n||this[u])&&\"number\"!=typeof n)throw new TypeError(\"maxAge must be a number\");const r=n?Date.now():0,s=this[a](t,e);if(this[f].has(e)){if(s>this[i])return v(this,this[f].get(e)),!1;const a=this[f].get(e).value;return this[c]&&(this[l]||this[c](e,a.value)),a.now=r,a.maxAge=n,a.value=t,this[o]+=s-a.length,a.length=s,this.get(e),y(this),!0}const d=new b(e,t,s,r,n);return d.length>this[i]?(this[c]&&this[c](e,t),!1):(this[o]+=d.length,this[p].unshift(d),this[f].set(e,this[p].head),y(this),!0)}has(e){if(!this[f].has(e))return!1;const t=this[f].get(e).value;return!g(this,t)}get(e){return m(this,e,!0)}peek(e){return m(this,e,!1)}pop(){const e=this[p].tail;return e?(v(this,e),e.value):null}del(e){v(this,this[f].get(e))}load(e){this.reset();const t=Date.now();for(let n=e.length-1;n>=0;n--){const r=e[n],i=r.e||0;if(0===i)this.set(r.k,r.v);else{const e=i-t;e>0&&this.set(r.k,r.v,e)}}}prune(){this[f].forEach((e,t)=>m(this,t,!1))}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(28),i=n(42);t.getSharingState=r.createSelector([i.getSelectedWorkspace],(function(e){return e.sharing}));var o=function(e){return r.createSelector([t.getSharingState],(function(t){return t.get(e)}))};t.getSharingHistory=o(\"history\"),t.getSharingHeaders=o(\"headers\"),t.getSharingAllTabs=o(\"allTabs\"),t.getShareUrl=o(\"shareUrl\")},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){return[].slice.call(e.querySelectorAll(\"*\"),0).filter(a)};\n/*!\n * Adapted from jQuery UI core\n *\n * http://jqueryui.com\n *\n * Copyright 2014 jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/category/ui-core/\n */\nvar r=/input|select|textarea|button|object/;function i(e){var t=e.offsetWidth<=0&&e.offsetHeight<=0;if(t&&!e.innerHTML)return!0;var n=window.getComputedStyle(e);return t?\"visible\"!==n.getPropertyValue(\"overflow\")||e.scrollWidth<=0&&e.scrollHeight<=0:\"none\"==n.getPropertyValue(\"display\")}function o(e,t){var n=e.nodeName.toLowerCase();return(r.test(n)&&!e.disabled||\"a\"===n&&e.href||t)&&function(e){for(var t=e;t&&t!==document.body;){if(i(t))return!1;t=t.parentNode}return!0}(e)}function a(e){var t=e.getAttribute(\"tabindex\");null===t&&(t=void 0);var n=isNaN(t);return(n||t>=0)&&o(e,!n)}e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.assertNodeList=u,t.setElement=function(e){var t=e;if(\"string\"==typeof t&&a.canUseDOM){var n=document.querySelectorAll(t);u(n,t),t=\"length\"in n?n[0]:n}return s=t||s},t.validateElement=c,t.hide=function(e){c(e)&&(e||s).setAttribute(\"aria-hidden\",\"true\")},t.show=function(e){c(e)&&(e||s).removeAttribute(\"aria-hidden\")},t.documentNotReadyOrSSRTesting=function(){s=null},t.resetForTesting=function(){s=null};var r,i=n(51),o=(r=i)&&r.__esModule?r:{default:r},a=n(120);var s=null;function u(e,t){if(!e||!e.length)throw new Error(\"react-modal: No elements were found for selector \"+t+\".\")}function c(e){return!(!e&&!s)||((0,o.default)(!1,[\"react-modal: App element is not defined.\",\"Please use `Modal.setAppElement(el)` or set `appElement={el}`.\",\"This is needed so screen readers don't see main content\",\"when modal is opened. It is not recommended, but you can opt-out\",\"by setting `ariaHideApp={false}`.\"].join(\" \")),!1)}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=new function e(){var t=this;!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.register=function(e){-1===t.openInstances.indexOf(e)&&(t.openInstances.push(e),t.emit(\"register\"))},this.deregister=function(e){var n=t.openInstances.indexOf(e);-1!==n&&(t.openInstances.splice(n,1),t.emit(\"deregister\"))},this.subscribe=function(e){t.subscribers.push(e)},this.emit=function(e){t.subscribers.forEach((function(n){return n(e,t.openInstances.slice())}))},this.openInstances=[],this.subscribers=[]};t.default=r,e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(42);t.darkColours={green:\"#27ae60\",darkBlue:\"rgb(23, 42, 58)\",darkBlue50:\"rgba(23, 42, 58, 0.5)\",darkBlue80:\"rgba(23, 42, 58, 0.8)\",darkBlue60:\"rgba(23, 42, 58, 0.6)\",darkBlue30:\"rgba(23, 42, 58, 0.3)\",darkBlue20:\"rgba(23, 42, 58, 0.2)\",darkBlue10:\"rgba(23, 42, 58, 0.1)\",darkerBlue:\"#0F202D\",darkestBlue:\"rgb(11,20,28)\",white10:\"rgba(255, 255, 255, 0.1)\",white20:\"rgba(255, 255, 255, 0.2)\",white30:\"rgba(255, 255, 255, 0.3)\",white60:\"rgba(255, 255, 255, 0.6)\",white70:\"rgba(255, 255, 255, 0.7)\",white80:\"rgba(255, 255, 255, 0.8)\",white:\"rgba(255, 255, 255, 1)\",black02:\"rgba(0, 0, 0, 0.02)\",black07:\"rgba(0, 0, 0, 0.07)\",black04:\"rgba(0, 0, 0, 0.04)\",black10:\"rgba(0, 0, 0, 0.1)\",black30:\"rgba(0, 0, 0, 0.3)\",black40:\"rgba(0, 0, 0, 0.4)\",black50:\"rgba(0, 0, 0, 0.5)\",red:\"#f25c54\",orange:\"rgba(241, 143, 1, 1)\",blue:\"rgba(42, 126, 210, 1)\",purple:\"rgb(164, 3, 111)\",paleText:\"rgba(0, 0, 0, 0.5)\",paleGrey:\"#f3f4f4\",lightGrey:\"#eeeff0\",lighterGrey:\"#f6f7f7\",text:\"rgba(255,255,255,0.6)\",textInactive:\"#555e66\"},t.lightColours={green:\"#27ae60\",darkBlue:\"rgb(23, 42, 58)\",darkBlue50:\"rgba(23, 42, 58, 0.5)\",darkBlue80:\"rgba(23, 42, 58, 0.8)\",darkBlue60:\"rgba(23, 42, 58, 0.6)\",darkBlue30:\"rgba(23, 42, 58, 0.3)\",darkBlue20:\"rgba(23, 42, 58, 0.2)\",darkBlue10:\"rgba(23, 42, 58, 0.1)\",darkerBlue:\"#0F202D\",darkestBlue:\"rgb(11,20,28)\",white10:\"rgba(255, 255, 255, 0.1)\",white20:\"rgba(255, 255, 255, 0.2)\",white30:\"rgba(255, 255, 255, 0.3)\",white60:\"rgba(255, 255, 255, 0.6)\",white70:\"rgba(255, 255, 255, 0.7)\",white80:\"rgba(255, 255, 255, 0.8)\",white:\"rgba(255, 255, 255, 1)\",black02:\"rgba(0, 0, 0, 0.02)\",black04:\"rgba(0, 0, 0, 0.04)\",black10:\"rgba(0, 0, 0, 0.1)\",black07:\"rgba(0, 0, 0, 0.07)\",black30:\"rgba(0, 0, 0, 0.3)\",black40:\"rgba(0, 0, 0, 0.4)\",black50:\"rgba(0, 0, 0, 0.5)\",red:\"#f25c54\",orange:\"rgba(241, 143, 1, 1)\",blue:\"rgba(42, 126, 210, 1)\",purple:\"rgb(164, 3, 111)\",paleText:\"rgba(0, 0, 0, 0.5)\",paleGrey:\"#f3f4f4\",lightGrey:\"#eeeff0\",lighterGrey:\"#f6f7f7\",text:\"rgba(0,0,0,.7)\",textInactive:\"rgba(0,0,0,.3)\"},t.darkEditorColours={property:\"rgb(41, 185, 115)\",comment:\"rgba(255, 255, 255, 0.3)\",punctuation:\"rgba(255, 255, 255, 0.4)\",keyword:\"rgb(42, 126, 211)\",def:\"rgb(56, 189, 193)\",qualifier:\"#1c92a9\",attribute:\"rgb(247, 116, 102)\",number:\"#2882f9\",string:\"#d64292\",builtin:\"#d47509\",string2:\"#0b7fc7\",variable:\"rgb(181, 34, 130)\",meta:\"#b33086\",atom:\"rgb(249, 233, 34)\",ws:\"rgba(255, 255, 255, 0.4)\",selection:\"rgba(255, 255, 255, 0.1)\",cursorColor:\"rgba(255, 255, 255, 0.4)\",text:\"#fff\",textInactive:\"rgba(255, 255, 255, 0.6)\",background:\"#09141c\",sidebarTop:\"#0f202d\",sidebar:\"#172b3a\",sidebarBottom:\"#172b3a\",sidebarItemActive:\"rgb(23, 42, 58)\",sidebarItemSide:\"#27ae60\",sidebarItemSessions:\"rgba(255, 255, 255, 0.05)\",tab:\"#172b3a\",tabInactive:\"#0f202d\",tabText:\"#fff\",navigationBar:\"#172b3a\",navigationBarText:\"rgba(255, 255, 255, 0.6)\",editorBackground:\"#0f202d\",resultBackground:\"#172b3a\",leftDrawerBackground:\"#0b1924\",rightDrawerBackground:\"#0b1924\",drawerText:\"rgba(255,255,255,0.6)\",drawerTextInactive:\"#555e66\",executeButton:\"rgb(185, 191, 196)\",executeButtonBorder:\"rgb(11, 20, 28)\",executeButtonHover:\"rgb(195, 201, 206)\",executeButtonSubscription:\"#f25c54\",executeButtonSubscriptionHover:\"#f36c65\",icon:\"rgb(74, 85, 95)\",iconHover:\"rgba(255, 255, 255, 0.6)\",pollingIcon:\"rgba(139, 149, 156, 1)\",pollingIconShadow:\"rgba(139, 149, 156, 0.4)\",button:\"#0F202D\",buttonHover:\"#122535\",buttonText:\"rgba(255,255,255,0.6)\",buttonWorkspace:\"#b9bfc4\",buttonWorkspaceHover:\"#a4acb2\",buttonWorkspaceText:\"rgb(23, 42, 58)\",circle:\"rgba(255, 255, 255, 0.4)\",subscriptionTimeBoaderTop:\"rgba(255, 255, 255, 0.2)\",subscriptionTimeText:\"rgba(255, 255, 255, 0.5)\"},t.lightEditorColours={property:\"#328c8c\",comment:\"rgba(0, 0, 0, 0.3)\",punctuation:\"rgba(23,42,58,.8)\",keyword:\"#366b6b\",def:\"rgb(56, 189, 193)\",qualifier:\"#1c92a9\",attribute:\"#b56531\",number:\"#1f6ed6;\",string:\"#d64292\",builtin:\"#d47509\",string2:\"#0b7fc7\",variable:\"rgb(236, 95, 103)\",meta:\"#b33086\",atom:\"rgb(245, 160, 0)\",ws:\"rgba(23, 42, 58, 0.8)\",selection:\"#d1e9fd\",cursorColor:\"rgba(0, 0, 0, 0.4)\",text:\"rgba(0, 0, 0, 0.7)\",textInactive:\"rgba(0, 0, 0, 0.3)\",background:\"#dbdee0\",sidebarTop:\"#eeeff0\",sidebar:\"#eeeff0\",sidebarBottom:\"#f6f7f7\",sidebarItemActive:\"#f6f7f7\",sidebarItemSide:\"#27ae60\",sidebarItemSessions:\"#dbdee0\",tab:\"#eeeff0\",tabInactive:\"#e7eaec\",tabText:\"rgba(23, 42, 58, .8)\",navigationBar:\"#eeeff0\",navigationBarText:\"rgba(23, 42, 58, 0.8)\",editorBackground:\"#f6f7f7\",resultBackground:\"#eeeff0\",leftDrawerBackground:\"#e9eaea\",rightDrawerBackground:\"#e5e7e7\",drawerText:\"rgba(0, 0, 0, 0.7)\",drawerTextInactive:\"rgba(0, 0, 0, 0.3)\",executeButton:\"rgb(115, 127, 136)\",executeButtonBorder:\"#eeeff0\",executeButtonHover:\"\",executeButtonSubscription:\"#f25c54\",executeButtonSubscriptionHover:\"#f36c65\",icon:\"rgb(194, 200, 203)\",iconHover:\"rgba(23, 42, 58, 0.6)\",pollingIcon:\"rgba(139, 149, 156, 1)\",pollingIconShadow:\"rgba(139, 149, 156, 0.4)\",button:\"#d8dbde\",buttonHover:\"rgba(20, 37, 51, 0.2)\",buttonText:\"rgba(23, 42, 58, 0.8)\",buttonWorkspace:\"rgb(185, 191, 196)\",buttonWorkspaceHover:\"rgb(157, 166, 173)\",buttonWorkspaceText:\"rgb(238, 239, 240)\",circle:\"rgba(23,42,58,.4)\",subscriptionTimeBoaderTop:\"rgba(23, 42, 58, 0.2)\",subscriptionTimeText:\"rgba(23, 42, 58, 0.5)\"},t.sizes={small6:\"6px\",small10:\"10px\",small12:\"12px\",small16:\"16px\",medium25:\"25px\",fontLight:\"300\",fontSemiBold:\"600\",fontTiny:\"12px\",fontSmall:\"14px\",fontMedium:\"20px\",smallRadius:\"2px\"},t.shorthands={},t.theme={mode:\"dark\",colours:t.darkColours,sizes:t.sizes,shorthands:t.shorthands,editorColours:t.darkEditorColours,settings:r.defaultSettings}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(3),i=n(34);t.toJS=function(e){return function(t){var n=Object.entries(t).reduce((function(e,t){return e[t[0]]=i.isImmutable(t[1])?t[1].toJS():t[1],e}),{});return r.createElement(e,n)}}},function(e,t,n){\"use strict\";e.exports=n(323)},function(e,t,n){\"use strict\";t.Any=n(172),t.Cc=n(173),t.Cf=n(328),t.P=n(104),t.Z=n(174)},function(e,t){e.exports=/[\\0-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/},function(e,t){e.exports=/[\\0-\\x1F\\x7F-\\x9F]/},function(e,t){e.exports=/[ \\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]/},function(e,t,n){\"use strict\";var r=\"<[A-Za-z][A-Za-z0-9\\\\-]*(?:\\\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\\\s*=\\\\s*(?:[^\\\"'=<>`\\\\x00-\\\\x20]+|'[^']*'|\\\"[^\\\"]*\\\"))?)*\\\\s*\\\\/?>\",i=\"<\\\\/[A-Za-z][A-Za-z0-9\\\\-]*\\\\s*>\",o=new RegExp(\"^(?:\"+r+\"|\"+i+\"|\\x3c!----\\x3e|\\x3c!--(?:-?[^>-])(?:-?[^-])*--\\x3e|<[?].*?[?]>|<![A-Z]+\\\\s+[^>]*>|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>)\"),a=new RegExp(\"^(?:\"+r+\"|\"+i+\")\");e.exports.HTML_TAG_RE=o,e.exports.HTML_OPEN_CLOSE_TAG_RE=a},function(e,t,n){\"use strict\";e.exports.tokenize=function(e,t){var n,r,i,o,a=e.pos,s=e.src.charCodeAt(a);if(t)return!1;if(126!==s)return!1;if(i=(r=e.scanDelims(e.pos,!0)).length,o=String.fromCharCode(s),i<2)return!1;for(i%2&&(e.push(\"text\",\"\",0).content=o,i--),n=0;n<i;n+=2)e.push(\"text\",\"\",0).content=o+o,e.delimiters.push({marker:s,jump:n,token:e.tokens.length-1,level:e.level,end:-1,open:r.can_open,close:r.can_close});return e.pos+=r.length,!0},e.exports.postProcess=function(e){var t,n,r,i,o,a=[],s=e.delimiters,u=e.delimiters.length;for(t=0;t<u;t++)126===(r=s[t]).marker&&-1!==r.end&&(i=s[r.end],(o=e.tokens[r.token]).type=\"s_open\",o.tag=\"s\",o.nesting=1,o.markup=\"~~\",o.content=\"\",(o=e.tokens[i.token]).type=\"s_close\",o.tag=\"s\",o.nesting=-1,o.markup=\"~~\",o.content=\"\",\"text\"===e.tokens[i.token-1].type&&\"~\"===e.tokens[i.token-1].content&&a.push(i.token-1));for(;a.length;){for(n=(t=a.pop())+1;n<e.tokens.length&&\"s_close\"===e.tokens[n].type;)n++;t!==--n&&(o=e.tokens[n],e.tokens[n]=e.tokens[t],e.tokens[t]=o)}}},function(e,t,n){\"use strict\";e.exports.tokenize=function(e,t){var n,r,i=e.pos,o=e.src.charCodeAt(i);if(t)return!1;if(95!==o&&42!==o)return!1;for(r=e.scanDelims(e.pos,42===o),n=0;n<r.length;n++)e.push(\"text\",\"\",0).content=String.fromCharCode(o),e.delimiters.push({marker:o,length:r.length,jump:n,token:e.tokens.length-1,level:e.level,end:-1,open:r.can_open,close:r.can_close});return e.pos+=r.length,!0},e.exports.postProcess=function(e){var t,n,r,i,o,a,s=e.delimiters;for(t=e.delimiters.length-1;t>=0;t--)95!==(n=s[t]).marker&&42!==n.marker||-1!==n.end&&(r=s[n.end],a=t>0&&s[t-1].end===n.end+1&&s[t-1].token===n.token-1&&s[n.end+1].token===r.token+1&&s[t-1].marker===n.marker,o=String.fromCharCode(n.marker),(i=e.tokens[n.token]).type=a?\"strong_open\":\"em_open\",i.tag=a?\"strong\":\"em\",i.nesting=1,i.markup=a?o+o:o,i.content=\"\",(i=e.tokens[r.token]).type=a?\"strong_close\":\"em_close\",i.tag=a?\"strong\":\"em\",i.nesting=-1,i.markup=a?o+o:o,i.content=\"\",a&&(e.tokens[s[t-1].token].content=\"\",e.tokens[s[n.end+1].token].content=\"\",t--))}},function(e,t,n){\"use strict\";function r(e){var t=Array.prototype.slice.call(arguments,1);return t.forEach((function(t){t&&Object.keys(t).forEach((function(n){e[n]=t[n]}))})),e}function i(e){return Object.prototype.toString.call(e)}function o(e){return\"[object Function]\"===i(e)}function a(e){return e.replace(/[.?*+^$[\\]\\\\(){}|-]/g,\"\\\\$&\")}var s={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1};var u={\"http:\":{validate:function(e,t,n){var r=e.slice(t);return n.re.http||(n.re.http=new RegExp(\"^\\\\/\\\\/\"+n.re.src_auth+n.re.src_host_port_strict+n.re.src_path,\"i\")),n.re.http.test(r)?r.match(n.re.http)[0].length:0}},\"https:\":\"http:\",\"ftp:\":\"http:\",\"//\":{validate:function(e,t,n){var r=e.slice(t);return n.re.no_http||(n.re.no_http=new RegExp(\"^\"+n.re.src_auth+\"(?:localhost|(?:(?:\"+n.re.src_domain+\")\\\\.)+\"+n.re.src_domain_root+\")\"+n.re.src_port+n.re.src_host_terminator+n.re.src_path,\"i\")),n.re.no_http.test(r)?t>=3&&\":\"===e[t-3]||t>=3&&\"/\"===e[t-3]?0:r.match(n.re.no_http)[0].length:0}},\"mailto:\":{validate:function(e,t,n){var r=e.slice(t);return n.re.mailto||(n.re.mailto=new RegExp(\"^\"+n.re.src_email_name+\"@\"+n.re.src_host_strict,\"i\")),n.re.mailto.test(r)?r.match(n.re.mailto)[0].length:0}}},c=\"biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф\".split(\"|\");function l(e){var t=e.re=n(369)(e.__opts__),r=e.__tlds__.slice();function s(e){return e.replace(\"%TLDS%\",t.src_tlds)}e.onCompile(),e.__tlds_replaced__||r.push(\"a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]\"),r.push(t.src_xn),t.src_tlds=r.join(\"|\"),t.email_fuzzy=RegExp(s(t.tpl_email_fuzzy),\"i\"),t.link_fuzzy=RegExp(s(t.tpl_link_fuzzy),\"i\"),t.link_no_ip_fuzzy=RegExp(s(t.tpl_link_no_ip_fuzzy),\"i\"),t.host_fuzzy_test=RegExp(s(t.tpl_host_fuzzy_test),\"i\");var u=[];function c(e,t){throw new Error('(LinkifyIt) Invalid schema \"'+e+'\": '+t)}e.__compiled__={},Object.keys(e.__schemas__).forEach((function(t){var n=e.__schemas__[t];if(null!==n){var r={validate:null,link:null};if(e.__compiled__[t]=r,\"[object Object]\"===i(n))return!function(e){return\"[object RegExp]\"===i(e)}(n.validate)?o(n.validate)?r.validate=n.validate:c(t,n):r.validate=function(e){return function(t,n){var r=t.slice(n);return e.test(r)?r.match(e)[0].length:0}}(n.validate),void(o(n.normalize)?r.normalize=n.normalize:n.normalize?c(t,n):r.normalize=function(e,t){t.normalize(e)});!function(e){return\"[object String]\"===i(e)}(n)?c(t,n):u.push(t)}})),u.forEach((function(t){e.__compiled__[e.__schemas__[t]]&&(e.__compiled__[t].validate=e.__compiled__[e.__schemas__[t]].validate,e.__compiled__[t].normalize=e.__compiled__[e.__schemas__[t]].normalize)})),e.__compiled__[\"\"]={validate:null,normalize:function(e,t){t.normalize(e)}};var l=Object.keys(e.__compiled__).filter((function(t){return t.length>0&&e.__compiled__[t]})).map(a).join(\"|\");e.re.schema_test=RegExp(\"(^|(?!_)(?:[><｜]|\"+t.src_ZPCc+\"))(\"+l+\")\",\"i\"),e.re.schema_search=RegExp(\"(^|(?!_)(?:[><｜]|\"+t.src_ZPCc+\"))(\"+l+\")\",\"ig\"),e.re.pretest=RegExp(\"(\"+e.re.schema_test.source+\")|(\"+e.re.host_fuzzy_test.source+\")|@\",\"i\"),function(e){e.__index__=-1,e.__text_cache__=\"\"}(e)}function p(e,t){var n=e.__index__,r=e.__last_index__,i=e.__text_cache__.slice(n,r);this.schema=e.__schema__.toLowerCase(),this.index=n+t,this.lastIndex=r+t,this.raw=i,this.text=i,this.url=i}function f(e,t){var n=new p(e,t);return e.__compiled__[n.schema].normalize(n,e),n}function d(e,t){if(!(this instanceof d))return new d(e,t);var n;t||(n=e,Object.keys(n||{}).reduce((function(e,t){return e||s.hasOwnProperty(t)}),!1)&&(t=e,e={})),this.__opts__=r({},s,t),this.__index__=-1,this.__last_index__=-1,this.__schema__=\"\",this.__text_cache__=\"\",this.__schemas__=r({},u,e),this.__compiled__={},this.__tlds__=c,this.__tlds_replaced__=!1,this.re={},l(this)}d.prototype.add=function(e,t){return this.__schemas__[e]=t,l(this),this},d.prototype.set=function(e){return this.__opts__=r(this.__opts__,e),this},d.prototype.test=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return!1;var t,n,r,i,o,a,s,u;if(this.re.schema_test.test(e))for((s=this.re.schema_search).lastIndex=0;null!==(t=s.exec(e));)if(i=this.testSchemaAt(e,t[2],s.lastIndex)){this.__schema__=t[2],this.__index__=t.index+t[1].length,this.__last_index__=t.index+t[0].length+i;break}return this.__opts__.fuzzyLink&&this.__compiled__[\"http:\"]&&(u=e.search(this.re.host_fuzzy_test))>=0&&(this.__index__<0||u<this.__index__)&&null!==(n=e.match(this.__opts__.fuzzyIP?this.re.link_fuzzy:this.re.link_no_ip_fuzzy))&&(o=n.index+n[1].length,(this.__index__<0||o<this.__index__)&&(this.__schema__=\"\",this.__index__=o,this.__last_index__=n.index+n[0].length)),this.__opts__.fuzzyEmail&&this.__compiled__[\"mailto:\"]&&e.indexOf(\"@\")>=0&&null!==(r=e.match(this.re.email_fuzzy))&&(o=r.index+r[1].length,a=r.index+r[0].length,(this.__index__<0||o<this.__index__||o===this.__index__&&a>this.__last_index__)&&(this.__schema__=\"mailto:\",this.__index__=o,this.__last_index__=a)),this.__index__>=0},d.prototype.pretest=function(e){return this.re.pretest.test(e)},d.prototype.testSchemaAt=function(e,t,n){return this.__compiled__[t.toLowerCase()]?this.__compiled__[t.toLowerCase()].validate(e,n,this):0},d.prototype.match=function(e){var t=0,n=[];this.__index__>=0&&this.__text_cache__===e&&(n.push(f(this,t)),t=this.__last_index__);for(var r=t?e.slice(t):e;this.test(r);)n.push(f(this,t)),r=r.slice(this.__last_index__),t+=this.__last_index__;return n.length?n:null},d.prototype.tlds=function(e,t){return e=Array.isArray(e)?e:[e],t?(this.__tlds__=this.__tlds__.concat(e).sort().filter((function(e,t,n){return e!==n[t-1]})).reverse(),l(this),this):(this.__tlds__=e.slice(),this.__tlds_replaced__=!0,l(this),this)},d.prototype.normalize=function(e){e.schema||(e.url=\"http://\"+e.url),\"mailto:\"!==e.schema||/^mailto:/i.test(e.url)||(e.url=\"mailto:\"+e.url)},d.prototype.onCompile=function(){},e.exports=d},function(e,t,n){(function(e,r){var i;/*! https://mths.be/punycode v1.4.1 by @mathias */!function(o){t&&t.nodeType,e&&e.nodeType;var a=\"object\"==typeof r&&r;a.global!==a&&a.window!==a&&a.self;var s,u=2147483647,c=/^xn--/,l=/[^\\x20-\\x7E]/,p=/[\\x2E\\u3002\\uFF0E\\uFF61]/g,f={overflow:\"Overflow: input needs wider integers to process\",\"not-basic\":\"Illegal input >= 0x80 (not a basic code point)\",\"invalid-input\":\"Invalid input\"},d=Math.floor,h=String.fromCharCode;function m(e){throw new RangeError(f[e])}function g(e,t){for(var n=e.length,r=[];n--;)r[n]=t(e[n]);return r}function y(e,t){var n=e.split(\"@\"),r=\"\";return n.length>1&&(r=n[0]+\"@\",e=n[1]),r+g((e=e.replace(p,\".\")).split(\".\"),t).join(\".\")}function v(e){for(var t,n,r=[],i=0,o=e.length;i<o;)(t=e.charCodeAt(i++))>=55296&&t<=56319&&i<o?56320==(64512&(n=e.charCodeAt(i++)))?r.push(((1023&t)<<10)+(1023&n)+65536):(r.push(t),i--):r.push(t);return r}function b(e){return g(e,(function(e){var t=\"\";return e>65535&&(t+=h((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+=h(e)})).join(\"\")}function E(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function x(e,t,n){var r=0;for(e=n?d(e/700):e>>1,e+=d(e/t);e>455;r+=36)e=d(e/35);return d(r+36*e/(e+38))}function D(e){var t,n,r,i,o,a,s,c,l,p,f,h=[],g=e.length,y=0,v=128,E=72;for((n=e.lastIndexOf(\"-\"))<0&&(n=0),r=0;r<n;++r)e.charCodeAt(r)>=128&&m(\"not-basic\"),h.push(e.charCodeAt(r));for(i=n>0?n+1:0;i<g;){for(o=y,a=1,s=36;i>=g&&m(\"invalid-input\"),((c=(f=e.charCodeAt(i++))-48<10?f-22:f-65<26?f-65:f-97<26?f-97:36)>=36||c>d((u-y)/a))&&m(\"overflow\"),y+=c*a,!(c<(l=s<=E?1:s>=E+26?26:s-E));s+=36)a>d(u/(p=36-l))&&m(\"overflow\"),a*=p;E=x(y-o,t=h.length+1,0==o),d(y/t)>u-v&&m(\"overflow\"),v+=d(y/t),y%=t,h.splice(y++,0,v)}return b(h)}function C(e){var t,n,r,i,o,a,s,c,l,p,f,g,y,b,D,C=[];for(g=(e=v(e)).length,t=128,n=0,o=72,a=0;a<g;++a)(f=e[a])<128&&C.push(h(f));for(r=i=C.length,i&&C.push(\"-\");r<g;){for(s=u,a=0;a<g;++a)(f=e[a])>=t&&f<s&&(s=f);for(s-t>d((u-n)/(y=r+1))&&m(\"overflow\"),n+=(s-t)*y,t=s,a=0;a<g;++a)if((f=e[a])<t&&++n>u&&m(\"overflow\"),f==t){for(c=n,l=36;!(c<(p=l<=o?1:l>=o+26?26:l-o));l+=36)D=c-p,b=36-p,C.push(h(E(p+D%b,0))),c=d(D/b);C.push(h(E(c,0))),o=x(n,y,r==i),n=0,++r}++n,++t}return C.join(\"\")}s={version:\"1.4.1\",ucs2:{decode:v,encode:b},decode:D,encode:C,toASCII:function(e){return y(e,(function(e){return l.test(e)?\"xn--\"+C(e):e}))},toUnicode:function(e){return y(e,(function(e){return c.test(e)?D(e.slice(4).toLowerCase()):e}))}},void 0===(i=function(){return s}.call(t,n,t,e))||(e.exports=i)}()}).call(this,n(161)(e),n(43))},function(e,t,n){\"use strict\";(function(e){Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(373);t.default=function(t,i,o){var a,s,u;n(16).on(i,\"select\",(function(n,i){if(!a){var c=i.parentNode,l=c.parentNode;a=document.createElement(\"div\"),l.appendChild(a);var p=c.style.top,f=\"\",d=t.cursorCoords().top;parseInt(p,10)<d&&(p=\"\",f=window.innerHeight-d+3+\"px\"),a.className=\"CodeMirror-hints-wrapper\",a.style.left=c.style.left,a.style.top=p,a.style.bottom=f,c.style.left=\"\",c.style.top=\"\",(s=document.createElement(\"div\")).className=\"CodeMirror-hint-information\",(u=document.createElement(\"div\")).className=\"CodeMirror-hint-deprecation\",f?(a.appendChild(u),a.appendChild(s),a.appendChild(c)):(a.appendChild(c),a.appendChild(s),a.appendChild(u));var h,m=a.clientHeight,g=parseFloat(String(p).replace(\"px\",\"\")),y=g;m+g>window.innerHeight&&(y=window.innerHeight-40-m),a.style.top=y+\"px\",e.wrapper=a,a.addEventListener(\"DOMNodeRemoved\",h=function(e){e.target===c&&(a.removeEventListener(\"DOMNodeRemoved\",h),a.parentNode.removeChild(a),a=null,s=null,h=null)})}var v=n.description?r(n.description,{sanitize:!0}):\"\",b=n.type&&\"undefined\"!==n.type?'<span class=\"infoType\">'+function(e){return'<a class=\"typeName\">'+e+\"</a>\"}(n.type)+\"</span>\":\"\";if(s.innerHTML='<div class=\"content\">'+(\"<p>\"===v.slice(0,3)?\"<p>\"+b+v.slice(3):b+v)+\"</div>\",n.isDeprecated){var E=n.deprecationReason?r(n.deprecationReason,{sanitize:!0}):\"\";u.innerHTML='<span class=\"deprecation-label\">Deprecated</span>'+E,u.style.display=\"block\"}else u.style.display=\"none\";o&&o(s)}))}}).call(this,n(43))},function(e,t,n){const{noopTest:r,edit:i,merge:o}=n(76),a={newline:/^\\n+/,code:/^( {4}[^\\n]+\\n*)+/,fences:/^ {0,3}(`{3,}(?=[^`\\n]*\\n)|~{3,})([^\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?:\\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,heading:/^ {0,3}(#{1,6}) +([^\\n]*?)(?: +#+)? *(?:\\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,list:/^( {0,3})(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,html:\"^ {0,3}(?:<(script|pre|style)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)|comment[^\\\\n]*(\\\\n+|$)|<\\\\?[\\\\s\\\\S]*?\\\\?>\\\\n*|<![A-Z][\\\\s\\\\S]*?>\\\\n*|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>\\\\n*|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)|<(?!script|pre|style)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)|</(?!script|pre|style)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$))\",def:/^ {0,3}\\[(label)\\]: *\\n? *<?([^\\s>]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,nptable:r,table:r,lheading:/^([^\\n]+)\\n {0,3}(=+|-+) *(?:\\n+|$)/,_paragraph:/^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\\n]+)*)/,text:/^[^\\n]+/,_label:/(?!\\s*\\])(?:\\\\[\\[\\]]|[^\\[\\]])+/,_title:/(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/};a.def=i(a.def).replace(\"label\",a._label).replace(\"title\",a._title).getRegex(),a.bullet=/(?:[*+-]|\\d{1,9}\\.)/,a.item=/^( *)(bull) ?[^\\n]*(?:\\n(?!\\1bull ?)[^\\n]*)*/,a.item=i(a.item,\"gm\").replace(/bull/g,a.bullet).getRegex(),a.list=i(a.list).replace(/bull/g,a.bullet).replace(\"hr\",\"\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))\").replace(\"def\",\"\\\\n+(?=\"+a.def.source+\")\").getRegex(),a._tag=\"address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul\",a._comment=/<!--(?!-?>)[\\s\\S]*?-->/,a.html=i(a.html,\"i\").replace(\"comment\",a._comment).replace(\"tag\",a._tag).replace(\"attribute\",/ +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex(),a.paragraph=i(a._paragraph).replace(\"hr\",a.hr).replace(\"heading\",\" {0,3}#{1,6} \").replace(\"|lheading\",\"\").replace(\"blockquote\",\" {0,3}>\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\",\"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|!--)\").replace(\"tag\",a._tag).getRegex(),a.blockquote=i(a.blockquote).replace(\"paragraph\",a.paragraph).getRegex(),a.normal=o({},a),a.gfm=o({},a.normal,{nptable:\"^ *([^|\\\\n ].*\\\\|.*)\\\\n *([-:]+ *\\\\|[-| :]*)(?:\\\\n((?:(?!\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)\",table:\"^ *\\\\|(.+)\\\\n *\\\\|?( *[-:]+[-| :]*)(?:\\\\n *((?:(?!\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)\"}),a.gfm.nptable=i(a.gfm.nptable).replace(\"hr\",a.hr).replace(\"heading\",\" {0,3}#{1,6} \").replace(\"blockquote\",\" {0,3}>\").replace(\"code\",\" {4}[^\\\\n]\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\",\"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|!--)\").replace(\"tag\",a._tag).getRegex(),a.gfm.table=i(a.gfm.table).replace(\"hr\",a.hr).replace(\"heading\",\" {0,3}#{1,6} \").replace(\"blockquote\",\" {0,3}>\").replace(\"code\",\" {4}[^\\\\n]\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\",\"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|!--)\").replace(\"tag\",a._tag).getRegex(),a.pedantic=o({},a.normal,{html:i(\"^ *(?:comment *(?:\\\\n|\\\\s*$)|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)|<tag(?:\\\"[^\\\"]*\\\"|'[^']*'|\\\\s[^'\\\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))\").replace(\"comment\",a._comment).replace(/tag/g,\"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b\").getRegex(),def:/^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,heading:/^ *(#{1,6}) *([^\\n]+?) *(?:#+ *)?(?:\\n+|$)/,fences:r,paragraph:i(a.normal._paragraph).replace(\"hr\",a.hr).replace(\"heading\",\" *#{1,6} *[^\\n]\").replace(\"lheading\",a.lheading).replace(\"blockquote\",\" {0,3}>\").replace(\"|fences\",\"\").replace(\"|list\",\"\").replace(\"|html\",\"\").getRegex()});const s={escape:/^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,autolink:/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,url:r,tag:\"^comment|^</[a-zA-Z][\\\\w:-]*\\\\s*>|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>|^<\\\\?[\\\\s\\\\S]*?\\\\?>|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>\",link:/^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/,reflink:/^!?\\[(label)\\]\\[(?!\\s*\\])((?:\\\\[\\[\\]]?|[^\\[\\]\\\\])+)\\]/,nolink:/^!?\\[(?!\\s*\\])((?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]])*)\\](?:\\[\\])?/,strong:/^__([^\\s_])__(?!_)|^\\*\\*([^\\s*])\\*\\*(?!\\*)|^__([^\\s][\\s\\S]*?[^\\s])__(?!_)|^\\*\\*([^\\s][\\s\\S]*?[^\\s])\\*\\*(?!\\*)/,em:/^_([^\\s_])_(?!_)|^\\*([^\\s*<\\[])\\*(?!\\*)|^_([^\\s<][\\s\\S]*?[^\\s_])_(?!_|[^\\spunctuation])|^_([^\\s_<][\\s\\S]*?[^\\s])_(?!_|[^\\spunctuation])|^\\*([^\\s<\"][\\s\\S]*?[^\\s\\*])\\*(?!\\*|[^\\spunctuation])|^\\*([^\\s*\"<\\[][\\s\\S]*?[^\\s])\\*(?!\\*)/,code:/^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,br:/^( {2,}|\\\\)\\n(?!\\s*$)/,del:r,text:/^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\<!\\[`*]|\\b_|$)|[^ ](?= {2,}\\n))|(?= {2,}\\n))/,_punctuation:\"!\\\"#$%&'()*+,\\\\-./:;<=>?@\\\\[^_{|}~\"};s.em=i(s.em).replace(/punctuation/g,s._punctuation).getRegex(),s._escapes=/\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g,s._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,s._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,s.autolink=i(s.autolink).replace(\"scheme\",s._scheme).replace(\"email\",s._email).getRegex(),s._attribute=/\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/,s.tag=i(s.tag).replace(\"comment\",a._comment).replace(\"attribute\",s._attribute).getRegex(),s._label=/(?:\\[[^\\[\\]]*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/,s._href=/<(?:\\\\[<>]?|[^\\s<>\\\\])*>|[^\\s\\x00-\\x1f]*/,s._title=/\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/,s.link=i(s.link).replace(\"label\",s._label).replace(\"href\",s._href).replace(\"title\",s._title).getRegex(),s.reflink=i(s.reflink).replace(\"label\",s._label).getRegex(),s.normal=o({},s),s.pedantic=o({},s.normal,{strong:/^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,em:/^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/,link:i(/^!?\\[(label)\\]\\((.*?)\\)/).replace(\"label\",s._label).getRegex(),reflink:i(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/).replace(\"label\",s._label).getRegex()}),s.gfm=o({},s.normal,{escape:i(s.escape).replace(\"])\",\"~|])\").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~+(?=\\S)([\\s\\S]*?\\S)~+/,text:/^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\<!\\[`*~]|\\b_|https?:\\/\\/|ftp:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@))|(?= {2,}\\n|[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@))/}),s.gfm.url=i(s.gfm.url,\"i\").replace(\"email\",s.gfm._extended_email).getRegex(),s.breaks=o({},s.gfm,{br:i(s.br).replace(\"{2,}\",\"*\").getRegex(),text:i(s.gfm.text).replace(\"\\\\b_\",\"\\\\b_| {2,}\\\\n\").replace(/\\{2,\\}/g,\"*\").getRegex()}),e.exports={block:a,inline:s}},function(e,t){e.exports=class{constructor(){this.seen={}}slug(e){let t=e.toLowerCase().trim().replace(/<[!\\/a-z].*?>/gi,\"\").replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g,\"\").replace(/\\s/g,\"-\");if(this.seen.hasOwnProperty(t)){const e=t;do{this.seen[e]++,t=e+\"-\"+this.seen[e]}while(this.seen.hasOwnProperty(t))}return this.seen[t]=0,t}}},function(e,t,n){const r=n(124),{defaults:i}=n(90),{inline:o}=n(181),{findClosingBracket:a,escape:s}=n(76);e.exports=class e{constructor(e,t){if(this.options=t||i,this.links=e,this.rules=o.normal,this.options.renderer=this.options.renderer||new r,this.renderer=this.options.renderer,this.renderer.options=this.options,!this.links)throw new Error(\"Tokens array requires a `links` property.\");this.options.pedantic?this.rules=o.pedantic:this.options.gfm&&(this.options.breaks?this.rules=o.breaks:this.rules=o.gfm)}static get rules(){return o}static output(t,n,r){return new e(n,r).output(t)}output(t){let n,r,i,o,u,c,l=\"\";for(;t;)if(u=this.rules.escape.exec(t))t=t.substring(u[0].length),l+=s(u[1]);else if(u=this.rules.tag.exec(t))!this.inLink&&/^<a /i.test(u[0])?this.inLink=!0:this.inLink&&/^<\\/a>/i.test(u[0])&&(this.inLink=!1),!this.inRawBlock&&/^<(pre|code|kbd|script)(\\s|>)/i.test(u[0])?this.inRawBlock=!0:this.inRawBlock&&/^<\\/(pre|code|kbd|script)(\\s|>)/i.test(u[0])&&(this.inRawBlock=!1),t=t.substring(u[0].length),l+=this.renderer.html(this.options.sanitize?this.options.sanitizer?this.options.sanitizer(u[0]):s(u[0]):u[0]);else if(u=this.rules.link.exec(t)){const r=a(u[2],\"()\");if(r>-1){const e=(0===u[0].indexOf(\"!\")?5:4)+u[1].length+r;u[2]=u[2].substring(0,r),u[0]=u[0].substring(0,e).trim(),u[3]=\"\"}t=t.substring(u[0].length),this.inLink=!0,i=u[2],this.options.pedantic?(n=/^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(i),n?(i=n[1],o=n[3]):o=\"\"):o=u[3]?u[3].slice(1,-1):\"\",i=i.trim().replace(/^<([\\s\\S]*)>$/,\"$1\"),l+=this.outputLink(u,{href:e.escapes(i),title:e.escapes(o)}),this.inLink=!1}else if((u=this.rules.reflink.exec(t))||(u=this.rules.nolink.exec(t))){if(t=t.substring(u[0].length),n=(u[2]||u[1]).replace(/\\s+/g,\" \"),n=this.links[n.toLowerCase()],!n||!n.href){l+=u[0].charAt(0),t=u[0].substring(1)+t;continue}this.inLink=!0,l+=this.outputLink(u,n),this.inLink=!1}else if(u=this.rules.strong.exec(t))t=t.substring(u[0].length),l+=this.renderer.strong(this.output(u[4]||u[3]||u[2]||u[1]));else if(u=this.rules.em.exec(t))t=t.substring(u[0].length),l+=this.renderer.em(this.output(u[6]||u[5]||u[4]||u[3]||u[2]||u[1]));else if(u=this.rules.code.exec(t))t=t.substring(u[0].length),l+=this.renderer.codespan(s(u[2].trim(),!0));else if(u=this.rules.br.exec(t))t=t.substring(u[0].length),l+=this.renderer.br();else if(u=this.rules.del.exec(t))t=t.substring(u[0].length),l+=this.renderer.del(this.output(u[1]));else if(u=this.rules.autolink.exec(t))t=t.substring(u[0].length),\"@\"===u[2]?(r=s(this.mangle(u[1])),i=\"mailto:\"+r):(r=s(u[1]),i=r),l+=this.renderer.link(i,null,r);else if(this.inLink||!(u=this.rules.url.exec(t))){if(u=this.rules.text.exec(t))t=t.substring(u[0].length),this.inRawBlock?l+=this.renderer.text(this.options.sanitize?this.options.sanitizer?this.options.sanitizer(u[0]):s(u[0]):u[0]):l+=this.renderer.text(s(this.smartypants(u[0])));else if(t)throw new Error(\"Infinite loop on byte: \"+t.charCodeAt(0))}else{if(\"@\"===u[2])r=s(u[0]),i=\"mailto:\"+r;else{do{c=u[0],u[0]=this.rules._backpedal.exec(u[0])[0]}while(c!==u[0]);r=s(u[0]),i=\"www.\"===u[1]?\"http://\"+r:r}t=t.substring(u[0].length),l+=this.renderer.link(i,null,r)}return l}static escapes(t){return t?t.replace(e.rules._escapes,\"$1\"):t}outputLink(e,t){const n=t.href,r=t.title?s(t.title):null;return\"!\"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,s(e[1]))}smartypants(e){return this.options.smartypants?e.replace(/---/g,\"—\").replace(/--/g,\"–\").replace(/(^|[-\\u2014/(\\[{\"\\s])'/g,\"$1‘\").replace(/'/g,\"’\").replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g,\"$1“\").replace(/\"/g,\"”\").replace(/\\.{3}/g,\"…\"):e}mangle(e){if(!this.options.mangle)return e;const t=e.length;let n,r=\"\",i=0;for(;i<t;i++)n=e.charCodeAt(i),Math.random()>.5&&(n=\"x\"+n.toString(16)),r+=\"&#\"+n+\";\";return r}}},function(e,t){e.exports=class{strong(e){return e}em(e){return e}codespan(e){return e}del(e){return e}html(e){return e}text(e){return e}link(e,t,n){return\"\"+n}image(e,t,n){return\"\"+n}br(){return\"\"}}},function(e,t,n){!function(e){\"use strict\";var t={},n=/[^\\s\\u00a0]/,r=e.Pos,i=e.cmpPos;function o(e){var t=e.search(n);return-1==t?0:t}function a(e,t){var n=e.getMode();return!1!==n.useInnerComments&&n.innerMode?e.getModeAt(t):n}e.commands.toggleComment=function(e){e.toggleComment()},e.defineExtension(\"toggleComment\",(function(e){e||(e=t);for(var n=1/0,i=this.listSelections(),o=null,a=i.length-1;a>=0;a--){var s=i[a].from(),u=i[a].to();s.line>=n||(u.line>=n&&(u=r(n,0)),n=s.line,null==o?this.uncomment(s,u,e)?o=\"un\":(this.lineComment(s,u,e),o=\"line\"):\"un\"==o?this.uncomment(s,u,e):this.lineComment(s,u,e))}})),e.defineExtension(\"lineComment\",(function(e,i,s){s||(s=t);var u=this,c=a(u,e),l=u.getLine(e.line);if(null!=l&&(p=e,f=l,!/\\bstring\\b/.test(u.getTokenTypeAt(r(p.line,0)))||/^[\\'\\\"\\`]/.test(f))){var p,f,d=s.lineComment||c.lineComment;if(d){var h=Math.min(0!=i.ch||i.line==e.line?i.line+1:i.line,u.lastLine()+1),m=null==s.padding?\" \":s.padding,g=s.commentBlankLines||e.line==i.line;u.operation((function(){if(s.indent){for(var t=null,i=e.line;i<h;++i){var a=(c=u.getLine(i)).slice(0,o(c));(null==t||t.length>a.length)&&(t=a)}for(i=e.line;i<h;++i){var c=u.getLine(i),l=t.length;(g||n.test(c))&&(c.slice(0,l)!=t&&(l=o(c)),u.replaceRange(t+d+m,r(i,0),r(i,l)))}}else for(i=e.line;i<h;++i)(g||n.test(u.getLine(i)))&&u.replaceRange(d+m,r(i,0))}))}else(s.blockCommentStart||c.blockCommentStart)&&(s.fullLines=!0,u.blockComment(e,i,s))}})),e.defineExtension(\"blockComment\",(function(e,o,s){s||(s=t);var u=this,c=a(u,e),l=s.blockCommentStart||c.blockCommentStart,p=s.blockCommentEnd||c.blockCommentEnd;if(l&&p){if(!/\\bcomment\\b/.test(u.getTokenTypeAt(r(e.line,0)))){var f=Math.min(o.line,u.lastLine());f!=e.line&&0==o.ch&&n.test(u.getLine(f))&&--f;var d=null==s.padding?\" \":s.padding;e.line>f||u.operation((function(){if(0!=s.fullLines){var t=n.test(u.getLine(f));u.replaceRange(d+p,r(f)),u.replaceRange(l+d,r(e.line,0));var a=s.blockCommentLead||c.blockCommentLead;if(null!=a)for(var h=e.line+1;h<=f;++h)(h!=f||t)&&u.replaceRange(a+d,r(h,0))}else{var m=0==i(u.getCursor(\"to\"),o),g=!u.somethingSelected();u.replaceRange(p,o),m&&u.setSelection(g?o:u.getCursor(\"from\"),o),u.replaceRange(l,e)}}))}}else(s.lineComment||c.lineComment)&&0!=s.fullLines&&u.lineComment(e,o,s)})),e.defineExtension(\"uncomment\",(function(e,i,o){o||(o=t);var s,u=this,c=a(u,e),l=Math.min(0!=i.ch||i.line==e.line?i.line:i.line-1,u.lastLine()),p=Math.min(e.line,l),f=o.lineComment||c.lineComment,d=[],h=null==o.padding?\" \":o.padding;e:if(f){for(var m=p;m<=l;++m){var g=u.getLine(m),y=g.indexOf(f);if(y>-1&&!/comment/.test(u.getTokenTypeAt(r(m,y+1)))&&(y=-1),-1==y&&n.test(g))break e;if(y>-1&&n.test(g.slice(0,y)))break e;d.push(g)}if(u.operation((function(){for(var e=p;e<=l;++e){var t=d[e-p],n=t.indexOf(f),i=n+f.length;n<0||(t.slice(i,i+h.length)==h&&(i+=h.length),s=!0,u.replaceRange(\"\",r(e,n),r(e,i)))}})),s)return!0}var v=o.blockCommentStart||c.blockCommentStart,b=o.blockCommentEnd||c.blockCommentEnd;if(!v||!b)return!1;var E=o.blockCommentLead||c.blockCommentLead,x=u.getLine(p),D=x.indexOf(v);if(-1==D)return!1;var C=l==p?x:u.getLine(l),w=C.indexOf(b,l==p?D+v.length:0),S=r(p,D+1),k=r(l,w+1);if(-1==w||!/comment/.test(u.getTokenTypeAt(S))||!/comment/.test(u.getTokenTypeAt(k))||u.getRange(S,k,\"\\n\").indexOf(b)>-1)return!1;var A=x.lastIndexOf(v,e.ch),T=-1==A?-1:x.slice(0,e.ch).indexOf(b,A+v.length);if(-1!=A&&-1!=T&&T+b.length!=e.ch)return!1;T=C.indexOf(b,i.ch);var _=C.slice(i.ch).lastIndexOf(v,T-i.ch);return A=-1==T||-1==_?-1:i.ch+_,(-1==T||-1==A||A==i.ch)&&(u.operation((function(){u.replaceRange(\"\",r(l,w-(h&&C.slice(w-h.length,w)==h?h.length:0)),r(l,w+b.length));var e=D+v.length;if(h&&x.slice(e,e+h.length)==h&&(e+=h.length),u.replaceRange(\"\",r(p,D),r(p,e)),E)for(var t=p+1;t<=l;++t){var i=u.getLine(t),o=i.indexOf(E);if(-1!=o&&!n.test(i.slice(0,o))){var a=o+E.length;h&&i.slice(a,a+h.length)==h&&(a+=h.length),u.replaceRange(\"\",r(t,o),r(t,a))}}})),!0)}))}(n(16))},function(e,t,n){!function(e){\"use strict\";function t(){this.posFrom=this.posTo=this.lastQuery=this.query=null,this.overlay=null}function n(e){return e.state.search||(e.state.search=new t)}function r(e){return\"string\"==typeof e&&e==e.toLowerCase()}function i(e,t,n){return e.getSearchCursor(t,n,{caseFold:r(t),multiline:!0})}function o(e,t,n,r,i){e.openDialog?e.openDialog(t,i,{value:r,selectValueOnOpen:!0}):i(prompt(n,r))}function a(e){return e.replace(/\\\\([nrt\\\\])/g,(function(e,t){return\"n\"==t?\"\\n\":\"r\"==t?\"\\r\":\"t\"==t?\"\\t\":\"\\\\\"==t?\"\\\\\":e}))}function s(e){var t=e.match(/^\\/(.*)\\/([a-z]*)$/);if(t)try{e=new RegExp(t[1],-1==t[2].indexOf(\"i\")?\"\":\"i\")}catch(e){}else e=a(e);return(\"string\"==typeof e?\"\"==e:e.test(\"\"))&&(e=/x^/),e}function u(e,t,n){t.queryText=n,t.query=s(n),e.removeOverlay(t.overlay,r(t.query)),t.overlay=function(e,t){return\"string\"==typeof e?e=new RegExp(e.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g,\"\\\\$&\"),t?\"gi\":\"g\"):e.global||(e=new RegExp(e.source,e.ignoreCase?\"gi\":\"g\")),{token:function(t){e.lastIndex=t.pos;var n=e.exec(t.string);if(n&&n.index==t.pos)return t.pos+=n[0].length||1,\"searching\";n?t.pos=n.index:t.skipToEnd()}}}(t.query,r(t.query)),e.addOverlay(t.overlay),e.showMatchesOnScrollbar&&(t.annotate&&(t.annotate.clear(),t.annotate=null),t.annotate=e.showMatchesOnScrollbar(t.query,r(t.query)))}function c(t,r,i,a){var s=n(t);if(s.query)return l(t,r);var c=t.getSelection()||s.lastQuery;if(c instanceof RegExp&&\"x^\"==c.source&&(c=null),i&&t.openDialog){var d=null,h=function(n,r){e.e_stop(r),n&&(n!=s.queryText&&(u(t,s,n),s.posFrom=s.posTo=t.getCursor()),d&&(d.style.opacity=1),l(t,r.shiftKey,(function(e,n){var r;n.line<3&&document.querySelector&&(r=t.display.wrapper.querySelector(\".CodeMirror-dialog\"))&&r.getBoundingClientRect().bottom-4>t.cursorCoords(n,\"window\").top&&((d=r).style.opacity=.4)})))};!function(e,t,n,r,i){e.openDialog(t,r,{value:n,selectValueOnOpen:!0,closeOnEnter:!1,onClose:function(){p(e)},onKeyDown:i})}(t,f(t),c,h,(function(r,i){var o=e.keyName(r),a=t.getOption(\"extraKeys\"),s=a&&a[o]||e.keyMap[t.getOption(\"keyMap\")][o];\"findNext\"==s||\"findPrev\"==s||\"findPersistentNext\"==s||\"findPersistentPrev\"==s?(e.e_stop(r),u(t,n(t),i),t.execCommand(s)):\"find\"!=s&&\"findPersistent\"!=s||(e.e_stop(r),h(i,r))})),a&&c&&(u(t,s,c),l(t,r))}else o(t,f(t),\"Search for:\",c,(function(e){e&&!s.query&&t.operation((function(){u(t,s,e),s.posFrom=s.posTo=t.getCursor(),l(t,r)}))}))}function l(t,r,o){t.operation((function(){var a=n(t),s=i(t,a.query,r?a.posFrom:a.posTo);(s.find(r)||(s=i(t,a.query,r?e.Pos(t.lastLine()):e.Pos(t.firstLine(),0))).find(r))&&(t.setSelection(s.from(),s.to()),t.scrollIntoView({from:s.from(),to:s.to()},20),a.posFrom=s.from(),a.posTo=s.to(),o&&o(s.from(),s.to()))}))}function p(e){e.operation((function(){var t=n(e);t.lastQuery=t.query,t.query&&(t.query=t.queryText=null,e.removeOverlay(t.overlay),t.annotate&&(t.annotate.clear(),t.annotate=null))}))}function f(e){return'<span class=\"CodeMirror-search-label\">'+e.phrase(\"Search:\")+'</span> <input type=\"text\" style=\"width: 10em\" class=\"CodeMirror-search-field\"/> <span style=\"color: #888\" class=\"CodeMirror-search-hint\">'+e.phrase(\"(Use /re/ syntax for regexp search)\")+\"</span>\"}function d(e,t,n){e.operation((function(){for(var r=i(e,t);r.findNext();)if(\"string\"!=typeof t){var o=e.getRange(r.from(),r.to()).match(t);r.replace(n.replace(/\\$(\\d)/g,(function(e,t){return o[t]})))}else r.replace(n)}))}function h(e,t){if(!e.getOption(\"readOnly\")){var r=e.getSelection()||n(e).lastQuery,u='<span class=\"CodeMirror-search-label\">'+(t?e.phrase(\"Replace all:\"):e.phrase(\"Replace:\"))+\"</span>\";o(e,u+function(e){return' <input type=\"text\" style=\"width: 10em\" class=\"CodeMirror-search-field\"/> <span style=\"color: #888\" class=\"CodeMirror-search-hint\">'+e.phrase(\"(Use /re/ syntax for regexp search)\")+\"</span>\"}(e),u,r,(function(n){n&&(n=s(n),o(e,function(e){return'<span class=\"CodeMirror-search-label\">'+e.phrase(\"With:\")+'</span> <input type=\"text\" style=\"width: 10em\" class=\"CodeMirror-search-field\"/>'}(e),e.phrase(\"Replace with:\"),\"\",(function(r){if(r=a(r),t)d(e,n,r);else{p(e);var o=i(e,n,e.getCursor(\"from\")),s=function(){var t,a=o.from();!(t=o.findNext())&&(o=i(e,n),!(t=o.findNext())||a&&o.from().line==a.line&&o.from().ch==a.ch)||(e.setSelection(o.from(),o.to()),e.scrollIntoView({from:o.from(),to:o.to()}),function(e,t,n,r){e.openConfirm?e.openConfirm(t,r):confirm(n)&&r[0]()}(e,function(e){return'<span class=\"CodeMirror-search-label\">'+e.phrase(\"Replace?\")+\"</span> <button>\"+e.phrase(\"Yes\")+\"</button> <button>\"+e.phrase(\"No\")+\"</button> <button>\"+e.phrase(\"All\")+\"</button> <button>\"+e.phrase(\"Stop\")+\"</button> \"}(e),e.phrase(\"Replace?\"),[function(){u(t)},s,function(){d(e,n,r)}]))},u=function(e){o.replace(\"string\"==typeof n?r:r.replace(/\\$(\\d)/g,(function(t,n){return e[n]}))),s()};s()}})))}))}}e.commands.find=function(e){p(e),c(e)},e.commands.findPersistent=function(e){p(e),c(e,!1,!0)},e.commands.findPersistentNext=function(e){c(e,!1,!0,!0)},e.commands.findPersistentPrev=function(e){c(e,!0,!0,!0)},e.commands.findNext=c,e.commands.findPrev=function(e){c(e,!0)},e.commands.clearSearch=p,e.commands.replace=h,e.commands.replaceAll=function(e){h(e,!0)}}(n(16),n(70),n(71))},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t){const n={schema:e,type:null,parentType:null,inputType:null,directiveDef:null,fieldDef:null,argDef:null,argDefs:null,objectFieldDefs:null};return(0,a.default)(t,t=>{switch(t.kind){case\"Query\":case\"ShortQuery\":n.type=e.getQueryType();break;case\"Mutation\":n.type=e.getMutationType();break;case\"Subscription\":n.type=e.getSubscriptionType();break;case\"InlineFragment\":case\"FragmentDefinition\":t.type&&(n.type=e.getType(t.type));break;case\"Field\":case\"AliasedField\":n.fieldDef=n.type&&t.name?s(e,n.parentType,t.name):null,n.type=n.fieldDef&&n.fieldDef.type;break;case\"SelectionSet\":n.parentType=(0,i.getNamedType)(n.type);break;case\"Directive\":n.directiveDef=t.name&&e.getDirective(t.name);break;case\"Arguments\":const r=\"Field\"===t.prevState.kind?n.fieldDef:\"Directive\"===t.prevState.kind?n.directiveDef:\"AliasedField\"===t.prevState.kind?t.prevState.name&&s(e,n.parentType,t.prevState.name):null;n.argDefs=r&&r.args;break;case\"Argument\":if(n.argDef=null,n.argDefs)for(let e=0;e<n.argDefs.length;e++)if(n.argDefs[e].name===t.name){n.argDef=n.argDefs[e];break}n.inputType=n.argDef&&n.argDef.type;break;case\"EnumValue\":const o=(0,i.getNamedType)(n.inputType);n.enumValue=o instanceof i.GraphQLEnumType?function(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return e[n]}(o.getValues(),e=>e.value===t.name):null;break;case\"ListValue\":const a=(0,i.getNullableType)(n.inputType);n.inputType=a instanceof i.GraphQLList?a.ofType:null;break;case\"ObjectValue\":const u=(0,i.getNamedType)(n.inputType);n.objectFieldDefs=u instanceof i.GraphQLInputObjectType?u.getFields():null;break;case\"ObjectField\":const c=t.name&&n.objectFieldDefs?n.objectFieldDefs[t.name]:null;n.inputType=c&&c.type;break;case\"NamedType\":n.type=e.getType(t.name)}}),n};var r,i=n(20),o=n(12),a=(r=n(188))&&r.__esModule?r:{default:r};function s(e,t,n){return n===o.SchemaMetaFieldDef.name&&e.getQueryType()===t?o.SchemaMetaFieldDef:n===o.TypeMetaFieldDef.name&&e.getQueryType()===t?o.TypeMetaFieldDef:n===o.TypeNameMetaFieldDef.name&&(0,i.isCompositeType)(t)?o.TypeNameMetaFieldDef:t.getFields?t.getFields()[n]:void 0}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t){const n=[];let r=e;for(;r&&r.kind;)n.push(r),r=r.prevState;for(let e=n.length-1;e>=0;e--)t(n[e])}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.getFieldReference=function(e){return{kind:\"Field\",schema:e.schema,field:e.fieldDef,type:i(e.fieldDef)?null:e.parentType}},t.getDirectiveReference=function(e){return{kind:\"Directive\",schema:e.schema,directive:e.directiveDef}},t.getArgumentReference=function(e){return e.directiveDef?{kind:\"Argument\",schema:e.schema,argument:e.argDef,directive:e.directiveDef}:{kind:\"Argument\",schema:e.schema,argument:e.argDef,field:e.fieldDef,type:i(e.fieldDef)?null:e.parentType}},t.getEnumValueReference=function(e){return{kind:\"EnumValue\",value:e.enumValue,type:(0,r.getNamedType)(e.inputType)}},t.getTypeReference=function(e,t){return{kind:\"Type\",schema:e.schema,type:t||e.type}};var r=n(20);function i(e){return\"__\"===e.name.slice(0,2)}},function(e,t,n){\"use strict\";var r,i=(r=n(16))&&r.__esModule?r:{default:r},o=n(135);function a(e,t){const n=e.levels;return(n&&0!==n.length?n[n.length-1]-(this.electricInput.test(t)?1:0):e.indentLevel)*this.config.indentUnit}i.default.defineMode(\"graphql\",e=>{const t=(0,o.onlineParser)({eatWhitespace:e=>e.eatWhile(o.isIgnored),lexRules:o.LexRules,parseRules:o.ParseRules,editorConfig:{tabSize:e.tabSize}});return{config:e,startState:t.startState,token:t.token,indent:a,electricInput:/^\\s*[})\\]]/,fold:\"brace\",lineComment:\"#\",closeBrackets:{pairs:'()[]{}\"\"',explode:\"()[]{}\"}}})},function(e,t,n){\"use strict\";var r=n(388),i={\"text/plain\":\"Text\",\"text/html\":\"Url\",default:\"Text\"};e.exports=function(e,t){var n,o,a,s,u,c,l=!1;t||(t={}),n=t.debug||!1;try{if(a=r(),s=document.createRange(),u=document.getSelection(),(c=document.createElement(\"span\")).textContent=e,c.style.all=\"unset\",c.style.position=\"fixed\",c.style.top=0,c.style.clip=\"rect(0, 0, 0, 0)\",c.style.whiteSpace=\"pre\",c.style.webkitUserSelect=\"text\",c.style.MozUserSelect=\"text\",c.style.msUserSelect=\"text\",c.style.userSelect=\"text\",c.addEventListener(\"copy\",(function(r){if(r.stopPropagation(),t.format)if(r.preventDefault(),void 0===r.clipboardData){n&&console.warn(\"unable to use e.clipboardData\"),n&&console.warn(\"trying IE specific stuff\"),window.clipboardData.clearData();var o=i[t.format]||i.default;window.clipboardData.setData(o,e)}else r.clipboardData.clearData(),r.clipboardData.setData(t.format,e);t.onCopy&&(r.preventDefault(),t.onCopy(r.clipboardData))})),document.body.appendChild(c),s.selectNodeContents(c),u.addRange(s),!document.execCommand(\"copy\"))throw new Error(\"copy command was unsuccessful\");l=!0}catch(r){n&&console.error(\"unable to copy using execCommand: \",r),n&&console.warn(\"trying IE specific stuff\");try{window.clipboardData.setData(t.format||\"text\",e),t.onCopy&&t.onCopy(window.clipboardData),l=!0}catch(r){n&&console.error(\"unable to copy using clipboardData: \",r),n&&console.error(\"falling back to prompt\"),o=function(e){var t=(/mac os x/i.test(navigator.userAgent)?\"⌘\":\"Ctrl\")+\"+C\";return e.replace(/#{\\s*key\\s*}/g,t)}(\"message\"in t?t.message:\"Copy to clipboard: #{key}, Enter\"),window.prompt(o,e)}}finally{u&&(\"function\"==typeof u.removeRange?u.removeRange(s):u.removeAllRanges()),c&&document.body.removeChild(c),a()}return l}},function(e,t,n){\"use strict\";var r=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var i,o=n(11);t.default=o.styled.div(i||(i=r([\"\\n  width: 20px;\\n  height: 20px;\\n\"],[\"\\n  width: 20px;\\n  height: 20px;\\n\"])))},function(e,t,n){\"use strict\";var r=s(n(16)),i=n(20),o=s(n(188)),a=s(n(401));function s(e){return e&&e.__esModule?e:{default:e}}r.default.registerHelper(\"hint\",\"graphql-variables\",(e,t)=>{const n=e.getCursor(),s=e.getTokenAt(n),u=function(e,t,n){const r=\"Invalid\"===t.state.kind?t.state.prevState:t.state,s=r.kind,u=r.step;if(\"Document\"===s&&0===u)return(0,a.default)(e,t,[{text:\"{\"}]);const c=n.variableToType;if(!c)return;const l=function(e,t){const n={type:null,fields:null};return(0,o.default)(t,t=>{if(\"Variable\"===t.kind)n.type=e[t.name];else if(\"ListValue\"===t.kind){const e=(0,i.getNullableType)(n.type);n.type=e instanceof i.GraphQLList?e.ofType:null}else if(\"ObjectValue\"===t.kind){const e=(0,i.getNamedType)(n.type);n.fields=e instanceof i.GraphQLInputObjectType?e.getFields():null}else if(\"ObjectField\"===t.kind){const e=t.name&&n.fields?n.fields[t.name]:null;n.type=e&&e.type}}),n}(c,t.state);if(\"Document\"===s||\"Variable\"===s&&0===u){const n=Object.keys(c);return(0,a.default)(e,t,n.map(e=>({text:'\"'.concat(e,'\": '),type:c[e]})))}if((\"ObjectValue\"===s||\"ObjectField\"===s&&0===u)&&l.fields){const n=Object.keys(l.fields).map(e=>l.fields[e]);return(0,a.default)(e,t,n.map(e=>({text:'\"'.concat(e.name,'\": '),type:e.type,description:e.description})))}if(\"StringValue\"===s||\"NumberValue\"===s||\"BooleanValue\"===s||\"NullValue\"===s||\"ListValue\"===s&&1===u||\"ObjectField\"===s&&2===u||\"Variable\"===s&&2===u){const n=(0,i.getNamedType)(l.type);if(n instanceof i.GraphQLInputObjectType)return(0,a.default)(e,t,[{text:\"{\"}]);if(n instanceof i.GraphQLEnumType){const r=n.getValues(),i=Object.keys(r).map(e=>r[e]);return(0,a.default)(e,t,i.map(e=>({text:'\"'.concat(e.name,'\"'),type:n,description:e.description})))}if(n===i.GraphQLBoolean)return(0,a.default)(e,t,[{text:\"true\",type:i.GraphQLBoolean,description:\"Not false.\"},{text:\"false\",type:i.GraphQLBoolean,description:\"Not true.\"}])}}(n,s,t);return u&&u.list&&u.list.length>0&&(u.from=r.default.Pos(u.from.line,u.from.column),u.to=r.default.Pos(u.to.line,u.to.column),r.default.signal(e,\"hasCompletion\",e,u,s)),u})},function(e,t,n){\"use strict\";var r=a(n(16)),i=n(20),o=a(n(402));function a(e){return e&&e.__esModule?e:{default:e}}function s(e,t,n){return{message:n,severity:\"error\",type:\"validation\",from:e.posFromIndex(t.start),to:e.posFromIndex(t.end)}}function u(e,t){return Array.prototype.concat.apply([],e.map(t))}r.default.registerHelper(\"lint\",\"graphql-variables\",(e,t,n)=>{if(!e)return[];let r;try{r=(0,o.default)(e)}catch(e){if(e.stack)throw e;return[s(n,e,e.message)]}const a=t.variableToType;return a?function(e,t,n){const r=[];return n.members.forEach(n=>{const o=n.key.value,a=t[o];a?function e(t,n){if(t instanceof i.GraphQLNonNull)return\"Null\"===n.kind?[[n,'Type \"'.concat(t,'\" is non-nullable and cannot be null.')]]:e(t.ofType,n);if(\"Null\"===n.kind)return[];if(t instanceof i.GraphQLList){const r=t.ofType;return\"Array\"===n.kind?u(n.values,t=>e(r,t)):e(r,n)}if(t instanceof i.GraphQLInputObjectType){if(\"Object\"!==n.kind)return[[n,'Type \"'.concat(t,'\" must be an Object.')]];const r=Object.create(null),o=u(n.members,n=>{const i=n.key.value;r[i]=!0;const o=t.getFields()[i];if(!o)return[[n.key,'Type \"'.concat(t,'\" does not have a field \"').concat(i,'\".')]];const a=o?o.type:void 0;return e(a,n.value)});return Object.keys(t.getFields()).forEach(e=>{if(!r[e]){t.getFields()[e].type instanceof i.GraphQLNonNull&&o.push([n,'Object of type \"'.concat(t,'\" is missing required field \"').concat(e,'\".')])}}),o}if(\"Boolean\"===t.name&&\"Boolean\"!==n.kind||\"String\"===t.name&&\"String\"!==n.kind||\"ID\"===t.name&&\"Number\"!==n.kind&&\"String\"!==n.kind||\"Float\"===t.name&&\"Number\"!==n.kind||\"Int\"===t.name&&(\"Number\"!==n.kind||(0|n.value)!==n.value))return[[n,'Expected value of type \"'.concat(t,'\".')]];if((t instanceof i.GraphQLEnumType||t instanceof i.GraphQLScalarType)&&(\"String\"!==n.kind&&\"Number\"!==n.kind&&\"Boolean\"!==n.kind&&\"Null\"!==n.kind||(null==(r=t.parseValue(n.value))||r!=r)))return[[n,'Expected value of type \"'.concat(t,'\".')]];var r;return[]}(a,n.value).forEach(([t,n])=>{r.push(s(e,t,n))}):r.push(s(e,n.key,'Variable \"$'.concat(o,'\" does not appear in any GraphQL query.')))}),r}(n,a,r):[]})},function(e,t,n){\"use strict\";var r,i=(r=n(16))&&r.__esModule?r:{default:r},o=n(135);function a(e,t){const n=e.levels;return(n&&0!==n.length?n[n.length-1]-(this.electricInput.test(t)?1:0):e.indentLevel)*this.config.indentUnit}i.default.defineMode(\"graphql-variables\",e=>{const t=(0,o.onlineParser)({eatWhitespace:e=>e.eatSpace(),lexRules:s,parseRules:u,editorConfig:{tabSize:e.tabSize}});return{config:e,startState:t.startState,token:t.token,indent:a,electricInput:/^\\s*[}\\]]/,fold:\"brace\",closeBrackets:{pairs:'[]{}\"\"',explode:\"[]{}\"}}});const s={Punctuation:/^\\[|]|\\{|\\}|:|,/,Number:/^-?(?:0|(?:[1-9][0-9]*))(?:\\.[0-9]*)?(?:[eE][+-]?[0-9]+)?/,String:/^\"(?:[^\"\\\\]|\\\\(?:\"|\\/|\\\\|b|f|n|r|t|u[0-9a-fA-F]{4}))*\"?/,Keyword:/^true|false|null/},u={Document:[(0,o.p)(\"{\"),(0,o.list)(\"Variable\",(0,o.opt)((0,o.p)(\",\"))),(0,o.p)(\"}\")],Variable:[c(\"variable\"),(0,o.p)(\":\"),\"Value\"],Value(e){switch(e.kind){case\"Number\":return\"NumberValue\";case\"String\":return\"StringValue\";case\"Punctuation\":switch(e.value){case\"[\":return\"ListValue\";case\"{\":return\"ObjectValue\"}return null;case\"Keyword\":switch(e.value){case\"true\":case\"false\":return\"BooleanValue\";case\"null\":return\"NullValue\"}return null}},NumberValue:[(0,o.t)(\"Number\",\"number\")],StringValue:[(0,o.t)(\"String\",\"string\")],BooleanValue:[(0,o.t)(\"Keyword\",\"builtin\")],NullValue:[(0,o.t)(\"Keyword\",\"keyword\")],ListValue:[(0,o.p)(\"[\"),(0,o.list)(\"Value\",(0,o.opt)((0,o.p)(\",\"))),(0,o.p)(\"]\")],ObjectValue:[(0,o.p)(\"{\"),(0,o.list)(\"ObjectField\",(0,o.opt)((0,o.p)(\",\"))),(0,o.p)(\"}\")],ObjectField:[c(\"attribute\"),(0,o.p)(\":\"),\"Value\"]};function c(e){return{style:e,match:e=>\"String\"===e.kind,update(e,t){e.name=t.value.slice(1,-1)}}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.getLeft=function(e){let t=0,n=e;for(;n.offsetParent;)t+=n.offsetLeft,n=n.offsetParent;return t},t.getTop=function(e){let t=0,n=e;for(;n.offsetParent;)t+=n.offsetTop,n=n.offsetParent;return t}},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(3),s=n(11),u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.render=function(){var e=this.props,t=e.label,n=e.activeColor,r=e.active,i=e.onClick,o=e.tabWidth;return a.createElement(l,{onClick:i,activeColor:n,active:r,tabWidth:o},t)},t}(a.PureComponent);t.default=u;var c,l=s.styled(\"div\")(c||(c=o([\"\\n  z-index: \",\";\\n  padding: 8px 8px 8px 8px;\\n  border-radius: 2px 2px 0px 0px;\\n  color: \",\";\\n  background: \",\";\\n  box-shadow: -1px 1px 6px 0 rgba(0, 0, 0, 0.3);\\n  text-transform: uppercase;\\n  text-align: center;\\n  font-weight: 600;\\n  font-size: 12px;\\n  line-height: 12px;\\n  letter-spacing: 0.45px;\\n  cursor: pointer;\\n  transform: rotate(-90deg);\\n  transform-origin: bottom left;\\n  margin-top: 65px;\\n  width: \",\";\\n\"],[\"\\n  z-index: \",\";\\n  padding: 8px 8px 8px 8px;\\n  border-radius: 2px 2px 0px 0px;\\n  color: \",\";\\n  background: \",\";\\n  box-shadow: -1px 1px 6px 0 rgba(0, 0, 0, 0.3);\\n  text-transform: uppercase;\\n  text-align: center;\\n  font-weight: 600;\\n  font-size: 12px;\\n  line-height: 12px;\\n  letter-spacing: 0.45px;\\n  cursor: pointer;\\n  transform: rotate(-90deg);\\n  transform-origin: bottom left;\\n  margin-top: 65px;\\n  width: \",\";\\n\"])),(function(e){return e.active?10:2}),(function(e){return\"dark\"===e.theme.mode?e.theme.colours.white:e.theme.colours[e.active?\"white\":\"darkBlue\"]}),(function(e){return e.active&&e.activeColor?e.theme.colours[e.activeColor]:\"dark\"===e.theme.mode?\"#3D5866\":\"#DBDEE0\"}),(function(e){return e.tabWidth||\"100%\"}))},function(e,t){function n(e){if(e&&\"object\"==typeof e){var t=e.which||e.keyCode||e.charCode;t&&(e=t)}if(\"number\"==typeof e)return a[e];var n,o=String(e);return(n=r[o.toLowerCase()])?n:(n=i[o.toLowerCase()])||(1===o.length?o.charCodeAt(0):void 0)}n.isEventKey=function(e,t){if(e&&\"object\"==typeof e){var n=e.which||e.keyCode||e.charCode;if(null==n)return!1;if(\"string\"==typeof t){var o;if(o=r[t.toLowerCase()])return o===n;if(o=i[t.toLowerCase()])return o===n}else if(\"number\"==typeof t)return t===n;return!1}};var r=(t=e.exports=n).code=t.codes={backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,\"pause/break\":19,\"caps lock\":20,esc:27,space:32,\"page up\":33,\"page down\":34,end:35,home:36,left:37,up:38,right:39,down:40,insert:45,delete:46,command:91,\"left command\":91,\"right command\":93,\"numpad *\":106,\"numpad +\":107,\"numpad -\":109,\"numpad .\":110,\"numpad /\":111,\"num lock\":144,\"scroll lock\":145,\"my computer\":182,\"my calculator\":183,\";\":186,\"=\":187,\",\":188,\"-\":189,\".\":190,\"/\":191,\"`\":192,\"[\":219,\"\\\\\":220,\"]\":221,\"'\":222},i=t.aliases={windows:91,\"⇧\":16,\"⌥\":18,\"⌃\":17,\"⌘\":91,ctl:17,control:17,option:18,pause:19,break:19,caps:20,return:13,escape:27,spc:32,spacebar:32,pgup:33,pgdn:34,ins:45,del:46,cmd:91};\n/*!\n * Programatically add the following\n */\nfor(o=97;o<123;o++)r[String.fromCharCode(o)]=o-32;for(var o=48;o<58;o++)r[o-48]=o;for(o=1;o<13;o++)r[\"f\"+o]=o+111;for(o=0;o<10;o++)r[\"numpad \"+o]=o+96;var a=t.names=t.title={};for(o in r)a[r[o]]=o;for(var s in i)r[s]=i[s]},function(e,t,n){\"use strict\";var r=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var i,o=n(11);t.ErrorContainer=o.styled.div(i||(i=r([\"\\n  font-weight: bold;\\n  left: 0;\\n  letter-spacing: 1px;\\n  opacity: 0.5;\\n  position: absolute;\\n  right: 0;\\n  text-align: center;\\n  text-transform: uppercase;\\n  top: 50%;\\n  transform: translate(0, -50%);\\n\"],[\"\\n  font-weight: bold;\\n  left: 0;\\n  letter-spacing: 1px;\\n  opacity: 0.5;\\n  position: absolute;\\n  right: 0;\\n  text-align: center;\\n  text-transform: uppercase;\\n  top: 50%;\\n  transform: translate(0, -50%);\\n\"])))},function(e,t,n){\"use strict\";var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(20),o=n(89),a=n(88),s=[\"__Schema\",\"__Directive\",\"__DirectiveLocation\",\"__Type\",\"__Field\",\"__InputValue\",\"__EnumValue\",\"__TypeKind\",\"String\",\"ID\",\"Boolean\",\"Int\",\"Float\"];function u(e){return e instanceof i.GraphQLInterfaceType?\"interface\":e instanceof i.GraphQLUnionType?\"union\":e instanceof i.GraphQLEnumType?\"enum\":e instanceof i.GraphQLInputObjectType?\"input\":\"type\"}function c(e,t){if(void 0===t&&(t=!0),e instanceof i.GraphQLSchema){var n=i.printSchema(e,{commentDescriptions:!0});return a.prettify(n,{printWidth:80,tabWidth:2,useTabs:!1})}return\"\"}function l(e,t,n){var r=new Blob([e],{type:n||\"application/octet-stream\"});if(void 0!==window.navigator.msSaveBlob)window.navigator.msSaveBlob(r,t);else{var i=window.URL.createObjectURL(r),o=document.createElement(\"a\");o.style.display=\"none\",o.href=i,o.setAttribute(\"download\",t),void 0===o.download&&o.setAttribute(\"target\",\"_blank\"),document.body.appendChild(o),o.click(),document.body.removeChild(o),window.URL.revokeObjectURL(i)}}t.sdlArray=function(e,t){return(Object.values||function(e){return Object.keys(e).map((function(t){return e[t]}))})(e.getTypeMap()).sort((function(e,t){return e.name.localeCompare(t.name)})).filter((function(e){return!s.includes(e.name)})).map((function(t){return r(r(r({},t),o.serialize(e,t)),{instanceOf:u(t)})}))},t.getSDL=c,t.downloadSchema=function(e,t){return\"sdl\"===t?l(c(e,!1),\"schema.graphql\"):l(JSON.stringify(e),\"introspectionSchema.json\")}},function(e,t,n){\"use strict\";e.exports=n(422)},function(e,t,n){\"use strict\";var r=\"<[A-Za-z][A-Za-z0-9\\\\-]*(?:\\\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\\\s*=\\\\s*(?:[^\\\"'=<>`\\\\x00-\\\\x20]+|'[^']*'|\\\"[^\\\"]*\\\"))?)*\\\\s*\\\\/?>\",i=\"<\\\\/[A-Za-z][A-Za-z0-9\\\\-]*\\\\s*>\",o=new RegExp(\"^(?:\"+r+\"|\"+i+\"|\\x3c!----\\x3e|\\x3c!--(?:-?[^>-])(?:-?[^-])*--\\x3e|<[?].*?[?]>|<![A-Z]+\\\\s+[^>]*>|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>)\"),a=new RegExp(\"^(?:\"+r+\"|\"+i+\")\");e.exports.HTML_TAG_RE=o,e.exports.HTML_OPEN_CLOSE_TAG_RE=a},function(e,t,n){\"use strict\";function r(e,t){var n,r,i,o,a,s=[],u=t.length;for(n=0;n<u;n++)126===(i=t[n]).marker&&-1!==i.end&&(o=t[i.end],(a=e.tokens[i.token]).type=\"s_open\",a.tag=\"s\",a.nesting=1,a.markup=\"~~\",a.content=\"\",(a=e.tokens[o.token]).type=\"s_close\",a.tag=\"s\",a.nesting=-1,a.markup=\"~~\",a.content=\"\",\"text\"===e.tokens[o.token-1].type&&\"~\"===e.tokens[o.token-1].content&&s.push(o.token-1));for(;s.length;){for(r=(n=s.pop())+1;r<e.tokens.length&&\"s_close\"===e.tokens[r].type;)r++;n!==--r&&(a=e.tokens[r],e.tokens[r]=e.tokens[n],e.tokens[n]=a)}}e.exports.tokenize=function(e,t){var n,r,i,o,a=e.pos,s=e.src.charCodeAt(a);if(t)return!1;if(126!==s)return!1;if(i=(r=e.scanDelims(e.pos,!0)).length,o=String.fromCharCode(s),i<2)return!1;for(i%2&&(e.push(\"text\",\"\",0).content=o,i--),n=0;n<i;n+=2)e.push(\"text\",\"\",0).content=o+o,e.delimiters.push({marker:s,length:0,jump:n,token:e.tokens.length-1,end:-1,open:r.can_open,close:r.can_close});return e.pos+=r.length,!0},e.exports.postProcess=function(e){var t,n=e.tokens_meta,i=e.tokens_meta.length;for(r(e,e.delimiters),t=0;t<i;t++)n[t]&&n[t].delimiters&&r(e,n[t].delimiters)}},function(e,t,n){\"use strict\";function r(e,t){var n,r,i,o,a,s;for(n=t.length-1;n>=0;n--)95!==(r=t[n]).marker&&42!==r.marker||-1!==r.end&&(i=t[r.end],s=n>0&&t[n-1].end===r.end+1&&t[n-1].token===r.token-1&&t[r.end+1].token===i.token+1&&t[n-1].marker===r.marker,a=String.fromCharCode(r.marker),(o=e.tokens[r.token]).type=s?\"strong_open\":\"em_open\",o.tag=s?\"strong\":\"em\",o.nesting=1,o.markup=s?a+a:a,o.content=\"\",(o=e.tokens[i.token]).type=s?\"strong_close\":\"em_close\",o.tag=s?\"strong\":\"em\",o.nesting=-1,o.markup=s?a+a:a,o.content=\"\",s&&(e.tokens[t[n-1].token].content=\"\",e.tokens[t[r.end+1].token].content=\"\",n--))}e.exports.tokenize=function(e,t){var n,r,i=e.pos,o=e.src.charCodeAt(i);if(t)return!1;if(95!==o&&42!==o)return!1;for(r=e.scanDelims(e.pos,42===o),n=0;n<r.length;n++)e.push(\"text\",\"\",0).content=String.fromCharCode(o),e.delimiters.push({marker:o,length:r.length,jump:n,token:e.tokens.length-1,end:-1,open:r.can_open,close:r.can_close});return e.pos+=r.length,!0},e.exports.postProcess=function(e){var t,n=e.tokens_meta,i=e.tokens_meta.length;for(r(e,e.delimiters),t=0;t<i;t++)n[t]&&n[t].delimiters&&r(e,n[t].delimiters)}},function(e,t,n){\"use strict\";var r=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var i,o=n(3),a=n(11).styled.div(i||(i=r([\"\\n  color: rgba(0, 0, 0, 0.3);\\n  cursor: default;\\n  font-size: 14px;\\n  font-weight: 600;\\n  text-transform: uppercase !important;\\n  letter-spacing: 1px;\\n  padding: 16px;\\n  user-select: none;\\n\"],[\"\\n  color: rgba(0, 0, 0, 0.3);\\n  cursor: default;\\n  font-size: 14px;\\n  font-weight: 600;\\n  text-transform: uppercase !important;\\n  letter-spacing: 1px;\\n  padding: 16px;\\n  user-select: none;\\n\"])));t.CategoryTitle=function(e){var t=e.children;return o.createElement(a,null,t)}},function(e,t,n){\"use strict\";var r=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(3),o=n(68),a=n(11);t.default=function(e){var t=e.children,n=e.overflow,r=void 0===n||n,a=e.width,s=void 0===a?o.columnWidth:a;return i.createElement(u,{style:{width:s},verticalScroll:r},t)};var s,u=a.styled(\"div\")(s||(s=r([\"\\n  display: flex;\\n  flex: 0 0 auto;\\n  flex-flow: column;\\n  padding-bottom: 20px;\\n  border-right: 1px solid \",\";\\n  overflow-x: \",\"\\n  overflow-y: \",\"\\n\"],[\"\\n  display: flex;\\n  flex: 0 0 auto;\\n  flex-flow: column;\\n  padding-bottom: 20px;\\n  border-right: 1px solid \",\";\\n  overflow-x: \",\"\\n  overflow-y: \",\"\\n\"])),(function(e){return e.theme.colours.black10}),(function(e){return e.verticalScroll?\"hidden\":\"auto\"}),(function(e){return e.verticalScroll?\"scroll\":\"auto\"}))},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(3),s=n(473),u=n(52),c=n(11),l=function(e){function t(t){var n=e.call(this,t)||this;return n.handleChange=function(e){n.setState({value:e.target.value}),n.debouncedOnSearch()},n.state={value:\"\"},n.debouncedOnSearch=s.default(200,(function(){n.props.onSearch(n.state.value)})),n}return i(t,e),t.prototype.shouldComponentUpdate=function(e,t){return t.value!==this.state.value},t.prototype.render=function(){var e=a.createElement(m,null,a.createElement(u.Search,{height:16,width:16,strokeWidth:3,color:\"rgba(0, 0, 0, 0.3)\"}),a.createElement(g,{onChange:this.handleChange,type:\"text\",value:this.state.value,placeholder:this.props.placeholder||\"Search the docs ...\"}));return this.props.clean?e:a.createElement(h,null,e)},t}(a.Component);t.default=l;var p,f,d,h=c.styled.div(p||(p=o([\"\\n  position: relative;\\n  flex: 0 0 auto;\\n  z-index: 1;\\n  display: flex;\\n  margin-left: 6px;\\n  padding: 25px;\\n  background: \",\";\\n  border-bottom: 1px solid \",\";\\n  div {\\n    width: 100%;\\n  }\\n\"],[\"\\n  position: relative;\\n  flex: 0 0 auto;\\n  z-index: 1;\\n  display: flex;\\n  margin-left: 6px;\\n  padding: 25px;\\n  background: \",\";\\n  border-bottom: 1px solid \",\";\\n  div {\\n    width: 100%;\\n  }\\n\"])),(function(e){return e.theme.colours.black02}),(function(e){return e.theme.colours.black10})),m=c.styled.div(f||(f=o([\"\\n  box-sizing: border-box;\\n  display: flex;\\n  align-items: center;\\n  padding: 12px 14px 13px 15px;\\n  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\\n  background: \",\";\\n\"],[\"\\n  box-sizing: border-box;\\n  display: flex;\\n  align-items: center;\\n  padding: 12px 14px 13px 15px;\\n  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\\n  background: \",\";\\n\"])),(function(e){return e.theme.colours.white})),g=c.styled.input(d||(d=o([\"\\n  font-size: 16px;\\n  margin-left: 10px;\\n  &::placeholder {\\n    color: \",\";\\n  }\\n\"],[\"\\n  font-size: 16px;\\n  margin-left: 10px;\\n  &::placeholder {\\n    color: \",\";\\n  }\\n\"])),(function(e){return e.theme.colours.black30}))},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.getWorkspaceId=function(e){return\"\"+(e.configPath?e.configPath+\"~\":\"\")+(e.workspaceName?e.workspaceName+\"~\":\"\")+e.endpoint}},function(e,t){t.__esModule=!0;t.ATTRIBUTE_NAMES={BODY:\"bodyAttributes\",HTML:\"htmlAttributes\",TITLE:\"titleAttributes\"};var n=t.TAG_NAMES={BASE:\"base\",BODY:\"body\",HEAD:\"head\",HTML:\"html\",LINK:\"link\",META:\"meta\",NOSCRIPT:\"noscript\",SCRIPT:\"script\",STYLE:\"style\",TITLE:\"title\"},r=(t.VALID_TAG_NAMES=Object.keys(n).map((function(e){return n[e]})),t.TAG_PROPERTIES={CHARSET:\"charset\",CSS_TEXT:\"cssText\",HREF:\"href\",HTTPEQUIV:\"http-equiv\",INNER_HTML:\"innerHTML\",ITEM_PROP:\"itemprop\",NAME:\"name\",PROPERTY:\"property\",REL:\"rel\",SRC:\"src\"},t.REACT_TAG_MAP={accesskey:\"accessKey\",charset:\"charSet\",class:\"className\",contenteditable:\"contentEditable\",contextmenu:\"contextMenu\",\"http-equiv\":\"httpEquiv\",itemprop:\"itemProp\",tabindex:\"tabIndex\"});t.HELMET_PROPS={DEFAULT_TITLE:\"defaultTitle\",DEFER:\"defer\",ENCODE_SPECIAL_CHARACTERS:\"encodeSpecialCharacters\",ON_CHANGE_CLIENT_STATE:\"onChangeClientState\",TITLE_TEMPLATE:\"titleTemplate\"},t.HTML_TAG_MAP=Object.keys(r).reduce((function(e,t){return e[r[t]]=t,e}),{}),t.SELF_CLOSING_TAGS=[n.NOSCRIPT,n.SCRIPT,n.STYLE],t.HELMET_ATTRIBUTE=\"data-react-helmet\"},function(e,t,n){\"use strict\";var r=n(79);e.exports=new r({include:[n(211)]})},function(e,t,n){\"use strict\";var r=n(79);e.exports=new r({include:[n(134)],implicit:[n(501),n(502),n(503),n(504)]})},function(e,t,n){\"use strict\";n.r(t),n.d(t,\"getDefinitionState\",(function(){return S})),n.d(t,\"getFieldDef\",(function(){return k})),n.d(t,\"forEachState\",(function(){return A})),n.d(t,\"objectValues\",(function(){return T})),n.d(t,\"hintList\",(function(){return _})),n.d(t,\"getAutocompleteSuggestions\",(function(){return je})),n.d(t,\"getFragmentDefinitions\",(function(){return Le})),n.d(t,\"getTokenAtPosition\",(function(){return Pe})),n.d(t,\"runOnlineParser\",(function(){return Re})),n.d(t,\"canUseDirective\",(function(){return Be})),n.d(t,\"getTypeInfo\",(function(){return Ue})),n.d(t,\"LANGUAGE\",(function(){return Xe})),n.d(t,\"getDefinitionQueryResultForNamedType\",(function(){return tt})),n.d(t,\"getDefinitionQueryResultForFragmentSpread\",(function(){return nt})),n.d(t,\"getDefinitionQueryResultForDefinitionNode\",(function(){return rt})),n.d(t,\"SEVERITY\",(function(){return at})),n.d(t,\"DIAGNOSTIC_SEVERITY\",(function(){return st})),n.d(t,\"getDiagnostics\",(function(){return ut})),n.d(t,\"validateQuery\",(function(){return ct})),n.d(t,\"getRange\",(function(){return ft})),n.d(t,\"getOutline\",(function(){return ht})),n.d(t,\"getHoverInformation\",(function(){return gt})),n.d(t,\"GraphQLLanguageService\",(function(){return Ht}));var r,i,o,a,s,u,c,l,p,f,d,h,m,g,y,v,b,E,x,D,C=n(0),w=n(12);function S(e){let t;return A(e,e=>{switch(e.kind){case\"Query\":case\"ShortQuery\":case\"Mutation\":case\"Subscription\":case\"FragmentDefinition\":t=e}}),t}function k(e,t,n){return n===w.SchemaMetaFieldDef.name&&e.getQueryType()===t?w.SchemaMetaFieldDef:n===w.TypeMetaFieldDef.name&&e.getQueryType()===t?w.TypeMetaFieldDef:n===w.TypeNameMetaFieldDef.name&&Object(C.D)(t)?w.TypeNameMetaFieldDef:\"getFields\"in t?t.getFields()[n]:null}function A(e,t){const n=[];let r=e;for(;r&&r.kind;)n.push(r),r=r.prevState;for(let e=n.length-1;e>=0;e--)t(n[e])}function T(e){const t=Object.keys(e),n=t.length,r=new Array(n);for(let i=0;i<n;++i)r[i]=e[t[i]];return r}function _(e,t){return function(e,t){if(!t)return O(e,e=>!e.isDeprecated);return O(O(e.map(e=>({proximity:N(F(e.label),t),entry:e})),e=>e.proximity<=2),e=>!e.entry.isDeprecated).sort((e,t)=>(e.entry.isDeprecated?1:0)-(t.entry.isDeprecated?1:0)||e.proximity-t.proximity||e.entry.label.length-t.entry.label.length).map(e=>e.entry)}(t,F(e.string))}function O(e,t){const n=e.filter(t);return 0===n.length?e:n}function F(e){return e.toLowerCase().replace(/\\W/g,\"\")}function N(e,t){let n=function(e,t){let n,r;const i=[],o=e.length,a=t.length;for(n=0;n<=o;n++)i[n]=[n];for(r=1;r<=a;r++)i[0][r]=r;for(n=1;n<=o;n++)for(r=1;r<=a;r++){const o=e[n-1]===t[r-1]?0:1;i[n][r]=Math.min(i[n-1][r]+1,i[n][r-1]+1,i[n-1][r-1]+o),n>1&&r>1&&e[n-1]===t[r-2]&&e[n-2]===t[r-1]&&(i[n][r]=Math.min(i[n][r],i[n-2][r-2]+o))}return i[o][a]}(t,e);return e.length>t.length&&(n-=e.length-t.length-1,n+=0===e.indexOf(t)?0:.5),n}!function(e){e.create=function(e,t){return{line:e,character:t}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.number(t.line)&&ue.number(t.character)}}(r||(r={})),function(e){e.create=function(e,t,n,i){if(ue.number(e)&&ue.number(t)&&ue.number(n)&&ue.number(i))return{start:r.create(e,t),end:r.create(n,i)};if(r.is(e)&&r.is(t))return{start:e,end:t};throw new Error(\"Range#create called with invalid arguments[\"+e+\", \"+t+\", \"+n+\", \"+i+\"]\")},e.is=function(e){var t=e;return ue.objectLiteral(t)&&r.is(t.start)&&r.is(t.end)}}(i||(i={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return ue.defined(t)&&i.is(t.range)&&(ue.string(t.uri)||ue.undefined(t.uri))}}(o||(o={})),function(e){e.create=function(e,t,n,r){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:r}},e.is=function(e){var t=e;return ue.defined(t)&&i.is(t.targetRange)&&ue.string(t.targetUri)&&(i.is(t.targetSelectionRange)||ue.undefined(t.targetSelectionRange))&&(i.is(t.originSelectionRange)||ue.undefined(t.originSelectionRange))}}(a||(a={})),function(e){e.create=function(e,t,n,r){return{red:e,green:t,blue:n,alpha:r}},e.is=function(e){var t=e;return ue.number(t.red)&&ue.number(t.green)&&ue.number(t.blue)&&ue.number(t.alpha)}}(s||(s={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return i.is(t.range)&&s.is(t.color)}}(u||(u={})),function(e){e.create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},e.is=function(e){var t=e;return ue.string(t.label)&&(ue.undefined(t.textEdit)||y.is(t))&&(ue.undefined(t.additionalTextEdits)||ue.typedArray(t.additionalTextEdits,y.is))}}(c||(c={})),function(e){e.Comment=\"comment\",e.Imports=\"imports\",e.Region=\"region\"}(l||(l={})),function(e){e.create=function(e,t,n,r,i){var o={startLine:e,endLine:t};return ue.defined(n)&&(o.startCharacter=n),ue.defined(r)&&(o.endCharacter=r),ue.defined(i)&&(o.kind=i),o},e.is=function(e){var t=e;return ue.number(t.startLine)&&ue.number(t.startLine)&&(ue.undefined(t.startCharacter)||ue.number(t.startCharacter))&&(ue.undefined(t.endCharacter)||ue.number(t.endCharacter))&&(ue.undefined(t.kind)||ue.string(t.kind))}}(p||(p={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.location)&&ue.string(t.message)}}(f||(f={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(d||(d={})),function(e){e.Unnecessary=1,e.Deprecated=2}(h||(h={})),function(e){e.create=function(e,t,n,r,i,o){var a={range:e,message:t};return ue.defined(n)&&(a.severity=n),ue.defined(r)&&(a.code=r),ue.defined(i)&&(a.source=i),ue.defined(o)&&(a.relatedInformation=o),a},e.is=function(e){var t=e;return ue.defined(t)&&i.is(t.range)&&ue.string(t.message)&&(ue.number(t.severity)||ue.undefined(t.severity))&&(ue.number(t.code)||ue.string(t.code)||ue.undefined(t.code))&&(ue.string(t.source)||ue.undefined(t.source))&&(ue.undefined(t.relatedInformation)||ue.typedArray(t.relatedInformation,f.is))}}(m||(m={})),function(e){e.create=function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i={title:e,command:t};return ue.defined(n)&&n.length>0&&(i.arguments=n),i},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.title)&&ue.string(t.command)}}(g||(g={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:\"\"}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.string(t.newText)&&i.is(t.range)}}(y||(y={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return ue.defined(t)&&M.is(t.textDocument)&&Array.isArray(t.edits)}}(v||(v={})),function(e){e.create=function(e,t){var n={kind:\"create\",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(n.options=t),n},e.is=function(e){var t=e;return t&&\"create\"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))}}(b||(b={})),function(e){e.create=function(e,t,n){var r={kind:\"rename\",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(r.options=n),r},e.is=function(e){var t=e;return t&&\"rename\"===t.kind&&ue.string(t.oldUri)&&ue.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))}}(E||(E={})),function(e){e.create=function(e,t){var n={kind:\"delete\",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(n.options=t),n},e.is=function(e){var t=e;return t&&\"delete\"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||ue.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||ue.boolean(t.options.ignoreIfNotExists)))}}(x||(x={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return ue.string(e.kind)?b.is(e)||E.is(e)||x.is(e):v.is(e)})))}}(D||(D={}));var I,M,j,L,P,R,B,U,z,V,q,H,W,G,K,J,Q,Y,$,X,Z,ee,te,ne,re,ie,oe,ae=function(){function e(e){this.edits=e}return e.prototype.insert=function(e,t){this.edits.push(y.insert(e,t))},e.prototype.replace=function(e,t){this.edits.push(y.replace(e,t))},e.prototype.delete=function(e){this.edits.push(y.del(e))},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e}();!function(){function e(e){var t=this;this._textEditChanges=Object.create(null),e&&(this._workspaceEdit=e,e.documentChanges?e.documentChanges.forEach((function(e){if(v.is(e)){var n=new ae(e.edits);t._textEditChanges[e.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach((function(n){var r=new ae(e.changes[n]);t._textEditChanges[n]=r})))}Object.defineProperty(e.prototype,\"edit\",{get:function(){return this._workspaceEdit},enumerable:!0,configurable:!0}),e.prototype.getTextEditChange=function(e){if(M.is(e)){if(this._workspaceEdit||(this._workspaceEdit={documentChanges:[]}),!this._workspaceEdit.documentChanges)throw new Error(\"Workspace edit is not configured for document changes.\");var t=e;if(!(r=this._textEditChanges[t.uri])){var n={textDocument:t,edits:i=[]};this._workspaceEdit.documentChanges.push(n),r=new ae(i),this._textEditChanges[t.uri]=r}return r}if(this._workspaceEdit||(this._workspaceEdit={changes:Object.create(null)}),!this._workspaceEdit.changes)throw new Error(\"Workspace edit is not configured for normal text edit changes.\");var r;if(!(r=this._textEditChanges[e])){var i=[];this._workspaceEdit.changes[e]=i,r=new ae(i),this._textEditChanges[e]=r}return r},e.prototype.createFile=function(e,t){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(b.create(e,t))},e.prototype.renameFile=function(e,t,n){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(E.create(e,t,n))},e.prototype.deleteFile=function(e,t){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(x.create(e,t))},e.prototype.checkDocumentChanges=function(){if(!this._workspaceEdit||!this._workspaceEdit.documentChanges)throw new Error(\"Workspace edit is not configured for document changes.\")}}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)}}(I||(I={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&(null===t.version||ue.number(t.version))}}(M||(M={})),function(e){e.create=function(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.string(t.languageId)&&ue.number(t.version)&&ue.string(t.text)}}(j||(j={})),function(e){e.PlainText=\"plaintext\",e.Markdown=\"markdown\"}(L||(L={})),function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(L||(L={})),function(e){e.is=function(e){var t=e;return ue.objectLiteral(e)&&L.is(t.kind)&&ue.string(t.value)}}(P||(P={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(R||(R={})),function(e){e.PlainText=1,e.Snippet=2}(B||(B={})),function(e){e.Deprecated=1}(U||(U={})),function(e){e.create=function(e){return{label:e}}}(z||(z={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(V||(V={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\\\`*_{}[\\]()#+\\-.!]/g,\"\\\\$&\")},e.is=function(e){var t=e;return ue.string(t)||ue.objectLiteral(t)&&ue.string(t.language)&&ue.string(t.value)}}(q||(q={})),function(e){e.is=function(e){var t=e;return!!t&&ue.objectLiteral(t)&&(P.is(t.contents)||q.is(t.contents)||ue.typedArray(t.contents,q.is))&&(void 0===e.range||i.is(e.range))}}(H||(H={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(W||(W={})),function(e){e.create=function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i={label:e};return ue.defined(t)&&(i.documentation=t),ue.defined(n)?i.parameters=n:i.parameters=[],i}}(G||(G={})),function(e){e.Text=1,e.Read=2,e.Write=3}(K||(K={})),function(e){e.create=function(e,t){var n={range:e};return ue.number(t)&&(n.kind=t),n}}(J||(J={})),function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26}(Q||(Q={})),function(e){e.Deprecated=1}(Y||(Y={})),function(e){e.create=function(e,t,n,r,i){var o={name:e,kind:t,location:{uri:r,range:n}};return i&&(o.containerName=i),o}}($||($={})),function(e){e.create=function(e,t,n,r,i,o){var a={name:e,detail:t,kind:n,range:r,selectionRange:i};return void 0!==o&&(a.children=o),a},e.is=function(e){var t=e;return t&&ue.string(t.name)&&ue.number(t.kind)&&i.is(t.range)&&i.is(t.selectionRange)&&(void 0===t.detail||ue.string(t.detail))&&(void 0===t.deprecated||ue.boolean(t.deprecated))&&(void 0===t.children||Array.isArray(t.children))}}(X||(X={})),function(e){e.Empty=\"\",e.QuickFix=\"quickfix\",e.Refactor=\"refactor\",e.RefactorExtract=\"refactor.extract\",e.RefactorInline=\"refactor.inline\",e.RefactorRewrite=\"refactor.rewrite\",e.Source=\"source\",e.SourceOrganizeImports=\"source.organizeImports\",e.SourceFixAll=\"source.fixAll\"}(Z||(Z={})),function(e){e.create=function(e,t){var n={diagnostics:e};return null!=t&&(n.only=t),n},e.is=function(e){var t=e;return ue.defined(t)&&ue.typedArray(t.diagnostics,m.is)&&(void 0===t.only||ue.typedArray(t.only,ue.string))}}(ee||(ee={})),function(e){e.create=function(e,t,n){var r={title:e};return g.is(t)?r.command=t:r.edit=t,void 0!==n&&(r.kind=n),r},e.is=function(e){var t=e;return t&&ue.string(t.title)&&(void 0===t.diagnostics||ue.typedArray(t.diagnostics,m.is))&&(void 0===t.kind||ue.string(t.kind))&&(void 0!==t.edit||void 0!==t.command)&&(void 0===t.command||g.is(t.command))&&(void 0===t.isPreferred||ue.boolean(t.isPreferred))&&(void 0===t.edit||D.is(t.edit))}}(te||(te={})),function(e){e.create=function(e,t){var n={range:e};return ue.defined(t)&&(n.data=t),n},e.is=function(e){var t=e;return ue.defined(t)&&i.is(t.range)&&(ue.undefined(t.command)||g.is(t.command))}}(ne||(ne={})),function(e){e.create=function(e,t){return{tabSize:e,insertSpaces:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.number(t.tabSize)&&ue.boolean(t.insertSpaces)}}(re||(re={})),function(e){e.create=function(e,t,n){return{range:e,target:t,data:n}},e.is=function(e){var t=e;return ue.defined(t)&&i.is(t.range)&&(ue.undefined(t.target)||ue.string(t.target))}}(ie||(ie={})),function(e){e.create=function(e,t){return{range:e,parent:t}},e.is=function(t){var n=t;return void 0!==n&&i.is(n.range)&&(void 0===n.parent||e.is(n.parent))}}(oe||(oe={}));var se;!function(e){e.create=function(e,t,n,r){return new ce(e,t,n,r)},e.is=function(e){var t=e;return!!(ue.defined(t)&&ue.string(t.uri)&&(ue.undefined(t.languageId)||ue.string(t.languageId))&&ue.number(t.lineCount)&&ue.func(t.getText)&&ue.func(t.positionAt)&&ue.func(t.offsetAt))},e.applyEdits=function(e,t){for(var n=e.getText(),r=function e(t,n){if(t.length<=1)return t;var r=t.length/2|0,i=t.slice(0,r),o=t.slice(r);e(i,n),e(o,n);var a=0,s=0,u=0;for(;a<i.length&&s<o.length;){var c=n(i[a],o[s]);t[u++]=c<=0?i[a++]:o[s++]}for(;a<i.length;)t[u++]=i[a++];for(;s<o.length;)t[u++]=o[s++];return t}(t,(function(e,t){var n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n})),i=n.length,o=r.length-1;o>=0;o--){var a=r[o],s=e.offsetAt(a.range.start),u=e.offsetAt(a.range.end);if(!(u<=i))throw new Error(\"Overlapping edit\");n=n.substring(0,s)+a.newText+n.substring(u,n.length),i=s}return n}}(se||(se={}));var ue,ce=function(){function e(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,\"uri\",{get:function(){return this._uri},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"languageId\",{get:function(){return this._languageId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"version\",{get:function(){return this._version},enumerable:!0,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,r=0;r<t.length;r++){n&&(e.push(r),n=!1);var i=t.charAt(r);n=\"\\r\"===i||\"\\n\"===i,\"\\r\"===i&&r+1<t.length&&\"\\n\"===t.charAt(r+1)&&r++}n&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,i=t.length;if(0===i)return r.create(0,e);for(;n<i;){var o=Math.floor((n+i)/2);t[o]>e?i=o:n=o+1}var a=n-1;return r.create(a,e-t[a])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],r=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,r),n)},Object.defineProperty(e.prototype,\"lineCount\",{get:function(){return this.getLineOffsets().length},enumerable:!0,configurable:!0}),e}();!function(e){var t=Object.prototype.toString;e.defined=function(e){return void 0!==e},e.undefined=function(e){return void 0===e},e.boolean=function(e){return!0===e||!1===e},e.string=function(e){return\"[object String]\"===t.call(e)},e.number=function(e){return\"[object Number]\"===t.call(e)},e.func=function(e){return\"[object Function]\"===t.call(e)},e.objectLiteral=function(e){return null!==e&&\"object\"==typeof e},e.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)}}(ue||(ue={}));var le=n(26),pe=n(65),fe=n(13),de=n(63);class he{constructor(e){this.getStartOfToken=()=>this._start,this.getCurrentPosition=()=>this._pos,this.eol=()=>this._sourceText.length===this._pos,this.sol=()=>0===this._pos,this.peek=()=>this._sourceText.charAt(this._pos)?this._sourceText.charAt(this._pos):null,this.next=()=>{const e=this._sourceText.charAt(this._pos);return this._pos++,e},this.eat=e=>{if(this._testNextCharacter(e))return this._start=this._pos,this._pos++,this._sourceText.charAt(this._pos-1)},this.eatWhile=e=>{let t=this._testNextCharacter(e),n=!1;for(t&&(n=t,this._start=this._pos);t;)this._pos++,t=this._testNextCharacter(e),n=!0;return n},this.eatSpace=()=>this.eatWhile(/[\\s\\u00a0]/),this.skipToEnd=()=>{this._pos=this._sourceText.length},this.skipTo=e=>{this._pos=e},this.match=(e,t=!0,n=!1)=>{let r=null,i=null;if(\"string\"==typeof e){i=new RegExp(e,n?\"i\":\"g\").test(this._sourceText.substr(this._pos,e.length)),r=e}else e instanceof RegExp&&(i=this._sourceText.slice(this._pos).match(e),r=i&&i[0]);return!(null==i||!(\"string\"==typeof e||i instanceof Array&&this._sourceText.startsWith(i[0],this._pos)))&&(t&&(this._start=this._pos,r&&r.length&&(this._pos+=r.length)),i)},this.backUp=e=>{this._pos-=e},this.column=()=>this._pos,this.indentation=()=>{const e=this._sourceText.match(/\\s*/);let t=0;if(e&&0===e.length){const n=e[0];let r=0;for(;n.length>r;)9===n.charCodeAt(r)?t+=2:t++,r++}return t},this.current=()=>this._sourceText.slice(this._start,this._pos),this._start=0,this._pos=0,this._sourceText=e}_testNextCharacter(e){const t=this._sourceText.charAt(this._pos);let n=!1;return n=\"string\"==typeof e?t===e:e instanceof RegExp?e.test(t):e(t),n}}function me(e){return{ofRule:e}}function ge(e,t){return{ofRule:e,isList:!0,separator:t}}function ye(e,t){return{style:t,match:t=>t.kind===e}}function ve(e,t){return{style:t||\"punctuation\",match:t=>\"Punctuation\"===t.kind&&t.value===e}}const be=e=>\" \"===e||\"\\t\"===e||\",\"===e||\"\\n\"===e||\"\\r\"===e||\"\\ufeff\"===e||\" \"===e,Ee={Name:/^[_A-Za-z][_0-9A-Za-z]*/,Punctuation:/^(?:!|\\$|\\(|\\)|\\.\\.\\.|:|=|@|\\[|]|\\{|\\||\\})/,Number:/^-?(?:0|(?:[1-9][0-9]*))(?:\\.[0-9]*)?(?:[eE][+-]?[0-9]+)?/,String:/^(?:\"\"\"(?:\\\\\"\"\"|[^\"]|\"[^\"]|\"\"[^\"])*(?:\"\"\")?|\"(?:[^\"\\\\]|\\\\(?:\"|\\/|\\\\|b|f|n|r|t|u[0-9a-fA-F]{4}))*\"?)/,Comment:/^#.*/},xe={Document:[ge(\"Definition\")],Definition(e){switch(e.value){case\"{\":return\"ShortQuery\";case\"query\":return\"Query\";case\"mutation\":return\"Mutation\";case\"subscription\":return\"Subscription\";case\"fragment\":return\"FragmentDefinition\";case\"schema\":return\"SchemaDef\";case\"scalar\":return\"ScalarDef\";case\"type\":return\"ObjectTypeDef\";case\"interface\":return\"InterfaceDef\";case\"union\":return\"UnionDef\";case\"enum\":return\"EnumDef\";case\"input\":return\"InputDef\";case\"extend\":return\"ExtendDef\";case\"directive\":return\"DirectiveDef\"}},ShortQuery:[\"SelectionSet\"],Query:[Ce(\"query\"),me(we(\"def\")),me(\"VariableDefinitions\"),ge(\"Directive\"),\"SelectionSet\"],Mutation:[Ce(\"mutation\"),me(we(\"def\")),me(\"VariableDefinitions\"),ge(\"Directive\"),\"SelectionSet\"],Subscription:[Ce(\"subscription\"),me(we(\"def\")),me(\"VariableDefinitions\"),ge(\"Directive\"),\"SelectionSet\"],VariableDefinitions:[ve(\"(\"),ge(\"VariableDefinition\"),ve(\")\")],VariableDefinition:[\"Variable\",ve(\":\"),\"Type\",me(\"DefaultValue\")],Variable:[ve(\"$\",\"variable\"),we(\"variable\")],DefaultValue:[ve(\"=\"),\"Value\"],SelectionSet:[ve(\"{\"),ge(\"Selection\"),ve(\"}\")],Selection:(e,t)=>\"...\"===e.value?t.match(/[\\s\\u00a0,]*(on\\b|@|{)/,!1)?\"InlineFragment\":\"FragmentSpread\":t.match(/[\\s\\u00a0,]*:/,!1)?\"AliasedField\":\"Field\",AliasedField:[we(\"property\"),ve(\":\"),we(\"qualifier\"),me(\"Arguments\"),ge(\"Directive\"),me(\"SelectionSet\")],Field:[we(\"property\"),me(\"Arguments\"),ge(\"Directive\"),me(\"SelectionSet\")],Arguments:[ve(\"(\"),ge(\"Argument\"),ve(\")\")],Argument:[we(\"attribute\"),ve(\":\"),\"Value\"],FragmentSpread:[ve(\"...\"),we(\"def\"),ge(\"Directive\")],InlineFragment:[ve(\"...\"),me(\"TypeCondition\"),ge(\"Directive\"),\"SelectionSet\"],FragmentDefinition:[Ce(\"fragment\"),me(function(e,t){const n=e.match;return e.match=e=>{let r=!1;return n&&(r=n(e)),r&&t.every(t=>t.match&&!t.match(e))},e}(we(\"def\"),[Ce(\"on\")])),\"TypeCondition\",ge(\"Directive\"),\"SelectionSet\"],TypeCondition:[Ce(\"on\"),\"NamedType\"],Value(e){switch(e.kind){case\"Number\":return\"NumberValue\";case\"String\":return\"StringValue\";case\"Punctuation\":switch(e.value){case\"[\":return\"ListValue\";case\"{\":return\"ObjectValue\";case\"$\":return\"Variable\"}return null;case\"Name\":switch(e.value){case\"true\":case\"false\":return\"BooleanValue\"}return\"null\"===e.value?\"NullValue\":\"EnumValue\"}},NumberValue:[ye(\"Number\",\"number\")],StringValue:[ye(\"String\",\"string\")],BooleanValue:[ye(\"Name\",\"builtin\")],NullValue:[ye(\"Name\",\"keyword\")],EnumValue:[we(\"string-2\")],ListValue:[ve(\"[\"),ge(\"Value\"),ve(\"]\")],ObjectValue:[ve(\"{\"),ge(\"ObjectField\"),ve(\"}\")],ObjectField:[we(\"attribute\"),ve(\":\"),\"Value\"],Type:e=>\"[\"===e.value?\"ListType\":\"NonNullType\",ListType:[ve(\"[\"),\"Type\",ve(\"]\"),me(ve(\"!\"))],NonNullType:[\"NamedType\",me(ve(\"!\"))],NamedType:[(De=\"atom\",{style:De,match:e=>\"Name\"===e.kind,update(e,t){e.prevState&&e.prevState.prevState&&(e.name=t.value,e.prevState.prevState.type=t.value)}})],Directive:[ve(\"@\",\"meta\"),we(\"meta\"),me(\"Arguments\")],SchemaDef:[Ce(\"schema\"),ge(\"Directive\"),ve(\"{\"),ge(\"OperationTypeDef\"),ve(\"}\")],OperationTypeDef:[we(\"keyword\"),ve(\":\"),we(\"atom\")],ScalarDef:[Ce(\"scalar\"),we(\"atom\"),ge(\"Directive\")],ObjectTypeDef:[Ce(\"type\"),we(\"atom\"),me(\"Implements\"),ge(\"Directive\"),ve(\"{\"),ge(\"FieldDef\"),ve(\"}\")],Implements:[Ce(\"implements\"),ge(\"NamedType\")],FieldDef:[we(\"property\"),me(\"ArgumentsDef\"),ve(\":\"),\"Type\",ge(\"Directive\")],ArgumentsDef:[ve(\"(\"),ge(\"InputValueDef\"),ve(\")\")],InputValueDef:[we(\"attribute\"),ve(\":\"),\"Type\",me(\"DefaultValue\"),ge(\"Directive\")],InterfaceDef:[Ce(\"interface\"),we(\"atom\"),ge(\"Directive\"),ve(\"{\"),ge(\"FieldDef\"),ve(\"}\")],UnionDef:[Ce(\"union\"),we(\"atom\"),ge(\"Directive\"),ve(\"=\"),ge(\"UnionMember\",ve(\"|\"))],UnionMember:[\"NamedType\"],EnumDef:[Ce(\"enum\"),we(\"atom\"),ge(\"Directive\"),ve(\"{\"),ge(\"EnumValueDef\"),ve(\"}\")],EnumValueDef:[we(\"string-2\"),ge(\"Directive\")],InputDef:[Ce(\"input\"),we(\"atom\"),ge(\"Directive\"),ve(\"{\"),ge(\"InputValueDef\"),ve(\"}\")],ExtendDef:[Ce(\"extend\"),\"ObjectTypeDef\"],DirectiveDef:[Ce(\"directive\"),ve(\"@\",\"meta\"),we(\"meta\"),me(\"ArgumentsDef\"),Ce(\"on\"),ge(\"DirectiveLocation\",ve(\"|\"))],DirectiveLocation:[we(\"string-2\")]};var De;function Ce(e){return{style:\"keyword\",match:t=>\"Name\"===t.kind&&t.value===e}}function we(e){return{style:e,match:e=>\"Name\"===e.kind,update(e,t){e.name=t.value}}}function Se(e={eatWhitespace:e=>e.eatWhile(be),lexRules:Ee,parseRules:xe,editorConfig:{}}){return{startState(){const t={level:0,step:0,name:null,kind:null,type:null,rule:null,needsSeperator:!1,prevState:null};return Te(e.parseRules,t,\"Document\"),t},token:(t,n)=>function(e,t,n){const{lexRules:r,parseRules:i,eatWhitespace:o,editorConfig:a}=n;t.rule&&0===t.rule.length?_e(t):t.needsAdvance&&(t.needsAdvance=!1,Oe(t,!0));if(e.sol()){const n=a&&a.tabSize||2;t.indentLevel=Math.floor(e.indentation()/n)}if(o(e))return\"ws\";const s=function(e,t){const n=Object.keys(e);for(let r=0;r<n.length;r++){const i=t.match(e[n[r]]);if(i&&i instanceof Array)return{kind:n[r],value:i[0]}}}(r,e);if(!s){return e.match(/\\S+/)||e.match(/\\s/),Te(Ae,t,\"Invalid\"),\"invalidchar\"}if(\"Comment\"===s.kind)return Te(Ae,t,\"Comment\"),\"comment\";const u=ke({},t);if(\"Punctuation\"===s.kind)if(/^[{([]/.test(s.value))void 0!==t.indentLevel&&(t.levels=(t.levels||[]).concat(t.indentLevel+1));else if(/^[})\\]]/.test(s.value)){const e=t.levels=(t.levels||[]).slice(0,-1);t.indentLevel&&e.length>0&&e[e.length-1]<t.indentLevel&&(t.indentLevel=e[e.length-1])}for(;t.rule;){let n=\"function\"==typeof t.rule?0===t.step?t.rule(s,e):null:t.rule[t.step];if(t.needsSeperator&&(n=n&&n.separator),n){if(n.ofRule&&(n=n.ofRule),\"string\"==typeof n){Te(i,t,n);continue}if(n.match&&n.match(s))return n.update&&n.update(t,s),\"Punctuation\"===s.kind?Oe(t,!0):t.needsAdvance=!0,n.style}Ne(t)}return ke(t,u),Te(Ae,t,\"Invalid\"),\"invalidchar\"}(t,n,e)}}function ke(e,t){const n=Object.keys(t);for(let r=0;r<n.length;r++)e[n[r]]=t[n[r]];return e}const Ae={Invalid:[],Comment:[]};function Te(e,t,n){if(!e[n])throw new TypeError(\"Unknown rule: \"+n);t.prevState=Object.assign({},t),t.kind=n,t.name=null,t.type=null,t.rule=e[n],t.step=0,t.needsSeperator=!1}function _e(e){e.prevState&&(e.kind=e.prevState.kind,e.name=e.prevState.name,e.type=e.prevState.type,e.rule=e.prevState.rule,e.step=e.prevState.step,e.needsSeperator=e.prevState.needsSeperator,e.prevState=e.prevState.prevState)}function Oe(e,t){if(Fe(e)&&e.rule){const n=e.rule[e.step];if(n.separator){const t=n.separator;if(e.needsSeperator=!e.needsSeperator,!e.needsSeperator&&t.ofRule)return}if(t)return}for(e.needsSeperator=!1,e.step++;e.rule&&!(Array.isArray(e.rule)&&e.step<e.rule.length);)_e(e),e.rule&&(Fe(e)?e.rule&&e.rule[e.step].separator&&(e.needsSeperator=!e.needsSeperator):(e.needsSeperator=!1,e.step++))}function Fe(e){const t=Array.isArray(e.rule)&&\"string\"!=typeof e.rule[e.step]&&e.rule[e.step];return t&&t.isList}function Ne(e){for(;e.rule&&(!Array.isArray(e.rule)||!e.rule[e.step].ofRule);)_e(e);e.rule&&Oe(e,!1)}var Ie=n(1);const Me=Object.assign(Object.assign({},Ie.a),{ALIASED_FIELD:\"AliasedField\",ARGUMENTS:\"Arguments\",SHORT_QUERY:\"ShortQuery\",QUERY:\"Query\",MUTATION:\"Mutation\",SUBSCRIPTION:\"Subscription\",TYPE_CONDITION:\"TypeCondition\",INVALID:\"Invalid\",COMMENT:\"Comment\",SCHEMA_DEF:\"SchemaDef\",SCALAR_DEF:\"ScalarDef\",OBJECT_TYPE_DEF:\"ObjectTypeDef\",OBJECT_VALUE:\"ObjectValue\",LIST_VALUE:\"ListValue\",INTERFACE_DEF:\"InterfaceDef\",UNION_DEF:\"UnionDef\",ENUM_DEF:\"EnumDef\",ENUM_VALUE:\"EnumValue\",FIELD_DEF:\"FieldDef\",INPUT_DEF:\"InputDef\",INPUT_VALUE_DEF:\"InputValueDef\",ARGUMENTS_DEF:\"ArgumentsDef\",EXTEND_DEF:\"ExtendDef\",DIRECTIVE_DEF:\"DirectiveDef\"});function je(e,t,n,r){const i=r||Pe(t,n),o=\"Invalid\"===i.state.kind?i.state.prevState:i.state;if(!o)return[];const a=o.kind,s=o.step,u=Ue(e,i.state);if(a===Me.DOCUMENT)return _(i,[{label:\"query\",kind:R.Function},{label:\"mutation\",kind:R.Function},{label:\"subscription\",kind:R.Function},{label:\"fragment\",kind:R.Function},{label:\"{\",kind:R.Constructor}]);if(a===Me.SELECTION_SET||a===Me.FIELD||a===Me.ALIASED_FIELD)return function(e,t,n,r){if(t.parentType){const r=t.parentType;let i=[];return\"getFields\"in r&&(i=T(r.getFields())),Object(C.D)(r)&&i.push(w.TypeNameMetaFieldDef),r===n.getQueryType()&&i.push(w.SchemaMetaFieldDef,w.TypeMetaFieldDef),_(e,i.map((e,t)=>{var n;return{sortText:String(t)+e.name,label:e.name,detail:String(e.type),documentation:null!==(n=e.description)&&void 0!==n?n:void 0,deprecated:e.isDeprecated,isDeprecated:e.isDeprecated,deprecationReason:e.deprecationReason,kind:R.Field}}))}return[]}(i,u,e);if(a===Me.ARGUMENTS||a===Me.ARGUMENT&&0===s){const e=u.argDefs;if(e)return _(i,e.map(e=>{var t;return{label:e.name,detail:String(e.type),documentation:null!==(t=e.description)&&void 0!==t?t:void 0,kind:R.Variable}}))}if((a===Me.OBJECT_VALUE||a===Me.OBJECT_FIELD&&0===s)&&u.objectFieldDefs){const e=T(u.objectFieldDefs),t=a===Me.OBJECT_VALUE?R.Value:R.Field;return _(i,e.map(e=>{var n;return{label:e.name,detail:String(e.type),documentation:null!==(n=e.description)&&void 0!==n?n:void 0,kind:t}}))}if(a===Me.ENUM_VALUE||a===Me.LIST_VALUE&&1===s||a===Me.OBJECT_FIELD&&2===s||a===Me.ARGUMENT&&2===s)return function(e,t,n){const r=Object(C.A)(t.inputType);if(r instanceof C.a){const t=r.getValues();return _(e,t.map(e=>{var t;return{label:e.name,detail:String(r),documentation:null!==(t=e.description)&&void 0!==t?t:void 0,deprecated:e.isDeprecated,isDeprecated:e.isDeprecated,deprecationReason:e.deprecationReason,kind:R.EnumMember}}))}if(r===fe.a)return _(e,[{label:\"true\",detail:String(fe.a),documentation:\"Not false.\",kind:R.Variable},{label:\"false\",detail:String(fe.a),documentation:\"Not true.\",kind:R.Variable}]);return[]}(i,u);if(a===Me.VARIABLE&&1===s){const e=[];return Object(le.c)(Object(pe.a)(t,{allowLegacySDLEmptyFields:!0,allowLegacySDLImplementsInterfaces:!0}),{VariableDefinition(t){e.push(t)}}),_(i,e.map(e=>({label:`$${e.variable.name.value}`,kind:R.Variable,detail:\"name\"in e.type?e.type.name.value:\"Variable\"})))}return a===Me.TYPE_CONDITION&&1===s||a===Me.NAMED_TYPE&&null!=o.prevState&&o.prevState.kind===Me.TYPE_CONDITION?function(e,t,n,r){let i;if(t.parentType)if(Object(C.C)(t.parentType)){const e=Object(C.j)(t.parentType),r=n.getPossibleTypes(e),o=Object.create(null);r.forEach(e=>{e.getInterfaces().forEach(e=>{o[e.name]=e})}),i=r.concat(T(o))}else i=[t.parentType];else{const e=n.getTypeMap();i=T(e).filter(C.D)}return _(e,i.map(e=>{const t=Object(C.A)(e);return{label:String(e),documentation:t&&t.description||\"\",kind:R.Field}}))}(i,u,e):a===Me.FRAGMENT_SPREAD&&1===s?function(e,t,n,r,i){const o=n.getTypeMap(),a=S(e.state),s=Le(r).filter(e=>o[e.typeCondition.name.value]&&!(a&&a.kind===Me.FRAGMENT_DEFINITION&&a.name===e.name.value)&&Object(C.D)(t.parentType)&&Object(C.D)(o[e.typeCondition.name.value])&&Object(de.a)(n,t.parentType,o[e.typeCondition.name.value]));return _(e,s.map(e=>({label:e.name.value,detail:String(o[e.typeCondition.name.value]),documentation:`fragment ${e.name.value} on ${e.typeCondition.name.value}`,kind:R.Field})))}(i,u,e,t):a===Me.VARIABLE_DEFINITION&&2===s||a===Me.LIST_TYPE&&1===s||a===Me.NAMED_TYPE&&o.prevState&&(o.prevState.kind===Me.VARIABLE_DEFINITION||o.prevState.kind===Me.LIST_TYPE||o.prevState.kind===Me.NON_NULL_TYPE)?function(e,t,n){const r=T(t.getTypeMap()).filter(C.G);return _(e,r.map(e=>({label:e.name,documentation:e.description,kind:R.Variable})))}(i,e):a===Me.DIRECTIVE?function(e,t,n,r){if(t.prevState&&t.prevState.kind){const r=n.getDirectives().filter(e=>Be(t.prevState,e));return _(e,r.map(e=>({label:e.name,documentation:e.description||\"\",kind:R.Function})))}return[]}(i,o,e):[]}function Le(e){const t=[];return Re(e,(e,n)=>{n.kind===Me.FRAGMENT_DEFINITION&&n.name&&n.type&&t.push({kind:Me.FRAGMENT_DEFINITION,name:{kind:\"Name\",value:n.name},selectionSet:{kind:Me.SELECTION_SET,selections:[]},typeCondition:{kind:Me.NAMED_TYPE,name:{kind:\"Name\",value:n.type}}})}),t}function Pe(e,t){let n=null,r=null,i=null;const o=Re(e,(e,o,a,s)=>{if(s===t.line&&e.getCurrentPosition()>=t.character)return n=a,r=Object.assign({},o),i=e.current(),\"BREAK\"});return{start:o.start,end:o.end,string:i||o.string,state:r||o.state,style:n||o.style}}function Re(e,t){const n=e.split(\"\\n\"),r=Se();let i=r.startState(),o=\"\",a=new he(\"\");for(let e=0;e<n.length;e++){for(a=new he(n[e]);!a.eol();){if(o=r.token(a,i),\"BREAK\"===t(a,i,o,e))break}t(a,i,o,e),i.kind||(i=r.startState())}return{start:a.getStartOfToken(),end:a.getCurrentPosition(),string:a.current(),state:i,style:o}}function Be(e,t){if(!e||!e.kind)return!1;const n=e.kind,r=t.locations;switch(n){case Me.QUERY:return-1!==r.indexOf(\"QUERY\");case Me.MUTATION:return-1!==r.indexOf(\"MUTATION\");case Me.SUBSCRIPTION:return-1!==r.indexOf(\"SUBSCRIPTION\");case Me.FIELD:case Me.ALIASED_FIELD:return-1!==r.indexOf(\"FIELD\");case Me.FRAGMENT_DEFINITION:return-1!==r.indexOf(\"FRAGMENT_DEFINITION\");case Me.FRAGMENT_SPREAD:return-1!==r.indexOf(\"FRAGMENT_SPREAD\");case Me.INLINE_FRAGMENT:return-1!==r.indexOf(\"INLINE_FRAGMENT\");case Me.SCHEMA_DEF:return-1!==r.indexOf(\"SCHEMA\");case Me.SCALAR_DEF:return-1!==r.indexOf(\"SCALAR\");case Me.OBJECT_TYPE_DEF:return-1!==r.indexOf(\"OBJECT\");case Me.FIELD_DEF:return-1!==r.indexOf(\"FIELD_DEFINITION\");case Me.INTERFACE_DEF:return-1!==r.indexOf(\"INTERFACE\");case Me.UNION_DEF:return-1!==r.indexOf(\"UNION\");case Me.ENUM_DEF:return-1!==r.indexOf(\"ENUM\");case Me.ENUM_VALUE:return-1!==r.indexOf(\"ENUM_VALUE\");case Me.INPUT_DEF:return-1!==r.indexOf(\"INPUT_OBJECT\");case Me.INPUT_VALUE_DEF:switch(e.prevState&&e.prevState.kind){case Me.ARGUMENTS_DEF:return-1!==r.indexOf(\"ARGUMENT_DEFINITION\");case Me.INPUT_DEF:return-1!==r.indexOf(\"INPUT_FIELD_DEFINITION\")}}return!1}function Ue(e,t){let n,r,i,o,a,s,u,c,l;return A(t,t=>{switch(t.kind){case Me.QUERY:case\"ShortQuery\":l=e.getQueryType();break;case Me.MUTATION:l=e.getMutationType();break;case Me.SUBSCRIPTION:l=e.getSubscriptionType();break;case Me.INLINE_FRAGMENT:case Me.FRAGMENT_DEFINITION:t.type&&(l=e.getType(t.type));break;case Me.FIELD:case Me.ALIASED_FIELD:l&&t.name?(a=c?k(e,c,t.name):null,l=a?a.type:null):a=null;break;case Me.SELECTION_SET:c=Object(C.A)(l);break;case Me.DIRECTIVE:i=t.name?e.getDirective(t.name):null;break;case Me.ARGUMENTS:if(t.prevState)switch(t.prevState.kind){case Me.FIELD:r=a&&a.args;break;case Me.DIRECTIVE:r=i&&i.args;break;case Me.ALIASED_FIELD:const n=t.prevState&&t.prevState.name;if(!n){r=null;break}const o=c?k(e,c,n):null;if(!o){r=null;break}r=o.args;break;default:r=null}else r=null;break;case Me.ARGUMENT:if(r)for(let e=0;e<r.length;e++)if(r[e].name===t.name){n=r[e];break}s=n&&n.type;break;case Me.ENUM_VALUE:const p=Object(C.A)(s);o=p instanceof C.a?function(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return e[n];return null}(p.getValues(),e=>e.value===t.name):null;break;case Me.LIST_VALUE:const f=Object(C.B)(s);s=f instanceof C.d?f.ofType:null;break;case Me.OBJECT_VALUE:const d=Object(C.A)(s);u=d instanceof C.b?d.getFields():null;break;case Me.OBJECT_FIELD:const h=t.name&&u?u[t.name]:null;s=h&&h.type;break;case Me.NAMED_TYPE:t.name&&(l=e.getType(t.name))}}),{argDef:n,argDefs:r,directiveDef:i,enumValue:o,fieldDef:a,inputType:s,objectFieldDefs:u,parentType:c,type:l}}class ze{constructor(e,t){this.containsPosition=e=>this.start.line===e.line?this.start.character<=e.character:this.end.line===e.line?this.end.character>=e.character:this.start.line<=e.line&&this.end.line>=e.line,this.start=e,this.end=t}setStart(e,t){this.start=new Ve(e,t)}setEnd(e,t){this.end=new Ve(e,t)}}class Ve{constructor(e,t){this.lessThanOrEqualTo=e=>this.line<e.line||this.line===e.line&&this.character<=e.character,this.line=e,this.character=t}setLine(e){this.line=e}setCharacter(e){this.character=e}}function qe(e,t){const n=e.slice(0,t),r=n.split(\"\\n\").length-1,i=n.lastIndexOf(\"\\n\");return new Ve(r,t-i-1)}var He=n(138),We=n(229),Ge=n(228),Ke=n(66),Je=n(219);var Qe=n(64),Ye=n.n(Qe),$e=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const Xe=\"GraphQL\";function Ze(e,t){const n=t.loc;return Ye()(n,\"Expected ASTNode to have a location.\"),function(e,t){const n=qe(e,t.start),r=qe(e,t.end);return new ze(n,r)}(e,n)}function et(e,t){const n=t.loc;return Ye()(n,\"Expected ASTNode to have a location.\"),qe(e,n.start)}function tt(e,t,n){return $e(this,void 0,void 0,(function*(){const r=t.name.value,i=n.filter(({definition:e})=>e.name&&e.name.value===r);if(0===i.length)throw Error(`Definition not found for GraphQL type ${r}`);const o=i.map(({filePath:e,content:t,definition:n})=>function(e,t,n){const r=n.name;return Ye()(r,\"Expected ASTNode to have a Name.\"),{path:e,position:et(t,n),range:Ze(t,n),name:r.value||\"\",language:Xe,projectRoot:e}}(e||\"\",t,n));return{definitions:o,queryRange:o.map(n=>Ze(e,t))}}))}function nt(e,t,n){return $e(this,void 0,void 0,(function*(){const r=t.name.value,i=n.filter(({definition:e})=>e.name.value===r);if(0===i.length)throw Error(`Definition not found for GraphQL fragment ${r}`);const o=i.map(({filePath:e,content:t,definition:n})=>it(e||\"\",t,n));return{definitions:o,queryRange:o.map(n=>Ze(e,t))}}))}function rt(e,t,n){return{definitions:[it(e,t,n)],queryRange:n.name?[Ze(t,n.name)]:[]}}function it(e,t,n){const r=n.name;if(!r)throw Error(\"Expected ASTNode to have a Name.\");return{path:e,position:et(t,n),range:Ze(t,n),name:r.value||\"\",language:Xe,projectRoot:e}}var ot=n(538);const at={Error:\"Error\",Warning:\"Warning\",Information:\"Information\",Hint:\"Hint\"},st={[at.Error]:1,[at.Warning]:2,[at.Information]:3,[at.Hint]:4};function ut(e,t=null,n,r){let i=null;try{i=Object(pe.a)(e)}catch(t){const n=ft(t.locations[0],e);return[{severity:st.Error,message:t.message,source:\"GraphQL: Syntax\",range:n}]}return ct(i,t,n,r)}function ct(e,t=null,n,r){if(!t)return[];const i=lt(function(e,t,n,r){const i=He.a.filter(e=>e!==We.a&&e!==Je.a&&(!r||e!==Ge.a));return n&&Array.prototype.push.apply(i,n),Object(Ke.c)(e,t,i).filter(e=>{if(-1!==e.message.indexOf(\"Unknown directive\")&&e.nodes){const t=e.nodes[0];if(t&&t.kind===Ie.a.DIRECTIVE){const e=t.name.value;if(\"arguments\"===e||\"argumentDefinitions\"===e)return!1}}return!0})}(t,e,n,r),e=>pt(e,st.Error,\"Validation\")),o=ot.a?lt(Object(ot.a)(t,e),e=>pt(e,st.Warning,\"Deprecation\")):[];return i.concat(o)}function lt(e,t){return Array.prototype.concat.apply([],e.map(t))}function pt(e,t,n){if(!e.nodes)return[];const r=[];return e.nodes.forEach(i=>{const o=\"Variable\"!==i.kind&&\"name\"in i&&void 0!==i.name?i.name:\"variable\"in i&&void 0!==i.variable?i.variable:i;if(o){Ye()(e.locations,\"GraphQL validation error requires locations.\");const i=e.locations[0],a=function(e){const t=e.loc;return Ye()(t,\"Expected ASTNode to have a location.\"),t}(o),s=i.column+(a.end-a.start);r.push({source:`GraphQL: ${n}`,message:e.message,severity:t,range:new ze(new Ve(i.line-1,i.column-1),new Ve(i.line-1,s))})}}),r}function ft(e,t){const n=Se(),r=n.startState(),i=t.split(\"\\n\");Ye()(i.length>=e.line,\"Query text must have more lines than where the error happened\");let o=null;for(let t=0;t<e.line;t++)for(o=new he(i[t]);!o.eol();){if(\"invalidchar\"===n.token(o,r))break}Ye()(o,\"Expected Parser stream to be available.\");const a=e.line-1,s=o.getStartOfToken(),u=o.getCurrentPosition();return new ze(new Ve(a,s),new Ve(a,u))}const{INLINE_FRAGMENT:dt}=Ie.a;function ht(e){let t;try{t=Object(pe.a)(e)}catch(e){return null}const n=function(e){const t=t=>({representativeName:t.name,startPosition:qe(e,t.loc.start),endPosition:qe(e,t.loc.end),kind:t.kind,children:t.selectionSet||t.fields||t.values||t.arguments||[]});return{Field:e=>{const n=e.alias?[mt(\"plain\",e.alias),mt(\"plain\",\": \")]:[];return n.push(mt(\"plain\",e.name)),Object.assign({tokenizedText:n},t(e))},OperationDefinition:e=>Object.assign({tokenizedText:[mt(\"keyword\",e.operation),mt(\"whitespace\",\" \"),mt(\"class-name\",e.name)]},t(e)),Document:e=>e.definitions,SelectionSet:e=>function(e,t){const n=[];for(let r=0;r<e.length;r++){const i=t(e[r],r);Array.isArray(i)?n.push(...i):n.push(i)}return n}(e.selections,e=>e.kind===dt?e.selectionSet:e),Name:e=>e.value,FragmentDefinition:e=>Object.assign({tokenizedText:[mt(\"keyword\",\"fragment\"),mt(\"whitespace\",\" \"),mt(\"class-name\",e.name)]},t(e)),InterfaceTypeDefinition:e=>Object.assign({tokenizedText:[mt(\"keyword\",\"interface\"),mt(\"whitespace\",\" \"),mt(\"class-name\",e.name)]},t(e)),EnumTypeDefinition:e=>Object.assign({tokenizedText:[mt(\"keyword\",\"enum\"),mt(\"whitespace\",\" \"),mt(\"class-name\",e.name)]},t(e)),EnumValueDefinition:e=>Object.assign({tokenizedText:[mt(\"plain\",e.name)]},t(e)),ObjectTypeDefinition:e=>Object.assign({tokenizedText:[mt(\"keyword\",\"type\"),mt(\"whitespace\",\" \"),mt(\"class-name\",e.name)]},t(e)),InputObjectTypeDefinition:e=>Object.assign({tokenizedText:[mt(\"keyword\",\"input\"),mt(\"whitespace\",\" \"),mt(\"class-name\",e.name)]},t(e)),FragmentSpread:e=>Object.assign({tokenizedText:[mt(\"plain\",\"...\"),mt(\"class-name\",e.name)]},t(e)),InputValueDefinition:e=>Object.assign({tokenizedText:[mt(\"plain\",e.name)]},t(e)),FieldDefinition:e=>Object.assign({tokenizedText:[mt(\"plain\",e.name)]},t(e)),InlineFragment:e=>e.selectionSet}}(e);return{outlineTrees:Object(le.c)(t,{leave:e=>void 0!==n&&e.kind in n?n[e.kind](e):null})}}function mt(e,t){return{kind:e,value:t}}function gt(e,t,n,r){const i=r||Pe(t,n);if(!e||!i||!i.state)return\"\";const o=i.state,a=o.kind,s=o.step,u=Ue(e,i.state),c={schema:e};if(\"Field\"===a&&0===s&&u.fieldDef||\"AliasedField\"===a&&2===s&&u.fieldDef){const e=[];return function(e,t,n){yt(e,t,n),bt(e,t,n,t.type)}(e,u,c),xt(e,c,u.fieldDef),e.join(\"\").trim()}if(\"Directive\"===a&&1===s&&u.directiveDef){const e=[];return vt(e,u,c),xt(e,c,u.directiveDef),e.join(\"\").trim()}if(\"Argument\"===a&&0===s&&u.argDef){const e=[];return function(e,t,n){t.directiveDef?vt(e,t,n):t.fieldDef&&yt(e,t,n);if(!t.argDef)return;const r=t.argDef.name;Dt(e,\"(\"),Dt(e,r),bt(e,t,n,t.inputType),Dt(e,\")\")}(e,u,c),xt(e,c,u.argDef),e.join(\"\").trim()}if(\"EnumValue\"===a&&u.enumValue&&\"description\"in u.enumValue){const e=[];return function(e,t,n){if(!t.enumValue)return;const r=t.enumValue.name;Et(e,t,n,t.inputType),Dt(e,\".\"),Dt(e,r)}(e,u,c),xt(e,c,u.enumValue),e.join(\"\").trim()}if(\"NamedType\"===a&&u.type&&\"description\"in u.type){const e=[];return Et(e,u,c,u.type),xt(e,c,u.type),e.join(\"\").trim()}return\"\"}function yt(e,t,n){if(!t.fieldDef)return;const r=t.fieldDef.name;\"__\"!==r.slice(0,2)&&(Et(e,t,n,t.parentType),Dt(e,\".\")),Dt(e,r)}function vt(e,t,n){if(!t.directiveDef)return;Dt(e,\"@\"+t.directiveDef.name)}function bt(e,t,n,r){Dt(e,\": \"),Et(e,t,n,r)}function Et(e,t,n,r){r&&(r instanceof C.e?(Et(e,t,n,r.ofType),Dt(e,\"!\")):r instanceof C.d?(Dt(e,\"[\"),Et(e,t,n,r.ofType),Dt(e,\"]\")):Dt(e,r.name))}function xt(e,t,n){if(!n)return;const r=\"string\"==typeof n.description?n.description:null;r&&(Dt(e,\"\\n\\n\"),Dt(e,r)),function(e,t,n){if(!n)return;const r=n.deprecationReason?n.deprecationReason:null;if(!r)return;Dt(e,\"\\n\\n\"),Dt(e,\"Deprecated: \"),Dt(e,r)}(e,0,n)}function Dt(e,t){e.push(t)}var Ct=n(15),wt=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))};const{FRAGMENT_DEFINITION:St,OBJECT_TYPE_DEFINITION:kt,INTERFACE_TYPE_DEFINITION:At,ENUM_TYPE_DEFINITION:Tt,UNION_TYPE_DEFINITION:_t,SCALAR_TYPE_DEFINITION:Ot,INPUT_OBJECT_TYPE_DEFINITION:Ft,SCALAR_TYPE_EXTENSION:Nt,OBJECT_TYPE_EXTENSION:It,INTERFACE_TYPE_EXTENSION:Mt,UNION_TYPE_EXTENSION:jt,ENUM_TYPE_EXTENSION:Lt,INPUT_OBJECT_TYPE_EXTENSION:Pt,DIRECTIVE_DEFINITION:Rt,FRAGMENT_SPREAD:Bt,OPERATION_DEFINITION:Ut,NAMED_TYPE:zt}=Ie.a,Vt={[Ie.a.FIELD]:Q.Field,[Ie.a.OPERATION_DEFINITION]:Q.Class,[Ie.a.FRAGMENT_DEFINITION]:Q.Class,[Ie.a.FRAGMENT_SPREAD]:Q.Struct,[Ie.a.OBJECT_TYPE_DEFINITION]:Q.Class,[Ie.a.ENUM_TYPE_DEFINITION]:Q.Enum,[Ie.a.ENUM_VALUE_DEFINITION]:Q.EnumMember,[Ie.a.INPUT_OBJECT_TYPE_DEFINITION]:Q.Class,[Ie.a.INPUT_VALUE_DEFINITION]:Q.Field,[Ie.a.FIELD_DEFINITION]:Q.Field,[Ie.a.INTERFACE_TYPE_DEFINITION]:Q.Interface,[Ie.a.DOCUMENT]:Q.File,FieldWithArguments:Q.Method};function qt(e){return\"FieldDefinition\"===e.kind&&e.children&&e.children.length>0?Vt.FieldWithArguments:Vt[e.kind]}class Ht{constructor(e){this._graphQLCache=e,this._graphQLConfig=e.getGraphQLConfig()}getConfigForURI(e){const t=this._graphQLConfig.getProjectForFile(e);if(t)return t;throw Error(`No config found for uri: ${e}`)}getDiagnostics(e,t,n){return wt(this,void 0,void 0,(function*(){let r=!1;const i=this.getConfigForURI(t);if(!i)return[];const{schema:o,name:a,extensions:s}=i;try{const n=Object(pe.a)(e);o&&t===o||(r=n.definitions.some(e=>{switch(e.kind){case kt:case At:case Tt:case _t:case Ot:case Ft:case Nt:case It:case Mt:case jt:case Lt:case Pt:case Rt:return!0}return!1}))}catch(t){const n=ft(t.locations[0],e);return[{severity:st.Error,message:t.message,source:\"GraphQL: Syntax\",range:n}]}let u=e;const c=yield this._graphQLCache.getFragmentDefinitions(i);u=`${u} ${(yield this._graphQLCache.getFragmentDependencies(e,c)).reduce((e,t)=>`${e} ${Object(Ct.print)(t.definition)}`,\"\")}`;let l=null;try{l=Object(pe.a)(u)}catch(e){return[]}let p=null;const f=s.customValidationRules;f&&(p=f(this._graphQLConfig));const d=yield this._graphQLCache.getSchema(a,r);return d?ct(l,d,p,n):[]}))}getAutocompleteSuggestions(e,t,n){return wt(this,void 0,void 0,(function*(){const r=this.getConfigForURI(n),i=yield this._graphQLCache.getSchema(r.name);return i?je(i,e,t):[]}))}getHoverInformation(e,t,n){return wt(this,void 0,void 0,(function*(){const r=this.getConfigForURI(n),i=yield this._graphQLCache.getSchema(r.name);return i?gt(i,e,t):\"\"}))}getDefinition(e,t,n){return wt(this,void 0,void 0,(function*(){const r=this.getConfigForURI(n);let i;try{i=Object(pe.a)(e)}catch(e){return null}const o=function(e,t,n){const r=function(e,t){const n=e.split(\"\\n\").slice(0,t.line);return t.character+n.map(e=>e.length+1).reduce((e,t)=>e+t,0)}(e,n);let i;return Object(le.c)(t,{enter(e){if(!(\"Name\"!==e.kind&&e.loc&&e.loc.start<=r&&r<=e.loc.end))return!1;i=e},leave(e){if(e.loc&&e.loc.start<=r&&r<=e.loc.end)return!1}}),i}(e,i,t);if(o)switch(o.kind){case Bt:return this._getDefinitionForFragmentSpread(e,i,o,n,r);case St:case Ut:return rt(n,e,o);case zt:return this._getDefinitionForNamedType(e,i,o,n,r)}return null}))}getDocumentSymbols(e,t){return wt(this,void 0,void 0,(function*(){const n=yield this.getOutline(e);if(!n)return[];const r=[],i=n.outlineTrees.map(e=>[null,e]);for(;i.length>0;){const e=i.pop();if(!e)return[];const[n,o]=e;if(!o)return[];r.push({name:o.representativeName,kind:qt(o),location:{uri:t,range:{start:o.startPosition,end:o.endPosition}},containerName:n?n.representativeName:void 0}),i.push(...o.children.map(e=>[o,e]))}return r}))}_getDefinitionForNamedType(e,t,n,r,i){return wt(this,void 0,void 0,(function*(){const o=yield this._graphQLCache.getObjectTypeDefinitions(i),a=yield this._graphQLCache.getObjectTypeDependenciesForAST(t,o),s=t.definitions.filter(e=>e.kind===kt||e.kind===Ft||e.kind===Tt||e.kind===Ot||e.kind===At).map(t=>({filePath:r,content:e,definition:t}));return yield tt(e,n,a.concat(s))}))}_getDefinitionForFragmentSpread(e,t,n,r,i){return wt(this,void 0,void 0,(function*(){const o=yield this._graphQLCache.getFragmentDefinitions(i),a=yield this._graphQLCache.getFragmentDependenciesForAST(t,o),s=t.definitions.filter(e=>e.kind===St).map(t=>({filePath:r,content:e,definition:t}));return yield nt(e,n,a.concat(s))}))}getOutline(e){return wt(this,void 0,void 0,(function*(){return ht(e)}))}}},function(e,t,n){\"use strict\";n.r(t),n.d(t,\"CANCEL\",(function(){return r.a})),n.d(t,\"SAGA_LOCATION\",(function(){return r.g})),n.d(t,\"buffers\",(function(){return s.i})),n.d(t,\"detach\",(function(){return s.j})),n.d(t,\"END\",(function(){return S})),n.d(t,\"channel\",(function(){return A})),n.d(t,\"eventChannel\",(function(){return T})),n.d(t,\"isEnd\",(function(){return k})),n.d(t,\"multicastChannel\",(function(){return _})),n.d(t,\"runSaga\",(function(){return W})),n.d(t,\"stdChannel\",(function(){return O}));var r=n(18),i=n(37),o=n(61),a=n(10),s=n(6),u=n(60);function c(){var e={};return e.promise=new Promise((function(t,n){e.resolve=t,e.reject=n})),e}var l=c,p=(n(112),[]),f=0;function d(e){try{g(),e()}finally{y()}}function h(e){p.push(e),f||(g(),v())}function m(e){try{return g(),e()}finally{v()}}function g(){f++}function y(){f--}function v(){var e;for(y();!f&&void 0!==(e=p.shift());)d(e)}var b=function(e){return function(t){return e.some((function(e){return w(e)(t)}))}},E=function(e){return function(t){return e(t)}},x=function(e){return function(t){return t.type===String(e)}},D=function(e){return function(t){return t.type===e}},C=function(){return s.U};function w(e){var t=\"*\"===e?C:Object(a.k)(e)?x:Object(a.a)(e)?b:Object(a.l)(e)?x:Object(a.d)(e)?E:Object(a.m)(e)?D:null;if(null===t)throw new Error(\"invalid pattern: \"+e);return t(e)}var S={type:r.b},k=function(e){return e&&e.type===r.b};function A(e){void 0===e&&(e=Object(s.O)());var t=!1,n=[];return{take:function(r){t&&e.isEmpty()?r(S):e.isEmpty()?(n.push(r),r.cancel=function(){Object(s.bb)(n,r)}):r(e.take())},put:function(r){if(!t){if(0===n.length)return e.put(r);n.shift()(r)}},flush:function(n){t&&e.isEmpty()?n(S):n(e.flush())},close:function(){if(!t){t=!0;var e=n;n=[];for(var r=0,i=e.length;r<i;r++){(0,e[r])(S)}}}}}function T(e,t){void 0===t&&(t=Object(s.X)());var n,r=!1,i=A(t),o=function(){r||(r=!0,Object(a.d)(n)&&n(),i.close())};return n=e((function(e){k(e)?o():i.put(e)})),n=Object(s.Y)(n),r&&n(),{take:i.take,flush:i.flush,close:o}}function _(){var e,t=!1,n=[],i=n;var o=function(){i===n&&(i=n.slice())},a=function(){t=!0;var e=n=i;i=[],e.forEach((function(e){e(S)}))};return(e={})[r.e]=!0,e.put=function(e){if(!t)if(k(e))a();else for(var o=n=i,s=0,u=o.length;s<u;s++){var c=o[s];c[r.d](e)&&(c.cancel(),c(e))}},e.take=function(e,n){void 0===n&&(n=C),t?e(S):(e[r.d]=n,o(),i.push(e),e.cancel=Object(s.Y)((function(){o(),Object(s.bb)(i,e)})))},e.close=a,e}function O(){var e=_(),t=e.put;return e.put=function(e){e[r.f]?t(e):h((function(){t(e)}))},e}function F(e,t){var n=e[r.a];Object(a.d)(n)&&(t.cancel=n),e.then(t,(function(e){t(e,!0)}))}var N,I=0,M=function(){return++I};function j(e){e.isRunning()&&e.cancel()}var L=((N={})[s.u]=function(e,t,n){var i=t.channel,o=void 0===i?e.channel:i,s=t.pattern,u=t.maybe,c=function(e){e instanceof Error?n(e,!0):!k(e)||u?n(e):n(r.k)};try{o.take(c,Object(a.g)(s)?w(s):null)}catch(e){return void n(e,!0)}n.cancel=c.cancel},N[s.q]=function(e,t,n){var r=t.channel,i=t.action,o=t.resolve;h((function(){var t;try{t=(r?r.put:e.dispatch)(i)}catch(e){return void n(e,!0)}o&&Object(a.j)(t)?F(t,n):n(t)}))},N[s.b]=function(e,t,n,r){var i=r.digestEffect,o=I,u=Object.keys(t);if(0!==u.length){var c=Object(s.V)(t,n);u.forEach((function(e){i(t[e],o,c[e],e)}))}else n(Object(a.a)(t)?[]:{})},N[s.s]=function(e,t,n,r){var i=r.digestEffect,o=I,u=Object.keys(t),c=Object(a.a)(t)?Object(s.W)(u.length):{},l={},p=!1;u.forEach((function(e){var t=function(t,r){p||(r||Object(s.cb)(t)?(n.cancel(),n(t,r)):(n.cancel(),p=!0,c[e]=t,n(c)))};t.cancel=s.db,l[e]=t})),n.cancel=function(){p||(p=!0,u.forEach((function(e){return l[e].cancel()})))},u.forEach((function(e){p||i(t[e],o,l[e],e)}))},N[s.d]=function(e,t,n,r){var i=t.context,o=t.fn,u=t.args,c=r.task;try{var l=o.apply(i,u);if(Object(a.j)(l))return void F(l,n);if(Object(a.e)(l))return void H(e,l,c.context,I,Object(s.T)(o),!1,n);n(l)}catch(e){n(e,!0)}},N[s.C]=function(e,t,n){var r=t.context,i=t.fn,o=t.args;try{var s=function(e,t){Object(a.n)(e)?n(t):n(e,!0)};i.apply(r,o.concat(s)),s.cancel&&(n.cancel=s.cancel)}catch(e){n(e,!0)}},N[s.g]=function(e,t,n,r){var i=t.context,o=t.fn,u=t.args,c=t.detached,l=r.task,p=function(e){var t=e.context,n=e.fn,r=e.args;try{var i=n.apply(t,r);if(Object(a.e)(i))return i;var o=!1;return Object(s.ab)((function(e){return o?{value:e,done:!0}:(o=!0,{value:i,done:!Object(a.j)(i)})}))}catch(e){return Object(s.ab)((function(){throw e}))}}({context:i,fn:o,args:u}),f=function(e,t){return e.isSagaIterator?{name:e.meta.name}:Object(s.T)(t)}(p,o);m((function(){var t=H(e,p,l.context,I,f,c,void 0);c?n(t):t.isRunning()?(l.queue.addTask(t),n(t)):t.isAborted()?l.queue.abort(t.error()):n(t)}))},N[s.k]=function(e,t,n,r){var i=r.task,o=function(e,t){if(e.isRunning()){var n={task:i,cb:t};t.cancel=function(){e.isRunning()&&Object(s.bb)(e.joiners,n)},e.joiners.push(n)}else e.isAborted()?t(e.error(),!0):t(e.result())};if(Object(a.a)(t)){if(0===t.length)return void n([]);var u=Object(s.V)(t,n);t.forEach((function(e,t){o(e,u[t])}))}else o(t,n)},N[s.L]=function(e,t,n,i){var o=i.task;t===r.h?j(o):Object(a.a)(t)?t.forEach(j):j(t),n()},N[s.t]=function(e,t,n){var r=t.selector,i=t.args;try{n(r.apply(void 0,[e.getState()].concat(i)))}catch(e){n(e,!0)}},N[s.N]=function(e,t,n){var r=t.pattern,i=A(t.buffer),o=w(r),a=function t(n){k(n)||e.channel.take(t,o),i.put(n)},s=i.close;i.close=function(){a.cancel(),s()},e.channel.take(a,o),n(i)},N[s.P]=function(e,t,n,r){n(r.task.isCancelled())},N[s.Q]=function(e,t,n){t.flush(n)},N[s.h]=function(e,t,n,r){n(r.task.context[t])},N[s.R]=function(e,t,n,r){var i=r.task;Object(s.Z)(i.context,t),n()},N);function P(e,t){return e+\"?\"+t}function R(e){var t=e.name,n=e.location;return n?t+\"  \"+P(n.fileName,n.lineNumber):t}var B=null,U=[],z=function(){B=null,U.length=0},V=function(){var e,t,n=U[0],r=U.slice(1),i=n.crashedEffect?function(e){var t=Object(s.fb)(e);return t?t.code+\"  \"+P(t.fileName,t.lineNumber):\"\"}(n.crashedEffect):null;return[\"The above error occurred in task \"+R(n.meta)+(i?\" \\n when executing effect \"+i:\"\")].concat(r.map((function(e){return\"    created by \"+R(e.meta)})),[(e=U,t=Object(s.eb)((function(e){return e.cancelledTasks}),e),t.length?[\"Tasks cancelled due to error:\"].concat(t).join(\"\\n\"):\"\")]).join(\"\\n\")};function q(e,t,n,i,o,a,u){var c;void 0===u&&(u=s.db);var p,f,d=0,h=null,m=[],g=Object.create(n),y=function(e,t,n){var r,i=[],o=!1;function a(e){t(),c(),n(e,!0)}function u(t){i.push(t),t.cont=function(u,c){o||(Object(s.bb)(i,t),t.cont=s.db,c?a(u):(t===e&&(r=u),i.length||(o=!0,n(r))))}}function c(){o||(o=!0,i.forEach((function(e){e.cont=s.db,e.cancel()})),i=[])}return u(e),{addTask:u,cancelAll:c,abort:a,getTasks:function(){return i}}}(t,(function(){m.push.apply(m,y.getTasks().map((function(e){return e.meta.name})))}),v);function v(t,n){if(n){if(d=2,(a={meta:o,cancelledTasks:m}).crashedEffect=B,U.push(a),b.isRoot){var i=V();z(),e.onError(t,{sagaStack:i})}f=t,h&&h.reject(t)}else t===r.j?d=1:1!==d&&(d=3),p=t,h&&h.resolve(t);var a;b.cont(t,n),b.joiners.forEach((function(e){e.cb(t,n)})),b.joiners=null}var b=((c={})[r.i]=!0,c.id=i,c.meta=o,c.isRoot=a,c.context=g,c.joiners=[],c.queue=y,c.cancel=function(){0===d&&(d=1,y.cancelAll(),v(r.j,!1))},c.cont=u,c.end=v,c.setContext=function(e){Object(s.Z)(g,e)},c.toPromise=function(){return h||(h=l(),2===d?h.reject(f):0!==d&&h.resolve(p)),h.promise},c.isRunning=function(){return 0===d},c.isCancelled=function(){return 1===d||0===d&&1===t.status},c.isAborted=function(){return 2===d},c.result=function(){return p},c.error=function(){return f},c);return b}function H(e,t,n,i,o,u,c){var l=e.finalizeRunEffect((function(t,n,i){if(Object(a.j)(t))F(t,i);else if(Object(a.e)(t))H(e,t,f.context,n,o,!1,i);else if(t&&t[r.c]){(0,L[t.type])(e,t.payload,i,d)}else i(t)}));h.cancel=s.db;var p={meta:o,cancel:function(){0===p.status&&(p.status=1,h(r.j))},status:0},f=q(e,p,n,i,o,u,c),d={task:f,digestEffect:m};return c&&(c.cancel=f.cancel),h(),f;function h(e,n){try{var o;n?(o=t.throw(e),z()):Object(s.gb)(e)?(p.status=1,h.cancel(),o=Object(a.d)(t.return)?t.return(r.j):{done:!0,value:r.j}):o=Object(s.hb)(e)?Object(a.d)(t.return)?t.return():{done:!0}:t.next(e),o.done?(1!==p.status&&(p.status=3),p.cont(o.value)):m(o.value,i,h)}catch(e){if(1===p.status)throw e;p.status=2,p.cont(e,!0)}}function m(t,n,r,i){void 0===i&&(i=\"\");var o,a=M();function u(n,i){o||(o=!0,r.cancel=s.db,e.sagaMonitor&&(i?e.sagaMonitor.effectRejected(a,n):e.sagaMonitor.effectResolved(a,n)),i&&function(e){B=e}(t),r(n,i))}e.sagaMonitor&&e.sagaMonitor.effectTriggered({effectId:a,parentEffectId:n,label:i,effect:t}),u.cancel=s.db,r.cancel=function(){o||(o=!0,u.cancel(),u.cancel=s.db,e.sagaMonitor&&e.sagaMonitor.effectCancelled(a))},l(t,a,u)}}function W(e,t){var n=e.channel,r=void 0===n?O():n,i=e.dispatch,o=e.getState,a=e.context,c=void 0===a?{}:a,l=e.sagaMonitor,p=e.effectMiddlewares,f=e.onError,d=void 0===f?s.c:f;for(var h=arguments.length,g=new Array(h>2?h-2:0),y=2;y<h;y++)g[y-2]=arguments[y];var v=t.apply(void 0,g);var b,E=M();if(l&&(l.rootSagaStarted=l.rootSagaStarted||s.db,l.effectTriggered=l.effectTriggered||s.db,l.effectResolved=l.effectResolved||s.db,l.effectRejected=l.effectRejected||s.db,l.effectCancelled=l.effectCancelled||s.db,l.actionDispatched=l.actionDispatched||s.db,l.rootSagaStarted({effectId:E,saga:t,args:g})),p){var x=u.compose.apply(void 0,p);b=function(e){return function(t,n,r){return x((function(t){return e(t,n,r)}))(t)}}}else b=s.f;var D={channel:r,dispatch:Object(s.e)(i),getState:o,sagaMonitor:l,onError:d,finalizeRunEffect:b};return m((function(){var e=H(D,v,c,E,Object(s.T)(t),!0,void 0);return l&&l.effectResolved(E,e),e}))}var G=function(e){var t,n=void 0===e?{}:e,r=n.context,a=void 0===r?{}:r,u=n.channel,c=void 0===u?O():u,l=n.sagaMonitor,p=Object(o.a)(n,[\"context\",\"channel\",\"sagaMonitor\"]);function f(e){var n=e.getState,r=e.dispatch;return t=W.bind(null,Object(i.a)({},p,{context:a,channel:c,dispatch:r,getState:n,sagaMonitor:l})),function(e){return function(t){l&&l.actionDispatched&&l.actionDispatched(t);var n=e(t);return c.put(t),n}}}return f.run=function(){return t.apply(void 0,arguments)},f.setContext=function(e){Object(s.Z)(a,e)},f};t.default=G},function(e,t,n){\"use strict\";function r(e){var t,n=e.Symbol;return\"function\"==typeof n?n.observable?t=n.observable:(t=n(\"observable\"),n.observable=t):t=\"@@observable\",t}n.d(t,\"a\",(function(){return r}))},function(e,t,n){e.exports=n(269).Observable},function(e,t,n){\"use strict\";e.exports=function(e,t){t||(t={}),\"function\"==typeof t&&(t={cmp:t});var n,r=\"boolean\"==typeof t.cycles&&t.cycles,i=t.cmp&&(n=t.cmp,function(e){return function(t,r){var i={key:t,value:e[t]},o={key:r,value:e[r]};return n(i,o)}}),o=[];return function e(t){if(t&&t.toJSON&&\"function\"==typeof t.toJSON&&(t=t.toJSON()),void 0!==t){if(\"number\"==typeof t)return isFinite(t)?\"\"+t:\"null\";if(\"object\"!=typeof t)return JSON.stringify(t);var n,a;if(Array.isArray(t)){for(a=\"[\",n=0;n<t.length;n++)n&&(a+=\",\"),a+=e(t[n])||\"null\";return a+\"]\"}if(null===t)return\"null\";if(-1!==o.indexOf(t)){if(r)return JSON.stringify(\"__cycle__\");throw new TypeError(\"Converting circular structure to JSON\")}var s=o.push(t)-1,u=Object.keys(t).sort(i&&i(t));for(a=\"\",n=0;n<u.length;n++){var c=u[n],l=e(t[c]);l&&(a&&(a+=\",\"),a+=JSON.stringify(c)+\":\"+l)}return o.splice(s,1),\"{\"+a+\"}\"}}(e)}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return s}));var r=n(4),i=n(17),o=n(50),a=n(1);function s(e,t){switch(e.kind){case a.a.NULL:return null;case a.a.INT:return parseInt(e.value,10);case a.a.FLOAT:return parseFloat(e.value);case a.a.STRING:case a.a.ENUM:case a.a.BOOLEAN:return e.value;case a.a.LIST:return e.values.map((function(e){return s(e,t)}));case a.a.OBJECT:return Object(o.a)(e.fields,(function(e){return e.name.value}),(function(e){return s(e.value,t)}));case a.a.VARIABLE:return null==t?void 0:t[e.name.value]}Object(i.a)(0,\"Unexpected value node: \"+Object(r.a)(e))}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return a})),n.d(t,\"b\",(function(){return s}));var r=n(8),i=n(2),o=/^[_a-zA-Z][_a-zA-Z0-9]*$/;function a(e){var t=s(e);if(t)throw t;return e}function s(e){return\"string\"==typeof e||Object(r.a)(0,\"Expected name to be a string.\"),e.length>1&&\"_\"===e[0]&&\"_\"===e[1]?new i.a('Name \"'.concat(e,'\" must not begin with \"__\", which is reserved by GraphQL introspection.')):o.test(e)?void 0:new i.a('Names must match /^[_a-zA-Z][_a-zA-Z0-9]*$/ but \"'.concat(e,'\" does not.'))}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return a}));var r=n(2),i=n(1),o=n(46);function a(e){return{Document:function(t){for(var n=0,a=t.definitions;n<a.length;n++){var s=a[n];if(!Object(o.b)(s)){var u=s.kind===i.a.SCHEMA_DEFINITION||s.kind===i.a.SCHEMA_EXTENSION?\"schema\":'\"'+s.name.value+'\"';e.reportError(new r.a(\"The \".concat(u,\" definition is not executable.\"),s))}}return!1}}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(2);function i(e){var t=Object.create(null);return{OperationDefinition:function(n){var i=n.name;return i&&(t[i.value]?e.reportError(new r.a('There can be only one operation named \"'.concat(i.value,'\".'),[t[i.value],i])):t[i.value]=i),!1},FragmentDefinition:function(){return!1}}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return o}));var r=n(2),i=n(1);function o(e){var t=0;return{Document:function(e){t=e.definitions.filter((function(e){return e.kind===i.a.OPERATION_DEFINITION})).length},OperationDefinition:function(n){!n.name&&t>1&&e.reportError(new r.a(\"This anonymous operation must be the only defined operation.\",n))}}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(2);function i(e){return{OperationDefinition:function(t){\"subscription\"===t.operation&&1!==t.selectionSet.selections.length&&e.reportError(new r.a(t.name?'Subscription \"'.concat(t.name.value,'\" must select only one top level field.'):\"Anonymous Subscription must select only one top level field.\",t.selectionSet.selections.slice(1)))}}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return s}));var r=n(2),i=n(15),o=n(0),a=n(33);function s(e){return{InlineFragment:function(t){var n=t.typeCondition;if(n){var s=Object(a.a)(e.getSchema(),n);if(s&&!Object(o.D)(s)){var u=Object(i.print)(n);e.reportError(new r.a('Fragment cannot condition on non composite type \"'.concat(u,'\".'),n))}}},FragmentDefinition:function(t){var n=Object(a.a)(e.getSchema(),t.typeCondition);if(n&&!Object(o.D)(n)){var s=Object(i.print)(t.typeCondition);e.reportError(new r.a('Fragment \"'.concat(t.name.value,'\" cannot condition on non composite type \"').concat(s,'\".'),t.typeCondition))}}}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return s}));var r=n(2),i=n(15),o=n(0),a=n(33);function s(e){return{VariableDefinition:function(t){var n=Object(a.a)(e.getSchema(),t.type);if(n&&!Object(o.G)(n)){var s=t.variable.name.value,u=Object(i.print)(t.type);e.reportError(new r.a('Variable \"$'.concat(s,'\" cannot be non-input type \"').concat(u,'\".'),t.type))}}}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return a}));var r=n(4),i=n(2),o=n(0);function a(e){return{Field:function(t){var n=e.getType(),a=t.selectionSet;if(n)if(Object(o.I)(Object(o.A)(n))){if(a){var s=t.name.value,u=Object(r.a)(n);e.reportError(new i.a('Field \"'.concat(s,'\" must not have a selection since type \"').concat(u,'\" has no subfields.'),a))}}else if(!a){var c=t.name.value,l=Object(r.a)(n);e.reportError(new i.a('Field \"'.concat(c,'\" of type \"').concat(l,'\" must have a selection of subfields. Did you mean \"').concat(c,' { ... }\"?'),t))}}}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return u}));var r=n(58),i=n(39),o=n(44),a=n(2),s=n(0);function u(e){return{Field:function(t){var n=e.getParentType();if(n&&!e.getFieldDef()){var u=e.getSchema(),c=t.name.value,l=Object(i.a)(\"to use an inline fragment on\",function(e,t,n){if(!Object(s.C)(t))return[];for(var i=new Set,o=Object.create(null),a=0,u=e.getPossibleTypes(t);a<u.length;a++){var c=u[a];if(c.getFields()[n]){i.add(c),o[c.name]=1;for(var l=0,p=c.getInterfaces();l<p.length;l++){var f,d=p[l];d.getFields()[n]&&(i.add(d),o[d.name]=(null!==(f=o[d.name])&&void 0!==f?f:0)+1)}}}return Object(r.a)(i).sort((function(t,n){var r=o[n.name]-o[t.name];return 0!==r?r:Object(s.H)(t)&&e.isSubType(t,n)?-1:Object(s.H)(n)&&e.isSubType(n,t)?1:t.name.localeCompare(n.name)})).map((function(e){return e.name}))}(u,n,c));\"\"===l&&(l=Object(i.a)(function(e,t){if(Object(s.N)(e)||Object(s.H)(e)){var n=Object.keys(e.getFields());return Object(o.a)(t,n)}return[]}(n,c))),e.reportError(new a.a('Cannot query field \"'.concat(c,'\" on type \"').concat(n.name,'\".')+l,t))}}}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(2);function i(e){var t=Object.create(null);return{OperationDefinition:function(){return!1},FragmentDefinition:function(n){var i=n.name.value;return t[i]?e.reportError(new r.a('There can be only one fragment named \"'.concat(i,'\".'),[t[i],n.name])):t[i]=n.name,!1}}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(2);function i(e){return{FragmentSpread:function(t){var n=t.name.value;e.getFragment(n)||e.reportError(new r.a('Unknown fragment \"'.concat(n,'\".'),t.name))}}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(2);function i(e){var t=[],n=[];return{OperationDefinition:function(e){return t.push(e),!1},FragmentDefinition:function(e){return n.push(e),!1},Document:{leave:function(){for(var i=Object.create(null),o=0;o<t.length;o++)for(var a=t[o],s=0,u=e.getRecursivelyReferencedFragments(a);s<u.length;s++){i[u[s].name.value]=!0}for(var c=0;c<n.length;c++){var l=n[c],p=l.name.value;!0!==i[p]&&e.reportError(new r.a('Fragment \"'.concat(p,'\" is never used.'),l))}}}}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return u}));var r=n(4),i=n(2),o=n(0),a=n(33),s=n(63);function u(e){return{InlineFragment:function(t){var n=e.getType(),a=e.getParentType();if(Object(o.D)(n)&&Object(o.D)(a)&&!Object(s.a)(e.getSchema(),n,a)){var u=Object(r.a)(a),c=Object(r.a)(n);e.reportError(new i.a('Fragment cannot be spread here as objects of type \"'.concat(u,'\" can never be of type \"').concat(c,'\".'),t))}},FragmentSpread:function(t){var n=t.name.value,u=function(e,t){var n=e.getFragment(t);if(n){var r=Object(a.a)(e.getSchema(),n.typeCondition);if(Object(o.D)(r))return r}}(e,n),c=e.getParentType();if(u&&c&&!Object(s.a)(e.getSchema(),u,c)){var l=Object(r.a)(c),p=Object(r.a)(u);e.reportError(new i.a('Fragment \"'.concat(n,'\" cannot be spread here as objects of type \"').concat(l,'\" can never be of type \"').concat(p,'\".'),t))}}}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(2);function i(e){var t=Object.create(null),n=[],i=Object.create(null);return{OperationDefinition:function(){return!1},FragmentDefinition:function(o){return function o(a){if(t[a.name.value])return;var s=a.name.value;t[s]=!0;var u=e.getFragmentSpreads(a.selectionSet);if(0===u.length)return;i[s]=n.length;for(var c=0;c<u.length;c++){var l=u[c],p=l.name.value,f=i[p];if(n.push(l),void 0===f){var d=e.getFragment(p);d&&o(d)}else{var h=n.slice(f),m=h.slice(0,-1).map((function(e){return'\"'+e.name.value+'\"'})).join(\", \");e.reportError(new r.a('Cannot spread fragment \"'.concat(p,'\" within itself')+(\"\"!==m?\" via \".concat(m,\".\"):\".\"),h))}n.pop()}i[s]=void 0}(o),!1}}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(2);function i(e){var t=Object.create(null);return{OperationDefinition:function(){t=Object.create(null)},VariableDefinition:function(n){var i=n.variable.name.value;t[i]?e.reportError(new r.a('There can be only one variable named \"$'.concat(i,'\".'),[t[i],n.variable.name])):t[i]=n.variable.name}}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(2);function i(e){var t=Object.create(null);return{OperationDefinition:{enter:function(){t=Object.create(null)},leave:function(n){for(var i=e.getRecursiveVariableUsages(n),o=0;o<i.length;o++){var a=i[o].node,s=a.name.value;!0!==t[s]&&e.reportError(new r.a(n.name?'Variable \"$'.concat(s,'\" is not defined by operation \"').concat(n.name.value,'\".'):'Variable \"$'.concat(s,'\" is not defined.'),[a,n]))}}},VariableDefinition:function(e){t[e.variable.name.value]=!0}}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(2);function i(e){var t=[];return{OperationDefinition:{enter:function(){t=[]},leave:function(n){for(var i=Object.create(null),o=e.getRecursiveVariableUsages(n),a=0;a<o.length;a++){i[o[a].node.name.value]=!0}for(var s=0,u=t;s<u.length;s++){var c=u[s],l=c.variable.name.value;!0!==i[l]&&e.reportError(new r.a(n.name?'Variable \"$'.concat(l,'\" is never used in operation \"').concat(n.name.value,'\".'):'Variable \"$'.concat(l,'\" is never used.'),c))}}},VariableDefinition:function(e){t.push(e)}}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return p}));var r=n(14),i=n(36),o=n(4),a=n(39),s=n(44),u=n(2),c=n(15),l=n(0);function p(e){return{ListValue:function(t){var n=Object(l.B)(e.getParentInputType());if(!Object(l.J)(n))return f(e,t),!1},ObjectValue:function(t){var n=Object(l.A)(e.getInputType());if(!Object(l.F)(n))return f(e,t),!1;for(var a=Object(i.a)(t.fields,(function(e){return e.name.value})),s=0,c=Object(r.a)(n.getFields());s<c.length;s++){var p=c[s];if(!a[p.name]&&Object(l.Q)(p)){var d=Object(o.a)(p.type);e.reportError(new u.a('Field \"'.concat(n.name,\".\").concat(p.name,'\" of required type \"').concat(d,'\" was not provided.'),t))}}},ObjectField:function(t){var n=Object(l.A)(e.getParentInputType());if(!e.getInputType()&&Object(l.F)(n)){var r=Object(s.a)(t.name.value,Object.keys(n.getFields()));e.reportError(new u.a('Field \"'.concat(t.name.value,'\" is not defined by type \"').concat(n.name,'\".')+Object(a.a)(r),t))}},NullValue:function(t){var n=e.getInputType();Object(l.L)(n)&&e.reportError(new u.a('Expected value of type \"'.concat(Object(o.a)(n),'\", found ').concat(Object(c.print)(t),\".\"),t))},EnumValue:function(t){return f(e,t)},IntValue:function(t){return f(e,t)},FloatValue:function(t){return f(e,t)},StringValue:function(t){return f(e,t)},BooleanValue:function(t){return f(e,t)}}}function f(e,t){var n=e.getInputType();if(n){var r=Object(l.A)(n);if(Object(l.I)(r))try{if(void 0===r.parseLiteral(t,void 0)){var i=Object(o.a)(n);e.reportError(new u.a('Expected value of type \"'.concat(i,'\", found ').concat(Object(c.print)(t),\".\"),t))}}catch(r){var a=Object(o.a)(n);r instanceof u.a?e.reportError(r):e.reportError(new u.a('Expected value of type \"'.concat(a,'\", found ').concat(Object(c.print)(t),\"; \")+r.message,t,void 0,void 0,void 0,r))}else{var s=Object(o.a)(n);e.reportError(new u.a('Expected value of type \"'.concat(s,'\", found ').concat(Object(c.print)(t),\".\"),t))}}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return c}));var r=n(4),i=n(2),o=n(1),a=n(0),s=n(33),u=n(63);function c(e){var t=Object.create(null);return{OperationDefinition:{enter:function(){t=Object.create(null)},leave:function(n){for(var o=e.getRecursiveVariableUsages(n),a=0;a<o.length;a++){var u=o[a],c=u.node,p=u.type,f=u.defaultValue,d=c.name.value,h=t[d];if(h&&p){var m=e.getSchema(),g=Object(s.a)(m,h.type);if(g&&!l(m,g,h.defaultValue,p,f)){var y=Object(r.a)(g),v=Object(r.a)(p);e.reportError(new i.a('Variable \"$'.concat(d,'\" of type \"').concat(y,'\" used in position expecting type \"').concat(v,'\".'),[h,c]))}}}}},VariableDefinition:function(e){t[e.variable.name.value]=e}}}function l(e,t,n,r,i){if(Object(a.L)(r)&&!Object(a.L)(t)){if(!(null!=n&&n.kind!==o.a.NULL)&&!(void 0!==i))return!1;var s=r.ofType;return Object(u.c)(e,t,s)}return Object(u.c)(e,t,r)}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return f}));var r=n(56),i=n(55),o=n(4),a=n(2),s=n(1),u=n(15),c=n(0),l=n(33);function p(e){return Array.isArray(e)?e.map((function(e){var t=e[0],n=e[1];return'subfields \"'.concat(t,'\" conflict because ')+p(n)})).join(\" and \"):e}function f(e){var t=new b,n=new Map;return{SelectionSet:function(r){for(var o=function(e,t,n,r,o){var a=[],s=y(e,t,r,o),u=s[0],c=s[1];if(function(e,t,n,r,o){for(var a=0,s=Object(i.a)(o);a<s.length;a++){var u=s[a],c=u[0],l=u[1];if(l.length>1)for(var p=0;p<l.length;p++)for(var f=p+1;f<l.length;f++){var d=g(e,n,r,!1,c,l[p],l[f]);d&&t.push(d)}}}(e,a,t,n,u),0!==c.length)for(var l=0;l<c.length;l++){d(e,a,t,n,!1,u,c[l]);for(var p=l+1;p<c.length;p++)h(e,a,t,n,!1,c[l],c[p])}return a}(e,n,t,e.getParentType(),r),s=0;s<o.length;s++){var u=o[s],c=u[0],l=c[0],f=c[1],m=u[1],v=u[2],b=p(f);e.reportError(new a.a('Fields \"'.concat(l,'\" conflict because ').concat(b,\". Use different aliases on the fields to fetch both if this was intentional.\"),m.concat(v)))}}}}function d(e,t,n,r,i,o,a){var s=e.getFragment(a);if(s){var u=v(e,n,s),c=u[0],l=u[1];if(o!==c){m(e,t,n,r,i,o,c);for(var p=0;p<l.length;p++)d(e,t,n,r,i,o,l[p])}}}function h(e,t,n,r,i,o,a){if(o!==a&&!r.has(o,a,i)){r.add(o,a,i);var s=e.getFragment(o),u=e.getFragment(a);if(s&&u){var c=v(e,n,s),l=c[0],p=c[1],f=v(e,n,u),d=f[0],g=f[1];m(e,t,n,r,i,l,d);for(var y=0;y<g.length;y++)h(e,t,n,r,i,o,g[y]);for(var b=0;b<p.length;b++)h(e,t,n,r,i,p[b],a)}}}function m(e,t,n,r,i,o,a){for(var s=0,u=Object.keys(o);s<u.length;s++){var c=u[s],l=a[c];if(l)for(var p=o[c],f=0;f<p.length;f++)for(var d=0;d<l.length;d++){var h=g(e,n,r,i,c,p[f],l[d]);h&&t.push(h)}}}function g(e,t,n,i,a,s,l){var p=s[0],f=s[1],g=s[2],v=l[0],b=l[1],E=l[2],x=i||p!==v&&Object(c.N)(p)&&Object(c.N)(v);if(!x){var D,C,w=f.name.value,S=b.name.value;if(w!==S)return[[a,'\"'.concat(w,'\" and \"').concat(S,'\" are different fields')],[f],[b]];if(!function(e,t){if(e.length!==t.length)return!1;return e.every((function(e){var n,i,o=Object(r.a)(t,(function(t){return t.name.value===e.name.value}));return!!o&&(n=e.value,i=o.value,Object(u.print)(n)===Object(u.print)(i))}))}(null!==(D=f.arguments)&&void 0!==D?D:[],null!==(C=b.arguments)&&void 0!==C?C:[]))return[[a,\"they have differing arguments\"],[f],[b]]}var k=null==g?void 0:g.type,A=null==E?void 0:E.type;if(k&&A&&function e(t,n){if(Object(c.J)(t))return!Object(c.J)(n)||e(t.ofType,n.ofType);if(Object(c.J)(n))return!0;if(Object(c.L)(t))return!Object(c.L)(n)||e(t.ofType,n.ofType);if(Object(c.L)(n))return!0;if(Object(c.I)(t)||Object(c.I)(n))return t!==n;return!1}(k,A))return[[a,'they return conflicting types \"'.concat(Object(o.a)(k),'\" and \"').concat(Object(o.a)(A),'\"')],[f],[b]];var T=f.selectionSet,_=b.selectionSet;return T&&_?function(e,t,n,r){if(e.length>0)return[[t,e.map((function(e){return e[0]}))],e.reduce((function(e,t){var n=t[1];return e.concat(n)}),[n]),e.reduce((function(e,t){var n=t[2];return e.concat(n)}),[r])]}(function(e,t,n,r,i,o,a,s){var u=[],c=y(e,t,i,o),l=c[0],p=c[1],f=y(e,t,a,s),g=f[0],v=f[1];if(m(e,u,t,n,r,l,g),0!==v.length)for(var b=0;b<v.length;b++)d(e,u,t,n,r,l,v[b]);if(0!==p.length)for(var E=0;E<p.length;E++)d(e,u,t,n,r,g,p[E]);for(var x=0;x<p.length;x++)for(var D=0;D<v.length;D++)h(e,u,t,n,r,p[x],v[D]);return u}(e,t,n,x,Object(c.A)(k),T,Object(c.A)(A),_),a,f,b):void 0}function y(e,t,n,r){var i=t.get(r);if(!i){var o=Object.create(null),a=Object.create(null);!function e(t,n,r,i,o){for(var a=0,u=r.selections;a<u.length;a++){var p=u[a];switch(p.kind){case s.a.FIELD:var f=p.name.value,d=void 0;(Object(c.N)(n)||Object(c.H)(n))&&(d=n.getFields()[f]);var h=p.alias?p.alias.value:f;i[h]||(i[h]=[]),i[h].push([n,p,d]);break;case s.a.FRAGMENT_SPREAD:o[p.name.value]=!0;break;case s.a.INLINE_FRAGMENT:var m=p.typeCondition,g=m?Object(l.a)(t.getSchema(),m):n;e(t,g,p.selectionSet,i,o)}}}(e,n,r,o,a),i=[o,Object.keys(a)],t.set(r,i)}return i}function v(e,t,n){var r=t.get(n.selectionSet);if(r)return r;var i=Object(l.a)(e.getSchema(),n.typeCondition);return y(e,t,i,n.selectionSet)}var b=function(){function e(){this._data=Object.create(null)}var t=e.prototype;return t.has=function(e,t,n){var r=this._data[e],i=r&&r[t];return void 0!==i&&(!1!==n||!1===i)},t.add=function(e,t,n){E(this._data,e,t,n),E(this._data,t,e,n)},e}();function E(e,t,n,r){var i=e[t];i||(i=Object.create(null),e[t]=i),i[n]=r}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(2);function i(e){var t,n,i,o=e.getSchema(),a=null!==(t=null!==(n=null!==(i=null==o?void 0:o.astNode)&&void 0!==i?i:null==o?void 0:o.getQueryType())&&void 0!==n?n:null==o?void 0:o.getMutationType())&&void 0!==t?t:null==o?void 0:o.getSubscriptionType(),s=0;return{SchemaDefinition:function(t){a?e.reportError(new r.a(\"Cannot define a new schema within a schema extension.\",t)):(s>0&&e.reportError(new r.a(\"Must provide only one schema definition.\",t)),++s)}}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(2);function i(e){var t=e.getSchema(),n=Object.create(null),i=t?{query:t.getQueryType(),mutation:t.getMutationType(),subscription:t.getSubscriptionType()}:{};return{SchemaDefinition:o,SchemaExtension:o};function o(t){for(var o,a=null!==(o=t.operationTypes)&&void 0!==o?o:[],s=0;s<a.length;s++){var u=a[s],c=u.operation,l=n[c];i[c]?e.reportError(new r.a(\"Type for \".concat(c,\" already defined in the schema. It cannot be redefined.\"),u)):l?e.reportError(new r.a(\"There can be only one \".concat(c,\" type in schema.\"),[l,u])):n[c]=u}return!1}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(2);function i(e){var t=Object.create(null),n=e.getSchema();return{ScalarTypeDefinition:i,ObjectTypeDefinition:i,InterfaceTypeDefinition:i,UnionTypeDefinition:i,EnumTypeDefinition:i,InputObjectTypeDefinition:i};function i(i){var o=i.name.value;if(!(null==n?void 0:n.getType(o)))return t[o]?e.reportError(new r.a('There can be only one type named \"'.concat(o,'\".'),[t[o],i.name])):t[o]=i.name,!1;e.reportError(new r.a('Type \"'.concat(o,'\" already exists in the schema. It cannot also be defined in this type definition.'),i.name))}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return o}));var r=n(2),i=n(0);function o(e){var t=e.getSchema(),n=t?t.getTypeMap():Object.create(null),o=Object.create(null);return{EnumTypeDefinition:a,EnumTypeExtension:a};function a(t){var a,s=t.name.value;o[s]||(o[s]=Object.create(null));for(var u=null!==(a=t.values)&&void 0!==a?a:[],c=o[s],l=0;l<u.length;l++){var p=u[l],f=p.name.value,d=n[s];Object(i.E)(d)&&d.getValue(f)?e.reportError(new r.a('Enum value \"'.concat(s,\".\").concat(f,'\" already exists in the schema. It cannot also be defined in this type extension.'),p.name)):c[f]?e.reportError(new r.a('Enum value \"'.concat(s,\".\").concat(f,'\" can only be defined once.'),[c[f],p.name])):c[f]=p.name}return!1}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return o}));var r=n(2),i=n(0);function o(e){var t=e.getSchema(),n=t?t.getTypeMap():Object.create(null),i=Object.create(null);return{InputObjectTypeDefinition:o,InputObjectTypeExtension:o,InterfaceTypeDefinition:o,InterfaceTypeExtension:o,ObjectTypeDefinition:o,ObjectTypeExtension:o};function o(t){var o,s=t.name.value;i[s]||(i[s]=Object.create(null));for(var u=null!==(o=t.fields)&&void 0!==o?o:[],c=i[s],l=0;l<u.length;l++){var p=u[l],f=p.name.value;a(n[s],f)?e.reportError(new r.a('Field \"'.concat(s,\".\").concat(f,'\" already exists in the schema. It cannot also be defined in this type extension.'),p.name)):c[f]?e.reportError(new r.a('Field \"'.concat(s,\".\").concat(f,'\" can only be defined once.'),[c[f],p.name])):c[f]=p.name}return!1}}function a(e,t){return!!(Object(i.N)(e)||Object(i.H)(e)||Object(i.F)(e))&&e.getFields()[t]}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i}));var r=n(2);function i(e){var t=Object.create(null),n=e.getSchema();return{DirectiveDefinition:function(i){var o=i.name.value;if(!(null==n?void 0:n.getDirective(o)))return t[o]?e.reportError(new r.a('There can be only one directive named \"@'.concat(o,'\".'),[t[o],i.name])):t[o]=i.name,!1;e.reportError(new r.a('Directive \"@'.concat(o,'\" already exists in the schema. It cannot be redefined.'),i.name))}}}},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return d}));var r,i=n(4),o=n(17),a=n(39),s=n(44),u=n(2),c=n(1),l=n(46),p=n(0);function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(e){for(var t=e.getSchema(),n=Object.create(null),r=0,f=e.getDocument().definitions;r<f.length;r++){var d=f[r];Object(l.d)(d)&&(n[d.name.value]=d)}return{ScalarTypeExtension:m,ObjectTypeExtension:m,InterfaceTypeExtension:m,UnionTypeExtension:m,EnumTypeExtension:m,InputObjectTypeExtension:m};function m(r){var l,f=r.name.value,d=n[f],m=null==t?void 0:t.getType(f);if(d?l=h[d.kind]:m&&(l=function(e){if(Object(p.R)(e))return c.a.SCALAR_TYPE_EXTENSION;if(Object(p.N)(e))return c.a.OBJECT_TYPE_EXTENSION;if(Object(p.H)(e))return c.a.INTERFACE_TYPE_EXTENSION;if(Object(p.T)(e))return c.a.UNION_TYPE_EXTENSION;if(Object(p.E)(e))return c.a.ENUM_TYPE_EXTENSION;if(Object(p.F)(e))return c.a.INPUT_OBJECT_TYPE_EXTENSION;Object(o.a)(0,\"Unexpected type: \"+Object(i.a)(e))}(m)),l){if(l!==r.kind){var g=function(e){switch(e){case c.a.SCALAR_TYPE_EXTENSION:return\"scalar\";case c.a.OBJECT_TYPE_EXTENSION:return\"object\";case c.a.INTERFACE_TYPE_EXTENSION:return\"interface\";case c.a.UNION_TYPE_EXTENSION:return\"union\";case c.a.ENUM_TYPE_EXTENSION:return\"enum\";case c.a.INPUT_OBJECT_TYPE_EXTENSION:return\"input object\"}Object(o.a)(0,\"Unexpected kind: \"+Object(i.a)(e))}(r.kind);e.reportError(new u.a(\"Cannot extend non-\".concat(g,' type \"').concat(f,'\".'),d?[d,r]:r))}}else{var y=Object.keys(n);t&&(y=y.concat(Object.keys(t.getTypeMap())));var v=Object(s.a)(f,y);e.reportError(new u.a('Cannot extend type \"'.concat(f,'\" because it is not defined.')+Object(a.a)(v),r.name))}}}var h=(f(r={},c.a.SCALAR_TYPE_DEFINITION,c.a.SCALAR_TYPE_EXTENSION),f(r,c.a.OBJECT_TYPE_DEFINITION,c.a.OBJECT_TYPE_EXTENSION),f(r,c.a.INTERFACE_TYPE_DEFINITION,c.a.INTERFACE_TYPE_EXTENSION),f(r,c.a.UNION_TYPE_DEFINITION,c.a.UNION_TYPE_EXTENSION),f(r,c.a.ENUM_TYPE_DEFINITION,c.a.ENUM_TYPE_EXTENSION),f(r,c.a.INPUT_OBJECT_TYPE_DEFINITION,c.a.INPUT_OBJECT_TYPE_EXTENSION),r)},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return o}));var r=n(2),i=n(0);function o(e){return{Field:function(t){var n=e.getFieldDef(),i=e.getParentType();i&&null!=(null==n?void 0:n.deprecationReason)&&e.reportError(new r.a(\"The field \".concat(i.name,\".\").concat(n.name,\" is deprecated. \")+n.deprecationReason,t))},EnumValue:function(t){var n=Object(i.A)(e.getInputType()),o=e.getEnumValue();n&&null!=(null==o?void 0:o.deprecationReason)&&e.reportError(new r.a('The enum value \"'.concat(n.name,\".\").concat(o.name,'\" is deprecated. ')+o.deprecationReason,t))}}}},function(e,t){e.exports=function(e,t){return function n(){null==t&&(t=e.length);var r=[].slice.call(arguments);return r.length>=t?e.apply(this,r):function(){return n.apply(this,r.concat([].slice.call(arguments)))}}}},function(e,t,n){e.exports=function(){\"use strict\";return function(e){function t(t){if(t)try{e(t+\"}\")}catch(e){}}return function(n,r,i,o,a,s,u,c,l,p){switch(n){case 1:if(0===l&&64===r.charCodeAt(0))return e(r+\";\"),\"\";break;case 2:if(0===c)return r+\"/*|*/\";break;case 3:switch(c){case 102:case 112:return e(i[0]+r),\"\";default:return r+(0===p?\"/*|*/\":\"\")}case-2:r.split(\"/*|*/}\").forEach(t)}}}}()},function(e,t,n){\"use strict\";t.a={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1}},function(e,t,n){\"use strict\";var r=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,i=function(e){var t={};return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}}((function(e){return r.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91}));t.a=i},function(e,t,n){\"use strict\";function r(e){return Object.prototype.toString.call(e).slice(8,-1)}function i(e){return\"Object\"===r(e)&&(e.constructor===Object&&Object.getPrototypeOf(e)===Object.prototype)}function o(e){return\"Array\"===r(e)}function a(e){return\"Symbol\"===r(e)}\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\nfunction s(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),i=0;for(t=0;t<n;t++)for(var o=arguments[t],a=0,s=o.length;a<s;a++,i++)r[i]=o[a];return r}function u(e,t,n,r){var i=r.propertyIsEnumerable(t)?\"enumerable\":\"nonenumerable\";\"enumerable\"===i&&(e[t]=n),\"nonenumerable\"===i&&Object.defineProperty(e,t,{value:n,enumerable:!1,writable:!0,configurable:!0})}function c(e,t,n){if(!i(t))return n&&o(n)&&n.forEach((function(n){t=n(e,t)})),t;var r={};i(e)&&(r=s(Object.getOwnPropertyNames(e),Object.getOwnPropertySymbols(e)).reduce((function(n,r){var i=e[r];return(!a(r)&&!Object.getOwnPropertyNames(t).includes(r)||a(r)&&!Object.getOwnPropertySymbols(t).includes(r))&&u(n,r,i,e),n}),{}));return s(Object.getOwnPropertyNames(t),Object.getOwnPropertySymbols(t)).reduce((function(r,a){var s=t[a],l=i(e)?e[a]:void 0;return n&&o(n)&&n.forEach((function(e){s=e(l,s)})),void 0!==l&&i(s)&&(s=c(l,s,n)),u(r,a,s,t),r}),r)}t.a=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var r=null,o=e;return i(e)&&e.extensions&&1===Object.keys(e).length&&(o={},r=e.extensions),t.reduce((function(e,t){return c(e,t,r)}),o)}},function(e,t,n){\"use strict\";n.r(t),n.d(t,\"Headers\",(function(){return d})),n.d(t,\"Request\",(function(){return E})),n.d(t,\"Response\",(function(){return D})),n.d(t,\"DOMException\",(function(){return w})),n.d(t,\"fetch\",(function(){return S}));var r=\"URLSearchParams\"in self,i=\"Symbol\"in self&&\"iterator\"in Symbol,o=\"FileReader\"in self&&\"Blob\"in self&&function(){try{return new Blob,!0}catch(e){return!1}}(),a=\"FormData\"in self,s=\"ArrayBuffer\"in self;if(s)var u=[\"[object Int8Array]\",\"[object Uint8Array]\",\"[object Uint8ClampedArray]\",\"[object Int16Array]\",\"[object Uint16Array]\",\"[object Int32Array]\",\"[object Uint32Array]\",\"[object Float32Array]\",\"[object Float64Array]\"],c=ArrayBuffer.isView||function(e){return e&&u.indexOf(Object.prototype.toString.call(e))>-1};function l(e){if(\"string\"!=typeof e&&(e=String(e)),/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(e))throw new TypeError(\"Invalid character in header field name\");return e.toLowerCase()}function p(e){return\"string\"!=typeof e&&(e=String(e)),e}function f(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return i&&(t[Symbol.iterator]=function(){return t}),t}function d(e){this.map={},e instanceof d?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function h(e){if(e.bodyUsed)return Promise.reject(new TypeError(\"Already read\"));e.bodyUsed=!0}function m(e){return new Promise((function(t,n){e.onload=function(){t(e.result)},e.onerror=function(){n(e.error)}}))}function g(e){var t=new FileReader,n=m(t);return t.readAsArrayBuffer(e),n}function y(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function v(){return this.bodyUsed=!1,this._initBody=function(e){var t;this._bodyInit=e,e?\"string\"==typeof e?this._bodyText=e:o&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:a&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:r&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():s&&o&&((t=e)&&DataView.prototype.isPrototypeOf(t))?(this._bodyArrayBuffer=y(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):s&&(ArrayBuffer.prototype.isPrototypeOf(e)||c(e))?this._bodyArrayBuffer=y(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText=\"\",this.headers.get(\"content-type\")||(\"string\"==typeof e?this.headers.set(\"content-type\",\"text/plain;charset=UTF-8\"):this._bodyBlob&&this._bodyBlob.type?this.headers.set(\"content-type\",this._bodyBlob.type):r&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set(\"content-type\",\"application/x-www-form-urlencoded;charset=UTF-8\"))},o&&(this.blob=function(){var e=h(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error(\"could not read FormData body as blob\");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?h(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(g)}),this.text=function(){var e,t,n,r=h(this);if(r)return r;if(this._bodyBlob)return e=this._bodyBlob,t=new FileReader,n=m(t),t.readAsText(e),n;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),n=new Array(t.length),r=0;r<t.length;r++)n[r]=String.fromCharCode(t[r]);return n.join(\"\")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error(\"could not read FormData body as text\");return Promise.resolve(this._bodyText)},a&&(this.formData=function(){return this.text().then(x)}),this.json=function(){return this.text().then(JSON.parse)},this}d.prototype.append=function(e,t){e=l(e),t=p(t);var n=this.map[e];this.map[e]=n?n+\", \"+t:t},d.prototype.delete=function(e){delete this.map[l(e)]},d.prototype.get=function(e){return e=l(e),this.has(e)?this.map[e]:null},d.prototype.has=function(e){return this.map.hasOwnProperty(l(e))},d.prototype.set=function(e,t){this.map[l(e)]=p(t)},d.prototype.forEach=function(e,t){for(var n in this.map)this.map.hasOwnProperty(n)&&e.call(t,this.map[n],n,this)},d.prototype.keys=function(){var e=[];return this.forEach((function(t,n){e.push(n)})),f(e)},d.prototype.values=function(){var e=[];return this.forEach((function(t){e.push(t)})),f(e)},d.prototype.entries=function(){var e=[];return this.forEach((function(t,n){e.push([n,t])})),f(e)},i&&(d.prototype[Symbol.iterator]=d.prototype.entries);var b=[\"DELETE\",\"GET\",\"HEAD\",\"OPTIONS\",\"POST\",\"PUT\"];function E(e,t){var n,r,i=(t=t||{}).body;if(e instanceof E){if(e.bodyUsed)throw new TypeError(\"Already read\");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new d(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,i||null==e._bodyInit||(i=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||\"same-origin\",!t.headers&&this.headers||(this.headers=new d(t.headers)),this.method=(n=t.method||this.method||\"GET\",r=n.toUpperCase(),b.indexOf(r)>-1?r:n),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,(\"GET\"===this.method||\"HEAD\"===this.method)&&i)throw new TypeError(\"Body not allowed for GET or HEAD requests\");this._initBody(i)}function x(e){var t=new FormData;return e.trim().split(\"&\").forEach((function(e){if(e){var n=e.split(\"=\"),r=n.shift().replace(/\\+/g,\" \"),i=n.join(\"=\").replace(/\\+/g,\" \");t.append(decodeURIComponent(r),decodeURIComponent(i))}})),t}function D(e,t){t||(t={}),this.type=\"default\",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText=\"statusText\"in t?t.statusText:\"OK\",this.headers=new d(t.headers),this.url=t.url||\"\",this._initBody(e)}E.prototype.clone=function(){return new E(this,{body:this._bodyInit})},v.call(E.prototype),v.call(D.prototype),D.prototype.clone=function(){return new D(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new d(this.headers),url:this.url})},D.error=function(){var e=new D(null,{status:0,statusText:\"\"});return e.type=\"error\",e};var C=[301,302,303,307,308];D.redirect=function(e,t){if(-1===C.indexOf(t))throw new RangeError(\"Invalid status code\");return new D(null,{status:t,headers:{location:e}})};var w=self.DOMException;try{new w}catch(e){(w=function(e,t){this.message=e,this.name=t;var n=Error(e);this.stack=n.stack}).prototype=Object.create(Error.prototype),w.prototype.constructor=w}function S(e,t){return new Promise((function(n,r){var i=new E(e,t);if(i.signal&&i.signal.aborted)return r(new w(\"Aborted\",\"AbortError\"));var a=new XMLHttpRequest;function s(){a.abort()}a.onload=function(){var e,t,r={status:a.status,statusText:a.statusText,headers:(e=a.getAllResponseHeaders()||\"\",t=new d,e.replace(/\\r?\\n[\\t ]+/g,\" \").split(/\\r?\\n/).forEach((function(e){var n=e.split(\":\"),r=n.shift().trim();if(r){var i=n.join(\":\").trim();t.append(r,i)}})),t)};r.url=\"responseURL\"in a?a.responseURL:r.headers.get(\"X-Request-URL\");var i=\"response\"in a?a.response:a.responseText;n(new D(i,r))},a.onerror=function(){r(new TypeError(\"Network request failed\"))},a.ontimeout=function(){r(new TypeError(\"Network request failed\"))},a.onabort=function(){r(new w(\"Aborted\",\"AbortError\"))},a.open(i.method,i.url,!0),\"include\"===i.credentials?a.withCredentials=!0:\"omit\"===i.credentials&&(a.withCredentials=!1),\"responseType\"in a&&o&&(a.responseType=\"blob\"),i.headers.forEach((function(e,t){a.setRequestHeader(t,e)})),i.signal&&(i.signal.addEventListener(\"abort\",s),a.onreadystatechange=function(){4===a.readyState&&i.signal.removeEventListener(\"abort\",s)}),a.send(void 0===i._bodyInit?null:i._bodyInit)}))}S.polyfill=!0,self.fetch||(self.fetch=S,self.Headers=d,self.Request=E,self.Response=D)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r,i=n(307),o=(r=i)&&r.__esModule?r:{default:r};t.default=o.default,e.exports=t.default},function(e,t,n){\"use strict\";var r=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var i,o=n(3),a=n(11),s=n(52);t.Button=function(e){var n=e.purple,r=e.hideArrow,i=e.children,a=e.onClick;return o.createElement(t.ButtonBox,{purple:n,onClick:a},i||\"Learn more\",!r&&o.createElement(s.FullArrowRightIcon,{color:\"red\",width:14,height:11}))},t.ButtonBox=a.styled(\"div\")(i||(i=r([\"\\n  display: flex;\\n  align-items: center;\\n\\n  padding: 6px 16px;\\n  border-radius: 2px;\\n  background: \",\";\\n  color: \",\";\\n  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2);\\n  text-transform: uppercase;\\n  font-weight: 600;\\n  font-size: 14px;\\n  letter-spacing: 1px;\\n  white-space: nowrap;\\n\\n  transition: background 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;\\n  cursor: pointer;\\n  &:hover {\\n    background: \",\";\\n    transform: \",\";\\n    svg {\\n      animation: move 1s ease infinite;\\n    }\\n  }\\n\\n  svg {\\n    margin-left: 10px;\\n    fill: \",\";\\n  }\\n\\n  @keyframes move {\\n    0% {\\n      transform: translate3D(0, 0, 0);\\n    }\\n\\n    50% {\\n      transform: translate3D(3px, 0, 0);\\n    }\\n\\n    100% {\\n      transform: translate3D(0, 0, 0);\\n    }\\n  }\\n\"],[\"\\n  display: flex;\\n  align-items: center;\\n\\n  padding: 6px 16px;\\n  border-radius: 2px;\\n  background: \",\";\\n  color: \",\";\\n  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2);\\n  text-transform: uppercase;\\n  font-weight: 600;\\n  font-size: 14px;\\n  letter-spacing: 1px;\\n  white-space: nowrap;\\n\\n  transition: background 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;\\n  cursor: pointer;\\n  &:hover {\\n    background: \",\";\\n    transform: \",\";\\n    svg {\\n      animation: move 1s ease infinite;\\n    }\\n  }\\n\\n  svg {\\n    margin-left: 10px;\\n    fill: \",\";\\n  }\\n\\n  @keyframes move {\\n    0% {\\n      transform: translate3D(0, 0, 0);\\n    }\\n\\n    50% {\\n      transform: translate3D(3px, 0, 0);\\n    }\\n\\n    100% {\\n      transform: translate3D(0, 0, 0);\\n    }\\n  }\\n\"])),(function(e){return e.purple?\"rgb(218, 27, 127)\":\"#2a7ed2\"}),(function(e){return e.theme.colours.white}),(function(e){return e.purple?\"rgb(164, 3, 111)\":\"#3f8ad7\"}),(function(e){return e.purple?\"translate3D(0, 0, 0)\":\"translate3D(0, -1px, 0)\"}),(function(e){return e.theme.colours.white}))},,function(e,t,n){\"undefined\"==typeof Promise&&(n(256).enable(),window.Promise=n(258)),n(251),Object.assign=n(73)},function(e,t,n){\"use strict\";var r=n(151),i=[ReferenceError,TypeError,RangeError],o=!1;function a(){o=!1,r._47=null,r._71=null}function s(e,t){return t.some((function(t){return e instanceof t}))}t.disable=a,t.enable=function(e){e=e||{},o&&a();o=!0;var t=0,n=0,u={};function c(t){(e.allRejections||s(u[t].error,e.whitelist||i))&&(u[t].displayId=n++,e.onUnhandled?(u[t].logged=!0,e.onUnhandled(u[t].displayId,u[t].error)):(u[t].logged=!0,function(e,t){console.warn(\"Possible Unhandled Promise Rejection (id: \"+e+\"):\"),((t&&(t.stack||t))+\"\").split(\"\\n\").forEach((function(e){console.warn(\"  \"+e)}))}(u[t].displayId,u[t].error)))}r._47=function(t){2===t._83&&u[t._56]&&(u[t._56].logged?function(t){u[t].logged&&(e.onHandled?e.onHandled(u[t].displayId,u[t].error):u[t].onUnhandled||(console.warn(\"Promise Rejection Handled (id: \"+u[t].displayId+\"):\"),console.warn('  This means you can ignore any previous messages of the form \"Possible Unhandled Promise Rejection\" with id '+u[t].displayId+\".\")))}(t._56):clearTimeout(u[t._56].timeout),delete u[t._56])},r._71=function(e,n){0===e._75&&(e._56=t++,u[e._56]={displayId:null,error:n,timeout:setTimeout(c.bind(null,e._56),s(n,i)?100:2e3),logged:!1})}}},function(e,t,n){\"use strict\";(function(t){function n(e){i.length||(r(),!0),i[i.length]=e}e.exports=n;var r,i=[],o=0;function a(){for(;o<i.length;){var e=o;if(o+=1,i[e].call(),o>1024){for(var t=0,n=i.length-o;t<n;t++)i[t]=i[t+o];i.length-=o,o=0}}i.length=0,o=0,!1}var s,u,c,l=void 0!==t?t:self,p=l.MutationObserver||l.WebKitMutationObserver;function f(e){return function(){var t=setTimeout(r,0),n=setInterval(r,50);function r(){clearTimeout(t),clearInterval(n),e()}}}\"function\"==typeof p?(s=1,u=new p(a),c=document.createTextNode(\"\"),u.observe(c,{characterData:!0}),r=function(){s=-s,c.data=s}):r=f(a),n.requestFlush=r,n.makeRequestCallFromTimer=f}).call(this,n(43))},function(e,t,n){\"use strict\";var r=n(151);e.exports=r;var i=l(!0),o=l(!1),a=l(null),s=l(void 0),u=l(0),c=l(\"\");function l(e){var t=new r(r._44);return t._83=1,t._18=e,t}r.resolve=function(e){if(e instanceof r)return e;if(null===e)return a;if(void 0===e)return s;if(!0===e)return i;if(!1===e)return o;if(0===e)return u;if(\"\"===e)return c;if(\"object\"==typeof e||\"function\"==typeof e)try{var t=e.then;if(\"function\"==typeof t)return new r(t.bind(e))}catch(e){return new r((function(t,n){n(e)}))}return l(e)},r.all=function(e){var t=Array.prototype.slice.call(e);return new r((function(e,n){if(0===t.length)return e([]);var i=t.length;function o(a,s){if(s&&(\"object\"==typeof s||\"function\"==typeof s)){if(s instanceof r&&s.then===r.prototype.then){for(;3===s._83;)s=s._18;return 1===s._83?o(a,s._18):(2===s._83&&n(s._18),void s.then((function(e){o(a,e)}),n))}var u=s.then;if(\"function\"==typeof u)return void new r(u.bind(s)).then((function(e){o(a,e)}),n)}t[a]=s,0==--i&&e(t)}for(var a=0;a<t.length;a++)o(a,t[a])}))},r.reject=function(e){return new r((function(t,n){n(e)}))},r.race=function(e){return new r((function(t,n){e.forEach((function(e){r.resolve(e).then(t,n)}))}))},r.prototype.catch=function(e){return this.then(null,e)}},function(e,t,n){\"use strict\";\n/** @license React v16.13.1\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */var r=n(73),i=\"function\"==typeof Symbol&&Symbol.for,o=i?Symbol.for(\"react.element\"):60103,a=i?Symbol.for(\"react.portal\"):60106,s=i?Symbol.for(\"react.fragment\"):60107,u=i?Symbol.for(\"react.strict_mode\"):60108,c=i?Symbol.for(\"react.profiler\"):60114,l=i?Symbol.for(\"react.provider\"):60109,p=i?Symbol.for(\"react.context\"):60110,f=i?Symbol.for(\"react.forward_ref\"):60112,d=i?Symbol.for(\"react.suspense\"):60113,h=i?Symbol.for(\"react.memo\"):60115,m=i?Symbol.for(\"react.lazy\"):60116,g=\"function\"==typeof Symbol&&Symbol.iterator;function y(e){for(var t=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,n=1;n<arguments.length;n++)t+=\"&args[]=\"+encodeURIComponent(arguments[n]);return\"Minified React error #\"+e+\"; visit \"+t+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var v={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b={};function E(e,t,n){this.props=e,this.context=t,this.refs=b,this.updater=n||v}function x(){}function D(e,t,n){this.props=e,this.context=t,this.refs=b,this.updater=n||v}E.prototype.isReactComponent={},E.prototype.setState=function(e,t){if(\"object\"!=typeof e&&\"function\"!=typeof e&&null!=e)throw Error(y(85));this.updater.enqueueSetState(this,e,t,\"setState\")},E.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,\"forceUpdate\")},x.prototype=E.prototype;var C=D.prototype=new x;C.constructor=D,r(C,E.prototype),C.isPureReactComponent=!0;var w={current:null},S=Object.prototype.hasOwnProperty,k={key:!0,ref:!0,__self:!0,__source:!0};function A(e,t,n){var r,i={},a=null,s=null;if(null!=t)for(r in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(a=\"\"+t.key),t)S.call(t,r)&&!k.hasOwnProperty(r)&&(i[r]=t[r]);var u=arguments.length-2;if(1===u)i.children=n;else if(1<u){for(var c=Array(u),l=0;l<u;l++)c[l]=arguments[l+2];i.children=c}if(e&&e.defaultProps)for(r in u=e.defaultProps)void 0===i[r]&&(i[r]=u[r]);return{$$typeof:o,type:e,key:a,ref:s,props:i,_owner:w.current}}function T(e){return\"object\"==typeof e&&null!==e&&e.$$typeof===o}var _=/\\/+/g,O=[];function F(e,t,n,r){if(O.length){var i=O.pop();return i.result=e,i.keyPrefix=t,i.func=n,i.context=r,i.count=0,i}return{result:e,keyPrefix:t,func:n,context:r,count:0}}function N(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>O.length&&O.push(e)}function I(e,t,n){return null==e?0:function e(t,n,r,i){var s=typeof t;\"undefined\"!==s&&\"boolean\"!==s||(t=null);var u=!1;if(null===t)u=!0;else switch(s){case\"string\":case\"number\":u=!0;break;case\"object\":switch(t.$$typeof){case o:case a:u=!0}}if(u)return r(i,t,\"\"===n?\".\"+M(t,0):n),1;if(u=0,n=\"\"===n?\".\":n+\":\",Array.isArray(t))for(var c=0;c<t.length;c++){var l=n+M(s=t[c],c);u+=e(s,l,r,i)}else if(null===t||\"object\"!=typeof t?l=null:l=\"function\"==typeof(l=g&&t[g]||t[\"@@iterator\"])?l:null,\"function\"==typeof l)for(t=l.call(t),c=0;!(s=t.next()).done;)u+=e(s=s.value,l=n+M(s,c++),r,i);else if(\"object\"===s)throw r=\"\"+t,Error(y(31,\"[object Object]\"===r?\"object with keys {\"+Object.keys(t).join(\", \")+\"}\":r,\"\"));return u}(e,\"\",t,n)}function M(e,t){return\"object\"==typeof e&&null!==e&&null!=e.key?function(e){var t={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+(\"\"+e).replace(/[=:]/g,(function(e){return t[e]}))}(e.key):t.toString(36)}function j(e,t){e.func.call(e.context,t,e.count++)}function L(e,t,n){var r=e.result,i=e.keyPrefix;e=e.func.call(e.context,t,e.count++),Array.isArray(e)?P(e,r,n,(function(e){return e})):null!=e&&(T(e)&&(e=function(e,t){return{$$typeof:o,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(e,i+(!e.key||t&&t.key===e.key?\"\":(\"\"+e.key).replace(_,\"$&/\")+\"/\")+n)),r.push(e))}function P(e,t,n,r,i){var o=\"\";null!=n&&(o=(\"\"+n).replace(_,\"$&/\")+\"/\"),I(e,L,t=F(t,o,r,i)),N(t)}var R={current:null};function B(){var e=R.current;if(null===e)throw Error(y(321));return e}var U={ReactCurrentDispatcher:R,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:w,IsSomeRendererActing:{current:!1},assign:r};t.Children={map:function(e,t,n){if(null==e)return e;var r=[];return P(e,r,null,t,n),r},forEach:function(e,t,n){if(null==e)return e;I(e,j,t=F(null,null,t,n)),N(t)},count:function(e){return I(e,(function(){return null}),null)},toArray:function(e){var t=[];return P(e,t,null,(function(e){return e})),t},only:function(e){if(!T(e))throw Error(y(143));return e}},t.Component=E,t.Fragment=s,t.Profiler=c,t.PureComponent=D,t.StrictMode=u,t.Suspense=d,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=U,t.cloneElement=function(e,t,n){if(null==e)throw Error(y(267,e));var i=r({},e.props),a=e.key,s=e.ref,u=e._owner;if(null!=t){if(void 0!==t.ref&&(s=t.ref,u=w.current),void 0!==t.key&&(a=\"\"+t.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(l in t)S.call(t,l)&&!k.hasOwnProperty(l)&&(i[l]=void 0===t[l]&&void 0!==c?c[l]:t[l])}var l=arguments.length-2;if(1===l)i.children=n;else if(1<l){c=Array(l);for(var p=0;p<l;p++)c[p]=arguments[p+2];i.children=c}return{$$typeof:o,type:e.type,key:a,ref:s,props:i,_owner:u}},t.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:p,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:l,_context:e},e.Consumer=e},t.createElement=A,t.createFactory=function(e){var t=A.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:f,render:e}},t.isValidElement=T,t.lazy=function(e){return{$$typeof:m,_ctor:e,_status:-1,_result:null}},t.memo=function(e,t){return{$$typeof:h,type:e,compare:void 0===t?null:t}},t.useCallback=function(e,t){return B().useCallback(e,t)},t.useContext=function(e,t){return B().useContext(e,t)},t.useDebugValue=function(){},t.useEffect=function(e,t){return B().useEffect(e,t)},t.useImperativeHandle=function(e,t,n){return B().useImperativeHandle(e,t,n)},t.useLayoutEffect=function(e,t){return B().useLayoutEffect(e,t)},t.useMemo=function(e,t){return B().useMemo(e,t)},t.useReducer=function(e,t,n){return B().useReducer(e,t,n)},t.useRef=function(e){return B().useRef(e)},t.useState=function(e){return B().useState(e)},t.version=\"16.13.1\"},function(e,t,n){\"use strict\";\n/** @license React v16.13.1\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */var r=n(3),i=n(73),o=n(261);function a(e){for(var t=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,n=1;n<arguments.length;n++)t+=\"&args[]=\"+encodeURIComponent(arguments[n]);return\"Minified React error #\"+e+\"; visit \"+t+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}if(!r)throw Error(a(227));function s(e,t,n,r,i,o,a,s,u){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(e){this.onError(e)}}var u=!1,c=null,l=!1,p=null,f={onError:function(e){u=!0,c=e}};function d(e,t,n,r,i,o,a,l,p){u=!1,c=null,s.apply(f,arguments)}var h=null,m=null,g=null;function y(e,t,n){var r=e.type||\"unknown-event\";e.currentTarget=g(n),function(e,t,n,r,i,o,s,f,h){if(d.apply(this,arguments),u){if(!u)throw Error(a(198));var m=c;u=!1,c=null,l||(l=!0,p=m)}}(r,t,void 0,e),e.currentTarget=null}var v=null,b={};function E(){if(v)for(var e in b){var t=b[e],n=v.indexOf(e);if(!(-1<n))throw Error(a(96,e));if(!D[n]){if(!t.extractEvents)throw Error(a(97,e));for(var r in D[n]=t,n=t.eventTypes){var i=void 0,o=n[r],s=t,u=r;if(C.hasOwnProperty(u))throw Error(a(99,u));C[u]=o;var c=o.phasedRegistrationNames;if(c){for(i in c)c.hasOwnProperty(i)&&x(c[i],s,u);i=!0}else o.registrationName?(x(o.registrationName,s,u),i=!0):i=!1;if(!i)throw Error(a(98,r,e))}}}}function x(e,t,n){if(w[e])throw Error(a(100,e));w[e]=t,S[e]=t.eventTypes[n].dependencies}var D=[],C={},w={},S={};function k(e){var t,n=!1;for(t in e)if(e.hasOwnProperty(t)){var r=e[t];if(!b.hasOwnProperty(t)||b[t]!==r){if(b[t])throw Error(a(102,t));b[t]=r,n=!0}}n&&E()}var A=!(\"undefined\"==typeof window||void 0===window.document||void 0===window.document.createElement),T=null,_=null,O=null;function F(e){if(e=m(e)){if(\"function\"!=typeof T)throw Error(a(280));var t=e.stateNode;t&&(t=h(t),T(e.stateNode,e.type,t))}}function N(e){_?O?O.push(e):O=[e]:_=e}function I(){if(_){var e=_,t=O;if(O=_=null,F(e),t)for(e=0;e<t.length;e++)F(t[e])}}function M(e,t){return e(t)}function j(e,t,n,r,i){return e(t,n,r,i)}function L(){}var P=M,R=!1,B=!1;function U(){null===_&&null===O||(L(),I())}function z(e,t,n){if(B)return e(t,n);B=!0;try{return P(e,t,n)}finally{B=!1,U()}}var V=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,q=Object.prototype.hasOwnProperty,H={},W={};function G(e,t,n,r,i,o){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o}var K={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach((function(e){K[e]=new G(e,0,!1,e,null,!1)})),[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach((function(e){var t=e[0];K[t]=new G(t,1,!1,e[1],null,!1)})),[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach((function(e){K[e]=new G(e,2,!1,e.toLowerCase(),null,!1)})),[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach((function(e){K[e]=new G(e,2,!1,e,null,!1)})),\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach((function(e){K[e]=new G(e,3,!1,e.toLowerCase(),null,!1)})),[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach((function(e){K[e]=new G(e,3,!0,e,null,!1)})),[\"capture\",\"download\"].forEach((function(e){K[e]=new G(e,4,!1,e,null,!1)})),[\"cols\",\"rows\",\"size\",\"span\"].forEach((function(e){K[e]=new G(e,6,!1,e,null,!1)})),[\"rowSpan\",\"start\"].forEach((function(e){K[e]=new G(e,5,!1,e.toLowerCase(),null,!1)}));var J=/[\\-:]([a-z])/g;function Q(e){return e[1].toUpperCase()}\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach((function(e){var t=e.replace(J,Q);K[t]=new G(t,1,!1,e,null,!1)})),\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach((function(e){var t=e.replace(J,Q);K[t]=new G(t,1,!1,e,\"http://www.w3.org/1999/xlink\",!1)})),[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach((function(e){var t=e.replace(J,Q);K[t]=new G(t,1,!1,e,\"http://www.w3.org/XML/1998/namespace\",!1)})),[\"tabIndex\",\"crossOrigin\"].forEach((function(e){K[e]=new G(e,1,!1,e.toLowerCase(),null,!1)})),K.xlinkHref=new G(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0),[\"src\",\"href\",\"action\",\"formAction\"].forEach((function(e){K[e]=new G(e,1,!1,e.toLowerCase(),null,!0)}));var Y=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function $(e,t,n,r){var i=K.hasOwnProperty(t)?K[t]:null;(null!==i?0===i.type:!r&&(2<t.length&&(\"o\"===t[0]||\"O\"===t[0])&&(\"n\"===t[1]||\"N\"===t[1])))||(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case\"function\":case\"symbol\":return!0;case\"boolean\":return!r&&(null!==n?!n.acceptsBooleans:\"data-\"!==(e=e.toLowerCase().slice(0,5))&&\"aria-\"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,i,r)&&(n=null),r||null===i?function(e){return!!q.call(W,e)||!q.call(H,e)&&(V.test(e)?W[e]=!0:(H[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,\"\"+n)):i.mustUseProperty?e[i.propertyName]=null===n?3!==i.type&&\"\":n:(t=i.attributeName,r=i.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(i=i.type)||4===i&&!0===n?\"\":\"\"+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}Y.hasOwnProperty(\"ReactCurrentDispatcher\")||(Y.ReactCurrentDispatcher={current:null}),Y.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Y.ReactCurrentBatchConfig={suspense:null});var X=/^(.*)[\\\\\\/]/,Z=\"function\"==typeof Symbol&&Symbol.for,ee=Z?Symbol.for(\"react.element\"):60103,te=Z?Symbol.for(\"react.portal\"):60106,ne=Z?Symbol.for(\"react.fragment\"):60107,re=Z?Symbol.for(\"react.strict_mode\"):60108,ie=Z?Symbol.for(\"react.profiler\"):60114,oe=Z?Symbol.for(\"react.provider\"):60109,ae=Z?Symbol.for(\"react.context\"):60110,se=Z?Symbol.for(\"react.concurrent_mode\"):60111,ue=Z?Symbol.for(\"react.forward_ref\"):60112,ce=Z?Symbol.for(\"react.suspense\"):60113,le=Z?Symbol.for(\"react.suspense_list\"):60120,pe=Z?Symbol.for(\"react.memo\"):60115,fe=Z?Symbol.for(\"react.lazy\"):60116,de=Z?Symbol.for(\"react.block\"):60121,he=\"function\"==typeof Symbol&&Symbol.iterator;function me(e){return null===e||\"object\"!=typeof e?null:\"function\"==typeof(e=he&&e[he]||e[\"@@iterator\"])?e:null}function ge(e){if(null==e)return null;if(\"function\"==typeof e)return e.displayName||e.name||null;if(\"string\"==typeof e)return e;switch(e){case ne:return\"Fragment\";case te:return\"Portal\";case ie:return\"Profiler\";case re:return\"StrictMode\";case ce:return\"Suspense\";case le:return\"SuspenseList\"}if(\"object\"==typeof e)switch(e.$$typeof){case ae:return\"Context.Consumer\";case oe:return\"Context.Provider\";case ue:var t=e.render;return t=t.displayName||t.name||\"\",e.displayName||(\"\"!==t?\"ForwardRef(\"+t+\")\":\"ForwardRef\");case pe:return ge(e.type);case de:return ge(e.render);case fe:if(e=1===e._status?e._result:null)return ge(e)}return null}function ye(e){var t=\"\";do{e:switch(e.tag){case 3:case 4:case 6:case 7:case 10:case 9:var n=\"\";break e;default:var r=e._debugOwner,i=e._debugSource,o=ge(e.type);n=null,r&&(n=ge(r.type)),r=o,o=\"\",i?o=\" (at \"+i.fileName.replace(X,\"\")+\":\"+i.lineNumber+\")\":n&&(o=\" (created by \"+n+\")\"),n=\"\\n    in \"+(r||\"Unknown\")+o}t+=n,e=e.return}while(e);return t}function ve(e){switch(typeof e){case\"boolean\":case\"number\":case\"object\":case\"string\":case\"undefined\":return e;default:return\"\"}}function be(e){var t=e.type;return(e=e.nodeName)&&\"input\"===e.toLowerCase()&&(\"checkbox\"===t||\"radio\"===t)}function Ee(e){e._valueTracker||(e._valueTracker=function(e){var t=be(e)?\"checked\":\"value\",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=\"\"+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&\"function\"==typeof n.get&&\"function\"==typeof n.set){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){r=\"\"+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=\"\"+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function xe(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=\"\";return e&&(r=be(e)?e.checked?\"true\":\"false\":e.value),(e=r)!==n&&(t.setValue(e),!0)}function De(e,t){var n=t.checked;return i({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function Ce(e,t){var n=null==t.defaultValue?\"\":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=ve(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:\"checkbox\"===t.type||\"radio\"===t.type?null!=t.checked:null!=t.value}}function we(e,t){null!=(t=t.checked)&&$(e,\"checked\",t,!1)}function Se(e,t){we(e,t);var n=ve(t.value),r=t.type;if(null!=n)\"number\"===r?(0===n&&\"\"===e.value||e.value!=n)&&(e.value=\"\"+n):e.value!==\"\"+n&&(e.value=\"\"+n);else if(\"submit\"===r||\"reset\"===r)return void e.removeAttribute(\"value\");t.hasOwnProperty(\"value\")?Ae(e,t.type,n):t.hasOwnProperty(\"defaultValue\")&&Ae(e,t.type,ve(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function ke(e,t,n){if(t.hasOwnProperty(\"value\")||t.hasOwnProperty(\"defaultValue\")){var r=t.type;if(!(\"submit\"!==r&&\"reset\"!==r||void 0!==t.value&&null!==t.value))return;t=\"\"+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}\"\"!==(n=e.name)&&(e.name=\"\"),e.defaultChecked=!!e._wrapperState.initialChecked,\"\"!==n&&(e.name=n)}function Ae(e,t,n){\"number\"===t&&e.ownerDocument.activeElement===e||(null==n?e.defaultValue=\"\"+e._wrapperState.initialValue:e.defaultValue!==\"\"+n&&(e.defaultValue=\"\"+n))}function Te(e,t){return e=i({children:void 0},t),(t=function(e){var t=\"\";return r.Children.forEach(e,(function(e){null!=e&&(t+=e)})),t}(t.children))&&(e.children=t),e}function _e(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t[\"$\"+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty(\"$\"+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=\"\"+ve(n),t=null,i=0;i<e.length;i++){if(e[i].value===n)return e[i].selected=!0,void(r&&(e[i].defaultSelected=!0));null!==t||e[i].disabled||(t=e[i])}null!==t&&(t.selected=!0)}}function Oe(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(a(91));return i({},t,{value:void 0,defaultValue:void 0,children:\"\"+e._wrapperState.initialValue})}function Fe(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(a(92));if(Array.isArray(n)){if(!(1>=n.length))throw Error(a(93));n=n[0]}t=n}null==t&&(t=\"\"),n=t}e._wrapperState={initialValue:ve(n)}}function Ne(e,t){var n=ve(t.value),r=ve(t.defaultValue);null!=n&&((n=\"\"+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=\"\"+r)}function Ie(e){var t=e.textContent;t===e._wrapperState.initialValue&&\"\"!==t&&null!==t&&(e.value=t)}var Me=\"http://www.w3.org/1999/xhtml\",je=\"http://www.w3.org/2000/svg\";function Le(e){switch(e){case\"svg\":return\"http://www.w3.org/2000/svg\";case\"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Pe(e,t){return null==e||\"http://www.w3.org/1999/xhtml\"===e?Le(t):\"http://www.w3.org/2000/svg\"===e&&\"foreignObject\"===t?\"http://www.w3.org/1999/xhtml\":e}var Re,Be=function(e){return\"undefined\"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,r,i){MSApp.execUnsafeLocalFunction((function(){return e(t,n)}))}:e}((function(e,t){if(e.namespaceURI!==je||\"innerHTML\"in e)e.innerHTML=t;else{for((Re=Re||document.createElement(\"div\")).innerHTML=\"<svg>\"+t.valueOf().toString()+\"</svg>\",t=Re.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}}));function Ue(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}function ze(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[\"Webkit\"+e]=\"webkit\"+t,n[\"Moz\"+e]=\"moz\"+t,n}var Ve={animationend:ze(\"Animation\",\"AnimationEnd\"),animationiteration:ze(\"Animation\",\"AnimationIteration\"),animationstart:ze(\"Animation\",\"AnimationStart\"),transitionend:ze(\"Transition\",\"TransitionEnd\")},qe={},He={};function We(e){if(qe[e])return qe[e];if(!Ve[e])return e;var t,n=Ve[e];for(t in n)if(n.hasOwnProperty(t)&&t in He)return qe[e]=n[t];return e}A&&(He=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Ve.animationend.animation,delete Ve.animationiteration.animation,delete Ve.animationstart.animation),\"TransitionEvent\"in window||delete Ve.transitionend.transition);var Ge=We(\"animationend\"),Ke=We(\"animationiteration\"),Je=We(\"animationstart\"),Qe=We(\"transitionend\"),Ye=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),$e=new(\"function\"==typeof WeakMap?WeakMap:Map);function Xe(e){var t=$e.get(e);return void 0===t&&(t=new Map,$e.set(e,t)),t}function Ze(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(1026&(t=e).effectTag)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function et(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function tt(e){if(Ze(e)!==e)throw Error(a(188))}function nt(e){if(!(e=function(e){var t=e.alternate;if(!t){if(null===(t=Ze(e)))throw Error(a(188));return t!==e?null:e}for(var n=e,r=t;;){var i=n.return;if(null===i)break;var o=i.alternate;if(null===o){if(null!==(r=i.return)){n=r;continue}break}if(i.child===o.child){for(o=i.child;o;){if(o===n)return tt(i),e;if(o===r)return tt(i),t;o=o.sibling}throw Error(a(188))}if(n.return!==r.return)n=i,r=o;else{for(var s=!1,u=i.child;u;){if(u===n){s=!0,n=i,r=o;break}if(u===r){s=!0,r=i,n=o;break}u=u.sibling}if(!s){for(u=o.child;u;){if(u===n){s=!0,n=o,r=i;break}if(u===r){s=!0,r=o,n=i;break}u=u.sibling}if(!s)throw Error(a(189))}}if(n.alternate!==r)throw Error(a(190))}if(3!==n.tag)throw Error(a(188));return n.stateNode.current===n?e:t}(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}function rt(e,t){if(null==t)throw Error(a(30));return null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}function it(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}var ot=null;function at(e){if(e){var t=e._dispatchListeners,n=e._dispatchInstances;if(Array.isArray(t))for(var r=0;r<t.length&&!e.isPropagationStopped();r++)y(e,t[r],n[r]);else t&&y(e,t,n);e._dispatchListeners=null,e._dispatchInstances=null,e.isPersistent()||e.constructor.release(e)}}function st(e){if(null!==e&&(ot=rt(ot,e)),e=ot,ot=null,e){if(it(e,at),ot)throw Error(a(95));if(l)throw e=p,l=!1,p=null,e}}function ut(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}function ct(e){if(!A)return!1;var t=(e=\"on\"+e)in document;return t||((t=document.createElement(\"div\")).setAttribute(e,\"return;\"),t=\"function\"==typeof t[e]),t}var lt=[];function pt(e){e.topLevelType=null,e.nativeEvent=null,e.targetInst=null,e.ancestors.length=0,10>lt.length&&lt.push(e)}function ft(e,t,n,r){if(lt.length){var i=lt.pop();return i.topLevelType=e,i.eventSystemFlags=r,i.nativeEvent=t,i.targetInst=n,i}return{topLevelType:e,eventSystemFlags:r,nativeEvent:t,targetInst:n,ancestors:[]}}function dt(e){var t=e.targetInst,n=t;do{if(!n){e.ancestors.push(n);break}var r=n;if(3===r.tag)r=r.stateNode.containerInfo;else{for(;r.return;)r=r.return;r=3!==r.tag?null:r.stateNode.containerInfo}if(!r)break;5!==(t=n.tag)&&6!==t||e.ancestors.push(n),n=An(r)}while(n);for(n=0;n<e.ancestors.length;n++){t=e.ancestors[n];var i=ut(e.nativeEvent);r=e.topLevelType;var o=e.nativeEvent,a=e.eventSystemFlags;0===n&&(a|=64);for(var s=null,u=0;u<D.length;u++){var c=D[u];c&&(c=c.extractEvents(r,t,o,i,a))&&(s=rt(s,c))}st(s)}}function ht(e,t,n){if(!n.has(e)){switch(e){case\"scroll\":Jt(t,\"scroll\",!0);break;case\"focus\":case\"blur\":Jt(t,\"focus\",!0),Jt(t,\"blur\",!0),n.set(\"blur\",null),n.set(\"focus\",null);break;case\"cancel\":case\"close\":ct(e)&&Jt(t,e,!0);break;case\"invalid\":case\"submit\":case\"reset\":break;default:-1===Ye.indexOf(e)&&Kt(e,t)}n.set(e,null)}}var mt,gt,yt,vt=!1,bt=[],Et=null,xt=null,Dt=null,Ct=new Map,wt=new Map,St=[],kt=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit\".split(\" \"),At=\"focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture\".split(\" \");function Tt(e,t,n,r,i){return{blockedOn:e,topLevelType:t,eventSystemFlags:32|n,nativeEvent:i,container:r}}function _t(e,t){switch(e){case\"focus\":case\"blur\":Et=null;break;case\"dragenter\":case\"dragleave\":xt=null;break;case\"mouseover\":case\"mouseout\":Dt=null;break;case\"pointerover\":case\"pointerout\":Ct.delete(t.pointerId);break;case\"gotpointercapture\":case\"lostpointercapture\":wt.delete(t.pointerId)}}function Ot(e,t,n,r,i,o){return null===e||e.nativeEvent!==o?(e=Tt(t,n,r,i,o),null!==t&&(null!==(t=Tn(t))&&gt(t)),e):(e.eventSystemFlags|=r,e)}function Ft(e){var t=An(e.target);if(null!==t){var n=Ze(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=et(n)))return e.blockedOn=t,void o.unstable_runWithPriority(e.priority,(function(){yt(n)}))}else if(3===t&&n.stateNode.hydrate)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Nt(e){if(null!==e.blockedOn)return!1;var t=Xt(e.topLevelType,e.eventSystemFlags,e.container,e.nativeEvent);if(null!==t){var n=Tn(t);return null!==n&&gt(n),e.blockedOn=t,!1}return!0}function It(e,t,n){Nt(e)&&n.delete(t)}function Mt(){for(vt=!1;0<bt.length;){var e=bt[0];if(null!==e.blockedOn){null!==(e=Tn(e.blockedOn))&&mt(e);break}var t=Xt(e.topLevelType,e.eventSystemFlags,e.container,e.nativeEvent);null!==t?e.blockedOn=t:bt.shift()}null!==Et&&Nt(Et)&&(Et=null),null!==xt&&Nt(xt)&&(xt=null),null!==Dt&&Nt(Dt)&&(Dt=null),Ct.forEach(It),wt.forEach(It)}function jt(e,t){e.blockedOn===t&&(e.blockedOn=null,vt||(vt=!0,o.unstable_scheduleCallback(o.unstable_NormalPriority,Mt)))}function Lt(e){function t(t){return jt(t,e)}if(0<bt.length){jt(bt[0],e);for(var n=1;n<bt.length;n++){var r=bt[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==Et&&jt(Et,e),null!==xt&&jt(xt,e),null!==Dt&&jt(Dt,e),Ct.forEach(t),wt.forEach(t),n=0;n<St.length;n++)(r=St[n]).blockedOn===e&&(r.blockedOn=null);for(;0<St.length&&null===(n=St[0]).blockedOn;)Ft(n),null===n.blockedOn&&St.shift()}var Pt={},Rt=new Map,Bt=new Map,Ut=[\"abort\",\"abort\",Ge,\"animationEnd\",Ke,\"animationIteration\",Je,\"animationStart\",\"canplay\",\"canPlay\",\"canplaythrough\",\"canPlayThrough\",\"durationchange\",\"durationChange\",\"emptied\",\"emptied\",\"encrypted\",\"encrypted\",\"ended\",\"ended\",\"error\",\"error\",\"gotpointercapture\",\"gotPointerCapture\",\"load\",\"load\",\"loadeddata\",\"loadedData\",\"loadedmetadata\",\"loadedMetadata\",\"loadstart\",\"loadStart\",\"lostpointercapture\",\"lostPointerCapture\",\"playing\",\"playing\",\"progress\",\"progress\",\"seeking\",\"seeking\",\"stalled\",\"stalled\",\"suspend\",\"suspend\",\"timeupdate\",\"timeUpdate\",Qe,\"transitionEnd\",\"waiting\",\"waiting\"];function zt(e,t){for(var n=0;n<e.length;n+=2){var r=e[n],i=e[n+1],o=\"on\"+(i[0].toUpperCase()+i.slice(1));o={phasedRegistrationNames:{bubbled:o,captured:o+\"Capture\"},dependencies:[r],eventPriority:t},Bt.set(r,t),Rt.set(r,o),Pt[i]=o}}zt(\"blur blur cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focus focus input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange\".split(\" \"),0),zt(\"drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel\".split(\" \"),1),zt(Ut,2);for(var Vt=\"change selectionchange textInput compositionstart compositionend compositionupdate\".split(\" \"),qt=0;qt<Vt.length;qt++)Bt.set(Vt[qt],0);var Ht=o.unstable_UserBlockingPriority,Wt=o.unstable_runWithPriority,Gt=!0;function Kt(e,t){Jt(t,e,!1)}function Jt(e,t,n){var r=Bt.get(t);switch(void 0===r?2:r){case 0:r=Qt.bind(null,t,1,e);break;case 1:r=Yt.bind(null,t,1,e);break;default:r=$t.bind(null,t,1,e)}n?e.addEventListener(t,r,!0):e.addEventListener(t,r,!1)}function Qt(e,t,n,r){R||L();var i=$t,o=R;R=!0;try{j(i,e,t,n,r)}finally{(R=o)||U()}}function Yt(e,t,n,r){Wt(Ht,$t.bind(null,e,t,n,r))}function $t(e,t,n,r){if(Gt)if(0<bt.length&&-1<kt.indexOf(e))e=Tt(null,e,t,n,r),bt.push(e);else{var i=Xt(e,t,n,r);if(null===i)_t(e,r);else if(-1<kt.indexOf(e))e=Tt(i,e,t,n,r),bt.push(e);else if(!function(e,t,n,r,i){switch(t){case\"focus\":return Et=Ot(Et,e,t,n,r,i),!0;case\"dragenter\":return xt=Ot(xt,e,t,n,r,i),!0;case\"mouseover\":return Dt=Ot(Dt,e,t,n,r,i),!0;case\"pointerover\":var o=i.pointerId;return Ct.set(o,Ot(Ct.get(o)||null,e,t,n,r,i)),!0;case\"gotpointercapture\":return o=i.pointerId,wt.set(o,Ot(wt.get(o)||null,e,t,n,r,i)),!0}return!1}(i,e,t,n,r)){_t(e,r),e=ft(e,r,null,t);try{z(dt,e)}finally{pt(e)}}}}function Xt(e,t,n,r){if(null!==(n=An(n=ut(r)))){var i=Ze(n);if(null===i)n=null;else{var o=i.tag;if(13===o){if(null!==(n=et(i)))return n;n=null}else if(3===o){if(i.stateNode.hydrate)return 3===i.tag?i.stateNode.containerInfo:null;n=null}else i!==n&&(n=null)}}e=ft(e,r,n,t);try{z(dt,e)}finally{pt(e)}return null}var Zt={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},en=[\"Webkit\",\"ms\",\"Moz\",\"O\"];function tn(e,t,n){return null==t||\"boolean\"==typeof t||\"\"===t?\"\":n||\"number\"!=typeof t||0===t||Zt.hasOwnProperty(e)&&Zt[e]?(\"\"+t).trim():t+\"px\"}function nn(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf(\"--\"),i=tn(n,t[n],r);\"float\"===n&&(n=\"cssFloat\"),r?e.setProperty(n,i):e[n]=i}}Object.keys(Zt).forEach((function(e){en.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Zt[t]=Zt[e]}))}));var rn=i({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function on(e,t){if(t){if(rn[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(a(137,e,\"\"));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(a(60));if(\"object\"!=typeof t.dangerouslySetInnerHTML||!(\"__html\"in t.dangerouslySetInnerHTML))throw Error(a(61))}if(null!=t.style&&\"object\"!=typeof t.style)throw Error(a(62,\"\"))}}function an(e,t){if(-1===e.indexOf(\"-\"))return\"string\"==typeof t.is;switch(e){case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return!1;default:return!0}}var sn=Me;function un(e,t){var n=Xe(e=9===e.nodeType||11===e.nodeType?e:e.ownerDocument);t=S[t];for(var r=0;r<t.length;r++)ht(t[r],e,n)}function cn(){}function ln(e){if(void 0===(e=e||(\"undefined\"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function pn(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function fn(e,t){var n,r=pn(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=pn(r)}}function dn(){for(var e=window,t=ln();t instanceof e.HTMLIFrameElement;){try{var n=\"string\"==typeof t.contentWindow.location.href}catch(e){n=!1}if(!n)break;t=ln((e=t.contentWindow).document)}return t}function hn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(\"input\"===t&&(\"text\"===e.type||\"search\"===e.type||\"tel\"===e.type||\"url\"===e.type||\"password\"===e.type)||\"textarea\"===t||\"true\"===e.contentEditable)}var mn=null,gn=null;function yn(e,t){switch(e){case\"button\":case\"input\":case\"select\":case\"textarea\":return!!t.autoFocus}return!1}function vn(e,t){return\"textarea\"===e||\"option\"===e||\"noscript\"===e||\"string\"==typeof t.children||\"number\"==typeof t.children||\"object\"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var bn=\"function\"==typeof setTimeout?setTimeout:void 0,En=\"function\"==typeof clearTimeout?clearTimeout:void 0;function xn(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break}return e}function Dn(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if(\"$\"===n||\"$!\"===n||\"$?\"===n){if(0===t)return e;t--}else\"/$\"===n&&t++}e=e.previousSibling}return null}var Cn=Math.random().toString(36).slice(2),wn=\"__reactInternalInstance$\"+Cn,Sn=\"__reactEventHandlers$\"+Cn,kn=\"__reactContainere$\"+Cn;function An(e){var t=e[wn];if(t)return t;for(var n=e.parentNode;n;){if(t=n[kn]||n[wn]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=Dn(e);null!==e;){if(n=e[wn])return n;e=Dn(e)}return t}n=(e=n).parentNode}return null}function Tn(e){return!(e=e[wn]||e[kn])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function _n(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(a(33))}function On(e){return e[Sn]||null}function Fn(e){do{e=e.return}while(e&&5!==e.tag);return e||null}function Nn(e,t){var n=e.stateNode;if(!n)return null;var r=h(n);if(!r)return null;n=r[t];e:switch(t){case\"onClick\":case\"onClickCapture\":case\"onDoubleClick\":case\"onDoubleClickCapture\":case\"onMouseDown\":case\"onMouseDownCapture\":case\"onMouseMove\":case\"onMouseMoveCapture\":case\"onMouseUp\":case\"onMouseUpCapture\":case\"onMouseEnter\":(r=!r.disabled)||(r=!(\"button\"===(e=e.type)||\"input\"===e||\"select\"===e||\"textarea\"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&\"function\"!=typeof n)throw Error(a(231,t,typeof n));return n}function In(e,t,n){(t=Nn(e,n.dispatchConfig.phasedRegistrationNames[t]))&&(n._dispatchListeners=rt(n._dispatchListeners,t),n._dispatchInstances=rt(n._dispatchInstances,e))}function Mn(e){if(e&&e.dispatchConfig.phasedRegistrationNames){for(var t=e._targetInst,n=[];t;)n.push(t),t=Fn(t);for(t=n.length;0<t--;)In(n[t],\"captured\",e);for(t=0;t<n.length;t++)In(n[t],\"bubbled\",e)}}function jn(e,t,n){e&&n&&n.dispatchConfig.registrationName&&(t=Nn(e,n.dispatchConfig.registrationName))&&(n._dispatchListeners=rt(n._dispatchListeners,t),n._dispatchInstances=rt(n._dispatchInstances,e))}function Ln(e){e&&e.dispatchConfig.registrationName&&jn(e._targetInst,null,e)}function Pn(e){it(e,Mn)}var Rn=null,Bn=null,Un=null;function zn(){if(Un)return Un;var e,t,n=Bn,r=n.length,i=\"value\"in Rn?Rn.value:Rn.textContent,o=i.length;for(e=0;e<r&&n[e]===i[e];e++);var a=r-e;for(t=1;t<=a&&n[r-t]===i[o-t];t++);return Un=i.slice(e,1<t?1-t:void 0)}function Vn(){return!0}function qn(){return!1}function Hn(e,t,n,r){for(var i in this.dispatchConfig=e,this._targetInst=t,this.nativeEvent=n,e=this.constructor.Interface)e.hasOwnProperty(i)&&((t=e[i])?this[i]=t(n):\"target\"===i?this.target=r:this[i]=n[i]);return this.isDefaultPrevented=(null!=n.defaultPrevented?n.defaultPrevented:!1===n.returnValue)?Vn:qn,this.isPropagationStopped=qn,this}function Wn(e,t,n,r){if(this.eventPool.length){var i=this.eventPool.pop();return this.call(i,e,t,n,r),i}return new this(e,t,n,r)}function Gn(e){if(!(e instanceof this))throw Error(a(279));e.destructor(),10>this.eventPool.length&&this.eventPool.push(e)}function Kn(e){e.eventPool=[],e.getPooled=Wn,e.release=Gn}i(Hn.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():\"unknown\"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=Vn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():\"unknown\"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=Vn)},persist:function(){this.isPersistent=Vn},isPersistent:qn,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=qn,this._dispatchInstances=this._dispatchListeners=null}}),Hn.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null},Hn.extend=function(e){function t(){}function n(){return r.apply(this,arguments)}var r=this;t.prototype=r.prototype;var o=new t;return i(o,n.prototype),n.prototype=o,n.prototype.constructor=n,n.Interface=i({},r.Interface,e),n.extend=r.extend,Kn(n),n},Kn(Hn);var Jn=Hn.extend({data:null}),Qn=Hn.extend({data:null}),Yn=[9,13,27,32],$n=A&&\"CompositionEvent\"in window,Xn=null;A&&\"documentMode\"in document&&(Xn=document.documentMode);var Zn=A&&\"TextEvent\"in window&&!Xn,er=A&&(!$n||Xn&&8<Xn&&11>=Xn),tr=String.fromCharCode(32),nr={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",captured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},rr=!1;function ir(e,t){switch(e){case\"keyup\":return-1!==Yn.indexOf(t.keyCode);case\"keydown\":return 229!==t.keyCode;case\"keypress\":case\"mousedown\":case\"blur\":return!0;default:return!1}}function or(e){return\"object\"==typeof(e=e.detail)&&\"data\"in e?e.data:null}var ar=!1;var sr={eventTypes:nr,extractEvents:function(e,t,n,r){var i;if($n)e:{switch(e){case\"compositionstart\":var o=nr.compositionStart;break e;case\"compositionend\":o=nr.compositionEnd;break e;case\"compositionupdate\":o=nr.compositionUpdate;break e}o=void 0}else ar?ir(e,n)&&(o=nr.compositionEnd):\"keydown\"===e&&229===n.keyCode&&(o=nr.compositionStart);return o?(er&&\"ko\"!==n.locale&&(ar||o!==nr.compositionStart?o===nr.compositionEnd&&ar&&(i=zn()):(Bn=\"value\"in(Rn=r)?Rn.value:Rn.textContent,ar=!0)),o=Jn.getPooled(o,t,n,r),i?o.data=i:null!==(i=or(n))&&(o.data=i),Pn(o),i=o):i=null,(e=Zn?function(e,t){switch(e){case\"compositionend\":return or(t);case\"keypress\":return 32!==t.which?null:(rr=!0,tr);case\"textInput\":return(e=t.data)===tr&&rr?null:e;default:return null}}(e,n):function(e,t){if(ar)return\"compositionend\"===e||!$n&&ir(e,t)?(e=zn(),Un=Bn=Rn=null,ar=!1,e):null;switch(e){case\"paste\":return null;case\"keypress\":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case\"compositionend\":return er&&\"ko\"!==t.locale?null:t.data;default:return null}}(e,n))?((t=Qn.getPooled(nr.beforeInput,t,n,r)).data=e,Pn(t)):t=null,null===i?t:null===t?i:[i,t]}},ur={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function cr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return\"input\"===t?!!ur[e.type]:\"textarea\"===t}var lr={change:{phasedRegistrationNames:{bubbled:\"onChange\",captured:\"onChangeCapture\"},dependencies:\"blur change click focus input keydown keyup selectionchange\".split(\" \")}};function pr(e,t,n){return(e=Hn.getPooled(lr.change,e,t,n)).type=\"change\",N(n),Pn(e),e}var fr=null,dr=null;function hr(e){st(e)}function mr(e){if(xe(_n(e)))return e}function gr(e,t){if(\"change\"===e)return t}var yr=!1;function vr(){fr&&(fr.detachEvent(\"onpropertychange\",br),dr=fr=null)}function br(e){if(\"value\"===e.propertyName&&mr(dr))if(e=pr(dr,e,ut(e)),R)st(e);else{R=!0;try{M(hr,e)}finally{R=!1,U()}}}function Er(e,t,n){\"focus\"===e?(vr(),dr=n,(fr=t).attachEvent(\"onpropertychange\",br)):\"blur\"===e&&vr()}function xr(e){if(\"selectionchange\"===e||\"keyup\"===e||\"keydown\"===e)return mr(dr)}function Dr(e,t){if(\"click\"===e)return mr(t)}function Cr(e,t){if(\"input\"===e||\"change\"===e)return mr(t)}A&&(yr=ct(\"input\")&&(!document.documentMode||9<document.documentMode));var wr={eventTypes:lr,_isInputEventSupported:yr,extractEvents:function(e,t,n,r){var i=t?_n(t):window,o=i.nodeName&&i.nodeName.toLowerCase();if(\"select\"===o||\"input\"===o&&\"file\"===i.type)var a=gr;else if(cr(i))if(yr)a=Cr;else{a=xr;var s=Er}else(o=i.nodeName)&&\"input\"===o.toLowerCase()&&(\"checkbox\"===i.type||\"radio\"===i.type)&&(a=Dr);if(a&&(a=a(e,t)))return pr(a,n,r);s&&s(e,i,t),\"blur\"===e&&(e=i._wrapperState)&&e.controlled&&\"number\"===i.type&&Ae(i,\"number\",i.value)}},Sr=Hn.extend({view:null,detail:null}),kr={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Ar(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=kr[e])&&!!t[e]}function Tr(){return Ar}var _r=0,Or=0,Fr=!1,Nr=!1,Ir=Sr.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:Tr,button:null,buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)},movementX:function(e){if(\"movementX\"in e)return e.movementX;var t=_r;return _r=e.screenX,Fr?\"mousemove\"===e.type?e.screenX-t:0:(Fr=!0,0)},movementY:function(e){if(\"movementY\"in e)return e.movementY;var t=Or;return Or=e.screenY,Nr?\"mousemove\"===e.type?e.screenY-t:0:(Nr=!0,0)}}),Mr=Ir.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),jr={mouseEnter:{registrationName:\"onMouseEnter\",dependencies:[\"mouseout\",\"mouseover\"]},mouseLeave:{registrationName:\"onMouseLeave\",dependencies:[\"mouseout\",\"mouseover\"]},pointerEnter:{registrationName:\"onPointerEnter\",dependencies:[\"pointerout\",\"pointerover\"]},pointerLeave:{registrationName:\"onPointerLeave\",dependencies:[\"pointerout\",\"pointerover\"]}},Lr={eventTypes:jr,extractEvents:function(e,t,n,r,i){var o=\"mouseover\"===e||\"pointerover\"===e,a=\"mouseout\"===e||\"pointerout\"===e;if(o&&0==(32&i)&&(n.relatedTarget||n.fromElement)||!a&&!o)return null;(o=r.window===r?r:(o=r.ownerDocument)?o.defaultView||o.parentWindow:window,a)?(a=t,null!==(t=(t=n.relatedTarget||n.toElement)?An(t):null)&&(t!==Ze(t)||5!==t.tag&&6!==t.tag)&&(t=null)):a=null;if(a===t)return null;if(\"mouseout\"===e||\"mouseover\"===e)var s=Ir,u=jr.mouseLeave,c=jr.mouseEnter,l=\"mouse\";else\"pointerout\"!==e&&\"pointerover\"!==e||(s=Mr,u=jr.pointerLeave,c=jr.pointerEnter,l=\"pointer\");if(e=null==a?o:_n(a),o=null==t?o:_n(t),(u=s.getPooled(u,a,n,r)).type=l+\"leave\",u.target=e,u.relatedTarget=o,(n=s.getPooled(c,t,n,r)).type=l+\"enter\",n.target=o,n.relatedTarget=e,l=t,(r=a)&&l)e:{for(c=l,a=0,e=s=r;e;e=Fn(e))a++;for(e=0,t=c;t;t=Fn(t))e++;for(;0<a-e;)s=Fn(s),a--;for(;0<e-a;)c=Fn(c),e--;for(;a--;){if(s===c||s===c.alternate)break e;s=Fn(s),c=Fn(c)}s=null}else s=null;for(c=s,s=[];r&&r!==c&&(null===(a=r.alternate)||a!==c);)s.push(r),r=Fn(r);for(r=[];l&&l!==c&&(null===(a=l.alternate)||a!==c);)r.push(l),l=Fn(l);for(l=0;l<s.length;l++)jn(s[l],\"bubbled\",u);for(l=r.length;0<l--;)jn(r[l],\"captured\",n);return 0==(64&i)?[u]:[u,n]}};var Pr=\"function\"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},Rr=Object.prototype.hasOwnProperty;function Br(e,t){if(Pr(e,t))return!0;if(\"object\"!=typeof e||null===e||\"object\"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++)if(!Rr.call(t,n[r])||!Pr(e[n[r]],t[n[r]]))return!1;return!0}var Ur=A&&\"documentMode\"in document&&11>=document.documentMode,zr={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},Vr=null,qr=null,Hr=null,Wr=!1;function Gr(e,t){var n=t.window===t?t.document:9===t.nodeType?t:t.ownerDocument;return Wr||null==Vr||Vr!==ln(n)?null:(\"selectionStart\"in(n=Vr)&&hn(n)?n={start:n.selectionStart,end:n.selectionEnd}:n={anchorNode:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset},Hr&&Br(Hr,n)?null:(Hr=n,(e=Hn.getPooled(zr.select,qr,e,t)).type=\"select\",e.target=Vr,Pn(e),e))}var Kr={eventTypes:zr,extractEvents:function(e,t,n,r,i,o){if(!(o=!(i=o||(r.window===r?r.document:9===r.nodeType?r:r.ownerDocument)))){e:{i=Xe(i),o=S.onSelect;for(var a=0;a<o.length;a++)if(!i.has(o[a])){i=!1;break e}i=!0}o=!i}if(o)return null;switch(i=t?_n(t):window,e){case\"focus\":(cr(i)||\"true\"===i.contentEditable)&&(Vr=i,qr=t,Hr=null);break;case\"blur\":Hr=qr=Vr=null;break;case\"mousedown\":Wr=!0;break;case\"contextmenu\":case\"mouseup\":case\"dragend\":return Wr=!1,Gr(n,r);case\"selectionchange\":if(Ur)break;case\"keydown\":case\"keyup\":return Gr(n,r)}return null}},Jr=Hn.extend({animationName:null,elapsedTime:null,pseudoElement:null}),Qr=Hn.extend({clipboardData:function(e){return\"clipboardData\"in e?e.clipboardData:window.clipboardData}}),Yr=Sr.extend({relatedTarget:null});function $r(e){var t=e.keyCode;return\"charCode\"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}var Xr={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Zr={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},ei=Sr.extend({key:function(e){if(e.key){var t=Xr[e.key]||e.key;if(\"Unidentified\"!==t)return t}return\"keypress\"===e.type?13===(e=$r(e))?\"Enter\":String.fromCharCode(e):\"keydown\"===e.type||\"keyup\"===e.type?Zr[e.keyCode]||\"Unidentified\":\"\"},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:Tr,charCode:function(e){return\"keypress\"===e.type?$r(e):0},keyCode:function(e){return\"keydown\"===e.type||\"keyup\"===e.type?e.keyCode:0},which:function(e){return\"keypress\"===e.type?$r(e):\"keydown\"===e.type||\"keyup\"===e.type?e.keyCode:0}}),ti=Ir.extend({dataTransfer:null}),ni=Sr.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:Tr}),ri=Hn.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),ii=Ir.extend({deltaX:function(e){return\"deltaX\"in e?e.deltaX:\"wheelDeltaX\"in e?-e.wheelDeltaX:0},deltaY:function(e){return\"deltaY\"in e?e.deltaY:\"wheelDeltaY\"in e?-e.wheelDeltaY:\"wheelDelta\"in e?-e.wheelDelta:0},deltaZ:null,deltaMode:null}),oi={eventTypes:Pt,extractEvents:function(e,t,n,r){var i=Rt.get(e);if(!i)return null;switch(e){case\"keypress\":if(0===$r(n))return null;case\"keydown\":case\"keyup\":e=ei;break;case\"blur\":case\"focus\":e=Yr;break;case\"click\":if(2===n.button)return null;case\"auxclick\":case\"dblclick\":case\"mousedown\":case\"mousemove\":case\"mouseup\":case\"mouseout\":case\"mouseover\":case\"contextmenu\":e=Ir;break;case\"drag\":case\"dragend\":case\"dragenter\":case\"dragexit\":case\"dragleave\":case\"dragover\":case\"dragstart\":case\"drop\":e=ti;break;case\"touchcancel\":case\"touchend\":case\"touchmove\":case\"touchstart\":e=ni;break;case Ge:case Ke:case Je:e=Jr;break;case Qe:e=ri;break;case\"scroll\":e=Sr;break;case\"wheel\":e=ii;break;case\"copy\":case\"cut\":case\"paste\":e=Qr;break;case\"gotpointercapture\":case\"lostpointercapture\":case\"pointercancel\":case\"pointerdown\":case\"pointermove\":case\"pointerout\":case\"pointerover\":case\"pointerup\":e=Mr;break;default:e=Hn}return Pn(t=e.getPooled(i,t,n,r)),t}};if(v)throw Error(a(101));v=Array.prototype.slice.call(\"ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin\".split(\" \")),E(),h=On,m=Tn,g=_n,k({SimpleEventPlugin:oi,EnterLeaveEventPlugin:Lr,ChangeEventPlugin:wr,SelectEventPlugin:Kr,BeforeInputEventPlugin:sr});var ai=[],si=-1;function ui(e){0>si||(e.current=ai[si],ai[si]=null,si--)}function ci(e,t){si++,ai[si]=e.current,e.current=t}var li={},pi={current:li},fi={current:!1},di=li;function hi(e,t){var n=e.type.contextTypes;if(!n)return li;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i,o={};for(i in n)o[i]=t[i];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function mi(e){return null!=(e=e.childContextTypes)}function gi(){ui(fi),ui(pi)}function yi(e,t,n){if(pi.current!==li)throw Error(a(168));ci(pi,t),ci(fi,n)}function vi(e,t,n){var r=e.stateNode;if(e=t.childContextTypes,\"function\"!=typeof r.getChildContext)return n;for(var o in r=r.getChildContext())if(!(o in e))throw Error(a(108,ge(t)||\"Unknown\",o));return i({},n,{},r)}function bi(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||li,di=pi.current,ci(pi,e),ci(fi,fi.current),!0}function Ei(e,t,n){var r=e.stateNode;if(!r)throw Error(a(169));n?(e=vi(e,t,di),r.__reactInternalMemoizedMergedChildContext=e,ui(fi),ui(pi),ci(pi,e)):ui(fi),ci(fi,n)}var xi=o.unstable_runWithPriority,Di=o.unstable_scheduleCallback,Ci=o.unstable_cancelCallback,wi=o.unstable_requestPaint,Si=o.unstable_now,ki=o.unstable_getCurrentPriorityLevel,Ai=o.unstable_ImmediatePriority,Ti=o.unstable_UserBlockingPriority,_i=o.unstable_NormalPriority,Oi=o.unstable_LowPriority,Fi=o.unstable_IdlePriority,Ni={},Ii=o.unstable_shouldYield,Mi=void 0!==wi?wi:function(){},ji=null,Li=null,Pi=!1,Ri=Si(),Bi=1e4>Ri?Si:function(){return Si()-Ri};function Ui(){switch(ki()){case Ai:return 99;case Ti:return 98;case _i:return 97;case Oi:return 96;case Fi:return 95;default:throw Error(a(332))}}function zi(e){switch(e){case 99:return Ai;case 98:return Ti;case 97:return _i;case 96:return Oi;case 95:return Fi;default:throw Error(a(332))}}function Vi(e,t){return e=zi(e),xi(e,t)}function qi(e,t,n){return e=zi(e),Di(e,t,n)}function Hi(e){return null===ji?(ji=[e],Li=Di(Ai,Gi)):ji.push(e),Ni}function Wi(){if(null!==Li){var e=Li;Li=null,Ci(e)}Gi()}function Gi(){if(!Pi&&null!==ji){Pi=!0;var e=0;try{var t=ji;Vi(99,(function(){for(;e<t.length;e++){var n=t[e];do{n=n(!0)}while(null!==n)}})),ji=null}catch(t){throw null!==ji&&(ji=ji.slice(e+1)),Di(Ai,Wi),t}finally{Pi=!1}}}function Ki(e,t,n){return 1073741821-(1+((1073741821-e+t/10)/(n/=10)|0))*n}function Ji(e,t){if(e&&e.defaultProps)for(var n in t=i({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}var Qi={current:null},Yi=null,$i=null,Xi=null;function Zi(){Xi=$i=Yi=null}function eo(e){var t=Qi.current;ui(Qi),e.type._context._currentValue=t}function to(e,t){for(;null!==e;){var n=e.alternate;if(e.childExpirationTime<t)e.childExpirationTime=t,null!==n&&n.childExpirationTime<t&&(n.childExpirationTime=t);else{if(!(null!==n&&n.childExpirationTime<t))break;n.childExpirationTime=t}e=e.return}}function no(e,t){Yi=e,Xi=$i=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(e.expirationTime>=t&&(Oa=!0),e.firstContext=null)}function ro(e,t){if(Xi!==e&&!1!==t&&0!==t)if(\"number\"==typeof t&&1073741823!==t||(Xi=e,t=1073741823),t={context:e,observedBits:t,next:null},null===$i){if(null===Yi)throw Error(a(308));$i=t,Yi.dependencies={expirationTime:0,firstContext:t,responders:null}}else $i=$i.next=t;return e._currentValue}var io=!1;function oo(e){e.updateQueue={baseState:e.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}function ao(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,baseQueue:e.baseQueue,shared:e.shared,effects:e.effects})}function so(e,t){return(e={expirationTime:e,suspenseConfig:t,tag:0,payload:null,callback:null,next:null}).next=e}function uo(e,t){if(null!==(e=e.updateQueue)){var n=(e=e.shared).pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}}function co(e,t){var n=e.alternate;null!==n&&ao(n,e),null===(n=(e=e.updateQueue).baseQueue)?(e.baseQueue=t.next=t,t.next=t):(t.next=n.next,n.next=t)}function lo(e,t,n,r){var o=e.updateQueue;io=!1;var a=o.baseQueue,s=o.shared.pending;if(null!==s){if(null!==a){var u=a.next;a.next=s.next,s.next=u}a=s,o.shared.pending=null,null!==(u=e.alternate)&&(null!==(u=u.updateQueue)&&(u.baseQueue=s))}if(null!==a){u=a.next;var c=o.baseState,l=0,p=null,f=null,d=null;if(null!==u)for(var h=u;;){if((s=h.expirationTime)<r){var m={expirationTime:h.expirationTime,suspenseConfig:h.suspenseConfig,tag:h.tag,payload:h.payload,callback:h.callback,next:null};null===d?(f=d=m,p=c):d=d.next=m,s>l&&(l=s)}else{null!==d&&(d=d.next={expirationTime:1073741823,suspenseConfig:h.suspenseConfig,tag:h.tag,payload:h.payload,callback:h.callback,next:null}),ou(s,h.suspenseConfig);e:{var g=e,y=h;switch(s=t,m=n,y.tag){case 1:if(\"function\"==typeof(g=y.payload)){c=g.call(m,c,s);break e}c=g;break e;case 3:g.effectTag=-4097&g.effectTag|64;case 0:if(null==(s=\"function\"==typeof(g=y.payload)?g.call(m,c,s):g))break e;c=i({},c,s);break e;case 2:io=!0}}null!==h.callback&&(e.effectTag|=32,null===(s=o.effects)?o.effects=[h]:s.push(h))}if(null===(h=h.next)||h===u){if(null===(s=o.shared.pending))break;h=a.next=s.next,s.next=u,o.baseQueue=a=s,o.shared.pending=null}}null===d?p=c:d.next=f,o.baseState=p,o.baseQueue=d,au(l),e.expirationTime=l,e.memoizedState=c}}function po(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],i=r.callback;if(null!==i){if(r.callback=null,r=i,i=n,\"function\"!=typeof r)throw Error(a(191,r));r.call(i)}}}var fo=Y.ReactCurrentBatchConfig,ho=(new r.Component).refs;function mo(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:i({},t,n),e.memoizedState=n,0===e.expirationTime&&(e.updateQueue.baseState=n)}var go={isMounted:function(e){return!!(e=e._reactInternalFiber)&&Ze(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternalFiber;var r=Gs(),i=fo.suspense;(i=so(r=Ks(r,e,i),i)).payload=t,null!=n&&(i.callback=n),uo(e,i),Js(e,r)},enqueueReplaceState:function(e,t,n){e=e._reactInternalFiber;var r=Gs(),i=fo.suspense;(i=so(r=Ks(r,e,i),i)).tag=1,i.payload=t,null!=n&&(i.callback=n),uo(e,i),Js(e,r)},enqueueForceUpdate:function(e,t){e=e._reactInternalFiber;var n=Gs(),r=fo.suspense;(r=so(n=Ks(n,e,r),r)).tag=2,null!=t&&(r.callback=t),uo(e,r),Js(e,n)}};function yo(e,t,n,r,i,o,a){return\"function\"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,o,a):!t.prototype||!t.prototype.isPureReactComponent||(!Br(n,r)||!Br(i,o))}function vo(e,t,n){var r=!1,i=li,o=t.contextType;return\"object\"==typeof o&&null!==o?o=ro(o):(i=mi(t)?di:pi.current,o=(r=null!=(r=t.contextTypes))?hi(e,i):li),t=new t(n,o),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=go,e.stateNode=t,t._reactInternalFiber=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=o),t}function bo(e,t,n,r){e=t.state,\"function\"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),\"function\"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&go.enqueueReplaceState(t,t.state,null)}function Eo(e,t,n,r){var i=e.stateNode;i.props=n,i.state=e.memoizedState,i.refs=ho,oo(e);var o=t.contextType;\"object\"==typeof o&&null!==o?i.context=ro(o):(o=mi(t)?di:pi.current,i.context=hi(e,o)),lo(e,n,i,r),i.state=e.memoizedState,\"function\"==typeof(o=t.getDerivedStateFromProps)&&(mo(e,t,o,n),i.state=e.memoizedState),\"function\"==typeof t.getDerivedStateFromProps||\"function\"==typeof i.getSnapshotBeforeUpdate||\"function\"!=typeof i.UNSAFE_componentWillMount&&\"function\"!=typeof i.componentWillMount||(t=i.state,\"function\"==typeof i.componentWillMount&&i.componentWillMount(),\"function\"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),t!==i.state&&go.enqueueReplaceState(i,i.state,null),lo(e,n,i,r),i.state=e.memoizedState),\"function\"==typeof i.componentDidMount&&(e.effectTag|=4)}var xo=Array.isArray;function Do(e,t,n){if(null!==(e=n.ref)&&\"function\"!=typeof e&&\"object\"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(a(309));var r=n.stateNode}if(!r)throw Error(a(147,e));var i=\"\"+e;return null!==t&&null!==t.ref&&\"function\"==typeof t.ref&&t.ref._stringRef===i?t.ref:((t=function(e){var t=r.refs;t===ho&&(t=r.refs={}),null===e?delete t[i]:t[i]=e})._stringRef=i,t)}if(\"string\"!=typeof e)throw Error(a(284));if(!n._owner)throw Error(a(290,e))}return e}function Co(e,t){if(\"textarea\"!==e.type)throw Error(a(31,\"[object Object]\"===Object.prototype.toString.call(t)?\"object with keys {\"+Object.keys(t).join(\", \")+\"}\":t,\"\"))}function wo(e){function t(t,n){if(e){var r=t.lastEffect;null!==r?(r.nextEffect=n,t.lastEffect=n):t.firstEffect=t.lastEffect=n,n.nextEffect=null,n.effectTag=8}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function i(e,t){return(e=ku(e,t)).index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.effectTag=2,n):r:(t.effectTag=2,n):n}function s(t){return e&&null===t.alternate&&(t.effectTag=2),t}function u(e,t,n,r){return null===t||6!==t.tag?((t=_u(n,e.mode,r)).return=e,t):((t=i(t,n)).return=e,t)}function c(e,t,n,r){return null!==t&&t.elementType===n.type?((r=i(t,n.props)).ref=Do(e,t,n),r.return=e,r):((r=Au(n.type,n.key,n.props,null,e.mode,r)).ref=Do(e,t,n),r.return=e,r)}function l(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Ou(n,e.mode,r)).return=e,t):((t=i(t,n.children||[])).return=e,t)}function p(e,t,n,r,o){return null===t||7!==t.tag?((t=Tu(n,e.mode,r,o)).return=e,t):((t=i(t,n)).return=e,t)}function f(e,t,n){if(\"string\"==typeof t||\"number\"==typeof t)return(t=_u(\"\"+t,e.mode,n)).return=e,t;if(\"object\"==typeof t&&null!==t){switch(t.$$typeof){case ee:return(n=Au(t.type,t.key,t.props,null,e.mode,n)).ref=Do(e,null,t),n.return=e,n;case te:return(t=Ou(t,e.mode,n)).return=e,t}if(xo(t)||me(t))return(t=Tu(t,e.mode,n,null)).return=e,t;Co(e,t)}return null}function d(e,t,n,r){var i=null!==t?t.key:null;if(\"string\"==typeof n||\"number\"==typeof n)return null!==i?null:u(e,t,\"\"+n,r);if(\"object\"==typeof n&&null!==n){switch(n.$$typeof){case ee:return n.key===i?n.type===ne?p(e,t,n.props.children,r,i):c(e,t,n,r):null;case te:return n.key===i?l(e,t,n,r):null}if(xo(n)||me(n))return null!==i?null:p(e,t,n,r,null);Co(e,n)}return null}function h(e,t,n,r,i){if(\"string\"==typeof r||\"number\"==typeof r)return u(t,e=e.get(n)||null,\"\"+r,i);if(\"object\"==typeof r&&null!==r){switch(r.$$typeof){case ee:return e=e.get(null===r.key?n:r.key)||null,r.type===ne?p(t,e,r.props.children,i,r.key):c(t,e,r,i);case te:return l(t,e=e.get(null===r.key?n:r.key)||null,r,i)}if(xo(r)||me(r))return p(t,e=e.get(n)||null,r,i,null);Co(t,r)}return null}function m(i,a,s,u){for(var c=null,l=null,p=a,m=a=0,g=null;null!==p&&m<s.length;m++){p.index>m?(g=p,p=null):g=p.sibling;var y=d(i,p,s[m],u);if(null===y){null===p&&(p=g);break}e&&p&&null===y.alternate&&t(i,p),a=o(y,a,m),null===l?c=y:l.sibling=y,l=y,p=g}if(m===s.length)return n(i,p),c;if(null===p){for(;m<s.length;m++)null!==(p=f(i,s[m],u))&&(a=o(p,a,m),null===l?c=p:l.sibling=p,l=p);return c}for(p=r(i,p);m<s.length;m++)null!==(g=h(p,i,m,s[m],u))&&(e&&null!==g.alternate&&p.delete(null===g.key?m:g.key),a=o(g,a,m),null===l?c=g:l.sibling=g,l=g);return e&&p.forEach((function(e){return t(i,e)})),c}function g(i,s,u,c){var l=me(u);if(\"function\"!=typeof l)throw Error(a(150));if(null==(u=l.call(u)))throw Error(a(151));for(var p=l=null,m=s,g=s=0,y=null,v=u.next();null!==m&&!v.done;g++,v=u.next()){m.index>g?(y=m,m=null):y=m.sibling;var b=d(i,m,v.value,c);if(null===b){null===m&&(m=y);break}e&&m&&null===b.alternate&&t(i,m),s=o(b,s,g),null===p?l=b:p.sibling=b,p=b,m=y}if(v.done)return n(i,m),l;if(null===m){for(;!v.done;g++,v=u.next())null!==(v=f(i,v.value,c))&&(s=o(v,s,g),null===p?l=v:p.sibling=v,p=v);return l}for(m=r(i,m);!v.done;g++,v=u.next())null!==(v=h(m,i,g,v.value,c))&&(e&&null!==v.alternate&&m.delete(null===v.key?g:v.key),s=o(v,s,g),null===p?l=v:p.sibling=v,p=v);return e&&m.forEach((function(e){return t(i,e)})),l}return function(e,r,o,u){var c=\"object\"==typeof o&&null!==o&&o.type===ne&&null===o.key;c&&(o=o.props.children);var l=\"object\"==typeof o&&null!==o;if(l)switch(o.$$typeof){case ee:e:{for(l=o.key,c=r;null!==c;){if(c.key===l){switch(c.tag){case 7:if(o.type===ne){n(e,c.sibling),(r=i(c,o.props.children)).return=e,e=r;break e}break;default:if(c.elementType===o.type){n(e,c.sibling),(r=i(c,o.props)).ref=Do(e,c,o),r.return=e,e=r;break e}}n(e,c);break}t(e,c),c=c.sibling}o.type===ne?((r=Tu(o.props.children,e.mode,u,o.key)).return=e,e=r):((u=Au(o.type,o.key,o.props,null,e.mode,u)).ref=Do(e,r,o),u.return=e,e=u)}return s(e);case te:e:{for(c=o.key;null!==r;){if(r.key===c){if(4===r.tag&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),(r=i(r,o.children||[])).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=Ou(o,e.mode,u)).return=e,e=r}return s(e)}if(\"string\"==typeof o||\"number\"==typeof o)return o=\"\"+o,null!==r&&6===r.tag?(n(e,r.sibling),(r=i(r,o)).return=e,e=r):(n(e,r),(r=_u(o,e.mode,u)).return=e,e=r),s(e);if(xo(o))return m(e,r,o,u);if(me(o))return g(e,r,o,u);if(l&&Co(e,o),void 0===o&&!c)switch(e.tag){case 1:case 0:throw e=e.type,Error(a(152,e.displayName||e.name||\"Component\"))}return n(e,r)}}var So=wo(!0),ko=wo(!1),Ao={},To={current:Ao},_o={current:Ao},Oo={current:Ao};function Fo(e){if(e===Ao)throw Error(a(174));return e}function No(e,t){switch(ci(Oo,t),ci(_o,e),ci(To,Ao),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Pe(null,\"\");break;default:t=Pe(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}ui(To),ci(To,t)}function Io(){ui(To),ui(_o),ui(Oo)}function Mo(e){Fo(Oo.current);var t=Fo(To.current),n=Pe(t,e.type);t!==n&&(ci(_o,e),ci(To,n))}function jo(e){_o.current===e&&(ui(To),ui(_o))}var Lo={current:0};function Po(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||\"$?\"===n.data||\"$!\"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(64&t.effectTag))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}function Ro(e,t){return{responder:e,props:t}}var Bo=Y.ReactCurrentDispatcher,Uo=Y.ReactCurrentBatchConfig,zo=0,Vo=null,qo=null,Ho=null,Wo=!1;function Go(){throw Error(a(321))}function Ko(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Pr(e[n],t[n]))return!1;return!0}function Jo(e,t,n,r,i,o){if(zo=o,Vo=t,t.memoizedState=null,t.updateQueue=null,t.expirationTime=0,Bo.current=null===e||null===e.memoizedState?ya:va,e=n(r,i),t.expirationTime===zo){o=0;do{if(t.expirationTime=0,!(25>o))throw Error(a(301));o+=1,Ho=qo=null,t.updateQueue=null,Bo.current=ba,e=n(r,i)}while(t.expirationTime===zo)}if(Bo.current=ga,t=null!==qo&&null!==qo.next,zo=0,Ho=qo=Vo=null,Wo=!1,t)throw Error(a(300));return e}function Qo(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===Ho?Vo.memoizedState=Ho=e:Ho=Ho.next=e,Ho}function Yo(){if(null===qo){var e=Vo.alternate;e=null!==e?e.memoizedState:null}else e=qo.next;var t=null===Ho?Vo.memoizedState:Ho.next;if(null!==t)Ho=t,qo=e;else{if(null===e)throw Error(a(310));e={memoizedState:(qo=e).memoizedState,baseState:qo.baseState,baseQueue:qo.baseQueue,queue:qo.queue,next:null},null===Ho?Vo.memoizedState=Ho=e:Ho=Ho.next=e}return Ho}function $o(e,t){return\"function\"==typeof t?t(e):t}function Xo(e){var t=Yo(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var r=qo,i=r.baseQueue,o=n.pending;if(null!==o){if(null!==i){var s=i.next;i.next=o.next,o.next=s}r.baseQueue=i=o,n.pending=null}if(null!==i){i=i.next,r=r.baseState;var u=s=o=null,c=i;do{var l=c.expirationTime;if(l<zo){var p={expirationTime:c.expirationTime,suspenseConfig:c.suspenseConfig,action:c.action,eagerReducer:c.eagerReducer,eagerState:c.eagerState,next:null};null===u?(s=u=p,o=r):u=u.next=p,l>Vo.expirationTime&&(Vo.expirationTime=l,au(l))}else null!==u&&(u=u.next={expirationTime:1073741823,suspenseConfig:c.suspenseConfig,action:c.action,eagerReducer:c.eagerReducer,eagerState:c.eagerState,next:null}),ou(l,c.suspenseConfig),r=c.eagerReducer===e?c.eagerState:e(r,c.action);c=c.next}while(null!==c&&c!==i);null===u?o=r:u.next=s,Pr(r,t.memoizedState)||(Oa=!0),t.memoizedState=r,t.baseState=o,t.baseQueue=u,n.lastRenderedState=r}return[t.memoizedState,n.dispatch]}function Zo(e){var t=Yo(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var r=n.dispatch,i=n.pending,o=t.memoizedState;if(null!==i){n.pending=null;var s=i=i.next;do{o=e(o,s.action),s=s.next}while(s!==i);Pr(o,t.memoizedState)||(Oa=!0),t.memoizedState=o,null===t.baseQueue&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function ea(e){var t=Qo();return\"function\"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={pending:null,dispatch:null,lastRenderedReducer:$o,lastRenderedState:e}).dispatch=ma.bind(null,Vo,e),[t.memoizedState,e]}function ta(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=Vo.updateQueue)?(t={lastEffect:null},Vo.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function na(){return Yo().memoizedState}function ra(e,t,n,r){var i=Qo();Vo.effectTag|=e,i.memoizedState=ta(1|t,n,void 0,void 0===r?null:r)}function ia(e,t,n,r){var i=Yo();r=void 0===r?null:r;var o=void 0;if(null!==qo){var a=qo.memoizedState;if(o=a.destroy,null!==r&&Ko(r,a.deps))return void ta(t,n,o,r)}Vo.effectTag|=e,i.memoizedState=ta(1|t,n,o,r)}function oa(e,t){return ra(516,4,e,t)}function aa(e,t){return ia(516,4,e,t)}function sa(e,t){return ia(4,2,e,t)}function ua(e,t){return\"function\"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function ca(e,t,n){return n=null!=n?n.concat([e]):null,ia(4,2,ua.bind(null,t,e),n)}function la(){}function pa(e,t){return Qo().memoizedState=[e,void 0===t?null:t],e}function fa(e,t){var n=Yo();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Ko(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function da(e,t){var n=Yo();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Ko(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function ha(e,t,n){var r=Ui();Vi(98>r?98:r,(function(){e(!0)})),Vi(97<r?97:r,(function(){var r=Uo.suspense;Uo.suspense=void 0===t?null:t;try{e(!1),n()}finally{Uo.suspense=r}}))}function ma(e,t,n){var r=Gs(),i=fo.suspense;i={expirationTime:r=Ks(r,e,i),suspenseConfig:i,action:n,eagerReducer:null,eagerState:null,next:null};var o=t.pending;if(null===o?i.next=i:(i.next=o.next,o.next=i),t.pending=i,o=e.alternate,e===Vo||null!==o&&o===Vo)Wo=!0,i.expirationTime=zo,Vo.expirationTime=zo;else{if(0===e.expirationTime&&(null===o||0===o.expirationTime)&&null!==(o=t.lastRenderedReducer))try{var a=t.lastRenderedState,s=o(a,n);if(i.eagerReducer=o,i.eagerState=s,Pr(s,a))return}catch(e){}Js(e,r)}}var ga={readContext:ro,useCallback:Go,useContext:Go,useEffect:Go,useImperativeHandle:Go,useLayoutEffect:Go,useMemo:Go,useReducer:Go,useRef:Go,useState:Go,useDebugValue:Go,useResponder:Go,useDeferredValue:Go,useTransition:Go},ya={readContext:ro,useCallback:pa,useContext:ro,useEffect:oa,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,ra(4,2,ua.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ra(4,2,e,t)},useMemo:function(e,t){var n=Qo();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Qo();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e=(e=r.queue={pending:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:t}).dispatch=ma.bind(null,Vo,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},Qo().memoizedState=e},useState:ea,useDebugValue:la,useResponder:Ro,useDeferredValue:function(e,t){var n=ea(e),r=n[0],i=n[1];return oa((function(){var n=Uo.suspense;Uo.suspense=void 0===t?null:t;try{i(e)}finally{Uo.suspense=n}}),[e,t]),r},useTransition:function(e){var t=ea(!1),n=t[0];return t=t[1],[pa(ha.bind(null,t,e),[t,e]),n]}},va={readContext:ro,useCallback:fa,useContext:ro,useEffect:aa,useImperativeHandle:ca,useLayoutEffect:sa,useMemo:da,useReducer:Xo,useRef:na,useState:function(){return Xo($o)},useDebugValue:la,useResponder:Ro,useDeferredValue:function(e,t){var n=Xo($o),r=n[0],i=n[1];return aa((function(){var n=Uo.suspense;Uo.suspense=void 0===t?null:t;try{i(e)}finally{Uo.suspense=n}}),[e,t]),r},useTransition:function(e){var t=Xo($o),n=t[0];return t=t[1],[fa(ha.bind(null,t,e),[t,e]),n]}},ba={readContext:ro,useCallback:fa,useContext:ro,useEffect:aa,useImperativeHandle:ca,useLayoutEffect:sa,useMemo:da,useReducer:Zo,useRef:na,useState:function(){return Zo($o)},useDebugValue:la,useResponder:Ro,useDeferredValue:function(e,t){var n=Zo($o),r=n[0],i=n[1];return aa((function(){var n=Uo.suspense;Uo.suspense=void 0===t?null:t;try{i(e)}finally{Uo.suspense=n}}),[e,t]),r},useTransition:function(e){var t=Zo($o),n=t[0];return t=t[1],[fa(ha.bind(null,t,e),[t,e]),n]}},Ea=null,xa=null,Da=!1;function Ca(e,t){var n=wu(5,null,null,0);n.elementType=\"DELETED\",n.type=\"DELETED\",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function wa(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=\"\"===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);case 13:default:return!1}}function Sa(e){if(Da){var t=xa;if(t){var n=t;if(!wa(e,t)){if(!(t=xn(n.nextSibling))||!wa(e,t))return e.effectTag=-1025&e.effectTag|2,Da=!1,void(Ea=e);Ca(Ea,n)}Ea=e,xa=xn(t.firstChild)}else e.effectTag=-1025&e.effectTag|2,Da=!1,Ea=e}}function ka(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;Ea=e}function Aa(e){if(e!==Ea)return!1;if(!Da)return ka(e),Da=!0,!1;var t=e.type;if(5!==e.tag||\"head\"!==t&&\"body\"!==t&&!vn(t,e.memoizedProps))for(t=xa;t;)Ca(e,t),t=xn(t.nextSibling);if(ka(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(a(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if(\"/$\"===n){if(0===t){xa=xn(e.nextSibling);break e}t--}else\"$\"!==n&&\"$!\"!==n&&\"$?\"!==n||t++}e=e.nextSibling}xa=null}}else xa=Ea?xn(e.stateNode.nextSibling):null;return!0}function Ta(){xa=Ea=null,Da=!1}var _a=Y.ReactCurrentOwner,Oa=!1;function Fa(e,t,n,r){t.child=null===e?ko(t,null,n,r):So(t,e.child,n,r)}function Na(e,t,n,r,i){n=n.render;var o=t.ref;return no(t,i),r=Jo(e,t,n,r,o,i),null===e||Oa?(t.effectTag|=1,Fa(e,t,r,i),t.child):(t.updateQueue=e.updateQueue,t.effectTag&=-517,e.expirationTime<=i&&(e.expirationTime=0),Ja(e,t,i))}function Ia(e,t,n,r,i,o){if(null===e){var a=n.type;return\"function\"!=typeof a||Su(a)||void 0!==a.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Au(n.type,null,r,null,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=a,Ma(e,t,a,r,i,o))}return a=e.child,i<o&&(i=a.memoizedProps,(n=null!==(n=n.compare)?n:Br)(i,r)&&e.ref===t.ref)?Ja(e,t,o):(t.effectTag|=1,(e=ku(a,r)).ref=t.ref,e.return=t,t.child=e)}function Ma(e,t,n,r,i,o){return null!==e&&Br(e.memoizedProps,r)&&e.ref===t.ref&&(Oa=!1,i<o)?(t.expirationTime=e.expirationTime,Ja(e,t,o)):La(e,t,n,r,o)}function ja(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function La(e,t,n,r,i){var o=mi(n)?di:pi.current;return o=hi(t,o),no(t,i),n=Jo(e,t,n,r,o,i),null===e||Oa?(t.effectTag|=1,Fa(e,t,n,i),t.child):(t.updateQueue=e.updateQueue,t.effectTag&=-517,e.expirationTime<=i&&(e.expirationTime=0),Ja(e,t,i))}function Pa(e,t,n,r,i){if(mi(n)){var o=!0;bi(t)}else o=!1;if(no(t,i),null===t.stateNode)null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),vo(t,n,r),Eo(t,n,r,i),r=!0;else if(null===e){var a=t.stateNode,s=t.memoizedProps;a.props=s;var u=a.context,c=n.contextType;\"object\"==typeof c&&null!==c?c=ro(c):c=hi(t,c=mi(n)?di:pi.current);var l=n.getDerivedStateFromProps,p=\"function\"==typeof l||\"function\"==typeof a.getSnapshotBeforeUpdate;p||\"function\"!=typeof a.UNSAFE_componentWillReceiveProps&&\"function\"!=typeof a.componentWillReceiveProps||(s!==r||u!==c)&&bo(t,a,r,c),io=!1;var f=t.memoizedState;a.state=f,lo(t,r,a,i),u=t.memoizedState,s!==r||f!==u||fi.current||io?(\"function\"==typeof l&&(mo(t,n,l,r),u=t.memoizedState),(s=io||yo(t,n,s,r,f,u,c))?(p||\"function\"!=typeof a.UNSAFE_componentWillMount&&\"function\"!=typeof a.componentWillMount||(\"function\"==typeof a.componentWillMount&&a.componentWillMount(),\"function\"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount()),\"function\"==typeof a.componentDidMount&&(t.effectTag|=4)):(\"function\"==typeof a.componentDidMount&&(t.effectTag|=4),t.memoizedProps=r,t.memoizedState=u),a.props=r,a.state=u,a.context=c,r=s):(\"function\"==typeof a.componentDidMount&&(t.effectTag|=4),r=!1)}else a=t.stateNode,ao(e,t),s=t.memoizedProps,a.props=t.type===t.elementType?s:Ji(t.type,s),u=a.context,\"object\"==typeof(c=n.contextType)&&null!==c?c=ro(c):c=hi(t,c=mi(n)?di:pi.current),(p=\"function\"==typeof(l=n.getDerivedStateFromProps)||\"function\"==typeof a.getSnapshotBeforeUpdate)||\"function\"!=typeof a.UNSAFE_componentWillReceiveProps&&\"function\"!=typeof a.componentWillReceiveProps||(s!==r||u!==c)&&bo(t,a,r,c),io=!1,u=t.memoizedState,a.state=u,lo(t,r,a,i),f=t.memoizedState,s!==r||u!==f||fi.current||io?(\"function\"==typeof l&&(mo(t,n,l,r),f=t.memoizedState),(l=io||yo(t,n,s,r,u,f,c))?(p||\"function\"!=typeof a.UNSAFE_componentWillUpdate&&\"function\"!=typeof a.componentWillUpdate||(\"function\"==typeof a.componentWillUpdate&&a.componentWillUpdate(r,f,c),\"function\"==typeof a.UNSAFE_componentWillUpdate&&a.UNSAFE_componentWillUpdate(r,f,c)),\"function\"==typeof a.componentDidUpdate&&(t.effectTag|=4),\"function\"==typeof a.getSnapshotBeforeUpdate&&(t.effectTag|=256)):(\"function\"!=typeof a.componentDidUpdate||s===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=4),\"function\"!=typeof a.getSnapshotBeforeUpdate||s===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=256),t.memoizedProps=r,t.memoizedState=f),a.props=r,a.state=f,a.context=c,r=l):(\"function\"!=typeof a.componentDidUpdate||s===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=4),\"function\"!=typeof a.getSnapshotBeforeUpdate||s===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=256),r=!1);return Ra(e,t,n,r,o,i)}function Ra(e,t,n,r,i,o){ja(e,t);var a=0!=(64&t.effectTag);if(!r&&!a)return i&&Ei(t,n,!1),Ja(e,t,o);r=t.stateNode,_a.current=t;var s=a&&\"function\"!=typeof n.getDerivedStateFromError?null:r.render();return t.effectTag|=1,null!==e&&a?(t.child=So(t,e.child,null,o),t.child=So(t,null,s,o)):Fa(e,t,s,o),t.memoizedState=r.state,i&&Ei(t,n,!0),t.child}function Ba(e){var t=e.stateNode;t.pendingContext?yi(0,t.pendingContext,t.pendingContext!==t.context):t.context&&yi(0,t.context,!1),No(e,t.containerInfo)}var Ua,za,Va,qa={dehydrated:null,retryTime:0};function Ha(e,t,n){var r,i=t.mode,o=t.pendingProps,a=Lo.current,s=!1;if((r=0!=(64&t.effectTag))||(r=0!=(2&a)&&(null===e||null!==e.memoizedState)),r?(s=!0,t.effectTag&=-65):null!==e&&null===e.memoizedState||void 0===o.fallback||!0===o.unstable_avoidThisFallback||(a|=1),ci(Lo,1&a),null===e){if(void 0!==o.fallback&&Sa(t),s){if(s=o.fallback,(o=Tu(null,i,0,null)).return=t,0==(2&t.mode))for(e=null!==t.memoizedState?t.child.child:t.child,o.child=e;null!==e;)e.return=o,e=e.sibling;return(n=Tu(s,i,n,null)).return=t,o.sibling=n,t.memoizedState=qa,t.child=o,n}return i=o.children,t.memoizedState=null,t.child=ko(t,null,i,n)}if(null!==e.memoizedState){if(i=(e=e.child).sibling,s){if(o=o.fallback,(n=ku(e,e.pendingProps)).return=t,0==(2&t.mode)&&(s=null!==t.memoizedState?t.child.child:t.child)!==e.child)for(n.child=s;null!==s;)s.return=n,s=s.sibling;return(i=ku(i,o)).return=t,n.sibling=i,n.childExpirationTime=0,t.memoizedState=qa,t.child=n,i}return n=So(t,e.child,o.children,n),t.memoizedState=null,t.child=n}if(e=e.child,s){if(s=o.fallback,(o=Tu(null,i,0,null)).return=t,o.child=e,null!==e&&(e.return=o),0==(2&t.mode))for(e=null!==t.memoizedState?t.child.child:t.child,o.child=e;null!==e;)e.return=o,e=e.sibling;return(n=Tu(s,i,n,null)).return=t,o.sibling=n,n.effectTag|=2,o.childExpirationTime=0,t.memoizedState=qa,t.child=o,n}return t.memoizedState=null,t.child=So(t,e,o.children,n)}function Wa(e,t){e.expirationTime<t&&(e.expirationTime=t);var n=e.alternate;null!==n&&n.expirationTime<t&&(n.expirationTime=t),to(e.return,t)}function Ga(e,t,n,r,i,o){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailExpiration:0,tailMode:i,lastEffect:o}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=n,a.tailExpiration=0,a.tailMode=i,a.lastEffect=o)}function Ka(e,t,n){var r=t.pendingProps,i=r.revealOrder,o=r.tail;if(Fa(e,t,r.children,n),0!=(2&(r=Lo.current)))r=1&r|2,t.effectTag|=64;else{if(null!==e&&0!=(64&e.effectTag))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Wa(e,n);else if(19===e.tag)Wa(e,n);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(ci(Lo,r),0==(2&t.mode))t.memoizedState=null;else switch(i){case\"forwards\":for(n=t.child,i=null;null!==n;)null!==(e=n.alternate)&&null===Po(e)&&(i=n),n=n.sibling;null===(n=i)?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),Ga(t,!1,i,n,o,t.lastEffect);break;case\"backwards\":for(n=null,i=t.child,t.child=null;null!==i;){if(null!==(e=i.alternate)&&null===Po(e)){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}Ga(t,!0,n,null,o,t.lastEffect);break;case\"together\":Ga(t,!1,null,null,void 0,t.lastEffect);break;default:t.memoizedState=null}return t.child}function Ja(e,t,n){null!==e&&(t.dependencies=e.dependencies);var r=t.expirationTime;if(0!==r&&au(r),t.childExpirationTime<n)return null;if(null!==e&&t.child!==e.child)throw Error(a(153));if(null!==t.child){for(n=ku(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=ku(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Qa(e,t){switch(e.tailMode){case\"hidden\":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case\"collapsed\":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Ya(e,t,n){var r=t.pendingProps;switch(t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return mi(t.type)&&gi(),null;case 3:return Io(),ui(fi),ui(pi),(n=t.stateNode).pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),null!==e&&null!==e.child||!Aa(t)||(t.effectTag|=4),null;case 5:jo(t),n=Fo(Oo.current);var o=t.type;if(null!==e&&null!=t.stateNode)za(e,t,o,r,n),e.ref!==t.ref&&(t.effectTag|=128);else{if(!r){if(null===t.stateNode)throw Error(a(166));return null}if(e=Fo(To.current),Aa(t)){r=t.stateNode,o=t.type;var s=t.memoizedProps;switch(r[wn]=t,r[Sn]=s,o){case\"iframe\":case\"object\":case\"embed\":Kt(\"load\",r);break;case\"video\":case\"audio\":for(e=0;e<Ye.length;e++)Kt(Ye[e],r);break;case\"source\":Kt(\"error\",r);break;case\"img\":case\"image\":case\"link\":Kt(\"error\",r),Kt(\"load\",r);break;case\"form\":Kt(\"reset\",r),Kt(\"submit\",r);break;case\"details\":Kt(\"toggle\",r);break;case\"input\":Ce(r,s),Kt(\"invalid\",r),un(n,\"onChange\");break;case\"select\":r._wrapperState={wasMultiple:!!s.multiple},Kt(\"invalid\",r),un(n,\"onChange\");break;case\"textarea\":Fe(r,s),Kt(\"invalid\",r),un(n,\"onChange\")}for(var u in on(o,s),e=null,s)if(s.hasOwnProperty(u)){var c=s[u];\"children\"===u?\"string\"==typeof c?r.textContent!==c&&(e=[\"children\",c]):\"number\"==typeof c&&r.textContent!==\"\"+c&&(e=[\"children\",\"\"+c]):w.hasOwnProperty(u)&&null!=c&&un(n,u)}switch(o){case\"input\":Ee(r),ke(r,s,!0);break;case\"textarea\":Ee(r),Ie(r);break;case\"select\":case\"option\":break;default:\"function\"==typeof s.onClick&&(r.onclick=cn)}n=e,t.updateQueue=n,null!==n&&(t.effectTag|=4)}else{switch(u=9===n.nodeType?n:n.ownerDocument,e===sn&&(e=Le(o)),e===sn?\"script\"===o?((e=u.createElement(\"div\")).innerHTML=\"<script><\\/script>\",e=e.removeChild(e.firstChild)):\"string\"==typeof r.is?e=u.createElement(o,{is:r.is}):(e=u.createElement(o),\"select\"===o&&(u=e,r.multiple?u.multiple=!0:r.size&&(u.size=r.size))):e=u.createElementNS(e,o),e[wn]=t,e[Sn]=r,Ua(e,t),t.stateNode=e,u=an(o,r),o){case\"iframe\":case\"object\":case\"embed\":Kt(\"load\",e),c=r;break;case\"video\":case\"audio\":for(c=0;c<Ye.length;c++)Kt(Ye[c],e);c=r;break;case\"source\":Kt(\"error\",e),c=r;break;case\"img\":case\"image\":case\"link\":Kt(\"error\",e),Kt(\"load\",e),c=r;break;case\"form\":Kt(\"reset\",e),Kt(\"submit\",e),c=r;break;case\"details\":Kt(\"toggle\",e),c=r;break;case\"input\":Ce(e,r),c=De(e,r),Kt(\"invalid\",e),un(n,\"onChange\");break;case\"option\":c=Te(e,r);break;case\"select\":e._wrapperState={wasMultiple:!!r.multiple},c=i({},r,{value:void 0}),Kt(\"invalid\",e),un(n,\"onChange\");break;case\"textarea\":Fe(e,r),c=Oe(e,r),Kt(\"invalid\",e),un(n,\"onChange\");break;default:c=r}on(o,c);var l=c;for(s in l)if(l.hasOwnProperty(s)){var p=l[s];\"style\"===s?nn(e,p):\"dangerouslySetInnerHTML\"===s?null!=(p=p?p.__html:void 0)&&Be(e,p):\"children\"===s?\"string\"==typeof p?(\"textarea\"!==o||\"\"!==p)&&Ue(e,p):\"number\"==typeof p&&Ue(e,\"\"+p):\"suppressContentEditableWarning\"!==s&&\"suppressHydrationWarning\"!==s&&\"autoFocus\"!==s&&(w.hasOwnProperty(s)?null!=p&&un(n,s):null!=p&&$(e,s,p,u))}switch(o){case\"input\":Ee(e),ke(e,r,!1);break;case\"textarea\":Ee(e),Ie(e);break;case\"option\":null!=r.value&&e.setAttribute(\"value\",\"\"+ve(r.value));break;case\"select\":e.multiple=!!r.multiple,null!=(n=r.value)?_e(e,!!r.multiple,n,!1):null!=r.defaultValue&&_e(e,!!r.multiple,r.defaultValue,!0);break;default:\"function\"==typeof c.onClick&&(e.onclick=cn)}yn(o,r)&&(t.effectTag|=4)}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)Va(0,t,e.memoizedProps,r);else{if(\"string\"!=typeof r&&null===t.stateNode)throw Error(a(166));n=Fo(Oo.current),Fo(To.current),Aa(t)?(n=t.stateNode,r=t.memoizedProps,n[wn]=t,n.nodeValue!==r&&(t.effectTag|=4)):((n=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[wn]=t,t.stateNode=n)}return null;case 13:return ui(Lo),r=t.memoizedState,0!=(64&t.effectTag)?(t.expirationTime=n,t):(n=null!==r,r=!1,null===e?void 0!==t.memoizedProps.fallback&&Aa(t):(r=null!==(o=e.memoizedState),n||null===o||null!==(o=e.child.sibling)&&(null!==(s=t.firstEffect)?(t.firstEffect=o,o.nextEffect=s):(t.firstEffect=t.lastEffect=o,o.nextEffect=null),o.effectTag=8)),n&&!r&&0!=(2&t.mode)&&(null===e&&!0!==t.memoizedProps.unstable_avoidThisFallback||0!=(1&Lo.current)?As===Es&&(As=xs):(As!==Es&&As!==xs||(As=Ds),0!==Ns&&null!==ws&&(Iu(ws,ks),Mu(ws,Ns)))),(n||r)&&(t.effectTag|=4),null);case 4:return Io(),null;case 10:return eo(t),null;case 17:return mi(t.type)&&gi(),null;case 19:if(ui(Lo),null===(r=t.memoizedState))return null;if(o=0!=(64&t.effectTag),null===(s=r.rendering)){if(o)Qa(r,!1);else if(As!==Es||null!==e&&0!=(64&e.effectTag))for(s=t.child;null!==s;){if(null!==(e=Po(s))){for(t.effectTag|=64,Qa(r,!1),null!==(o=e.updateQueue)&&(t.updateQueue=o,t.effectTag|=4),null===r.lastEffect&&(t.firstEffect=null),t.lastEffect=r.lastEffect,r=t.child;null!==r;)s=n,(o=r).effectTag&=2,o.nextEffect=null,o.firstEffect=null,o.lastEffect=null,null===(e=o.alternate)?(o.childExpirationTime=0,o.expirationTime=s,o.child=null,o.memoizedProps=null,o.memoizedState=null,o.updateQueue=null,o.dependencies=null):(o.childExpirationTime=e.childExpirationTime,o.expirationTime=e.expirationTime,o.child=e.child,o.memoizedProps=e.memoizedProps,o.memoizedState=e.memoizedState,o.updateQueue=e.updateQueue,s=e.dependencies,o.dependencies=null===s?null:{expirationTime:s.expirationTime,firstContext:s.firstContext,responders:s.responders}),r=r.sibling;return ci(Lo,1&Lo.current|2),t.child}s=s.sibling}}else{if(!o)if(null!==(e=Po(s))){if(t.effectTag|=64,o=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.effectTag|=4),Qa(r,!0),null===r.tail&&\"hidden\"===r.tailMode&&!s.alternate)return null!==(t=t.lastEffect=r.lastEffect)&&(t.nextEffect=null),null}else 2*Bi()-r.renderingStartTime>r.tailExpiration&&1<n&&(t.effectTag|=64,o=!0,Qa(r,!1),t.expirationTime=t.childExpirationTime=n-1);r.isBackwards?(s.sibling=t.child,t.child=s):(null!==(n=r.last)?n.sibling=s:t.child=s,r.last=s)}return null!==r.tail?(0===r.tailExpiration&&(r.tailExpiration=Bi()+500),n=r.tail,r.rendering=n,r.tail=n.sibling,r.lastEffect=t.lastEffect,r.renderingStartTime=Bi(),n.sibling=null,t=Lo.current,ci(Lo,o?1&t|2:1&t),n):null}throw Error(a(156,t.tag))}function $a(e){switch(e.tag){case 1:mi(e.type)&&gi();var t=e.effectTag;return 4096&t?(e.effectTag=-4097&t|64,e):null;case 3:if(Io(),ui(fi),ui(pi),0!=(64&(t=e.effectTag)))throw Error(a(285));return e.effectTag=-4097&t|64,e;case 5:return jo(e),null;case 13:return ui(Lo),4096&(t=e.effectTag)?(e.effectTag=-4097&t|64,e):null;case 19:return ui(Lo),null;case 4:return Io(),null;case 10:return eo(e),null;default:return null}}function Xa(e,t){return{value:e,source:t,stack:ye(t)}}Ua=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},za=function(e,t,n,r,o){var a=e.memoizedProps;if(a!==r){var s,u,c=t.stateNode;switch(Fo(To.current),e=null,n){case\"input\":a=De(c,a),r=De(c,r),e=[];break;case\"option\":a=Te(c,a),r=Te(c,r),e=[];break;case\"select\":a=i({},a,{value:void 0}),r=i({},r,{value:void 0}),e=[];break;case\"textarea\":a=Oe(c,a),r=Oe(c,r),e=[];break;default:\"function\"!=typeof a.onClick&&\"function\"==typeof r.onClick&&(c.onclick=cn)}for(s in on(n,r),n=null,a)if(!r.hasOwnProperty(s)&&a.hasOwnProperty(s)&&null!=a[s])if(\"style\"===s)for(u in c=a[s])c.hasOwnProperty(u)&&(n||(n={}),n[u]=\"\");else\"dangerouslySetInnerHTML\"!==s&&\"children\"!==s&&\"suppressContentEditableWarning\"!==s&&\"suppressHydrationWarning\"!==s&&\"autoFocus\"!==s&&(w.hasOwnProperty(s)?e||(e=[]):(e=e||[]).push(s,null));for(s in r){var l=r[s];if(c=null!=a?a[s]:void 0,r.hasOwnProperty(s)&&l!==c&&(null!=l||null!=c))if(\"style\"===s)if(c){for(u in c)!c.hasOwnProperty(u)||l&&l.hasOwnProperty(u)||(n||(n={}),n[u]=\"\");for(u in l)l.hasOwnProperty(u)&&c[u]!==l[u]&&(n||(n={}),n[u]=l[u])}else n||(e||(e=[]),e.push(s,n)),n=l;else\"dangerouslySetInnerHTML\"===s?(l=l?l.__html:void 0,c=c?c.__html:void 0,null!=l&&c!==l&&(e=e||[]).push(s,l)):\"children\"===s?c===l||\"string\"!=typeof l&&\"number\"!=typeof l||(e=e||[]).push(s,\"\"+l):\"suppressContentEditableWarning\"!==s&&\"suppressHydrationWarning\"!==s&&(w.hasOwnProperty(s)?(null!=l&&un(o,s),e||c===l||(e=[])):(e=e||[]).push(s,l))}n&&(e=e||[]).push(\"style\",n),o=e,(t.updateQueue=o)&&(t.effectTag|=4)}},Va=function(e,t,n,r){n!==r&&(t.effectTag|=4)};var Za=\"function\"==typeof WeakSet?WeakSet:Set;function es(e,t){var n=t.source,r=t.stack;null===r&&null!==n&&(r=ye(n)),null!==n&&ge(n.type),t=t.value,null!==e&&1===e.tag&&ge(e.type);try{console.error(t)}catch(e){setTimeout((function(){throw e}))}}function ts(e){var t=e.ref;if(null!==t)if(\"function\"==typeof t)try{t(null)}catch(t){vu(e,t)}else t.current=null}function ns(e,t){switch(t.tag){case 0:case 11:case 15:case 22:return;case 1:if(256&t.effectTag&&null!==e){var n=e.memoizedProps,r=e.memoizedState;t=(e=t.stateNode).getSnapshotBeforeUpdate(t.elementType===t.type?n:Ji(t.type,n),r),e.__reactInternalSnapshotBeforeUpdate=t}return;case 3:case 5:case 6:case 4:case 17:return}throw Error(a(163))}function rs(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.destroy;n.destroy=void 0,void 0!==r&&r()}n=n.next}while(n!==t)}}function is(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function os(e,t,n){switch(n.tag){case 0:case 11:case 15:case 22:return void is(3,n);case 1:if(e=n.stateNode,4&n.effectTag)if(null===t)e.componentDidMount();else{var r=n.elementType===n.type?t.memoizedProps:Ji(n.type,t.memoizedProps);e.componentDidUpdate(r,t.memoizedState,e.__reactInternalSnapshotBeforeUpdate)}return void(null!==(t=n.updateQueue)&&po(n,t,e));case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:e=n.child.stateNode;break;case 1:e=n.child.stateNode}po(n,t,e)}return;case 5:return e=n.stateNode,void(null===t&&4&n.effectTag&&yn(n.type,n.memoizedProps)&&e.focus());case 6:case 4:case 12:return;case 13:return void(null===n.memoizedState&&(n=n.alternate,null!==n&&(n=n.memoizedState,null!==n&&(n=n.dehydrated,null!==n&&Lt(n)))));case 19:case 17:case 20:case 21:return}throw Error(a(163))}function as(e,t,n){switch(\"function\"==typeof Du&&Du(t),t.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(e=t.updateQueue)&&null!==(e=e.lastEffect)){var r=e.next;Vi(97<n?97:n,(function(){var e=r;do{var n=e.destroy;if(void 0!==n){var i=t;try{n()}catch(e){vu(i,e)}}e=e.next}while(e!==r)}))}break;case 1:ts(t),\"function\"==typeof(n=t.stateNode).componentWillUnmount&&function(e,t){try{t.props=e.memoizedProps,t.state=e.memoizedState,t.componentWillUnmount()}catch(t){vu(e,t)}}(t,n);break;case 5:ts(t);break;case 4:ls(e,t,n)}}function ss(e){var t=e.alternate;e.return=null,e.child=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.alternate=null,e.firstEffect=null,e.lastEffect=null,e.pendingProps=null,e.memoizedProps=null,e.stateNode=null,null!==t&&ss(t)}function us(e){return 5===e.tag||3===e.tag||4===e.tag}function cs(e){e:{for(var t=e.return;null!==t;){if(us(t)){var n=t;break e}t=t.return}throw Error(a(160))}switch(t=n.stateNode,n.tag){case 5:var r=!1;break;case 3:case 4:t=t.containerInfo,r=!0;break;default:throw Error(a(161))}16&n.effectTag&&(Ue(t,\"\"),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||us(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag&&18!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}r?function e(t,n,r){var i=t.tag,o=5===i||6===i;if(o)t=o?t.stateNode:t.stateNode.instance,n?8===r.nodeType?r.parentNode.insertBefore(t,n):r.insertBefore(t,n):(8===r.nodeType?(n=r.parentNode).insertBefore(t,r):(n=r).appendChild(t),null!==(r=r._reactRootContainer)&&void 0!==r||null!==n.onclick||(n.onclick=cn));else if(4!==i&&null!==(t=t.child))for(e(t,n,r),t=t.sibling;null!==t;)e(t,n,r),t=t.sibling}(e,n,t):function e(t,n,r){var i=t.tag,o=5===i||6===i;if(o)t=o?t.stateNode:t.stateNode.instance,n?r.insertBefore(t,n):r.appendChild(t);else if(4!==i&&null!==(t=t.child))for(e(t,n,r),t=t.sibling;null!==t;)e(t,n,r),t=t.sibling}(e,n,t)}function ls(e,t,n){for(var r,i,o=t,s=!1;;){if(!s){s=o.return;e:for(;;){if(null===s)throw Error(a(160));switch(r=s.stateNode,s.tag){case 5:i=!1;break e;case 3:case 4:r=r.containerInfo,i=!0;break e}s=s.return}s=!0}if(5===o.tag||6===o.tag){e:for(var u=e,c=o,l=n,p=c;;)if(as(u,p,l),null!==p.child&&4!==p.tag)p.child.return=p,p=p.child;else{if(p===c)break e;for(;null===p.sibling;){if(null===p.return||p.return===c)break e;p=p.return}p.sibling.return=p.return,p=p.sibling}i?(u=r,c=o.stateNode,8===u.nodeType?u.parentNode.removeChild(c):u.removeChild(c)):r.removeChild(o.stateNode)}else if(4===o.tag){if(null!==o.child){r=o.stateNode.containerInfo,i=!0,o.child.return=o,o=o.child;continue}}else if(as(e,o,n),null!==o.child){o.child.return=o,o=o.child;continue}if(o===t)break;for(;null===o.sibling;){if(null===o.return||o.return===t)return;4===(o=o.return).tag&&(s=!1)}o.sibling.return=o.return,o=o.sibling}}function ps(e,t){switch(t.tag){case 0:case 11:case 14:case 15:case 22:return void rs(3,t);case 1:return;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps,i=null!==e?e.memoizedProps:r;e=t.type;var o=t.updateQueue;if(t.updateQueue=null,null!==o){for(n[Sn]=r,\"input\"===e&&\"radio\"===r.type&&null!=r.name&&we(n,r),an(e,i),t=an(e,r),i=0;i<o.length;i+=2){var s=o[i],u=o[i+1];\"style\"===s?nn(n,u):\"dangerouslySetInnerHTML\"===s?Be(n,u):\"children\"===s?Ue(n,u):$(n,s,u,t)}switch(e){case\"input\":Se(n,r);break;case\"textarea\":Ne(n,r);break;case\"select\":t=n._wrapperState.wasMultiple,n._wrapperState.wasMultiple=!!r.multiple,null!=(e=r.value)?_e(n,!!r.multiple,e,!1):t!==!!r.multiple&&(null!=r.defaultValue?_e(n,!!r.multiple,r.defaultValue,!0):_e(n,!!r.multiple,r.multiple?[]:\"\",!1))}}}return;case 6:if(null===t.stateNode)throw Error(a(162));return void(t.stateNode.nodeValue=t.memoizedProps);case 3:return void((t=t.stateNode).hydrate&&(t.hydrate=!1,Lt(t.containerInfo)));case 12:return;case 13:if(n=t,null===t.memoizedState?r=!1:(r=!0,n=t.child,Ms=Bi()),null!==n)e:for(e=n;;){if(5===e.tag)o=e.stateNode,r?\"function\"==typeof(o=o.style).setProperty?o.setProperty(\"display\",\"none\",\"important\"):o.display=\"none\":(o=e.stateNode,i=null!=(i=e.memoizedProps.style)&&i.hasOwnProperty(\"display\")?i.display:null,o.style.display=tn(\"display\",i));else if(6===e.tag)e.stateNode.nodeValue=r?\"\":e.memoizedProps;else{if(13===e.tag&&null!==e.memoizedState&&null===e.memoizedState.dehydrated){(o=e.child.sibling).return=e,e=o;continue}if(null!==e.child){e.child.return=e,e=e.child;continue}}if(e===n)break;for(;null===e.sibling;){if(null===e.return||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}return void fs(t);case 19:return void fs(t);case 17:return}throw Error(a(163))}function fs(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Za),t.forEach((function(t){var r=Eu.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}var ds=\"function\"==typeof WeakMap?WeakMap:Map;function hs(e,t,n){(n=so(n,null)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Ls||(Ls=!0,Ps=r),es(e,t)},n}function ms(e,t,n){(n=so(n,null)).tag=3;var r=e.type.getDerivedStateFromError;if(\"function\"==typeof r){var i=t.value;n.payload=function(){return es(e,t),r(i)}}var o=e.stateNode;return null!==o&&\"function\"==typeof o.componentDidCatch&&(n.callback=function(){\"function\"!=typeof r&&(null===Rs?Rs=new Set([this]):Rs.add(this),es(e,t));var n=t.stack;this.componentDidCatch(t.value,{componentStack:null!==n?n:\"\"})}),n}var gs,ys=Math.ceil,vs=Y.ReactCurrentDispatcher,bs=Y.ReactCurrentOwner,Es=0,xs=3,Ds=4,Cs=0,ws=null,Ss=null,ks=0,As=Es,Ts=null,_s=1073741823,Os=1073741823,Fs=null,Ns=0,Is=!1,Ms=0,js=null,Ls=!1,Ps=null,Rs=null,Bs=!1,Us=null,zs=90,Vs=null,qs=0,Hs=null,Ws=0;function Gs(){return 0!=(48&Cs)?1073741821-(Bi()/10|0):0!==Ws?Ws:Ws=1073741821-(Bi()/10|0)}function Ks(e,t,n){if(0==(2&(t=t.mode)))return 1073741823;var r=Ui();if(0==(4&t))return 99===r?1073741823:1073741822;if(0!=(16&Cs))return ks;if(null!==n)e=Ki(e,0|n.timeoutMs||5e3,250);else switch(r){case 99:e=1073741823;break;case 98:e=Ki(e,150,100);break;case 97:case 96:e=Ki(e,5e3,250);break;case 95:e=2;break;default:throw Error(a(326))}return null!==ws&&e===ks&&--e,e}function Js(e,t){if(50<qs)throw qs=0,Hs=null,Error(a(185));if(null!==(e=Qs(e,t))){var n=Ui();1073741823===t?0!=(8&Cs)&&0==(48&Cs)?Zs(e):($s(e),0===Cs&&Wi()):$s(e),0==(4&Cs)||98!==n&&99!==n||(null===Vs?Vs=new Map([[e,t]]):(void 0===(n=Vs.get(e))||n>t)&&Vs.set(e,t))}}function Qs(e,t){e.expirationTime<t&&(e.expirationTime=t);var n=e.alternate;null!==n&&n.expirationTime<t&&(n.expirationTime=t);var r=e.return,i=null;if(null===r&&3===e.tag)i=e.stateNode;else for(;null!==r;){if(n=r.alternate,r.childExpirationTime<t&&(r.childExpirationTime=t),null!==n&&n.childExpirationTime<t&&(n.childExpirationTime=t),null===r.return&&3===r.tag){i=r.stateNode;break}r=r.return}return null!==i&&(ws===i&&(au(t),As===Ds&&Iu(i,ks)),Mu(i,t)),i}function Ys(e){var t=e.lastExpiredTime;if(0!==t)return t;if(!Nu(e,t=e.firstPendingTime))return t;var n=e.lastPingedTime;return 2>=(e=n>(e=e.nextKnownPendingLevel)?n:e)&&t!==e?0:e}function $s(e){if(0!==e.lastExpiredTime)e.callbackExpirationTime=1073741823,e.callbackPriority=99,e.callbackNode=Hi(Zs.bind(null,e));else{var t=Ys(e),n=e.callbackNode;if(0===t)null!==n&&(e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90);else{var r=Gs();if(1073741823===t?r=99:1===t||2===t?r=95:r=0>=(r=10*(1073741821-t)-10*(1073741821-r))?99:250>=r?98:5250>=r?97:95,null!==n){var i=e.callbackPriority;if(e.callbackExpirationTime===t&&i>=r)return;n!==Ni&&Ci(n)}e.callbackExpirationTime=t,e.callbackPriority=r,t=1073741823===t?Hi(Zs.bind(null,e)):qi(r,Xs.bind(null,e),{timeout:10*(1073741821-t)-Bi()}),e.callbackNode=t}}}function Xs(e,t){if(Ws=0,t)return ju(e,t=Gs()),$s(e),null;var n=Ys(e);if(0!==n){if(t=e.callbackNode,0!=(48&Cs))throw Error(a(327));if(mu(),e===ws&&n===ks||nu(e,n),null!==Ss){var r=Cs;Cs|=16;for(var i=iu();;)try{uu();break}catch(t){ru(e,t)}if(Zi(),Cs=r,vs.current=i,1===As)throw t=Ts,nu(e,n),Iu(e,n),$s(e),t;if(null===Ss)switch(i=e.finishedWork=e.current.alternate,e.finishedExpirationTime=n,r=As,ws=null,r){case Es:case 1:throw Error(a(345));case 2:ju(e,2<n?2:n);break;case xs:if(Iu(e,n),n===(r=e.lastSuspendedTime)&&(e.nextKnownPendingLevel=pu(i)),1073741823===_s&&10<(i=Ms+500-Bi())){if(Is){var o=e.lastPingedTime;if(0===o||o>=n){e.lastPingedTime=n,nu(e,n);break}}if(0!==(o=Ys(e))&&o!==n)break;if(0!==r&&r!==n){e.lastPingedTime=r;break}e.timeoutHandle=bn(fu.bind(null,e),i);break}fu(e);break;case Ds:if(Iu(e,n),n===(r=e.lastSuspendedTime)&&(e.nextKnownPendingLevel=pu(i)),Is&&(0===(i=e.lastPingedTime)||i>=n)){e.lastPingedTime=n,nu(e,n);break}if(0!==(i=Ys(e))&&i!==n)break;if(0!==r&&r!==n){e.lastPingedTime=r;break}if(1073741823!==Os?r=10*(1073741821-Os)-Bi():1073741823===_s?r=0:(r=10*(1073741821-_s)-5e3,0>(r=(i=Bi())-r)&&(r=0),(n=10*(1073741821-n)-i)<(r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*ys(r/1960))-r)&&(r=n)),10<r){e.timeoutHandle=bn(fu.bind(null,e),r);break}fu(e);break;case 5:if(1073741823!==_s&&null!==Fs){o=_s;var s=Fs;if(0>=(r=0|s.busyMinDurationMs)?r=0:(i=0|s.busyDelayMs,r=(o=Bi()-(10*(1073741821-o)-(0|s.timeoutMs||5e3)))<=i?0:i+r-o),10<r){Iu(e,n),e.timeoutHandle=bn(fu.bind(null,e),r);break}}fu(e);break;default:throw Error(a(329))}if($s(e),e.callbackNode===t)return Xs.bind(null,e)}}return null}function Zs(e){var t=e.lastExpiredTime;if(t=0!==t?t:1073741823,0!=(48&Cs))throw Error(a(327));if(mu(),e===ws&&t===ks||nu(e,t),null!==Ss){var n=Cs;Cs|=16;for(var r=iu();;)try{su();break}catch(t){ru(e,t)}if(Zi(),Cs=n,vs.current=r,1===As)throw n=Ts,nu(e,t),Iu(e,t),$s(e),n;if(null!==Ss)throw Error(a(261));e.finishedWork=e.current.alternate,e.finishedExpirationTime=t,ws=null,fu(e),$s(e)}return null}function eu(e,t){var n=Cs;Cs|=1;try{return e(t)}finally{0===(Cs=n)&&Wi()}}function tu(e,t){var n=Cs;Cs&=-2,Cs|=8;try{return e(t)}finally{0===(Cs=n)&&Wi()}}function nu(e,t){e.finishedWork=null,e.finishedExpirationTime=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,En(n)),null!==Ss)for(n=Ss.return;null!==n;){var r=n;switch(r.tag){case 1:null!=(r=r.type.childContextTypes)&&gi();break;case 3:Io(),ui(fi),ui(pi);break;case 5:jo(r);break;case 4:Io();break;case 13:case 19:ui(Lo);break;case 10:eo(r)}n=n.return}ws=e,Ss=ku(e.current,null),ks=t,As=Es,Ts=null,Os=_s=1073741823,Fs=null,Ns=0,Is=!1}function ru(e,t){for(;;){try{if(Zi(),Bo.current=ga,Wo)for(var n=Vo.memoizedState;null!==n;){var r=n.queue;null!==r&&(r.pending=null),n=n.next}if(zo=0,Ho=qo=Vo=null,Wo=!1,null===Ss||null===Ss.return)return As=1,Ts=t,Ss=null;e:{var i=e,o=Ss.return,a=Ss,s=t;if(t=ks,a.effectTag|=2048,a.firstEffect=a.lastEffect=null,null!==s&&\"object\"==typeof s&&\"function\"==typeof s.then){var u=s;if(0==(2&a.mode)){var c=a.alternate;c?(a.updateQueue=c.updateQueue,a.memoizedState=c.memoizedState,a.expirationTime=c.expirationTime):(a.updateQueue=null,a.memoizedState=null)}var l=0!=(1&Lo.current),p=o;do{var f;if(f=13===p.tag){var d=p.memoizedState;if(null!==d)f=null!==d.dehydrated;else{var h=p.memoizedProps;f=void 0!==h.fallback&&(!0!==h.unstable_avoidThisFallback||!l)}}if(f){var m=p.updateQueue;if(null===m){var g=new Set;g.add(u),p.updateQueue=g}else m.add(u);if(0==(2&p.mode)){if(p.effectTag|=64,a.effectTag&=-2981,1===a.tag)if(null===a.alternate)a.tag=17;else{var y=so(1073741823,null);y.tag=2,uo(a,y)}a.expirationTime=1073741823;break e}s=void 0,a=t;var v=i.pingCache;if(null===v?(v=i.pingCache=new ds,s=new Set,v.set(u,s)):void 0===(s=v.get(u))&&(s=new Set,v.set(u,s)),!s.has(a)){s.add(a);var b=bu.bind(null,i,u,a);u.then(b,b)}p.effectTag|=4096,p.expirationTime=t;break e}p=p.return}while(null!==p);s=Error((ge(a.type)||\"A React component\")+\" suspended while rendering, but no fallback UI was specified.\\n\\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.\"+ye(a))}5!==As&&(As=2),s=Xa(s,a),p=o;do{switch(p.tag){case 3:u=s,p.effectTag|=4096,p.expirationTime=t,co(p,hs(p,u,t));break e;case 1:u=s;var E=p.type,x=p.stateNode;if(0==(64&p.effectTag)&&(\"function\"==typeof E.getDerivedStateFromError||null!==x&&\"function\"==typeof x.componentDidCatch&&(null===Rs||!Rs.has(x)))){p.effectTag|=4096,p.expirationTime=t,co(p,ms(p,u,t));break e}}p=p.return}while(null!==p)}Ss=lu(Ss)}catch(e){t=e;continue}break}}function iu(){var e=vs.current;return vs.current=ga,null===e?ga:e}function ou(e,t){e<_s&&2<e&&(_s=e),null!==t&&e<Os&&2<e&&(Os=e,Fs=t)}function au(e){e>Ns&&(Ns=e)}function su(){for(;null!==Ss;)Ss=cu(Ss)}function uu(){for(;null!==Ss&&!Ii();)Ss=cu(Ss)}function cu(e){var t=gs(e.alternate,e,ks);return e.memoizedProps=e.pendingProps,null===t&&(t=lu(e)),bs.current=null,t}function lu(e){Ss=e;do{var t=Ss.alternate;if(e=Ss.return,0==(2048&Ss.effectTag)){if(t=Ya(t,Ss,ks),1===ks||1!==Ss.childExpirationTime){for(var n=0,r=Ss.child;null!==r;){var i=r.expirationTime,o=r.childExpirationTime;i>n&&(n=i),o>n&&(n=o),r=r.sibling}Ss.childExpirationTime=n}if(null!==t)return t;null!==e&&0==(2048&e.effectTag)&&(null===e.firstEffect&&(e.firstEffect=Ss.firstEffect),null!==Ss.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=Ss.firstEffect),e.lastEffect=Ss.lastEffect),1<Ss.effectTag&&(null!==e.lastEffect?e.lastEffect.nextEffect=Ss:e.firstEffect=Ss,e.lastEffect=Ss))}else{if(null!==(t=$a(Ss)))return t.effectTag&=2047,t;null!==e&&(e.firstEffect=e.lastEffect=null,e.effectTag|=2048)}if(null!==(t=Ss.sibling))return t;Ss=e}while(null!==Ss);return As===Es&&(As=5),null}function pu(e){var t=e.expirationTime;return t>(e=e.childExpirationTime)?t:e}function fu(e){var t=Ui();return Vi(99,du.bind(null,e,t)),null}function du(e,t){do{mu()}while(null!==Us);if(0!=(48&Cs))throw Error(a(327));var n=e.finishedWork,r=e.finishedExpirationTime;if(null===n)return null;if(e.finishedWork=null,e.finishedExpirationTime=0,n===e.current)throw Error(a(177));e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90,e.nextKnownPendingLevel=0;var i=pu(n);if(e.firstPendingTime=i,r<=e.lastSuspendedTime?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:r<=e.firstSuspendedTime&&(e.firstSuspendedTime=r-1),r<=e.lastPingedTime&&(e.lastPingedTime=0),r<=e.lastExpiredTime&&(e.lastExpiredTime=0),e===ws&&(Ss=ws=null,ks=0),1<n.effectTag?null!==n.lastEffect?(n.lastEffect.nextEffect=n,i=n.firstEffect):i=n:i=n.firstEffect,null!==i){var o=Cs;Cs|=32,bs.current=null,mn=Gt;var s=dn();if(hn(s)){if(\"selectionStart\"in s)var u={start:s.selectionStart,end:s.selectionEnd};else e:{var c=(u=(u=s.ownerDocument)&&u.defaultView||window).getSelection&&u.getSelection();if(c&&0!==c.rangeCount){u=c.anchorNode;var l=c.anchorOffset,p=c.focusNode;c=c.focusOffset;try{u.nodeType,p.nodeType}catch(e){u=null;break e}var f=0,d=-1,h=-1,m=0,g=0,y=s,v=null;t:for(;;){for(var b;y!==u||0!==l&&3!==y.nodeType||(d=f+l),y!==p||0!==c&&3!==y.nodeType||(h=f+c),3===y.nodeType&&(f+=y.nodeValue.length),null!==(b=y.firstChild);)v=y,y=b;for(;;){if(y===s)break t;if(v===u&&++m===l&&(d=f),v===p&&++g===c&&(h=f),null!==(b=y.nextSibling))break;v=(y=v).parentNode}y=b}u=-1===d||-1===h?null:{start:d,end:h}}else u=null}u=u||{start:0,end:0}}else u=null;gn={activeElementDetached:null,focusedElem:s,selectionRange:u},Gt=!1,js=i;do{try{hu()}catch(e){if(null===js)throw Error(a(330));vu(js,e),js=js.nextEffect}}while(null!==js);js=i;do{try{for(s=e,u=t;null!==js;){var E=js.effectTag;if(16&E&&Ue(js.stateNode,\"\"),128&E){var x=js.alternate;if(null!==x){var D=x.ref;null!==D&&(\"function\"==typeof D?D(null):D.current=null)}}switch(1038&E){case 2:cs(js),js.effectTag&=-3;break;case 6:cs(js),js.effectTag&=-3,ps(js.alternate,js);break;case 1024:js.effectTag&=-1025;break;case 1028:js.effectTag&=-1025,ps(js.alternate,js);break;case 4:ps(js.alternate,js);break;case 8:ls(s,l=js,u),ss(l)}js=js.nextEffect}}catch(e){if(null===js)throw Error(a(330));vu(js,e),js=js.nextEffect}}while(null!==js);if(D=gn,x=dn(),E=D.focusedElem,u=D.selectionRange,x!==E&&E&&E.ownerDocument&&function e(t,n){return!(!t||!n)&&(t===n||(!t||3!==t.nodeType)&&(n&&3===n.nodeType?e(t,n.parentNode):\"contains\"in t?t.contains(n):!!t.compareDocumentPosition&&!!(16&t.compareDocumentPosition(n))))}(E.ownerDocument.documentElement,E)){null!==u&&hn(E)&&(x=u.start,void 0===(D=u.end)&&(D=x),\"selectionStart\"in E?(E.selectionStart=x,E.selectionEnd=Math.min(D,E.value.length)):(D=(x=E.ownerDocument||document)&&x.defaultView||window).getSelection&&(D=D.getSelection(),l=E.textContent.length,s=Math.min(u.start,l),u=void 0===u.end?s:Math.min(u.end,l),!D.extend&&s>u&&(l=u,u=s,s=l),l=fn(E,s),p=fn(E,u),l&&p&&(1!==D.rangeCount||D.anchorNode!==l.node||D.anchorOffset!==l.offset||D.focusNode!==p.node||D.focusOffset!==p.offset)&&((x=x.createRange()).setStart(l.node,l.offset),D.removeAllRanges(),s>u?(D.addRange(x),D.extend(p.node,p.offset)):(x.setEnd(p.node,p.offset),D.addRange(x))))),x=[];for(D=E;D=D.parentNode;)1===D.nodeType&&x.push({element:D,left:D.scrollLeft,top:D.scrollTop});for(\"function\"==typeof E.focus&&E.focus(),E=0;E<x.length;E++)(D=x[E]).element.scrollLeft=D.left,D.element.scrollTop=D.top}Gt=!!mn,gn=mn=null,e.current=n,js=i;do{try{for(E=e;null!==js;){var C=js.effectTag;if(36&C&&os(E,js.alternate,js),128&C){x=void 0;var w=js.ref;if(null!==w){var S=js.stateNode;switch(js.tag){case 5:x=S;break;default:x=S}\"function\"==typeof w?w(x):w.current=x}}js=js.nextEffect}}catch(e){if(null===js)throw Error(a(330));vu(js,e),js=js.nextEffect}}while(null!==js);js=null,Mi(),Cs=o}else e.current=n;if(Bs)Bs=!1,Us=e,zs=t;else for(js=i;null!==js;)t=js.nextEffect,js.nextEffect=null,js=t;if(0===(t=e.firstPendingTime)&&(Rs=null),1073741823===t?e===Hs?qs++:(qs=0,Hs=e):qs=0,\"function\"==typeof xu&&xu(n.stateNode,r),$s(e),Ls)throw Ls=!1,e=Ps,Ps=null,e;return 0!=(8&Cs)||Wi(),null}function hu(){for(;null!==js;){var e=js.effectTag;0!=(256&e)&&ns(js.alternate,js),0==(512&e)||Bs||(Bs=!0,qi(97,(function(){return mu(),null}))),js=js.nextEffect}}function mu(){if(90!==zs){var e=97<zs?97:zs;return zs=90,Vi(e,gu)}}function gu(){if(null===Us)return!1;var e=Us;if(Us=null,0!=(48&Cs))throw Error(a(331));var t=Cs;for(Cs|=32,e=e.current.firstEffect;null!==e;){try{var n=e;if(0!=(512&n.effectTag))switch(n.tag){case 0:case 11:case 15:case 22:rs(5,n),is(5,n)}}catch(t){if(null===e)throw Error(a(330));vu(e,t)}n=e.nextEffect,e.nextEffect=null,e=n}return Cs=t,Wi(),!0}function yu(e,t,n){uo(e,t=hs(e,t=Xa(n,t),1073741823)),null!==(e=Qs(e,1073741823))&&$s(e)}function vu(e,t){if(3===e.tag)yu(e,e,t);else for(var n=e.return;null!==n;){if(3===n.tag){yu(n,e,t);break}if(1===n.tag){var r=n.stateNode;if(\"function\"==typeof n.type.getDerivedStateFromError||\"function\"==typeof r.componentDidCatch&&(null===Rs||!Rs.has(r))){uo(n,e=ms(n,e=Xa(t,e),1073741823)),null!==(n=Qs(n,1073741823))&&$s(n);break}}n=n.return}}function bu(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),ws===e&&ks===n?As===Ds||As===xs&&1073741823===_s&&Bi()-Ms<500?nu(e,ks):Is=!0:Nu(e,n)&&(0!==(t=e.lastPingedTime)&&t<n||(e.lastPingedTime=n,$s(e)))}function Eu(e,t){var n=e.stateNode;null!==n&&n.delete(t),0===(t=0)&&(t=Ks(t=Gs(),e,null)),null!==(e=Qs(e,t))&&$s(e)}gs=function(e,t,n){var r=t.expirationTime;if(null!==e){var i=t.pendingProps;if(e.memoizedProps!==i||fi.current)Oa=!0;else{if(r<n){switch(Oa=!1,t.tag){case 3:Ba(t),Ta();break;case 5:if(Mo(t),4&t.mode&&1!==n&&i.hidden)return t.expirationTime=t.childExpirationTime=1,null;break;case 1:mi(t.type)&&bi(t);break;case 4:No(t,t.stateNode.containerInfo);break;case 10:r=t.memoizedProps.value,i=t.type._context,ci(Qi,i._currentValue),i._currentValue=r;break;case 13:if(null!==t.memoizedState)return 0!==(r=t.child.childExpirationTime)&&r>=n?Ha(e,t,n):(ci(Lo,1&Lo.current),null!==(t=Ja(e,t,n))?t.sibling:null);ci(Lo,1&Lo.current);break;case 19:if(r=t.childExpirationTime>=n,0!=(64&e.effectTag)){if(r)return Ka(e,t,n);t.effectTag|=64}if(null!==(i=t.memoizedState)&&(i.rendering=null,i.tail=null),ci(Lo,Lo.current),!r)return null}return Ja(e,t,n)}Oa=!1}}else Oa=!1;switch(t.expirationTime=0,t.tag){case 2:if(r=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps,i=hi(t,pi.current),no(t,n),i=Jo(null,t,r,e,i,n),t.effectTag|=1,\"object\"==typeof i&&null!==i&&\"function\"==typeof i.render&&void 0===i.$$typeof){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,mi(r)){var o=!0;bi(t)}else o=!1;t.memoizedState=null!==i.state&&void 0!==i.state?i.state:null,oo(t);var s=r.getDerivedStateFromProps;\"function\"==typeof s&&mo(t,r,s,e),i.updater=go,t.stateNode=i,i._reactInternalFiber=t,Eo(t,r,e,n),t=Ra(null,t,r,!0,o,n)}else t.tag=0,Fa(null,t,i,n),t=t.child;return t;case 16:e:{if(i=t.elementType,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps,function(e){if(-1===e._status){e._status=0;var t=e._ctor;t=t(),e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}}(i),1!==i._status)throw i._result;switch(i=i._result,t.type=i,o=t.tag=function(e){if(\"function\"==typeof e)return Su(e)?1:0;if(null!=e){if((e=e.$$typeof)===ue)return 11;if(e===pe)return 14}return 2}(i),e=Ji(i,e),o){case 0:t=La(null,t,i,e,n);break e;case 1:t=Pa(null,t,i,e,n);break e;case 11:t=Na(null,t,i,e,n);break e;case 14:t=Ia(null,t,i,Ji(i.type,e),r,n);break e}throw Error(a(306,i,\"\"))}return t;case 0:return r=t.type,i=t.pendingProps,La(e,t,r,i=t.elementType===r?i:Ji(r,i),n);case 1:return r=t.type,i=t.pendingProps,Pa(e,t,r,i=t.elementType===r?i:Ji(r,i),n);case 3:if(Ba(t),r=t.updateQueue,null===e||null===r)throw Error(a(282));if(r=t.pendingProps,i=null!==(i=t.memoizedState)?i.element:null,ao(e,t),lo(t,r,null,n),(r=t.memoizedState.element)===i)Ta(),t=Ja(e,t,n);else{if((i=t.stateNode.hydrate)&&(xa=xn(t.stateNode.containerInfo.firstChild),Ea=t,i=Da=!0),i)for(n=ko(t,null,r,n),t.child=n;n;)n.effectTag=-3&n.effectTag|1024,n=n.sibling;else Fa(e,t,r,n),Ta();t=t.child}return t;case 5:return Mo(t),null===e&&Sa(t),r=t.type,i=t.pendingProps,o=null!==e?e.memoizedProps:null,s=i.children,vn(r,i)?s=null:null!==o&&vn(r,o)&&(t.effectTag|=16),ja(e,t),4&t.mode&&1!==n&&i.hidden?(t.expirationTime=t.childExpirationTime=1,t=null):(Fa(e,t,s,n),t=t.child),t;case 6:return null===e&&Sa(t),null;case 13:return Ha(e,t,n);case 4:return No(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=So(t,null,r,n):Fa(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,Na(e,t,r,i=t.elementType===r?i:Ji(r,i),n);case 7:return Fa(e,t,t.pendingProps,n),t.child;case 8:case 12:return Fa(e,t,t.pendingProps.children,n),t.child;case 10:e:{r=t.type._context,i=t.pendingProps,s=t.memoizedProps,o=i.value;var u=t.type._context;if(ci(Qi,u._currentValue),u._currentValue=o,null!==s)if(u=s.value,0===(o=Pr(u,o)?0:0|(\"function\"==typeof r._calculateChangedBits?r._calculateChangedBits(u,o):1073741823))){if(s.children===i.children&&!fi.current){t=Ja(e,t,n);break e}}else for(null!==(u=t.child)&&(u.return=t);null!==u;){var c=u.dependencies;if(null!==c){s=u.child;for(var l=c.firstContext;null!==l;){if(l.context===r&&0!=(l.observedBits&o)){1===u.tag&&((l=so(n,null)).tag=2,uo(u,l)),u.expirationTime<n&&(u.expirationTime=n),null!==(l=u.alternate)&&l.expirationTime<n&&(l.expirationTime=n),to(u.return,n),c.expirationTime<n&&(c.expirationTime=n);break}l=l.next}}else s=10===u.tag&&u.type===t.type?null:u.child;if(null!==s)s.return=u;else for(s=u;null!==s;){if(s===t){s=null;break}if(null!==(u=s.sibling)){u.return=s.return,s=u;break}s=s.return}u=s}Fa(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=(o=t.pendingProps).children,no(t,n),r=r(i=ro(i,o.unstable_observedBits)),t.effectTag|=1,Fa(e,t,r,n),t.child;case 14:return o=Ji(i=t.type,t.pendingProps),Ia(e,t,i,o=Ji(i.type,o),r,n);case 15:return Ma(e,t,t.type,t.pendingProps,r,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Ji(r,i),null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),t.tag=1,mi(r)?(e=!0,bi(t)):e=!1,no(t,n),vo(t,r,i),Eo(t,r,i,n),Ra(null,t,r,!0,e,n);case 19:return Ka(e,t,n)}throw Error(a(156,t.tag))};var xu=null,Du=null;function Cu(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childExpirationTime=this.expirationTime=0,this.alternate=null}function wu(e,t,n,r){return new Cu(e,t,n,r)}function Su(e){return!(!(e=e.prototype)||!e.isReactComponent)}function ku(e,t){var n=e.alternate;return null===n?((n=wu(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.effectTag=0,n.nextEffect=null,n.firstEffect=null,n.lastEffect=null),n.childExpirationTime=e.childExpirationTime,n.expirationTime=e.expirationTime,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{expirationTime:t.expirationTime,firstContext:t.firstContext,responders:t.responders},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Au(e,t,n,r,i,o){var s=2;if(r=e,\"function\"==typeof e)Su(e)&&(s=1);else if(\"string\"==typeof e)s=5;else e:switch(e){case ne:return Tu(n.children,i,o,t);case se:s=8,i|=7;break;case re:s=8,i|=1;break;case ie:return(e=wu(12,n,t,8|i)).elementType=ie,e.type=ie,e.expirationTime=o,e;case ce:return(e=wu(13,n,t,i)).type=ce,e.elementType=ce,e.expirationTime=o,e;case le:return(e=wu(19,n,t,i)).elementType=le,e.expirationTime=o,e;default:if(\"object\"==typeof e&&null!==e)switch(e.$$typeof){case oe:s=10;break e;case ae:s=9;break e;case ue:s=11;break e;case pe:s=14;break e;case fe:s=16,r=null;break e;case de:s=22;break e}throw Error(a(130,null==e?e:typeof e,\"\"))}return(t=wu(s,n,t,i)).elementType=e,t.type=r,t.expirationTime=o,t}function Tu(e,t,n,r){return(e=wu(7,e,r,t)).expirationTime=n,e}function _u(e,t,n){return(e=wu(6,e,null,t)).expirationTime=n,e}function Ou(e,t,n){return(t=wu(4,null!==e.children?e.children:[],e.key,t)).expirationTime=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Fu(e,t,n){this.tag=t,this.current=null,this.containerInfo=e,this.pingCache=this.pendingChildren=null,this.finishedExpirationTime=0,this.finishedWork=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=n,this.callbackNode=null,this.callbackPriority=90,this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}function Nu(e,t){var n=e.firstSuspendedTime;return e=e.lastSuspendedTime,0!==n&&n>=t&&e<=t}function Iu(e,t){var n=e.firstSuspendedTime,r=e.lastSuspendedTime;n<t&&(e.firstSuspendedTime=t),(r>t||0===n)&&(e.lastSuspendedTime=t),t<=e.lastPingedTime&&(e.lastPingedTime=0),t<=e.lastExpiredTime&&(e.lastExpiredTime=0)}function Mu(e,t){t>e.firstPendingTime&&(e.firstPendingTime=t);var n=e.firstSuspendedTime;0!==n&&(t>=n?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:t>=e.lastSuspendedTime&&(e.lastSuspendedTime=t+1),t>e.nextKnownPendingLevel&&(e.nextKnownPendingLevel=t))}function ju(e,t){var n=e.lastExpiredTime;(0===n||n>t)&&(e.lastExpiredTime=t)}function Lu(e,t,n,r){var i=t.current,o=Gs(),s=fo.suspense;o=Ks(o,i,s);e:if(n){t:{if(Ze(n=n._reactInternalFiber)!==n||1!==n.tag)throw Error(a(170));var u=n;do{switch(u.tag){case 3:u=u.stateNode.context;break t;case 1:if(mi(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break t}}u=u.return}while(null!==u);throw Error(a(171))}if(1===n.tag){var c=n.type;if(mi(c)){n=vi(n,c,u);break e}}n=u}else n=li;return null===t.context?t.context=n:t.pendingContext=n,(t=so(o,s)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),uo(i,t),Js(i,o),o}function Pu(e){if(!(e=e.current).child)return null;switch(e.child.tag){case 5:default:return e.child.stateNode}}function Ru(e,t){null!==(e=e.memoizedState)&&null!==e.dehydrated&&e.retryTime<t&&(e.retryTime=t)}function Bu(e,t){Ru(e,t),(e=e.alternate)&&Ru(e,t)}function Uu(e,t,n){var r=new Fu(e,t,n=null!=n&&!0===n.hydrate),i=wu(3,null,null,2===t?7:1===t?3:0);r.current=i,i.stateNode=r,oo(i),e[kn]=r.current,n&&0!==t&&function(e,t){var n=Xe(t);kt.forEach((function(e){ht(e,t,n)})),At.forEach((function(e){ht(e,t,n)}))}(0,9===e.nodeType?e:e.ownerDocument),this._internalRoot=r}function zu(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||\" react-mount-point-unstable \"!==e.nodeValue))}function Vu(e,t,n,r,i){var o=n._reactRootContainer;if(o){var a=o._internalRoot;if(\"function\"==typeof i){var s=i;i=function(){var e=Pu(a);s.call(e)}}Lu(t,a,e,i)}else{if(o=n._reactRootContainer=function(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==t.nodeType||!t.hasAttribute(\"data-reactroot\"))),!t)for(var n;n=e.lastChild;)e.removeChild(n);return new Uu(e,0,t?{hydrate:!0}:void 0)}(n,r),a=o._internalRoot,\"function\"==typeof i){var u=i;i=function(){var e=Pu(a);u.call(e)}}tu((function(){Lu(t,a,e,i)}))}return Pu(a)}function qu(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:te,key:null==r?null:\"\"+r,children:e,containerInfo:t,implementation:n}}function Hu(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!zu(t))throw Error(a(200));return qu(e,t,null,n)}Uu.prototype.render=function(e){Lu(e,this._internalRoot,null,null)},Uu.prototype.unmount=function(){var e=this._internalRoot,t=e.containerInfo;Lu(null,e,null,(function(){t[kn]=null}))},mt=function(e){if(13===e.tag){var t=Ki(Gs(),150,100);Js(e,t),Bu(e,t)}},gt=function(e){13===e.tag&&(Js(e,3),Bu(e,3))},yt=function(e){if(13===e.tag){var t=Gs();Js(e,t=Ks(t,e,null)),Bu(e,t)}},T=function(e,t,n){switch(t){case\"input\":if(Se(e,n),t=n.name,\"radio\"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+t)+'][type=\"radio\"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var i=On(r);if(!i)throw Error(a(90));xe(r),Se(r,i)}}}break;case\"textarea\":Ne(e,n);break;case\"select\":null!=(t=n.value)&&_e(e,!!n.multiple,t,!1)}},M=eu,j=function(e,t,n,r,i){var o=Cs;Cs|=4;try{return Vi(98,e.bind(null,t,n,r,i))}finally{0===(Cs=o)&&Wi()}},L=function(){0==(49&Cs)&&(function(){if(null!==Vs){var e=Vs;Vs=null,e.forEach((function(e,t){ju(t,e),$s(t)})),Wi()}}(),mu())},P=function(e,t){var n=Cs;Cs|=2;try{return e(t)}finally{0===(Cs=n)&&Wi()}};var Wu,Gu,Ku={Events:[Tn,_n,On,k,C,Pn,function(e){it(e,Ln)},N,I,$t,st,mu,{current:!1}]};Gu=(Wu={findFiberByHostInstance:An,bundleType:0,version:\"16.13.1\",rendererPackageName:\"react-dom\"}).findFiberByHostInstance,function(e){if(\"undefined\"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t.isDisabled||!t.supportsFiber)return!0;try{var n=t.inject(e);xu=function(e){try{t.onCommitFiberRoot(n,e,void 0,64==(64&e.current.effectTag))}catch(e){}},Du=function(e){try{t.onCommitFiberUnmount(n,e)}catch(e){}}}catch(e){}}(i({},Wu,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Y.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=nt(e))?null:e.stateNode},findFiberByHostInstance:function(e){return Gu?Gu(e):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null})),t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Ku,t.createPortal=Hu,t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternalFiber;if(void 0===t){if(\"function\"==typeof e.render)throw Error(a(188));throw Error(a(268,Object.keys(e)))}return e=null===(e=nt(t))?null:e.stateNode},t.flushSync=function(e,t){if(0!=(48&Cs))throw Error(a(187));var n=Cs;Cs|=1;try{return Vi(99,e.bind(null,t))}finally{Cs=n,Wi()}},t.hydrate=function(e,t,n){if(!zu(t))throw Error(a(200));return Vu(null,e,t,!0,n)},t.render=function(e,t,n){if(!zu(t))throw Error(a(200));return Vu(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!zu(e))throw Error(a(40));return!!e._reactRootContainer&&(tu((function(){Vu(null,null,e,!1,(function(){e._reactRootContainer=null,e[kn]=null}))})),!0)},t.unstable_batchedUpdates=eu,t.unstable_createPortal=function(e,t){return Hu(e,t,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)},t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!zu(n))throw Error(a(200));if(null==e||void 0===e._reactInternalFiber)throw Error(a(38));return Vu(e,t,n,!1,r)},t.version=\"16.13.1\"},function(e,t,n){\"use strict\";e.exports=n(262)},function(e,t,n){\"use strict\";\n/** @license React v0.19.1\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */var r,i,o,a,s;if(\"undefined\"==typeof window||\"function\"!=typeof MessageChannel){var u=null,c=null,l=function(){if(null!==u)try{var e=t.unstable_now();u(!0,e),u=null}catch(e){throw setTimeout(l,0),e}},p=Date.now();t.unstable_now=function(){return Date.now()-p},r=function(e){null!==u?setTimeout(r,0,e):(u=e,setTimeout(l,0))},i=function(e,t){c=setTimeout(e,t)},o=function(){clearTimeout(c)},a=function(){return!1},s=t.unstable_forceFrameRate=function(){}}else{var f=window.performance,d=window.Date,h=window.setTimeout,m=window.clearTimeout;if(\"undefined\"!=typeof console){var g=window.cancelAnimationFrame;\"function\"!=typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\"),\"function\"!=typeof g&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\")}if(\"object\"==typeof f&&\"function\"==typeof f.now)t.unstable_now=function(){return f.now()};else{var y=d.now();t.unstable_now=function(){return d.now()-y}}var v=!1,b=null,E=-1,x=5,D=0;a=function(){return t.unstable_now()>=D},s=function(){},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported\"):x=0<e?Math.floor(1e3/e):5};var C=new MessageChannel,w=C.port2;C.port1.onmessage=function(){if(null!==b){var e=t.unstable_now();D=e+x;try{b(!0,e)?w.postMessage(null):(v=!1,b=null)}catch(e){throw w.postMessage(null),e}}else v=!1},r=function(e){b=e,v||(v=!0,w.postMessage(null))},i=function(e,n){E=h((function(){e(t.unstable_now())}),n)},o=function(){m(E),E=-1}}function S(e,t){var n=e.length;e.push(t);e:for(;;){var r=n-1>>>1,i=e[r];if(!(void 0!==i&&0<T(i,t)))break e;e[r]=t,e[n]=i,n=r}}function k(e){return void 0===(e=e[0])?null:e}function A(e){var t=e[0];if(void 0!==t){var n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,i=e.length;r<i;){var o=2*(r+1)-1,a=e[o],s=o+1,u=e[s];if(void 0!==a&&0>T(a,n))void 0!==u&&0>T(u,a)?(e[r]=u,e[s]=n,r=s):(e[r]=a,e[o]=n,r=o);else{if(!(void 0!==u&&0>T(u,n)))break e;e[r]=u,e[s]=n,r=s}}}return t}return null}function T(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var _=[],O=[],F=1,N=null,I=3,M=!1,j=!1,L=!1;function P(e){for(var t=k(O);null!==t;){if(null===t.callback)A(O);else{if(!(t.startTime<=e))break;A(O),t.sortIndex=t.expirationTime,S(_,t)}t=k(O)}}function R(e){if(L=!1,P(e),!j)if(null!==k(_))j=!0,r(B);else{var t=k(O);null!==t&&i(R,t.startTime-e)}}function B(e,n){j=!1,L&&(L=!1,o()),M=!0;var r=I;try{for(P(n),N=k(_);null!==N&&(!(N.expirationTime>n)||e&&!a());){var s=N.callback;if(null!==s){N.callback=null,I=N.priorityLevel;var u=s(N.expirationTime<=n);n=t.unstable_now(),\"function\"==typeof u?N.callback=u:N===k(_)&&A(_),P(n)}else A(_);N=k(_)}if(null!==N)var c=!0;else{var l=k(O);null!==l&&i(R,l.startTime-n),c=!1}return c}finally{N=null,I=r,M=!1}}function U(e){switch(e){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var z=s;t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){j||M||(j=!0,r(B))},t.unstable_getCurrentPriorityLevel=function(){return I},t.unstable_getFirstCallbackNode=function(){return k(_)},t.unstable_next=function(e){switch(I){case 1:case 2:case 3:var t=3;break;default:t=I}var n=I;I=t;try{return e()}finally{I=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=z,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=I;I=e;try{return t()}finally{I=n}},t.unstable_scheduleCallback=function(e,n,a){var s=t.unstable_now();if(\"object\"==typeof a&&null!==a){var u=a.delay;u=\"number\"==typeof u&&0<u?s+u:s,a=\"number\"==typeof a.timeout?a.timeout:U(e)}else a=U(e),u=s;return e={id:F++,callback:n,priorityLevel:e,startTime:u,expirationTime:a=u+a,sortIndex:-1},u>s?(e.sortIndex=u,S(O,e),null===k(_)&&e===k(O)&&(L?o():L=!0,i(R,u-s))):(e.sortIndex=a,S(_,e),j||M||(j=!0,r(B))),e},t.unstable_shouldYield=function(){var e=t.unstable_now();P(e);var n=k(_);return n!==N&&null!==N&&null!==n&&null!==n.callback&&n.startTime<=e&&n.expirationTime<N.expirationTime||a()},t.unstable_wrapCallback=function(e){var t=I;return function(){var n=I;I=t;try{return e.apply(this,arguments)}finally{I=n}}}},function(e,t,n){\"use strict\";var r=n(264);function i(){}function o(){}o.resetWarningCache=i,e.exports=function(){function e(e,t,n,i,o,a){if(a!==r){var s=new Error(\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types\");throw s.name=\"Invariant Violation\",s}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:i};return n.PropTypes=n,n}},function(e,t,n){\"use strict\";e.exports=\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\"},function(e,t,n){\"use strict\";\n/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */var r=\"function\"==typeof Symbol&&Symbol.for,i=r?Symbol.for(\"react.element\"):60103,o=r?Symbol.for(\"react.portal\"):60106,a=r?Symbol.for(\"react.fragment\"):60107,s=r?Symbol.for(\"react.strict_mode\"):60108,u=r?Symbol.for(\"react.profiler\"):60114,c=r?Symbol.for(\"react.provider\"):60109,l=r?Symbol.for(\"react.context\"):60110,p=r?Symbol.for(\"react.async_mode\"):60111,f=r?Symbol.for(\"react.concurrent_mode\"):60111,d=r?Symbol.for(\"react.forward_ref\"):60112,h=r?Symbol.for(\"react.suspense\"):60113,m=r?Symbol.for(\"react.suspense_list\"):60120,g=r?Symbol.for(\"react.memo\"):60115,y=r?Symbol.for(\"react.lazy\"):60116,v=r?Symbol.for(\"react.block\"):60121,b=r?Symbol.for(\"react.fundamental\"):60117,E=r?Symbol.for(\"react.responder\"):60118,x=r?Symbol.for(\"react.scope\"):60119;function D(e){if(\"object\"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case i:switch(e=e.type){case p:case f:case a:case u:case s:case h:return e;default:switch(e=e&&e.$$typeof){case l:case d:case y:case g:case c:return e;default:return t}}case o:return t}}}function C(e){return D(e)===f}t.AsyncMode=p,t.ConcurrentMode=f,t.ContextConsumer=l,t.ContextProvider=c,t.Element=i,t.ForwardRef=d,t.Fragment=a,t.Lazy=y,t.Memo=g,t.Portal=o,t.Profiler=u,t.StrictMode=s,t.Suspense=h,t.isAsyncMode=function(e){return C(e)||D(e)===p},t.isConcurrentMode=C,t.isContextConsumer=function(e){return D(e)===l},t.isContextProvider=function(e){return D(e)===c},t.isElement=function(e){return\"object\"==typeof e&&null!==e&&e.$$typeof===i},t.isForwardRef=function(e){return D(e)===d},t.isFragment=function(e){return D(e)===a},t.isLazy=function(e){return D(e)===y},t.isMemo=function(e){return D(e)===g},t.isPortal=function(e){return D(e)===o},t.isProfiler=function(e){return D(e)===u},t.isStrictMode=function(e){return D(e)===s},t.isSuspense=function(e){return D(e)===h},t.isValidElementType=function(e){return\"string\"==typeof e||\"function\"==typeof e||e===a||e===f||e===u||e===s||e===h||e===m||\"object\"==typeof e&&null!==e&&(e.$$typeof===y||e.$$typeof===g||e.$$typeof===c||e.$$typeof===l||e.$$typeof===d||e.$$typeof===b||e.$$typeof===E||e.$$typeof===x||e.$$typeof===v)},t.typeOf=D},function(e,t){e.exports=function(e){if(!e.webpackPolyfill){var t=Object.create(e);t.children||(t.children=[]),Object.defineProperty(t,\"loaded\",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,\"id\",{enumerable:!0,get:function(){return t.i}}),Object.defineProperty(t,\"exports\",{enumerable:!0}),t.webpackPolyfill=1}return t}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(60),i=n(213),o=n(268),a=n(42),s=n(32),u=n(306),c=i.default(),l=[r.applyMiddleware(c)],p=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__||r.compose,f=u.deserializeState();t.default=function(){var e=r.createStore(a.default,f,p.apply(null,l));return e.subscribe(u.serializeState(e)),window.s=e,window.session=function(){return s.getSelectedSession(e.getState())},c.run(o.default),e}},function(e,t,n){\"use strict\";var r=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},\"function\"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError(\"Generator is already executing.\");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){a.label=o[1];break}if(6===o[0]&&a.label<i[1]){a.label=i[1],i=o;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(o);break}i[2]&&a.ops.pop(),a.trys.pop();continue}o=t.call(e,a)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}},i=this&&this.__spreadArrays||function(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),i=0;for(t=0;t<n;t++)for(var o=arguments[t],a=0,s=o.length;a<s;a++,i++)r[i]=o[a];return r};Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(99),a=n(299),s=n(111),u=n(305);t.default=function(){return r(this,(function(e){switch(e.label){case 0:return[4,s.all(i(a.sessionsSagas,o.fecthingSagas,u.sharingSagas))];case 1:return e.sent(),[2]}}))}},function(e,t,n){\"use strict\";function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function o(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),e}Object.defineProperty(t,\"__esModule\",{value:!0}),t.Observable=void 0;var a=function(){return\"function\"==typeof Symbol},s=function(e){return a()&&Boolean(Symbol[e])},u=function(e){return s(e)?Symbol[e]:\"@@\"+e};a()&&!s(\"observable\")&&(Symbol.observable=Symbol(\"observable\"));var c=u(\"iterator\"),l=u(\"observable\"),p=u(\"species\");function f(e,t){var n=e[t];if(null!=n){if(\"function\"!=typeof n)throw new TypeError(n+\" is not a function\");return n}}function d(e){var t=e.constructor;return void 0!==t&&null===(t=t[p])&&(t=void 0),void 0!==t?t:C}function h(e){return e instanceof C}function m(e){m.log?m.log(e):setTimeout((function(){throw e}))}function g(e){Promise.resolve().then((function(){try{e()}catch(e){m(e)}}))}function y(e){var t=e._cleanup;if(void 0!==t&&(e._cleanup=void 0,t))try{if(\"function\"==typeof t)t();else{var n=f(t,\"unsubscribe\");n&&n.call(t)}}catch(e){m(e)}}function v(e){e._observer=void 0,e._queue=void 0,e._state=\"closed\"}function b(e,t,n){e._state=\"running\";var r=e._observer;try{var i=f(r,t);switch(t){case\"next\":i&&i.call(r,n);break;case\"error\":if(v(e),!i)throw n;i.call(r,n);break;case\"complete\":v(e),i&&i.call(r)}}catch(e){m(e)}\"closed\"===e._state?y(e):\"running\"===e._state&&(e._state=\"ready\")}function E(e,t,n){if(\"closed\"!==e._state){if(\"buffering\"!==e._state)return\"ready\"!==e._state?(e._state=\"buffering\",e._queue=[{type:t,value:n}],void g((function(){return function(e){var t=e._queue;if(t){e._queue=void 0,e._state=\"ready\";for(var n=0;n<t.length&&(b(e,t[n].type,t[n].value),\"closed\"!==e._state);++n);}}(e)}))):void b(e,t,n);e._queue.push({type:t,value:n})}}var x=function(){function e(t,n){r(this,e),this._cleanup=void 0,this._observer=t,this._queue=void 0,this._state=\"initializing\";var i=new D(this);try{this._cleanup=n.call(void 0,i)}catch(e){i.error(e)}\"initializing\"===this._state&&(this._state=\"ready\")}return o(e,[{key:\"unsubscribe\",value:function(){\"closed\"!==this._state&&(v(this),y(this))}},{key:\"closed\",get:function(){return\"closed\"===this._state}}]),e}(),D=function(){function e(t){r(this,e),this._subscription=t}return o(e,[{key:\"next\",value:function(e){E(this._subscription,\"next\",e)}},{key:\"error\",value:function(e){E(this._subscription,\"error\",e)}},{key:\"complete\",value:function(){E(this._subscription,\"complete\")}},{key:\"closed\",get:function(){return\"closed\"===this._subscription._state}}]),e}(),C=function(){function e(t){if(r(this,e),!(this instanceof e))throw new TypeError(\"Observable cannot be called as a function\");if(\"function\"!=typeof t)throw new TypeError(\"Observable initializer must be a function\");this._subscriber=t}return o(e,[{key:\"subscribe\",value:function(e){return\"object\"==typeof e&&null!==e||(e={next:e,error:arguments[1],complete:arguments[2]}),new x(e,this._subscriber)}},{key:\"forEach\",value:function(e){var t=this;return new Promise((function(n,r){if(\"function\"==typeof e)var i=t.subscribe({next:function(t){try{e(t,o)}catch(e){r(e),i.unsubscribe()}},error:r,complete:n});else r(new TypeError(e+\" is not a function\"));function o(){i.unsubscribe(),n()}}))}},{key:\"map\",value:function(e){var t=this;if(\"function\"!=typeof e)throw new TypeError(e+\" is not a function\");return new(d(this))((function(n){return t.subscribe({next:function(t){try{t=e(t)}catch(e){return n.error(e)}n.next(t)},error:function(e){n.error(e)},complete:function(){n.complete()}})}))}},{key:\"filter\",value:function(e){var t=this;if(\"function\"!=typeof e)throw new TypeError(e+\" is not a function\");return new(d(this))((function(n){return t.subscribe({next:function(t){try{if(!e(t))return}catch(e){return n.error(e)}n.next(t)},error:function(e){n.error(e)},complete:function(){n.complete()}})}))}},{key:\"reduce\",value:function(e){var t=this;if(\"function\"!=typeof e)throw new TypeError(e+\" is not a function\");var n=d(this),r=arguments.length>1,i=!1,o=arguments[1],a=o;return new n((function(n){return t.subscribe({next:function(t){var o=!i;if(i=!0,!o||r)try{a=e(a,t)}catch(e){return n.error(e)}else a=t},error:function(e){n.error(e)},complete:function(){if(!i&&!r)return n.error(new TypeError(\"Cannot reduce an empty sequence\"));n.next(a),n.complete()}})}))}},{key:\"concat\",value:function(){for(var e=this,t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];var i=d(this);return new i((function(t){var r,o=0;return function e(a){r=a.subscribe({next:function(e){t.next(e)},error:function(e){t.error(e)},complete:function(){o===n.length?(r=void 0,t.complete()):e(i.from(n[o++]))}})}(e),function(){r&&(r.unsubscribe(),r=void 0)}}))}},{key:\"flatMap\",value:function(e){var t=this;if(\"function\"!=typeof e)throw new TypeError(e+\" is not a function\");var n=d(this);return new n((function(r){var i=[],o=t.subscribe({next:function(t){if(e)try{t=e(t)}catch(e){return r.error(e)}var o=n.from(t).subscribe({next:function(e){r.next(e)},error:function(e){r.error(e)},complete:function(){var e=i.indexOf(o);e>=0&&i.splice(e,1),a()}});i.push(o)},error:function(e){r.error(e)},complete:function(){a()}});function a(){o.closed&&0===i.length&&r.complete()}return function(){i.forEach((function(e){return e.unsubscribe()})),o.unsubscribe()}}))}},{key:l,value:function(){return this}}],[{key:\"from\",value:function(t){var n=\"function\"==typeof this?this:e;if(null==t)throw new TypeError(t+\" is not an object\");var r=f(t,l);if(r){var i=r.call(t);if(Object(i)!==i)throw new TypeError(i+\" is not an object\");return h(i)&&i.constructor===n?i:new n((function(e){return i.subscribe(e)}))}if(s(\"iterator\")&&(r=f(t,c)))return new n((function(e){g((function(){if(!e.closed){var n=!0,i=!1,o=void 0;try{for(var a,s=r.call(t)[Symbol.iterator]();!(n=(a=s.next()).done);n=!0){var u=a.value;if(e.next(u),e.closed)return}}catch(e){i=!0,o=e}finally{try{n||null==s.return||s.return()}finally{if(i)throw o}}e.complete()}}))}));if(Array.isArray(t))return new n((function(e){g((function(){if(!e.closed){for(var n=0;n<t.length;++n)if(e.next(t[n]),e.closed)return;e.complete()}}))}));throw new TypeError(t+\" is not observable\")}},{key:\"of\",value:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];var i=\"function\"==typeof this?this:e;return new i((function(e){g((function(){if(!e.closed){for(var t=0;t<n.length;++t)if(e.next(n[t]),e.closed)return;e.complete()}}))}))}},{key:p,get:function(){return this}}]),e}();t.Observable=C,a()&&Object.defineProperty(C,Symbol(\"extensions\"),{value:{symbol:l,hostReportError:m},configurable:!0})},function(e,t){function n(e){e=e||{},this.ms=e.min||100,this.max=e.max||1e4,this.factor=e.factor||2,this.jitter=e.jitter>0&&e.jitter<=1?e.jitter:0,this.attempts=0}e.exports=n,n.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),n=Math.floor(t*this.jitter*e);e=0==(1&Math.floor(10*t))?e-n:e+n}return 0|Math.min(e,this.max)},n.prototype.reset=function(){this.attempts=0},n.prototype.setMin=function(e){this.ms=e},n.prototype.setMax=function(e){this.max=e},n.prototype.setJitter=function(e){this.jitter=e}},function(e,t,n){\"use strict\";var r=Object.prototype.hasOwnProperty,i=\"~\";function o(){}function a(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function s(e,t,n,r,o){if(\"function\"!=typeof n)throw new TypeError(\"The listener must be a function\");var s=new a(n,r||e,o),u=i?i+t:t;return e._events[u]?e._events[u].fn?e._events[u]=[e._events[u],s]:e._events[u].push(s):(e._events[u]=s,e._eventsCount++),e}function u(e,t){0==--e._eventsCount?e._events=new o:delete e._events[t]}function c(){this._events=new o,this._eventsCount=0}Object.create&&(o.prototype=Object.create(null),(new o).__proto__||(i=!1)),c.prototype.eventNames=function(){var e,t,n=[];if(0===this._eventsCount)return n;for(t in e=this._events)r.call(e,t)&&n.push(i?t.slice(1):t);return Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(e)):n},c.prototype.listeners=function(e){var t=i?i+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var r=0,o=n.length,a=new Array(o);r<o;r++)a[r]=n[r].fn;return a},c.prototype.listenerCount=function(e){var t=i?i+e:e,n=this._events[t];return n?n.fn?1:n.length:0},c.prototype.emit=function(e,t,n,r,o,a){var s=i?i+e:e;if(!this._events[s])return!1;var u,c,l=this._events[s],p=arguments.length;if(l.fn){switch(l.once&&this.removeListener(e,l.fn,void 0,!0),p){case 1:return l.fn.call(l.context),!0;case 2:return l.fn.call(l.context,t),!0;case 3:return l.fn.call(l.context,t,n),!0;case 4:return l.fn.call(l.context,t,n,r),!0;case 5:return l.fn.call(l.context,t,n,r,o),!0;case 6:return l.fn.call(l.context,t,n,r,o,a),!0}for(c=1,u=new Array(p-1);c<p;c++)u[c-1]=arguments[c];l.fn.apply(l.context,u)}else{var f,d=l.length;for(c=0;c<d;c++)switch(l[c].once&&this.removeListener(e,l[c].fn,void 0,!0),p){case 1:l[c].fn.call(l[c].context);break;case 2:l[c].fn.call(l[c].context,t);break;case 3:l[c].fn.call(l[c].context,t,n);break;case 4:l[c].fn.call(l[c].context,t,n,r);break;default:if(!u)for(f=1,u=new Array(p-1);f<p;f++)u[f-1]=arguments[f];l[c].fn.apply(l[c].context,u)}}return!0},c.prototype.on=function(e,t,n){return s(this,e,t,n,!1)},c.prototype.once=function(e,t,n){return s(this,e,t,n,!0)},c.prototype.removeListener=function(e,t,n,r){var o=i?i+e:e;if(!this._events[o])return this;if(!t)return u(this,o),this;var a=this._events[o];if(a.fn)a.fn!==t||r&&!a.once||n&&a.context!==n||u(this,o);else{for(var s=0,c=[],l=a.length;s<l;s++)(a[s].fn!==t||r&&!a[s].once||n&&a[s].context!==n)&&c.push(a[s]);c.length?this._events[o]=1===c.length?c[0]:c:u(this,o)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=i?i+e:e,this._events[t]&&u(this,t)):(this._events=new o,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=i,c.EventEmitter=c,e.exports=c},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){return\"string\"==typeof e}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){return null!==e&&\"object\"==typeof e}},function(e,t,n){\"use strict\";n.r(t),n.d(t,\"getOperationAST\",(function(){return i}));var r=n(1);function i(e,t){for(var n=null,i=0,o=e.definitions;i<o.length;i++){var a,s=o[i];if(s.kind===r.a.OPERATION_DEFINITION)if(null==t){if(n)return null;n=s}else if((null===(a=s.name)||void 0===a?void 0:a.value)===t)return s}return n}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.GRAPHQL_SUBSCRIPTIONS=t.GRAPHQL_WS=void 0;t.GRAPHQL_WS=\"graphql-ws\";t.GRAPHQL_SUBSCRIPTIONS=\"graphql-subscriptions\"},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.WS_TIMEOUT=t.MIN_WS_TIMEOUT=void 0;t.MIN_WS_TIMEOUT=1e3;t.WS_TIMEOUT=3e4},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=function(){function e(){throw new Error(\"Static Class\")}return e.GQL_CONNECTION_INIT=\"connection_init\",e.GQL_CONNECTION_ACK=\"connection_ack\",e.GQL_CONNECTION_ERROR=\"connection_error\",e.GQL_CONNECTION_KEEP_ALIVE=\"ka\",e.GQL_CONNECTION_TERMINATE=\"connection_terminate\",e.GQL_START=\"start\",e.GQL_DATA=\"data\",e.GQL_ERROR=\"error\",e.GQL_COMPLETE=\"complete\",e.GQL_STOP=\"stop\",e.SUBSCRIPTION_START=\"subscription_start\",e.SUBSCRIPTION_DATA=\"subscription_data\",e.SUBSCRIPTION_SUCCESS=\"subscription_success\",e.SUBSCRIPTION_FAIL=\"subscription_fail\",e.SUBSCRIPTION_END=\"subscription_end\",e.INIT=\"init\",e.INIT_SUCCESS=\"init_success\",e.INIT_FAIL=\"init_fail\",e.KEEP_ALIVE=\"keepalive\",e}();t.default=r},function(e,t,n){\"use strict\";n.r(t),n.d(t,\"WebSocketLink\",(function(){return a}));var r=n(19),i=n(62),o=n(115),a=function(e){function t(t){var n=e.call(this)||this;return t instanceof o.SubscriptionClient?n.subscriptionClient=t:n.subscriptionClient=new o.SubscriptionClient(t.uri,t.options,t.webSocketImpl),n}return Object(r.b)(t,e),t.prototype.request=function(e){return this.subscriptionClient.request(e)},t}(i.ApolloLink)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.isSubscription=function(e){var t=function(e){if(1===e.query.definitions.length)return e.query.definitions[0];return e.query.definitions.find((function(t){return\"OperationDefinition\"===t.kind&&!!t.name&&t.name.value===e.operationName}))}(e);return!!t&&\"subscription\"===t.operation}},function(e,t,n){var r=n(281);e.exports=function(e){return r(e).replace(/[\\W_]+(.|$)/g,(function(e,t){return t?\" \"+t:\"\"})).trim()}},function(e,t){e.exports=function(e){return n.test(e)?e.toLowerCase():r.test(e)?(function(e){return e.replace(o,(function(e,t){return t?\" \"+t:\"\"}))}(e)||e).toLowerCase():i.test(e)?function(e){return e.replace(a,(function(e,t,n){return t+\" \"+n.toLowerCase().split(\"\").join(\" \")}))}(e).toLowerCase():e.toLowerCase()};var n=/\\s/,r=/(_|-|\\.|:)/,i=/([a-z][A-Z]|[A-Z][a-z])/;var o=/[\\W_]+(.|$)/g;var a=/(.)([A-Z]+)/g},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.combineReducers=void 0;var r,i=n(283),o=(r=i)&&r.__esModule?r:{default:r};t.combineReducers=o.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r,i=n(34),o=(r=i)&&r.__esModule?r:{default:r},a=n(284);t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.default.Map,n=Object.keys(e);return function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t(),i=arguments[1];return r.withMutations((function(t){n.forEach((function(n){var r=(0,e[n])(t.get(n),i);(0,a.validateNextState)(r,n,i),t.set(n,r)}))}))}},e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.validateNextState=t.getUnexpectedInvocationParameterMessage=t.getStateName=void 0;var r=a(n(155)),i=a(n(285)),o=a(n(286));function a(e){return e&&e.__esModule?e:{default:e}}t.getStateName=r.default,t.getUnexpectedInvocationParameterMessage=i.default,t.validateNextState=o.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=o(n(34)),i=o(n(155));function o(e){return e&&e.__esModule?e:{default:e}}t.default=function(e,t,n){var o=Object.keys(t);if(!o.length)return\"Store does not have a valid reducer. Make sure the argument passed to combineReducers is an object whose values are reducers.\";var a=(0,i.default)(n);if(r.default.isImmutable?!r.default.isImmutable(e):!r.default.Iterable.isIterable(e))return\"The \"+a+' is of unexpected type. Expected argument to be an instance of Immutable.Collection or Immutable.Record with the following properties: \"'+o.join('\", \"')+'\".';var s=e.toSeq().keySeq().toArray().filter((function(e){return!t.hasOwnProperty(e)}));return s.length>0?\"Unexpected \"+(1===s.length?\"property\":\"properties\")+' \"'+s.join('\", \"')+'\" found in '+a+'. Expected to find one of the known reducer property names instead: \"'+o.join('\", \"')+'\". Unexpected properties will be ignored.':null},e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t,n){if(void 0===e)throw new Error('Reducer \"'+t+'\" returned undefined when handling \"'+n.type+'\" action. To ignore an action, you must explicitly return the previous state.')},e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{!r&&s.return&&s.return()}finally{if(i)throw o}}return n}(e,t);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")},o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();t.default=function(e){var t,n,d=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{withRef:!1};return n=t=function(t){function n(e){m(this,n);var t=g(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e));return t.handleStart=function(e){var n=t.props,r=n.distance,i=n.shouldCancelStart;if(2===e.button||i(e))return!1;t._touched=!0,t._pos=(0,f.getPosition)(e);var o=(0,f.closest)(e.target,(function(e){return null!=e.sortableInfo}));if(o&&o.sortableInfo&&t.nodeIsChild(o)&&!t.state.sorting){var a=t.props.useDragHandle,s=o.sortableInfo,u=s.index,c=s.collection;if(a&&!(0,f.closest)(e.target,(function(e){return null!=e.sortableHandle})))return;t.manager.active={index:u,collection:c},(0,f.isTouchEvent)(e)||\"a\"!==e.target.tagName.toLowerCase()||e.preventDefault(),r||(0===t.props.pressDelay?t.handlePress(e):t.pressTimer=setTimeout((function(){return t.handlePress(e)}),t.props.pressDelay))}},t.nodeIsChild=function(e){return e.sortableInfo.manager===t.manager},t.handleMove=function(e){var n=t.props,r=n.distance,i=n.pressThreshold;if(!t.state.sorting&&t._touched){var o=(0,f.getPosition)(e),a=t._delta={x:t._pos.x-o.x,y:t._pos.y-o.y},s=Math.abs(a.x)+Math.abs(a.y);r||i&&!(i&&s>=i)?r&&s>=r&&t.manager.isActive()&&t.handlePress(e):(clearTimeout(t.cancelTimer),t.cancelTimer=setTimeout(t.cancel,0))}},t.handleEnd=function(){t._touched=!1,t.cancel()},t.cancel=function(){var e=t.props.distance;t.state.sorting||(e||clearTimeout(t.pressTimer),t.manager.active=null)},t.handlePress=function(e){var n=t.manager.getActive();if(n){var r=t.props,i=r.axis,o=r.getHelperDimensions,a=r.helperClass,s=r.hideSortableGhost,u=r.onSortStart,c=r.useWindowAsScrollContainer,l=n.node,p=n.collection,d=l.sortableInfo.index,m=(0,f.getElementMargin)(l),g=t.container.getBoundingClientRect(),y=o({index:d,node:l,collection:p});t.node=l,t.margin=m,t.width=y.width,t.height=y.height,t.marginOffset={x:t.margin.left+t.margin.right,y:Math.max(t.margin.top,t.margin.bottom)},t.boundingClientRect=l.getBoundingClientRect(),t.containerBoundingRect=g,t.index=d,t.newIndex=d,t.axis={x:i.indexOf(\"x\")>=0,y:i.indexOf(\"y\")>=0},t.offsetEdge=(0,f.getEdgeOffset)(l,t.container),t.initialOffset=(0,f.getPosition)(e),t.initialScroll={top:t.container.scrollTop,left:t.container.scrollLeft},t.initialWindowScroll={top:window.pageYOffset,left:window.pageXOffset};var v,b=l.querySelectorAll(\"input, textarea, select\"),E=l.cloneNode(!0);if([].concat(h(E.querySelectorAll(\"input, textarea, select\"))).forEach((function(e,t){\"file\"!==e.type&&b[t]&&(e.value=b[t].value)})),t.helper=t.document.body.appendChild(E),t.helper.style.position=\"fixed\",t.helper.style.top=t.boundingClientRect.top-m.top+\"px\",t.helper.style.left=t.boundingClientRect.left-m.left+\"px\",t.helper.style.width=t.width+\"px\",t.helper.style.height=t.height+\"px\",t.helper.style.boxSizing=\"border-box\",t.helper.style.pointerEvents=\"none\",s&&(t.sortableGhost=l,l.style.visibility=\"hidden\",l.style.opacity=0),t.minTranslate={},t.maxTranslate={},t.axis.x&&(t.minTranslate.x=(c?0:g.left)-t.boundingClientRect.left-t.width/2,t.maxTranslate.x=(c?t.contentWindow.innerWidth:g.left+g.width)-t.boundingClientRect.left-t.width/2),t.axis.y&&(t.minTranslate.y=(c?0:g.top)-t.boundingClientRect.top-t.height/2,t.maxTranslate.y=(c?t.contentWindow.innerHeight:g.top+g.height)-t.boundingClientRect.top-t.height/2),a)(v=t.helper.classList).add.apply(v,h(a.split(\" \")));t.listenerNode=e.touches?l:t.contentWindow,f.events.move.forEach((function(e){return t.listenerNode.addEventListener(e,t.handleSortMove,!1)})),f.events.end.forEach((function(e){return t.listenerNode.addEventListener(e,t.handleSortEnd,!1)})),t.setState({sorting:!0,sortingIndex:d}),u&&u({node:l,index:d,collection:p},e)}},t.handleSortMove=function(e){var n=t.props.onSortMove;e.preventDefault(),t.updatePosition(e),t.animateNodes(),t.autoscroll(),n&&n(e)},t.handleSortEnd=function(e){var n=t.props,r=n.hideSortableGhost,i=n.onSortEnd,o=t.manager.active.collection;t.listenerNode&&(f.events.move.forEach((function(e){return t.listenerNode.removeEventListener(e,t.handleSortMove)})),f.events.end.forEach((function(e){return t.listenerNode.removeEventListener(e,t.handleSortEnd)}))),t.helper.parentNode.removeChild(t.helper),r&&t.sortableGhost&&(t.sortableGhost.style.visibility=\"\",t.sortableGhost.style.opacity=\"\");for(var a=t.manager.refs[o],s=0,u=a.length;s<u;s++){var c=a[s],l=c.node;c.edgeOffset=null,l.style[f.vendorPrefix+\"Transform\"]=\"\",l.style[f.vendorPrefix+\"TransitionDuration\"]=\"\"}clearInterval(t.autoscrollInterval),t.autoscrollInterval=null,t.manager.active=null,t.setState({sorting:!1,sortingIndex:null}),\"function\"==typeof i&&i({oldIndex:t.index,newIndex:t.newIndex,collection:o},e),t._touched=!1},t.autoscroll=function(){var e=t.translate,n={x:0,y:0},r={x:1,y:1},i=10,o=10;e.y>=t.maxTranslate.y-t.height/2?(n.y=1,r.y=o*Math.abs((t.maxTranslate.y-t.height/2-e.y)/t.height)):e.x>=t.maxTranslate.x-t.width/2?(n.x=1,r.x=i*Math.abs((t.maxTranslate.x-t.width/2-e.x)/t.width)):e.y<=t.minTranslate.y+t.height/2?(n.y=-1,r.y=o*Math.abs((e.y-t.height/2-t.minTranslate.y)/t.height)):e.x<=t.minTranslate.x+t.width/2&&(n.x=-1,r.x=i*Math.abs((e.x-t.width/2-t.minTranslate.x)/t.width)),t.autoscrollInterval&&(clearInterval(t.autoscrollInterval),t.autoscrollInterval=null,t.isAutoScrolling=!1),0===n.x&&0===n.y||(t.autoscrollInterval=setInterval((function(){t.isAutoScrolling=!0;var e=1*r.x*n.x,i=1*r.y*n.y;t.scrollContainer.scrollTop+=i,t.scrollContainer.scrollLeft+=e,t.translate.x+=e,t.translate.y+=i,t.animateNodes()}),5))},t.manager=new p.default,t.events={start:t.handleStart,move:t.handleMove,end:t.handleEnd},(0,l.default)(!(e.distance&&e.pressDelay),\"Attempted to set both `pressDelay` and `distance` on SortableContainer, you may only use one or the other, not both at the same time.\"),t.state={},t}return y(n,t),o(n,[{key:\"getChildContext\",value:function(){return{manager:this.manager}}},{key:\"componentDidMount\",value:function(){var e=this,t=this.props.useWindowAsScrollContainer,n=this.getContainer();Promise.resolve(n).then((function(n){e.container=n,e.document=e.container.ownerDocument||document;var r=e.props.contentWindow||e.document.defaultView||window;e.contentWindow=\"function\"==typeof r?r():r,e.scrollContainer=t?e.document.scrollingElement||e.document.documentElement:e.container;var i=function(t){e.events.hasOwnProperty(t)&&f.events[t].forEach((function(n){return e.container.addEventListener(n,e.events[t],!1)}))};for(var o in e.events)i(o)}))}},{key:\"componentWillUnmount\",value:function(){var e=this;if(this.container){var t=function(t){e.events.hasOwnProperty(t)&&f.events[t].forEach((function(n){return e.container.removeEventListener(n,e.events[t])}))};for(var n in this.events)t(n)}}},{key:\"getLockPixelOffsets\",value:function(){var e=this.width,t=this.height,n=this.props.lockOffset,r=Array.isArray(n)?n:[n,n];(0,l.default)(2===r.length,\"lockOffset prop of SortableContainer should be a single value or an array of exactly two values. Given %s\",n);var o=i(r,2),a=o[0],s=o[1];return[(0,f.getLockPixelOffset)({lockOffset:a,width:e,height:t}),(0,f.getLockPixelOffset)({lockOffset:s,width:e,height:t})]}},{key:\"updatePosition\",value:function(e){var t=this.props,n=t.lockAxis,r=t.lockToContainerEdges,o=(0,f.getPosition)(e),a={x:o.x-this.initialOffset.x,y:o.y-this.initialOffset.y};if(a.y-=window.pageYOffset-this.initialWindowScroll.top,a.x-=window.pageXOffset-this.initialWindowScroll.left,this.translate=a,r){var s=this.getLockPixelOffsets(),u=i(s,2),c=u[0],l=u[1],p={x:this.width/2-c.x,y:this.height/2-c.y},d={x:this.width/2-l.x,y:this.height/2-l.y};a.x=(0,f.limit)(this.minTranslate.x+p.x,this.maxTranslate.x-d.x,a.x),a.y=(0,f.limit)(this.minTranslate.y+p.y,this.maxTranslate.y-d.y,a.y)}\"x\"===n?a.y=0:\"y\"===n&&(a.x=0),this.helper.style[f.vendorPrefix+\"Transform\"]=\"translate3d(\"+a.x+\"px,\"+a.y+\"px, 0)\"}},{key:\"animateNodes\",value:function(){var e=this.props,t=e.transitionDuration,n=e.hideSortableGhost,r=e.onSortOver,i=this.manager.getOrderedRefs(),o=this.container.scrollLeft-this.initialScroll.left,a=this.container.scrollTop-this.initialScroll.top,s=this.offsetEdge.left+this.translate.x+o,u=this.offsetEdge.top+this.translate.y+a,c=window.pageYOffset-this.initialWindowScroll.top,l=window.pageXOffset-this.initialWindowScroll.left,p=this.newIndex;this.newIndex=null;for(var d=0,h=i.length;d<h;d++){var m=i[d].node,g=m.sortableInfo.index,y=m.offsetWidth,v=m.offsetHeight,b={width:this.width>y?y/2:this.width/2,height:this.height>v?v/2:this.height/2},E={x:0,y:0},x=i[d].edgeOffset;x||(i[d].edgeOffset=x=(0,f.getEdgeOffset)(m,this.container));var D=d<i.length-1&&i[d+1],C=d>0&&i[d-1];D&&!D.edgeOffset&&(D.edgeOffset=(0,f.getEdgeOffset)(D.node,this.container)),g!==this.index?(t&&(m.style[f.vendorPrefix+\"TransitionDuration\"]=t+\"ms\"),this.axis.x?this.axis.y?g<this.index&&(s+l-b.width<=x.left&&u+c<=x.top+b.height||u+c+b.height<=x.top)?(E.x=this.width+this.marginOffset.x,x.left+E.x>this.containerBoundingRect.width-b.width&&(E.x=D.edgeOffset.left-x.left,E.y=D.edgeOffset.top-x.top),null===this.newIndex&&(this.newIndex=g)):g>this.index&&(s+l+b.width>=x.left&&u+c+b.height>=x.top||u+c+b.height>=x.top+v)&&(E.x=-(this.width+this.marginOffset.x),x.left+E.x<this.containerBoundingRect.left+b.width&&(E.x=C.edgeOffset.left-x.left,E.y=C.edgeOffset.top-x.top),this.newIndex=g):g>this.index&&s+l+b.width>=x.left?(E.x=-(this.width+this.marginOffset.x),this.newIndex=g):g<this.index&&s+l<=x.left+b.width&&(E.x=this.width+this.marginOffset.x,null==this.newIndex&&(this.newIndex=g)):this.axis.y&&(g>this.index&&u+c+b.height>=x.top?(E.y=-(this.height+this.marginOffset.y),this.newIndex=g):g<this.index&&u+c<=x.top+b.height&&(E.y=this.height+this.marginOffset.y,null==this.newIndex&&(this.newIndex=g))),m.style[f.vendorPrefix+\"Transform\"]=\"translate3d(\"+E.x+\"px,\"+E.y+\"px,0)\"):n&&(this.sortableGhost=m,m.style.visibility=\"hidden\",m.style.opacity=0)}null==this.newIndex&&(this.newIndex=this.index),r&&this.newIndex!==p&&r({newIndex:this.newIndex,oldIndex:p,index:this.index,collection:this.manager.active.collection})}},{key:\"getWrappedInstance\",value:function(){return(0,l.default)(d.withRef,\"To access the wrapped instance, you need to pass in {withRef: true} as the second argument of the SortableContainer() call\"),this.refs.wrappedInstance}},{key:\"getContainer\",value:function(){var e=this.props.getContainer;return\"function\"!=typeof e?(0,c.findDOMNode)(this):e(d.withRef?this.getWrappedInstance():void 0)}},{key:\"render\",value:function(){var t=d.withRef?\"wrappedInstance\":null;return s.default.createElement(e,r({ref:t},(0,f.omit)(this.props,\"contentWindow\",\"useWindowAsScrollContainer\",\"distance\",\"helperClass\",\"hideSortableGhost\",\"transitionDuration\",\"useDragHandle\",\"pressDelay\",\"pressThreshold\",\"shouldCancelStart\",\"onSortStart\",\"onSortMove\",\"onSortEnd\",\"axis\",\"lockAxis\",\"lockOffset\",\"lockToContainerEdges\",\"getContainer\",\"getHelperDimensions\")))}}]),n}(a.Component),t.displayName=(0,f.provideDisplayName)(\"sortableList\",e),t.defaultProps={axis:\"y\",transitionDuration:300,pressDelay:0,pressThreshold:5,distance:0,useWindowAsScrollContainer:!1,hideSortableGhost:!0,shouldCancelStart:function(e){if(-1!==[\"input\",\"textarea\",\"select\",\"option\",\"button\"].indexOf(e.target.tagName.toLowerCase()))return!0},lockToContainerEdges:!1,lockOffset:\"50%\",getHelperDimensions:function(e){var t=e.node;return{width:t.offsetWidth,height:t.offsetHeight}}},t.propTypes={axis:u.default.oneOf([\"x\",\"y\",\"xy\"]),distance:u.default.number,lockAxis:u.default.string,helperClass:u.default.string,transitionDuration:u.default.number,contentWindow:u.default.any,onSortStart:u.default.func,onSortMove:u.default.func,onSortOver:u.default.func,onSortEnd:u.default.func,shouldCancelStart:u.default.func,pressDelay:u.default.number,useDragHandle:u.default.bool,useWindowAsScrollContainer:u.default.bool,hideSortableGhost:u.default.bool,lockToContainerEdges:u.default.bool,lockOffset:u.default.oneOfType([u.default.number,u.default.string,u.default.arrayOf(u.default.oneOfType([u.default.number,u.default.string]))]),getContainer:u.default.func,getHelperDimensions:u.default.func},t.childContextTypes={manager:u.default.object.isRequired},n};var a=n(3),s=d(a),u=d(n(7)),c=n(59),l=d(n(29)),p=d(n(288)),f=n(102);function d(e){return e&&e.__esModule?e:{default:e}}function h(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function m(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function g(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function y(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var i=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.refs={}}return r(e,[{key:\"add\",value:function(e,t){this.refs[e]||(this.refs[e]=[]),this.refs[e].push(t)}},{key:\"remove\",value:function(e,t){var n=this.getIndex(e,t);-1!==n&&this.refs[e].splice(n,1)}},{key:\"isActive\",value:function(){return this.active}},{key:\"getActive\",value:function(){var e=this;return this.refs[this.active.collection].find((function(t){return t.node.sortableInfo.index==e.active.index}))}},{key:\"getIndex\",value:function(e,t){return this.refs[e].indexOf(t)}},{key:\"getOrderedRefs\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.active.collection;return this.refs[e].sort(o)}}]),e}();function o(e,t){return e.node.sortableInfo.index-t.node.sortableInfo.index}t.default=i},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();t.default=function(e){var t,n,p=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{withRef:!1};return n=t=function(t){function n(){return f(this,n),d(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return h(n,t),i(n,[{key:\"componentDidMount\",value:function(){var e=this.props,t=e.collection,n=e.disabled,r=e.index;n||this.setDraggable(t,r)}},{key:\"componentWillReceiveProps\",value:function(e){if(this.props.index!==e.index&&this.node&&(this.node.sortableInfo.index=e.index),this.props.disabled!==e.disabled){var t=e.collection,n=e.disabled,r=e.index;n?this.removeDraggable(t):this.setDraggable(t,r)}else this.props.collection!==e.collection&&(this.removeDraggable(this.props.collection),this.setDraggable(e.collection,e.index))}},{key:\"componentWillUnmount\",value:function(){var e=this.props,t=e.collection;e.disabled||this.removeDraggable(t)}},{key:\"setDraggable\",value:function(e,t){var n=this.node=(0,u.findDOMNode)(this);n.sortableInfo={index:t,collection:e,manager:this.context.manager},this.ref={node:n},this.context.manager.add(e,this.ref)}},{key:\"removeDraggable\",value:function(e){this.context.manager.remove(e,this.ref)}},{key:\"getWrappedInstance\",value:function(){return(0,c.default)(p.withRef,\"To access the wrapped instance, you need to pass in {withRef: true} as the second argument of the SortableElement() call\"),this.refs.wrappedInstance}},{key:\"render\",value:function(){var t=p.withRef?\"wrappedInstance\":null;return a.default.createElement(e,r({ref:t},(0,l.omit)(this.props,\"collection\",\"disabled\",\"index\")))}}]),n}(o.Component),t.displayName=(0,l.provideDisplayName)(\"sortableElement\",e),t.contextTypes={manager:s.default.object.isRequired},t.propTypes={index:s.default.number.isRequired,collection:s.default.oneOfType([s.default.number,s.default.string]),disabled:s.default.bool},t.defaultProps={collection:0},n};var o=n(3),a=p(o),s=p(n(7)),u=n(59),c=p(n(29)),l=n(102);function p(e){return e&&e.__esModule?e:{default:e}}function f(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function d(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function h(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();t.default=function(e){var t,n,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{withRef:!1};return n=t=function(t){function n(){return p(this,n),f(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return d(n,t),i(n,[{key:\"componentDidMount\",value:function(){(0,s.findDOMNode)(this).sortableHandle=!0}},{key:\"getWrappedInstance\",value:function(){return(0,u.default)(l.withRef,\"To access the wrapped instance, you need to pass in {withRef: true} as the second argument of the SortableHandle() call\"),this.refs.wrappedInstance}},{key:\"render\",value:function(){var t=l.withRef?\"wrappedInstance\":null;return a.default.createElement(e,r({ref:t},this.props))}}]),n}(o.Component),t.displayName=(0,c.provideDisplayName)(\"sortableHandle\",e),n};var o=n(3),a=l(o),s=n(59),u=l(n(29)),c=n(102);function l(e){return e&&e.__esModule?e:{default:e}}function p(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function f(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function d(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(34),i=n(49),o=n(87);t.defaultHistoryState=r.OrderedMap({}),t.default=i.handleActions({TOGGLE_HISTORY_ITEM_STARRING:function(e,t){var n=t.payload.sessionId;return e.setIn([n,\"starred\"],!e.getIn([n,\"starred\"]))},ADD_HISTORY_ITEM:function(e,t){var n=t.payload.session,i=o();return e.slice(-40).set(i,n.merge({id:i,date:new Date,responses:r.List()}))}},t.defaultHistoryState)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(34);t.immutableMemoize=function(e){var t;return function(n){var i=e(n);return r.is(t,i)||(t=i),t}}},function(e,t,n){\"use strict\";var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)},i=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},\"function\"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError(\"Generator is already executing.\");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){a.label=o[1];break}if(6===o[0]&&a.label<i[1]){a.label=i[1],i=o;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(o);break}i[2]&&a.ops.pop(),a.trys.pop();continue}o=t.call(e,a)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}};Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(20),s=n(294),u=n(62),c=n(34),l=n(154),p=n(153),f=n(163),d=function(){function e(e){this.subscriptions=c.Map(),this.sessionCache=new f({max:10}),this.schemaInstanceCache=new f({max:10}),this.fetching=c.Map(),this.linkGetter=e}return e.prototype.fetch=function(e){return i(this,void 0,void 0,(function(){var t,n,r,i;return o(this,(function(o){return t=this.hash(e),(n=this.sessionCache.get(t))?[2,n]:(r=this.fetching.get(t))?[2,r]:(i=this.fetchSchema(e),this.fetching=this.fetching.set(t,i),[2,i])}))}))},e.prototype.subscribe=function(e,t){var n=this.hash(e);this.subscriptions=this.subscriptions.set(n,t)},e.prototype.refetch=function(e){return this.fetchSchema(e)},e.prototype.hash=function(e){return e.endpoint+\"~\"+(e.headers||\"\")},e.prototype.getSchema=function(e){var t=JSON.stringify(e),n=this.schemaInstanceCache.get(t);if(n)return n;var r=a.buildClientSchema(e);return this.schemaInstanceCache.set(t,r),r},e.prototype.fetchSchema=function(e){var t=this,n=this.hash(e),i=e.endpoint,o=r(r({},p.parseHeaders(e.headers)),{\"X-Apollo-Tracing\":\"1\"}),f=r({},p.parseHeaders(e.headers)),d=e.useTracingHeader?o:f,h=c.set(e,\"headers\",d),m=this.linkGetter(h).link,g=l.makeOperation({query:a.getIntrospectionQuery()});return new Promise((function(r,o){u.execute(m,g).subscribe({next:function(o){if(o&&(o.errors&&o.errors.length>0||!o.data))throw new Error(JSON.stringify(o,null,2));if(!o)throw new s.NoSchemaError(i);var a={schema:t.getSchema(o.data),tracingSupported:o.extensions&&Boolean(o.extensions.tracing)||!1};t.sessionCache.set(t.hash(e),a),r(a),t.fetching=t.fetching.remove(n);var u=t.subscriptions.get(n);u&&u(a.schema)},error:function(n){o(n),t.fetching=t.fetching.remove(t.hash(e))}})}))},e}();t.SchemaFetcher=d},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,\"__esModule\",{value:!0});var o=function(e){function t(t){return e.call(this,\"Schema could not be fetched.\\nPlease check if the endpoint '\"+t+\"' is a valid GraphQL Endpoint.\")||this}return i(t,e),t}(Error);t.NoSchemaError=o},function(e,t,n){\"use strict\";function r(e){var t=this;if(t instanceof r||(t=new r),t.tail=null,t.head=null,t.length=0,e&&\"function\"==typeof e.forEach)e.forEach((function(e){t.push(e)}));else if(arguments.length>0)for(var n=0,i=arguments.length;n<i;n++)t.push(arguments[n]);return t}function i(e,t,n){var r=t===e.head?new s(n,null,t,e):new s(n,t,t.next,e);return null===r.next&&(e.tail=r),null===r.prev&&(e.head=r),e.length++,r}function o(e,t){e.tail=new s(t,e.tail,null,e),e.head||(e.head=e.tail),e.length++}function a(e,t){e.head=new s(t,null,e.head,e),e.tail||(e.tail=e.head),e.length++}function s(e,t,n,r){if(!(this instanceof s))return new s(e,t,n,r);this.list=r,this.value=e,t?(t.next=this,this.prev=t):this.prev=null,n?(n.prev=this,this.next=n):this.next=null}e.exports=r,r.Node=s,r.create=r,r.prototype.removeNode=function(e){if(e.list!==this)throw new Error(\"removing node which does not belong to this list\");var t=e.next,n=e.prev;return t&&(t.prev=n),n&&(n.next=t),e===this.head&&(this.head=t),e===this.tail&&(this.tail=n),e.list.length--,e.next=null,e.prev=null,e.list=null,t},r.prototype.unshiftNode=function(e){if(e!==this.head){e.list&&e.list.removeNode(e);var t=this.head;e.list=this,e.next=t,t&&(t.prev=e),this.head=e,this.tail||(this.tail=e),this.length++}},r.prototype.pushNode=function(e){if(e!==this.tail){e.list&&e.list.removeNode(e);var t=this.tail;e.list=this,e.prev=t,t&&(t.next=e),this.tail=e,this.head||(this.head=e),this.length++}},r.prototype.push=function(){for(var e=0,t=arguments.length;e<t;e++)o(this,arguments[e]);return this.length},r.prototype.unshift=function(){for(var e=0,t=arguments.length;e<t;e++)a(this,arguments[e]);return this.length},r.prototype.pop=function(){if(this.tail){var e=this.tail.value;return this.tail=this.tail.prev,this.tail?this.tail.next=null:this.head=null,this.length--,e}},r.prototype.shift=function(){if(this.head){var e=this.head.value;return this.head=this.head.next,this.head?this.head.prev=null:this.tail=null,this.length--,e}},r.prototype.forEach=function(e,t){t=t||this;for(var n=this.head,r=0;null!==n;r++)e.call(t,n.value,r,this),n=n.next},r.prototype.forEachReverse=function(e,t){t=t||this;for(var n=this.tail,r=this.length-1;null!==n;r--)e.call(t,n.value,r,this),n=n.prev},r.prototype.get=function(e){for(var t=0,n=this.head;null!==n&&t<e;t++)n=n.next;if(t===e&&null!==n)return n.value},r.prototype.getReverse=function(e){for(var t=0,n=this.tail;null!==n&&t<e;t++)n=n.prev;if(t===e&&null!==n)return n.value},r.prototype.map=function(e,t){t=t||this;for(var n=new r,i=this.head;null!==i;)n.push(e.call(t,i.value,this)),i=i.next;return n},r.prototype.mapReverse=function(e,t){t=t||this;for(var n=new r,i=this.tail;null!==i;)n.push(e.call(t,i.value,this)),i=i.prev;return n},r.prototype.reduce=function(e,t){var n,r=this.head;if(arguments.length>1)n=t;else{if(!this.head)throw new TypeError(\"Reduce of empty list with no initial value\");r=this.head.next,n=this.head.value}for(var i=0;null!==r;i++)n=e(n,r.value,i),r=r.next;return n},r.prototype.reduceReverse=function(e,t){var n,r=this.tail;if(arguments.length>1)n=t;else{if(!this.tail)throw new TypeError(\"Reduce of empty list with no initial value\");r=this.tail.prev,n=this.tail.value}for(var i=this.length-1;null!==r;i--)n=e(n,r.value,i),r=r.prev;return n},r.prototype.toArray=function(){for(var e=new Array(this.length),t=0,n=this.head;null!==n;t++)e[t]=n.value,n=n.next;return e},r.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,n=this.tail;null!==n;t++)e[t]=n.value,n=n.prev;return e},r.prototype.slice=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var n=new r;if(t<e||t<0)return n;e<0&&(e=0),t>this.length&&(t=this.length);for(var i=0,o=this.head;null!==o&&i<e;i++)o=o.next;for(;null!==o&&i<t;i++,o=o.next)n.push(o.value);return n},r.prototype.sliceReverse=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var n=new r;if(t<e||t<0)return n;e<0&&(e=0),t>this.length&&(t=this.length);for(var i=this.length,o=this.tail;null!==o&&i>t;i--)o=o.prev;for(;null!==o&&i>e;i--,o=o.prev)n.push(o.value);return n},r.prototype.splice=function(e,t){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var n=0,r=this.head;null!==r&&n<e;n++)r=r.next;var o=[];for(n=0;r&&n<t;n++)o.push(r.value),r=this.removeNode(r);null===r&&(r=this.tail),r!==this.head&&r!==this.tail&&(r=r.prev);for(n=2;n<arguments.length;n++)r=i(this,r,arguments[n]);return o},r.prototype.reverse=function(){for(var e=this.head,t=this.tail,n=e;null!==n;n=n.prev){var r=n.prev;n.prev=n.next,n.next=r}return this.head=t,this.tail=e,this};try{n(296)(r)}catch(e){}},function(e,t,n){\"use strict\";e.exports=function(e){e.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}},function(e,t,n){(function(t){var n;n=function(){\"use strict\";var e=\"Prettier is an opinionated code formatter\",n=\"./bin/prettier.js\",r={node:\">=10.13.0\"},i={\"@angular/compiler\":\"9.0.5\",\"@babel/code-frame\":\"7.8.0\",\"@babel/parser\":\"7.9.3\",\"@glimmer/syntax\":\"0.48.0\",\"@iarna/toml\":\"2.2.3\",\"@typescript-eslint/typescript-estree\":\"2.24.0\",\"angular-estree-parser\":\"1.3.0\",\"angular-html-parser\":\"1.4.0\",camelcase:\"5.3.1\",chalk:\"3.0.0\",\"ci-info\":\"watson/ci-info#f43f6a1cefff47fb361c88cf4b943fdbcaafe540\",\"cjk-regex\":\"2.0.0\",cosmiconfig:\"6.0.0\",dashify:\"2.0.0\",dedent:\"0.7.0\",diff:\"4.0.2\",editorconfig:\"0.15.3\",\"editorconfig-to-prettier\":\"0.1.1\",\"escape-string-regexp\":\"2.0.0\",esutils:\"2.0.3\",\"fast-glob\":\"3.2.2\",\"find-parent-dir\":\"0.3.0\",\"find-project-root\":\"1.1.1\",\"flow-parser\":\"0.121.0\",\"get-stream\":\"5.1.0\",globby:\"11.0.0\",graphql:\"14.6.0\",\"html-element-attributes\":\"2.2.1\",\"html-styles\":\"1.0.0\",\"html-tag-names\":\"1.1.5\",ignore:\"4.0.6\",\"jest-docblock\":\"25.1.0\",\"json-stable-stringify\":\"1.0.1\",leven:\"3.1.0\",\"lines-and-columns\":\"1.1.6\",\"linguist-languages\":\"7.9.0\",lodash:\"4.17.15\",mem:\"6.0.1\",minimatch:\"3.0.4\",minimist:\"1.2.5\",\"n-readlines\":\"1.0.0\",\"please-upgrade-node\":\"3.2.0\",\"postcss-less\":\"3.1.4\",\"postcss-media-query-parser\":\"0.2.3\",\"postcss-scss\":\"2.0.0\",\"postcss-selector-parser\":\"2.2.3\",\"postcss-values-parser\":\"2.0.1\",\"regexp-util\":\"1.2.2\",\"remark-math\":\"1.0.6\",\"remark-parse\":\"5.0.0\",semver:\"7.1.3\",srcset:\"2.0.1\",\"string-width\":\"4.2.0\",typescript:\"3.8.3\",\"unicode-regex\":\"3.0.0\",unified:\"8.4.2\",vnopts:\"1.0.2\",\"yaml-unist-parser\":\"1.1.1\"},o={\"@babel/core\":\"7.9.0\",\"@babel/preset-env\":\"7.9.0\",\"@rollup/plugin-alias\":\"3.0.1\",\"@rollup/plugin-commonjs\":\"11.0.2\",\"@rollup/plugin-json\":\"4.0.2\",\"@rollup/plugin-node-resolve\":\"7.1.1\",\"@rollup/plugin-replace\":\"2.3.1\",\"babel-loader\":\"8.1.0\",benchmark:\"2.1.4\",\"builtin-modules\":\"3.1.0\",codecov:\"3.6.5\",\"cross-env\":\"7.0.2\",cspell:\"4.0.55\",eslint:\"6.8.0\",\"eslint-config-prettier\":\"6.10.1\",\"eslint-formatter-friendly\":\"7.0.0\",\"eslint-plugin-import\":\"2.20.1\",\"eslint-plugin-prettier\":\"3.1.2\",\"eslint-plugin-react\":\"7.19.0\",\"eslint-plugin-unicorn\":\"17.2.0\",execa:\"4.0.0\",jest:\"25.1.0\",\"jest-snapshot-serializer-ansi\":\"1.0.0\",\"jest-snapshot-serializer-raw\":\"1.1.0\",\"jest-watch-typeahead\":\"0.4.2\",prettier:\"2.0.1\",rimraf:\"3.0.2\",rollup:\"2.1.0\",\"rollup-plugin-babel\":\"4.4.0\",\"rollup-plugin-node-globals\":\"1.4.0\",\"rollup-plugin-terser\":\"5.3.0\",shelljs:\"0.8.3\",\"snapshot-diff\":\"0.7.0\",\"strip-ansi\":\"6.0.0\",\"synchronous-promise\":\"2.0.10\",tempy:\"0.5.0\",\"terser-webpack-plugin\":\"2.3.5\",webpack:\"4.42.0\"},a={prepublishOnly:'echo \"Error: must publish from dist/\" && exit 1',\"prepare-release\":\"yarn && yarn build && yarn test:dist\",test:\"jest\",\"test:dist\":\"node ./scripts/test-dist.js\",\"test:integration\":\"jest tests_integration\",\"perf:repeat\":\"yarn && yarn build && cross-env NODE_ENV=production node ./dist/bin-prettier.js --debug-repeat ${PERF_REPEAT:-1000} --loglevel debug ${PERF_FILE:-./index.js} > /dev/null\",\"perf:repeat-inspect\":\"yarn && yarn build && cross-env NODE_ENV=production node --inspect-brk ./dist/bin-prettier.js --debug-repeat ${PERF_REPEAT:-1000} --loglevel debug ${PERF_FILE:-./index.js} > /dev/null\",\"perf:benchmark\":\"yarn && yarn build && cross-env NODE_ENV=production node ./dist/bin-prettier.js --debug-benchmark --loglevel debug ${PERF_FILE:-./index.js} > /dev/null\",\"lint:typecheck\":\"tsc\",\"lint:eslint\":\"cross-env EFF_NO_LINK_RULES=true eslint . --format friendly\",\"lint:changelog\":\"node ./scripts/lint-changelog.js\",\"lint:prettier\":'prettier \"**/*.{md,json,yml,html,css}\" --check',\"lint:dist\":'eslint --no-eslintrc --no-ignore --env=es6,browser --parser-options=ecmaVersion:2016 \"dist/!(bin-prettier|index|third-party).js\"',\"lint:spellcheck\":\"cspell {bin,scripts,src,website}/**/*.js {docs,website/blog,changelog_unreleased}/**/*.md\",\"lint:deps\":\"node ./scripts/check-deps.js\",build:\"node --max-old-space-size=3072 ./scripts/build/build.js\",\"build-docs\":\"node ./scripts/build-docs.js\"},s={name:\"prettier\",version:\"2.0.2\",description:e,bin:n,repository:\"prettier/prettier\",homepage:\"https://prettier.io\",author:\"James Long\",license:\"MIT\",main:\"./index.js\",engines:r,dependencies:i,devDependencies:o,scripts:a},u=Object.freeze({__proto__:null,name:\"prettier\",version:\"2.0.2\",description:e,bin:n,repository:\"prettier/prettier\",homepage:\"https://prettier.io\",author:\"James Long\",license:\"MIT\",main:\"./index.js\",engines:r,dependencies:i,devDependencies:o,scripts:a,default:s});function c(){}function l(e,t,n,r,i){for(var o=0,a=t.length,s=0,u=0;o<a;o++){var c=t[o];if(c.removed){if(c.value=e.join(r.slice(u,u+c.count)),u+=c.count,o&&t[o-1].added){var l=t[o-1];t[o-1]=t[o],t[o]=l}}else{if(!c.added&&i){var p=n.slice(s,s+c.count);p=p.map((function(e,t){var n=r[u+t];return n.length>e.length?n:e})),c.value=e.join(p)}else c.value=e.join(n.slice(s,s+c.count));s+=c.count,c.added||(u+=c.count)}}var f=t[a-1];return a>1&&\"string\"==typeof f.value&&(f.added||f.removed)&&e.equals(\"\",f.value)&&(t[a-2].value+=f.value,t.pop()),t}function p(e){return{newPos:e.newPos,components:e.components.slice(0)}}c.prototype={diff:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.callback;\"function\"==typeof n&&(r=n,n={}),this.options=n;var i=this;function o(e){return r?(setTimeout((function(){r(void 0,e)}),0),!0):e}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e));var a=(t=this.removeEmpty(this.tokenize(t))).length,s=e.length,u=1,c=a+s,f=[{newPos:-1,components:[]}],d=this.extractCommon(f[0],t,e,0);if(f[0].newPos+1>=a&&d+1>=s)return o([{value:this.join(t),count:t.length}]);function h(){for(var n=-1*u;n<=u;n+=2){var r=void 0,c=f[n-1],d=f[n+1],h=(d?d.newPos:0)-n;c&&(f[n-1]=void 0);var m=c&&c.newPos+1<a,g=d&&0<=h&&h<s;if(m||g){if(!m||g&&c.newPos<d.newPos?(r=p(d),i.pushComponent(r.components,void 0,!0)):((r=c).newPos++,i.pushComponent(r.components,!0,void 0)),h=i.extractCommon(r,t,e,n),r.newPos+1>=a&&h+1>=s)return o(l(i,r.components,t,e,i.useLongestToken));f[n]=r}else f[n]=void 0}u++}if(r)!function e(){setTimeout((function(){if(u>c)return r();h()||e()}),0)}();else for(;u<=c;){var m=h();if(m)return m}},pushComponent:function(e,t,n){var r=e[e.length-1];r&&r.added===t&&r.removed===n?e[e.length-1]={count:r.count+1,added:t,removed:n}:e.push({count:1,added:t,removed:n})},extractCommon:function(e,t,n,r){for(var i=t.length,o=n.length,a=e.newPos,s=a-r,u=0;a+1<i&&s+1<o&&this.equals(t[a+1],n[s+1]);)a++,s++,u++;return u&&e.components.push({count:u}),e.newPos=a,s},equals:function(e,t){return this.options.comparator?this.options.comparator(e,t):e===t||this.options.ignoreCase&&e.toLowerCase()===t.toLowerCase()},removeEmpty:function(e){for(var t=[],n=0;n<e.length;n++)e[n]&&t.push(e[n]);return t},castInput:function(e){return e},tokenize:function(e){return e.split(\"\")},join:function(e){return e.join(\"\")}};var f=new c;function d(e,t){if(\"function\"==typeof e)t.callback=e;else if(e)for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var h=/^[A-Za-z\\xC0-\\u02C6\\u02C8-\\u02D7\\u02DE-\\u02FF\\u1E00-\\u1EFF]+$/,m=/\\S/,g=new c;g.equals=function(e,t){return this.options.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e===t||this.options.ignoreWhitespace&&!m.test(e)&&!m.test(t)},g.tokenize=function(e){for(var t=e.split(/(\\s+|[()[\\]{}'\"]|\\b)/),n=0;n<t.length-1;n++)!t[n+1]&&t[n+2]&&h.test(t[n])&&h.test(t[n+2])&&(t[n]+=t[n+2],t.splice(n+1,2),n--);return t};var y=new c;function v(e,t,n){return y.diff(e,t,n)}y.tokenize=function(e){var t=[],n=e.split(/(\\n|\\r\\n)/);n[n.length-1]||n.pop();for(var r=0;r<n.length;r++){var i=n[r];r%2&&!this.options.newlineIsToken?t[t.length-1]+=i:(this.options.ignoreWhitespace&&(i=i.trim()),t.push(i))}return t};var b=new c;b.tokenize=function(e){return e.split(/(\\S.+?[.!?])(?=\\s+|$)/)};var E=new c;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)}function D(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||\"[object Arguments]\"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance\")}()}E.tokenize=function(e){return e.split(/([{}:;,]|\\s+)/)};var C=Object.prototype.toString,w=new c;function S(e,t,n,r,i){var o,a;for(t=t||[],n=n||[],r&&(e=r(i,e)),o=0;o<t.length;o+=1)if(t[o]===e)return n[o];if(\"[object Array]\"===C.call(e)){for(t.push(e),a=new Array(e.length),n.push(a),o=0;o<e.length;o+=1)a[o]=S(e[o],t,n,r,i);return t.pop(),n.pop(),a}if(e&&e.toJSON&&(e=e.toJSON()),\"object\"===x(e)&&null!==e){t.push(e),a={},n.push(a);var s,u=[];for(s in e)e.hasOwnProperty(s)&&u.push(s);for(u.sort(),o=0;o<u.length;o+=1)a[s=u[o]]=S(e[s],t,n,r,s);t.pop(),n.pop()}else a=e;return a}w.useLongestToken=!0,w.tokenize=y.tokenize,w.castInput=function(e){var t=this.options,n=t.undefinedReplacement,r=t.stringifyReplacer,i=void 0===r?function(e,t){return void 0===t?n:t}:r;return\"string\"==typeof e?e:JSON.stringify(S(e,null,null,i),i,\"  \")},w.equals=function(e,t){return c.prototype.equals.call(w,e.replace(/,([\\r\\n])/g,\"$1\"),t.replace(/,([\\r\\n])/g,\"$1\"))};var k=new c;function A(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.split(/\\r\\n|[\\n\\v\\f\\r\\x85]/),r=e.match(/\\r\\n|[\\n\\v\\f\\r\\x85]/g)||[],i=[],o=0;function a(){var e={};for(i.push(e);o<n.length;){var r=n[o];if(/^(\\-\\-\\-|\\+\\+\\+|@@)\\s/.test(r))break;var a=/^(?:Index:|diff(?: -r \\w+)+)\\s+(.+?)\\s*$/.exec(r);a&&(e.index=a[1]),o++}for(s(e),s(e),e.hunks=[];o<n.length;){var c=n[o];if(/^(Index:|diff|\\-\\-\\-|\\+\\+\\+)\\s/.test(c))break;if(/^@@/.test(c))e.hunks.push(u());else{if(c&&t.strict)throw new Error(\"Unknown line \"+(o+1)+\" \"+JSON.stringify(c));o++}}}function s(e){var t=/^(---|\\+\\+\\+)\\s+(.*)$/.exec(n[o]);if(t){var r=\"---\"===t[1]?\"old\":\"new\",i=t[2].split(\"\\t\",2),a=i[0].replace(/\\\\\\\\/g,\"\\\\\");/^\".*\"$/.test(a)&&(a=a.substr(1,a.length-2)),e[r+\"FileName\"]=a,e[r+\"Header\"]=(i[1]||\"\").trim(),o++}}function u(){for(var e=o,i=n[o++].split(/@@ -(\\d+)(?:,(\\d+))? \\+(\\d+)(?:,(\\d+))? @@/),a={oldStart:+i[1],oldLines:+i[2]||1,newStart:+i[3],newLines:+i[4]||1,lines:[],linedelimiters:[]},s=0,u=0;o<n.length&&!(0===n[o].indexOf(\"--- \")&&o+2<n.length&&0===n[o+1].indexOf(\"+++ \")&&0===n[o+2].indexOf(\"@@\"));o++){var c=0==n[o].length&&o!=n.length-1?\" \":n[o][0];if(\"+\"!==c&&\"-\"!==c&&\" \"!==c&&\"\\\\\"!==c)break;a.lines.push(n[o]),a.linedelimiters.push(r[o]||\"\\n\"),\"+\"===c?s++:\"-\"===c?u++:\" \"===c&&(s++,u++)}if(s||1!==a.newLines||(a.newLines=0),u||1!==a.oldLines||(a.oldLines=0),t.strict){if(s!==a.newLines)throw new Error(\"Added line count did not match for hunk at line \"+(e+1));if(u!==a.oldLines)throw new Error(\"Removed line count did not match for hunk at line \"+(e+1))}return a}for(;o<n.length;)a();return i}function T(e,t,n){var r=!0,i=!1,o=!1,a=1;return function s(){if(r&&!o){if(i?a++:r=!1,e+a<=n)return a;o=!0}if(!i)return o||(r=!0),t<=e-a?-a++:(i=!0,s())}}function _(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(\"string\"==typeof t&&(t=A(t)),Array.isArray(t)){if(t.length>1)throw new Error(\"applyPatch only works with a single input.\");t=t[0]}var r,i,o=e.split(/\\r\\n|[\\n\\v\\f\\r\\x85]/),a=e.match(/\\r\\n|[\\n\\v\\f\\r\\x85]/g)||[],s=t.hunks,u=n.compareLine||function(e,t,n,r){return t===r},c=0,l=n.fuzzFactor||0,p=0,f=0;function d(e,t){for(var n=0;n<e.lines.length;n++){var r=e.lines[n],i=r.length>0?r[0]:\" \",a=r.length>0?r.substr(1):r;if(\" \"===i||\"-\"===i){if(!u(t+1,o[t],i,a)&&++c>l)return!1;t++}}return!0}for(var h=0;h<s.length;h++){for(var m=s[h],g=o.length-m.oldLines,y=0,v=f+m.oldStart-1,b=T(v,p,g);void 0!==y;y=b())if(d(m,v+y)){m.offset=f+=y;break}if(void 0===y)return!1;p=m.offset+m.oldStart+m.oldLines}for(var E=0,x=0;x<s.length;x++){var D=s[x],C=D.oldStart+D.offset+E-1;E+=D.newLines-D.oldLines,C<0&&(C=0);for(var w=0;w<D.lines.length;w++){var S=D.lines[w],k=S.length>0?S[0]:\" \",_=S.length>0?S.substr(1):S,O=D.linedelimiters[w];if(\" \"===k)C++;else if(\"-\"===k)o.splice(C,1),a.splice(C,1);else if(\"+\"===k)o.splice(C,0,_),a.splice(C,0,O),C++;else if(\"\\\\\"===k){var F=D.lines[w-1]?D.lines[w-1][0]:null;\"+\"===F?r=!0:\"-\"===F&&(i=!0)}}}if(r)for(;!o[o.length-1];)o.pop(),a.pop();else i&&(o.push(\"\"),a.push(\"\\n\"));for(var N=0;N<o.length-1;N++)o[N]=o[N]+a[N];return o.join(\"\")}function O(e,t,n,r,i,o,a){a||(a={}),void 0===a.context&&(a.context=4);var s=v(n,r,a);function u(e){return e.map((function(e){return\" \"+e}))}s.push({value:\"\",lines:[]});for(var c=[],l=0,p=0,f=[],d=1,h=1,m=function(e){var t=s[e],i=t.lines||t.value.replace(/\\n$/,\"\").split(\"\\n\");if(t.lines=i,t.added||t.removed){var o;if(!l){var m=s[e-1];l=d,p=h,m&&(f=a.context>0?u(m.lines.slice(-a.context)):[],l-=f.length,p-=f.length)}(o=f).push.apply(o,D(i.map((function(e){return(t.added?\"+\":\"-\")+e})))),t.added?h+=i.length:d+=i.length}else{if(l)if(i.length<=2*a.context&&e<s.length-2){var g;(g=f).push.apply(g,D(u(i)))}else{var y,v=Math.min(i.length,a.context);(y=f).push.apply(y,D(u(i.slice(0,v))));var b={oldStart:l,oldLines:d-l+v,newStart:p,newLines:h-p+v,lines:f};if(e>=s.length-2&&i.length<=a.context){var E=/\\n$/.test(n),x=/\\n$/.test(r),C=0==i.length&&f.length>b.oldLines;!E&&C&&f.splice(b.oldLines,0,\"\\\\ No newline at end of file\"),(E||C)&&x||f.push(\"\\\\ No newline at end of file\")}c.push(b),l=0,p=0,f=[]}d+=i.length,h+=i.length}},g=0;g<s.length;g++)m(g);return{oldFileName:e,newFileName:t,oldHeader:i,newHeader:o,hunks:c}}function F(e,t,n,r,i,o,a){var s=O(e,t,n,r,i,o,a),u=[];e==t&&u.push(\"Index: \"+e),u.push(\"===================================================================\"),u.push(\"--- \"+s.oldFileName+(void 0===s.oldHeader?\"\":\"\\t\"+s.oldHeader)),u.push(\"+++ \"+s.newFileName+(void 0===s.newHeader?\"\":\"\\t\"+s.newHeader));for(var c=0;c<s.hunks.length;c++){var l=s.hunks[c];u.push(\"@@ -\"+l.oldStart+\",\"+l.oldLines+\" +\"+l.newStart+\",\"+l.newLines+\" @@\"),u.push.apply(u,l.lines)}return u.join(\"\\n\")+\"\\n\"}function N(e,t){if(t.length>e.length)return!1;for(var n=0;n<t.length;n++)if(t[n]!==e[n])return!1;return!0}function I(e){var t=function e(t){var n=0,r=0;return t.forEach((function(t){if(\"string\"!=typeof t){var i=e(t.mine),o=e(t.theirs);void 0!==n&&(i.oldLines===o.oldLines?n+=i.oldLines:n=void 0),void 0!==r&&(i.newLines===o.newLines?r+=i.newLines:r=void 0)}else void 0===r||\"+\"!==t[0]&&\" \"!==t[0]||r++,void 0===n||\"-\"!==t[0]&&\" \"!==t[0]||n++})),{oldLines:n,newLines:r}}(e.lines),n=t.oldLines,r=t.newLines;void 0!==n?e.oldLines=n:delete e.oldLines,void 0!==r?e.newLines=r:delete e.newLines}function M(e,t){if(\"string\"==typeof e){if(/^@@/m.test(e)||/^Index:/m.test(e))return A(e)[0];if(!t)throw new Error(\"Must provide a base reference or pass in a patch\");return O(void 0,void 0,t,e)}return e}function j(e){return e.newFileName&&e.newFileName!==e.oldFileName}function L(e,t,n){return t===n?t:(e.conflict=!0,{mine:t,theirs:n})}function P(e,t){return e.oldStart<t.oldStart&&e.oldStart+e.oldLines<t.oldStart}function R(e,t){return{oldStart:e.oldStart,oldLines:e.oldLines,newStart:e.newStart+t,newLines:e.newLines,lines:e.lines}}function B(e,t,n,r,i){var o={offset:t,lines:n,index:0},a={offset:r,lines:i,index:0};for(q(e,o,a),q(e,a,o);o.index<o.lines.length&&a.index<a.lines.length;){var s=o.lines[o.index],u=a.lines[a.index];if(\"-\"!==s[0]&&\"+\"!==s[0]||\"-\"!==u[0]&&\"+\"!==u[0])if(\"+\"===s[0]&&\" \"===u[0]){var c;(c=e.lines).push.apply(c,D(W(o)))}else if(\"+\"===u[0]&&\" \"===s[0]){var l;(l=e.lines).push.apply(l,D(W(a)))}else\"-\"===s[0]&&\" \"===u[0]?z(e,o,a):\"-\"===u[0]&&\" \"===s[0]?z(e,a,o,!0):s===u?(e.lines.push(s),o.index++,a.index++):V(e,W(o),W(a));else U(e,o,a)}H(e,o),H(e,a),I(e)}function U(e,t,n){var r=W(t),i=W(n);if(G(r)&&G(i)){var o,a;if(N(r,i)&&K(n,r,r.length-i.length))return void(o=e.lines).push.apply(o,D(r));if(N(i,r)&&K(t,i,i.length-r.length))return void(a=e.lines).push.apply(a,D(i))}else if(function(e,t){return e.length===t.length&&N(e,t)}(r,i)){var s;return void(s=e.lines).push.apply(s,D(r))}V(e,r,i)}function z(e,t,n,r){var i,o=W(t),a=function(e,t){for(var n=[],r=[],i=0,o=!1,a=!1;i<t.length&&e.index<e.lines.length;){var s=e.lines[e.index],u=t[i];if(\"+\"===u[0])break;if(o=o||\" \"!==s[0],r.push(u),i++,\"+\"===s[0])for(a=!0;\"+\"===s[0];)n.push(s),s=e.lines[++e.index];u.substr(1)===s.substr(1)?(n.push(s),e.index++):a=!0}if(\"+\"===(t[i]||\"\")[0]&&o&&(a=!0),a)return n;for(;i<t.length;)r.push(t[i++]);return{merged:r,changes:n}}(n,o);a.merged?(i=e.lines).push.apply(i,D(a.merged)):V(e,r?a:o,r?o:a)}function V(e,t,n){e.conflict=!0,e.lines.push({conflict:!0,mine:t,theirs:n})}function q(e,t,n){for(;t.offset<n.offset&&t.index<t.lines.length;){var r=t.lines[t.index++];e.lines.push(r),t.offset++}}function H(e,t){for(;t.index<t.lines.length;){var n=t.lines[t.index++];e.lines.push(n)}}function W(e){for(var t=[],n=e.lines[e.index][0];e.index<e.lines.length;){var r=e.lines[e.index];if(\"-\"===n&&\"+\"===r[0]&&(n=\"+\"),n!==r[0])break;t.push(r),e.index++}return t}function G(e){return e.reduce((function(e,t){return e&&\"-\"===t[0]}),!0)}function K(e,t,n){for(var r=0;r<n;r++){var i=t[t.length-n+r].substr(1);if(e.lines[e.index+r]!==\" \"+i)return!1}return e.index+=n,!0}k.tokenize=function(e){return e.slice()},k.join=k.removeEmpty=function(e){return e};var J=Object.freeze({__proto__:null,Diff:c,diffChars:function(e,t,n){return f.diff(e,t,n)},diffWords:function(e,t,n){return n=d(n,{ignoreWhitespace:!0}),g.diff(e,t,n)},diffWordsWithSpace:function(e,t,n){return g.diff(e,t,n)},diffLines:v,diffTrimmedLines:function(e,t,n){var r=d(n,{ignoreWhitespace:!0});return y.diff(e,t,r)},diffSentences:function(e,t,n){return b.diff(e,t,n)},diffCss:function(e,t,n){return E.diff(e,t,n)},diffJson:function(e,t,n){return w.diff(e,t,n)},diffArrays:function(e,t,n){return k.diff(e,t,n)},structuredPatch:O,createTwoFilesPatch:F,createPatch:function(e,t,n,r,i,o){return F(e,e,t,n,r,i,o)},applyPatch:_,applyPatches:function(e,t){\"string\"==typeof e&&(e=A(e));var n=0;!function r(){var i=e[n++];if(!i)return t.complete();t.loadFile(i,(function(e,n){if(e)return t.complete(e);var o=_(n,i,t);t.patched(i,o,(function(e){if(e)return t.complete(e);r()}))}))}()},parsePatch:A,merge:function(e,t,n){e=M(e,n),t=M(t,n);var r={};(e.index||t.index)&&(r.index=e.index||t.index),(e.newFileName||t.newFileName)&&(j(e)?j(t)?(r.oldFileName=L(r,e.oldFileName,t.oldFileName),r.newFileName=L(r,e.newFileName,t.newFileName),r.oldHeader=L(r,e.oldHeader,t.oldHeader),r.newHeader=L(r,e.newHeader,t.newHeader)):(r.oldFileName=e.oldFileName,r.newFileName=e.newFileName,r.oldHeader=e.oldHeader,r.newHeader=e.newHeader):(r.oldFileName=t.oldFileName||e.oldFileName,r.newFileName=t.newFileName||e.newFileName,r.oldHeader=t.oldHeader||e.oldHeader,r.newHeader=t.newHeader||e.newHeader)),r.hunks=[];for(var i=0,o=0,a=0,s=0;i<e.hunks.length||o<t.hunks.length;){var u=e.hunks[i]||{oldStart:1/0},c=t.hunks[o]||{oldStart:1/0};if(P(u,c))r.hunks.push(R(u,a)),i++,s+=u.newLines-u.oldLines;else if(P(c,u))r.hunks.push(R(c,s)),o++,a+=c.newLines-c.oldLines;else{var l={oldStart:Math.min(u.oldStart,c.oldStart),oldLines:0,newStart:Math.min(u.newStart+a,c.oldStart+s),newLines:0,lines:[]};B(l,u.oldStart,u.lines,c.oldStart,c.lines),o++,i++,r.hunks.push(l)}}return r},convertChangesToDMP:function(e){for(var t,n,r=[],i=0;i<e.length;i++)n=(t=e[i]).added?1:t.removed?-1:0,r.push([n,t.value]);return r},convertChangesToXML:function(e){for(var t=[],n=0;n<e.length;n++){var r=e[n];r.added?t.push(\"<ins>\"):r.removed&&t.push(\"<del>\"),t.push((i=r.value,void 0,i.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\"/g,\"&quot;\"))),r.added?t.push(\"</ins>\"):r.removed&&t.push(\"</del>\")}var i;return t.join(\"\")},canonicalize:S}),Q=Object.freeze({__proto__:null,default:{}});const Y=/[\\\\/]/;function $(e){return e.split(Y).pop()}var X=Object.freeze({__proto__:null,extname:function(e){const t=$(e),n=t.lastIndexOf(\".\");return-1===n?\"\":t.slice(n)},basename:$,isAbsolute:function(){return!0}}),Z=void 0!==t?t:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},ee=[],te=[],ne=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,re=!1;function ie(){re=!0;for(var e=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",t=0,n=e.length;t<n;++t)ee[t]=e[t],te[e.charCodeAt(t)]=t;te[\"-\".charCodeAt(0)]=62,te[\"_\".charCodeAt(0)]=63}function oe(e,t,n){for(var r,i,o=[],a=t;a<n;a+=3)r=(e[a]<<16)+(e[a+1]<<8)+e[a+2],o.push(ee[(i=r)>>18&63]+ee[i>>12&63]+ee[i>>6&63]+ee[63&i]);return o.join(\"\")}function ae(e){var t;re||ie();for(var n=e.length,r=n%3,i=\"\",o=[],a=0,s=n-r;a<s;a+=16383)o.push(oe(e,a,a+16383>s?s:a+16383));return 1===r?(t=e[n-1],i+=ee[t>>2],i+=ee[t<<4&63],i+=\"==\"):2===r&&(t=(e[n-2]<<8)+e[n-1],i+=ee[t>>10],i+=ee[t>>4&63],i+=ee[t<<2&63],i+=\"=\"),o.push(i),o.join(\"\")}function se(e,t,n,r,i){var o,a,s=8*i-r-1,u=(1<<s)-1,c=u>>1,l=-7,p=n?i-1:0,f=n?-1:1,d=e[t+p];for(p+=f,o=d&(1<<-l)-1,d>>=-l,l+=s;l>0;o=256*o+e[t+p],p+=f,l-=8);for(a=o&(1<<-l)-1,o>>=-l,l+=r;l>0;a=256*a+e[t+p],p+=f,l-=8);if(0===o)o=1-c;else{if(o===u)return a?NaN:1/0*(d?-1:1);a+=Math.pow(2,r),o-=c}return(d?-1:1)*a*Math.pow(2,o-r)}function ue(e,t,n,r,i,o){var a,s,u,c=8*o-i-1,l=(1<<c)-1,p=l>>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:o-1,h=r?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),(t+=a+p>=1?f/u:f*Math.pow(2,1-p))*u>=2&&(a++,u/=2),a+p>=l?(s=0,a=l):a+p>=1?(s=(t*u-1)*Math.pow(2,i),a+=p):(s=t*Math.pow(2,p-1)*Math.pow(2,i),a=0));i>=8;e[n+d]=255&s,d+=h,s/=256,i-=8);for(a=a<<i|s,c+=i;c>0;e[n+d]=255&a,d+=h,a/=256,c-=8);e[n+d-h]|=128*m}var ce={}.toString,le=Array.isArray||function(e){return\"[object Array]\"==ce.call(e)};function pe(){return de.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function fe(e,t){if(pe()<t)throw new RangeError(\"Invalid typed array length\");return de.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=de.prototype:(null===e&&(e=new de(t)),e.length=t),e}function de(e,t,n){if(!(de.TYPED_ARRAY_SUPPORT||this instanceof de))return new de(e,t,n);if(\"number\"==typeof e){if(\"string\"==typeof t)throw new Error(\"If encoding is specified then the first argument must be a string\");return ge(this,e)}return he(this,e,t,n)}function he(e,t,n,r){if(\"number\"==typeof t)throw new TypeError('\"value\" argument must not be a number');return\"undefined\"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,r){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError(\"'offset' is out of bounds\");if(t.byteLength<n+(r||0))throw new RangeError(\"'length' is out of bounds\");return t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r),de.TYPED_ARRAY_SUPPORT?(e=t).__proto__=de.prototype:e=ye(e,t),e}(e,t,n,r):\"string\"==typeof t?function(e,t,n){if(\"string\"==typeof n&&\"\"!==n||(n=\"utf8\"),!de.isEncoding(n))throw new TypeError('\"encoding\" must be a valid string encoding');var r=0|Ee(t,n),i=(e=fe(e,r)).write(t,n);return i!==r&&(e=e.slice(0,i)),e}(e,t,n):function(e,t){if(be(t)){var n=0|ve(t.length);return 0===(e=fe(e,n)).length||t.copy(e,0,0,n),e}if(t){if(\"undefined\"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||\"length\"in t)return\"number\"!=typeof t.length||(r=t.length)!=r?fe(e,0):ye(e,t);if(\"Buffer\"===t.type&&le(t.data))return ye(e,t.data)}var r;throw new TypeError(\"First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.\")}(e,t)}function me(e){if(\"number\"!=typeof e)throw new TypeError('\"size\" argument must be a number');if(e<0)throw new RangeError('\"size\" argument must not be negative')}function ge(e,t){if(me(t),e=fe(e,t<0?0:0|ve(t)),!de.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function ye(e,t){var n=t.length<0?0:0|ve(t.length);e=fe(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function ve(e){if(e>=pe())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+pe().toString(16)+\" bytes\");return 0|e}function be(e){return!(null==e||!e._isBuffer)}function Ee(e,t){if(be(e))return e.length;if(\"undefined\"!=typeof ArrayBuffer&&\"function\"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;\"string\"!=typeof e&&(e=\"\"+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case\"ascii\":case\"latin1\":case\"binary\":return n;case\"utf8\":case\"utf-8\":case void 0:return We(e).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*n;case\"hex\":return n>>>1;case\"base64\":return Ge(e).length;default:if(r)return We(e).length;t=(\"\"+t).toLowerCase(),r=!0}}function xe(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return\"\";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return\"\";if((n>>>=0)<=(t>>>=0))return\"\";for(e||(e=\"utf8\");;)switch(e){case\"hex\":return je(this,t,n);case\"utf8\":case\"utf-8\":return Ne(this,t,n);case\"ascii\":return Ie(this,t,n);case\"latin1\":case\"binary\":return Me(this,t,n);case\"base64\":return Fe(this,t,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return Le(this,t,n);default:if(r)throw new TypeError(\"Unknown encoding: \"+e);e=(e+\"\").toLowerCase(),r=!0}}function De(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function Ce(e,t,n,r,i){if(0===e.length)return-1;if(\"string\"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if(\"string\"==typeof t&&(t=de.from(t,r)),be(t))return 0===t.length?-1:we(e,t,n,r,i);if(\"number\"==typeof t)return t&=255,de.TYPED_ARRAY_SUPPORT&&\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):we(e,[t],n,r,i);throw new TypeError(\"val must be string, number or Buffer\")}function we(e,t,n,r,i){var o,a=1,s=e.length,u=t.length;if(void 0!==r&&(\"ucs2\"===(r=String(r).toLowerCase())||\"ucs-2\"===r||\"utf16le\"===r||\"utf-16le\"===r)){if(e.length<2||t.length<2)return-1;a=2,s/=2,u/=2,n/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){var l=-1;for(o=n;o<s;o++)if(c(e,o)===c(t,-1===l?0:o-l)){if(-1===l&&(l=o),o-l+1===u)return l*a}else-1!==l&&(o-=o-l),l=-1}else for(n+u>s&&(n=s-u),o=n;o>=0;o--){for(var p=!0,f=0;f<u;f++)if(c(e,o+f)!==c(t,f)){p=!1;break}if(p)return o}return-1}function Se(e,t,n,r){n=Number(n)||0;var i=e.length-n;r?(r=Number(r))>i&&(r=i):r=i;var o=t.length;if(o%2!=0)throw new TypeError(\"Invalid hex string\");r>o/2&&(r=o/2);for(var a=0;a<r;++a){var s=parseInt(t.substr(2*a,2),16);if(isNaN(s))return a;e[n+a]=s}return a}function ke(e,t,n,r){return Ke(We(t,e.length-n),e,n,r)}function Ae(e,t,n,r){return Ke(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function Te(e,t,n,r){return Ae(e,t,n,r)}function _e(e,t,n,r){return Ke(Ge(t),e,n,r)}function Oe(e,t,n,r){return Ke(function(e,t){for(var n,r,i,o=[],a=0;a<e.length&&!((t-=2)<0);++a)n=e.charCodeAt(a),r=n>>8,i=n%256,o.push(i),o.push(r);return o}(t,e.length-n),e,n,r)}function Fe(e,t,n){return 0===t&&n===e.length?ae(e):ae(e.slice(t,n))}function Ne(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i<n;){var o,a,s,u,c=e[i],l=null,p=c>239?4:c>223?3:c>191?2:1;if(i+p<=n)switch(p){case 1:c<128&&(l=c);break;case 2:128==(192&(o=e[i+1]))&&(u=(31&c)<<6|63&o)>127&&(l=u);break;case 3:o=e[i+1],a=e[i+2],128==(192&o)&&128==(192&a)&&(u=(15&c)<<12|(63&o)<<6|63&a)>2047&&(u<55296||u>57343)&&(l=u);break;case 4:o=e[i+1],a=e[i+2],s=e[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(u=(15&c)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(l=u)}null===l?(l=65533,p=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),i+=p}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);for(var n=\"\",r=0;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=4096));return n}(r)}function Ie(e,t,n){var r=\"\";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(127&e[i]);return r}function Me(e,t,n){var r=\"\";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(e[i]);return r}function je(e,t,n){var r,i=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>i)&&(n=i);for(var o=\"\",a=t;a<n;++a)o+=(r=e[a])<16?\"0\"+r.toString(16):r.toString(16);return o}function Le(e,t,n){for(var r=e.slice(t,n),i=\"\",o=0;o<r.length;o+=2)i+=String.fromCharCode(r[o]+256*r[o+1]);return i}function Pe(e,t,n){if(e%1!=0||e<0)throw new RangeError(\"offset is not uint\");if(e+t>n)throw new RangeError(\"Trying to access beyond buffer length\")}function Re(e,t,n,r,i,o){if(!be(e))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(t>i||t<o)throw new RangeError('\"value\" argument is out of bounds');if(n+r>e.length)throw new RangeError(\"Index out of range\")}function Be(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-n,2);i<o;++i)e[n+i]=(t&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function Ue(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-n,4);i<o;++i)e[n+i]=t>>>8*(r?i:3-i)&255}function ze(e,t,n,r,i,o){if(n+r>e.length)throw new RangeError(\"Index out of range\");if(n<0)throw new RangeError(\"Index out of range\")}function Ve(e,t,n,r,i){return i||ze(e,0,n,4),ue(e,t,n,r,23,4),n+4}function qe(e,t,n,r,i){return i||ze(e,0,n,8),ue(e,t,n,r,52,8),n+8}de.TYPED_ARRAY_SUPPORT=void 0===Z.TYPED_ARRAY_SUPPORT||Z.TYPED_ARRAY_SUPPORT,de.poolSize=8192,de._augment=function(e){return e.__proto__=de.prototype,e},de.from=function(e,t,n){return he(null,e,t,n)},de.TYPED_ARRAY_SUPPORT&&(de.prototype.__proto__=Uint8Array.prototype,de.__proto__=Uint8Array),de.alloc=function(e,t,n){return function(e,t,n,r){return me(t),t<=0?fe(e,t):void 0!==n?\"string\"==typeof r?fe(e,t).fill(n,r):fe(e,t).fill(n):fe(e,t)}(null,e,t,n)},de.allocUnsafe=function(e){return ge(null,e)},de.allocUnsafeSlow=function(e){return ge(null,e)},de.isBuffer=function(e){return null!=e&&(!!e._isBuffer||Je(e)||function(e){return\"function\"==typeof e.readFloatLE&&\"function\"==typeof e.slice&&Je(e.slice(0,0))}(e))},de.compare=function(e,t){if(!be(e)||!be(t))throw new TypeError(\"Arguments must be Buffers\");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,o=Math.min(n,r);i<o;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:r<n?1:0},de.isEncoding=function(e){switch(String(e).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},de.concat=function(e,t){if(!le(e))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===e.length)return de.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=de.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){var o=e[n];if(!be(o))throw new TypeError('\"list\" argument must be an Array of Buffers');o.copy(r,i),i+=o.length}return r},de.byteLength=Ee,de.prototype._isBuffer=!0,de.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var t=0;t<e;t+=2)De(this,t,t+1);return this},de.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var t=0;t<e;t+=4)De(this,t,t+3),De(this,t+1,t+2);return this},de.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var t=0;t<e;t+=8)De(this,t,t+7),De(this,t+1,t+6),De(this,t+2,t+5),De(this,t+3,t+4);return this},de.prototype.toString=function(){var e=0|this.length;return 0===e?\"\":0===arguments.length?Ne(this,0,e):xe.apply(this,arguments)},de.prototype.equals=function(e){if(!be(e))throw new TypeError(\"Argument must be a Buffer\");return this===e||0===de.compare(this,e)},de.prototype.inspect=function(){var e=\"\";return this.length>0&&(e=this.toString(\"hex\",0,50).match(/.{2}/g).join(\" \"),this.length>50&&(e+=\" ... \")),\"<Buffer \"+e+\">\"},de.prototype.compare=function(e,t,n,r,i){if(!be(e))throw new TypeError(\"Argument must be a Buffer\");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError(\"out of range index\");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var o=(i>>>=0)-(r>>>=0),a=(n>>>=0)-(t>>>=0),s=Math.min(o,a),u=this.slice(r,i),c=e.slice(t,n),l=0;l<s;++l)if(u[l]!==c[l]){o=u[l],a=c[l];break}return o<a?-1:a<o?1:0},de.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},de.prototype.indexOf=function(e,t,n){return Ce(this,e,t,n,!0)},de.prototype.lastIndexOf=function(e,t,n){return Ce(this,e,t,n,!1)},de.prototype.write=function(e,t,n,r){if(void 0===t)r=\"utf8\",n=this.length,t=0;else if(void 0===n&&\"string\"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");t|=0,isFinite(n)?(n|=0,void 0===r&&(r=\"utf8\")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");r||(r=\"utf8\");for(var o=!1;;)switch(r){case\"hex\":return Se(this,e,t,n);case\"utf8\":case\"utf-8\":return ke(this,e,t,n);case\"ascii\":return Ae(this,e,t,n);case\"latin1\":case\"binary\":return Te(this,e,t,n);case\"base64\":return _e(this,e,t,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return Oe(this,e,t,n);default:if(o)throw new TypeError(\"Unknown encoding: \"+r);r=(\"\"+r).toLowerCase(),o=!0}},de.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}},de.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e),de.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=de.prototype;else{var i=t-e;n=new de(i,void 0);for(var o=0;o<i;++o)n[o]=this[o+e]}return n},de.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||Pe(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return r},de.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||Pe(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},de.prototype.readUInt8=function(e,t){return t||Pe(e,1,this.length),this[e]},de.prototype.readUInt16LE=function(e,t){return t||Pe(e,2,this.length),this[e]|this[e+1]<<8},de.prototype.readUInt16BE=function(e,t){return t||Pe(e,2,this.length),this[e]<<8|this[e+1]},de.prototype.readUInt32LE=function(e,t){return t||Pe(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},de.prototype.readUInt32BE=function(e,t){return t||Pe(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},de.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||Pe(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*t)),r},de.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||Pe(e,t,this.length);for(var r=t,i=1,o=this[e+--r];r>0&&(i*=256);)o+=this[e+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*t)),o},de.prototype.readInt8=function(e,t){return t||Pe(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},de.prototype.readInt16LE=function(e,t){t||Pe(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},de.prototype.readInt16BE=function(e,t){t||Pe(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},de.prototype.readInt32LE=function(e,t){return t||Pe(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},de.prototype.readInt32BE=function(e,t){return t||Pe(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},de.prototype.readFloatLE=function(e,t){return t||Pe(e,4,this.length),se(this,e,!0,23,4)},de.prototype.readFloatBE=function(e,t){return t||Pe(e,4,this.length),se(this,e,!1,23,4)},de.prototype.readDoubleLE=function(e,t){return t||Pe(e,8,this.length),se(this,e,!0,52,8)},de.prototype.readDoubleBE=function(e,t){return t||Pe(e,8,this.length),se(this,e,!1,52,8)},de.prototype.writeUIntLE=function(e,t,n,r){e=+e,t|=0,n|=0,r||Re(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,o=0;for(this[t]=255&e;++o<n&&(i*=256);)this[t+o]=e/i&255;return t+n},de.prototype.writeUIntBE=function(e,t,n,r){e=+e,t|=0,n|=0,r||Re(this,e,t,n,Math.pow(2,8*n)-1,0);var i=n-1,o=1;for(this[t+i]=255&e;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+n},de.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||Re(this,e,t,1,255,0),de.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},de.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||Re(this,e,t,2,65535,0),de.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Be(this,e,t,!0),t+2},de.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||Re(this,e,t,2,65535,0),de.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Be(this,e,t,!1),t+2},de.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||Re(this,e,t,4,4294967295,0),de.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):Ue(this,e,t,!0),t+4},de.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||Re(this,e,t,4,4294967295,0),de.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Ue(this,e,t,!1),t+4},de.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);Re(this,e,t,n,i-1,-i)}var o=0,a=1,s=0;for(this[t]=255&e;++o<n&&(a*=256);)e<0&&0===s&&0!==this[t+o-1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+n},de.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);Re(this,e,t,n,i-1,-i)}var o=n-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+n},de.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||Re(this,e,t,1,127,-128),de.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},de.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||Re(this,e,t,2,32767,-32768),de.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Be(this,e,t,!0),t+2},de.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||Re(this,e,t,2,32767,-32768),de.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Be(this,e,t,!1),t+2},de.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||Re(this,e,t,4,2147483647,-2147483648),de.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):Ue(this,e,t,!0),t+4},de.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||Re(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),de.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Ue(this,e,t,!1),t+4},de.prototype.writeFloatLE=function(e,t,n){return Ve(this,e,t,!0,n)},de.prototype.writeFloatBE=function(e,t,n){return Ve(this,e,t,!1,n)},de.prototype.writeDoubleLE=function(e,t,n){return qe(this,e,t,!0,n)},de.prototype.writeDoubleBE=function(e,t,n){return qe(this,e,t,!1,n)},de.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError(\"targetStart out of bounds\");if(n<0||n>=this.length)throw new RangeError(\"sourceStart out of bounds\");if(r<0)throw new RangeError(\"sourceEnd out of bounds\");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var i,o=r-n;if(this===e&&n<t&&t<r)for(i=o-1;i>=0;--i)e[i+t]=this[i+n];else if(o<1e3||!de.TYPED_ARRAY_SUPPORT)for(i=0;i<o;++i)e[i+t]=this[i+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+o),t);return o},de.prototype.fill=function(e,t,n,r){if(\"string\"==typeof e){if(\"string\"==typeof t?(r=t,t=0,n=this.length):\"string\"==typeof n&&(r=n,n=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==r&&\"string\"!=typeof r)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof r&&!de.isEncoding(r))throw new TypeError(\"Unknown encoding: \"+r)}else\"number\"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError(\"Out of range index\");if(n<=t)return this;var o;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),\"number\"==typeof e)for(o=t;o<n;++o)this[o]=e;else{var a=be(e)?e:We(new de(e,r).toString()),s=a.length;for(o=0;o<n-t;++o)this[o+t]=a[o%s]}return this};var He=/[^+\\/0-9A-Za-z-_]/g;function We(e,t){var n;t=t||1/0;for(var r=e.length,i=null,o=[],a=0;a<r;++a){if((n=e.charCodeAt(a))>55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error(\"Invalid code point\");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function Ge(e){return function(e){var t,n,r,i,o,a;re||ie();var s=e.length;if(s%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");o=\"=\"===e[s-2]?2:\"=\"===e[s-1]?1:0,a=new ne(3*s/4-o),r=o>0?s-4:s;var u=0;for(t=0,n=0;t<r;t+=4,n+=3)i=te[e.charCodeAt(t)]<<18|te[e.charCodeAt(t+1)]<<12|te[e.charCodeAt(t+2)]<<6|te[e.charCodeAt(t+3)],a[u++]=i>>16&255,a[u++]=i>>8&255,a[u++]=255&i;return 2===o?(i=te[e.charCodeAt(t)]<<2|te[e.charCodeAt(t+1)]>>4,a[u++]=255&i):1===o&&(i=te[e.charCodeAt(t)]<<10|te[e.charCodeAt(t+1)]<<4|te[e.charCodeAt(t+2)]>>2,a[u++]=i>>8&255,a[u++]=255&i),a}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\\s+|\\s+$/g,\"\")}(e).replace(He,\"\")).length<2)return\"\";for(;e.length%4!=0;)e+=\"=\";return e}(e))}function Ke(e,t,n,r){for(var i=0;i<r&&!(i+n>=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function Je(e){return!!e.constructor&&\"function\"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}var Qe=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:void 0!==t?t:\"undefined\"!=typeof self?self:{};function Ye(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}function $e(e,t){return e(t={exports:{}},t.exports),t.exports}function Xe(e){return e&&e.default||e}var Ze=Xe(Q),et=class{constructor(e,t){(t=t||{}).readChunk||(t.readChunk=1024),t.newLineCharacter?t.newLineCharacter=t.newLineCharacter.charCodeAt(0):t.newLineCharacter=10,this.fd=\"number\"==typeof e?e:Ze.openSync(e,\"r\"),this.options=t,this.newLineCharacter=t.newLineCharacter,this.reset()}_searchInBuffer(e,t){let n=-1;for(let r=0;r<=e.length;r++)if(e[r]===t){n=r;break}return n}reset(){this.eofReached=!1,this.linesCache=[],this.fdPosition=0}close(){Ze.closeSync(this.fd),this.fd=null}_extractLines(e){let t;const n=[];let r=0,i=0;for(;;){let o=e[r++];if(o===this.newLineCharacter)t=e.slice(i,r),n.push(t),i=r;else if(!o)break}let o=e.slice(i,r);return o.length&&n.push(o),n}_readChunk(e){let t,n=0;const r=[];do{const e=new de(this.options.readChunk);t=Ze.readSync(this.fd,e,0,this.options.readChunk,this.fdPosition),n+=t,this.fdPosition=this.fdPosition+t,r.push(e)}while(t&&-1===this._searchInBuffer(r[r.length-1],this.options.newLineCharacter));let i=de.concat(r);return t<this.options.readChunk&&(this.eofReached=!0,i=i.slice(0,n)),n&&(this.linesCache=this._extractLines(i),e&&(this.linesCache[0]=de.concat([e,this.linesCache[0]]))),n}next(){if(!this.fd)return!1;let e,t=!1;return this.eofReached&&0===this.linesCache.length||(this.linesCache.length||(e=this._readChunk()),this.linesCache.length&&(t=this.linesCache.shift(),10!==t[t.length-1]&&(e=this._readChunk(t),e&&(t=this.linesCache.shift()))),this.eofReached&&0===this.linesCache.length&&this.close(),t&&t[t.length-1]===this.newLineCharacter&&(t=t.slice(0,t.length-1))),t}},tt=function(e){for(var t=-1,n=null==e?0:e.length,r={};++t<n;){var i=e[t];r[i[0]]=i[1]}return r};class nt extends Error{}class rt extends Error{}class it extends Error{}var ot={ConfigError:nt,DebugError:rt,UndefinedParserError:it};function at(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}function st(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function ut(){throw new Error(\"setTimeout has not been defined\")}function ct(){throw new Error(\"clearTimeout has not been defined\")}var lt=ut,pt=ct;function ft(e){if(lt===setTimeout)return setTimeout(e,0);if((lt===ut||!lt)&&setTimeout)return lt=setTimeout,setTimeout(e,0);try{return lt(e,0)}catch(t){try{return lt.call(null,e,0)}catch(t){return lt.call(this,e,0)}}}\"function\"==typeof Z.setTimeout&&(lt=setTimeout),\"function\"==typeof Z.clearTimeout&&(pt=clearTimeout);var dt,ht=[],mt=!1,gt=-1;function yt(){mt&&dt&&(mt=!1,dt.length?ht=dt.concat(ht):gt=-1,ht.length&&vt())}function vt(){if(!mt){var e=ft(yt);mt=!0;for(var t=ht.length;t;){for(dt=ht,ht=[];++gt<t;)dt&&dt[gt].run();gt=-1,t=ht.length}dt=null,mt=!1,function(e){if(pt===clearTimeout)return clearTimeout(e);if((pt===ct||!pt)&&clearTimeout)return pt=clearTimeout,clearTimeout(e);try{pt(e)}catch(t){try{return pt.call(null,e)}catch(t){return pt.call(this,e)}}}(e)}}function bt(e,t){this.fun=e,this.array=t}function Et(){}bt.prototype.run=function(){this.fun.apply(null,this.array)};var xt=Et,Dt=Et,Ct=Et,wt=Et,St=Et,kt=Et,At=Et,Tt=Z.performance||{},_t=Tt.now||Tt.mozNow||Tt.msNow||Tt.oNow||Tt.webkitNow||function(){return(new Date).getTime()},Ot=new Date,Ft={nextTick:function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];ht.push(new bt(e,t)),1!==ht.length||mt||ft(vt)},title:\"browser\",browser:!0,env:{},argv:[],version:\"\",versions:{},on:xt,addListener:Dt,once:Ct,off:wt,removeListener:St,removeAllListeners:kt,emit:At,binding:function(e){throw new Error(\"process.binding is not supported\")},cwd:function(){return\"/\"},chdir:function(e){throw new Error(\"process.chdir is not supported\")},umask:function(){return 0},hrtime:function(e){var t=.001*_t.call(Tt),n=Math.floor(t),r=Math.floor(t%1*1e9);return e&&(n-=e[0],(r-=e[1])<0&&(n--,r+=1e9)),[n,r]},platform:\"browser\",release:{},config:{},uptime:function(){return(new Date-Ot)/1e3}},Nt=\"object\"==typeof Ft&&Ft.env&&Ft.env.NODE_DEBUG&&/\\bsemver\\b/i.test(Ft.env.NODE_DEBUG)?(...e)=>console.error(\"SEMVER\",...e):()=>{},It={SEMVER_SPEC_VERSION:\"2.0.0\",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},Mt=$e((function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:n}=It,r=(t=e.exports={}).re=[],i=t.src=[],o=t.t={};let a=0;const s=(e,t,n)=>{const s=a++;Nt(s,t),o[e]=s,i[s]=t,r[s]=new RegExp(t,n?\"g\":void 0)};s(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\"),s(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\"),s(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\"),s(\"MAINVERSION\",\"(\".concat(i[o.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(i[o.NUMERICIDENTIFIER],\")\\\\.\")+\"(\".concat(i[o.NUMERICIDENTIFIER],\")\")),s(\"MAINVERSIONLOOSE\",\"(\".concat(i[o.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(i[o.NUMERICIDENTIFIERLOOSE],\")\\\\.\")+\"(\".concat(i[o.NUMERICIDENTIFIERLOOSE],\")\")),s(\"PRERELEASEIDENTIFIER\",\"(?:\".concat(i[o.NUMERICIDENTIFIER],\"|\").concat(i[o.NONNUMERICIDENTIFIER],\")\")),s(\"PRERELEASEIDENTIFIERLOOSE\",\"(?:\".concat(i[o.NUMERICIDENTIFIERLOOSE],\"|\").concat(i[o.NONNUMERICIDENTIFIER],\")\")),s(\"PRERELEASE\",\"(?:-(\".concat(i[o.PRERELEASEIDENTIFIER],\"(?:\\\\.\").concat(i[o.PRERELEASEIDENTIFIER],\")*))\")),s(\"PRERELEASELOOSE\",\"(?:-?(\".concat(i[o.PRERELEASEIDENTIFIERLOOSE],\"(?:\\\\.\").concat(i[o.PRERELEASEIDENTIFIERLOOSE],\")*))\")),s(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\"),s(\"BUILD\",\"(?:\\\\+(\".concat(i[o.BUILDIDENTIFIER],\"(?:\\\\.\").concat(i[o.BUILDIDENTIFIER],\")*))\")),s(\"FULLPLAIN\",\"v?\".concat(i[o.MAINVERSION]).concat(i[o.PRERELEASE],\"?\").concat(i[o.BUILD],\"?\")),s(\"FULL\",\"^\".concat(i[o.FULLPLAIN],\"$\")),s(\"LOOSEPLAIN\",\"[v=\\\\s]*\".concat(i[o.MAINVERSIONLOOSE]).concat(i[o.PRERELEASELOOSE],\"?\").concat(i[o.BUILD],\"?\")),s(\"LOOSE\",\"^\".concat(i[o.LOOSEPLAIN],\"$\")),s(\"GTLT\",\"((?:<|>)?=?)\"),s(\"XRANGEIDENTIFIERLOOSE\",\"\".concat(i[o.NUMERICIDENTIFIERLOOSE],\"|x|X|\\\\*\")),s(\"XRANGEIDENTIFIER\",\"\".concat(i[o.NUMERICIDENTIFIER],\"|x|X|\\\\*\")),s(\"XRANGEPLAIN\",\"[v=\\\\s]*(\".concat(i[o.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(i[o.XRANGEIDENTIFIER],\")\")+\"(?:\\\\.(\".concat(i[o.XRANGEIDENTIFIER],\")\")+\"(?:\".concat(i[o.PRERELEASE],\")?\").concat(i[o.BUILD],\"?\")+\")?)?\"),s(\"XRANGEPLAINLOOSE\",\"[v=\\\\s]*(\".concat(i[o.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(i[o.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\\\\.(\".concat(i[o.XRANGEIDENTIFIERLOOSE],\")\")+\"(?:\".concat(i[o.PRERELEASELOOSE],\")?\").concat(i[o.BUILD],\"?\")+\")?)?\"),s(\"XRANGE\",\"^\".concat(i[o.GTLT],\"\\\\s*\").concat(i[o.XRANGEPLAIN],\"$\")),s(\"XRANGELOOSE\",\"^\".concat(i[o.GTLT],\"\\\\s*\").concat(i[o.XRANGEPLAINLOOSE],\"$\")),s(\"COERCE\",\"\".concat(\"(^|[^\\\\d])(\\\\d{1,\").concat(n,\"})\")+\"(?:\\\\.(\\\\d{1,\".concat(n,\"}))?\")+\"(?:\\\\.(\\\\d{1,\".concat(n,\"}))?\")+\"(?:$|[^\\\\d])\"),s(\"COERCERTL\",i[o.COERCE],!0),s(\"LONETILDE\",\"(?:~>?)\"),s(\"TILDETRIM\",\"(\\\\s*)\".concat(i[o.LONETILDE],\"\\\\s+\"),!0),t.tildeTrimReplace=\"$1~\",s(\"TILDE\",\"^\".concat(i[o.LONETILDE]).concat(i[o.XRANGEPLAIN],\"$\")),s(\"TILDELOOSE\",\"^\".concat(i[o.LONETILDE]).concat(i[o.XRANGEPLAINLOOSE],\"$\")),s(\"LONECARET\",\"(?:\\\\^)\"),s(\"CARETTRIM\",\"(\\\\s*)\".concat(i[o.LONECARET],\"\\\\s+\"),!0),t.caretTrimReplace=\"$1^\",s(\"CARET\",\"^\".concat(i[o.LONECARET]).concat(i[o.XRANGEPLAIN],\"$\")),s(\"CARETLOOSE\",\"^\".concat(i[o.LONECARET]).concat(i[o.XRANGEPLAINLOOSE],\"$\")),s(\"COMPARATORLOOSE\",\"^\".concat(i[o.GTLT],\"\\\\s*(\").concat(i[o.LOOSEPLAIN],\")$|^$\")),s(\"COMPARATOR\",\"^\".concat(i[o.GTLT],\"\\\\s*(\").concat(i[o.FULLPLAIN],\")$|^$\")),s(\"COMPARATORTRIM\",\"(\\\\s*)\".concat(i[o.GTLT],\"\\\\s*(\").concat(i[o.LOOSEPLAIN],\"|\").concat(i[o.XRANGEPLAIN],\")\"),!0),t.comparatorTrimReplace=\"$1$2$3\",s(\"HYPHENRANGE\",\"^\\\\s*(\".concat(i[o.XRANGEPLAIN],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(i[o.XRANGEPLAIN],\")\")+\"\\\\s*$\"),s(\"HYPHENRANGELOOSE\",\"^\\\\s*(\".concat(i[o.XRANGEPLAINLOOSE],\")\")+\"\\\\s+-\\\\s+\"+\"(\".concat(i[o.XRANGEPLAINLOOSE],\")\")+\"\\\\s*$\"),s(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\")}));Mt.re,Mt.src,Mt.t,Mt.tildeTrimReplace,Mt.caretTrimReplace,Mt.comparatorTrimReplace;const jt=/^[0-9]+$/,Lt=(e,t)=>{const n=jt.test(e),r=jt.test(t);return n&&r&&(e=+e,t=+t),e===t?0:n&&!r?-1:r&&!n?1:e<t?-1:1};var Pt={compareIdentifiers:Lt,rcompareIdentifiers:(e,t)=>Lt(t,e)};const{MAX_LENGTH:Rt,MAX_SAFE_INTEGER:Bt}=It,{re:Ut,t:zt}=Mt,{compareIdentifiers:Vt}=Pt;class qt{constructor(e,t){if(t&&\"object\"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof qt){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(\"string\"!=typeof e)throw new TypeError(\"Invalid Version: \".concat(e));if(e.length>Rt)throw new TypeError(\"version is longer than \".concat(Rt,\" characters\"));Nt(\"SemVer\",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const n=e.trim().match(t.loose?Ut[zt.LOOSE]:Ut[zt.FULL]);if(!n)throw new TypeError(\"Invalid Version: \".concat(e));if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>Bt||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>Bt||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>Bt||this.patch<0)throw new TypeError(\"Invalid patch version\");n[4]?this.prerelease=n[4].split(\".\").map(e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t<Bt)return t}return e}):this.prerelease=[],this.build=n[5]?n[5].split(\".\"):[],this.format()}format(){return this.version=\"\".concat(this.major,\".\").concat(this.minor,\".\").concat(this.patch),this.prerelease.length&&(this.version+=\"-\".concat(this.prerelease.join(\".\"))),this.version}toString(){return this.version}compare(e){if(Nt(\"SemVer.compare\",this.version,this.options,e),!(e instanceof qt)){if(\"string\"==typeof e&&e===this.version)return 0;e=new qt(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof qt||(e=new qt(e,this.options)),Vt(this.major,e.major)||Vt(this.minor,e.minor)||Vt(this.patch,e.patch)}comparePre(e){if(e instanceof qt||(e=new qt(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let t=0;do{const n=this.prerelease[t],r=e.prerelease[t];if(Nt(\"prerelease compare\",t,n,r),void 0===n&&void 0===r)return 0;if(void 0===r)return 1;if(void 0===n)return-1;if(n!==r)return Vt(n,r)}while(++t)}compareBuild(e){e instanceof qt||(e=new qt(e,this.options));let t=0;do{const n=this.build[t],r=e.build[t];if(Nt(\"prerelease compare\",t,n,r),void 0===n&&void 0===r)return 0;if(void 0===r)return 1;if(void 0===n)return-1;if(n!==r)return Vt(n,r)}while(++t)}inc(e,t){switch(e){case\"premajor\":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc(\"pre\",t);break;case\"preminor\":this.prerelease.length=0,this.patch=0,this.minor++,this.inc(\"pre\",t);break;case\"prepatch\":this.prerelease.length=0,this.inc(\"patch\",t),this.inc(\"pre\",t);break;case\"prerelease\":0===this.prerelease.length&&this.inc(\"patch\",t),this.inc(\"pre\",t);break;case\"major\":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case\"minor\":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case\"patch\":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case\"pre\":if(0===this.prerelease.length)this.prerelease=[0];else{let e=this.prerelease.length;for(;--e>=0;)\"number\"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(\"invalid increment argument: \".concat(e))}return this.format(),this.raw=this.version,this}}var Ht=qt,Wt=(e,t,n)=>new Ht(e,n).compare(new Ht(t,n)),Gt=(e,t,n)=>Wt(e,t,n)<0,Kt=(e,t,n)=>Wt(e,t,n)>=0,Jt=$e((function(e){e.exports=function(e){var t=void 0;t=\"string\"==typeof e?[e]:e.raw;for(var n=\"\",r=0;r<t.length;r++)n+=t[r].replace(/\\\\\\n[ \\t]*/g,\"\").replace(/\\\\`/g,\"`\"),r<(arguments.length<=1?0:arguments.length-1)&&(n+=arguments.length<=r+1?void 0:arguments[r+1]);var i=n.split(\"\\n\"),o=null;return i.forEach((function(e){var t=e.match(/^(\\s+)\\S+/);if(t){var n=t[1].length;o=o?Math.min(o,n):n}})),null!==o&&(n=i.map((function(e){return\" \"===e[0]?e.slice(o):e})).join(\"\\n\")),(n=n.trim()).replace(/\\\\n/g,\"\\n\")}}));function Qt(){const e=st([\"\\n      Require either '@prettier' or '@format' to be present in the file's first docblock comment\\n      in order for it to be formatted.\\n    \"]);return Qt=function(){return e},e}function Yt(){const e=st([\"\\n      Format code starting at a given character offset.\\n      The range will extend backwards to the start of the first line containing the selected statement.\\n      This option cannot be used with --cursor-offset.\\n    \"]);return Yt=function(){return e},e}function $t(){const e=st([\"\\n      Format code ending at a given character offset (exclusive).\\n      The range will extend forwards to the end of the selected statement.\\n      This option cannot be used with --cursor-offset.\\n    \"]);return $t=function(){return e},e}function Xt(){const e=st([\"\\n      Custom directory that contains prettier plugins in node_modules subdirectory.\\n      Overrides default behavior when plugins are searched relatively to the location of Prettier.\\n      Multiple values are accepted.\\n    \"]);return Xt=function(){return e},e}function Zt(){const e=st([\"\\n          Maintain existing\\n          (mixed values within one file are normalised by looking at what's used after the first line)\\n        \"]);return Zt=function(){return e},e}function en(){const e=st([\"\\n      Print (to stderr) where a cursor at the given position would move to after formatting.\\n      This option cannot be used with --range-start and --range-end.\\n    \"]);return en=function(){return e},e}var tn={CATEGORY_CONFIG:\"Config\",CATEGORY_EDITOR:\"Editor\",CATEGORY_FORMAT:\"Format\",CATEGORY_OTHER:\"Other\",CATEGORY_OUTPUT:\"Output\",CATEGORY_GLOBAL:\"Global\",CATEGORY_SPECIAL:\"Special\",options:{cursorOffset:{since:\"1.4.0\",category:\"Special\",type:\"int\",default:-1,range:{start:-1,end:1/0,step:1},description:Jt(en()),cliCategory:\"Editor\"},endOfLine:{since:\"1.15.0\",category:\"Global\",type:\"choice\",default:[{since:\"1.15.0\",value:\"auto\"},{since:\"2.0.0\",value:\"lf\"}],description:\"Which end of line characters to apply.\",choices:[{value:\"lf\",description:\"Line Feed only (\\\\n), common on Linux and macOS as well as inside git repos\"},{value:\"crlf\",description:\"Carriage Return + Line Feed characters (\\\\r\\\\n), common on Windows\"},{value:\"cr\",description:\"Carriage Return character only (\\\\r), used very rarely\"},{value:\"auto\",description:Jt(Zt())}]},filepath:{since:\"1.4.0\",category:\"Special\",type:\"path\",description:\"Specify the input filepath. This will be used to do parser inference.\",cliName:\"stdin-filepath\",cliCategory:\"Other\",cliDescription:\"Path to the file to pretend that stdin comes from.\"},insertPragma:{since:\"1.8.0\",category:\"Special\",type:\"boolean\",default:!1,description:\"Insert @format pragma into file's first docblock comment.\",cliCategory:\"Other\"},parser:{since:\"0.0.10\",category:\"Global\",type:\"choice\",default:[{since:\"0.0.10\",value:\"babylon\"},{since:\"1.13.0\",value:void 0}],description:\"Which parser to use.\",exception:e=>\"string\"==typeof e||\"function\"==typeof e,choices:[{value:\"flow\",description:\"Flow\"},{value:\"babel\",since:\"1.16.0\",description:\"JavaScript\"},{value:\"babel-flow\",since:\"1.16.0\",description:\"Flow\"},{value:\"babel-ts\",since:\"2.0.0\",description:\"TypeScript\"},{value:\"typescript\",since:\"1.4.0\",description:\"TypeScript\"},{value:\"css\",since:\"1.7.1\",description:\"CSS\"},{value:\"less\",since:\"1.7.1\",description:\"Less\"},{value:\"scss\",since:\"1.7.1\",description:\"SCSS\"},{value:\"json\",since:\"1.5.0\",description:\"JSON\"},{value:\"json5\",since:\"1.13.0\",description:\"JSON5\"},{value:\"json-stringify\",since:\"1.13.0\",description:\"JSON.stringify\"},{value:\"graphql\",since:\"1.5.0\",description:\"GraphQL\"},{value:\"markdown\",since:\"1.8.0\",description:\"Markdown\"},{value:\"mdx\",since:\"1.15.0\",description:\"MDX\"},{value:\"vue\",since:\"1.10.0\",description:\"Vue\"},{value:\"yaml\",since:\"1.14.0\",description:\"YAML\"},{value:\"glimmer\",since:null,description:\"Handlebars\"},{value:\"html\",since:\"1.15.0\",description:\"HTML\"},{value:\"angular\",since:\"1.15.0\",description:\"Angular\"},{value:\"lwc\",since:\"1.17.0\",description:\"Lightning Web Components\"}]},plugins:{since:\"1.10.0\",type:\"path\",array:!0,default:[{value:[]}],category:\"Global\",description:\"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.\",exception:e=>\"string\"==typeof e||\"object\"==typeof e,cliName:\"plugin\",cliCategory:\"Config\"},pluginSearchDirs:{since:\"1.13.0\",type:\"path\",array:!0,default:[{value:[]}],category:\"Global\",description:Jt(Xt()),exception:e=>\"string\"==typeof e||\"object\"==typeof e,cliName:\"plugin-search-dir\",cliCategory:\"Config\"},printWidth:{since:\"0.0.0\",category:\"Global\",type:\"int\",default:80,description:\"The line length where Prettier will try wrap.\",range:{start:0,end:1/0,step:1}},rangeEnd:{since:\"1.4.0\",category:\"Special\",type:\"int\",default:1/0,range:{start:0,end:1/0,step:1},description:Jt($t()),cliCategory:\"Editor\"},rangeStart:{since:\"1.4.0\",category:\"Special\",type:\"int\",default:0,range:{start:0,end:1/0,step:1},description:Jt(Yt()),cliCategory:\"Editor\"},requirePragma:{since:\"1.7.0\",category:\"Special\",type:\"boolean\",default:!1,description:Jt(Qt()),cliCategory:\"Other\"},tabWidth:{type:\"int\",category:\"Global\",default:2,description:\"Number of spaces per indentation level.\",range:{start:0,end:1/0,step:1}},useTabs:{since:\"1.0.0\",category:\"Global\",type:\"boolean\",default:!1,description:\"Indent with tabs instead of spaces.\"}}},nn=Xe(u);const rn={compare:Wt,lt:Gt,gte:Kt},on=nn.version,an=tn.options;var sn={getSupportInfo:function({plugins:e=[],showUnreleased:t=!1,showDeprecated:n=!1,showInternal:r=!1}={}){const i=on.split(\"-\",1)[0],o=((e,t)=>Object.entries(e).map(([e,n])=>Object.assign({[t]:e},n)))(Object.assign({},...e.map(({options:e})=>e),an),\"name\").filter(e=>a(e)&&s(e)).sort((e,t)=>e.name===t.name?0:e.name<t.name?-1:1).map((function(e){return r?e:at(e,[\"cliName\",\"cliCategory\",\"cliDescription\"])})).map(t=>{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(a).sort((e,t)=>rn.compare(t.since,e.since))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter(e=>a(e)&&s(e)));const n=e.filter(e=>e.defaultOptions&&void 0!==e.defaultOptions[t.name]).reduce((e,n)=>(e[n.name]=n.defaultOptions[t.name],e),{});return Object.assign({},t,{pluginDefaults:n})});return{languages:e.reduce((e,t)=>e.concat(t.languages||[]),[]).filter(a),options:o};function a(e){return t||!(\"since\"in e)||e.since&&rn.gte(i,e.since)}function s(e){return n||!(\"deprecated\"in e)||e.deprecated&&rn.lt(i,e.deprecated)}}},un=function(e,t){return(un=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},cn=function(){return(cn=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};\n/*! *****************************************************************************\n  Copyright (c) Microsoft Corporation. All rights reserved.\n  Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use\n  this file except in compliance with the License. You may obtain a copy of the\n  License at http://www.apache.org/licenses/LICENSE-2.0\n\n  THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n  KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\n  WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\n  MERCHANTABLITY OR NON-INFRINGEMENT.\n\n  See the Apache Version 2.0 License for specific language governing permissions\n  and limitations under the License.\n  ***************************************************************************** */function ln(e){var t=\"function\"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}function pn(e,t){var n=\"function\"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)a.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return a}function fn(e){return this instanceof fn?(this.v=e,this):new fn(e)}var dn=Object.freeze({__proto__:null,__extends:function(e,t){function n(){this.constructor=e}un(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},get __assign(){return cn},__rest:function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n},__decorate:function(e,t,n,r){var i,o=arguments.length,a=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(a=(o<3?i(a):o>3?i(t,n,a):i(t,n))||a);return o>3&&a&&Object.defineProperty(t,n,a),a},__param:function(e,t){return function(n,r){t(n,r,e)}},__metadata:function(e,t){if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.metadata)return Reflect.metadata(e,t)},__awaiter:function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){e.done?i(e.value):new n((function(t){t(e.value)})).then(a,s)}u((r=r.apply(e,t||[])).next())}))},__generator:function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},\"function\"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError(\"Generator is already executing.\");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){a.label=o[1];break}if(6===o[0]&&a.label<i[1]){a.label=i[1],i=o;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(o);break}i[2]&&a.ops.pop(),a.trys.pop();continue}o=t.call(e,a)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}},__exportStar:function(e,t){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])},__values:ln,__read:pn,__spread:function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(pn(arguments[t]));return e},__spreadArrays:function(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),i=0;for(t=0;t<n;t++)for(var o=arguments[t],a=0,s=o.length;a<s;a++,i++)r[i]=o[a];return r},__await:fn,__asyncGenerator:function(e,t,n){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var r,i=n.apply(e,t||[]),o=[];return r={},a(\"next\"),a(\"throw\"),a(\"return\"),r[Symbol.asyncIterator]=function(){return this},r;function a(e){i[e]&&(r[e]=function(t){return new Promise((function(n,r){o.push([e,t,n,r])>1||s(e,t)}))})}function s(e,t){try{(n=i[e](t)).value instanceof fn?Promise.resolve(n.value.v).then(u,c):l(o[0][2],n)}catch(e){l(o[0][3],e)}var n}function u(e){s(\"next\",e)}function c(e){s(\"throw\",e)}function l(e,t){e(t),o.shift(),o.length&&s(o[0][0],o[0][1])}},__asyncDelegator:function(e){var t,n;return t={},r(\"next\"),r(\"throw\",(function(e){throw e})),r(\"return\"),t[Symbol.iterator]=function(){return this},t;function r(r,i){t[r]=e[r]?function(t){return(n=!n)?{value:fn(e[r](t)),done:\"return\"===r}:i?i(t):t}:i}},__asyncValues:function(e){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=ln(e),t={},r(\"next\"),r(\"throw\"),r(\"return\"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,i){!function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)}(r,i,(t=e[n](t)).done,t.value)}))}}},__makeTemplateObject:function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e},__importStar:function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t},__importDefault:function(e){return e&&e.__esModule?e:{default:e}}}),hn=$e((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.apiDescriptor={key:e=>/^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(e)?e:JSON.stringify(e),value(e){if(null===e||\"object\"!=typeof e)return JSON.stringify(e);if(Array.isArray(e))return\"[\".concat(e.map(e=>t.apiDescriptor.value(e)).join(\", \"),\"]\");const n=Object.keys(e);return 0===n.length?\"{}\":\"{ \".concat(n.map(n=>\"\".concat(t.apiDescriptor.key(n),\": \").concat(t.apiDescriptor.value(e[n]))).join(\", \"),\" }\")},pair:({key:e,value:n})=>t.apiDescriptor.value({[e]:n})}}));Ye(hn),hn.apiDescriptor;var mn=Xe(dn),gn=$e((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),mn.__exportStar(hn,t)}));Ye(gn);var yn=/[|\\\\{}()[\\]^$+*?.]/g,vn=function(e){if(\"string\"!=typeof e)throw new TypeError(\"Expected a string\");return e.replace(yn,\"\\\\$&\")},bn={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},En=$e((function(e){var t={};for(var n in bn)bn.hasOwnProperty(n)&&(t[bn[n]]=n);var r=e.exports={rgb:{channels:3,labels:\"rgb\"},hsl:{channels:3,labels:\"hsl\"},hsv:{channels:3,labels:\"hsv\"},hwb:{channels:3,labels:\"hwb\"},cmyk:{channels:4,labels:\"cmyk\"},xyz:{channels:3,labels:\"xyz\"},lab:{channels:3,labels:\"lab\"},lch:{channels:3,labels:\"lch\"},hex:{channels:1,labels:[\"hex\"]},keyword:{channels:1,labels:[\"keyword\"]},ansi16:{channels:1,labels:[\"ansi16\"]},ansi256:{channels:1,labels:[\"ansi256\"]},hcg:{channels:3,labels:[\"h\",\"c\",\"g\"]},apple:{channels:3,labels:[\"r16\",\"g16\",\"b16\"]},gray:{channels:1,labels:[\"gray\"]}};for(var i in r)if(r.hasOwnProperty(i)){if(!(\"channels\"in r[i]))throw new Error(\"missing channels property: \"+i);if(!(\"labels\"in r[i]))throw new Error(\"missing channel labels property: \"+i);if(r[i].labels.length!==r[i].channels)throw new Error(\"channel and label counts mismatch: \"+i);var o=r[i].channels,a=r[i].labels;delete r[i].channels,delete r[i].labels,Object.defineProperty(r[i],\"channels\",{value:o}),Object.defineProperty(r[i],\"labels\",{value:a})}r.rgb.hsl=function(e){var t,n,r=e[0]/255,i=e[1]/255,o=e[2]/255,a=Math.min(r,i,o),s=Math.max(r,i,o),u=s-a;return s===a?t=0:r===s?t=(i-o)/u:i===s?t=2+(o-r)/u:o===s&&(t=4+(r-i)/u),(t=Math.min(60*t,360))<0&&(t+=360),n=(a+s)/2,[t,100*(s===a?0:n<=.5?u/(s+a):u/(2-s-a)),100*n]},r.rgb.hsv=function(e){var t,n,r,i,o,a=e[0]/255,s=e[1]/255,u=e[2]/255,c=Math.max(a,s,u),l=c-Math.min(a,s,u),p=function(e){return(c-e)/6/l+.5};return 0===l?i=o=0:(o=l/c,t=p(a),n=p(s),r=p(u),a===c?i=r-n:s===c?i=1/3+t-r:u===c&&(i=2/3+n-t),i<0?i+=1:i>1&&(i-=1)),[360*i,100*o,100*c]},r.rgb.hwb=function(e){var t=e[0],n=e[1],i=e[2];return[r.rgb.hsl(e)[0],1/255*Math.min(t,Math.min(n,i))*100,100*(i=1-1/255*Math.max(t,Math.max(n,i)))]},r.rgb.cmyk=function(e){var t,n=e[0]/255,r=e[1]/255,i=e[2]/255;return[100*((1-n-(t=Math.min(1-n,1-r,1-i)))/(1-t)||0),100*((1-r-t)/(1-t)||0),100*((1-i-t)/(1-t)||0),100*t]},r.rgb.keyword=function(e){var n=t[e];if(n)return n;var r,i,o,a=1/0;for(var s in bn)if(bn.hasOwnProperty(s)){var u=bn[s],c=(i=e,o=u,Math.pow(i[0]-o[0],2)+Math.pow(i[1]-o[1],2)+Math.pow(i[2]-o[2],2));c<a&&(a=c,r=s)}return r},r.keyword.rgb=function(e){return bn[e]},r.rgb.xyz=function(e){var t=e[0]/255,n=e[1]/255,r=e[2]/255;return[100*(.4124*(t=t>.04045?Math.pow((t+.055)/1.055,2.4):t/12.92)+.3576*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)+.1805*(r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92)),100*(.2126*t+.7152*n+.0722*r),100*(.0193*t+.1192*n+.9505*r)]},r.rgb.lab=function(e){var t=r.rgb.xyz(e),n=t[0],i=t[1],o=t[2];return i/=100,o/=108.883,n=(n/=95.047)>.008856?Math.pow(n,1/3):7.787*n+16/116,[116*(i=i>.008856?Math.pow(i,1/3):7.787*i+16/116)-16,500*(n-i),200*(i-(o=o>.008856?Math.pow(o,1/3):7.787*o+16/116))]},r.hsl.rgb=function(e){var t,n,r,i,o,a=e[0]/360,s=e[1]/100,u=e[2]/100;if(0===s)return[o=255*u,o,o];t=2*u-(n=u<.5?u*(1+s):u+s-u*s),i=[0,0,0];for(var c=0;c<3;c++)(r=a+1/3*-(c-1))<0&&r++,r>1&&r--,o=6*r<1?t+6*(n-t)*r:2*r<1?n:3*r<2?t+(n-t)*(2/3-r)*6:t,i[c]=255*o;return i},r.hsl.hsv=function(e){var t=e[0],n=e[1]/100,r=e[2]/100,i=n,o=Math.max(r,.01);return n*=(r*=2)<=1?r:2-r,i*=o<=1?o:2-o,[t,100*(0===r?2*i/(o+i):2*n/(r+n)),(r+n)/2*100]},r.hsv.rgb=function(e){var t=e[0]/60,n=e[1]/100,r=e[2]/100,i=Math.floor(t)%6,o=t-Math.floor(t),a=255*r*(1-n),s=255*r*(1-n*o),u=255*r*(1-n*(1-o));switch(r*=255,i){case 0:return[r,u,a];case 1:return[s,r,a];case 2:return[a,r,u];case 3:return[a,s,r];case 4:return[u,a,r];case 5:return[r,a,s]}},r.hsv.hsl=function(e){var t,n,r,i=e[0],o=e[1]/100,a=e[2]/100,s=Math.max(a,.01);return r=(2-o)*a,n=o*s,[i,100*(n=(n/=(t=(2-o)*s)<=1?t:2-t)||0),100*(r/=2)]},r.hwb.rgb=function(e){var t,n,r,i,o,a,s,u=e[0]/360,c=e[1]/100,l=e[2]/100,p=c+l;switch(p>1&&(c/=p,l/=p),r=6*u-(t=Math.floor(6*u)),0!=(1&t)&&(r=1-r),i=c+r*((n=1-l)-c),t){default:case 6:case 0:o=n,a=i,s=c;break;case 1:o=i,a=n,s=c;break;case 2:o=c,a=n,s=i;break;case 3:o=c,a=i,s=n;break;case 4:o=i,a=c,s=n;break;case 5:o=n,a=c,s=i}return[255*o,255*a,255*s]},r.cmyk.rgb=function(e){var t=e[0]/100,n=e[1]/100,r=e[2]/100,i=e[3]/100;return[255*(1-Math.min(1,t*(1-i)+i)),255*(1-Math.min(1,n*(1-i)+i)),255*(1-Math.min(1,r*(1-i)+i))]},r.xyz.rgb=function(e){var t,n,r,i=e[0]/100,o=e[1]/100,a=e[2]/100;return n=-.9689*i+1.8758*o+.0415*a,r=.0557*i+-.204*o+1.057*a,t=(t=3.2406*i+-1.5372*o+-.4986*a)>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:12.92*n,r=r>.0031308?1.055*Math.pow(r,1/2.4)-.055:12.92*r,[255*(t=Math.min(Math.max(0,t),1)),255*(n=Math.min(Math.max(0,n),1)),255*(r=Math.min(Math.max(0,r),1))]},r.xyz.lab=function(e){var t=e[0],n=e[1],r=e[2];return n/=100,r/=108.883,t=(t/=95.047)>.008856?Math.pow(t,1/3):7.787*t+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(t-n),200*(n-(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116))]},r.lab.xyz=function(e){var t,n,r,i=e[0];t=e[1]/500+(n=(i+16)/116),r=n-e[2]/200;var o=Math.pow(n,3),a=Math.pow(t,3),s=Math.pow(r,3);return n=o>.008856?o:(n-16/116)/7.787,t=a>.008856?a:(t-16/116)/7.787,r=s>.008856?s:(r-16/116)/7.787,[t*=95.047,n*=100,r*=108.883]},r.lab.lch=function(e){var t,n=e[0],r=e[1],i=e[2];return(t=360*Math.atan2(i,r)/2/Math.PI)<0&&(t+=360),[n,Math.sqrt(r*r+i*i),t]},r.lch.lab=function(e){var t,n=e[0],r=e[1];return t=e[2]/360*2*Math.PI,[n,r*Math.cos(t),r*Math.sin(t)]},r.rgb.ansi16=function(e){var t=e[0],n=e[1],i=e[2],o=1 in arguments?arguments[1]:r.rgb.hsv(e)[2];if(0===(o=Math.round(o/50)))return 30;var a=30+(Math.round(i/255)<<2|Math.round(n/255)<<1|Math.round(t/255));return 2===o&&(a+=60),a},r.hsv.ansi16=function(e){return r.rgb.ansi16(r.hsv.rgb(e),e[2])},r.rgb.ansi256=function(e){var t=e[0],n=e[1],r=e[2];return t===n&&n===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)},r.ansi16.rgb=function(e){var t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),[t=t/10.5*255,t,t];var n=.5*(1+~~(e>50));return[(1&t)*n*255,(t>>1&1)*n*255,(t>>2&1)*n*255]},r.ansi256.rgb=function(e){if(e>=232){var t=10*(e-232)+8;return[t,t,t]}var n;return e-=16,[Math.floor(e/36)/5*255,Math.floor((n=e%36)/6)/5*255,n%6/5*255]},r.rgb.hex=function(e){var t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return\"000000\".substring(t.length)+t},r.hex.rgb=function(e){var t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];var n=t[0];3===t[0].length&&(n=n.split(\"\").map((function(e){return e+e})).join(\"\"));var r=parseInt(n,16);return[r>>16&255,r>>8&255,255&r]},r.rgb.hcg=function(e){var t,n=e[0]/255,r=e[1]/255,i=e[2]/255,o=Math.max(Math.max(n,r),i),a=Math.min(Math.min(n,r),i),s=o-a;return t=s<=0?0:o===n?(r-i)/s%6:o===r?2+(i-n)/s:4+(n-r)/s+4,t/=6,[360*(t%=1),100*s,100*(s<1?a/(1-s):0)]},r.hsl.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=1,i=0;return(r=n<.5?2*t*n:2*t*(1-n))<1&&(i=(n-.5*r)/(1-r)),[e[0],100*r,100*i]},r.hsv.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=t*n,i=0;return r<1&&(i=(n-r)/(1-r)),[e[0],100*r,100*i]},r.hcg.rgb=function(e){var t=e[0]/360,n=e[1]/100,r=e[2]/100;if(0===n)return[255*r,255*r,255*r];var i,o=[0,0,0],a=t%1*6,s=a%1,u=1-s;switch(Math.floor(a)){case 0:o[0]=1,o[1]=s,o[2]=0;break;case 1:o[0]=u,o[1]=1,o[2]=0;break;case 2:o[0]=0,o[1]=1,o[2]=s;break;case 3:o[0]=0,o[1]=u,o[2]=1;break;case 4:o[0]=s,o[1]=0,o[2]=1;break;default:o[0]=1,o[1]=0,o[2]=u}return i=(1-n)*r,[255*(n*o[0]+i),255*(n*o[1]+i),255*(n*o[2]+i)]},r.hcg.hsv=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t),r=0;return n>0&&(r=t/n),[e[0],100*r,100*n]},r.hcg.hsl=function(e){var t=e[1]/100,n=e[2]/100*(1-t)+.5*t,r=0;return n>0&&n<.5?r=t/(2*n):n>=.5&&n<1&&(r=t/(2*(1-n))),[e[0],100*r,100*n]},r.hcg.hwb=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t);return[e[0],100*(n-t),100*(1-n)]},r.hwb.hcg=function(e){var t=e[1]/100,n=1-e[2]/100,r=n-t,i=0;return r<1&&(i=(n-r)/(1-r)),[e[0],100*r,100*i]},r.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},r.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},r.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},r.gray.hsl=r.gray.hsv=function(e){return[0,0,e[0]]},r.gray.hwb=function(e){return[0,100,e[0]]},r.gray.cmyk=function(e){return[0,0,0,e[0]]},r.gray.lab=function(e){return[e[0],0,0]},r.gray.hex=function(e){var t=255&Math.round(e[0]/100*255),n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return\"000000\".substring(n.length)+n},r.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}}));function xn(e){var t=function(){for(var e={},t=Object.keys(En),n=t.length,r=0;r<n;r++)e[t[r]]={distance:-1,parent:null};return e}(),n=[e];for(t[e].distance=0;n.length;)for(var r=n.pop(),i=Object.keys(En[r]),o=i.length,a=0;a<o;a++){var s=i[a],u=t[s];-1===u.distance&&(u.distance=t[r].distance+1,u.parent=r,n.unshift(s))}return t}function Dn(e,t){return function(n){return t(e(n))}}function Cn(e,t){for(var n=[t[e].parent,e],r=En[t[e].parent][e],i=t[e].parent;t[i].parent;)n.unshift(t[i].parent),r=Dn(En[t[i].parent][i],r),i=t[i].parent;return r.conversion=n,r}En.rgb,En.hsl,En.hsv,En.hwb,En.cmyk,En.xyz,En.lab,En.lch,En.hex,En.keyword,En.ansi16,En.ansi256,En.hcg,En.apple,En.gray;var wn={};Object.keys(En).forEach((function(e){wn[e]={},Object.defineProperty(wn[e],\"channels\",{value:En[e].channels}),Object.defineProperty(wn[e],\"labels\",{value:En[e].labels});var t=function(e){for(var t=xn(e),n={},r=Object.keys(t),i=r.length,o=0;o<i;o++){var a=r[o];null!==t[a].parent&&(n[a]=Cn(a,t))}return n}(e);Object.keys(t).forEach((function(n){var r=t[n];wn[e][n]=function(e){var t=function(t){if(null==t)return t;arguments.length>1&&(t=Array.prototype.slice.call(arguments));var n=e(t);if(\"object\"==typeof n)for(var r=n.length,i=0;i<r;i++)n[i]=Math.round(n[i]);return n};return\"conversion\"in e&&(t.conversion=e.conversion),t}(r),wn[e][n].raw=function(e){var t=function(t){return null==t?t:(arguments.length>1&&(t=Array.prototype.slice.call(arguments)),e(t))};return\"conversion\"in e&&(t.conversion=e.conversion),t}(r)}))}));var Sn=wn,kn=$e((function(e){const t=(e,t)=>function(){const n=e.apply(Sn,arguments);return\"\u001b[\".concat(n+t,\"m\")},n=(e,t)=>function(){const n=e.apply(Sn,arguments);return\"\u001b[\".concat(38+t,\";5;\").concat(n,\"m\")},r=(e,t)=>function(){const n=e.apply(Sn,arguments);return\"\u001b[\".concat(38+t,\";2;\").concat(n[0],\";\").concat(n[1],\";\").concat(n[2],\"m\")};Object.defineProperty(e,\"exports\",{enumerable:!0,get:function(){const e=new Map,i={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};i.color.grey=i.color.gray;for(const t of Object.keys(i)){const n=i[t];for(const t of Object.keys(n)){const r=n[t];i[t]={open:\"\u001b[\".concat(r[0],\"m\"),close:\"\u001b[\".concat(r[1],\"m\")},n[t]=i[t],e.set(r[0],r[1])}Object.defineProperty(i,t,{value:n,enumerable:!1}),Object.defineProperty(i,\"codes\",{value:e,enumerable:!1})}const o=e=>e,a=(e,t,n)=>[e,t,n];i.color.close=\"\u001b[39m\",i.bgColor.close=\"\u001b[49m\",i.color.ansi={ansi:t(o,0)},i.color.ansi256={ansi256:n(o,0)},i.color.ansi16m={rgb:r(a,0)},i.bgColor.ansi={ansi:t(o,10)},i.bgColor.ansi256={ansi256:n(o,10)},i.bgColor.ansi16m={rgb:r(a,10)};for(let e of Object.keys(Sn)){if(\"object\"!=typeof Sn[e])continue;const o=Sn[e];\"ansi16\"===e&&(e=\"ansi\"),\"ansi16\"in o&&(i.color.ansi[e]=t(o.ansi16,0),i.bgColor.ansi[e]=t(o.ansi16,10)),\"ansi256\"in o&&(i.color.ansi256[e]=n(o.ansi256,0),i.bgColor.ansi256[e]=n(o.ansi256,10)),\"rgb\"in o&&(i.color.ansi16m[e]=r(o.rgb,0),i.bgColor.ansi16m[e]=r(o.rgb,10))}return i}})})),An={EOL:\"\\n\"},Tn=(e,t)=>{t=t||Ft.argv;const n=e.startsWith(\"-\")?\"\":1===e.length?\"-\":\"--\",r=t.indexOf(n+e),i=t.indexOf(\"--\");return-1!==r&&(-1===i||r<i)};const _n=Ft.env;let On;function Fn(e){return function(e){return 0!==e&&{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}(function(e){if(!1===On)return 0;if(Tn(\"color=16m\")||Tn(\"color=full\")||Tn(\"color=truecolor\"))return 3;if(Tn(\"color=256\"))return 2;if(e&&!e.isTTY&&!0!==On)return 0;const t=On?1:0;if(\"win32\"===Ft.platform){const e=An.release().split(\".\");return Number(Ft.versions.node.split(\".\")[0])>=8&&Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if(\"CI\"in _n)return[\"TRAVIS\",\"CIRCLECI\",\"APPVEYOR\",\"GITLAB_CI\"].some(e=>e in _n)||\"codeship\"===_n.CI_NAME?1:t;if(\"TEAMCITY_VERSION\"in _n)return/^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(_n.TEAMCITY_VERSION)?1:0;if(\"truecolor\"===_n.COLORTERM)return 3;if(\"TERM_PROGRAM\"in _n){const e=parseInt((_n.TERM_PROGRAM_VERSION||\"\").split(\".\")[0],10);switch(_n.TERM_PROGRAM){case\"iTerm.app\":return e>=3?3:2;case\"Apple_Terminal\":return 2}}return/-256(color)?$/i.test(_n.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(_n.TERM)||\"COLORTERM\"in _n?1:(_n.TERM,t)}(e))}Tn(\"no-color\")||Tn(\"no-colors\")||Tn(\"color=false\")?On=!1:(Tn(\"color\")||Tn(\"colors\")||Tn(\"color=true\")||Tn(\"color=always\"))&&(On=!0),\"FORCE_COLOR\"in _n&&(On=0===_n.FORCE_COLOR.length||0!==parseInt(_n.FORCE_COLOR,10));var Nn={supportsColor:Fn,stdout:Fn(Ft.stdout),stderr:Fn(Ft.stderr)};const In=/(?:\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.))|(?:\\{(~)?(\\w+(?:\\([^)]*\\))?(?:\\.\\w+(?:\\([^)]*\\))?)*)(?:[ \\t]|(?=\\r?\\n)))|(\\})|((?:.|[\\r\\n\\f])+?)/gi,Mn=/(?:^|\\.)(\\w+)(?:\\(([^)]*)\\))?/g,jn=/^(['\"])((?:\\\\.|(?!\\1)[^\\\\])*)\\1$/,Ln=/\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.)|([^\\\\])/gi,Pn=new Map([[\"n\",\"\\n\"],[\"r\",\"\\r\"],[\"t\",\"\\t\"],[\"b\",\"\\b\"],[\"f\",\"\\f\"],[\"v\",\"\\v\"],[\"0\",\"\\0\"],[\"\\\\\",\"\\\\\"],[\"e\",\"\u001b\"],[\"a\",\"\u0007\"]]);function Rn(e){return\"u\"===e[0]&&5===e.length||\"x\"===e[0]&&3===e.length?String.fromCharCode(parseInt(e.slice(1),16)):Pn.get(e)||e}function Bn(e,t){const n=[],r=t.trim().split(/\\s*,\\s*/g);let i;for(const t of r)if(isNaN(t)){if(!(i=t.match(jn)))throw new Error(\"Invalid Chalk template style argument: \".concat(t,\" (in style '\").concat(e,\"')\"));n.push(i[2].replace(Ln,(e,t,n)=>t?Rn(t):n))}else n.push(Number(t));return n}function Un(e){Mn.lastIndex=0;const t=[];let n;for(;null!==(n=Mn.exec(e));){const e=n[1];if(n[2]){const r=Bn(e,n[2]);t.push([e].concat(r))}else t.push([e])}return t}function zn(e,t){const n={};for(const e of t)for(const t of e.styles)n[t[0]]=e.inverse?null:t.slice(1);let r=e;for(const e of Object.keys(n))if(Array.isArray(n[e])){if(!(e in r))throw new Error(\"Unknown Chalk style: \".concat(e));r=n[e].length>0?r[e].apply(r,n[e]):r[e]}return r}var Vn=(e,t)=>{const n=[],r=[];let i=[];if(t.replace(In,(t,o,a,s,u,c)=>{if(o)i.push(Rn(o));else if(s){const t=i.join(\"\");i=[],r.push(0===n.length?t:zn(e,n)(t)),n.push({inverse:a,styles:Un(s)})}else if(u){if(0===n.length)throw new Error(\"Found extraneous } in Chalk template literal\");r.push(zn(e,n)(i.join(\"\"))),i=[],n.pop()}else i.push(c)}),r.push(i.join(\"\")),n.length>0){const e=\"Chalk template literal is missing \".concat(n.length,\" closing bracket\").concat(1===n.length?\"\":\"s\",\" (`}`)\");throw new Error(e)}return r.join(\"\")},qn=$e((function(e){const t=Nn.stdout,n=\"win32\"===Ft.platform&&!(Ft.env.TERM||\"\").toLowerCase().startsWith(\"xterm\"),r=[\"ansi\",\"ansi\",\"ansi256\",\"ansi16m\"],i=new Set([\"gray\"]),o=Object.create(null);function a(e,n){n=n||{};const r=t?t.level:0;e.level=void 0===n.level?r:n.level,e.enabled=\"enabled\"in n?n.enabled:e.level>0}function s(e){if(!this||!(this instanceof s)||this.template){const t={};return a(t,e),t.template=function(){const e=[].slice.call(arguments);return p.apply(null,[t.template].concat(e))},Object.setPrototypeOf(t,s.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=s,t.template}a(this,e)}n&&(kn.blue.open=\"\u001b[94m\");for(const e of Object.keys(kn))kn[e].closeRe=new RegExp(vn(kn[e].close),\"g\"),o[e]={get(){const t=kn[e];return c.call(this,this._styles?this._styles.concat(t):[t],this._empty,e)}};o.visible={get(){return c.call(this,this._styles||[],!0,\"visible\")}},kn.color.closeRe=new RegExp(vn(kn.color.close),\"g\");for(const e of Object.keys(kn.color.ansi))i.has(e)||(o[e]={get(){const t=this.level;return function(){const n=kn.color[r[t]][e].apply(null,arguments),i={open:n,close:kn.color.close,closeRe:kn.color.closeRe};return c.call(this,this._styles?this._styles.concat(i):[i],this._empty,e)}}});kn.bgColor.closeRe=new RegExp(vn(kn.bgColor.close),\"g\");for(const e of Object.keys(kn.bgColor.ansi))i.has(e)||(o[\"bg\"+e[0].toUpperCase()+e.slice(1)]={get(){const t=this.level;return function(){const n=kn.bgColor[r[t]][e].apply(null,arguments),i={open:n,close:kn.bgColor.close,closeRe:kn.bgColor.closeRe};return c.call(this,this._styles?this._styles.concat(i):[i],this._empty,e)}}});const u=Object.defineProperties(()=>{},o);function c(e,t,n){const r=function e(){return l.apply(e,arguments)};r._styles=e,r._empty=t;const i=this;return Object.defineProperty(r,\"level\",{enumerable:!0,get:()=>i.level,set(e){i.level=e}}),Object.defineProperty(r,\"enabled\",{enumerable:!0,get:()=>i.enabled,set(e){i.enabled=e}}),r.hasGrey=this.hasGrey||\"gray\"===n||\"grey\"===n,r.__proto__=u,r}function l(){const e=arguments,t=e.length;let r=String(arguments[0]);if(0===t)return\"\";if(t>1)for(let n=1;n<t;n++)r+=\" \"+e[n];if(!this.enabled||this.level<=0||!r)return this._empty?\"\":r;const i=kn.dim.open;n&&this.hasGrey&&(kn.dim.open=\"\");for(const e of this._styles.slice().reverse())r=e.open+r.replace(e.closeRe,e.open)+e.close,r=r.replace(/\\r?\\n/g,\"\".concat(e.close,\"$&\").concat(e.open));return kn.dim.open=i,r}function p(e,t){if(!Array.isArray(t))return[].slice.call(arguments,1).join(\" \");const n=[].slice.call(arguments,2),r=[t.raw[0]];for(let e=1;e<t.length;e++)r.push(String(n[e-1]).replace(/[{}\\\\]/g,\"\\\\$&\")),r.push(String(t.raw[e]));return Vn(e,r.join(\"\"))}Object.defineProperties(s.prototype,o),e.exports=s(),e.exports.supportsColor=t,e.exports.default=e.exports})),Hn=(qn.supportsColor,$e((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.commonDeprecatedHandler=(e,t,{descriptor:n})=>{const r=[\"\".concat(qn.default.yellow(\"string\"==typeof e?n.key(e):n.pair(e)),\" is deprecated\")];return t&&r.push(\"we now treat it as \".concat(qn.default.blue(\"string\"==typeof t?n.key(t):n.pair(t)))),r.join(\"; \")+\".\"}})));Ye(Hn),Hn.commonDeprecatedHandler;var Wn=$e((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),mn.__exportStar(Hn,t)}));Ye(Wn);var Gn=$e((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.commonInvalidHandler=(e,t,n)=>[\"Invalid \".concat(qn.default.red(n.descriptor.key(e)),\" value.\"),\"Expected \".concat(qn.default.blue(n.schemas[e].expected(n)),\",\"),\"but received \".concat(qn.default.red(n.descriptor.value(t)),\".\")].join(\" \")}));Ye(Gn),Gn.commonInvalidHandler;var Kn=$e((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),mn.__exportStar(Gn,t)}));Ye(Kn);var Jn=[],Qn=[],Yn=$e((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.levenUnknownHandler=(e,t,{descriptor:n,logger:r,schemas:i})=>{const o=[\"Ignored unknown option \".concat(qn.default.yellow(n.pair({key:e,value:t})),\".\")],a=Object.keys(i).sort().find(t=>function(e,t){if(e===t)return 0;var n=e;e.length>t.length&&(e=t,t=n);var r=e.length,i=t.length;if(0===r)return i;if(0===i)return r;for(;r>0&&e.charCodeAt(~-r)===t.charCodeAt(~-i);)r--,i--;if(0===r)return i;for(var o,a,s,u,c=0;c<r&&e.charCodeAt(c)===t.charCodeAt(c);)c++;if(i-=c,0==(r-=c))return i;for(var l=0,p=0;l<r;)Qn[c+l]=e.charCodeAt(c+l),Jn[l]=++l;for(;p<i;)for(o=t.charCodeAt(c+p),s=p++,a=p,l=0;l<r;l++)u=o===Qn[c+l]?s:s+1,s=Jn[l],a=Jn[l]=s>a?u>a?a+1:u:u>s?s+1:u;return a}(e,t)<3);a&&o.push(\"Did you mean \".concat(qn.default.blue(n.key(a)),\"?\")),r.warn(o.join(\" \"))}}));Ye(Yn),Yn.levenUnknownHandler;var $n=$e((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),mn.__exportStar(Yn,t)}));Ye($n);var Xn=$e((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),mn.__exportStar(Wn,t),mn.__exportStar(Kn,t),mn.__exportStar($n,t)}));Ye(Xn);var Zn=$e((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0});const n=[\"default\",\"expected\",\"validate\",\"deprecated\",\"forward\",\"redirect\",\"overlap\",\"preprocess\",\"postprocess\"];function r(e,t){const r=new e(t),a=Object.create(r);for(const e of n)e in t&&(a[e]=o(t[e],r,i.prototype[e].length));return a}t.createSchema=r;class i{constructor(e){this.name=e.name}static create(e){return r(this,e)}default(e){}expected(e){return\"nothing\"}validate(e,t){return!1}deprecated(e,t){return!1}forward(e,t){}redirect(e,t){}overlap(e,t,n){return e}preprocess(e,t){return e}postprocess(e,t){return e}}function o(e,t,n){return\"function\"==typeof e?(...r)=>e(...r.slice(0,n-1),t,...r.slice(n-1)):()=>e}t.Schema=i}));Ye(Zn),Zn.createSchema,Zn.Schema;var er=$e((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0});class n extends Zn.Schema{constructor(e){super(e),this._sourceName=e.sourceName}expected(e){return e.schemas[this._sourceName].expected(e)}validate(e,t){return t.schemas[this._sourceName].validate(e,t)}redirect(e,t){return this._sourceName}}t.AliasSchema=n}));Ye(er),er.AliasSchema;var tr=$e((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0});class n extends Zn.Schema{expected(){return\"anything\"}validate(){return!0}}t.AnySchema=n}));Ye(tr),tr.AnySchema;var nr=$e((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0});class n extends Zn.Schema{constructor(e){var{valueSchema:t,name:n=t.name}=e,r=mn.__rest(e,[\"valueSchema\",\"name\"]);super(Object.assign({},r,{name:n})),this._valueSchema=t}expected(e){return\"an array of \".concat(this._valueSchema.expected(e))}validate(e,t){if(!Array.isArray(e))return!1;const n=[];for(const r of e){const e=t.normalizeValidateResult(this._valueSchema.validate(r,t),r);!0!==e&&n.push(e.value)}return 0===n.length||{value:n}}deprecated(e,t){const n=[];for(const r of e){const e=t.normalizeDeprecatedResult(this._valueSchema.deprecated(r,t),r);!1!==e&&n.push(...e.map(({value:e})=>({value:[e]})))}return n}forward(e,t){const n=[];for(const i of e){const e=t.normalizeForwardResult(this._valueSchema.forward(i,t),i);n.push(...e.map(r))}return n}redirect(e,t){const n=[],i=[];for(const o of e){const e=t.normalizeRedirectResult(this._valueSchema.redirect(o,t),o);\"remain\"in e&&n.push(e.remain),i.push(...e.redirect.map(r))}return 0===n.length?{redirect:i}:{redirect:i,remain:n}}overlap(e,t){return e.concat(t)}}function r({from:e,to:t}){return{from:[e],to:t}}t.ArraySchema=n}));Ye(nr),nr.ArraySchema;var rr=$e((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0});class n extends Zn.Schema{expected(){return\"true or false\"}validate(e){return\"boolean\"==typeof e}}t.BooleanSchema=n}));Ye(rr),rr.BooleanSchema;var ir=$e((function(e,t){function n(e,t){return\"string\"==typeof e||\"key\"in e?{from:t,to:e}:\"from\"in e?{from:e.from,to:e.to}:{from:t,to:e.to}}function r(e,t){return void 0===e?[]:Array.isArray(e)?e.map(e=>n(e,t)):[n(e,t)]}Object.defineProperty(t,\"__esModule\",{value:!0}),t.recordFromArray=function(e,t){const n=Object.create(null);for(const r of e){const e=r[t];if(n[e])throw new Error(\"Duplicate \".concat(t,\" \").concat(JSON.stringify(e)));n[e]=r}return n},t.mapFromArray=function(e,t){const n=new Map;for(const r of e){const e=r[t];if(n.has(e))throw new Error(\"Duplicate \".concat(t,\" \").concat(JSON.stringify(e)));n.set(e,r)}return n},t.createAutoChecklist=function(){const e=Object.create(null);return t=>{const n=JSON.stringify(t);return!!e[n]||(e[n]=!0,!1)}},t.partition=function(e,t){const n=[],r=[];for(const i of e)t(i)?n.push(i):r.push(i);return[n,r]},t.isInt=function(e){return e===Math.floor(e)},t.comparePrimitive=function(e,t){if(e===t)return 0;const n=typeof e,r=typeof t,i=[\"undefined\",\"object\",\"boolean\",\"number\",\"string\"];return n!==r?i.indexOf(n)-i.indexOf(r):\"string\"!==n?Number(e)-Number(t):e.localeCompare(t)},t.normalizeDefaultResult=function(e){return void 0===e?{}:e},t.normalizeValidateResult=function(e,t){return!0===e||(!1===e?{value:t}:e)},t.normalizeDeprecatedResult=function(e,t,n=!1){return!1!==e&&(!0===e?!!n||[{value:t}]:\"value\"in e?[e]:0!==e.length&&e)},t.normalizeTransferResult=n,t.normalizeForwardResult=r,t.normalizeRedirectResult=function(e,t){const n=r(\"object\"==typeof e&&\"redirect\"in e?e.redirect:e,t);return 0===n.length?{remain:t,redirect:n}:\"object\"==typeof e&&\"remain\"in e?{remain:e.remain,redirect:n}:{redirect:n}}}));Ye(ir),ir.recordFromArray,ir.mapFromArray,ir.createAutoChecklist,ir.partition,ir.isInt,ir.comparePrimitive,ir.normalizeDefaultResult,ir.normalizeValidateResult,ir.normalizeDeprecatedResult,ir.normalizeTransferResult,ir.normalizeForwardResult,ir.normalizeRedirectResult;var or=$e((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0});class n extends Zn.Schema{constructor(e){super(e),this._choices=ir.mapFromArray(e.choices.map(e=>e&&\"object\"==typeof e?e:{value:e}),\"value\")}expected({descriptor:e}){const t=Array.from(this._choices.keys()).map(e=>this._choices.get(e)).filter(e=>!e.deprecated).map(e=>e.value).sort(ir.comparePrimitive).map(e.value),n=t.slice(0,-2),r=t.slice(-2);return n.concat(r.join(\" or \")).join(\", \")}validate(e){return this._choices.has(e)}deprecated(e){const t=this._choices.get(e);return!(!t||!t.deprecated)&&{value:e}}forward(e){const t=this._choices.get(e);return t?t.forward:void 0}redirect(e){const t=this._choices.get(e);return t?t.redirect:void 0}}t.ChoiceSchema=n}));Ye(or),or.ChoiceSchema;var ar=$e((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0});class n extends Zn.Schema{expected(){return\"a number\"}validate(e,t){return\"number\"==typeof e}}t.NumberSchema=n}));Ye(ar),ar.NumberSchema;var sr=$e((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0});class n extends ar.NumberSchema{expected(){return\"an integer\"}validate(e,t){return!0===t.normalizeValidateResult(super.validate(e,t),e)&&ir.isInt(e)}}t.IntegerSchema=n}));Ye(sr),sr.IntegerSchema;var ur=$e((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0});class n extends Zn.Schema{expected(){return\"a string\"}validate(e){return\"string\"==typeof e}}t.StringSchema=n}));Ye(ur),ur.StringSchema;var cr=$e((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),mn.__exportStar(er,t),mn.__exportStar(tr,t),mn.__exportStar(nr,t),mn.__exportStar(rr,t),mn.__exportStar(or,t),mn.__exportStar(sr,t),mn.__exportStar(ar,t),mn.__exportStar(ur,t)}));Ye(cr);var lr=$e((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.defaultDescriptor=hn.apiDescriptor,t.defaultUnknownHandler=Yn.levenUnknownHandler,t.defaultInvalidHandler=Kn.commonInvalidHandler,t.defaultDeprecatedHandler=Hn.commonDeprecatedHandler}));Ye(lr),lr.defaultDescriptor,lr.defaultUnknownHandler,lr.defaultInvalidHandler,lr.defaultDeprecatedHandler;var pr=$e((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.normalize=(e,t,r)=>new n(t,r).normalize(e);class n{constructor(e,t){const{logger:n=console,descriptor:r=lr.defaultDescriptor,unknown:i=lr.defaultUnknownHandler,invalid:o=lr.defaultInvalidHandler,deprecated:a=lr.defaultDeprecatedHandler}=t||{};this._utils={descriptor:r,logger:n||{warn:()=>{}},schemas:ir.recordFromArray(e,\"name\"),normalizeDefaultResult:ir.normalizeDefaultResult,normalizeDeprecatedResult:ir.normalizeDeprecatedResult,normalizeForwardResult:ir.normalizeForwardResult,normalizeRedirectResult:ir.normalizeRedirectResult,normalizeValidateResult:ir.normalizeValidateResult},this._unknownHandler=i,this._invalidHandler=o,this._deprecatedHandler=a,this.cleanHistory()}cleanHistory(){this._hasDeprecationWarned=ir.createAutoChecklist()}normalize(e){const t={},n=[e],r=()=>{for(;0!==n.length;){const e=n.shift(),r=this._applyNormalization(e,t);n.push(...r)}};r();for(const e of Object.keys(this._utils.schemas)){const r=this._utils.schemas[e];if(!(e in t)){const t=ir.normalizeDefaultResult(r.default(this._utils));\"value\"in t&&n.push({[e]:t.value})}}r();for(const e of Object.keys(this._utils.schemas)){const n=this._utils.schemas[e];e in t&&(t[e]=n.postprocess(t[e],this._utils))}return t}_applyNormalization(e,t){const n=[],[r,i]=ir.partition(Object.keys(e),e=>e in this._utils.schemas);for(const i of r){const r=this._utils.schemas[i],o=r.preprocess(e[i],this._utils),a=ir.normalizeValidateResult(r.validate(o,this._utils),o);if(!0!==a){const{value:e}=a,t=this._invalidHandler(i,e,this._utils);throw\"string\"==typeof t?new Error(t):t}const s=({from:e,to:t})=>{n.push(\"string\"==typeof t?{[t]:e}:{[t.key]:t.value})},u=({value:e,redirectTo:t})=>{const n=ir.normalizeDeprecatedResult(r.deprecated(e,this._utils),o,!0);if(!1!==n)if(!0===n)this._hasDeprecationWarned(i)||this._utils.logger.warn(this._deprecatedHandler(i,t,this._utils));else for(const{value:e}of n){const n={key:i,value:e};if(!this._hasDeprecationWarned(n)){const r=\"string\"==typeof t?{key:t,value:e}:t;this._utils.logger.warn(this._deprecatedHandler(n,r,this._utils))}}};ir.normalizeForwardResult(r.forward(o,this._utils),o).forEach(s);const c=ir.normalizeRedirectResult(r.redirect(o,this._utils),o);if(c.redirect.forEach(s),\"remain\"in c){const e=c.remain;t[i]=i in t?r.overlap(t[i],e,this._utils):e,u({value:e})}for(const{from:e,to:t}of c.redirect)u({value:e,redirectTo:t})}for(const r of i){const i=e[r],o=this._unknownHandler(r,i,this._utils);if(o)for(const e of Object.keys(o)){const r={[e]:o[e]};e in this._utils.schemas?n.push(r):Object.assign(t,r)}}return n}}t.Normalizer=n}));Ye(pr),pr.normalize,pr.Normalizer;var fr=$e((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),mn.__exportStar(gn,t),mn.__exportStar(Xn,t),mn.__exportStar(cr,t),mn.__exportStar(pr,t),mn.__exportStar(Zn,t)}));Ye(fr);const dr=[],hr=[],mr=(e,t)=>{if(e===t)return 0;const n=e;e.length>t.length&&(e=t,t=n);let r=e.length,i=t.length;for(;r>0&&e.charCodeAt(~-r)===t.charCodeAt(~-i);)r--,i--;let o,a,s,u,c=0;for(;c<r&&e.charCodeAt(c)===t.charCodeAt(c);)c++;if(r-=c,i-=c,0===r)return i;let l=0,p=0;for(;l<r;)hr[l]=e.charCodeAt(c+l),dr[l]=++l;for(;p<i;)for(o=t.charCodeAt(c+p),s=p++,a=p,l=0;l<r;l++)u=o===hr[l]?s:s+1,s=dr[l],a=dr[l]=s>a?u>a?a+1:u:u>s?s+1:u;return a};var gr=mr,yr=mr;gr.default=yr;var vr={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};const br={};for(const e of Object.keys(vr))br[vr[e]]=e;const Er={rgb:{channels:3,labels:\"rgb\"},hsl:{channels:3,labels:\"hsl\"},hsv:{channels:3,labels:\"hsv\"},hwb:{channels:3,labels:\"hwb\"},cmyk:{channels:4,labels:\"cmyk\"},xyz:{channels:3,labels:\"xyz\"},lab:{channels:3,labels:\"lab\"},lch:{channels:3,labels:\"lch\"},hex:{channels:1,labels:[\"hex\"]},keyword:{channels:1,labels:[\"keyword\"]},ansi16:{channels:1,labels:[\"ansi16\"]},ansi256:{channels:1,labels:[\"ansi256\"]},hcg:{channels:3,labels:[\"h\",\"c\",\"g\"]},apple:{channels:3,labels:[\"r16\",\"g16\",\"b16\"]},gray:{channels:1,labels:[\"gray\"]}};var xr=Er;for(const e of Object.keys(Er)){if(!(\"channels\"in Er[e]))throw new Error(\"missing channels property: \"+e);if(!(\"labels\"in Er[e]))throw new Error(\"missing channel labels property: \"+e);if(Er[e].labels.length!==Er[e].channels)throw new Error(\"channel and label counts mismatch: \"+e);const{channels:t,labels:n}=Er[e];delete Er[e].channels,delete Er[e].labels,Object.defineProperty(Er[e],\"channels\",{value:t}),Object.defineProperty(Er[e],\"labels\",{value:n})}function Dr(e){const t=function(){const e={},t=Object.keys(xr);for(let n=t.length,r=0;r<n;r++)e[t[r]]={distance:-1,parent:null};return e}(),n=[e];for(t[e].distance=0;n.length;){const e=n.pop(),r=Object.keys(xr[e]);for(let i=r.length,o=0;o<i;o++){const i=r[o],a=t[i];-1===a.distance&&(a.distance=t[e].distance+1,a.parent=e,n.unshift(i))}}return t}function Cr(e,t){return function(n){return t(e(n))}}function wr(e,t){const n=[t[e].parent,e];let r=xr[t[e].parent][e],i=t[e].parent;for(;t[i].parent;)n.unshift(t[i].parent),r=Cr(xr[t[i].parent][i],r),i=t[i].parent;return r.conversion=n,r}Er.rgb.hsl=function(e){const t=e[0]/255,n=e[1]/255,r=e[2]/255,i=Math.min(t,n,r),o=Math.max(t,n,r),a=o-i;let s,u;o===i?s=0:t===o?s=(n-r)/a:n===o?s=2+(r-t)/a:r===o&&(s=4+(t-n)/a),s=Math.min(60*s,360),s<0&&(s+=360);const c=(i+o)/2;return u=o===i?0:c<=.5?a/(o+i):a/(2-o-i),[s,100*u,100*c]},Er.rgb.hsv=function(e){let t,n,r,i,o;const a=e[0]/255,s=e[1]/255,u=e[2]/255,c=Math.max(a,s,u),l=c-Math.min(a,s,u),p=function(e){return(c-e)/6/l+.5};return 0===l?(i=0,o=0):(o=l/c,t=p(a),n=p(s),r=p(u),a===c?i=r-n:s===c?i=1/3+t-r:u===c&&(i=2/3+n-t),i<0?i+=1:i>1&&(i-=1)),[360*i,100*o,100*c]},Er.rgb.hwb=function(e){const t=e[0],n=e[1];let r=e[2];const i=Er.rgb.hsl(e)[0],o=1/255*Math.min(t,Math.min(n,r));return r=1-1/255*Math.max(t,Math.max(n,r)),[i,100*o,100*r]},Er.rgb.cmyk=function(e){const t=e[0]/255,n=e[1]/255,r=e[2]/255,i=Math.min(1-t,1-n,1-r);return[100*((1-t-i)/(1-i)||0),100*((1-n-i)/(1-i)||0),100*((1-r-i)/(1-i)||0),100*i]},Er.rgb.keyword=function(e){const t=br[e];if(t)return t;let n,r=1/0;for(const t of Object.keys(vr)){const a=(o=vr[t],((i=e)[0]-o[0])**2+(i[1]-o[1])**2+(i[2]-o[2])**2);a<r&&(r=a,n=t)}var i,o;return n},Er.keyword.rgb=function(e){return vr[e]},Er.rgb.xyz=function(e){let t=e[0]/255,n=e[1]/255,r=e[2]/255;return t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,[100*(.4124*t+.3576*n+.1805*r),100*(.2126*t+.7152*n+.0722*r),100*(.0193*t+.1192*n+.9505*r)]},Er.rgb.lab=function(e){const t=Er.rgb.xyz(e);let n=t[0],r=t[1],i=t[2];return n/=95.047,r/=100,i/=108.883,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,[116*r-16,500*(n-r),200*(r-i)]},Er.hsl.rgb=function(e){const t=e[0]/360,n=e[1]/100,r=e[2]/100;let i,o,a;if(0===n)return a=255*r,[a,a,a];i=r<.5?r*(1+n):r+n-r*n;const s=2*r-i,u=[0,0,0];for(let e=0;e<3;e++)o=t+1/3*-(e-1),o<0&&o++,o>1&&o--,a=6*o<1?s+6*(i-s)*o:2*o<1?i:3*o<2?s+(i-s)*(2/3-o)*6:s,u[e]=255*a;return u},Er.hsl.hsv=function(e){const t=e[0];let n=e[1]/100,r=e[2]/100,i=n;const o=Math.max(r,.01);return r*=2,n*=r<=1?r:2-r,i*=o<=1?o:2-o,[t,100*(0===r?2*i/(o+i):2*n/(r+n)),(r+n)/2*100]},Er.hsv.rgb=function(e){const t=e[0]/60,n=e[1]/100;let r=e[2]/100;const i=Math.floor(t)%6,o=t-Math.floor(t),a=255*r*(1-n),s=255*r*(1-n*o),u=255*r*(1-n*(1-o));switch(r*=255,i){case 0:return[r,u,a];case 1:return[s,r,a];case 2:return[a,r,u];case 3:return[a,s,r];case 4:return[u,a,r];case 5:return[r,a,s]}},Er.hsv.hsl=function(e){const t=e[0],n=e[1]/100,r=e[2]/100,i=Math.max(r,.01);let o,a;a=(2-n)*r;const s=(2-n)*i;return o=n*i,o/=s<=1?s:2-s,o=o||0,a/=2,[t,100*o,100*a]},Er.hwb.rgb=function(e){const t=e[0]/360;let n=e[1]/100,r=e[2]/100;const i=n+r;let o;i>1&&(n/=i,r/=i);const a=Math.floor(6*t),s=1-r;o=6*t-a,0!=(1&a)&&(o=1-o);const u=n+o*(s-n);let c,l,p;switch(a){default:case 6:case 0:c=s,l=u,p=n;break;case 1:c=u,l=s,p=n;break;case 2:c=n,l=s,p=u;break;case 3:c=n,l=u,p=s;break;case 4:c=u,l=n,p=s;break;case 5:c=s,l=n,p=u}return[255*c,255*l,255*p]},Er.cmyk.rgb=function(e){const t=e[0]/100,n=e[1]/100,r=e[2]/100,i=e[3]/100;return[255*(1-Math.min(1,t*(1-i)+i)),255*(1-Math.min(1,n*(1-i)+i)),255*(1-Math.min(1,r*(1-i)+i))]},Er.xyz.rgb=function(e){const t=e[0]/100,n=e[1]/100,r=e[2]/100;let i,o,a;return i=3.2406*t+-1.5372*n+-.4986*r,o=-.9689*t+1.8758*n+.0415*r,a=.0557*t+-.204*n+1.057*r,i=i>.0031308?1.055*i**(1/2.4)-.055:12.92*i,o=o>.0031308?1.055*o**(1/2.4)-.055:12.92*o,a=a>.0031308?1.055*a**(1/2.4)-.055:12.92*a,i=Math.min(Math.max(0,i),1),o=Math.min(Math.max(0,o),1),a=Math.min(Math.max(0,a),1),[255*i,255*o,255*a]},Er.xyz.lab=function(e){let t=e[0],n=e[1],r=e[2];return t/=95.047,n/=100,r/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,[116*n-16,500*(t-n),200*(n-r)]},Er.lab.xyz=function(e){let t,n,r;n=(e[0]+16)/116,t=e[1]/500+n,r=n-e[2]/200;const i=n**3,o=t**3,a=r**3;return n=i>.008856?i:(n-16/116)/7.787,t=o>.008856?o:(t-16/116)/7.787,r=a>.008856?a:(r-16/116)/7.787,t*=95.047,n*=100,r*=108.883,[t,n,r]},Er.lab.lch=function(e){const t=e[0],n=e[1],r=e[2];let i;return i=360*Math.atan2(r,n)/2/Math.PI,i<0&&(i+=360),[t,Math.sqrt(n*n+r*r),i]},Er.lch.lab=function(e){const t=e[0],n=e[1],r=e[2]/360*2*Math.PI;return[t,n*Math.cos(r),n*Math.sin(r)]},Er.rgb.ansi16=function(e,t=null){const[n,r,i]=e;let o=null===t?Er.rgb.hsv(e)[2]:t;if(o=Math.round(o/50),0===o)return 30;let a=30+(Math.round(i/255)<<2|Math.round(r/255)<<1|Math.round(n/255));return 2===o&&(a+=60),a},Er.hsv.ansi16=function(e){return Er.rgb.ansi16(Er.hsv.rgb(e),e[2])},Er.rgb.ansi256=function(e){const t=e[0],n=e[1],r=e[2];return t===n&&n===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)},Er.ansi16.rgb=function(e){let t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];const n=.5*(1+~~(e>50));return[(1&t)*n*255,(t>>1&1)*n*255,(t>>2&1)*n*255]},Er.ansi256.rgb=function(e){if(e>=232){const t=10*(e-232)+8;return[t,t,t]}let t;return e-=16,[Math.floor(e/36)/5*255,Math.floor((t=e%36)/6)/5*255,t%6/5*255]},Er.rgb.hex=function(e){const t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return\"000000\".substring(t.length)+t},Er.hex.rgb=function(e){const t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let n=t[0];3===t[0].length&&(n=n.split(\"\").map(e=>e+e).join(\"\"));const r=parseInt(n,16);return[r>>16&255,r>>8&255,255&r]},Er.rgb.hcg=function(e){const t=e[0]/255,n=e[1]/255,r=e[2]/255,i=Math.max(Math.max(t,n),r),o=Math.min(Math.min(t,n),r),a=i-o;let s,u;return s=a<1?o/(1-a):0,u=a<=0?0:i===t?(n-r)/a%6:i===n?2+(r-t)/a:4+(t-n)/a,u/=6,u%=1,[360*u,100*a,100*s]},Er.hsl.hcg=function(e){const t=e[1]/100,n=e[2]/100,r=n<.5?2*t*n:2*t*(1-n);let i=0;return r<1&&(i=(n-.5*r)/(1-r)),[e[0],100*r,100*i]},Er.hsv.hcg=function(e){const t=e[1]/100,n=e[2]/100,r=t*n;let i=0;return r<1&&(i=(n-r)/(1-r)),[e[0],100*r,100*i]},Er.hcg.rgb=function(e){const t=e[0]/360,n=e[1]/100,r=e[2]/100;if(0===n)return[255*r,255*r,255*r];const i=[0,0,0],o=t%1*6,a=o%1,s=1-a;let u=0;switch(Math.floor(o)){case 0:i[0]=1,i[1]=a,i[2]=0;break;case 1:i[0]=s,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=a;break;case 3:i[0]=0,i[1]=s,i[2]=1;break;case 4:i[0]=a,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=s}return u=(1-n)*r,[255*(n*i[0]+u),255*(n*i[1]+u),255*(n*i[2]+u)]},Er.hcg.hsv=function(e){const t=e[1]/100,n=t+e[2]/100*(1-t);let r=0;return n>0&&(r=t/n),[e[0],100*r,100*n]},Er.hcg.hsl=function(e){const t=e[1]/100,n=e[2]/100*(1-t)+.5*t;let r=0;return n>0&&n<.5?r=t/(2*n):n>=.5&&n<1&&(r=t/(2*(1-n))),[e[0],100*r,100*n]},Er.hcg.hwb=function(e){const t=e[1]/100,n=t+e[2]/100*(1-t);return[e[0],100*(n-t),100*(1-n)]},Er.hwb.hcg=function(e){const t=e[1]/100,n=1-e[2]/100,r=n-t;let i=0;return r<1&&(i=(n-r)/(1-r)),[e[0],100*r,100*i]},Er.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},Er.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},Er.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},Er.gray.hsl=function(e){return[0,0,e[0]]},Er.gray.hsv=Er.gray.hsl,Er.gray.hwb=function(e){return[0,100,e[0]]},Er.gray.cmyk=function(e){return[0,0,0,e[0]]},Er.gray.lab=function(e){return[e[0],0,0]},Er.gray.hex=function(e){const t=255&Math.round(e[0]/100*255),n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return\"000000\".substring(n.length)+n},Er.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]};const Sr={};Object.keys(xr).forEach(e=>{Sr[e]={},Object.defineProperty(Sr[e],\"channels\",{value:xr[e].channels}),Object.defineProperty(Sr[e],\"labels\",{value:xr[e].labels});const t=function(e){const t=Dr(e),n={},r=Object.keys(t);for(let e=r.length,i=0;i<e;i++){const e=r[i];null!==t[e].parent&&(n[e]=wr(e,t))}return n}(e);Object.keys(t).forEach(n=>{const r=t[n];Sr[e][n]=function(e){const t=function(...t){const n=t[0];if(null==n)return n;n.length>1&&(t=n);const r=e(t);if(\"object\"==typeof r)for(let e=r.length,t=0;t<e;t++)r[t]=Math.round(r[t]);return r};return\"conversion\"in e&&(t.conversion=e.conversion),t}(r),Sr[e][n].raw=function(e){const t=function(...t){const n=t[0];return null==n?n:(n.length>1&&(t=n),e(t))};return\"conversion\"in e&&(t.conversion=e.conversion),t}(r)})});var kr=Sr,Ar=$e((function(e){const t=(e,t)=>(...n)=>{const r=e(...n);return\"\u001b[\".concat(r+t,\"m\")},n=(e,t)=>(...n)=>{const r=e(...n);return\"\u001b[\".concat(38+t,\";5;\").concat(r,\"m\")},r=(e,t)=>(...n)=>{const r=e(...n);return\"\u001b[\".concat(38+t,\";2;\").concat(r[0],\";\").concat(r[1],\";\").concat(r[2],\"m\")},i=e=>e,o=(e,t,n)=>[e,t,n],a=(e,t,n)=>{Object.defineProperty(e,t,{get:()=>{const r=n();return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0}),r},enumerable:!0,configurable:!0})};let s;const u=(e,t,n,r)=>{void 0===s&&(s=kr);const i=r?10:0,o={};for(const[r,a]of Object.entries(s)){const s=\"ansi16\"===r?\"ansi\":r;r===t?o[s]=e(n,i):\"object\"==typeof a&&(o[s]=e(a[t],i))}return o};Object.defineProperty(e,\"exports\",{enumerable:!0,get:function(){const e=new Map,s={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};s.color.gray=s.color.blackBright,s.bgColor.bgGray=s.bgColor.bgBlackBright,s.color.grey=s.color.blackBright,s.bgColor.bgGrey=s.bgColor.bgBlackBright;for(const[t,n]of Object.entries(s)){for(const[t,r]of Object.entries(n))s[t]={open:\"\u001b[\".concat(r[0],\"m\"),close:\"\u001b[\".concat(r[1],\"m\")},n[t]=s[t],e.set(r[0],r[1]);Object.defineProperty(s,t,{value:n,enumerable:!1})}return Object.defineProperty(s,\"codes\",{value:e,enumerable:!1}),s.color.close=\"\u001b[39m\",s.bgColor.close=\"\u001b[49m\",a(s.color,\"ansi\",()=>u(t,\"ansi16\",i,!1)),a(s.color,\"ansi256\",()=>u(n,\"ansi256\",i,!1)),a(s.color,\"ansi16m\",()=>u(r,\"rgb\",o,!1)),a(s.bgColor,\"ansi\",()=>u(t,\"ansi16\",i,!0)),a(s.bgColor,\"ansi256\",()=>u(n,\"ansi256\",i,!0)),a(s.bgColor,\"ansi16m\",()=>u(r,\"rgb\",o,!0)),s}})})),Tr={isatty:()=>!1},_r=(e,t=Ft.argv)=>{const n=e.startsWith(\"-\")?\"\":1===e.length?\"-\":\"--\",r=t.indexOf(n+e),i=t.indexOf(\"--\");return-1!==r&&(-1===i||r<i)};const{env:Or}=Ft;let Fr;function Nr(e){return 0!==e&&{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function Ir(e,t){if(0===Fr)return 0;if(_r(\"color=16m\")||_r(\"color=full\")||_r(\"color=truecolor\"))return 3;if(_r(\"color=256\"))return 2;if(e&&!t&&void 0===Fr)return 0;const n=Fr||0;if(\"dumb\"===Or.TERM)return n;if(\"win32\"===Ft.platform){const e=An.release().split(\".\");return Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if(\"CI\"in Or)return[\"TRAVIS\",\"CIRCLECI\",\"APPVEYOR\",\"GITLAB_CI\"].some(e=>e in Or)||\"codeship\"===Or.CI_NAME?1:n;if(\"TEAMCITY_VERSION\"in Or)return/^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(Or.TEAMCITY_VERSION)?1:0;if(\"GITHUB_ACTIONS\"in Or)return 1;if(\"truecolor\"===Or.COLORTERM)return 3;if(\"TERM_PROGRAM\"in Or){const e=parseInt((Or.TERM_PROGRAM_VERSION||\"\").split(\".\")[0],10);switch(Or.TERM_PROGRAM){case\"iTerm.app\":return e>=3?3:2;case\"Apple_Terminal\":return 2}}return/-256(color)?$/i.test(Or.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Or.TERM)||\"COLORTERM\"in Or?1:n}_r(\"no-color\")||_r(\"no-colors\")||_r(\"color=false\")||_r(\"color=never\")?Fr=0:(_r(\"color\")||_r(\"colors\")||_r(\"color=true\")||_r(\"color=always\"))&&(Fr=1),\"FORCE_COLOR\"in Or&&(Fr=\"true\"===Or.FORCE_COLOR?1:\"false\"===Or.FORCE_COLOR?0:0===Or.FORCE_COLOR.length?1:Math.min(parseInt(Or.FORCE_COLOR,10),3));var Mr={supportsColor:function(e){return Nr(Ir(e,e&&e.isTTY))},stdout:Nr(Ir(!0,Tr.isatty(1))),stderr:Nr(Ir(!0,Tr.isatty(2)))},jr={stringReplaceAll:(e,t,n)=>{let r=e.indexOf(t);if(-1===r)return e;const i=t.length;let o=0,a=\"\";do{a+=e.substr(o,r-o)+t+n,o=r+i,r=e.indexOf(t,o)}while(-1!==r);return a+=e.substr(o),a},stringEncaseCRLFWithFirstIndex:(e,t,n,r)=>{let i=0,o=\"\";do{const a=\"\\r\"===e[r-1];o+=e.substr(i,(a?r-1:r)-i)+t+(a?\"\\r\\n\":\"\\n\")+n,i=r+1,r=e.indexOf(\"\\n\",i)}while(-1!==r);return o+=e.substr(i),o}};const Lr=/(?:\\\\(u(?:[a-f\\d]{4}|\\{[a-f\\d]{1,6}\\})|x[a-f\\d]{2}|.))|(?:\\{(~)?(\\w+(?:\\([^)]*\\))?(?:\\.\\w+(?:\\([^)]*\\))?)*)(?:[ \\t]|(?=\\r?\\n)))|(\\})|((?:.|[\\r\\n\\f])+?)/gi,Pr=/(?:^|\\.)(\\w+)(?:\\(([^)]*)\\))?/g,Rr=/^(['\"])((?:\\\\.|(?!\\1)[^\\\\])*)\\1$/,Br=/\\\\(u(?:[a-f\\d]{4}|\\{[a-f\\d]{1,6}\\})|x[a-f\\d]{2}|.)|([^\\\\])/gi,Ur=new Map([[\"n\",\"\\n\"],[\"r\",\"\\r\"],[\"t\",\"\\t\"],[\"b\",\"\\b\"],[\"f\",\"\\f\"],[\"v\",\"\\v\"],[\"0\",\"\\0\"],[\"\\\\\",\"\\\\\"],[\"e\",\"\u001b\"],[\"a\",\"\u0007\"]]);function zr(e){const t=\"u\"===e[0],n=\"{\"===e[1];return t&&!n&&5===e.length||\"x\"===e[0]&&3===e.length?String.fromCharCode(parseInt(e.slice(1),16)):t&&n?String.fromCodePoint(parseInt(e.slice(2,-1),16)):Ur.get(e)||e}function Vr(e,t){const n=[],r=t.trim().split(/\\s*,\\s*/g);let i;for(const t of r){const r=Number(t);if(Number.isNaN(r)){if(!(i=t.match(Rr)))throw new Error(\"Invalid Chalk template style argument: \".concat(t,\" (in style '\").concat(e,\"')\"));n.push(i[2].replace(Br,(e,t,n)=>t?zr(t):n))}else n.push(r)}return n}function qr(e){Pr.lastIndex=0;const t=[];let n;for(;null!==(n=Pr.exec(e));){const e=n[1];if(n[2]){const r=Vr(e,n[2]);t.push([e].concat(r))}else t.push([e])}return t}function Hr(e,t){const n={};for(const e of t)for(const t of e.styles)n[t[0]]=e.inverse?null:t.slice(1);let r=e;for(const[e,t]of Object.entries(n))if(Array.isArray(t)){if(!(e in r))throw new Error(\"Unknown Chalk style: \".concat(e));r=t.length>0?r[e](...t):r[e]}return r}var Wr=(e,t)=>{const n=[],r=[];let i=[];if(t.replace(Lr,(t,o,a,s,u,c)=>{if(o)i.push(zr(o));else if(s){const t=i.join(\"\");i=[],r.push(0===n.length?t:Hr(e,n)(t)),n.push({inverse:a,styles:qr(s)})}else if(u){if(0===n.length)throw new Error(\"Found extraneous } in Chalk template literal\");r.push(Hr(e,n)(i.join(\"\"))),i=[],n.pop()}else i.push(c)}),r.push(i.join(\"\")),n.length>0){const e=\"Chalk template literal is missing \".concat(n.length,\" closing bracket\").concat(1===n.length?\"\":\"s\",\" (`}`)\");throw new Error(e)}return r.join(\"\")};const{stdout:Gr,stderr:Kr}=Mr,{stringReplaceAll:Jr,stringEncaseCRLFWithFirstIndex:Qr}=jr,Yr=[\"ansi\",\"ansi\",\"ansi256\",\"ansi16m\"],$r=Object.create(null);class Xr{constructor(e){return Zr(e)}}const Zr=e=>{const t={};return((e,t={})=>{if(t.level>3||t.level<0)throw new Error(\"The `level` option should be an integer from 0 to 3\");const n=Gr?Gr.level:0;e.level=void 0===t.level?n:t.level})(t,e),t.template=(...e)=>si(t.template,...e),Object.setPrototypeOf(t,ei.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=()=>{throw new Error(\"`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.\")},t.template.Instance=Xr,t.template};function ei(e){return Zr(e)}for(const[e,t]of Object.entries(Ar))$r[e]={get(){const n=ii(this,ri(t.open,t.close,this._styler),this._isEmpty);return Object.defineProperty(this,e,{value:n}),n}};$r.visible={get(){const e=ii(this,this._styler,!0);return Object.defineProperty(this,\"visible\",{value:e}),e}};const ti=[\"rgb\",\"hex\",\"keyword\",\"hsl\",\"hsv\",\"hwb\",\"ansi\",\"ansi256\"];for(const e of ti)$r[e]={get(){const{level:t}=this;return function(...n){const r=ri(Ar.color[Yr[t]][e](...n),Ar.color.close,this._styler);return ii(this,r,this._isEmpty)}}};for(const e of ti)$r[\"bg\"+e[0].toUpperCase()+e.slice(1)]={get(){const{level:t}=this;return function(...n){const r=ri(Ar.bgColor[Yr[t]][e](...n),Ar.bgColor.close,this._styler);return ii(this,r,this._isEmpty)}}};const ni=Object.defineProperties(()=>{},Object.assign({},$r,{level:{enumerable:!0,get(){return this._generator.level},set(e){this._generator.level=e}}})),ri=(e,t,n)=>{let r,i;return void 0===n?(r=e,i=t):(r=n.openAll+e,i=t+n.closeAll),{open:e,close:t,openAll:r,closeAll:i,parent:n}},ii=(e,t,n)=>{const r=(...e)=>oi(r,1===e.length?\"\"+e[0]:e.join(\" \"));return r.__proto__=ni,r._generator=e,r._styler=t,r._isEmpty=n,r},oi=(e,t)=>{if(e.level<=0||!t)return e._isEmpty?\"\":t;let n=e._styler;if(void 0===n)return t;const{openAll:r,closeAll:i}=n;if(-1!==t.indexOf(\"\u001b\"))for(;void 0!==n;)t=Jr(t,n.close,n.open),n=n.parent;const o=t.indexOf(\"\\n\");return-1!==o&&(t=Qr(t,i,r,o)),r+t+i};let ai;const si=(e,...t)=>{const[n]=t;if(!Array.isArray(n))return t.join(\" \");const r=t.slice(1),i=[n.raw[0]];for(let e=1;e<n.length;e++)i.push(String(r[e-1]).replace(/[{}\\\\]/g,\"\\\\$&\"),String(n.raw[e]));return void 0===ai&&(ai=Wr),ai(e,i.join(\"\"))};Object.defineProperties(ei.prototype,$r);const ui=ei();ui.supportsColor=Gr,ui.stderr=ei({level:Kr?Kr.level:0}),ui.stderr.supportsColor=Kr,ui.Level={None:0,Basic:1,Ansi256:2,TrueColor:3,0:\"None\",1:\"Basic\",2:\"Ansi256\",3:\"TrueColor\"};var ci=ui;const li={key:e=>1===e.length?\"-\".concat(e):\"--\".concat(e),value:e=>fr.apiDescriptor.value(e),pair:({key:e,value:t})=>!1===t?\"--no-\".concat(e):!0===t?li.key(e):\"\"===t?\"\".concat(li.key(e),\" without an argument\"):\"\".concat(li.key(e),\"=\").concat(t)};class pi extends fr.ChoiceSchema{constructor({name:e,flags:t}){super({name:e,choices:t}),this._flags=t.slice().sort()}preprocess(e,t){if(\"string\"==typeof e&&0!==e.length&&!this._flags.includes(e)){const n=this._flags.find(t=>gr(t,e)<3);if(n)return t.logger.warn([\"Unknown flag \".concat(ci.yellow(t.descriptor.value(e)),\",\"),\"did you mean \".concat(ci.blue(t.descriptor.value(n)),\"?\")].join(\" \")),n}return e}expected(){return\"a flag\"}}let fi;function di(e,t,{logger:n,isCLI:r=!1,passThrough:i=!1}={}){const o=i?Array.isArray(i)?(e,t)=>i.includes(e)?{[e]:t}:void 0:(e,t)=>({[e]:t}):fr.levenUnknownHandler,a=r?li:fr.apiDescriptor,s=function(e,{isCLI:t}){const n=[];t&&n.push(fr.AnySchema.create({name:\"_\"}));for(const r of e)n.push(hi(r,{isCLI:t,optionInfos:e})),r.alias&&t&&n.push(fr.AliasSchema.create({name:r.alias,sourceName:r.name}));return n}(t,{isCLI:r}),u=new fr.Normalizer(s,{logger:n,unknown:o,descriptor:a}),c=!1!==n;c&&fi&&(u._hasDeprecationWarned=fi);const l=u.normalize(e);return c&&(fi=u._hasDeprecationWarned),l}function hi(e,{isCLI:t,optionInfos:n}){let r;const i={name:e.name},o={};switch(e.type){case\"int\":r=fr.IntegerSchema,t&&(i.preprocess=e=>Number(e));break;case\"string\":r=fr.StringSchema;break;case\"choice\":r=fr.ChoiceSchema,i.choices=e.choices.map(t=>\"object\"==typeof t&&t.redirect?Object.assign({},t,{redirect:{to:{key:e.name,value:t.redirect}}}):t);break;case\"boolean\":r=fr.BooleanSchema;break;case\"flag\":r=pi,i.flags=n.map(e=>[].concat(e.alias||[],e.description?e.name:[],e.oppositeDescription?\"no-\".concat(e.name):[])).reduce((e,t)=>e.concat(t),[]);break;case\"path\":r=fr.StringSchema;break;default:throw new Error(\"Unexpected type \".concat(e.type))}if(e.exception?i.validate=(t,n,r)=>e.exception(t)||n.validate(t,r):i.validate=(e,t,n)=>void 0===e||t.validate(e,n),e.redirect&&(o.redirect=t=>t?{to:{key:e.redirect.option,value:e.redirect.value}}:void 0),e.deprecated&&(o.deprecated=!0),t&&!e.array){const e=i.preprocess||(e=>e);i.preprocess=(t,n,r)=>n.preprocess(e(Array.isArray(t)?t[t.length-1]:t),r)}return e.array?fr.ArraySchema.create(Object.assign({},t?{preprocess:e=>[].concat(e)}:{},{},o,{valueSchema:r.create(i)})):r.create(Object.assign({},i,{},o))}var mi={normalizeApiOptions:function(e,t,n){return di(e,t,n)},normalizeCliOptions:function(e,t,n){return di(e,t,Object.assign({isCLI:!0},n))}},gi=e=>e[e.length-1];function yi(e,t){return!(t=t||{}).ignoreDecorators&&e.declaration&&e.declaration.decorators&&e.declaration.decorators.length>0?yi(e.declaration.decorators[0]):!t.ignoreDecorators&&e.decorators&&e.decorators.length>0?yi(e.decorators[0]):e.__location?e.__location.startOffset:e.range?e.range[0]:\"number\"==typeof e.start?e.start:e.loc?e.loc.start:null}function vi(e){const t=e.nodes&&gi(e.nodes);if(t&&e.source&&!e.source.end&&(e=t),e.__location)return e.__location.endOffset;const n=e.range?e.range[1]:\"number\"==typeof e.end?e.end:null;return e.typeAnnotation?Math.max(n,vi(e.typeAnnotation)):e.loc&&!n?e.loc.end:n}var bi={locStart:yi,locEnd:vi,composeLoc:function(e,t=e){const n=\"number\"==typeof t?t:-1,r=yi(e),i=-1!==n?r+n:vi(t),o=e.loc.start;return{start:r,end:i,range:[r,i],loc:{start:o,end:-1!==n?{line:o.line,column:o.column+n}:t.loc.end}}}},Ei=$e((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=/((['\"])(?:(?!\\2|\\\\).|\\\\(?:\\r\\n|[\\s\\S]))*(\\2)?|`(?:[^`\\\\$]|\\\\[\\s\\S]|\\$(?!\\{)|\\$\\{(?:[^{}]|\\{[^}]*\\}?)*\\}?)*(`)?)|(\\/\\/.*)|(\\/\\*(?:[^*]|\\*(?!\\/))*(\\*\\/)?)|(\\/(?!\\*)(?:\\[(?:(?![\\]\\\\]).|\\\\.)*\\]|(?![\\/\\]\\\\]).|\\\\.)+\\/(?:(?!\\s*(?:\\b|[\\u0080-\\uFFFF$\\\\'\"~({]|[+\\-!](?!=)|\\.?\\d))|[gmiyus]{1,6}\\b(?![\\u0080-\\uFFFF$\\\\]|\\s*(?:[+\\-*%&|^<>!=?({]|\\/(?![\\/*])))))|(0[xX][\\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\\d*\\.\\d+|\\d+\\.?)(?:[eE][+-]?\\d+)?)|((?!\\d)(?:(?!\\s)[$\\w\\u0080-\\uFFFF]|\\\\u[\\da-fA-F]{4}|\\\\u\\{[\\da-fA-F]+\\})+)|(--|\\+\\+|&&|\\|\\||=>|\\.{3}|(?:[+\\-\\/%&|^]|\\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\\](){}])|(\\s+)|(^$|[\\s\\S])/g,t.matchToToken=function(e){var t={type:\"invalid\",value:e[0],closed:void 0};return e[1]?(t.type=\"string\",t.closed=!(!e[3]&&!e[4])):e[5]?t.type=\"comment\":e[6]?(t.type=\"comment\",t.closed=!!e[7]):e[8]?t.type=\"regex\":e[9]?t.type=\"number\":e[10]?t.type=\"name\":e[11]?t.type=\"punctuator\":e[12]&&(t.type=\"whitespace\"),t}}));Ye(Ei),Ei.matchToToken;var xi=$e((function(e){!function(){function t(e){if(null==e)return!1;switch(e.type){case\"BlockStatement\":case\"BreakStatement\":case\"ContinueStatement\":case\"DebuggerStatement\":case\"DoWhileStatement\":case\"EmptyStatement\":case\"ExpressionStatement\":case\"ForInStatement\":case\"ForStatement\":case\"IfStatement\":case\"LabeledStatement\":case\"ReturnStatement\":case\"SwitchStatement\":case\"ThrowStatement\":case\"TryStatement\":case\"VariableDeclaration\":case\"WhileStatement\":case\"WithStatement\":return!0}return!1}function n(e){switch(e.type){case\"IfStatement\":return null!=e.alternate?e.alternate:e.consequent;case\"LabeledStatement\":case\"ForStatement\":case\"ForInStatement\":case\"WhileStatement\":case\"WithStatement\":return e.body}return null}e.exports={isExpression:function(e){if(null==e)return!1;switch(e.type){case\"ArrayExpression\":case\"AssignmentExpression\":case\"BinaryExpression\":case\"CallExpression\":case\"ConditionalExpression\":case\"FunctionExpression\":case\"Identifier\":case\"Literal\":case\"LogicalExpression\":case\"MemberExpression\":case\"NewExpression\":case\"ObjectExpression\":case\"SequenceExpression\":case\"ThisExpression\":case\"UnaryExpression\":case\"UpdateExpression\":return!0}return!1},isStatement:t,isIterationStatement:function(e){if(null==e)return!1;switch(e.type){case\"DoWhileStatement\":case\"ForInStatement\":case\"ForStatement\":case\"WhileStatement\":return!0}return!1},isSourceElement:function(e){return t(e)||null!=e&&\"FunctionDeclaration\"===e.type},isProblematicIfStatement:function(e){var t;if(\"IfStatement\"!==e.type)return!1;if(null==e.alternate)return!1;t=e.consequent;do{if(\"IfStatement\"===t.type&&null==t.alternate)return!0;t=n(t)}while(t);return!1},trailingStatement:n}}()})),Di=(xi.isExpression,xi.isStatement,xi.isIterationStatement,xi.isSourceElement,xi.isProblematicIfStatement,xi.trailingStatement,$e((function(e){!function(){var t,n,r,i,o,a;function s(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(Math.floor((e-65536)/1024)+55296)+String.fromCharCode((e-65536)%1024+56320)}for(n={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/},t={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4A\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/},r=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],i=new Array(128),a=0;a<128;++a)i[a]=a>=97&&a<=122||a>=65&&a<=90||36===a||95===a;for(o=new Array(128),a=0;a<128;++a)o[a]=a>=97&&a<=122||a>=65&&a<=90||a>=48&&a<=57||36===a||95===a;e.exports={isDecimalDigit:function(e){return 48<=e&&e<=57},isHexDigit:function(e){return 48<=e&&e<=57||97<=e&&e<=102||65<=e&&e<=70},isOctalDigit:function(e){return e>=48&&e<=55},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&r.indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStartES5:function(e){return e<128?i[e]:n.NonAsciiIdentifierStart.test(s(e))},isIdentifierPartES5:function(e){return e<128?o[e]:n.NonAsciiIdentifierPart.test(s(e))},isIdentifierStartES6:function(e){return e<128?i[e]:t.NonAsciiIdentifierStart.test(s(e))},isIdentifierPartES6:function(e){return e<128?o[e]:t.NonAsciiIdentifierPart.test(s(e))}}}()}))),Ci=(Di.isDecimalDigit,Di.isHexDigit,Di.isOctalDigit,Di.isWhiteSpace,Di.isLineTerminator,Di.isIdentifierStartES5,Di.isIdentifierPartES5,Di.isIdentifierStartES6,Di.isIdentifierPartES6,$e((function(e){!function(){var t=Di;function n(e,t){return!(!t&&\"yield\"===e)&&r(e,t)}function r(e,t){if(t&&function(e){switch(e){case\"implements\":case\"interface\":case\"package\":case\"private\":case\"protected\":case\"public\":case\"static\":case\"let\":return!0;default:return!1}}(e))return!0;switch(e.length){case 2:return\"if\"===e||\"in\"===e||\"do\"===e;case 3:return\"var\"===e||\"for\"===e||\"new\"===e||\"try\"===e;case 4:return\"this\"===e||\"else\"===e||\"case\"===e||\"void\"===e||\"with\"===e||\"enum\"===e;case 5:return\"while\"===e||\"break\"===e||\"catch\"===e||\"throw\"===e||\"const\"===e||\"yield\"===e||\"class\"===e||\"super\"===e;case 6:return\"return\"===e||\"typeof\"===e||\"delete\"===e||\"switch\"===e||\"export\"===e||\"import\"===e;case 7:return\"default\"===e||\"finally\"===e||\"extends\"===e;case 8:return\"function\"===e||\"continue\"===e||\"debugger\"===e;case 10:return\"instanceof\"===e;default:return!1}}function i(e,t){return\"null\"===e||\"true\"===e||\"false\"===e||n(e,t)}function o(e,t){return\"null\"===e||\"true\"===e||\"false\"===e||r(e,t)}function a(e){var n,r,i;if(0===e.length)return!1;if(i=e.charCodeAt(0),!t.isIdentifierStartES5(i))return!1;for(n=1,r=e.length;n<r;++n)if(i=e.charCodeAt(n),!t.isIdentifierPartES5(i))return!1;return!0}function s(e){var n,r,i,o,a;if(0===e.length)return!1;for(a=t.isIdentifierStartES6,n=0,r=e.length;n<r;++n){if(55296<=(i=e.charCodeAt(n))&&i<=56319){if(++n>=r)return!1;if(!(56320<=(o=e.charCodeAt(n))&&o<=57343))return!1;i=1024*(i-55296)+(o-56320)+65536}if(!a(i))return!1;a=t.isIdentifierPartES6}return!0}e.exports={isKeywordES5:n,isKeywordES6:r,isReservedWordES5:i,isReservedWordES6:o,isRestrictedWord:function(e){return\"eval\"===e||\"arguments\"===e},isIdentifierNameES5:a,isIdentifierNameES6:s,isIdentifierES5:function(e,t){return a(e)&&!i(e,t)},isIdentifierES6:function(e,t){return s(e)&&!o(e,t)}}}()}))),wi=(Ci.isKeywordES5,Ci.isKeywordES6,Ci.isReservedWordES5,Ci.isReservedWordES6,Ci.isRestrictedWord,Ci.isIdentifierNameES5,Ci.isIdentifierNameES6,Ci.isIdentifierES5,Ci.isIdentifierES6,$e((function(e,t){t.ast=xi,t.code=Di,t.keyword=Ci}))),Si=(wi.ast,wi.code,wi.keyword,/[|\\\\{}()[\\]^$+*?.]/g),ki=function(e){if(\"string\"!=typeof e)throw new TypeError(\"Expected a string\");return e.replace(Si,\"\\\\$&\")},Ai={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},Ti=$e((function(e){var t={};for(var n in Ai)Ai.hasOwnProperty(n)&&(t[Ai[n]]=n);var r=e.exports={rgb:{channels:3,labels:\"rgb\"},hsl:{channels:3,labels:\"hsl\"},hsv:{channels:3,labels:\"hsv\"},hwb:{channels:3,labels:\"hwb\"},cmyk:{channels:4,labels:\"cmyk\"},xyz:{channels:3,labels:\"xyz\"},lab:{channels:3,labels:\"lab\"},lch:{channels:3,labels:\"lch\"},hex:{channels:1,labels:[\"hex\"]},keyword:{channels:1,labels:[\"keyword\"]},ansi16:{channels:1,labels:[\"ansi16\"]},ansi256:{channels:1,labels:[\"ansi256\"]},hcg:{channels:3,labels:[\"h\",\"c\",\"g\"]},apple:{channels:3,labels:[\"r16\",\"g16\",\"b16\"]},gray:{channels:1,labels:[\"gray\"]}};for(var i in r)if(r.hasOwnProperty(i)){if(!(\"channels\"in r[i]))throw new Error(\"missing channels property: \"+i);if(!(\"labels\"in r[i]))throw new Error(\"missing channel labels property: \"+i);if(r[i].labels.length!==r[i].channels)throw new Error(\"channel and label counts mismatch: \"+i);var o=r[i].channels,a=r[i].labels;delete r[i].channels,delete r[i].labels,Object.defineProperty(r[i],\"channels\",{value:o}),Object.defineProperty(r[i],\"labels\",{value:a})}r.rgb.hsl=function(e){var t,n,r=e[0]/255,i=e[1]/255,o=e[2]/255,a=Math.min(r,i,o),s=Math.max(r,i,o),u=s-a;return s===a?t=0:r===s?t=(i-o)/u:i===s?t=2+(o-r)/u:o===s&&(t=4+(r-i)/u),(t=Math.min(60*t,360))<0&&(t+=360),n=(a+s)/2,[t,100*(s===a?0:n<=.5?u/(s+a):u/(2-s-a)),100*n]},r.rgb.hsv=function(e){var t,n,r,i,o,a=e[0]/255,s=e[1]/255,u=e[2]/255,c=Math.max(a,s,u),l=c-Math.min(a,s,u),p=function(e){return(c-e)/6/l+.5};return 0===l?i=o=0:(o=l/c,t=p(a),n=p(s),r=p(u),a===c?i=r-n:s===c?i=1/3+t-r:u===c&&(i=2/3+n-t),i<0?i+=1:i>1&&(i-=1)),[360*i,100*o,100*c]},r.rgb.hwb=function(e){var t=e[0],n=e[1],i=e[2];return[r.rgb.hsl(e)[0],1/255*Math.min(t,Math.min(n,i))*100,100*(i=1-1/255*Math.max(t,Math.max(n,i)))]},r.rgb.cmyk=function(e){var t,n=e[0]/255,r=e[1]/255,i=e[2]/255;return[100*((1-n-(t=Math.min(1-n,1-r,1-i)))/(1-t)||0),100*((1-r-t)/(1-t)||0),100*((1-i-t)/(1-t)||0),100*t]},r.rgb.keyword=function(e){var n=t[e];if(n)return n;var r,i,o,a=1/0;for(var s in Ai)if(Ai.hasOwnProperty(s)){var u=Ai[s],c=(i=e,o=u,Math.pow(i[0]-o[0],2)+Math.pow(i[1]-o[1],2)+Math.pow(i[2]-o[2],2));c<a&&(a=c,r=s)}return r},r.keyword.rgb=function(e){return Ai[e]},r.rgb.xyz=function(e){var t=e[0]/255,n=e[1]/255,r=e[2]/255;return[100*(.4124*(t=t>.04045?Math.pow((t+.055)/1.055,2.4):t/12.92)+.3576*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)+.1805*(r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92)),100*(.2126*t+.7152*n+.0722*r),100*(.0193*t+.1192*n+.9505*r)]},r.rgb.lab=function(e){var t=r.rgb.xyz(e),n=t[0],i=t[1],o=t[2];return i/=100,o/=108.883,n=(n/=95.047)>.008856?Math.pow(n,1/3):7.787*n+16/116,[116*(i=i>.008856?Math.pow(i,1/3):7.787*i+16/116)-16,500*(n-i),200*(i-(o=o>.008856?Math.pow(o,1/3):7.787*o+16/116))]},r.hsl.rgb=function(e){var t,n,r,i,o,a=e[0]/360,s=e[1]/100,u=e[2]/100;if(0===s)return[o=255*u,o,o];t=2*u-(n=u<.5?u*(1+s):u+s-u*s),i=[0,0,0];for(var c=0;c<3;c++)(r=a+1/3*-(c-1))<0&&r++,r>1&&r--,o=6*r<1?t+6*(n-t)*r:2*r<1?n:3*r<2?t+(n-t)*(2/3-r)*6:t,i[c]=255*o;return i},r.hsl.hsv=function(e){var t=e[0],n=e[1]/100,r=e[2]/100,i=n,o=Math.max(r,.01);return n*=(r*=2)<=1?r:2-r,i*=o<=1?o:2-o,[t,100*(0===r?2*i/(o+i):2*n/(r+n)),(r+n)/2*100]},r.hsv.rgb=function(e){var t=e[0]/60,n=e[1]/100,r=e[2]/100,i=Math.floor(t)%6,o=t-Math.floor(t),a=255*r*(1-n),s=255*r*(1-n*o),u=255*r*(1-n*(1-o));switch(r*=255,i){case 0:return[r,u,a];case 1:return[s,r,a];case 2:return[a,r,u];case 3:return[a,s,r];case 4:return[u,a,r];case 5:return[r,a,s]}},r.hsv.hsl=function(e){var t,n,r,i=e[0],o=e[1]/100,a=e[2]/100,s=Math.max(a,.01);return r=(2-o)*a,n=o*s,[i,100*(n=(n/=(t=(2-o)*s)<=1?t:2-t)||0),100*(r/=2)]},r.hwb.rgb=function(e){var t,n,r,i,o,a,s,u=e[0]/360,c=e[1]/100,l=e[2]/100,p=c+l;switch(p>1&&(c/=p,l/=p),r=6*u-(t=Math.floor(6*u)),0!=(1&t)&&(r=1-r),i=c+r*((n=1-l)-c),t){default:case 6:case 0:o=n,a=i,s=c;break;case 1:o=i,a=n,s=c;break;case 2:o=c,a=n,s=i;break;case 3:o=c,a=i,s=n;break;case 4:o=i,a=c,s=n;break;case 5:o=n,a=c,s=i}return[255*o,255*a,255*s]},r.cmyk.rgb=function(e){var t=e[0]/100,n=e[1]/100,r=e[2]/100,i=e[3]/100;return[255*(1-Math.min(1,t*(1-i)+i)),255*(1-Math.min(1,n*(1-i)+i)),255*(1-Math.min(1,r*(1-i)+i))]},r.xyz.rgb=function(e){var t,n,r,i=e[0]/100,o=e[1]/100,a=e[2]/100;return n=-.9689*i+1.8758*o+.0415*a,r=.0557*i+-.204*o+1.057*a,t=(t=3.2406*i+-1.5372*o+-.4986*a)>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:12.92*n,r=r>.0031308?1.055*Math.pow(r,1/2.4)-.055:12.92*r,[255*(t=Math.min(Math.max(0,t),1)),255*(n=Math.min(Math.max(0,n),1)),255*(r=Math.min(Math.max(0,r),1))]},r.xyz.lab=function(e){var t=e[0],n=e[1],r=e[2];return n/=100,r/=108.883,t=(t/=95.047)>.008856?Math.pow(t,1/3):7.787*t+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(t-n),200*(n-(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116))]},r.lab.xyz=function(e){var t,n,r,i=e[0];t=e[1]/500+(n=(i+16)/116),r=n-e[2]/200;var o=Math.pow(n,3),a=Math.pow(t,3),s=Math.pow(r,3);return n=o>.008856?o:(n-16/116)/7.787,t=a>.008856?a:(t-16/116)/7.787,r=s>.008856?s:(r-16/116)/7.787,[t*=95.047,n*=100,r*=108.883]},r.lab.lch=function(e){var t,n=e[0],r=e[1],i=e[2];return(t=360*Math.atan2(i,r)/2/Math.PI)<0&&(t+=360),[n,Math.sqrt(r*r+i*i),t]},r.lch.lab=function(e){var t,n=e[0],r=e[1];return t=e[2]/360*2*Math.PI,[n,r*Math.cos(t),r*Math.sin(t)]},r.rgb.ansi16=function(e){var t=e[0],n=e[1],i=e[2],o=1 in arguments?arguments[1]:r.rgb.hsv(e)[2];if(0===(o=Math.round(o/50)))return 30;var a=30+(Math.round(i/255)<<2|Math.round(n/255)<<1|Math.round(t/255));return 2===o&&(a+=60),a},r.hsv.ansi16=function(e){return r.rgb.ansi16(r.hsv.rgb(e),e[2])},r.rgb.ansi256=function(e){var t=e[0],n=e[1],r=e[2];return t===n&&n===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)},r.ansi16.rgb=function(e){var t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),[t=t/10.5*255,t,t];var n=.5*(1+~~(e>50));return[(1&t)*n*255,(t>>1&1)*n*255,(t>>2&1)*n*255]},r.ansi256.rgb=function(e){if(e>=232){var t=10*(e-232)+8;return[t,t,t]}var n;return e-=16,[Math.floor(e/36)/5*255,Math.floor((n=e%36)/6)/5*255,n%6/5*255]},r.rgb.hex=function(e){var t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return\"000000\".substring(t.length)+t},r.hex.rgb=function(e){var t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];var n=t[0];3===t[0].length&&(n=n.split(\"\").map((function(e){return e+e})).join(\"\"));var r=parseInt(n,16);return[r>>16&255,r>>8&255,255&r]},r.rgb.hcg=function(e){var t,n=e[0]/255,r=e[1]/255,i=e[2]/255,o=Math.max(Math.max(n,r),i),a=Math.min(Math.min(n,r),i),s=o-a;return t=s<=0?0:o===n?(r-i)/s%6:o===r?2+(i-n)/s:4+(n-r)/s+4,t/=6,[360*(t%=1),100*s,100*(s<1?a/(1-s):0)]},r.hsl.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=1,i=0;return(r=n<.5?2*t*n:2*t*(1-n))<1&&(i=(n-.5*r)/(1-r)),[e[0],100*r,100*i]},r.hsv.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=t*n,i=0;return r<1&&(i=(n-r)/(1-r)),[e[0],100*r,100*i]},r.hcg.rgb=function(e){var t=e[0]/360,n=e[1]/100,r=e[2]/100;if(0===n)return[255*r,255*r,255*r];var i,o=[0,0,0],a=t%1*6,s=a%1,u=1-s;switch(Math.floor(a)){case 0:o[0]=1,o[1]=s,o[2]=0;break;case 1:o[0]=u,o[1]=1,o[2]=0;break;case 2:o[0]=0,o[1]=1,o[2]=s;break;case 3:o[0]=0,o[1]=u,o[2]=1;break;case 4:o[0]=s,o[1]=0,o[2]=1;break;default:o[0]=1,o[1]=0,o[2]=u}return i=(1-n)*r,[255*(n*o[0]+i),255*(n*o[1]+i),255*(n*o[2]+i)]},r.hcg.hsv=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t),r=0;return n>0&&(r=t/n),[e[0],100*r,100*n]},r.hcg.hsl=function(e){var t=e[1]/100,n=e[2]/100*(1-t)+.5*t,r=0;return n>0&&n<.5?r=t/(2*n):n>=.5&&n<1&&(r=t/(2*(1-n))),[e[0],100*r,100*n]},r.hcg.hwb=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t);return[e[0],100*(n-t),100*(1-n)]},r.hwb.hcg=function(e){var t=e[1]/100,n=1-e[2]/100,r=n-t,i=0;return r<1&&(i=(n-r)/(1-r)),[e[0],100*r,100*i]},r.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},r.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},r.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},r.gray.hsl=r.gray.hsv=function(e){return[0,0,e[0]]},r.gray.hwb=function(e){return[0,100,e[0]]},r.gray.cmyk=function(e){return[0,0,0,e[0]]},r.gray.lab=function(e){return[e[0],0,0]},r.gray.hex=function(e){var t=255&Math.round(e[0]/100*255),n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return\"000000\".substring(n.length)+n},r.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}}));function _i(e){var t=function(){for(var e={},t=Object.keys(Ti),n=t.length,r=0;r<n;r++)e[t[r]]={distance:-1,parent:null};return e}(),n=[e];for(t[e].distance=0;n.length;)for(var r=n.pop(),i=Object.keys(Ti[r]),o=i.length,a=0;a<o;a++){var s=i[a],u=t[s];-1===u.distance&&(u.distance=t[r].distance+1,u.parent=r,n.unshift(s))}return t}function Oi(e,t){return function(n){return t(e(n))}}function Fi(e,t){for(var n=[t[e].parent,e],r=Ti[t[e].parent][e],i=t[e].parent;t[i].parent;)n.unshift(t[i].parent),r=Oi(Ti[t[i].parent][i],r),i=t[i].parent;return r.conversion=n,r}Ti.rgb,Ti.hsl,Ti.hsv,Ti.hwb,Ti.cmyk,Ti.xyz,Ti.lab,Ti.lch,Ti.hex,Ti.keyword,Ti.ansi16,Ti.ansi256,Ti.hcg,Ti.apple,Ti.gray;var Ni={};Object.keys(Ti).forEach((function(e){Ni[e]={},Object.defineProperty(Ni[e],\"channels\",{value:Ti[e].channels}),Object.defineProperty(Ni[e],\"labels\",{value:Ti[e].labels});var t=function(e){for(var t=_i(e),n={},r=Object.keys(t),i=r.length,o=0;o<i;o++){var a=r[o];null!==t[a].parent&&(n[a]=Fi(a,t))}return n}(e);Object.keys(t).forEach((function(n){var r=t[n];Ni[e][n]=function(e){var t=function(t){if(null==t)return t;arguments.length>1&&(t=Array.prototype.slice.call(arguments));var n=e(t);if(\"object\"==typeof n)for(var r=n.length,i=0;i<r;i++)n[i]=Math.round(n[i]);return n};return\"conversion\"in e&&(t.conversion=e.conversion),t}(r),Ni[e][n].raw=function(e){var t=function(t){return null==t?t:(arguments.length>1&&(t=Array.prototype.slice.call(arguments)),e(t))};return\"conversion\"in e&&(t.conversion=e.conversion),t}(r)}))}));var Ii=Ni,Mi=$e((function(e){const t=(e,t)=>function(){const n=e.apply(Ii,arguments);return\"\u001b[\".concat(n+t,\"m\")},n=(e,t)=>function(){const n=e.apply(Ii,arguments);return\"\u001b[\".concat(38+t,\";5;\").concat(n,\"m\")},r=(e,t)=>function(){const n=e.apply(Ii,arguments);return\"\u001b[\".concat(38+t,\";2;\").concat(n[0],\";\").concat(n[1],\";\").concat(n[2],\"m\")};Object.defineProperty(e,\"exports\",{enumerable:!0,get:function(){const e=new Map,i={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};i.color.grey=i.color.gray;for(const t of Object.keys(i)){const n=i[t];for(const t of Object.keys(n)){const r=n[t];i[t]={open:\"\u001b[\".concat(r[0],\"m\"),close:\"\u001b[\".concat(r[1],\"m\")},n[t]=i[t],e.set(r[0],r[1])}Object.defineProperty(i,t,{value:n,enumerable:!1}),Object.defineProperty(i,\"codes\",{value:e,enumerable:!1})}const o=e=>e,a=(e,t,n)=>[e,t,n];i.color.close=\"\u001b[39m\",i.bgColor.close=\"\u001b[49m\",i.color.ansi={ansi:t(o,0)},i.color.ansi256={ansi256:n(o,0)},i.color.ansi16m={rgb:r(a,0)},i.bgColor.ansi={ansi:t(o,10)},i.bgColor.ansi256={ansi256:n(o,10)},i.bgColor.ansi16m={rgb:r(a,10)};for(let e of Object.keys(Ii)){if(\"object\"!=typeof Ii[e])continue;const o=Ii[e];\"ansi16\"===e&&(e=\"ansi\"),\"ansi16\"in o&&(i.color.ansi[e]=t(o.ansi16,0),i.bgColor.ansi[e]=t(o.ansi16,10)),\"ansi256\"in o&&(i.color.ansi256[e]=n(o.ansi256,0),i.bgColor.ansi256[e]=n(o.ansi256,10)),\"rgb\"in o&&(i.color.ansi16m[e]=r(o.rgb,0),i.bgColor.ansi16m[e]=r(o.rgb,10))}return i}})}));const ji=Ft.env;let Li;function Pi(e){return function(e){return 0!==e&&{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}(function(e){if(!1===Li)return 0;if(Tn(\"color=16m\")||Tn(\"color=full\")||Tn(\"color=truecolor\"))return 3;if(Tn(\"color=256\"))return 2;if(e&&!e.isTTY&&!0!==Li)return 0;const t=Li?1:0;if(\"win32\"===Ft.platform){const e=An.release().split(\".\");return Number(Ft.versions.node.split(\".\")[0])>=8&&Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if(\"CI\"in ji)return[\"TRAVIS\",\"CIRCLECI\",\"APPVEYOR\",\"GITLAB_CI\"].some(e=>e in ji)||\"codeship\"===ji.CI_NAME?1:t;if(\"TEAMCITY_VERSION\"in ji)return/^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(ji.TEAMCITY_VERSION)?1:0;if(\"truecolor\"===ji.COLORTERM)return 3;if(\"TERM_PROGRAM\"in ji){const e=parseInt((ji.TERM_PROGRAM_VERSION||\"\").split(\".\")[0],10);switch(ji.TERM_PROGRAM){case\"iTerm.app\":return e>=3?3:2;case\"Apple_Terminal\":return 2}}return/-256(color)?$/i.test(ji.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ji.TERM)||\"COLORTERM\"in ji?1:(ji.TERM,t)}(e))}Tn(\"no-color\")||Tn(\"no-colors\")||Tn(\"color=false\")?Li=!1:(Tn(\"color\")||Tn(\"colors\")||Tn(\"color=true\")||Tn(\"color=always\"))&&(Li=!0),\"FORCE_COLOR\"in ji&&(Li=0===ji.FORCE_COLOR.length||0!==parseInt(ji.FORCE_COLOR,10));var Ri={supportsColor:Pi,stdout:Pi(Ft.stdout),stderr:Pi(Ft.stderr)};const Bi=/(?:\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.))|(?:\\{(~)?(\\w+(?:\\([^)]*\\))?(?:\\.\\w+(?:\\([^)]*\\))?)*)(?:[ \\t]|(?=\\r?\\n)))|(\\})|((?:.|[\\r\\n\\f])+?)/gi,Ui=/(?:^|\\.)(\\w+)(?:\\(([^)]*)\\))?/g,zi=/^(['\"])((?:\\\\.|(?!\\1)[^\\\\])*)\\1$/,Vi=/\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.)|([^\\\\])/gi,qi=new Map([[\"n\",\"\\n\"],[\"r\",\"\\r\"],[\"t\",\"\\t\"],[\"b\",\"\\b\"],[\"f\",\"\\f\"],[\"v\",\"\\v\"],[\"0\",\"\\0\"],[\"\\\\\",\"\\\\\"],[\"e\",\"\u001b\"],[\"a\",\"\u0007\"]]);function Hi(e){return\"u\"===e[0]&&5===e.length||\"x\"===e[0]&&3===e.length?String.fromCharCode(parseInt(e.slice(1),16)):qi.get(e)||e}function Wi(e,t){const n=[],r=t.trim().split(/\\s*,\\s*/g);let i;for(const t of r)if(isNaN(t)){if(!(i=t.match(zi)))throw new Error(\"Invalid Chalk template style argument: \".concat(t,\" (in style '\").concat(e,\"')\"));n.push(i[2].replace(Vi,(e,t,n)=>t?Hi(t):n))}else n.push(Number(t));return n}function Gi(e){Ui.lastIndex=0;const t=[];let n;for(;null!==(n=Ui.exec(e));){const e=n[1];if(n[2]){const r=Wi(e,n[2]);t.push([e].concat(r))}else t.push([e])}return t}function Ki(e,t){const n={};for(const e of t)for(const t of e.styles)n[t[0]]=e.inverse?null:t.slice(1);let r=e;for(const e of Object.keys(n))if(Array.isArray(n[e])){if(!(e in r))throw new Error(\"Unknown Chalk style: \".concat(e));r=n[e].length>0?r[e].apply(r,n[e]):r[e]}return r}var Ji=(e,t)=>{const n=[],r=[];let i=[];if(t.replace(Bi,(t,o,a,s,u,c)=>{if(o)i.push(Hi(o));else if(s){const t=i.join(\"\");i=[],r.push(0===n.length?t:Ki(e,n)(t)),n.push({inverse:a,styles:Gi(s)})}else if(u){if(0===n.length)throw new Error(\"Found extraneous } in Chalk template literal\");r.push(Ki(e,n)(i.join(\"\"))),i=[],n.pop()}else i.push(c)}),r.push(i.join(\"\")),n.length>0){const e=\"Chalk template literal is missing \".concat(n.length,\" closing bracket\").concat(1===n.length?\"\":\"s\",\" (`}`)\");throw new Error(e)}return r.join(\"\")},Qi=$e((function(e){const t=Ri.stdout,n=\"win32\"===Ft.platform&&!(Ft.env.TERM||\"\").toLowerCase().startsWith(\"xterm\"),r=[\"ansi\",\"ansi\",\"ansi256\",\"ansi16m\"],i=new Set([\"gray\"]),o=Object.create(null);function a(e,n){n=n||{};const r=t?t.level:0;e.level=void 0===n.level?r:n.level,e.enabled=\"enabled\"in n?n.enabled:e.level>0}function s(e){if(!this||!(this instanceof s)||this.template){const t={};return a(t,e),t.template=function(){const e=[].slice.call(arguments);return p.apply(null,[t.template].concat(e))},Object.setPrototypeOf(t,s.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=s,t.template}a(this,e)}n&&(Mi.blue.open=\"\u001b[94m\");for(const e of Object.keys(Mi))Mi[e].closeRe=new RegExp(ki(Mi[e].close),\"g\"),o[e]={get(){const t=Mi[e];return c.call(this,this._styles?this._styles.concat(t):[t],this._empty,e)}};o.visible={get(){return c.call(this,this._styles||[],!0,\"visible\")}},Mi.color.closeRe=new RegExp(ki(Mi.color.close),\"g\");for(const e of Object.keys(Mi.color.ansi))i.has(e)||(o[e]={get(){const t=this.level;return function(){const n=Mi.color[r[t]][e].apply(null,arguments),i={open:n,close:Mi.color.close,closeRe:Mi.color.closeRe};return c.call(this,this._styles?this._styles.concat(i):[i],this._empty,e)}}});Mi.bgColor.closeRe=new RegExp(ki(Mi.bgColor.close),\"g\");for(const e of Object.keys(Mi.bgColor.ansi))i.has(e)||(o[\"bg\"+e[0].toUpperCase()+e.slice(1)]={get(){const t=this.level;return function(){const n=Mi.bgColor[r[t]][e].apply(null,arguments),i={open:n,close:Mi.bgColor.close,closeRe:Mi.bgColor.closeRe};return c.call(this,this._styles?this._styles.concat(i):[i],this._empty,e)}}});const u=Object.defineProperties(()=>{},o);function c(e,t,n){const r=function e(){return l.apply(e,arguments)};r._styles=e,r._empty=t;const i=this;return Object.defineProperty(r,\"level\",{enumerable:!0,get:()=>i.level,set(e){i.level=e}}),Object.defineProperty(r,\"enabled\",{enumerable:!0,get:()=>i.enabled,set(e){i.enabled=e}}),r.hasGrey=this.hasGrey||\"gray\"===n||\"grey\"===n,r.__proto__=u,r}function l(){const e=arguments,t=e.length;let r=String(arguments[0]);if(0===t)return\"\";if(t>1)for(let n=1;n<t;n++)r+=\" \"+e[n];if(!this.enabled||this.level<=0||!r)return this._empty?\"\":r;const i=Mi.dim.open;n&&this.hasGrey&&(Mi.dim.open=\"\");for(const e of this._styles.slice().reverse())r=e.open+r.replace(e.closeRe,e.open)+e.close,r=r.replace(/\\r?\\n/g,\"\".concat(e.close,\"$&\").concat(e.open));return Mi.dim.open=i,r}function p(e,t){if(!Array.isArray(t))return[].slice.call(arguments,1).join(\" \");const n=[].slice.call(arguments,2),r=[t.raw[0]];for(let e=1;e<t.length;e++)r.push(String(n[e-1]).replace(/[{}\\\\]/g,\"\\\\$&\")),r.push(String(t.raw[e]));return Ji(e,r.join(\"\"))}Object.defineProperties(s.prototype,o),e.exports=s(),e.exports.supportsColor=t,e.exports.default=e.exports})),Yi=(Qi.supportsColor,$e((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.shouldHighlight=l,t.getChalk=p,t.default=function(e,t={}){return l(t)?function(e,t){return t.replace(n.default,(function(...t){const i=function(e){const[t,i]=e.slice(-2),o=(0,n.matchToToken)(e);if(\"name\"===o.type){if(r.default.keyword.isReservedWordES6(o.value))return\"keyword\";if(u.test(o.value)&&(\"<\"===i[t-1]||\"</\"==i.substr(t-2,2)))return\"jsx_tag\";if(o.value[0]!==o.value[0].toLowerCase())return\"capitalized\"}return\"punctuator\"===o.type&&c.test(o.value)?\"bracket\":\"invalid\"!==o.type||\"@\"!==o.value&&\"#\"!==o.value?o.type:\"punctuator\"}(t),o=e[i];return o?t[0].split(s).map(e=>o(e)).join(\"\\n\"):t[0]}))}(function(e){return{keyword:e.cyan,capitalized:e.yellow,jsx_tag:e.yellow,punctuator:e.yellow,number:e.magenta,string:e.green,regex:e.magenta,comment:e.grey,invalid:e.white.bgRed.bold}}(p(t)),e):e};var n=function(e){if(e&&e.__esModule)return e;if(null===e||\"object\"!=typeof e&&\"function\"!=typeof e)return{default:e};var t=a();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var o=r?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}return n.default=e,t&&t.set(e,n),n}(Ei),r=o(wi),i=o(Qi);function o(e){return e&&e.__esModule?e:{default:e}}function a(){if(\"function\"!=typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}const s=/\\r\\n|[\\n\\r\\u2028\\u2029]/,u=/^[a-z][\\w-]*$/i,c=/^[()[\\]{}]$/;function l(e){return i.default.supportsColor||e.forceColor}function p(e){let t=i.default;return e.forceColor&&(t=new i.default.constructor({enabled:!0,level:1})),t}})));Ye(Yi),Yi.shouldHighlight,Yi.getChalk;var $i=$e((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.codeFrameColumns=a,t.default=function(e,t,n,r={}){if(!i){i=!0;const e=\"Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.\";Ft.emitWarning?Ft.emitWarning(e,\"DeprecationWarning\"):(new Error(e).name=\"DeprecationWarning\",console.warn(new Error(e)))}return n=Math.max(n,0),a(e,{start:{column:n,line:t}},r)};var n=function(e){if(e&&e.__esModule)return e;if(null===e||\"object\"!=typeof e&&\"function\"!=typeof e)return{default:e};var t=r();if(t&&t.has(e))return t.get(e);var n={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,t&&t.set(e,n),n}(Yi);function r(){if(\"function\"!=typeof WeakMap)return null;var e=new WeakMap;return r=function(){return e},e}let i=!1;const o=/\\r\\n|[\\n\\r\\u2028\\u2029]/;function a(e,t,r={}){const i=(r.highlightCode||r.forceColor)&&(0,n.shouldHighlight)(r),a=(0,n.getChalk)(r),s=function(e){return{gutter:e.grey,marker:e.red.bold,message:e.red.bold}}(a),u=(e,t)=>i?e(t):t,c=e.split(o),{start:l,end:p,markerLines:f}=function(e,t,n){const r=Object.assign({column:0,line:-1},e.start),i=Object.assign({},r,{},e.end),{linesAbove:o=2,linesBelow:a=3}=n||{},s=r.line,u=r.column,c=i.line,l=i.column;let p=Math.max(s-(o+1),0),f=Math.min(t.length,c+a);-1===s&&(p=0),-1===c&&(f=t.length);const d=c-s,h={};if(d)for(let e=0;e<=d;e++){const n=e+s;if(u)if(0===e){const e=t[n-1].length;h[n]=[u,e-u+1]}else if(e===d)h[n]=[0,l];else{const r=t[n-e].length;h[n]=[0,r]}else h[n]=!0}else h[s]=u===l?!u||[u,0]:[u,l-u];return{start:p,end:f,markerLines:h}}(t,c,r),d=t.start&&\"number\"==typeof t.start.column,h=String(p).length;let m=(i?(0,n.default)(e,r):e).split(o).slice(l,p).map((e,t)=>{const n=l+1+t,i=\" \".concat(n).slice(-h),o=\" \".concat(i,\" | \"),a=f[n],c=!f[n+1];if(a){let t=\"\";if(Array.isArray(a)){const n=e.slice(0,Math.max(a[0]-1,0)).replace(/[^\\t]/g,\" \"),i=a[1]||1;t=[\"\\n \",u(s.gutter,o.replace(/\\d/g,\" \")),n,u(s.marker,\"^\").repeat(i)].join(\"\"),c&&r.message&&(t+=\" \"+u(s.message,r.message))}return[u(s.marker,\">\"),u(s.gutter,o),e,t].join(\"\")}return\" \".concat(u(s.gutter,o)).concat(e)}).join(\"\\n\");return r.message&&!d&&(m=\"\".concat(\" \".repeat(h+1)).concat(r.message,\"\\n\").concat(m)),i?a.reset(m):m}}));Ye($i),$i.codeFrameColumns;const{ConfigError:Xi}=ot,{locStart:Zi,locEnd:eo}=bi,to=Object.getOwnPropertyNames,no=Object.getOwnPropertyDescriptor;function ro(e){const t={};for(const n of e.plugins)if(n.parsers)for(const e of to(n.parsers))Object.defineProperty(t,e,no(n.parsers,e));return t}function io(e,t){if(t=t||ro(e),\"function\"==typeof e.parser)return{parse:e.parser,astFormat:\"estree\",locStart:Zi,locEnd:eo};if(\"string\"==typeof e.parser){if(Object.prototype.hasOwnProperty.call(t,e.parser))return t[e.parser];throw new Xi(\"Couldn't resolve parser \\\"\".concat(e.parser,'\". Parsers must be explicitly added to the standalone bundle.'))}}var oo={parse:function(e,t){const n=ro(t),r=Object.keys(n).reduce((e,t)=>Object.defineProperty(e,t,{enumerable:!0,get:()=>n[t].parse}),{}),i=io(t,n);try{return i.preprocess&&(e=i.preprocess(e,t)),{text:e,ast:i.parse(e,r,t)}}catch(t){const{loc:n}=t;if(n){const r=$i;throw t.codeFrame=r.codeFrameColumns(e,n,{highlightCode:!0}),t.message+=\"\\n\"+t.codeFrame,t}throw t.stack}},resolveParser:io};const{UndefinedParserError:ao}=ot,{getSupportInfo:so}=sn,{resolveParser:uo}=oo,co={astFormat:\"estree\",printer:{},originalText:void 0,locStart:null,locEnd:null};function lo(e,t){const n=X.basename(e).toLowerCase(),r=so({plugins:t}).languages.filter(e=>null!==e.since);let i=r.find(e=>e.extensions&&e.extensions.some(e=>n.endsWith(e))||e.filenames&&e.filenames.find(e=>e.toLowerCase()===n));if(!i&&!n.includes(\".\")){const t=function(e){if(\"string\"!=typeof e)return\"\";let t;try{t=Ze.openSync(e,\"r\")}catch(e){return\"\"}try{const e=new et(t).next().toString(\"utf8\"),n=e.match(/^#!\\/(?:usr\\/)?bin\\/env\\s+(\\S+)/);if(n)return n[1];const r=e.match(/^#!\\/(?:usr\\/(?:local\\/)?)?bin\\/(\\S+)/);return r?r[1]:\"\"}catch(e){return\"\"}finally{try{Ze.closeSync(t)}catch(e){}}}(e);i=r.find(e=>e.interpreters&&e.interpreters.includes(t))}return i&&i.parsers[0]}var po={normalize:function(e,t){t=t||{};const n=Object.assign({},e),r=so({plugins:e.plugins,showUnreleased:!0,showDeprecated:!0}).options,i=Object.assign({},co,{},tt(r.filter(e=>void 0!==e.default).map(e=>[e.name,e.default])));if(!n.parser)if(n.filepath){if(n.parser=lo(n.filepath,n.plugins),!n.parser)throw new ao(\"No parser could be inferred for file: \".concat(n.filepath))}else(t.logger||console).warn(\"No parser and no filepath given, using 'babel' the parser now but this will throw an error in the future. Please specify a parser or a filepath so one can be inferred.\"),n.parser=\"babel\";const o=uo(mi.normalizeApiOptions(n,[r.find(e=>\"parser\"===e.name)],{passThrough:!0,logger:!1}));n.astFormat=o.astFormat,n.locEnd=o.locEnd,n.locStart=o.locStart;const a=function(e){const{astFormat:t}=e;if(!t)throw new Error(\"getPlugin() requires astFormat to be set\");const n=e.plugins.find(e=>e.printers&&e.printers[t]);if(!n)throw new Error(\"Couldn't find plugin for AST format \\\"\".concat(t,'\"'));return n}(n);n.printer=a.printers[n.astFormat];const s=r.filter(e=>e.pluginDefaults&&void 0!==e.pluginDefaults[a.name]).reduce((e,t)=>Object.assign(e,{[t.name]:t.pluginDefaults[a.name]}),{}),u=Object.assign({},i,{},s);return Object.keys(u).forEach(e=>{null==n[e]&&(n[e]=u[e])}),\"json\"===n.parser&&(n.trailingComma=\"none\"),mi.normalizeApiOptions(n,r,Object.assign({passThrough:Object.keys(co)},t))},hiddenDefaults:co,inferParser:lo},fo=function e(t,n,r){if(Array.isArray(t))return t.map(t=>e(t,n,r)).filter(Boolean);if(!t||\"object\"!=typeof t)return t;const i={};for(const r of Object.keys(t))\"function\"!=typeof t[r]&&(i[r]=e(t[r],n,t));if(n.printer.massageAstNode){const e=n.printer.massageAstNode(t,i,r);if(null===e)return;if(e)return e}return i};function ho(){}function mo(e){return{type:\"concat\",parts:e}}function go(e){return{type:\"indent\",contents:e}}function yo(e,t){return{type:\"align\",contents:t,n:e}}function vo(e,t){return{type:\"group\",id:(t=t||{}).id,contents:e,break:!!t.shouldBreak,expandedStates:t.expandedStates}}ho.ok=function(){},ho.strictEqual=function(){};const bo={type:\"break-parent\"},Eo=mo([{type:\"line\",hard:!0},bo]),xo=mo([{type:\"line\",hard:!0,literal:!0},bo]);var Do={concat:mo,join:function(e,t){const n=[];for(let r=0;r<t.length;r++)0!==r&&n.push(e),n.push(t[r]);return mo(n)},line:{type:\"line\"},softline:{type:\"line\",soft:!0},hardline:Eo,literalline:xo,group:vo,conditionalGroup:function(e,t){return vo(e[0],Object.assign({},t,{expandedStates:e}))},fill:function(e){return{type:\"fill\",parts:e}},lineSuffix:function(e){return{type:\"line-suffix\",contents:e}},lineSuffixBoundary:{type:\"line-suffix-boundary\"},cursor:{type:\"cursor\",placeholder:Symbol(\"cursor\")},breakParent:bo,ifBreak:function(e,t,n){return{type:\"if-break\",breakContents:e,flatContents:t,groupId:(n=n||{}).groupId}},trim:{type:\"trim\"},indent:go,align:yo,addAlignmentToDoc:function(e,t,n){let r=e;if(t>0){for(let e=0;e<Math.floor(t/n);++e)r=go(r);r=yo(t%n,r),r=yo(-1/0,r)}return r},markAsRoot:function(e){return yo({type:\"root\"},e)},dedentToRoot:function(e){return yo(-1/0,e)},dedent:function(e){return yo(-1,e)}},Co=e=>\"string\"==typeof e?e.replace((({onlyFirst:e=!1}={})=>{const t=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(t,e?void 0:\"g\")})(),\"\"):e;const wo=e=>!Number.isNaN(e)&&e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141);var So=wo,ko=wo;So.default=ko;const Ao=e=>{if(\"string\"!=typeof(e=e.replace(/\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)\\uD83C\\uDFFB|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83D\\uDC69(?:\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83C\\uDFF4\\u200D\\u2620)\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF6\\uD83C\\uDDE6|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5\\uDEEB\\uDEEC\\uDEF4-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g,\"  \"))||0===e.length)return 0;e=Co(e);let t=0;for(let n=0;n<e.length;n++){const r=e.codePointAt(n);r<=31||r>=127&&r<=159||r>=768&&r<=879||(r>65535&&n++,t+=So(r)?2:1)}return t};var To=Ao,_o=Ao;To.default=_o;const Oo=/[|\\\\{}()[\\]^$+*?.-]/g;var Fo=e=>{if(\"string\"!=typeof e)throw new TypeError(\"Expected a string\");return e.replace(Oo,\"\\\\$&\")};const No=/[^\\x20-\\x7F]/;function Io(e){return(t,n,r)=>{const i=r&&r.backwards;if(!1===n)return!1;const{length:o}=t;let a=n;for(;a>=0&&a<o;){const n=t.charAt(a);if(e instanceof RegExp){if(!e.test(n))return a}else if(!e.includes(n))return a;i?a--:a++}return(-1===a||a===o)&&a}}const Mo=Io(/\\s/),jo=Io(\" \\t\"),Lo=Io(\",; \\t\"),Po=Io(/[^\\r\\n]/);function Ro(e,t){if(!1===t)return!1;if(\"/\"===e.charAt(t)&&\"*\"===e.charAt(t+1))for(let n=t+2;n<e.length;++n)if(\"*\"===e.charAt(n)&&\"/\"===e.charAt(n+1))return n+2;return t}function Bo(e,t){return!1!==t&&(\"/\"===e.charAt(t)&&\"/\"===e.charAt(t+1)?Po(e,t):t)}function Uo(e,t,n){const r=n&&n.backwards;if(!1===t)return!1;const i=e.charAt(t);if(r){if(\"\\r\"===e.charAt(t-1)&&\"\\n\"===i)return t-2;if(\"\\n\"===i||\"\\r\"===i||\"\\u2028\"===i||\"\\u2029\"===i)return t-1}else{if(\"\\r\"===i&&\"\\n\"===e.charAt(t+1))return t+2;if(\"\\n\"===i||\"\\r\"===i||\"\\u2028\"===i||\"\\u2029\"===i)return t+1}return t}function zo(e,t,n){const r=jo(e,(n=n||{}).backwards?t-1:t,n);return r!==Uo(e,r,n)}function Vo(e,t){let n=null,r=t;for(;r!==n;)n=r,r=Lo(e,r),r=Ro(e,r),r=jo(e,r);return r=Bo(e,r),r=Uo(e,r),!1!==r&&zo(e,r)}function qo(e,t){let n=null,r=t;for(;r!==n;)n=r,r=jo(e,r),r=Ro(e,r),r=Bo(e,r),r=Uo(e,r);return r}function Ho(e,t,n){return qo(e,n(t))}const Wo={};function Go(e){return Wo[e]}[[\"|>\"],[\"??\"],[\"||\"],[\"&&\"],[\"|\"],[\"^\"],[\"&\"],[\"==\",\"===\",\"!=\",\"!==\"],[\"<\",\">\",\"<=\",\">=\",\"in\",\"instanceof\"],[\">>\",\"<<\",\">>>\"],[\"+\",\"-\"],[\"*\",\"/\",\"%\"],[\"**\"]].forEach((e,t)=>{e.forEach(e=>{Wo[e]=t})});const Ko={\"==\":!0,\"!=\":!0,\"===\":!0,\"!==\":!0},Jo={\"*\":!0,\"/\":!0,\"%\":!0},Qo={\">>\":!0,\">>>\":!0,\"<<\":!0};function Yo(e,t,n){let r=0;for(let i=n=n||0;i<e.length;++i)\"\\t\"===e[i]?r=r+t-r%t:r++;return r}function $o(e,t){const n=e.slice(1,-1),r={quote:'\"',regex:/\"/g},i={quote:\"'\",regex:/'/g},o=\"'\"===t?i:r,a=o===i?r:i;let s=o.quote;return(n.includes(o.quote)||n.includes(a.quote))&&(s=(n.match(o.regex)||[]).length>(n.match(a.regex)||[]).length?a.quote:o.quote),s}function Xo(e,t,n){const r='\"'===t?\"'\":'\"',i=e.replace(/\\\\([\\s\\S])|(['\"])/g,(e,i,o)=>i===r?i:o===t?\"\\\\\"+o:o||(n&&/^[^\\\\nrvtbfux\\r\\n\\u2028\\u2029\"'0-7]$/.test(i)?i:\"\\\\\"+i));return t+i+t}function Zo(e){return e&&(e.comments&&e.comments.length>0&&e.comments.some(e=>ea(e)&&!e.unignore)||e.prettierIgnore)}function ea(e){return\"prettier-ignore\"===e.value.trim()}function ta(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,\"JSXText\"===e.type&&(t.printed=!0)}var na={replaceEndOfLineWith:function(e,t){const n=[];for(const r of e.split(\"\\n\"))0!==n.length&&n.push(t),n.push(r);return n},getStringWidth:function(e){return e?No.test(e)?To(e):e.length:0},getMaxContinuousCount:function(e,t){const n=e.match(new RegExp(\"(\".concat(Fo(t),\")+\"),\"g\"));return null===n?0:n.reduce((e,n)=>Math.max(e,n.length/t.length),0)},getMinNotPresentContinuousCount:function(e,t){const n=e.match(new RegExp(\"(\".concat(Fo(t),\")+\"),\"g\"));if(null===n)return 0;const r=new Map;let i=0;for(const e of n){const n=e.length/t.length;r.set(n,!0),n>i&&(i=n)}for(let e=1;e<i;e++)if(!r.get(e))return e;return i+1},getPrecedence:Go,shouldFlatten:function(e,t){return!(Go(t)!==Go(e)||\"**\"===e||Ko[e]&&Ko[t]||\"%\"===t&&Jo[e]||\"%\"===e&&Jo[t]||t!==e&&Jo[t]&&Jo[e]||Qo[e]&&Qo[t])},isBitwiseOperator:function(e){return!!Qo[e]||\"|\"===e||\"^\"===e||\"&\"===e},getPenultimate:function(e){return e.length>1?e[e.length-2]:null},getLast:gi,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:qo,getNextNonSpaceNonCommentCharacterIndex:Ho,getNextNonSpaceNonCommentCharacter:function(e,t,n){return e.charAt(Ho(e,t,n))},skip:Io,skipWhitespace:Mo,skipSpaces:jo,skipToLineEnd:Lo,skipEverythingButNewLine:Po,skipInlineComment:Ro,skipTrailingComment:Bo,skipNewline:Uo,isNextLineEmptyAfterIndex:Vo,isNextLineEmpty:function(e,t,n){return Vo(e,n(t))},isPreviousLineEmpty:function(e,t,n){let r=n(t)-1;return r=jo(e,r,{backwards:!0}),r=Uo(e,r,{backwards:!0}),r=jo(e,r,{backwards:!0}),r!==Uo(e,r,{backwards:!0})},hasNewline:zo,hasNewlineInRange:function(e,t,n){for(let r=t;r<n;++r)if(\"\\n\"===e.charAt(r))return!0;return!1},hasSpaces:function(e,t,n){return jo(e,(n=n||{}).backwards?t-1:t,n)!==t},setLocStart:function(e,t){e.range?e.range[0]=t:e.start=t},setLocEnd:function(e,t){e.range?e.range[1]=t:e.end=t},startsWithNoLookaheadToken:function e(t,n){switch((t=function e(t){return t.left?e(t.left):t}(t)).type){case\"FunctionExpression\":case\"ClassExpression\":case\"DoExpression\":return n;case\"ObjectExpression\":return!0;case\"MemberExpression\":case\"OptionalMemberExpression\":return e(t.object,n);case\"TaggedTemplateExpression\":return\"FunctionExpression\"!==t.tag.type&&e(t.tag,n);case\"CallExpression\":case\"OptionalCallExpression\":return\"FunctionExpression\"!==t.callee.type&&e(t.callee,n);case\"ConditionalExpression\":return e(t.test,n);case\"UpdateExpression\":return!t.prefix&&e(t.argument,n);case\"BindExpression\":return t.object&&e(t.object,n);case\"SequenceExpression\":return e(t.expressions[0],n);case\"TSAsExpression\":return e(t.expression,n);default:return!1}},getAlignmentSize:Yo,getIndentSize:function(e,t){const n=e.lastIndexOf(\"\\n\");return-1===n?0:Yo(e.slice(n+1).match(/^[ \\t]*/)[0],t)},getPreferredQuote:$o,printString:function(e,t,n){const r=e.slice(1,-1),i=!r.includes('\"')&&!r.includes(\"'\"),o=\"json\"===t.parser?'\"':t.__isInHtmlAttribute?\"'\":$o(e,t.singleQuote?\"'\":'\"');return n?i?o+r+o:e:Xo(r,o,!(\"css\"===t.parser||\"less\"===t.parser||\"scss\"===t.parser||t.embeddedInHtml))},printNumber:function(e){return e.toLowerCase().replace(/^([+-]?[\\d.]+e)(?:\\+|(-))?0*(\\d)/,\"$1$2$3\").replace(/^([+-]?[\\d.]+)e[+-]?0+$/,\"$1\").replace(/^([+-])?\\./,\"$10.\").replace(/(\\.\\d+?)0+(?=e|$)/,\"$1\").replace(/\\.(?=e|$)/,\"\")},hasIgnoreComment:function(e){return Zo(e.getValue())},hasNodeIgnoreComment:Zo,isNodeIgnoreComment:ea,makeString:Xo,addLeadingComment:function(e,t){t.leading=!0,t.trailing=!1,ta(e,t)},addDanglingComment:function(e,t){t.leading=!1,t.trailing=!1,ta(e,t)},addTrailingComment:function(e,t){t.leading=!1,t.trailing=!0,ta(e,t)},isWithinParentArrayProperty:function(e,t){const n=e.getValue(),r=e.getParentNode();if(null==r)return!1;if(!Array.isArray(r[t]))return!1;const i=e.getName();return r[t][i]===n}},ra={guessEndOfLine:function(e){const t=e.indexOf(\"\\r\");return t>=0?\"\\n\"===e.charAt(t+1)?\"crlf\":\"cr\":\"lf\"},convertEndOfLineToChars:function(e){switch(e){case\"cr\":return\"\\r\";case\"crlf\":return\"\\r\\n\";default:return\"\\n\"}}};const{getStringWidth:ia}=na,{convertEndOfLineToChars:oa}=ra,{concat:aa,fill:sa,cursor:ua}=Do;let ca;function la(e,t){return fa(e,{type:\"indent\"},t)}function pa(e,t,n){return t===-1/0?e.root||{value:\"\",length:0,queue:[]}:t<0?fa(e,{type:\"dedent\"},n):t?\"root\"===t.type?Object.assign({},e,{root:e}):fa(e,\"string\"==typeof t?{type:\"stringAlign\",n:t}:{type:\"numberAlign\",n:t},n):e}function fa(e,t,n){const r=\"dedent\"===t.type?e.queue.slice(0,-1):e.queue.concat(t);let i=\"\",o=0,a=0,s=0;for(const e of r)switch(e.type){case\"indent\":l(),n.useTabs?u(1):c(n.tabWidth);break;case\"stringAlign\":l(),i+=e.n,o+=e.n.length;break;case\"numberAlign\":a+=1,s+=e.n;break;default:throw new Error(\"Unexpected type '\".concat(e.type,\"'\"))}return p(),Object.assign({},e,{value:i,length:o,queue:r});function u(e){i+=\"\\t\".repeat(e),o+=n.tabWidth*e}function c(e){i+=\" \".repeat(e),o+=e}function l(){n.useTabs?(a>0&&u(a),f()):p()}function p(){s>0&&c(s),f()}function f(){a=0,s=0}}function da(e){if(0===e.length)return 0;let t=0;for(;e.length>0&&\"string\"==typeof e[e.length-1]&&e[e.length-1].match(/^[ \\t]*$/);)t+=e.pop().length;if(e.length&&\"string\"==typeof e[e.length-1]){const n=e[e.length-1].replace(/[ \\t]*$/,\"\");t+=e[e.length-1].length-n.length,e[e.length-1]=n}return t}function ha(e,t,n,r,i){let o=t.length;const a=[e],s=[];for(;n>=0;){if(0===a.length){if(0===o)return!0;a.push(t[o-1]),o--;continue}const[e,u,c]=a.pop();if(\"string\"==typeof c)s.push(c),n-=ia(c);else switch(c.type){case\"concat\":for(let t=c.parts.length-1;t>=0;t--)a.push([e,u,c.parts[t]]);break;case\"indent\":a.push([la(e,r),u,c.contents]);break;case\"align\":a.push([pa(e,c.n,r),u,c.contents]);break;case\"trim\":n+=da(s);break;case\"group\":if(i&&c.break)return!1;a.push([e,c.break?1:u,c.contents]),c.id&&(ca[c.id]=a[a.length-1][1]);break;case\"fill\":for(let t=c.parts.length-1;t>=0;t--)a.push([e,u,c.parts[t]]);break;case\"if-break\":{const t=c.groupId?ca[c.groupId]:u;1===t&&c.breakContents&&a.push([e,u,c.breakContents]),2===t&&c.flatContents&&a.push([e,u,c.flatContents]);break}case\"line\":switch(u){case 2:if(!c.hard){c.soft||(s.push(\" \"),n-=1);break}return!0;case 1:return!0}}}return!1}const ma={};function ga(e,t,n,r){const i=[e];for(;0!==i.length;){const e=i.pop();if(e===ma){n(i.pop());continue}let o=!0;if(t&&!1===t(e)&&(o=!1),n&&(i.push(e),i.push(ma)),o)if(\"concat\"===e.type||\"fill\"===e.type)for(let t=e.parts.length-1;t>=0;--t)i.push(e.parts[t]);else if(\"if-break\"===e.type)e.flatContents&&i.push(e.flatContents),e.breakContents&&i.push(e.breakContents);else if(\"group\"===e.type&&e.expandedStates)if(r)for(let t=e.expandedStates.length-1;t>=0;--t)i.push(e.expandedStates[t]);else i.push(e.contents);else e.contents&&i.push(e.contents)}}function ya(e,t){if(\"concat\"===e.type||\"fill\"===e.type){const n=e.parts.map(e=>ya(e,t));return t(Object.assign({},e,{parts:n}))}if(\"if-break\"===e.type){const n=e.breakContents&&ya(e.breakContents,t),r=e.flatContents&&ya(e.flatContents,t);return t(Object.assign({},e,{breakContents:n,flatContents:r}))}if(e.contents){const n=ya(e.contents,t);return t(Object.assign({},e,{contents:n}))}return t(e)}function va(e,t,n){let r=n,i=!1;return ga(e,(function(e){const n=t(e);if(void 0!==n&&(i=!0,r=n),i)return!1})),r}function ba(e){return\"string\"!=typeof e&&(\"line\"===e.type||void 0)}function Ea(e){return!(\"group\"!==e.type||!e.break)||!(\"line\"!==e.type||!e.hard)||\"break-parent\"===e.type||void 0}function xa(e){if(e.length>0){const t=e[e.length-1];t.expandedStates||(t.break=!0)}return null}function Da(e){return\"line\"!==e.type||e.hard?\"if-break\"===e.type?e.flatContents||\"\":e:e.soft?\"\":\" \"}function Ca(e){if(\"concat\"===e.type){const t=[];for(let n=0;n<e.parts.length;++n){const r=e.parts[n];if(\"string\"!=typeof r&&\"concat\"===r.type)t.push(...Ca(r).parts);else{const e=Ca(r);\"\"!==e&&t.push(e)}}return Object.assign({},e,{parts:t})}return\"if-break\"===e.type?Object.assign({},e,{breakContents:null!=e.breakContents?Ca(e.breakContents):null,flatContents:null!=e.flatContents?Ca(e.flatContents):null}):\"group\"===e.type?Object.assign({},e,{contents:Ca(e.contents),expandedStates:e.expandedStates?e.expandedStates.map(Ca):e.expandedStates}):e.contents?Object.assign({},e,{contents:Ca(e.contents)}):e}function wa(e){if(\"string\"==typeof e)return JSON.stringify(e);if(\"line\"===e.type)return e.literal?\"literalline\":e.hard?\"hardline\":e.soft?\"softline\":\"line\";if(\"break-parent\"===e.type)return\"breakParent\";if(\"trim\"===e.type)return\"trim\";if(\"concat\"===e.type)return\"[\"+e.parts.map(wa).join(\", \")+\"]\";if(\"indent\"===e.type)return\"indent(\"+wa(e.contents)+\")\";if(\"align\"===e.type)return e.n===-1/0?\"dedentToRoot(\"+wa(e.contents)+\")\":e.n<0?\"dedent(\"+wa(e.contents)+\")\":\"root\"===e.n.type?\"markAsRoot(\"+wa(e.contents)+\")\":\"align(\"+JSON.stringify(e.n)+\", \"+wa(e.contents)+\")\";if(\"if-break\"===e.type)return\"ifBreak(\"+wa(e.breakContents)+(e.flatContents?\", \"+wa(e.flatContents):\"\")+\")\";if(\"group\"===e.type)return e.expandedStates?\"conditionalGroup([\"+e.expandedStates.map(wa).join(\",\")+\"])\":(e.break?\"wrappedGroup\":\"group\")+\"(\"+wa(e.contents)+\")\";if(\"fill\"===e.type)return\"fill(\"+e.parts.map(wa).join(\", \")+\")\";if(\"line-suffix\"===e.type)return\"lineSuffix(\"+wa(e.contents)+\")\";if(\"line-suffix-boundary\"===e.type)return\"lineSuffixBoundary\";throw new Error(\"Unknown doc type \"+e.type)}var Sa={builders:Do,printer:{printDocToString:function(e,t){ca={};const n=t.printWidth,r=oa(t.endOfLine);let i=0;const o=[[{value:\"\",length:0,queue:[]},1,e]],a=[];let s=!1,u=[];for(;0!==o.length;){const[e,c,l]=o.pop();if(\"string\"==typeof l)a.push(l),i+=ia(l);else switch(l.type){case\"cursor\":a.push(ua.placeholder);break;case\"concat\":for(let t=l.parts.length-1;t>=0;t--)o.push([e,c,l.parts[t]]);break;case\"indent\":o.push([la(e,t),c,l.contents]);break;case\"align\":o.push([pa(e,l.n,t),c,l.contents]);break;case\"trim\":i-=da(a);break;case\"group\":switch(c){case 2:if(!s){o.push([e,l.break?1:2,l.contents]);break}case 1:{s=!1;const r=[e,2,l.contents],a=n-i;if(!l.break&&ha(r,o,a,t))o.push(r);else if(l.expandedStates){const n=l.expandedStates[l.expandedStates.length-1];if(l.break){o.push([e,1,n]);break}for(let r=1;r<l.expandedStates.length+1;r++){if(r>=l.expandedStates.length){o.push([e,1,n]);break}{const n=[e,2,l.expandedStates[r]];if(ha(n,o,a,t)){o.push(n);break}}}}else o.push([e,1,l.contents]);break}}l.id&&(ca[l.id]=o[o.length-1][1]);break;case\"fill\":{const r=n-i,{parts:a}=l;if(0===a.length)break;const[s,u]=a,p=[e,2,s],f=[e,1,s],d=ha(p,[],r,t,!0);if(1===a.length){d?o.push(p):o.push(f);break}const h=[e,2,u],m=[e,1,u];if(2===a.length){d?(o.push(h),o.push(p)):(o.push(m),o.push(f));break}a.splice(0,2);const g=[e,c,sa(a)],y=a[0];ha([e,2,aa([s,u,y])],[],r,t,!0)?(o.push(g),o.push(h),o.push(p)):d?(o.push(g),o.push(m),o.push(p)):(o.push(g),o.push(m),o.push(f));break}case\"if-break\":{const t=l.groupId?ca[l.groupId]:c;1===t&&l.breakContents&&o.push([e,c,l.breakContents]),2===t&&l.flatContents&&o.push([e,c,l.flatContents]);break}case\"line-suffix\":u.push([e,c,l.contents]);break;case\"line-suffix-boundary\":u.length>0&&o.push([e,c,{type:\"line\",hard:!0}]);break;case\"line\":switch(c){case 2:if(!l.hard){l.soft||(a.push(\" \"),i+=1);break}s=!0;case 1:if(u.length){o.push([e,c,l]),o.push(...u.reverse()),u=[];break}l.literal?e.root?(a.push(r,e.root.value),i=e.root.length):(a.push(r),i=0):(i-=da(a),a.push(r+e.value),i=e.length)}}}const c=a.indexOf(ua.placeholder);if(-1!==c){const e=a.indexOf(ua.placeholder,c+1),t=a.slice(0,c).join(\"\"),n=a.slice(c+1,e).join(\"\");return{formatted:t+n+a.slice(e+1).join(\"\"),cursorNodeStart:t.length,cursorNodeText:n}}return{formatted:a.join(\"\")}}},utils:{isEmpty:function(e){return\"string\"==typeof e&&0===e.length},willBreak:function(e){return va(e,Ea,!1)},isLineNext:function(e){return va(e,ba,!1)},traverseDoc:ga,findInDoc:va,mapDoc:ya,propagateBreaks:function(e){const t=new Set,n=[];ga(e,(function(e){if(\"break-parent\"===e.type&&xa(n),\"group\"===e.type){if(n.push(e),t.has(e))return!1;t.add(e)}}),(function(e){\"group\"===e.type&&n.pop().break&&xa(n)}),!0)},removeLines:function(e){return ya(e,Da)},stripTrailingHardline:function e(t){if(\"concat\"===t.type&&0!==t.parts.length){const n=t.parts[t.parts.length-1];if(\"concat\"===n.type)return 2===n.parts.length&&n.parts[0].hard&&\"break-parent\"===n.parts[1].type?{type:\"concat\",parts:t.parts.slice(0,-1)}:{type:\"concat\",parts:t.parts.slice(0,-1).concat(e(n))}}return t}},debug:{printDocToDebug:e=>wa(Ca(e))}};const{getMaxContinuousCount:ka,getStringWidth:Aa,getAlignmentSize:Ta,getIndentSize:_a,skip:Oa,skipWhitespace:Fa,skipSpaces:Na,skipNewline:Ia,skipToLineEnd:Ma,skipEverythingButNewLine:ja,skipInlineComment:La,skipTrailingComment:Pa,hasNewline:Ra,hasNewlineInRange:Ba,hasSpaces:Ua,isNextLineEmpty:za,isNextLineEmptyAfterIndex:Va,isPreviousLineEmpty:qa,getNextNonSpaceNonCommentCharacterIndex:Ha,makeString:Wa,addLeadingComment:Ga,addDanglingComment:Ka,addTrailingComment:Ja}=na;var Qa={getMaxContinuousCount:ka,getStringWidth:Aa,getAlignmentSize:Ta,getIndentSize:_a,skip:Oa,skipWhitespace:Fa,skipSpaces:Na,skipNewline:Ia,skipToLineEnd:Ma,skipEverythingButNewLine:ja,skipInlineComment:La,skipTrailingComment:Pa,hasNewline:Ra,hasNewlineInRange:Ba,hasSpaces:Ua,isNextLineEmpty:za,isNextLineEmptyAfterIndex:Va,isPreviousLineEmpty:qa,getNextNonSpaceNonCommentCharacterIndex:Ha,makeString:Wa,addLeadingComment:Ga,addDanglingComment:Ka,addTrailingComment:Ja};const{concat:Ya,line:$a,hardline:Xa,breakParent:Za,indent:es,lineSuffix:ts,join:ns,cursor:rs}=Sa.builders,{hasNewline:is,skipNewline:os,isPreviousLineEmpty:as}=na,{addLeadingComment:ss,addDanglingComment:us,addTrailingComment:cs}=Qa,ls=Symbol(\"child-nodes\");function ps(e,t,n){if(!e)return;const{printer:r,locStart:i,locEnd:o}=t;if(n){if(r.canAttachComment&&r.canAttachComment(e)){let t;for(t=n.length-1;t>=0&&!(i(n[t])<=i(e)&&o(n[t])<=o(e));--t);return void n.splice(t+1,0,e)}}else if(e[ls])return e[ls];const a=r.getCommentChildNodes&&r.getCommentChildNodes(e,t)||\"object\"==typeof e&&Object.keys(e).filter(e=>\"enclosingNode\"!==e&&\"precedingNode\"!==e&&\"followingNode\"!==e).map(t=>e[t]);return a?(n||Object.defineProperty(e,ls,{value:n=[],enumerable:!1}),a.forEach(e=>{ps(e,t,n)}),n):void 0}function fs(e,t,n){const r=e.length;if(0===r)return;const{precedingNode:i,followingNode:o,enclosingNode:a}=e[0],s=n.printer.getGapRegex&&n.printer.getGapRegex(a)||/^[\\s(]*$/;let u,c=n.locStart(o);for(u=r;u>0;--u){const r=e[u-1];ho.strictEqual(r.precedingNode,i),ho.strictEqual(r.followingNode,o);const a=t.slice(n.locEnd(r),c);if(!s.test(a))break;c=n.locStart(r)}e.forEach((e,t)=>{t<u?cs(i,e):ss(o,e)}),e.length=0}function ds(e,t){return e.getValue().printed=!0,t.printer.printComment(e,t)}function hs(e,t,n){const r=n.locStart(t)-1;for(let t=1;t<e.length;++t)if(r<(i=e[t],void 0!==i.start?{start:i.start,end:i.end}:{start:i.range[0],end:i.range[1]}).start)return t-1;var i;return 0}function ms(e,t,n){return e.getNode()===t.cursorNode&&e.getValue()?Ya([rs,n,rs]):n}var gs={attach:function(e,t,n,r){if(!Array.isArray(e))return;const i=[],{locStart:o,locEnd:a}=r;e.forEach((s,u)=>{if(\"json\"===r.parser||\"json5\"===r.parser||\"__js_expression\"===r.parser||\"__vue_expression\"===r.parser){if(o(s)-o(t)<=0)return void ss(t,s);if(a(s)-a(t)>=0)return void cs(t,s)}!function e(t,n,r){const{locStart:i,locEnd:o}=r,a=ps(t,r);let s,u,c=0,l=a.length;for(;c<l;){const t=c+l>>1,p=a[t];if(i(p)-i(n)<=0&&o(n)-o(p)<=0)return n.enclosingNode=p,void e(p,n,r);if(o(p)-i(n)<=0)s=p,c=t+1;else{if(!(o(n)-i(p)<=0))throw new Error(\"Comment location overlaps with node location\");u=p,l=t}}if(n.enclosingNode&&\"TemplateLiteral\"===n.enclosingNode.type){const{quasis:e}=n.enclosingNode,t=hs(e,n,r);s&&hs(e,s,r)!==t&&(s=null),u&&hs(e,u,r)!==t&&(u=null)}s&&(n.precedingNode=s),u&&(n.followingNode=u)}(t,s,r);const{precedingNode:c,enclosingNode:l,followingNode:p}=s,f=r.printer.handleComments&&r.printer.handleComments.ownLine?r.printer.handleComments.ownLine:()=>!1,d=r.printer.handleComments&&r.printer.handleComments.endOfLine?r.printer.handleComments.endOfLine:()=>!1,h=r.printer.handleComments&&r.printer.handleComments.remaining?r.printer.handleComments.remaining:()=>!1,m=e.length-1===u;if(is(n,o(s),{backwards:!0}))f(s,n,r,t,m)||(p?ss(p,s):c?cs(c,s):us(l||t,s));else if(is(n,a(s)))d(s,n,r,t,m)||(c?cs(c,s):p?ss(p,s):us(l||t,s));else if(h(s,n,r,t,m));else if(c&&p){const e=i.length;e>0&&i[e-1].followingNode!==s.followingNode&&fs(i,n,r),i.push(s)}else c?cs(c,s):p?ss(p,s):us(l||t,s)}),fs(i,n,r),e.forEach(e=>{delete e.precedingNode,delete e.enclosingNode,delete e.followingNode})},printComments:function(e,t,n,r){const i=e.getValue(),o=t(e),a=i&&i.comments;if(!a||0===a.length)return ms(e,n,o);const s=[],u=[r?\";\":\"\",o];return e.each(e=>{const t=e.getValue(),{leading:r,trailing:i}=t;if(r){const r=function(e,t,n){const r=e.getValue(),i=ds(e,n);if(!i)return\"\";if(n.printer.isBlockComment&&n.printer.isBlockComment(r)){const e=is(n.originalText,n.locEnd(r))?is(n.originalText,n.locStart(r),{backwards:!0})?Xa:$a:\" \";return Ya([i,e])}return Ya([i,Xa])}(e,0,n);if(!r)return;s.push(r);const i=n.originalText,o=os(i,n.locEnd(t));!1!==o&&is(i,o)&&s.push(Xa)}else i&&u.push(function(e,t,n){const r=e.getValue(),i=ds(e,n);if(!i)return\"\";const o=n.printer.isBlockComment&&n.printer.isBlockComment(r),a=e.getNode(1),s=e.getNode(2),u=s&&(\"ClassDeclaration\"===s.type||\"ClassExpression\"===s.type)&&s.superClass===a;if(is(n.originalText,n.locStart(r),{backwards:!0})){const e=as(n.originalText,r,n.locStart);return ts(Ya([Xa,e?Xa:\"\",i]))}return Ya(o||u?[\" \",i]:[ts(Ya([\" \",i])),o?\"\":Za])}(e,0,n))},\"comments\"),ms(e,n,Ya(s.concat(u)))},printDanglingComments:function(e,t,n,r){const i=[],o=e.getValue();return o&&o.comments?(e.each(e=>{const n=e.getValue();!n||n.leading||n.trailing||r&&!r(n)||i.push(ds(e,t))},\"comments\"),0===i.length?\"\":n?ns(Xa,i):es(Ya([Xa,ns(Xa,i)]))):\"\"},getSortedChildNodes:ps};function ys(e,t){const n=vs(e.stack,t);return-1===n?null:e.stack[n]}function vs(e,t){for(let n=e.length-1;n>=0;n-=2){const r=e[n];if(r&&!Array.isArray(r)&&--t<0)return n}return-1}var bs=class{constructor(e){this.stack=[e]}getName(){const{stack:e}=this,{length:t}=e;return t>1?e[t-2]:null}getValue(){return gi(this.stack)}getNode(e=0){return ys(this,e)}getParentNode(e=0){return ys(this,e+1)}call(e,...t){const{stack:n}=this,{length:r}=n;let i=gi(n);for(const e of t)i=i[e],n.push(e,i);const o=e(this);return n.length=r,o}callParent(e,t=0){const n=vs(this.stack,t+1),r=this.stack.splice(n+1),i=e(this);return this.stack.push(...r),i}each(e,...t){const{stack:n}=this,{length:r}=n;let i=gi(n);for(const e of t)i=i[e],n.push(e,i);for(let t=0;t<i.length;++t)t in i&&(n.push(t,i[t]),e(this),n.length-=2);n.length=r}map(e,...t){const{stack:n}=this,{length:r}=n;let i=gi(n);for(const e of t)i=i[e],n.push(e,i);const o=new Array(i.length);for(let t=0;t<i.length;++t)t in i&&(n.push(t,i[t]),o[t]=e(this,t),n.length-=2);return n.length=r,o}match(...e){let t=this.stack.length-1,n=null,r=this.stack[t--];for(const i of e){if(void 0===r)return!1;let e=null;if(\"number\"==typeof n&&(e=n,n=this.stack[t--],r=this.stack[t--]),i&&!i(r,n,e))return!1;n=this.stack[t--],r=this.stack[t--]}return!0}};const{normalize:Es}=po;var xs={printSubtree:function(e,t,n,r){if(n.printer.embed)return n.printer.embed(e,t,(e,t)=>function(e,t,n,r){const i=Es(Object.assign({},n,{},t,{parentParser:n.parser,embeddedInHtml:!(!n.embeddedInHtml&&\"html\"!==n.parser&&\"vue\"!==n.parser&&\"angular\"!==n.parser&&\"lwc\"!==n.parser),originalText:e}),{passThrough:!0}),o=oo.parse(e,i),{ast:a}=o;e=o.text;const s=a.comments;return delete a.comments,gs.attach(s,a,e,i),r(a,i)}(e,t,n,r),n)}};const Ds=Sa,Cs=Ds.builders,{concat:ws,hardline:Ss,addAlignmentToDoc:ks}=Cs,As=Ds.utils;function Ts(e,t,n=0){const{printer:r}=t;r.preprocess&&(e=r.preprocess(e,t));const i=new Map;let o=function e(n,o){const a=n.getValue(),s=a&&\"object\"==typeof a&&void 0===o;if(s&&i.has(a))return i.get(a);let u;return u=r.willPrintOwnComments&&r.willPrintOwnComments(n,t)?_s(n,t,e,o):gs.printComments(n,n=>_s(n,t,e,o),t,o&&o.needsSemi),s&&i.set(a,u),u}(new bs(e));return n>0&&(o=ks(ws([Ss,o]),n,t.tabWidth)),As.propagateBreaks(o),o}function _s(e,t,n,r){ho.ok(e instanceof bs);const i=e.getValue(),{printer:o}=t;if(o.hasPrettierIgnore&&o.hasPrettierIgnore(e))return t.originalText.slice(t.locStart(i),t.locEnd(i));if(i)try{const r=xs.printSubtree(e,n,t,Ts);if(r)return r}catch(e){if(Qe.PRETTIER_DEBUG)throw e}return o.print(e,t,n,r)}var Os=Ts;function Fs(e,t,n,r,i){r=r||(()=>!0),i=i||[];const o=n.locStart(e,n.locStart),a=n.locEnd(e,n.locEnd);if(o<=t&&t<=a){for(const o of gs.getSortedChildNodes(e,n)){const a=Fs(o,t,n,r,[e].concat(i));if(a)return a}if(r(e))return{node:e,parentNodes:i}}}function Ns(e,t){if(null==t)return!1;const n=[\"FunctionDeclaration\",\"BlockStatement\",\"BreakStatement\",\"ContinueStatement\",\"DebuggerStatement\",\"DoWhileStatement\",\"EmptyStatement\",\"ExpressionStatement\",\"ForInStatement\",\"ForStatement\",\"IfStatement\",\"LabeledStatement\",\"ReturnStatement\",\"SwitchStatement\",\"ThrowStatement\",\"TryStatement\",\"VariableDeclaration\",\"WhileStatement\",\"WithStatement\",\"ClassDeclaration\",\"ImportDeclaration\",\"ExportDefaultDeclaration\",\"ExportNamedDeclaration\",\"ExportAllDeclaration\",\"TypeAlias\",\"InterfaceDeclaration\",\"TypeAliasDeclaration\",\"ExportAssignment\",\"ExportDeclaration\"],r=[\"ObjectExpression\",\"ArrayExpression\",\"StringLiteral\",\"NumericLiteral\",\"BooleanLiteral\",\"NullLiteral\"],i=[\"OperationDefinition\",\"FragmentDefinition\",\"VariableDefinition\",\"TypeExtensionDefinition\",\"ObjectTypeDefinition\",\"FieldDefinition\",\"DirectiveDefinition\",\"EnumTypeDefinition\",\"EnumValueDefinition\",\"InputValueDefinition\",\"InputObjectTypeDefinition\",\"SchemaDefinition\",\"OperationTypeDefinition\",\"InterfaceTypeDefinition\",\"UnionTypeDefinition\",\"ScalarTypeDefinition\"];switch(e.parser){case\"flow\":case\"babel\":case\"babel-flow\":case\"babel-ts\":case\"typescript\":return n.includes(t.type);case\"json\":return r.includes(t.type);case\"graphql\":return i.includes(t.kind);case\"vue\":return\"root\"!==t.tag}return!1}var Is={calculateRange:function(e,t,n){const r=e.slice(t.rangeStart,t.rangeEnd),i=Math.max(t.rangeStart+r.search(/\\S/),t.rangeStart);let o;for(o=t.rangeEnd;o>t.rangeStart&&!e[o-1].match(/\\S/);--o);const a=Fs(n,i,t,e=>Ns(t,e)),s=Fs(n,o,t,e=>Ns(t,e));if(!a||!s)return{rangeStart:0,rangeEnd:0};const u=function(e,t,n){let r=e.node,i=t.node;if(r===i)return{startNode:r,endNode:i};for(const r of t.parentNodes){if(!(\"Program\"!==r.type&&\"File\"!==r.type&&n.locStart(r)>=n.locStart(e.node)))break;i=r}for(const i of e.parentNodes){if(!(\"Program\"!==i.type&&\"File\"!==i.type&&n.locEnd(i)<=n.locEnd(t.node)))break;r=i}return{startNode:r,endNode:i}}(a,s,t),{startNode:c,endNode:l}=u;return{rangeStart:Math.min(t.locStart(c,t.locStart),t.locStart(l,t.locStart)),rangeEnd:Math.max(t.locEnd(c,t.locEnd),t.locEnd(l,t.locEnd))}},findNodeAtOffset:Fs},Ms=Xe(J);const js=po.normalize,{guessEndOfLine:Ls,convertEndOfLineToChars:Ps}=ra,{utils:{mapDoc:Rs},printer:{printDocToString:Bs},debug:{printDocToDebug:Us}}=Sa,zs=Symbol(\"cursor\"),Vs={cursorOffset:\"<<<PRETTIER_CURSOR>>>\",rangeStart:\"<<<PRETTIER_RANGE_START>>>\",rangeEnd:\"<<<PRETTIER_RANGE_END>>>\"};function qs(e,t,n){const r=t.comments;return r&&(delete t.comments,gs.attach(r,t,e,n)),t.tokens=[],n.originalText=\"yaml\"===n.parser?e:e.trimEnd(),r}function Hs(e,t,n){if(!e||!e.trim().length)return{formatted:\"\",cursorOffset:0};n=n||0;const r=oo.parse(e,t),{ast:i}=r;if(e=r.text,t.cursorOffset>=0){const e=Is.findNodeAtOffset(i,t.cursorOffset,t);e&&e.node&&(t.cursorNode=e.node)}const o=qs(e,i,t),a=Os(i,t,n),s=Ps(t.endOfLine),u=Bs(\"lf\"===t.endOfLine?a:Rs(a,e=>\"string\"==typeof e&&e.includes(\"\\n\")?e.replace(/\\n/g,s):e),t);if(function(e){if(e){for(let t=0;t<e.length;++t)if(na.isNodeIgnoreComment(e[t]))return;e.forEach(e=>{if(!e.printed)throw new Error('Comment \"'+e.value.trim()+'\" was not printed. Please report this error!');delete e.printed})}}(o),n>0){const e=u.formatted.trim();void 0!==u.cursorNodeStart&&(u.cursorNodeStart-=u.formatted.indexOf(e)),u.formatted=e+Ps(t.endOfLine)}if(t.cursorOffset>=0){let n,r,i,o,a;if(t.cursorNode&&u.cursorNodeText?(n=t.locStart(t.cursorNode),r=e.slice(n,t.locEnd(t.cursorNode)),i=t.cursorOffset-n,o=u.cursorNodeStart,a=u.cursorNodeText):(n=0,r=e,i=t.cursorOffset,o=0,a=u.formatted),r===a)return{formatted:u.formatted,cursorOffset:o+i};const s=r.split(\"\");s.splice(i,0,zs);const c=a.split(\"\"),l=Ms.diffArrays(s,c);let p=o;for(const e of l)if(e.removed){if(e.value.includes(zs))break}else p+=e.count;return{formatted:u.formatted,cursorOffset:p}}return{formatted:u.formatted}}function Ws(e,t){const n=oo.resolveParser(t),r=!n.hasPragma||n.hasPragma(e);if(t.requirePragma&&!r)return{formatted:e};\"auto\"===t.endOfLine&&(t.endOfLine=Ls(e));const i=t.cursorOffset>=0,o=t.rangeStart>0,a=t.rangeEnd<e.length;if(e.includes(\"\\r\")){const n=[i&&\"cursorOffset\",o&&\"rangeStart\",a&&\"rangeEnd\"].filter(Boolean).sort((e,n)=>t[e]-t[n]);for(let r=n.length-1;r>=0;r--){const i=n[r];e=e.slice(0,t[i])+Vs[i]+e.slice(t[i])}e=e.replace(/\\r\\n?/g,\"\\n\");for(let r=0;r<n.length;r++){const i=n[r];e=e.replace(Vs[i],(e,n)=>(t[i]=n,\"\"))}}const s=\"\\ufeff\"===e.charAt(0);s&&(e=e.slice(1),i&&t.cursorOffset++,o&&t.rangeStart++,a&&t.rangeEnd++),i||(t.cursorOffset=-1),t.rangeStart<0&&(t.rangeStart=0),t.rangeEnd>e.length&&(t.rangeEnd=e.length);const u=o||a?function(e,t){const n=oo.parse(e,t),{ast:r}=n;e=n.text;const i=Is.calculateRange(e,t,r),{rangeStart:o,rangeEnd:a}=i,s=e.slice(o,a),u=Math.min(o,e.lastIndexOf(\"\\n\",o)+1),c=e.slice(u,o),l=na.getAlignmentSize(c,t.tabWidth),p=Hs(s,Object.assign({},t,{rangeStart:0,rangeEnd:1/0,cursorOffset:t.cursorOffset>=o&&t.cursorOffset<a?t.cursorOffset-o:-1}),l),f=p.formatted.trimEnd(),d=e.slice(0,o),h=e.slice(a);let m,{cursorOffset:g}=t;if(t.cursorOffset>=a?g=t.cursorOffset-a+(o+f.length):void 0!==p.cursorOffset&&(g=p.cursorOffset+o),\"lf\"===t.endOfLine)m=d+f+h;else{const e=Ps(t.endOfLine);if(g>=0){const t=[d,f,h];let n=0,r=g;for(;n<t.length;){const e=t[n];if(r<e.length){t[n]=t[n].slice(0,r)+Vs.cursorOffset+t[n].slice(r);break}n++,r-=e.length}const[i,o,a]=t;m=(i.replace(/\\n/g,e)+o+a.replace(/\\n/g,e)).replace(Vs.cursorOffset,(e,t)=>(g=t,\"\"))}else m=d.replace(/\\n/g,e)+f+h.replace(/\\n/g,e)}return{formatted:m,cursorOffset:g}}(e,t):Hs(t.insertPragma&&t.printer.insertPragma&&!r?t.printer.insertPragma(e):e,t);return s&&(u.formatted=\"\\ufeff\"+u.formatted,i&&u.cursorOffset++),u}var Gs={formatWithCursor:(e,t)=>Ws(e,t=js(t)),parse(e,t,n){t=js(t),e.includes(\"\\r\")&&(e=e.replace(/\\r\\n?/g,\"\\n\"));const r=oo.parse(e,t);return n&&(r.ast=fo(r.ast,t)),r},formatAST(e,t){t=js(t);const n=Os(e,t);return Bs(n,t)},formatDoc:(e,t)=>Ws(Us(e),t=js(Object.assign({},t,{parser:\"babel\"}))).formatted,printToDoc(e,t){t=js(t);const n=oo.parse(e,t),{ast:r}=n;return qs(e=n.text,r,t),Os(r,t)},printDocToString:(e,t)=>Bs(e,js(t))},Ks=function(e,t,n){if([\"raw\",\"raws\",\"sourceIndex\",\"source\",\"before\",\"after\",\"trailingComma\"].forEach(e=>{delete t[e]}),\"yaml\"===e.type&&delete t.value,\"css-comment\"===e.type&&\"css-root\"===n.type&&0!==n.nodes.length&&(n.nodes[0]===e||(\"yaml\"===n.nodes[0].type||\"toml\"===n.nodes[0].type)&&n.nodes[1]===e)&&(delete t.text,/^\\*\\s*@(format|prettier)\\s*$/.test(e.text)))return null;if(\"media-query\"!==e.type&&\"media-query-list\"!==e.type&&\"media-feature-expression\"!==e.type||delete t.value,\"css-rule\"===e.type&&delete t.params,\"selector-combinator\"===e.type&&(t.value=t.value.replace(/\\s+/g,\" \")),\"media-feature\"===e.type&&(t.value=t.value.replace(/ /g,\"\")),(\"value-word\"===e.type&&(e.isColor&&e.isHex||[\"initial\",\"inherit\",\"unset\",\"revert\"].includes(t.value.replace().toLowerCase()))||\"media-feature\"===e.type||\"selector-root-invalid\"===e.type||\"selector-pseudo\"===e.type)&&(t.value=t.value.toLowerCase()),\"css-decl\"===e.type&&(t.prop=t.prop.toLowerCase()),\"css-atrule\"!==e.type&&\"css-import\"!==e.type||(t.name=t.name.toLowerCase()),\"value-number\"===e.type&&(t.unit=t.unit.toLowerCase()),\"media-feature\"!==e.type&&\"media-keyword\"!==e.type&&\"media-type\"!==e.type&&\"media-unknown\"!==e.type&&\"media-url\"!==e.type&&\"media-value\"!==e.type&&\"selector-attribute\"!==e.type&&\"selector-string\"!==e.type&&\"selector-class\"!==e.type&&\"selector-combinator\"!==e.type&&\"value-string\"!==e.type||!t.value||(t.value=t.value.replace(/'/g,'\"').replace(/\\\\([^a-fA-F\\d])/g,\"$1\")),\"selector-attribute\"===e.type&&(t.attribute=t.attribute.trim(),t.namespace&&\"string\"==typeof t.namespace&&(t.namespace=t.namespace.trim(),0===t.namespace.length&&(t.namespace=!0)),t.value&&(t.value=t.value.trim().replace(/^['\"]|['\"]$/g,\"\"),delete t.quoted)),\"media-value\"!==e.type&&\"media-type\"!==e.type&&\"value-number\"!==e.type&&\"selector-root-invalid\"!==e.type&&\"selector-class\"!==e.type&&\"selector-combinator\"!==e.type&&\"selector-tag\"!==e.type||!t.value||(t.value=t.value.replace(/([\\d.eE+-]+)([a-zA-Z]*)/g,(e,t,n)=>{const r=Number(t);return isNaN(r)?e:r+n.toLowerCase()})),\"selector-tag\"===e.type){const n=e.value.toLowerCase();[\"from\",\"to\"].includes(n)&&(t.value=n)}\"css-atrule\"===e.type&&\"supports\"===e.name.toLowerCase()&&delete t.value,\"selector-unknown\"===e.type&&delete t.value};const{builders:{hardline:Js,literalline:Qs,concat:Ys,markAsRoot:$s},utils:{mapDoc:Xs}}=Sa;var Zs=function(e,t,n){const r=e.getValue();return\"yaml\"===r.type?$s(Ys([\"---\",Js,r.value.trim()?function(e){return Xs(e,e=>\"string\"==typeof e&&e.includes(\"\\n\")?Ys(e.split(/(\\n)/g).map((e,t)=>t%2==0?e:Qs)):e)}(n(r.value,{parser:\"yaml\"})):\"\",\"---\",Js])):null};const eu=e=>{if(\"string\"!=typeof e)throw new TypeError(\"Expected a string\");const t=e.match(/(?:\\r?\\n)/g)||[];if(0===t.length)return;const n=t.filter(e=>\"\\r\\n\"===e).length;return n>t.length-n?\"\\r\\n\":\"\\n\"};var tu=eu;tu.graceful=e=>\"string\"==typeof e&&eu(e)||\"\\n\";var nu=$e((function(e,t){function n(){const e=An;return n=function(){return e},e}function r(){const e=(t=tu)&&t.__esModule?t:{default:t};var t;return r=function(){return e},e}Object.defineProperty(t,\"__esModule\",{value:!0}),t.extract=function(e){const t=e.match(a);return t?t[0].trimLeft():\"\"},t.strip=function(e){const t=e.match(a);return t&&t[0]?e.substring(t[0].length):e},t.parse=function(e){return f(e).pragmas},t.parseWithComments=f,t.print=function({comments:e=\"\",pragmas:t={}}){const i=(0,r().default)(e)||n().EOL,o=Object.keys(t),a=o.map(e=>d(e,t[e])).reduce((e,t)=>e.concat(t),[]).map(e=>\" * \"+e+i).join(\"\");if(!e){if(0===o.length)return\"\";if(1===o.length&&!Array.isArray(t[o[0]])){const e=t[o[0]];return\"\".concat(\"/**\",\" \").concat(d(o[0],e)[0]).concat(\" */\")}}const s=e.split(i).map(e=>\"\".concat(\" *\",\" \").concat(e)).join(i)+i;return\"/**\"+i+(e?s:\"\")+(e&&o.length?\" *\"+i:\"\")+a+\" */\"};const i=/\\*\\/$/,o=/^\\/\\*\\*/,a=/^\\s*(\\/\\*\\*?(.|\\r?\\n)*?\\*\\/)/,s=/(^|\\s+)\\/\\/([^\\r\\n]*)/g,u=/^(\\r?\\n)+/,c=/(?:^|\\r?\\n) *(@[^\\r\\n]*?) *\\r?\\n *(?![^@\\r\\n]*\\/\\/[^]*)([^@\\r\\n\\s][^@\\r\\n]+?) *\\r?\\n/g,l=/(?:^|\\r?\\n) *@(\\S+) *([^\\r\\n]*)/g,p=/(\\r?\\n|^) *\\* ?/g;function f(e){const t=(0,r().default)(e)||n().EOL;e=e.replace(o,\"\").replace(i,\"\").replace(p,\"$1\");let a=\"\";for(;a!==e;)a=e,e=e.replace(c,\"\".concat(t,\"$1 $2\").concat(t));e=e.replace(u,\"\").trimRight();const f=Object.create(null),d=e.replace(l,\"\").replace(u,\"\").trimRight();let h;for(;h=l.exec(e);){const e=h[2].replace(s,\"\");\"string\"==typeof f[h[1]]||Array.isArray(f[h[1]])?f[h[1]]=[].concat(f[h[1]],e):f[h[1]]=e}return{comments:d,pragmas:f}}function d(e,t){return[].concat(t).map(t=>\"@\".concat(e,\" \").concat(t).trim())}}));Ye(nu),nu.extract,nu.strip,nu.parse,nu.parseWithComments,nu.print;var ru={hasPragma:function(e){const t=Object.keys(nu.parse(nu.extract(e)));return t.includes(\"prettier\")||t.includes(\"format\")},insertPragma:function(e){const t=nu.parseWithComments(nu.extract(e)),n=Object.assign({format:\"\"},t.pragmas),r=nu.print({pragmas:n,comments:t.comments.replace(/^(\\s+?\\r?\\n)+/,\"\")}).replace(/(\\r\\n|\\r)/g,\"\\n\"),i=nu.strip(e);return r+(i.startsWith(\"\\n\")?\"\\n\":\"\\n\\n\")+i}};const iu={\"---\":\"yaml\",\"+++\":\"toml\"};var ou=function(e){const t=Object.keys(iu).map(Fo).join(\"|\"),n=e.match(new RegExp(\"^(\".concat(t,\")[^\\\\n\\\\S]*\\\\n(?:([\\\\s\\\\S]*?)\\\\n)?\\\\1[^\\\\n\\\\S]*(\\\\n|$)\")));if(null===n)return{frontMatter:null,content:e};const[r,i,o]=n;return{frontMatter:{type:iu[i],value:o,raw:r.replace(/\\n$/,\"\")},content:r.replace(/[^\\n]/g,\" \")+e.slice(r.length)}},au={hasPragma:function(e){return ru.hasPragma(ou(e).content)},insertPragma:function(e){const{frontMatter:t,content:n}=ou(e);return(t?t.raw+\"\\n\\n\":\"\")+ru.insertPragma(n)}},su=function(e,t){let n=0;for(let r=0;r<e.line-1;++r)if(n=t.indexOf(\"\\n\",n)+1,-1===n)return-1;return n+e.column};const{getLast:uu,skipEverythingButNewLine:cu}=na;var lu={calculateLoc:function e(t,n){if(t&&\"object\"==typeof t){t.source&&(t.source.startOffset=function(e,t){return e.source?su(e.source.start,t)-1:null}(t,n),t.source.endOffset=function(e,t){if(\"css-comment\"===e.type&&e.inline)return cu(t,e.source.startOffset);const n=e.nodes&&uu(e.nodes);return n&&e.source&&!e.source.end&&(e=n),e.source&&e.source.end?su(e.source.end,t):null}(t,n));for(const r in t)e(t[r],n)}},replaceQuotesInInlineComments:function(e){let t,n=\"initial\",r=\"initial\",i=!1;const o=[];for(let a=0;a<e.length;a++){const s=e[a];switch(n){case\"initial\":if(\"'\"===s){n=\"single-quotes\";continue}if('\"'===s){n=\"double-quotes\";continue}if((\"u\"===s||\"U\"===s)&&\"url(\"===e.slice(a,a+4).toLowerCase()){n=\"url\",a+=3;continue}if(\"*\"===s&&\"/\"===e[a-1]){n=\"comment-block\";continue}if(\"/\"===s&&\"/\"===e[a-1]){n=\"comment-inline\",t=a-1;continue}continue;case\"single-quotes\":if(\"'\"===s&&\"\\\\\"!==e[a-1]&&(n=r,r=\"initial\"),\"\\n\"===s||\"\\r\"===s)return e;continue;case\"double-quotes\":if('\"'===s&&\"\\\\\"!==e[a-1]&&(n=r,r=\"initial\"),\"\\n\"===s||\"\\r\"===s)return e;continue;case\"url\":if(\")\"===s&&(n=\"initial\"),\"\\n\"===s||\"\\r\"===s)return e;if(\"'\"===s){n=\"single-quotes\",r=\"url\";continue}if('\"'===s){n=\"double-quotes\",r=\"url\";continue}continue;case\"comment-block\":\"/\"===s&&\"*\"===e[a-1]&&(n=\"initial\");continue;case\"comment-inline\":'\"'!==s&&\"'\"!==s||(i=!0),\"\\n\"!==s&&\"\\r\"!==s||(i&&o.push([t,a]),n=\"initial\",i=!1);continue}}for(const[t,n]of o)e=e.slice(0,t)+e.slice(t,n).replace(/'/g,\"￾\").replace(/\"/g,\"￿\")+e.slice(n);return e},restoreQuotesInInlineComments:function(e){return e.replace(/\\ufffe/g,\"'\").replace(/\\uffff/g,'\"')}};const pu=[\"red\",\"green\",\"blue\",\"alpha\",\"a\",\"rgb\",\"hue\",\"h\",\"saturation\",\"s\",\"lightness\",\"l\",\"whiteness\",\"w\",\"blackness\",\"b\",\"tint\",\"shade\",\"blend\",\"blenda\",\"contrast\",\"hsl\",\"hsla\",\"hwb\",\"hwba\"];function fu(e,t){const n=[].concat(t);let r,i=-1;for(;r=e.getParentNode(++i);)if(n.includes(r.type))return i;return-1}function du(e,t){const n=fu(e,t);return-1===n?null:e.getParentNode(n)}function hu(e){return\"value-operator\"===e.type&&\"*\"===e.value}function mu(e){return\"value-operator\"===e.type&&\"/\"===e.value}function gu(e){return\"value-operator\"===e.type&&\"+\"===e.value}function yu(e){return\"value-operator\"===e.type&&\"-\"===e.value}function vu(e){return\"value-operator\"===e.type&&\"%\"===e.value}function bu(e){return\"value-comma_group\"===e.type&&e.groups&&e.groups[1]&&\"value-colon\"===e.groups[1].type}function Eu(e){return\"value-paren_group\"===e.type&&e.groups&&e.groups[0]&&bu(e.groups[0])}var xu={getAncestorCounter:fu,getAncestorNode:du,getPropOfDeclNode:function(e){const t=du(e,\"css-decl\");return t&&t.prop&&t.prop.toLowerCase()},maybeToLowerCase:function(e){return e.includes(\"$\")||e.includes(\"@\")||e.includes(\"#\")||e.startsWith(\"%\")||e.startsWith(\"--\")||e.startsWith(\":--\")||e.includes(\"(\")&&e.includes(\")\")?e:e.toLowerCase()},insideValueFunctionNode:function(e,t){const n=du(e,\"value-func\");return n&&n.value&&n.value.toLowerCase()===t},insideICSSRuleNode:function(e){const t=du(e,\"css-rule\");return t&&t.raws&&t.raws.selector&&(t.raws.selector.startsWith(\":import\")||t.raws.selector.startsWith(\":export\"))},insideAtRuleNode:function(e,t){const n=[].concat(t),r=du(e,\"css-atrule\");return r&&n.includes(r.name.toLowerCase())},insideURLFunctionInImportAtRuleNode:function(e){const t=e.getValue(),n=du(e,\"css-atrule\");return n&&\"import\"===n.name&&\"url\"===t.groups[0].value&&2===t.groups.length},isKeyframeAtRuleKeywords:function(e,t){const n=du(e,\"css-atrule\");return n&&n.name&&n.name.toLowerCase().endsWith(\"keyframes\")&&[\"from\",\"to\"].includes(t.toLowerCase())},isWideKeywords:function(e){return[\"initial\",\"inherit\",\"unset\",\"revert\"].includes(e.toLowerCase())},isSCSS:function(e,t){return\"less\"===e||\"scss\"===e?\"scss\"===e:/(\\w\\s*: [^}:]+|#){|@import[^\\n]+(url|,)/.test(t)},isLastNode:function(e,t){const n=e.getParentNode();if(!n)return!1;const{nodes:r}=n;return r&&r.indexOf(t)===r.length-1},isLessParser:function(e){return\"css\"===e.parser||\"less\"===e.parser},isSCSSControlDirectiveNode:function(e){return\"css-atrule\"===e.type&&[\"if\",\"else\",\"for\",\"each\",\"while\"].includes(e.name)},isDetachedRulesetDeclarationNode:function(e){return!!e.selector&&(\"string\"==typeof e.selector&&/^@.+:.*$/.test(e.selector)||e.selector.value&&/^@.+:.*$/.test(e.selector.value))},isRelationalOperatorNode:function(e){return\"value-word\"===e.type&&[\"<\",\">\",\"<=\",\">=\"].includes(e.value)},isEqualityOperatorNode:function(e){return\"value-word\"===e.type&&[\"==\",\"!=\"].includes(e.value)},isMultiplicationNode:hu,isDivisionNode:mu,isAdditionNode:gu,isSubtractionNode:yu,isModuloNode:vu,isMathOperatorNode:function(e){return hu(e)||mu(e)||gu(e)||yu(e)||vu(e)},isEachKeywordNode:function(e){return\"value-word\"===e.type&&\"in\"===e.value},isForKeywordNode:function(e){return\"value-word\"===e.type&&[\"from\",\"through\",\"end\"].includes(e.value)},isURLFunctionNode:function(e){return\"value-func\"===e.type&&\"url\"===e.value.toLowerCase()},isIfElseKeywordNode:function(e){return\"value-word\"===e.type&&[\"and\",\"or\",\"not\"].includes(e.value)},hasComposesNode:function(e){return e.value&&\"value-root\"===e.value.type&&e.value.group&&\"value-value\"===e.value.group.type&&\"composes\"===e.prop.toLowerCase()},hasParensAroundNode:function(e){return e.value&&e.value.group&&e.value.group.group&&\"value-paren_group\"===e.value.group.group.type&&null!==e.value.group.group.open&&null!==e.value.group.group.close},hasEmptyRawBefore:function(e){return e.raws&&\"\"===e.raws.before},isSCSSNestedPropertyNode:function(e){return!!e.selector&&e.selector.replace(/\\/\\*.*?\\*\\//,\"\").replace(/\\/\\/.*?\\n/,\"\").trim().endsWith(\":\")},isDetachedRulesetCallNode:function(e){return e.raws&&e.raws.params&&/^\\(\\s*\\)$/.test(e.raws.params)},isTemplatePlaceholderNode:function(e){return e.name.startsWith(\"prettier-placeholder\")},isTemplatePropNode:function(e){return e.prop.startsWith(\"@prettier-placeholder\")},isPostcssSimpleVarNode:function(e,t){return\"$$\"===e.value&&\"value-func\"===e.type&&t&&\"value-word\"===t.type&&!t.raws.before},isKeyValuePairNode:bu,isKeyValuePairInParenGroupNode:Eu,isSCSSMapItemNode:function(e){const t=e.getValue();if(0===t.groups.length)return!1;const n=e.getParentNode(1);if(!(Eu(t)||n&&Eu(n)))return!1;const r=du(e,\"css-decl\");return!!(r&&r.prop&&r.prop.startsWith(\"$\"))||!!Eu(n)||\"value-func\"===n.type},isInlineValueCommentNode:function(e){return\"value-comment\"===e.type&&e.inline},isHashNode:function(e){return\"value-word\"===e.type&&\"#\"===e.value},isLeftCurlyBraceNode:function(e){return\"value-word\"===e.type&&\"{\"===e.value},isRightCurlyBraceNode:function(e){return\"value-word\"===e.type&&\"}\"===e.value},isWordNode:function(e){return[\"value-word\",\"value-atword\"].includes(e.type)},isColonNode:function(e){return\"value-colon\"===e.type},isMediaAndSupportsKeywords:function(e){return e.value&&[\"not\",\"and\",\"or\"].includes(e.value.toLowerCase())},isColorAdjusterFuncNode:function(e){return\"value-func\"===e.type&&pu.includes(e.value.toLowerCase())},lastLineHasInlineComment:function(e){return/\\/\\//.test(e.split(/[\\r\\n]/).pop())}};const{insertPragma:Du}=au,{printNumber:Cu,printString:wu,hasIgnoreComment:Su,hasNewline:ku}=na,{isNextLineEmpty:Au}=Qa,{restoreQuotesInInlineComments:Tu}=lu,{builders:{concat:_u,join:Ou,line:Fu,hardline:Nu,softline:Iu,group:Mu,fill:ju,indent:Lu,dedent:Pu,ifBreak:Ru},utils:{removeLines:Bu}}=Sa,{getAncestorNode:Uu,getPropOfDeclNode:zu,maybeToLowerCase:Vu,insideValueFunctionNode:qu,insideICSSRuleNode:Hu,insideAtRuleNode:Wu,insideURLFunctionInImportAtRuleNode:Gu,isKeyframeAtRuleKeywords:Ku,isWideKeywords:Ju,isSCSS:Qu,isLastNode:Yu,isLessParser:$u,isSCSSControlDirectiveNode:Xu,isDetachedRulesetDeclarationNode:Zu,isRelationalOperatorNode:ec,isEqualityOperatorNode:tc,isMultiplicationNode:nc,isDivisionNode:rc,isAdditionNode:ic,isSubtractionNode:oc,isMathOperatorNode:ac,isEachKeywordNode:sc,isForKeywordNode:uc,isURLFunctionNode:cc,isIfElseKeywordNode:lc,hasComposesNode:pc,hasParensAroundNode:fc,hasEmptyRawBefore:dc,isKeyValuePairNode:hc,isDetachedRulesetCallNode:mc,isTemplatePlaceholderNode:gc,isTemplatePropNode:yc,isPostcssSimpleVarNode:vc,isSCSSMapItemNode:bc,isInlineValueCommentNode:Ec,isHashNode:xc,isLeftCurlyBraceNode:Dc,isRightCurlyBraceNode:Cc,isWordNode:wc,isColonNode:Sc,isMediaAndSupportsKeywords:kc,isColorAdjusterFuncNode:Ac,lastLineHasInlineComment:Tc}=xu;function _c(e){switch(e.trailingComma){case\"all\":case\"es5\":return!0;case\"none\":default:return!1}}function Oc(e,t,n){const r=e.getValue(),i=[];let o=0;return e.map(e=>{const a=r.nodes[o-1];if(a&&\"css-comment\"===a.type&&\"prettier-ignore\"===a.text.trim()){const n=e.getValue();i.push(t.originalText.slice(t.locStart(n),t.locEnd(n)))}else i.push(e.call(n));o!==r.nodes.length-1&&(\"css-comment\"===r.nodes[o+1].type&&!ku(t.originalText,t.locStart(r.nodes[o+1]),{backwards:!0})&&\"yaml\"!==r.nodes[o].type&&\"toml\"!==r.nodes[o].type||\"css-atrule\"===r.nodes[o+1].type&&\"else\"===r.nodes[o+1].name&&\"css-comment\"!==r.nodes[o].type?i.push(\" \"):(i.push(t.__isHTMLStyleAttribute?Fu:Nu),Au(t.originalText,e.getValue(),t.locEnd)&&\"yaml\"!==r.nodes[o].type&&\"toml\"!==r.nodes[o].type&&i.push(Nu))),o++},\"nodes\"),_u(i)}const Fc=/(['\"])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/g,Nc=new RegExp(Fc.source+\"|\"+\"(\".concat(/[$@]?[a-zA-Z_\\u0080-\\uFFFF][\\w\\-\\u0080-\\uFFFF]*/g.source,\")?\")+\"(\".concat(/(?:\\d*\\.\\d+|\\d+\\.?)(?:[eE][+-]?\\d+)?/g.source,\")\")+\"(\".concat(/[a-zA-Z]+/g.source,\")?\"),\"g\");function Ic(e,t){return e.replace(Fc,e=>wu(e,t))}function Mc(e,t){const n=t.singleQuote?\"'\":'\"';return e.includes('\"')||e.includes(\"'\")?e:n+e+n}function jc(e){return e.replace(Nc,(e,t,n,r,i)=>!n&&r?Lc(r)+Vu(i||\"\"):e)}function Lc(e){return Cu(e).replace(/\\.0(?=$|e)/,\"\")}var Pc={print:function(e,t,n){const r=e.getValue();if(!r)return\"\";if(\"string\"==typeof r)return r;switch(r.type){case\"yaml\":case\"toml\":return _u([r.raw,Nu]);case\"css-root\":{const r=Oc(e,t,n);return r.parts.length?_u([r,t.__isHTMLStyleAttribute?\"\":Nu]):r}case\"css-comment\":{const e=r.inline||r.raws.inline,n=t.originalText.slice(t.locStart(r),t.locEnd(r));return e?n.trimEnd():n}case\"css-rule\":return _u([e.call(n,\"selector\"),r.important?\" !important\":\"\",r.nodes?_u([r.selector&&\"selector-unknown\"===r.selector.type&&Tc(r.selector.value)?Fu:\" \",\"{\",r.nodes.length>0?Lu(_u([Nu,Oc(e,t,n)])):\"\",Nu,\"}\",Zu(r)?\";\":\"\"]):\";\"]);case\"css-decl\":{const i=e.getParentNode();return _u([r.raws.before.replace(/[\\s;]/g,\"\"),Hu(e)?r.prop:Vu(r.prop),\":\"===r.raws.between.trim()?\":\":r.raws.between.trim(),r.extend?\"\":\" \",pc(r)?Bu(e.call(n,\"value\")):e.call(n,\"value\"),r.raws.important?r.raws.important.replace(/\\s*!\\s*important/i,\" !important\"):r.important?\" !important\":\"\",r.raws.scssDefault?r.raws.scssDefault.replace(/\\s*!default/i,\" !default\"):r.scssDefault?\" !default\":\"\",r.raws.scssGlobal?r.raws.scssGlobal.replace(/\\s*!global/i,\" !global\"):r.scssGlobal?\" !global\":\"\",r.nodes?_u([\" {\",Lu(_u([Iu,Oc(e,t,n)])),Iu,\"}\"]):yc(r)&&!i.raws.semicolon&&\";\"!==t.originalText[t.locEnd(r)-1]?\"\":\";\"])}case\"css-atrule\":{const i=e.getParentNode(),o=gc(r)&&!i.raws.semicolon&&\";\"!==t.originalText[t.locEnd(r)-1];if($u(t)){if(r.mixin)return _u([e.call(n,\"selector\"),r.important?\" !important\":\"\",o?\"\":\";\"]);if(r.function)return _u([r.name,_u([e.call(n,\"params\")]),o?\"\":\";\"]);if(r.variable)return _u([\"@\",r.name,\": \",r.value?_u([e.call(n,\"value\")]):\"\",r.raws.between.trim()?r.raws.between.trim()+\" \":\"\",r.nodes?_u([\"{\",Lu(_u([r.nodes.length>0?Iu:\"\",Oc(e,t,n)])),Iu,\"}\"]):\"\",o?\"\":\";\"])}return _u([\"@\",mc(r)||r.name.endsWith(\":\")?r.name:Vu(r.name),r.params?_u([mc(r)?\"\":gc(r)&&/^\\s*\\n/.test(r.raws.afterName)?/^\\s*\\n\\s*\\n/.test(r.raws.afterName)?_u([Nu,Nu]):Nu:\" \",e.call(n,\"params\")]):\"\",r.selector?Lu(_u([\" \",e.call(n,\"selector\")])):\"\",r.value?Mu(_u([\" \",e.call(n,\"value\"),Xu(r)?fc(r)?\" \":Fu:\"\"])):\"else\"===r.name?\" \":\"\",r.nodes?_u([Xu(r)?\"\":\" \",\"{\",Lu(_u([r.nodes.length>0?Iu:\"\",Oc(e,t,n)])),Iu,\"}\"]):o?\"\":\";\"])}case\"media-query-list\":{const t=[];return e.each(e=>{const r=e.getValue();\"media-query\"===r.type&&\"\"===r.value||t.push(e.call(n))},\"nodes\"),Mu(Lu(Ou(Fu,t)))}case\"media-query\":return _u([Ou(\" \",e.map(n,\"nodes\")),Yu(e,r)?\"\":\",\"]);case\"media-type\":return jc(Ic(r.value,t));case\"media-feature-expression\":return r.nodes?_u([\"(\",_u(e.map(n,\"nodes\")),\")\"]):r.value;case\"media-feature\":return Vu(Ic(r.value.replace(/ +/g,\" \"),t));case\"media-colon\":return _u([r.value,\" \"]);case\"media-value\":return jc(Ic(r.value,t));case\"media-keyword\":return Ic(r.value,t);case\"media-url\":return Ic(r.value.replace(/^url\\(\\s+/gi,\"url(\").replace(/\\s+\\)$/gi,\")\"),t);case\"media-unknown\":return r.value;case\"selector-root\":return Mu(_u([Wu(e,\"custom-selector\")?_u([Uu(e,\"css-atrule\").customSelector,Fu]):\"\",Ou(_u([\",\",Wu(e,[\"extend\",\"custom-selector\",\"nest\"])?Fu:Nu]),e.map(n,\"nodes\"))]));case\"selector-selector\":return Mu(Lu(_u(e.map(n,\"nodes\"))));case\"selector-comment\":return r.value;case\"selector-string\":return Ic(r.value,t);case\"selector-tag\":{const t=e.getParentNode(),n=t&&t.nodes.indexOf(r),i=n&&t.nodes[n-1];return _u([r.namespace?_u([!0===r.namespace?\"\":r.namespace.trim(),\"|\"]):\"\",\"selector-nesting\"===i.type?r.value:jc(Ku(e,r.value)?r.value.toLowerCase():r.value)])}case\"selector-id\":return _u([\"#\",r.value]);case\"selector-class\":return _u([\".\",jc(Ic(r.value,t))]);case\"selector-attribute\":return _u([\"[\",r.namespace?_u([!0===r.namespace?\"\":r.namespace.trim(),\"|\"]):\"\",r.attribute.trim(),r.operator?r.operator:\"\",r.value?Mc(Ic(r.value.trim(),t),t):\"\",r.insensitive?\" i\":\"\",\"]\"]);case\"selector-combinator\":{if(\"+\"===r.value||\">\"===r.value||\"~\"===r.value||\">>>\"===r.value){const t=e.getParentNode(),n=\"selector-selector\"===t.type&&t.nodes[0]===r?\"\":Fu;return _u([n,r.value,Yu(e,r)?\"\":\" \"])}const n=r.value.trim().startsWith(\"(\")?Fu:\"\",i=jc(Ic(r.value.trim(),t))||Fu;return _u([n,i])}case\"selector-universal\":return _u([r.namespace?_u([!0===r.namespace?\"\":r.namespace.trim(),\"|\"]):\"\",r.value]);case\"selector-pseudo\":return _u([Vu(r.value),r.nodes&&r.nodes.length>0?_u([\"(\",Ou(\", \",e.map(n,\"nodes\")),\")\"]):\"\"]);case\"selector-nesting\":return r.value;case\"selector-unknown\":{const n=Uu(e,\"css-rule\");if(n&&n.isSCSSNesterProperty)return jc(Ic(Vu(r.value),t));const i=e.getParentNode();if(i.raws&&i.raws.selector){const e=t.locStart(i),n=e+i.raws.selector.length;return t.originalText.slice(e,n).trim()}return r.value}case\"value-value\":case\"value-root\":return e.call(n,\"group\");case\"value-comment\":return _u([r.inline?\"//\":\"/*\",Tu(r.value),r.inline?\"\":\"*/\"]);case\"value-comma_group\":{const t=e.getParentNode(),i=e.getParentNode(1),o=zu(e),a=o&&\"value-value\"===t.type&&(\"grid\"===o||o.startsWith(\"grid-template\")),s=Uu(e,\"css-atrule\"),u=s&&Xu(s),c=e.map(n,\"groups\"),l=[],p=qu(e,\"url\");let f=!1,d=!1;for(let t=0;t<r.groups.length;++t){l.push(c[t]);const n=r.groups[t-1],o=r.groups[t],h=r.groups[t+1],m=r.groups[t+2];if(p){(h&&ic(h)||ic(o))&&l.push(\" \");continue}if(!h)continue;const g=\"value-string\"===o.type&&o.value.startsWith(\"#{\"),y=f&&\"value-string\"===h.type&&h.value.endsWith(\"}\");if(g||y){f=!f;continue}if(f)continue;if(Sc(o)||Sc(h))continue;if(\"value-atword\"===o.type&&\"\"===o.value)continue;if(\"~\"===o.value)continue;if(o.value&&o.value.includes(\"\\\\\")&&h&&\"value-comment\"!==h.type)continue;if(n&&n.value&&n.value.indexOf(\"\\\\\")===n.value.length-1&&\"value-operator\"===o.type&&\"/\"===o.value)continue;if(\"\\\\\"===o.value)continue;if(vc(o,h))continue;if(xc(o)||Dc(o)||Cc(h)||Dc(h)&&dc(h)||Cc(o)&&dc(h))continue;if(\"--\"===o.value&&xc(h))continue;const v=ac(o),b=ac(h);if((v&&xc(h)||b&&Cc(o))&&dc(h))continue;if(qu(e,\"calc\")&&(ic(o)||ic(h)||oc(o)||oc(h))&&dc(h))continue;const E=(ic(o)||oc(o))&&0===t&&(\"value-number\"===h.type||h.isHex)&&i&&Ac(i)&&!dc(h),x=m&&\"value-func\"===m.type||m&&wc(m)||\"value-func\"===o.type||wc(o),D=\"value-func\"===h.type||wc(h)||n&&\"value-func\"===n.type||n&&wc(n);(nc(h)||nc(o)||qu(e,\"calc\")||E||!(rc(h)&&!x||rc(o)&&!D||ic(h)&&!x||ic(o)&&!D||oc(h)||oc(o))||!(dc(h)||v&&(!n||n&&ac(n))))&&(Ec(o)?l.push(Nu):u&&(tc(h)||ec(h)||lc(h)||sc(o)||uc(o))||s&&\"namespace\"===s.name.toLowerCase()?l.push(\" \"):a?o.source&&h.source&&o.source.start.line!==h.source.start.line?(l.push(Nu),d=!0):l.push(\" \"):b?l.push(\" \"):l.push(Fu))}return d&&l.unshift(Nu),u?Mu(Lu(_u(l))):Gu(e)?Mu(ju(l)):Mu(Lu(ju(l)))}case\"value-paren_group\":{const i=e.getParentNode();if(i&&cc(i)&&(1===r.groups.length||r.groups.length>0&&\"value-comma_group\"===r.groups[0].type&&r.groups[0].groups.length>0&&\"value-word\"===r.groups[0].groups[0].type&&r.groups[0].groups[0].value.startsWith(\"data:\")))return _u([r.open?e.call(n,\"open\"):\"\",Ou(\",\",e.map(n,\"groups\")),r.close?e.call(n,\"close\"):\"\"]);if(!r.open){const t=e.map(n,\"groups\"),r=[];for(let e=0;e<t.length;e++)0!==e&&r.push(_u([\",\",Fu])),r.push(t[e]);return Mu(Lu(ju(r)))}const o=bc(e),a=r.groups[r.groups.length-1],s=a&&\"value-comment\"===a.type;return Mu(_u([r.open?e.call(n,\"open\"):\"\",Lu(_u([Iu,Ou(_u([\",\",Fu]),e.map(e=>{const t=e.getValue(),r=n(e);return hc(t)&&\"value-comma_group\"===t.type&&t.groups&&t.groups[2]&&\"value-paren_group\"===t.groups[2].type?(r.contents.contents.parts[1]=Mu(r.contents.contents.parts[1]),Mu(Pu(r))):r},\"groups\"))])),Ru(!s&&Qu(t.parser,t.originalText)&&o&&_c(t)?\",\":\"\"),Iu,r.close?e.call(n,\"close\"):\"\"]),{shouldBreak:o})}case\"value-func\":return _u([r.value,Wu(e,\"supports\")&&kc(r)?\" \":\"\",e.call(n,\"group\")]);case\"value-paren\":return r.value;case\"value-number\":return _u([Lc(r.value),Vu(r.unit)]);case\"value-operator\":return r.value;case\"value-word\":return r.isColor&&r.isHex||Ju(r.value)?r.value.toLowerCase():r.value;case\"value-colon\":return _u([r.value,qu(e,\"url\")?\"\":Fu]);case\"value-comma\":return _u([r.value,\" \"]);case\"value-string\":return wu(r.raws.quote+r.value+r.raws.quote,t);case\"value-atword\":return _u([\"@\",r.value]);case\"value-unicode-range\":case\"value-unknown\":return r.value;default:throw new Error(\"Unknown postcss type \".concat(JSON.stringify(r.type)))}},embed:Zs,insertPragma:Du,hasPrettierIgnore:Su,massageAstNode:Ks},Rc={bracketSpacing:{since:\"0.0.0\",category:\"Common\",type:\"boolean\",default:!0,description:\"Print spaces between brackets.\",oppositeDescription:\"Do not print spaces between brackets.\"},singleQuote:{since:\"0.0.0\",category:\"Common\",type:\"boolean\",default:!1,description:\"Use single quotes instead of double quotes.\"},proseWrap:{since:\"1.8.2\",category:\"Common\",type:\"choice\",default:[{since:\"1.8.2\",value:!0},{since:\"1.9.0\",value:\"preserve\"}],description:\"How to wrap prose.\",choices:[{since:\"1.9.0\",value:\"always\",description:\"Wrap prose if it exceeds the print width.\"},{since:\"1.9.0\",value:\"never\",description:\"Do not wrap prose.\"},{since:\"1.9.0\",value:\"preserve\",description:\"Wrap prose as-is.\"}]}},Bc={singleQuote:Rc.singleQuote},Uc=function(e,t){const{languageId:n}=e,r=at(e,[\"languageId\"]);return Object.assign({linguistLanguageId:n},r,{},t(e))},zc=[\".css\"],Vc={name:\"CSS\",type:\"markup\",tmScope:\"source.css\",aceMode:\"css\",codemirrorMode:\"css\",codemirrorMimeType:\"text/css\",color:\"#563d7c\",extensions:zc,languageId:50},qc=Object.freeze({__proto__:null,name:\"CSS\",type:\"markup\",tmScope:\"source.css\",aceMode:\"css\",codemirrorMode:\"css\",codemirrorMimeType:\"text/css\",color:\"#563d7c\",extensions:zc,languageId:50,default:Vc}),Hc=[\".pcss\",\".postcss\"],Wc={name:\"PostCSS\",type:\"markup\",tmScope:\"source.postcss\",group:\"CSS\",extensions:Hc,aceMode:\"text\",languageId:262764437},Gc=Object.freeze({__proto__:null,name:\"PostCSS\",type:\"markup\",tmScope:\"source.postcss\",group:\"CSS\",extensions:Hc,aceMode:\"text\",languageId:262764437,default:Wc}),Kc=[\".less\"],Jc={name:\"Less\",type:\"markup\",group:\"CSS\",extensions:Kc,tmScope:\"source.css.less\",aceMode:\"less\",codemirrorMode:\"css\",codemirrorMimeType:\"text/css\",languageId:198},Qc=Object.freeze({__proto__:null,name:\"Less\",type:\"markup\",group:\"CSS\",extensions:Kc,tmScope:\"source.css.less\",aceMode:\"less\",codemirrorMode:\"css\",codemirrorMimeType:\"text/css\",languageId:198,default:Jc}),Yc=[\".scss\"],$c={name:\"SCSS\",type:\"markup\",tmScope:\"source.css.scss\",group:\"CSS\",aceMode:\"scss\",codemirrorMode:\"css\",codemirrorMimeType:\"text/x-scss\",extensions:Yc,languageId:329},Xc=Object.freeze({__proto__:null,name:\"SCSS\",type:\"markup\",tmScope:\"source.css.scss\",group:\"CSS\",aceMode:\"scss\",codemirrorMode:\"css\",codemirrorMimeType:\"text/x-scss\",extensions:Yc,languageId:329,default:$c}),Zc=Xe(qc),el=Xe(Gc),tl=Xe(Qc),nl=Xe(Xc),rl={languages:[Uc(Zc,()=>({since:\"1.4.0\",parsers:[\"css\"],vscodeLanguageIds:[\"css\"]})),Uc(el,()=>({since:\"1.4.0\",parsers:[\"css\"],vscodeLanguageIds:[\"postcss\"]})),Uc(tl,()=>({since:\"1.4.0\",parsers:[\"less\"],vscodeLanguageIds:[\"less\"]})),Uc(nl,()=>({since:\"1.4.0\",parsers:[\"scss\"],vscodeLanguageIds:[\"scss\"]}))],options:Bc,printers:{postcss:Pc}},il={hasPragma:function(e){return/^\\s*#[^\\n\\S]*@(format|prettier)\\s*(\\n|$)/.test(e)},insertPragma:function(e){return\"# @format\\n\\n\"+e}};const{concat:ol,join:al,hardline:sl,line:ul,softline:cl,group:ll,indent:pl,ifBreak:fl}=Sa.builders,{hasIgnoreComment:dl}=na,{isNextLineEmpty:hl}=Qa,{insertPragma:ml}=il;function gl(e,t,n){return 0===n.directives.length?\"\":ol([\" \",ll(pl(ol([cl,al(ol([fl(\"\",\" \"),cl]),e.map(t,\"directives\"))])))])}function yl(e,t,n){const r=e.getValue().length;return e.map((e,i)=>{const o=n(e);return hl(t.originalText,e.getValue(),t.locEnd)&&i<r-1?ol([o,sl]):o})}function vl(e,t,n){return\",\"===n.originalText.slice(e.loc.end,t.loc.start).replace(/#.*/g,\"\").trim()?\", \":\" & \"}function bl(e,t,n){const r=e.getNode(),i=[],{interfaces:o}=r,a=e.map(e=>n(e),\"interfaces\");for(let e=0;e<o.length;e++){const n=o[e];e>0&&i.push(vl(o[e-1],n,t)),i.push(a[e])}return i}var El={print:function(e,t,n){const r=e.getValue();if(!r)return\"\";if(\"string\"==typeof r)return r;switch(r.kind){case\"Document\":{const i=[];return e.map((e,o)=>{i.push(ol([e.call(n)])),o!==r.definitions.length-1&&(i.push(sl),hl(t.originalText,e.getValue(),t.locEnd)&&i.push(sl))},\"definitions\"),ol([ol(i),sl])}case\"OperationDefinition\":{const i=\"{\"!==t.originalText[t.locStart(r)],o=!!r.name;return ol([i?r.operation:\"\",i&&o?ol([\" \",e.call(n,\"name\")]):\"\",r.variableDefinitions&&r.variableDefinitions.length?ll(ol([\"(\",pl(ol([cl,al(ol([fl(\"\",\", \"),cl]),e.map(n,\"variableDefinitions\"))])),cl,\")\"])):\"\",gl(e,n,r),r.selectionSet&&(i||o)?\" \":\"\",e.call(n,\"selectionSet\")])}case\"FragmentDefinition\":return ol([\"fragment \",e.call(n,\"name\"),r.variableDefinitions&&r.variableDefinitions.length?ll(ol([\"(\",pl(ol([cl,al(ol([fl(\"\",\", \"),cl]),e.map(n,\"variableDefinitions\"))])),cl,\")\"])):\"\",\" on \",e.call(n,\"typeCondition\"),gl(e,n,r),\" \",e.call(n,\"selectionSet\")]);case\"SelectionSet\":return ol([\"{\",pl(ol([sl,al(sl,e.call(e=>yl(e,t,n),\"selections\"))])),sl,\"}\"]);case\"Field\":return ll(ol([r.alias?ol([e.call(n,\"alias\"),\": \"]):\"\",e.call(n,\"name\"),r.arguments.length>0?ll(ol([\"(\",pl(ol([cl,al(ol([fl(\"\",\", \"),cl]),e.call(e=>yl(e,t,n),\"arguments\"))])),cl,\")\"])):\"\",gl(e,n,r),r.selectionSet?\" \":\"\",e.call(n,\"selectionSet\")]));case\"Name\":return r.value;case\"StringValue\":return r.block?ol(['\"\"\"',sl,al(sl,r.value.replace(/\"\"\"/g,\"\\\\$&\").split(\"\\n\")),sl,'\"\"\"']):ol(['\"',r.value.replace(/[\"\\\\]/g,\"\\\\$&\").replace(/\\n/g,\"\\\\n\"),'\"']);case\"IntValue\":case\"FloatValue\":case\"EnumValue\":return r.value;case\"BooleanValue\":return r.value?\"true\":\"false\";case\"NullValue\":return\"null\";case\"Variable\":return ol([\"$\",e.call(n,\"name\")]);case\"ListValue\":return ll(ol([\"[\",pl(ol([cl,al(ol([fl(\"\",\", \"),cl]),e.map(n,\"values\"))])),cl,\"]\"]));case\"ObjectValue\":return ll(ol([\"{\",t.bracketSpacing&&r.fields.length>0?\" \":\"\",pl(ol([cl,al(ol([fl(\"\",\", \"),cl]),e.map(n,\"fields\"))])),cl,fl(\"\",t.bracketSpacing&&r.fields.length>0?\" \":\"\"),\"}\"]));case\"ObjectField\":case\"Argument\":return ol([e.call(n,\"name\"),\": \",e.call(n,\"value\")]);case\"Directive\":return ol([\"@\",e.call(n,\"name\"),r.arguments.length>0?ll(ol([\"(\",pl(ol([cl,al(ol([fl(\"\",\", \"),cl]),e.call(e=>yl(e,t,n),\"arguments\"))])),cl,\")\"])):\"\"]);case\"NamedType\":return e.call(n,\"name\");case\"VariableDefinition\":return ol([e.call(n,\"variable\"),\": \",e.call(n,\"type\"),r.defaultValue?ol([\" = \",e.call(n,\"defaultValue\")]):\"\",gl(e,n,r)]);case\"TypeExtensionDefinition\":return ol([\"extend \",e.call(n,\"definition\")]);case\"ObjectTypeExtension\":case\"ObjectTypeDefinition\":return ol([e.call(n,\"description\"),r.description?sl:\"\",\"ObjectTypeExtension\"===r.kind?\"extend \":\"\",\"type \",e.call(n,\"name\"),r.interfaces.length>0?ol([\" implements \",ol(bl(e,t,n))]):\"\",gl(e,n,r),r.fields.length>0?ol([\" {\",pl(ol([sl,al(sl,e.call(e=>yl(e,t,n),\"fields\"))])),sl,\"}\"]):\"\"]);case\"FieldDefinition\":return ol([e.call(n,\"description\"),r.description?sl:\"\",e.call(n,\"name\"),r.arguments.length>0?ll(ol([\"(\",pl(ol([cl,al(ol([fl(\"\",\", \"),cl]),e.call(e=>yl(e,t,n),\"arguments\"))])),cl,\")\"])):\"\",\": \",e.call(n,\"type\"),gl(e,n,r)]);case\"DirectiveDefinition\":return ol([e.call(n,\"description\"),r.description?sl:\"\",\"directive \",\"@\",e.call(n,\"name\"),r.arguments.length>0?ll(ol([\"(\",pl(ol([cl,al(ol([fl(\"\",\", \"),cl]),e.call(e=>yl(e,t,n),\"arguments\"))])),cl,\")\"])):\"\",r.repeatable?\" repeatable\":\"\",ol([\" on \",al(\" | \",e.map(n,\"locations\"))])]);case\"EnumTypeExtension\":case\"EnumTypeDefinition\":return ol([e.call(n,\"description\"),r.description?sl:\"\",\"EnumTypeExtension\"===r.kind?\"extend \":\"\",\"enum \",e.call(n,\"name\"),gl(e,n,r),r.values.length>0?ol([\" {\",pl(ol([sl,al(sl,e.call(e=>yl(e,t,n),\"values\"))])),sl,\"}\"]):\"\"]);case\"EnumValueDefinition\":return ol([e.call(n,\"description\"),r.description?sl:\"\",e.call(n,\"name\"),gl(e,n,r)]);case\"InputValueDefinition\":return ol([e.call(n,\"description\"),r.description?r.description.block?sl:ul:\"\",e.call(n,\"name\"),\": \",e.call(n,\"type\"),r.defaultValue?ol([\" = \",e.call(n,\"defaultValue\")]):\"\",gl(e,n,r)]);case\"InputObjectTypeExtension\":case\"InputObjectTypeDefinition\":return ol([e.call(n,\"description\"),r.description?sl:\"\",\"InputObjectTypeExtension\"===r.kind?\"extend \":\"\",\"input \",e.call(n,\"name\"),gl(e,n,r),r.fields.length>0?ol([\" {\",pl(ol([sl,al(sl,e.call(e=>yl(e,t,n),\"fields\"))])),sl,\"}\"]):\"\"]);case\"SchemaDefinition\":return ol([\"schema\",gl(e,n,r),\" {\",r.operationTypes.length>0?pl(ol([sl,al(sl,e.call(e=>yl(e,t,n),\"operationTypes\"))])):\"\",sl,\"}\"]);case\"OperationTypeDefinition\":return ol([e.call(n,\"operation\"),\": \",e.call(n,\"type\")]);case\"InterfaceTypeExtension\":case\"InterfaceTypeDefinition\":return ol([e.call(n,\"description\"),r.description?sl:\"\",\"InterfaceTypeExtension\"===r.kind?\"extend \":\"\",\"interface \",e.call(n,\"name\"),gl(e,n,r),r.fields.length>0?ol([\" {\",pl(ol([sl,al(sl,e.call(e=>yl(e,t,n),\"fields\"))])),sl,\"}\"]):\"\"]);case\"FragmentSpread\":return ol([\"...\",e.call(n,\"name\"),gl(e,n,r)]);case\"InlineFragment\":return ol([\"...\",r.typeCondition?ol([\" on \",e.call(n,\"typeCondition\")]):\"\",gl(e,n,r),\" \",e.call(n,\"selectionSet\")]);case\"UnionTypeExtension\":case\"UnionTypeDefinition\":return ll(ol([e.call(n,\"description\"),r.description?sl:\"\",ll(ol([\"UnionTypeExtension\"===r.kind?\"extend \":\"\",\"union \",e.call(n,\"name\"),gl(e,n,r),r.types.length>0?ol([\" =\",fl(\"\",\" \"),pl(ol([fl(ol([ul,\"  \"])),al(ol([ul,\"| \"]),e.map(n,\"types\"))]))]):\"\"]))]));case\"ScalarTypeExtension\":case\"ScalarTypeDefinition\":return ol([e.call(n,\"description\"),r.description?sl:\"\",\"ScalarTypeExtension\"===r.kind?\"extend \":\"\",\"scalar \",e.call(n,\"name\"),gl(e,n,r)]);case\"NonNullType\":return ol([e.call(n,\"type\"),\"!\"]);case\"ListType\":return ol([\"[\",e.call(n,\"type\"),\"]\"]);default:throw new Error(\"unknown graphql type: \"+JSON.stringify(r.kind))}},massageAstNode:function(e,t){delete t.loc,delete t.comments},hasPrettierIgnore:dl,insertPragma:ml,printComment:function(e){const t=e.getValue();if(\"Comment\"===t.kind)return\"#\"+t.value.trimEnd();throw new Error(\"Not a comment: \"+JSON.stringify(t))},canAttachComment:function(e){return e.kind&&\"Comment\"!==e.kind}},xl={bracketSpacing:Rc.bracketSpacing},Dl=[\".graphql\",\".gql\",\".graphqls\"],Cl={name:\"GraphQL\",type:\"data\",extensions:Dl,tmScope:\"source.graphql\",aceMode:\"text\",languageId:139},wl={languages:[Uc(Xe(Object.freeze({__proto__:null,name:\"GraphQL\",type:\"data\",extensions:Dl,tmScope:\"source.graphql\",aceMode:\"text\",languageId:139,default:Cl})),()=>({since:\"1.5.0\",parsers:[\"graphql\"],vscodeLanguageIds:[\"graphql\"]}))],options:xl,printers:{graphql:El}};function Sl(e,t){return e&&t.some(t=>e.type===t)}function kl(e,t){const n=e.getValue(),r=e.getParentNode(0)||{},i=r.children||r.body||[],o=i.indexOf(n);return-1!==o&&i[o+t]}function Al(e,t=1){return kl(e,-t)}function Tl(e){return kl(e,1)}function _l(e){return Sl(e,[\"MustacheCommentStatement\"])&&\"string\"==typeof e.value&&\"prettier-ignore\"===e.value.trim()}var Ol={getNextNode:Tl,getPreviousNode:Al,hasPrettierIgnore:function(e){const t=e.getValue(),n=Al(e,2);return _l(t)||_l(n)},isGlimmerComponent:function(e){return Sl(e,[\"ElementNode\"])&&\"string\"==typeof e.tag&&(function(e){return e.toUpperCase()===e}(e.tag[0])||e.tag.includes(\".\"))},isNextNodeOfSomeType:function(e,t){return Sl(Tl(e),t)},isNodeOfSomeType:Sl,isParentOfSomeType:function(e,t){return Sl(e.getParentNode(0),t)},isPreviousNodeOfSomeType:function(e,t){return Sl(Al(e),t)},isWhitespaceNode:function(e){return Sl(e,[\"TextNode\"])&&!/\\S/.test(e.chars)}};const{concat:Fl,join:Nl,softline:Il,hardline:Ml,line:jl,group:Ll,indent:Pl,ifBreak:Rl}=Sa.builders,{getNextNode:Bl,getPreviousNode:Ul,hasPrettierIgnore:zl,isGlimmerComponent:Vl,isNextNodeOfSomeType:ql,isParentOfSomeType:Hl,isPreviousNodeOfSomeType:Wl,isWhitespaceNode:Gl}=Ol,Kl=[\"area\",\"base\",\"br\",\"col\",\"embed\",\"hr\",\"img\",\"input\",\"link\",\"meta\",\"param\",\"source\",\"track\",\"wbr\"];function Jl(e,t,n){return Fl(e.map((r,i)=>{const o=e.getValue(),a=0===i,s=i===e.getParentNode(0).children.length-1&&!a;return Gl(o)&&s?n(r,t,n):a?Fl([Il,n(r,t,n)]):n(r,t,n)},\"children\"))}function Ql(e,t){const n={quote:'\"',regex:/\"/g},r={quote:\"'\",regex:/'/g},i=t.singleQuote?r:n,o=i===r?n:r;let a=!1;(e.includes(i.quote)||e.includes(o.quote))&&(a=(e.match(i.regex)||[]).length>(e.match(o.regex)||[]).length);const s=a?o:i,u=e.replace(s.regex,\"\\\\\".concat(s.quote));return Fl([s.quote,u,s.quote])}function Yl(e,t){return e.call(t,\"path\")}function $l(e,t){const n=e.getValue();let r=[];return n.params.length>0&&(r=r.concat(e.map(t,\"params\"))),n.hash&&n.hash.pairs.length>0&&r.push(e.call(t,\"hash\")),r}function Xl(e,t){const n=[Yl(e,t),...$l(e,t)];return Pl(Ll(Nl(jl,n)))}function Zl(e){const t=e.getValue();return t.program&&t.program.blockParams.length?Fl([\" as |\",t.program.blockParams.join(\" \"),\"|\"]):\"\"}function ep(e,t,{open:n=!1,close:r=!1}={}){return Ll(Fl([n?\"{{~#\":\"{{#\",Xl(e,t),Zl(e),Il,r?\"~}}\":\"}}\"]))}function tp(e,t,{open:n=!1,close:r=!1}={}){return Fl([n?\"{{~/\":\"{{/\",e.call(t,\"path\"),r?\"~}}\":\"}}\"])}function np(e){return(e=\"string\"==typeof e?e:\"\").split(\"\\n\").length-1}function rp(e=0,t=0){return new Array(Math.min(e,t)).fill(Ml)}function ip(e,t,n){let r=0,i=0;for(;;){if(i===e.length)return null;let o=e.indexOf(\"\\n\",i);if(-1===o&&(o=e.length),r===t)return i+n>o?null:i+n;if(-1===o)return null;r+=1,i=o+1}}var op={print:function(e,t,n){const r=e.getValue();if(!r)return\"\";if(zl(e)){const e=ip(t.originalText,r.loc.start.line-1,r.loc.start.column),n=ip(t.originalText,r.loc.end.line-1,r.loc.end.column);return t.originalText.slice(e,n)}switch(r.type){case\"Block\":case\"Program\":case\"Template\":return Ll(Fl(e.map(n,\"body\")));case\"ElementNode\":{const i=r.children.length>0,o=r.children.some(e=>!Gl(e)),a=Vl(r)&&(!i||!o)||Kl.includes(r.tag),s=a?Fl([\" />\",Il]):\">\",u=a?\"/>\":\">\",c=(e,t)=>Pl(Fl([r.attributes.length?jl:\"\",Nl(jl,e.map(t,\"attributes\")),r.modifiers.length?jl:\"\",Nl(jl,e.map(t,\"modifiers\")),r.comments.length?jl:\"\",Nl(jl,e.map(t,\"comments\"))])),l=Bl(e);return Fl([Ll(Fl([\"<\",r.tag,c(e,n),r.blockParams.length?\" as |\".concat(r.blockParams.join(\" \"),\"|\"):\"\",Rl(Il,\"\"),Rl(u,s)])),a?\"\":Ll(Fl([o?Pl(Jl(e,t,n)):\"\",Rl(i?Ml:\"\",\"\"),Fl([\"</\",r.tag,\">\"])])),l&&\"ElementNode\"===l.type?Ml:\"\"])}case\"BlockStatement\":{const t=e.getParentNode(1),i=t&&t.inverse&&1===t.inverse.body.length&&t.inverse.body[0]===r&&\"if\"===t.inverse.body[0].path.parts[0],o=r.inverse&&1===r.inverse.body.length&&\"BlockStatement\"===r.inverse.body[0].type&&\"if\"===r.inverse.body[0].path.parts[0],a=o?e=>e:Pl,s=(r.inverseStrip.open?\"{{~\":\"{{\")+\"else\"+(r.inverseStrip.close?\"~}}\":\"}}\");if(r.inverse)return Fl([i?Fl([r.openStrip.open?\"{{~else \":\"{{else \",Xl(e,n),r.openStrip.close?\"~}}\":\"}}\"]):ep(e,n,r.openStrip),Pl(Fl([Ml,e.call(n,\"program\")])),r.inverse&&!o?Fl([Ml,s]):\"\",r.inverse?a(Fl([Ml,e.call(n,\"inverse\")])):\"\",i?\"\":Fl([Ml,tp(e,n,r.closeStrip)])]);if(i)return Fl([Fl([r.openStrip.open?\"{{~else\":\"{{else \",Xl(e,n),r.openStrip.close?\"~}}\":\"}}\"]),Pl(Fl([Ml,e.call(n,\"program\")]))]);const u=r.program.body.some(e=>!Gl(e));return Fl([ep(e,n,r.openStrip),Ll(Fl([Pl(Fl([Il,e.call(n,\"program\")])),u?Ml:Il,tp(e,n,r.closeStrip)]))])}case\"ElementModifierStatement\":return Ll(Fl([\"{{\",Xl(e,n),Il,\"}}\"]));case\"MustacheStatement\":{const t=!1===r.escaped,{open:i,close:o}=r.strip,a=(t?\"{{{\":\"{{\")+(i?\"~\":\"\"),s=(o?\"~\":\"\")+(t?\"}}}\":\"}}\"),u=Hl(e,[\"AttrNode\",\"ConcatStatement\",\"ElementNode\"])?[a,Pl(Il)]:[a];return Ll(Fl([...u,Xl(e,n),Il,s]))}case\"SubExpression\":{const t=$l(e,n),r=t.length>0?Pl(Fl([jl,Ll(Nl(jl,t))])):\"\";return Ll(Fl([\"(\",Yl(e,n),r,Il,\")\"]))}case\"AttrNode\":{const i=\"TextNode\"===r.value.type;if(i&&\"\"===r.value.chars&&r.value.loc.start.column===r.value.loc.end.column)return Fl([r.name]);const o=e.call(n,\"value\"),a=i?Ql(o.parts.join(),t):o;return Fl([r.name,\"=\",a])}case\"ConcatStatement\":return Fl(['\"',Fl(e.map(e=>n(e),\"parts\").filter(e=>\"\"!==e)),'\"']);case\"Hash\":return Fl([Nl(jl,e.map(n,\"pairs\"))]);case\"HashPair\":return Fl([r.key,\"=\",e.call(n,\"value\")]);case\"TextNode\":{const t=2,n=!Ul(e),i=!Bl(e),o=!/\\S/.test(r.chars),a=np(r.chars),s=\"Block\"===e.getParentNode(0).type,u=\"ElementNode\"===e.getParentNode(0).type,c=\"Template\"===e.getParentNode(0).type;let l=function(e){return np(((e=\"string\"==typeof e?e:\"\").match(/^([^\\S\\r\\n]*[\\r\\n])+/g)||[])[0]||\"\")}(r.chars),p=function(e){return np(((e=\"string\"==typeof e?e:\"\").match(/([\\r\\n][^\\S\\r\\n]*)+$/g)||[])[0]||\"\")}(r.chars);if((n||i)&&o&&(s||u||c))return\"\";o&&a?(l=Math.min(a,t),p=0):(ql(e,[\"BlockStatement\",\"ElementNode\"])&&(p=Math.max(p,1)),(Wl(e,[\"ElementNode\"])||Wl(e,[\"BlockStatement\"]))&&(l=Math.max(l,1)));let f=\"\",d=\"\";if(e.stack.includes(\"attributes\")){const t=e.getParentNode(0);if(\"ConcatStatement\"===t.type){const{parts:e}=t,n=e.indexOf(r);n>0&&\"MustacheStatement\"===e[n-1].type&&(f=\" \"),n<e.length-1&&\"MustacheStatement\"===e[n+1].type&&(d=\" \")}}else 0===p&&ql(e,[\"MustacheStatement\"])&&(d=\" \"),0===l&&Wl(e,[\"MustacheStatement\"])&&(f=\" \"),n&&(l=0,f=\"\"),i&&(p=0,d=\"\");return Fl([...rp(l,t),r.chars.replace(/^[\\s ]+/g,f).replace(/[\\s ]+$/,d),...rp(p,t)].filter(Boolean))}case\"MustacheCommentStatement\":{const e=r.value.includes(\"}}\")?\"--\":\"\";return Fl([\"{{!\",e,r.value,e,\"}}\"])}case\"PathExpression\":return r.original;case\"BooleanLiteral\":return String(r.value);case\"CommentStatement\":return Fl([\"\\x3c!--\",r.value,\"--\\x3e\"]);case\"StringLiteral\":return Ql(r.value,t);case\"NumberLiteral\":return String(r.value);case\"UndefinedLiteral\":return\"undefined\";case\"NullLiteral\":return\"null\";default:throw new Error(\"unknown glimmer type: \"+JSON.stringify(r.type))}},massageAstNode:function(e,t){if(delete t.loc,delete t.selfClosing,\"TextNode\"===e.type){const n=e.chars.trim();if(!n)return null;t.chars=n}}},ap=[\"hbs\",\"htmlbars\"],sp=[\".handlebars\",\".hbs\"],up={name:\"Handlebars\",type:\"markup\",group:\"HTML\",aliases:ap,extensions:sp,tmScope:\"text.html.handlebars\",aceMode:\"handlebars\",languageId:155},cp={languages:[Uc(Xe(Object.freeze({__proto__:null,name:\"Handlebars\",type:\"markup\",group:\"HTML\",aliases:ap,extensions:sp,tmScope:\"text.html.handlebars\",aceMode:\"handlebars\",languageId:155,default:up})),()=>({since:null,parsers:[\"glimmer\"],vscodeLanguageIds:[\"handlebars\"]}))],printers:{glimmer:op}},lp=Object.freeze({__proto__:null,default:[\"a\",\"abbr\",\"acronym\",\"address\",\"applet\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"base\",\"basefont\",\"bdi\",\"bdo\",\"bgsound\",\"big\",\"blink\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"center\",\"cite\",\"code\",\"col\",\"colgroup\",\"command\",\"content\",\"data\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"dialog\",\"dir\",\"div\",\"dl\",\"dt\",\"element\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"font\",\"footer\",\"form\",\"frame\",\"frameset\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"iframe\",\"image\",\"img\",\"input\",\"ins\",\"isindex\",\"kbd\",\"keygen\",\"label\",\"legend\",\"li\",\"link\",\"listing\",\"main\",\"map\",\"mark\",\"marquee\",\"math\",\"menu\",\"menuitem\",\"meta\",\"meter\",\"multicol\",\"nav\",\"nextid\",\"nobr\",\"noembed\",\"noframes\",\"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"picture\",\"plaintext\",\"pre\",\"progress\",\"q\",\"rb\",\"rbc\",\"rp\",\"rt\",\"rtc\",\"ruby\",\"s\",\"samp\",\"script\",\"section\",\"select\",\"shadow\",\"slot\",\"small\",\"source\",\"spacer\",\"span\",\"strike\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"svg\",\"table\",\"tbody\",\"td\",\"template\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"title\",\"tr\",\"track\",\"tt\",\"u\",\"ul\",\"var\",\"video\",\"wbr\",\"xmp\"]}),pp=[\"accesskey\",\"charset\",\"coords\",\"download\",\"href\",\"hreflang\",\"name\",\"ping\",\"referrerpolicy\",\"rel\",\"rev\",\"shape\",\"tabindex\",\"target\",\"type\"],fp=[\"title\"],dp=[\"align\",\"alt\",\"archive\",\"code\",\"codebase\",\"height\",\"hspace\",\"name\",\"object\",\"vspace\",\"width\"],hp=[\"accesskey\",\"alt\",\"coords\",\"download\",\"href\",\"hreflang\",\"nohref\",\"ping\",\"referrerpolicy\",\"rel\",\"shape\",\"tabindex\",\"target\",\"type\"],mp=[\"autoplay\",\"controls\",\"crossorigin\",\"loop\",\"muted\",\"preload\",\"src\"],gp=[\"href\",\"target\"],yp=[\"color\",\"face\",\"size\"],vp=[\"dir\"],bp=[\"cite\"],Ep=[\"alink\",\"background\",\"bgcolor\",\"link\",\"text\",\"vlink\"],xp=[\"clear\"],Dp=[\"accesskey\",\"autofocus\",\"disabled\",\"form\",\"formaction\",\"formenctype\",\"formmethod\",\"formnovalidate\",\"formtarget\",\"name\",\"tabindex\",\"type\",\"value\"],Cp=[\"height\",\"width\"],wp=[\"align\"],Sp=[\"align\",\"char\",\"charoff\",\"span\",\"valign\",\"width\"],kp=[\"align\",\"char\",\"charoff\",\"span\",\"valign\",\"width\"],Ap=[\"value\"],Tp=[\"cite\",\"datetime\"],_p=[\"open\"],Op=[\"title\"],Fp=[\"open\"],Np=[\"compact\"],Ip=[\"align\"],Mp=[\"compact\"],jp=[\"height\",\"src\",\"type\",\"width\"],Lp=[\"disabled\",\"form\",\"name\"],Pp=[\"color\",\"face\",\"size\"],Rp=[\"accept\",\"accept-charset\",\"action\",\"autocomplete\",\"enctype\",\"method\",\"name\",\"novalidate\",\"target\"],Bp=[\"frameborder\",\"longdesc\",\"marginheight\",\"marginwidth\",\"name\",\"noresize\",\"scrolling\",\"src\"],Up=[\"cols\",\"rows\"],zp=[\"align\"],Vp=[\"align\"],qp=[\"align\"],Hp=[\"align\"],Wp=[\"align\"],Gp=[\"align\"],Kp=[\"profile\"],Jp=[\"align\",\"noshade\",\"size\",\"width\"],Qp=[\"manifest\",\"version\"],Yp=[\"align\",\"allow\",\"allowfullscreen\",\"allowpaymentrequest\",\"allowusermedia\",\"frameborder\",\"height\",\"longdesc\",\"marginheight\",\"marginwidth\",\"name\",\"referrerpolicy\",\"sandbox\",\"scrolling\",\"src\",\"srcdoc\",\"width\"],$p=[\"align\",\"alt\",\"border\",\"crossorigin\",\"decoding\",\"height\",\"hspace\",\"ismap\",\"longdesc\",\"name\",\"referrerpolicy\",\"sizes\",\"src\",\"srcset\",\"usemap\",\"vspace\",\"width\"],Xp=[\"accept\",\"accesskey\",\"align\",\"alt\",\"autocomplete\",\"autofocus\",\"checked\",\"dirname\",\"disabled\",\"form\",\"formaction\",\"formenctype\",\"formmethod\",\"formnovalidate\",\"formtarget\",\"height\",\"ismap\",\"list\",\"max\",\"maxlength\",\"min\",\"minlength\",\"multiple\",\"name\",\"pattern\",\"placeholder\",\"readonly\",\"required\",\"size\",\"src\",\"step\",\"tabindex\",\"title\",\"type\",\"usemap\",\"value\",\"width\"],Zp=[\"cite\",\"datetime\"],ef=[\"prompt\"],tf=[\"accesskey\",\"for\",\"form\"],nf=[\"accesskey\",\"align\"],rf=[\"type\",\"value\"],of=[\"as\",\"charset\",\"color\",\"crossorigin\",\"href\",\"hreflang\",\"imagesizes\",\"imagesrcset\",\"integrity\",\"media\",\"nonce\",\"referrerpolicy\",\"rel\",\"rev\",\"sizes\",\"target\",\"title\",\"type\"],af=[\"name\"],sf=[\"compact\"],uf=[\"charset\",\"content\",\"http-equiv\",\"name\",\"scheme\"],cf=[\"high\",\"low\",\"max\",\"min\",\"optimum\",\"value\"],lf=[\"align\",\"archive\",\"border\",\"classid\",\"codebase\",\"codetype\",\"data\",\"declare\",\"form\",\"height\",\"hspace\",\"name\",\"standby\",\"tabindex\",\"type\",\"typemustmatch\",\"usemap\",\"vspace\",\"width\"],pf=[\"compact\",\"reversed\",\"start\",\"type\"],ff=[\"disabled\",\"label\"],df=[\"disabled\",\"label\",\"selected\",\"value\"],hf=[\"for\",\"form\",\"name\"],mf=[\"align\"],gf=[\"name\",\"type\",\"value\",\"valuetype\"],yf=[\"width\"],vf=[\"max\",\"value\"],bf=[\"cite\"],Ef=[\"async\",\"charset\",\"crossorigin\",\"defer\",\"integrity\",\"language\",\"nomodule\",\"nonce\",\"referrerpolicy\",\"src\",\"type\"],xf=[\"autocomplete\",\"autofocus\",\"disabled\",\"form\",\"multiple\",\"name\",\"required\",\"size\",\"tabindex\"],Df=[\"name\"],Cf=[\"media\",\"sizes\",\"src\",\"srcset\",\"type\"],wf=[\"media\",\"nonce\",\"title\",\"type\"],Sf=[\"align\",\"bgcolor\",\"border\",\"cellpadding\",\"cellspacing\",\"frame\",\"rules\",\"summary\",\"width\"],kf=[\"align\",\"char\",\"charoff\",\"valign\"],Af=[\"abbr\",\"align\",\"axis\",\"bgcolor\",\"char\",\"charoff\",\"colspan\",\"headers\",\"height\",\"nowrap\",\"rowspan\",\"scope\",\"valign\",\"width\"],Tf=[\"accesskey\",\"autocomplete\",\"autofocus\",\"cols\",\"dirname\",\"disabled\",\"form\",\"maxlength\",\"minlength\",\"name\",\"placeholder\",\"readonly\",\"required\",\"rows\",\"tabindex\",\"wrap\"],_f=[\"align\",\"char\",\"charoff\",\"valign\"],Of=[\"abbr\",\"align\",\"axis\",\"bgcolor\",\"char\",\"charoff\",\"colspan\",\"headers\",\"height\",\"nowrap\",\"rowspan\",\"scope\",\"valign\",\"width\"],Ff=[\"align\",\"char\",\"charoff\",\"valign\"],Nf=[\"datetime\"],If=[\"align\",\"bgcolor\",\"char\",\"charoff\",\"valign\"],Mf=[\"default\",\"kind\",\"label\",\"src\",\"srclang\"],jf=[\"compact\",\"type\"],Lf=[\"autoplay\",\"controls\",\"crossorigin\",\"height\",\"loop\",\"muted\",\"playsinline\",\"poster\",\"preload\",\"src\",\"width\"],Pf={\"*\":[\"accesskey\",\"autocapitalize\",\"autofocus\",\"class\",\"contenteditable\",\"dir\",\"draggable\",\"enterkeyhint\",\"hidden\",\"id\",\"inputmode\",\"is\",\"itemid\",\"itemprop\",\"itemref\",\"itemscope\",\"itemtype\",\"lang\",\"nonce\",\"slot\",\"spellcheck\",\"style\",\"tabindex\",\"title\",\"translate\"],a:pp,abbr:fp,applet:dp,area:hp,audio:mp,base:gp,basefont:yp,bdo:vp,blockquote:bp,body:Ep,br:xp,button:Dp,canvas:Cp,caption:wp,col:Sp,colgroup:kp,data:Ap,del:Tp,details:_p,dfn:Op,dialog:Fp,dir:Np,div:Ip,dl:Mp,embed:jp,fieldset:Lp,font:Pp,form:Rp,frame:Bp,frameset:Up,h1:zp,h2:Vp,h3:qp,h4:Hp,h5:Wp,h6:Gp,head:Kp,hr:Jp,html:Qp,iframe:Yp,img:$p,input:Xp,ins:Zp,isindex:ef,label:tf,legend:nf,li:rf,link:of,map:af,menu:sf,meta:uf,meter:cf,object:lf,ol:pf,optgroup:ff,option:df,output:hf,p:mf,param:gf,pre:yf,progress:vf,q:bf,script:Ef,select:xf,slot:Df,source:Cf,style:wf,table:Sf,tbody:kf,td:Af,textarea:Tf,tfoot:_f,th:Of,thead:Ff,time:Nf,tr:If,track:Mf,ul:jf,video:Lf},Rf=Object.freeze({__proto__:null,a:pp,abbr:fp,applet:dp,area:hp,audio:mp,base:gp,basefont:yp,bdo:vp,blockquote:bp,body:Ep,br:xp,button:Dp,canvas:Cp,caption:wp,col:Sp,colgroup:kp,data:Ap,del:Tp,details:_p,dfn:Op,dialog:Fp,dir:Np,div:Ip,dl:Mp,embed:jp,fieldset:Lp,font:Pp,form:Rp,frame:Bp,frameset:Up,h1:zp,h2:Vp,h3:qp,h4:Hp,h5:Wp,h6:Gp,head:Kp,hr:Jp,html:Qp,iframe:Yp,img:$p,input:Xp,ins:Zp,isindex:ef,label:tf,legend:nf,li:rf,link:of,map:af,menu:sf,meta:uf,meter:cf,object:lf,ol:pf,optgroup:ff,option:df,output:hf,p:mf,param:gf,pre:yf,progress:vf,q:bf,script:Ef,select:xf,slot:Df,source:Cf,style:wf,table:Sf,tbody:kf,td:Af,textarea:Tf,tfoot:_f,th:Of,thead:Ff,time:Nf,tr:If,track:Mf,ul:jf,video:Lf,default:Pf}),Bf=Xe(lp),Uf=Xe(Rf);const{CSS_DISPLAY_TAGS:zf,CSS_DISPLAY_DEFAULT:Vf,CSS_WHITE_SPACE_TAGS:qf,CSS_WHITE_SPACE_DEFAULT:Hf}={CSS_DISPLAY_TAGS:{area:\"none\",base:\"none\",basefont:\"none\",datalist:\"none\",head:\"none\",link:\"none\",meta:\"none\",noembed:\"none\",noframes:\"none\",param:\"none\",rp:\"none\",script:\"block\",source:\"block\",style:\"none\",template:\"inline\",track:\"block\",title:\"none\",html:\"block\",body:\"block\",address:\"block\",blockquote:\"block\",center:\"block\",div:\"block\",figure:\"block\",figcaption:\"block\",footer:\"block\",form:\"block\",header:\"block\",hr:\"block\",legend:\"block\",listing:\"block\",main:\"block\",p:\"block\",plaintext:\"block\",pre:\"block\",xmp:\"block\",slot:\"contents\",ruby:\"ruby\",rt:\"ruby-text\",article:\"block\",aside:\"block\",h1:\"block\",h2:\"block\",h3:\"block\",h4:\"block\",h5:\"block\",h6:\"block\",hgroup:\"block\",nav:\"block\",section:\"block\",dir:\"block\",dd:\"block\",dl:\"block\",dt:\"block\",ol:\"block\",ul:\"block\",li:\"list-item\",table:\"table\",caption:\"table-caption\",colgroup:\"table-column-group\",col:\"table-column\",thead:\"table-header-group\",tbody:\"table-row-group\",tfoot:\"table-footer-group\",tr:\"table-row\",td:\"table-cell\",th:\"table-cell\",fieldset:\"block\",button:\"inline-block\",video:\"inline-block\",audio:\"inline-block\"},CSS_DISPLAY_DEFAULT:\"inline\",CSS_WHITE_SPACE_TAGS:{listing:\"pre\",plaintext:\"pre\",pre:\"pre\",xmp:\"pre\",nobr:\"nowrap\",table:\"initial\",textarea:\"pre-wrap\"},CSS_WHITE_SPACE_DEFAULT:\"normal\"},Wf=Gf(Bf);function Gf(e){const t=Object.create(null);for(const n of e)t[n]=!0;return t}function Kf(e,t){return!(!e.endSourceSpan||(\"element\"!==e.type||\"template\"!==e.fullName||!e.attrMap.lang||\"html\"===e.attrMap.lang)&&(\"ieConditionalComment\"!==e.type||!e.lastChild||e.lastChild.isSelfClosing||e.lastChild.endSourceSpan)&&(\"ieConditionalComment\"!==e.type||e.complete)&&(\"vue\"!==t.parser||\"element\"!==e.type||\"root\"!==e.parent.type||[\"template\",\"style\",\"script\",\"html\"].includes(e.fullName))&&(!od(e)||!e.children.some(e=>\"text\"!==e.type&&\"interpolation\"!==e.type)))}function Jf(e){return\"attribute\"!==e.type&&(!!e.parent&&(\"number\"==typeof e.index&&0!==e.index&&function(e){return\"comment\"===e.type&&\"prettier-ignore\"===e.value.trim()}(e.parent.children[e.index-1])))}function Qf(e){return\"element\"===e.type&&(\"script\"===e.fullName||\"style\"===e.fullName||\"svg:style\"===e.fullName)}function Yf(e){return\"yaml\"===e.type||\"toml\"===e.type}function $f(e){return sd(e).startsWith(\"pre\")}function Xf(e){return\"element\"===e.type&&0!==e.children.length&&([\"html\",\"head\",\"ul\",\"ol\",\"select\"].includes(e.name)||e.cssDisplay.startsWith(\"table\")&&\"table-cell\"!==e.cssDisplay)}function Zf(e){return rd(e)||\"element\"===e.type&&\"br\"===e.fullName||ed(e)}function ed(e){return td(e)&&nd(e)}function td(e){return e.hasLeadingSpaces&&(e.prev?e.prev.sourceSpan.end.line<e.sourceSpan.start.line:\"root\"===e.parent.type||e.parent.startSourceSpan.end.line<e.sourceSpan.start.line)}function nd(e){return e.hasTrailingSpaces&&(e.next?e.next.sourceSpan.start.line>e.sourceSpan.end.line:\"root\"===e.parent.type||e.parent.endSourceSpan&&e.parent.endSourceSpan.start.line>e.sourceSpan.end.line)}function rd(e){switch(e.type){case\"ieConditionalComment\":case\"comment\":case\"directive\":return!0;case\"element\":return[\"script\",\"select\"].includes(e.name)}return!1}function id(e){return\"block\"===e||\"list-item\"===e||e.startsWith(\"table\")}function od(e){return sd(e).startsWith(\"pre\")}function ad(e){return\"element\"===e.type&&!e.hasExplicitNamespace&&![\"html\",\"svg\"].includes(e.namespace)}function sd(e){return\"element\"===e.type&&(!e.namespace||ad(e))&&qf[e.name]||Hf}var ud={HTML_ELEMENT_ATTRIBUTES:function(e,t){const n=Object.create(null);for(const r of Object.keys(e))n[r]=t(e[r],r);return n}(Uf,Gf),HTML_TAGS:Wf,canHaveInterpolation:function(e){return e.children&&!Qf(e)},countChars:function(e,t){let n=0;for(let r=0;r<e.length;r++)e[r]===t&&n++;return n},countParents:function(e,t=(()=>!0)){let n=0;for(let r=e.stack.length-1;r>=0;r--){const i=e.stack[r];i&&\"object\"==typeof i&&!Array.isArray(i)&&t(i)&&n++}return n},dedentString:function(e,t=function(e){let t=1/0;for(const n of e.split(\"\\n\")){if(0===n.length)continue;if(/\\S/.test(n[0]))return 0;const e=n.match(/^\\s*/)[0].length;n.length!==e&&e<t&&(t=e)}return t===1/0?0:t}(e)){return 0===t?e:e.split(\"\\n\").map(e=>e.slice(t)).join(\"\\n\")},forceBreakChildren:Xf,forceBreakContent:function(e){return Xf(e)||\"element\"===e.type&&0!==e.children.length&&([\"body\",\"script\",\"style\"].includes(e.name)||e.children.some(e=>function(e){return e.children&&e.children.some(e=>\"text\"!==e.type)}(e)))||e.firstChild&&e.firstChild===e.lastChild&&td(e.firstChild)&&(!e.lastChild.isTrailingSpaceSensitive||nd(e.lastChild))},forceNextEmptyLine:function(e){return Yf(e)||e.next&&e.sourceSpan.end.line+1<e.next.sourceSpan.start.line},getLastDescendant:function e(t){return t.lastChild?e(t.lastChild):t},getNodeCssStyleDisplay:function(e,t){if(e.prev&&\"comment\"===e.prev.type){const t=e.prev.value.match(/^\\s*display:\\s*([a-z]+)\\s*$/);if(t)return t[1]}let n=!1;if(\"element\"===e.type&&\"svg\"===e.namespace){if(!function(e,t){let n=e;for(;n;){if(t(n))return!0;n=n.parent}return!1}(e,e=>\"svg:foreignObject\"===e.fullName))return\"svg\"===e.name?\"inline-block\":\"block\";n=!0}switch(t.htmlWhitespaceSensitivity){case\"strict\":return\"inline\";case\"ignore\":return\"block\";default:return\"element\"===e.type&&(!e.namespace||n||ad(e))&&zf[e.name]||Vf}},getNodeCssStyleWhiteSpace:sd,getPrettierIgnoreAttributeCommentData:function(e){const t=e.trim().match(/^prettier-ignore-attribute(?:\\s+([^]+))?$/);return!!t&&(!t[1]||t[1].split(/\\s+/))},hasPrettierIgnore:Jf,identity:function(e){return e},inferScriptParser:function(e){if(\"script\"===e.name&&!e.attrMap.src){if(!e.attrMap.lang&&!e.attrMap.type||\"module\"===e.attrMap.type||\"text/javascript\"===e.attrMap.type||\"text/babel\"===e.attrMap.type||\"application/javascript\"===e.attrMap.type||\"jsx\"===e.attrMap.lang)return\"babel\";if(\"application/x-typescript\"===e.attrMap.type||\"ts\"===e.attrMap.lang||\"tsx\"===e.attrMap.lang)return\"typescript\";if(\"text/markdown\"===e.attrMap.type)return\"markdown\";if(e.attrMap.type.endsWith(\"json\")||e.attrMap.type.endsWith(\"importmap\"))return\"json\";if(\"text/x-handlebars-template\"===e.attrMap.type)return\"glimmer\"}if(\"style\"===e.name){if(!e.attrMap.lang||\"postcss\"===e.attrMap.lang||\"css\"===e.attrMap.lang)return\"css\";if(\"scss\"===e.attrMap.lang)return\"scss\";if(\"less\"===e.attrMap.lang)return\"less\"}return null},isDanglingSpaceSensitiveNode:function(e){return!(id(t=e.cssDisplay)||\"inline-block\"===t||Qf(e));var t},isFrontMatterNode:Yf,isIndentationSensitiveNode:$f,isLeadingSpaceSensitiveNode:function(e){const t=!(Yf(e)||(\"text\"!==e.type&&\"interpolation\"!==e.type||!e.prev||\"text\"!==e.prev.type&&\"interpolation\"!==e.prev.type)&&(!e.parent||\"none\"===e.parent.cssDisplay||!od(e.parent)&&(!e.prev&&(\"root\"===e.parent.type||od(e)&&e.parent||Qf(e.parent)||(n=e.parent.cssDisplay,id(n)||\"inline-block\"===n))||e.prev&&!function(e){return!id(e)}(e.prev.cssDisplay))));var n;return t&&!e.prev&&e.parent&&e.parent.tagDefinition&&e.parent.tagDefinition.ignoreFirstLf?\"interpolation\"===e.type:t},isPreLikeNode:od,isScriptLikeTag:Qf,isTextLikeNode:function(e){return\"text\"===e.type||\"comment\"===e.type},isTrailingSpaceSensitiveNode:function(e){return!(Yf(e)||(\"text\"!==e.type&&\"interpolation\"!==e.type||!e.next||\"text\"!==e.next.type&&\"interpolation\"!==e.next.type)&&(!e.parent||\"none\"===e.parent.cssDisplay||!od(e.parent)&&(!e.next&&(\"root\"===e.parent.type||od(e)&&e.parent||Qf(e.parent)||(t=e.parent.cssDisplay,id(t)||\"inline-block\"===t))||e.next&&!function(e){return!id(e)}(e.next.cssDisplay))));var t},isWhitespaceSensitiveNode:function(e){return Qf(e)||\"interpolation\"===e.type||$f(e)},isUnknownNamespace:ad,normalizeParts:function(e){const t=[],n=e.slice();for(;0!==n.length;){const e=n.shift();e&&(\"concat\"!==e.type?0===t.length||\"string\"!=typeof t[t.length-1]||\"string\"!=typeof e?t.push(e):t.push(t.pop()+e):n.unshift(...e.parts))}return t},preferHardlineAsLeadingSpaces:function(e){return rd(e)||e.prev&&Zf(e.prev)||ed(e)},preferHardlineAsTrailingSpaces:Zf,shouldNotPrintClosingTag:function(e,t){return!e.isSelfClosing&&!e.endSourceSpan&&(Jf(e)||Kf(e.parent,t))},shouldPreserveContent:Kf,unescapeQuoteEntities:function(e){return e.replace(/&apos;/g,\"'\").replace(/&quot;/g,'\"')}};const{canHaveInterpolation:cd,getNodeCssStyleDisplay:ld,isDanglingSpaceSensitiveNode:pd,isIndentationSensitiveNode:fd,isLeadingSpaceSensitiveNode:dd,isTrailingSpaceSensitiveNode:hd,isWhitespaceSensitiveNode:md}=ud,gd=[function(e){return e.map(e=>{if(\"element\"===e.type&&e.tagDefinition.ignoreFirstLf&&0!==e.children.length&&\"text\"===e.children[0].type&&\"\\n\"===e.children[0].value[0]){const[t,...n]=e.children;return e.clone({children:1===t.value.length?n:[t.clone({value:t.value.slice(1)}),...n]})}return e})},function(e){const t=e=>\"element\"===e.type&&e.prev&&\"ieConditionalStartComment\"===e.prev.type&&e.prev.sourceSpan.end.offset===e.startSourceSpan.start.offset&&e.firstChild&&\"ieConditionalEndComment\"===e.firstChild.type&&e.firstChild.sourceSpan.start.offset===e.startSourceSpan.end.offset;return e.map(e=>{if(e.children){const n=e.children.map(t);if(n.some(Boolean)){const t=[];for(let r=0;r<e.children.length;r++){const i=e.children[r];if(!n[r+1])if(n[r]){const e=i.prev,n=i.firstChild,r=i.sourceSpan.constructor,o=new r(e.sourceSpan.start,n.sourceSpan.end),a=new r(o.start,i.sourceSpan.end);t.push(i.clone({condition:e.condition,sourceSpan:a,startSourceSpan:o,children:i.children.slice(1)}))}else t.push(i)}return e.clone({children:t})}}return e})},function(e){return function(e,t,n){return e.map(e=>{if(e.children){const r=e.children.map(t);if(r.some(Boolean)){const t=[];for(let i=0;i<e.children.length;i++){const o=e.children[i];if(\"text\"!==o.type&&!r[i]){t.push(o);continue}const a=\"text\"===o.type?o:o.clone({type:\"text\",value:n(o)});if(0===t.length||\"text\"!==t[t.length-1].type){t.push(a);continue}const s=t.pop(),u=s.sourceSpan.constructor;t.push(s.clone({value:s.value+a.value,sourceSpan:new u(s.sourceSpan.start,a.sourceSpan.end)}))}return e.clone({children:t})}}return e})}(e,e=>\"cdata\"===e.type,e=>\"<![CDATA[\".concat(e.value,\"]]>\"))},function(e,t){if(\"html\"===t.parser)return e;const n=/\\{\\{([\\s\\S]+?)\\}\\}/g;return e.map(e=>{if(!cd(e))return e;const t=[];for(const r of e.children){if(\"text\"!==r.type){t.push(r);continue}const e=r.sourceSpan.constructor;let i=r.sourceSpan.start,o=null;const a=r.value.split(n);for(let n=0;n<a.length;n++,i=o){const r=a[n];n%2!=0?(o=i.moveBy(r.length+4),t.push({type:\"interpolation\",sourceSpan:new e(i,o),children:0===r.length?[]:[{type:\"text\",value:r,sourceSpan:new e(i.moveBy(2),o.moveBy(-2))}]})):(o=i.moveBy(r.length),0!==r.length&&t.push({type:\"text\",value:r,sourceSpan:new e(i,o)}))}}return e.clone({children:t})})},function(e){return e.map(e=>{if(!e.children)return e;if(0===e.children.length||1===e.children.length&&\"text\"===e.children[0].type&&0===e.children[0].value.trim().length)return e.clone({children:[],hasDanglingSpaces:0!==e.children.length});const t=md(e),n=fd(e);return e.clone({isWhitespaceSensitive:t,isIndentationSensitive:n,children:e.children.reduce((e,n)=>{if(\"text\"!==n.type||t)return e.concat(n);const r=[],[,i,o,a]=n.value.match(/^(\\s*)([\\s\\S]*?)(\\s*)$/);i&&r.push({type:\"whitespace\"});const s=n.sourceSpan.constructor;return o&&r.push({type:\"text\",value:o,sourceSpan:new s(n.sourceSpan.start.moveBy(i.length),n.sourceSpan.end.moveBy(-a.length))}),a&&r.push({type:\"whitespace\"}),e.concat(r)},[]).reduce((e,t,n,r)=>{if(\"whitespace\"===t.type)return e;const i=0!==n&&\"whitespace\"===r[n-1].type,o=n!==r.length-1&&\"whitespace\"===r[n+1].type;return e.concat(Object.assign({},t,{hasLeadingSpaces:i,hasTrailingSpaces:o}))},[])})})},function(e,t){return e.map(e=>Object.assign(e,{cssDisplay:ld(e,t)}))},function(e){return e.map(e=>Object.assign(e,{isSelfClosing:!e.children||\"element\"===e.type&&(e.tagDefinition.isVoid||e.startSourceSpan===e.endSourceSpan)}))},function(e,t){return e.map(e=>\"element\"!==e.type?e:Object.assign(e,{hasHtmComponentClosingTag:e.endSourceSpan&&/^<\\s*\\/\\s*\\/\\s*>$/.test(t.originalText.slice(e.endSourceSpan.start.offset,e.endSourceSpan.end.offset))}))},function(e){return e.map(e=>e.children?0===e.children.length?e.clone({isDanglingSpaceSensitive:pd(e)}):e.clone({children:e.children.map(e=>Object.assign({},e,{isLeadingSpaceSensitive:dd(e),isTrailingSpaceSensitive:hd(e)})).map((e,t,n)=>Object.assign({},e,{isLeadingSpaceSensitive:(0===t||n[t-1].isTrailingSpaceSensitive)&&e.isLeadingSpaceSensitive,isTrailingSpaceSensitive:(t===n.length-1||n[t+1].isLeadingSpaceSensitive)&&e.isTrailingSpaceSensitive}))}):e)},function(e){const t=e=>\"element\"===e.type&&0===e.attrs.length&&1===e.children.length&&\"text\"===e.firstChild.type&&!/[^\\S\\xA0]/.test(e.children[0].value)&&!e.firstChild.hasLeadingSpaces&&!e.firstChild.hasTrailingSpaces&&e.isLeadingSpaceSensitive&&!e.hasLeadingSpaces&&e.isTrailingSpaceSensitive&&!e.hasTrailingSpaces&&e.prev&&\"text\"===e.prev.type&&e.next&&\"text\"===e.next.type;return e.map(e=>{if(e.children){const n=e.children.map(t);if(n.some(Boolean)){const t=[];for(let r=0;r<e.children.length;r++){const i=e.children[r];if(n[r]){const n=t.pop(),o=e.children[++r],a=e.sourceSpan.constructor,{isTrailingSpaceSensitive:s,hasTrailingSpaces:u}=o;t.push(n.clone({value:n.value+\"<\".concat(i.rawName,\">\")+i.firstChild.value+\"</\".concat(i.rawName,\">\")+o.value,sourceSpan:new a(n.sourceSpan.start,o.sourceSpan.end),isTrailingSpaceSensitive:s,hasTrailingSpaces:u}))}else t.push(i)}return e.clone({children:t})}}return e})}];var yd=function(e,t){for(const n of gd)e=n(e,t);return e},vd={hasPragma:function(e){return/^\\s*<!--\\s*@(format|prettier)\\s*-->/.test(e)},insertPragma:function(e){return\"\\x3c!-- @format --\\x3e\\n\\n\"+e.replace(/^\\s*\\n/,\"\")}};const{builders:{concat:bd,group:Ed}}=Sa;var xd={isVueEventBindingExpression:function(e){const t=e.trim();return/^([\\w$_]+|\\([^)]*?\\))\\s*=>|^function\\s*\\(/.test(t)||/^[A-Za-z_$][\\w$]*(?:\\.[A-Za-z_$][\\w$]*|\\['[^']*?']|\\[\"[^\"]*?\"]|\\[\\d+]|\\[[A-Za-z_$][\\w$]*])*$/.test(t)},printVueFor:function(e,t){const{left:n,operator:r,right:i}=function(e){const t=/,([^,}\\]]*)(?:,([^,}\\]]*))?$/,n=e.match(/([^]*?)\\s+(in|of)\\s+([^]*)/);if(!n)return;const r={};r.for=n[3].trim();const i=n[1].trim().replace(/^\\(|\\)$/g,\"\"),o=i.match(t);return o?(r.alias=i.replace(t,\"\"),r.iterator1=o[1].trim(),o[2]&&(r.iterator2=o[2].trim())):r.alias=i,{left:\"\".concat([r.alias,r.iterator1,r.iterator2].filter(Boolean).join(\",\")),operator:n[2],right:r.for}}(e);return bd([Ed(t(\"function _(\".concat(n,\") {}\"),{parser:\"babel\",__isVueForBindingLeft:!0})),\" \",r,\" \",t(i,{parser:\"__js_expression\"})])},printVueSlotScope:function(e,t){return t(\"function _(\".concat(e,\") {}\"),{parser:\"babel\",__isVueSlotScope:!0})}};const Dd=/^\\d+$/;var Cd=e=>function(e){return e.sort().filter((t,n)=>JSON.stringify(t)!==JSON.stringify(e[n-1]))}(e.split(\",\").map(e=>{const t={};return e.trim().split(/\\s+/).forEach((e,n)=>{if(0===n)return void(t.url=e);const r=e.slice(0,e.length-1),i=e[e.length-1],o=parseInt(r,10),a=parseFloat(r);if(\"w\"===i&&Dd.test(r))t.width=o;else if(\"h\"===i&&Dd.test(r))t.height=o;else{if(\"x\"!==i||Number.isNaN(a))throw new Error(\"Invalid srcset descriptor: \".concat(e));t.density=a}}),t}));const{builders:{concat:wd,ifBreak:Sd,join:kd,line:Ad}}=Sa,Td=Cd;var _d={printImgSrcset:function(e){const t=Td(e),n=t.some(e=>e.width),r=t.some(e=>e.height);if(n+r+t.some(e=>e.density)>1)throw new Error(\"Mixed descriptor in srcset is not supported\");const i=n?\"width\":r?\"height\":\"density\",o=n?\"w\":r?\"h\":\"x\",a=e=>Math.max(...e),s=t.map(e=>e.url),u=a(s.map(e=>e.length)),c=t.map(e=>e[i]).map(e=>e?e.toString():\"\"),l=c.map(e=>{const t=e.indexOf(\".\");return-1===t?e.length:t}),p=a(l);return kd(wd([\",\",Ad]),s.map((e,t)=>{const n=[e],r=c[t];if(r){const i=u-e.length+1,a=p-l[t],s=\" \".repeat(i+a);n.push(Sd(s,\" \"),r+o)}return wd(n)}))},printClassNames:function(e){return e.trim().split(/\\s+/).join(\" \")}};const{builders:Od,utils:{stripTrailingHardline:Fd,mapDoc:Nd}}=Sa,{breakParent:Id,dedentToRoot:Md,fill:jd,group:Ld,hardline:Pd,ifBreak:Rd,indent:Bd,join:Ud,line:zd,literalline:Vd,markAsRoot:qd,softline:Hd}=Od,{countChars:Wd,countParents:Gd,dedentString:Kd,forceBreakChildren:Jd,forceBreakContent:Qd,forceNextEmptyLine:Yd,getLastDescendant:$d,getPrettierIgnoreAttributeCommentData:Xd,hasPrettierIgnore:Zd,inferScriptParser:eh,isScriptLikeTag:th,isTextLikeNode:nh,normalizeParts:rh,preferHardlineAsLeadingSpaces:ih,shouldNotPrintClosingTag:oh,shouldPreserveContent:ah,unescapeQuoteEntities:sh}=ud,{replaceEndOfLineWith:uh}=na,{insertPragma:ch}=vd,{printVueFor:lh,printVueSlotScope:ph,isVueEventBindingExpression:fh}=xd,{printImgSrcset:dh,printClassNames:hh}=_d;function mh(e){const t=rh(e);return 0===t.length?\"\":1===t.length?t[0]:Od.concat(t)}function gh(e,t,n){const r=e.getValue();if(Jd(r))return mh([Id,mh(e.map(e=>{const t=e.getValue(),n=t.prev?a(t.prev,t):\"\";return mh([n?mh([n,Yd(t.prev)?Pd:\"\"]):\"\",o(e)])},\"children\"))]);const i=r.children.map(()=>Symbol(\"\"));return mh(e.map((e,t)=>{const n=e.getValue();if(nh(n)){if(n.prev&&nh(n.prev)){const t=a(n.prev,n);if(t)return Yd(n.prev)?mh([Pd,Pd,o(e)]):mh([t,o(e)])}return o(e)}const r=[],s=[],u=[],c=[],l=n.prev?a(n.prev,n):\"\",p=n.next?a(n,n.next):\"\";return l&&(Yd(n.prev)?r.push(Pd,Pd):l===Pd?r.push(Pd):nh(n.prev)?s.push(l):s.push(Rd(\"\",Hd,{groupId:i[t-1]}))),p&&(Yd(n)?nh(n.next)&&c.push(Pd,Pd):p===Pd?nh(n.next)&&c.push(Pd):u.push(p)),mh([].concat(r,Ld(mh([mh(s),Ld(mh([o(e),mh(u)]),{id:i[t]})])),c))},\"children\"));function o(e){const r=e.getValue();return Zd(r)?mh([].concat(Th(r,t),uh(t.originalText.slice(t.locStart(r)+(r.prev&&Ch(r.prev)?Fh(r).length:0),t.locEnd(r)-(r.next&&Sh(r.next)?Mh(r,t).length:0)),Vd),Oh(r,t))):ah(r,t)?mh([].concat(Th(r,t),Ld(yh(e,t,n)),uh(t.originalText.slice(r.startSourceSpan.end.offset+(r.firstChild&&wh(r.firstChild)?-Nh(r).length:0),r.endSourceSpan.start.offset+(r.lastChild&&Ah(r.lastChild)?Ih(r,t).length:kh(r)?-Mh(r.lastChild,t).length:0)),Vd),Eh(r,t),Oh(r,t))):n(e)}function a(e,t){return nh(e)&&nh(t)?e.isTrailingSpaceSensitive?e.hasTrailingSpaces?ih(t)?Pd:zd:\"\":ih(t)?Pd:Hd:Ch(e)&&(t.firstChild||t.isSelfClosing||\"element\"===t.type&&0!==t.attrs.length)||\"element\"===e.type&&e.isSelfClosing&&Sh(t)?\"\":!t.isLeadingSpaceSensitive||ih(t)||Sh(t)&&e.lastChild&&Ah(e.lastChild)&&e.lastChild.lastChild&&Ah(e.lastChild.lastChild)?Pd:t.hasLeadingSpaces?zd:Hd}}function yh(e,t,n){const r=e.getValue(),i=\"element\"===r.type&&\"script\"===r.fullName&&1===r.attrs.length&&\"src\"===r.attrs[0].fullName&&0===r.children.length;return mh([vh(r,t),r.attrs&&0!==r.attrs.length?mh([Bd(mh([i?\" \":zd,Ud(zd,(r=>{const i=\"boolean\"==typeof r?()=>r:Array.isArray(r)?e=>r.includes(e.rawName):()=>!1;return e.map(e=>{const r=e.getValue();return i(r)?mh(uh(t.originalText.slice(t.locStart(r),t.locEnd(r)),Vd)):n(e)},\"attrs\")})(r.prev&&\"comment\"===r.prev.type&&Xd(r.prev.value)))])),r.firstChild&&wh(r.firstChild)||r.isSelfClosing&&kh(r.parent)?r.isSelfClosing?\" \":\"\":r.isSelfClosing?i?\" \":zd:i?\"\":Hd]):r.isSelfClosing?\" \":\"\",r.isSelfClosing?\"\":bh(r)])}function vh(e,t){return e.prev&&Ch(e.prev)?\"\":mh([Th(e,t),Fh(e)])}function bh(e){return e.firstChild&&wh(e.firstChild)?\"\":Nh(e)}function Eh(e,t){return mh([e.isSelfClosing?\"\":xh(e,t),Dh(e,t)])}function xh(e,t){return e.lastChild&&Ah(e.lastChild)?\"\":mh([_h(e,t),Ih(e,t)])}function Dh(e,t){return(e.next?Sh(e.next):kh(e.parent))?\"\":mh([Mh(e,t),Oh(e,t)])}function Ch(e){return e.next&&!nh(e.next)&&nh(e)&&e.isTrailingSpaceSensitive&&!e.hasTrailingSpaces}function wh(e){return!e.prev&&e.isLeadingSpaceSensitive&&!e.hasLeadingSpaces}function Sh(e){return e.prev&&!nh(e.prev)&&e.isLeadingSpaceSensitive&&!e.hasLeadingSpaces}function kh(e){return e.lastChild&&e.lastChild.isTrailingSpaceSensitive&&!e.lastChild.hasTrailingSpaces&&!nh($d(e.lastChild))}function Ah(e){return!e.next&&!e.hasTrailingSpaces&&e.isTrailingSpaceSensitive&&nh($d(e))}function Th(e,t){return wh(e)?Nh(e.parent):Sh(e)?Mh(e.prev,t):\"\"}function _h(e,t){return kh(e)?Mh(e.lastChild,t):\"\"}function Oh(e,t){return Ah(e)?Ih(e.parent,t):Ch(e)?Fh(e.next):\"\"}function Fh(e){switch(e.type){case\"ieConditionalComment\":case\"ieConditionalStartComment\":return\"\\x3c!--[if \".concat(e.condition);case\"ieConditionalEndComment\":return\"\\x3c!--<!\";case\"interpolation\":return\"{{\";case\"docType\":return\"<!DOCTYPE\";case\"element\":if(e.condition)return\"\\x3c!--[if \".concat(e.condition,\"]>\\x3c!--\\x3e<\").concat(e.rawName);default:return\"<\".concat(e.rawName)}}function Nh(e){switch(e.isSelfClosing,e.type){case\"ieConditionalComment\":return\"]>\";case\"element\":if(e.condition)return\">\\x3c!--<![endif]--\\x3e\";default:return\">\"}}function Ih(e,t){if(e.isSelfClosing,oh(e,t))return\"\";switch(e.type){case\"ieConditionalComment\":return\"<!\";case\"element\":if(e.hasHtmComponentClosingTag)return\"<//\";default:return\"</\".concat(e.rawName)}}function Mh(e,t){if(oh(e,t))return\"\";switch(e.type){case\"ieConditionalComment\":case\"ieConditionalEndComment\":return\"[endif]--\\x3e\";case\"ieConditionalStartComment\":return\"]>\\x3c!--\\x3e\";case\"interpolation\":return\"}}\";case\"element\":if(e.isSelfClosing)return\"/>\";default:return\">\"}}function jh(e,t=e.value){return e.parent.isWhitespaceSensitive?e.parent.isIndentationSensitive?uh(t,Vd):uh(Kd(t.replace(/^\\s*?\\n|\\n\\s*?$/g,\"\")),Pd):Ud(zd,t.split(/[\\t\\n\\f\\r ]+/)).parts}var Lh={preprocess:yd,print:function(e,t,n){const r=e.getValue();switch(r.type){case\"root\":return t.__onHtmlRoot&&t.__onHtmlRoot(r),Od.concat([Ld(gh(e,t,n)),Pd]);case\"element\":case\"ieConditionalComment\":{const o=1===r.children.length&&\"interpolation\"===r.firstChild.type&&r.firstChild.isLeadingSpaceSensitive&&!r.firstChild.hasLeadingSpaces&&r.lastChild.isTrailingSpaceSensitive&&!r.lastChild.hasTrailingSpaces,a=Symbol(\"element-attr-group-id\");return mh([Ld(mh([Ld(yh(e,t,n),{id:a}),0===r.children.length?r.hasDanglingSpaces&&r.isDanglingSpaceSensitive?zd:\"\":mh([Qd(r)?Id:\"\",(i=mh([o?Rd(Hd,\"\",{groupId:a}):r.firstChild.hasLeadingSpaces&&r.firstChild.isLeadingSpaceSensitive?zd:\"text\"===r.firstChild.type&&r.isWhitespaceSensitive&&r.isIndentationSensitive?Md(Hd):Hd,gh(e,t,n)]),o?Rd(Bd(i),i,{groupId:a}):th(r)&&\"root\"===r.parent.type&&\"vue\"===t.parser&&!t.vueIndentScriptAndStyle?i:Bd(i)),(r.next?Sh(r.next):kh(r.parent))?r.lastChild.hasTrailingSpaces&&r.lastChild.isTrailingSpaceSensitive?\" \":\"\":o?Rd(Hd,\"\",{groupId:a}):r.lastChild.hasTrailingSpaces&&r.lastChild.isTrailingSpaceSensitive?zd:(\"comment\"===r.lastChild.type||\"text\"===r.lastChild.type&&r.isWhitespaceSensitive&&r.isIndentationSensitive)&&new RegExp(\"\\\\n\\\\s{\".concat(t.tabWidth*Gd(e,e=>e.parent&&\"root\"!==e.parent.type),\"}$\")).test(r.lastChild.value)?\"\":Hd])])),Eh(r,t)])}case\"ieConditionalStartComment\":case\"ieConditionalEndComment\":return mh([vh(r),Dh(r)]);case\"interpolation\":return mh([vh(r,t),mh(e.map(n,\"children\")),Dh(r,t)]);case\"text\":if(\"interpolation\"===r.parent.type){const e=/\\n[^\\S\\n]*?$/,t=e.test(r.value),n=t?r.value.replace(e,\"\"):r.value;return mh([mh(uh(n,Vd)),t?Pd:\"\"])}return jd(rh([].concat(Th(r,t),jh(r),Oh(r,t))));case\"docType\":return mh([Ld(mh([vh(r,t),\" \",r.value.replace(/^html\\b/i,\"html\").replace(/\\s+/g,\" \")])),Dh(r,t)]);case\"comment\":return mh([Th(r,t),mh(uh(t.originalText.slice(t.locStart(r),t.locEnd(r)),Vd)),Oh(r,t)]);case\"attribute\":{if(null===r.value)return r.rawName;const e=sh(r.value),t=Wd(e,\"'\")<Wd(e,'\"')?\"'\":'\"';return mh([r.rawName,mh([\"=\",t,mh(uh('\"'===t?e.replace(/\"/g,\"&quot;\"):e.replace(/'/g,\"&apos;\"),Vd)),t])])}case\"yaml\":case\"toml\":return mh(uh(r.raw,Vd));default:throw new Error(\"Unexpected node type \".concat(r.type))}var i},insertPragma:ch,massageAstNode:function(e,t){return delete t.sourceSpan,delete t.startSourceSpan,delete t.endSourceSpan,delete t.nameSpan,delete t.valueSpan,\"text\"===e.type||\"comment\"===e.type||\"yaml\"===e.type||\"toml\"===e.type?null:(\"attribute\"===e.type&&delete t.value,void(\"docType\"===e.type&&delete t.value))},embed:function(e,t,n,r){const i=e.getValue();switch(i.type){case\"text\":if(th(i.parent)){const e=eh(i.parent);if(e){const t=\"markdown\"===e?Kd(i.value.replace(/^[^\\S\\n]*?\\n/,\"\")):i.value;return Od.concat([mh([Id,Th(i,r),Fd(n(t,{parser:e})),Oh(i,r)])])}}else if(\"interpolation\"===i.parent.type)return mh([Bd(mh([zd,n(i.value,Object.assign({__isInHtmlInterpolation:!0},\"angular\"===r.parser?{parser:\"__ng_interpolation\",trailingComma:\"none\"}:\"vue\"===r.parser?{parser:\"__vue_expression\"}:{parser:\"__js_expression\"}))])),i.parent.next&&Sh(i.parent.next)?\" \":zd]);break;case\"attribute\":{if(!i.value)break;if(/^PRETTIER_HTML_PLACEHOLDER_\\d+_\\d+_IN_JS$/.test(r.originalText.slice(i.valueSpan.start.offset,i.valueSpan.end.offset)))return mh([i.rawName,\"=\",i.value]);if(\"lwc\"===r.parser&&/^\\{[\\s\\S]*\\}$/.test(r.originalText.slice(i.valueSpan.start.offset,i.valueSpan.end.offset)))return mh([i.rawName,\"=\",i.value]);const e=function(e,t,n){const r=t=>new RegExp(t.join(\"|\")).test(e.fullName),i=()=>sh(e.value);let o=!1;const a=(e,t)=>{const n=\"NGRoot\"===e.type?\"NGMicrosyntax\"===e.node.type&&1===e.node.body.length&&\"NGMicrosyntaxExpression\"===e.node.body[0].type?e.node.body[0].expression:e.node:\"JsExpressionRoot\"===e.type?e.node:e;!n||\"ObjectExpression\"!==n.type&&\"ArrayExpression\"!==n.type&&(\"__vue_expression\"!==t.parser||\"TemplateLiteral\"!==n.type&&\"StringLiteral\"!==n.type)||(o=!0)},s=(e,t=!0)=>Ld(mh([Bd(mh([Hd,e])),t?Hd:\"\"])),u=e=>o?(e=>Ld(e))(e):s(e),c=(e,n)=>t(e,Object.assign({__onHtmlBindingRoot:a},n));if(\"srcset\"===e.fullName&&(\"img\"===e.parent.fullName||\"source\"===e.parent.fullName))return s(dh(i()));if(\"class\"===e.fullName&&!n.parentParser){const e=i();if(!e.includes(\"{{\"))return hh(e)}if(\"style\"===e.fullName&&!n.parentParser){const e=i();if(!e.includes(\"{{\"))return s(c(e,{parser:\"css\",__isHTMLStyleAttribute:!0}))}if(\"vue\"===n.parser){if(\"v-for\"===e.fullName)return lh(i(),c);if(\"slot-scope\"===e.fullName)return ph(i(),c);const t=[\"^:\",\"^v-bind:\"],n=[\"^v-\"];if(r([\"^@\",\"^v-on:\"])){const e=i();return u(fh(e)?c(e,{parser:\"__js_expression\"}):Fd(c(e,{parser:\"__vue_event_binding\"})))}if(r(t))return u(c(i(),{parser:\"__vue_expression\"}));if(r(n))return u(c(i(),{parser:\"__js_expression\"}))}if(\"angular\"===n.parser){const t=(e,t)=>c(e,Object.assign({},t,{trailingComma:\"none\"})),n=[\"^\\\\*\"],o=[\"^\\\\[.+\\\\]$\",\"^bind(on)?-\",\"^ng-(if|show|hide|class|style)$\"],a=[\"^i18n(-.+)?$\"];if(r([\"^\\\\(.+\\\\)$\",\"^on-\"]))return u(t(i(),{parser:\"__ng_action\"}));if(r(o))return u(t(i(),{parser:\"__ng_binding\"}));if(r(a)){const t=i().trim();return s(jd(jh(e,t)),!t.includes(\"@@\"))}if(r(n))return u(t(i(),{parser:\"__ng_directive\"}));const l=/\\{\\{([\\s\\S]+?)\\}\\}/g,p=i();if(l.test(p)){const e=[];return p.split(l).forEach((n,r)=>{if(r%2==0)e.push(mh(uh(n,Vd)));else try{e.push(Ld(mh([\"{{\",Bd(mh([zd,t(n,{parser:\"__ng_interpolation\",__isInHtmlInterpolation:!0})])),zd,\"}}\"])))}catch(t){e.push(\"{{\",mh(uh(n,Vd)),\"}}\")}}),Ld(mh(e))}}return null}(i,(e,t)=>n(e,Object.assign({__isInHtmlAttribute:!0},t)),r);if(e)return mh([i.rawName,'=\"',Ld(Nd(e,e=>\"string\"==typeof e?e.replace(/\"/g,\"&quot;\"):e)),'\"']);break}case\"yaml\":return qd(mh([\"---\",Pd,0===i.value.trim().length?\"\":n(i.value,{parser:\"yaml\"}),\"---\"]))}}},Ph={htmlWhitespaceSensitivity:{since:\"1.15.0\",category:\"HTML\",type:\"choice\",default:\"css\",description:\"How to handle whitespaces in HTML.\",choices:[{value:\"css\",description:\"Respect the default value of CSS display property.\"},{value:\"strict\",description:\"Whitespaces are considered sensitive.\"},{value:\"ignore\",description:\"Whitespaces are considered insensitive.\"}]},vueIndentScriptAndStyle:{since:\"1.19.0\",category:\"HTML\",type:\"boolean\",default:!1,description:\"Indent script and style tags in Vue files.\"}},Rh=[\"xhtml\"],Bh=[\".html\",\".htm\",\".html.hl\",\".inc\",\".st\",\".xht\",\".xhtml\"],Uh={name:\"HTML\",type:\"markup\",tmScope:\"text.html.basic\",aceMode:\"html\",codemirrorMode:\"htmlmixed\",codemirrorMimeType:\"text/html\",color:\"#e34c26\",aliases:Rh,extensions:Bh,languageId:146},zh=Object.freeze({__proto__:null,name:\"HTML\",type:\"markup\",tmScope:\"text.html.basic\",aceMode:\"html\",codemirrorMode:\"htmlmixed\",codemirrorMimeType:\"text/html\",color:\"#e34c26\",aliases:Rh,extensions:Bh,languageId:146,default:Uh}),Vh=[\".vue\"],qh={name:\"Vue\",type:\"markup\",color:\"#2c3e50\",extensions:Vh,tmScope:\"text.html.vue\",aceMode:\"html\",languageId:391},Hh=Object.freeze({__proto__:null,name:\"Vue\",type:\"markup\",color:\"#2c3e50\",extensions:Vh,tmScope:\"text.html.vue\",aceMode:\"html\",languageId:391,default:qh}),Wh=Xe(zh),Gh=Xe(Hh),Kh={languages:[Uc(Wh,()=>({name:\"Angular\",since:\"1.15.0\",parsers:[\"angular\"],vscodeLanguageIds:[\"html\"],extensions:[\".component.html\"],filenames:[]})),Uc(Wh,e=>({since:\"1.15.0\",parsers:[\"html\"],vscodeLanguageIds:[\"html\"],extensions:e.extensions.concat([\".mjml\"])})),Uc(Wh,()=>({name:\"Lightning Web Components\",since:\"1.17.0\",parsers:[\"lwc\"],vscodeLanguageIds:[\"html\"],extensions:[],filenames:[]})),Uc(Gh,()=>({since:\"1.10.0\",parsers:[\"vue\"],vscodeLanguageIds:[\"vue\"]}))],printers:{html:Lh},options:Ph};const{addLeadingComment:Jh,addTrailingComment:Qh,addDanglingComment:Yh,getNextNonSpaceNonCommentCharacterIndex:$h}=Qa;function Xh(e,t){const n=e.body.filter(e=>\"EmptyStatement\"!==e.type);0===n.length?Yh(e,t):Jh(n[0],t)}function Zh(e,t){\"BlockStatement\"===e.type?Xh(e,t):Jh(e,t)}function em(e,t,n,r,i,o){return!(!n||\"IfStatement\"!==n.type||!r)&&(\")\"===na.getNextNonSpaceNonCommentCharacter(e,i,o.locEnd)?(Qh(t,i),!0):t===n.consequent&&r===n.alternate?(\"BlockStatement\"===t.type?Qh(t,i):Yh(n,i),!0):\"BlockStatement\"===r.type?(Xh(r,i),!0):\"IfStatement\"===r.type?(Zh(r.consequent,i),!0):n.consequent===r&&(Jh(r,i),!0))}function tm(e,t,n,r,i,o){return!(!n||\"WhileStatement\"!==n.type||!r)&&(\")\"===na.getNextNonSpaceNonCommentCharacter(e,i,o.locEnd)?(Qh(t,i),!0):\"BlockStatement\"===r.type&&(Xh(r,i),!0))}function nm(e,t,n,r){return!(!e||\"TryStatement\"!==e.type&&\"CatchClause\"!==e.type||!n||(\"CatchClause\"===e.type&&t?(Qh(t,r),0):\"BlockStatement\"===n.type?(Xh(n,r),0):\"TryStatement\"===n.type?(Zh(n.finalizer,r),0):\"CatchClause\"!==n.type||(Zh(n.body,r),0)))}function rm(e,t,n,r){return!(!(e&&(\"ClassDeclaration\"===e.type||\"ClassExpression\"===e.type)&&e.decorators&&e.decorators.length>0)||n&&\"Decorator\"===n.type||(e.decorators&&0!==e.decorators.length?Qh(e.decorators[e.decorators.length-1],r):Jh(e,r),0))}function im(e,t,n,r,i){return(t&&n&&(\"Property\"===t.type||\"TSDeclareMethod\"===t.type||\"TSAbstractMethodDefinition\"===t.type)&&\"Identifier\"===n.type&&t.key===n&&\":\"!==na.getNextNonSpaceNonCommentCharacter(e,n,i.locEnd)||!(!n||!t||\"Decorator\"!==n.type||\"ClassMethod\"!==t.type&&\"ClassProperty\"!==t.type&&\"TSAbstractClassProperty\"!==t.type&&\"TSAbstractMethodDefinition\"!==t.type&&\"TSDeclareMethod\"!==t.type&&\"MethodDefinition\"!==t.type))&&(Qh(n,r),!0)}function om(e,t,n,r,i,o){if(t&&\"FunctionTypeParam\"===t.type&&n&&\"FunctionTypeAnnotation\"===n.type&&r&&\"FunctionTypeParam\"!==r.type)return Qh(t,i),!0;if(t&&(\"Identifier\"===t.type||\"AssignmentPattern\"===t.type)&&n&&lm(n)&&\")\"===na.getNextNonSpaceNonCommentCharacter(e,i,o.locEnd))return Qh(t,i),!0;if(n&&\"FunctionDeclaration\"===n.type&&r&&\"BlockStatement\"===r.type){const t=(()=>{if(0!==(n.params||n.parameters).length)return na.getNextNonSpaceNonCommentCharacterIndexWithStartIndex(e,o.locEnd(na.getLast(n.params||n.parameters)));const t=na.getNextNonSpaceNonCommentCharacterIndexWithStartIndex(e,o.locEnd(n.id));return na.getNextNonSpaceNonCommentCharacterIndexWithStartIndex(e,t+1)})();if(o.locStart(i)>t)return Xh(r,i),!0}return!1}function am(e,t){return!(!e||\"ImportSpecifier\"!==e.type||(Jh(e,t),0))}function sm(e,t){return!(!e||\"LabeledStatement\"!==e.type||(Jh(e,t),0))}function um(e,t,n,r){return t&&t.body&&0===t.body.length?(r?Yh(t,n):Jh(t,n),!0):!(!e||\"Program\"!==e.type||0!==e.body.length||!e.directives||0!==e.directives.length||(r?Yh(e,n):Jh(e,n),0))}function cm(e){return\"Block\"===e.type||\"CommentBlock\"===e.type}function lm(e){return\"ArrowFunctionExpression\"===e.type||\"FunctionExpression\"===e.type||\"FunctionDeclaration\"===e.type||\"ObjectMethod\"===e.type||\"ClassMethod\"===e.type||\"TSDeclareFunction\"===e.type||\"TSCallSignatureDeclaration\"===e.type||\"TSConstructSignatureDeclaration\"===e.type||\"TSConstructSignatureDeclaration\"===e.type||\"TSMethodSignature\"===e.type||\"TSConstructorType\"===e.type||\"TSFunctionType\"===e.type||\"TSDeclareMethod\"===e.type}function pm(e){return cm(e)&&\"*\"===e.value[0]&&/@type\\b/.test(e.value)}var fm={handleOwnLineComment:function(e,t,n,r,i){const{precedingNode:o,enclosingNode:a,followingNode:s}=e;return om(t,o,a,s,e,n)||function(e,t,n){return!(!e||\"MemberExpression\"!==e.type&&\"OptionalMemberExpression\"!==e.type||!t||\"Identifier\"!==t.type)&&(Jh(e,n),!0)}(a,s,e)||em(t,o,a,s,e,n)||tm(t,o,a,s,e,n)||nm(a,o,s,e)||rm(a,0,s,e)||am(a,e)||function(e,t,n){return!(!e||\"ForInStatement\"!==e.type&&\"ForOfStatement\"!==e.type)&&(Jh(e,n),!0)}(a,0,e)||function(e,t,n,r){return!t||\"UnionTypeAnnotation\"!==t.type&&\"TSUnionType\"!==t.type?(n&&(\"UnionTypeAnnotation\"===n.type||\"TSUnionType\"===n.type)&&na.isNodeIgnoreComment(r)&&(n.types[0].prettierIgnore=!0,r.unignore=!0),!1):(na.isNodeIgnoreComment(r)&&(n.prettierIgnore=!0,r.unignore=!0),!!e&&(Qh(e,r),!0))}(o,a,s,e)||um(a,r,e,i)||function(e,t,n,r,i){return!!(n&&\"ImportSpecifier\"===n.type&&t&&\"ImportDeclaration\"===t.type&&na.hasNewline(e,i.locEnd(r)))&&(Qh(n,r),!0)}(t,a,o,e,n)||function(e,t){return!(!e||\"AssignmentPattern\"!==e.type)&&(Jh(e,t),!0)}(a,e)||im(t,a,o,e,n)||sm(a,e)},handleEndOfLineComment:function(e,t,n,r,i){const{precedingNode:o,enclosingNode:a,followingNode:s}=e;return function(e,t){return!(!e||!pm(t))&&(Jh(e,t),!0)}(s,e)||om(t,o,a,s,e,n)||function(e,t,n,r,i,o){const a=t&&!na.hasNewlineInRange(i,o.locEnd(t),o.locStart(r));return!(t&&a||!e||\"ConditionalExpression\"!==e.type||!n)&&(Jh(n,r),!0)}(a,o,s,e,t,n)||am(a,e)||em(t,o,a,s,e,n)||tm(t,o,a,s,e,n)||nm(a,o,s,e)||rm(a,0,s,e)||sm(a,e)||function(e,t,n){return!!(t&&(\"CallExpression\"===t.type||\"OptionalCallExpression\"===t.type)&&e&&t.callee===e&&t.arguments.length>0)&&(Jh(t.arguments[0],n),!0)}(o,a,e)||function(e,t){return!(!e||\"Property\"!==e.type&&\"ObjectProperty\"!==e.type)&&(Jh(e,t),!0)}(a,e)||um(a,r,e,i)||function(e,t,n){return!(!e||\"TypeAlias\"!==e.type)&&(Jh(e,n),!0)}(a,0,e)||function(e,t,n){return!(!e||\"VariableDeclarator\"!==e.type&&\"AssignmentExpression\"!==e.type||!t||\"ObjectExpression\"!==t.type&&\"ArrayExpression\"!==t.type&&\"TemplateLiteral\"!==t.type&&\"TaggedTemplateExpression\"!==t.type&&!cm(n))&&(Jh(t,n),!0)}(a,s,e)},handleRemainingComment:function(e,t,n,r,i){const{precedingNode:o,enclosingNode:a,followingNode:s}=e;return!!(em(t,o,a,s,e,n)||tm(t,o,a,s,e,n)||function(e,t,n){return!(!e||\"ObjectProperty\"!==e.type&&\"Property\"!==e.type||!e.shorthand||e.key!==t||\"AssignmentPattern\"!==e.value.type)&&(Qh(e.value.left,n),!0)}(a,o,e)||function(e,t,n,r){return\")\"===na.getNextNonSpaceNonCommentCharacter(e,n,r.locEnd)&&(t&&(lm(t)&&0===(t.params||t.parameters).length||(\"CallExpression\"===t.type||\"OptionalCallExpression\"===t.type||\"NewExpression\"===t.type)&&0===t.arguments.length)?(Yh(t,n),!0):!(!t||\"MethodDefinition\"!==t.type||0!==t.value.params.length)&&(Yh(t.value,n),!0))}(t,a,e,n)||im(t,a,o,e,n)||um(a,r,e,i)||function(e,t,n,r){if(!t||\"ArrowFunctionExpression\"!==t.type)return!1;const i=$h(e,n,r.locEnd);return\"=>\"===e.slice(i,i+2)&&(Yh(t,n),!0)}(t,a,e,n)||function(e,t,n,r,i){return\"(\"===na.getNextNonSpaceNonCommentCharacter(e,r,i.locEnd)&&(!(!n||!t||\"FunctionDeclaration\"!==t.type&&\"FunctionExpression\"!==t.type&&\"ClassMethod\"!==t.type&&\"MethodDefinition\"!==t.type&&\"ObjectMethod\"!==t.type)&&(Qh(n,r),!0))}(t,a,o,e,n)||function(e,t,n,r,i){return!(!t||\"TSMappedType\"!==t.type)&&(r&&\"TSTypeParameter\"===r.type&&r.name?(Jh(r.name,i),!0):!(!n||\"TSTypeParameter\"!==n.type||!n.constraint)&&(Qh(n.constraint,i),!0))}(0,a,o,s,e)||function(e,t){return!(!e||\"ContinueStatement\"!==e.type&&\"BreakStatement\"!==e.type||e.label)&&(Qh(e,t),!0)}(a,e)||function(e,t,n,r,i){return!(n||!t||\"TSMethodSignature\"!==t.type&&\"TSDeclareFunction\"!==t.type&&\"TSAbstractMethodDefinition\"!==t.type||\";\"!==na.getNextNonSpaceNonCommentCharacter(e,r,i.locEnd))&&(Qh(t,r),!0)}(t,a,s,e,n))},hasLeadingComment:function(e,t=(()=>!0)){return e.leadingComments?e.leadingComments.some(t):!!e.comments&&e.comments.some(e=>e.leading&&t(e))},isBlockComment:cm,isTypeCastComment:pm,getGapRegex:function(e){if(e&&\"BinaryExpression\"!==e.type&&\"LogicalExpression\"!==e.type)return/^[\\s(&|]*$/},getCommentChildNodes:function(e,t){if((\"typescript\"===t.parser||\"flow\"===t.parser)&&\"MethodDefinition\"===e.type&&e.value&&\"FunctionExpression\"===e.value.type&&0===e.value.params.length&&!e.value.returnType&&(!e.value.typeParameters||0===e.value.typeParameters.length)&&e.value.body)return[...e.decorators||[],e.key,e.value.body]}};const{isBlockComment:dm,hasLeadingComment:hm}=fm,{builders:{indent:mm,join:gm,line:ym,hardline:vm,softline:bm,literalline:Em,concat:xm,group:Dm,dedentToRoot:Cm},utils:{mapDoc:wm,stripTrailingHardline:Sm}}=Sa;function km(e){return e.replace(/([\\\\`]|\\$\\{)/g,\"\\\\$1\")}function Am(e,t){return wm(e,e=>{if(!e.parts)return e;const n=[];return e.parts.forEach(e=>{\"string\"==typeof e?n.push(t?e.replace(/(\\\\*)`/g,\"$1$1\\\\`\"):km(e)):n.push(e)}),Object.assign({},e,{parts:n})})}function Tm(e){const t=[];let n=!1;return e.map(e=>e.trim()).forEach((e,r,i)=>{\"\"!==e&&(\"\"===i[r-1]&&n?t.push(xm([vm,e])):t.push(e),n=!0)}),0===t.length?null:gm(vm,t)}function _m(e){const t=e.getValue(),n=e.getParentNode(),r=e.getParentNode(1);return r&&t.quasis&&\"JSXExpressionContainer\"===n.type&&\"JSXElement\"===r.type&&\"style\"===r.openingElement.name.name&&r.openingElement.attributes.some(e=>\"jsx\"===e.name.name)||n&&\"TaggedTemplateExpression\"===n.type&&\"Identifier\"===n.tag.type&&\"css\"===n.tag.name||n&&\"TaggedTemplateExpression\"===n.type&&\"MemberExpression\"===n.tag.type&&\"css\"===n.tag.object.name&&(\"global\"===n.tag.property.name||\"resolve\"===n.tag.property.name)}function Om(e){return e.match(e=>\"TemplateLiteral\"===e.type,(e,t)=>\"ArrayExpression\"===e.type&&\"elements\"===t,(e,t)=>(\"Property\"===e.type||\"ObjectProperty\"===e.type)&&\"Identifier\"===e.key.type&&\"styles\"===e.key.name&&\"value\"===t,...Fm)}const Fm=[(e,t)=>\"ObjectExpression\"===e.type&&\"properties\"===t,(e,t)=>\"CallExpression\"===e.type&&\"Identifier\"===e.callee.type&&\"Component\"===e.callee.name&&\"arguments\"===t,(e,t)=>\"Decorator\"===e.type&&\"expression\"===t];function Nm(e){const t=e.getParentNode();if(!t||\"TaggedTemplateExpression\"!==t.type)return!1;const{tag:n}=t;switch(n.type){case\"MemberExpression\":return Mm(n.object)||jm(n);case\"CallExpression\":return Mm(n.callee)||\"MemberExpression\"===n.callee.type&&(\"MemberExpression\"===n.callee.object.type&&(Mm(n.callee.object.object)||jm(n.callee.object))||\"CallExpression\"===n.callee.object.type&&Mm(n.callee.object.callee));case\"Identifier\":return\"css\"===n.name;default:return!1}}function Im(e){const t=e.getParentNode(),n=e.getParentNode(1);return n&&\"JSXExpressionContainer\"===t.type&&\"JSXAttribute\"===n.type&&\"JSXIdentifier\"===n.name.type&&\"css\"===n.name.name}function Mm(e){return\"Identifier\"===e.type&&\"styled\"===e.name}function jm(e){return/^[A-Z]/.test(e.object.name)&&\"extend\"===e.property.name}function Lm(e,t){return hm(e,e=>dm(e)&&e.value===\" \".concat(t,\" \"))}let Pm=0;var Rm=function(e,t,n,r){const i=e.getValue(),o=e.getParentNode(),a=e.getParentNode(1);switch(i.type){case\"TemplateLiteral\":{if([_m,Nm,Im,Om].some(t=>t(e))){const r=i.quasis.map(e=>e.value.raw);let o=0;const a=r.reduce((e,t,n)=>{if(0===n)return t;let r=\"\";const i=t.match(/^(\\s*)(:+)(\\s*)/);if(i){const e=!!i[1],n=i[2].length;i[3]||(e&&(r+=\"-whitespace\"),r+=\"-colon\".repeat(n),t=\"￿\"+t.slice(i[0].length))}return e+\"@prettier-placeholder\".concat(r,\"-\").concat(o++,\"-id\")+t},\"\");return function(e,t,n){const r=t.getValue();if(1===r.quasis.length&&!r.quasis[0].value.raw.trim())return\"``\";const i=r.expressions?t.map(n,\"expressions\"):[],o=function(e,t){if(!t||!t.length)return e;const n=t.slice();let r=0;const i=wm(e,e=>{if(!e||!e.parts||!e.parts.length)return e;let{parts:t}=e;const i=t.indexOf(\"@\"),o=i+1;if(i>-1&&\"string\"==typeof t[o]&&t[o].startsWith(\"prettier-placeholder\")){const e=t[i],n=t[o],r=t.slice(o+1);t=t.slice(0,i).concat([e+n]).concat(r)}const a=t.findIndex(e=>\"string\"==typeof e&&e.startsWith(\"@prettier-placeholder\"));if(a>-1){const e=t[a],i=t.slice(a+1),o=e.match(/@prettier-placeholder((?:-whitespace|-colon)*)-(.+)-id([\\s\\S]*)/),s=o[1],u=o[2];let c=o[3];const l=n[u];s&&(c=s.replace(/-whitespace/g,\" \").replace(/-colon/g,\":\")+c.replace(/^\\uffff/g,\"\")),r++,t=t.slice(0,a).concat([\"${\",l,\"}\"+c]).concat(i)}return Object.assign({},e,{parts:t})});return n.length===r?i:null}(e,i);if(!o)throw new Error(\"Couldn't insert all the expressions\");return xm([\"`\",mm(xm([vm,Sm(o)])),bm,\"`\"])}(n(a,{parser:\"css\"}),e,t)}if(function(e){const t=e.getValue(),n=e.getParentNode();return Lm(t,\"GraphQL\")||n&&(\"TaggedTemplateExpression\"===n.type&&(\"MemberExpression\"===n.tag.type&&\"graphql\"===n.tag.object.name&&\"experimental\"===n.tag.property.name||\"Identifier\"===n.tag.type&&(\"gql\"===n.tag.name||\"graphql\"===n.tag.name))||\"CallExpression\"===n.type&&\"Identifier\"===n.callee.type&&\"graphql\"===n.callee.name)}(e)){const r=i.expressions?e.map(t,\"expressions\"):[],o=i.quasis.length;if(1===o&&\"\"===i.quasis[0].value.raw.trim())return\"``\";const a=[];for(let e=0;e<o;e++){const t=0===e,s=e===o-1,u=i.quasis[e].value.cooked;if(\"string\"!=typeof u)return null;const c=u.split(\"\\n\"),l=c.length,p=r[e],f=l>2&&\"\"===c[0].trim()&&\"\"===c[1].trim(),d=l>2&&\"\"===c[l-1].trim()&&\"\"===c[l-2].trim(),h=c.every(e=>/^\\s*(?:#[^\\r\\n]*)?$/.test(e));if(!s&&/#[^\\r\\n]*$/.test(c[l-1]))return null;let m=null;m=h?Tm(c):Sm(n(u,{parser:\"graphql\"})),m?(m=Am(m,!1),!t&&f&&a.push(\"\"),a.push(m),!s&&d&&a.push(\"\")):t||s||!f||a.push(\"\"),p&&a.push(xm([\"${\",p,\"}\"]))}return xm([\"`\",mm(xm([vm,gm(vm,a)])),vm,\"`\"])}const o=function(e){return Lm(e.getValue(),\"HTML\")||e.match(e=>\"TemplateLiteral\"===e.type,(e,t)=>\"TaggedTemplateExpression\"===e.type&&\"Identifier\"===e.tag.type&&\"html\"===e.tag.name&&\"quasi\"===t)}(e)?\"html\":function(e){return e.match(e=>\"TemplateLiteral\"===e.type,(e,t)=>(\"Property\"===e.type||\"ObjectProperty\"===e.type)&&\"Identifier\"===e.key.type&&\"template\"===e.key.name&&\"value\"===t,...Fm)}(e)?\"angular\":void 0;if(o)return function(e,t,n,r,i){const o=e.getValue(),a=Pm;Pm=Pm+1>>>0;const s=e=>\"PRETTIER_HTML_PLACEHOLDER_\".concat(e,\"_\").concat(a,\"_IN_JS\"),u=o.quasis.map((e,t,n)=>t===n.length-1?e.value.cooked:e.value.cooked+s(t)).join(\"\"),c=e.map(t,\"expressions\");if(0===c.length&&0===u.trim().length)return\"``\";const l=new RegExp(s(\"(\\\\d+)\"),\"g\");let p=0;const f=wm(Sm(n(u,{parser:r,__onHtmlRoot(e){p=e.children.length}})),e=>{if(\"string\"!=typeof e)return e;const t=[],n=e.split(l);for(let e=0;e<n.length;e++){let r=n[e];if(e%2==0){r&&(r=km(r),i.embeddedInHtml&&(r=r.replace(/<\\/(script)\\b/gi,\"<\\\\/$1\")),t.push(r));continue}const o=+r;t.push(xm([\"${\",Dm(c[o]),\"}\"]))}return xm(t)}),d=/^\\s/.test(u)?\" \":\"\",h=/\\s$/.test(u)?\" \":\"\",m=\"ignore\"===i.htmlWhitespaceSensitivity?vm:d&&h?ym:null;return Dm(xm(m?[\"`\",mm(xm([m,Dm(f)])),m,\"`\"]:[\"`\",d,p>1?mm(Dm(f)):Dm(f),h,\"`\"]))}(e,t,n,o,r);break}case\"TemplateElement\":if(a&&\"TaggedTemplateExpression\"===a.type&&1===o.quasis.length&&\"Identifier\"===a.tag.type&&(\"md\"===a.tag.name||\"markdown\"===a.tag.name)){const e=o.quasis[0].value.raw.replace(/((?:\\\\\\\\)*)\\\\`/g,(e,t)=>\"\\\\\".repeat(t.length/2)+\"`\"),t=function(e){const t=e.match(/^([^\\S\\n]*)\\S/m);return null===t?\"\":t[1]}(e);return xm([\"\"!==t?mm(xm([bm,s(e.replace(new RegExp(\"^\".concat(t),\"gm\"),\"\"))])):xm([Em,Cm(s(e))]),bm])}}function s(e){const t=n(e,{parser:\"markdown\",__inJsTemplate:!0});return Sm(Am(t,!0))}},Bm=function(e,t,n){if([\"range\",\"raw\",\"comments\",\"leadingComments\",\"trailingComments\",\"innerComments\",\"extra\",\"start\",\"end\",\"flags\",\"errors\"].forEach(e=>{delete t[e]}),e.loc&&null===e.loc.source&&delete t.loc.source,\"BigIntLiteral\"===e.type&&(t.value=t.value.toLowerCase()),\"EmptyStatement\"===e.type)return null;if(\"JSXText\"===e.type)return null;if(\"JSXExpressionContainer\"===e.type&&\"Literal\"===e.expression.type&&\" \"===e.expression.value)return null;if(\"TSParameterProperty\"===e.type&&null===e.accessibility&&!e.readonly)return{type:\"Identifier\",name:e.parameter.name,typeAnnotation:t.parameter.typeAnnotation,decorators:t.decorators};\"TSNamespaceExportDeclaration\"===e.type&&e.specifiers&&0===e.specifiers.length&&delete t.specifiers,\"JSXOpeningElement\"===e.type&&delete t.selfClosing,\"JSXElement\"===e.type&&delete t.closingElement,\"Property\"!==e.type&&\"ObjectProperty\"!==e.type&&\"MethodDefinition\"!==e.type&&\"ClassProperty\"!==e.type&&\"TSPropertySignature\"!==e.type&&\"ObjectTypeProperty\"!==e.type||\"object\"!=typeof e.key||!e.key||\"Literal\"!==e.key.type&&\"StringLiteral\"!==e.key.type&&\"Identifier\"!==e.key.type||delete t.key,\"OptionalMemberExpression\"===e.type&&!1===e.optional&&(t.type=\"MemberExpression\",delete t.optional),\"JSXElement\"===e.type&&\"style\"===e.openingElement.name.name&&e.openingElement.attributes.some(e=>\"jsx\"===e.name.name)&&t.children.filter(e=>\"JSXExpressionContainer\"===e.type&&\"TemplateLiteral\"===e.expression.type).map(e=>e.expression).reduce((e,t)=>e.concat(t.quasis),[]).forEach(e=>delete e.value),\"JSXAttribute\"===e.type&&\"css\"===e.name.name&&\"JSXExpressionContainer\"===e.value.type&&\"TemplateLiteral\"===e.value.expression.type&&t.value.expression.quasis.forEach(e=>delete e.value);const r=e.expression||e.callee;if(\"Decorator\"===e.type&&\"CallExpression\"===r.type&&\"Component\"===r.callee.name&&1===r.arguments.length){const n=e.expression.arguments[0].properties;t.expression.arguments[0].properties.forEach((e,t)=>{let r=null;switch(n[t].key.name){case\"styles\":\"ArrayExpression\"===e.value.type&&(r=e.value.elements[0]);break;case\"template\":\"TemplateLiteral\"===e.value.type&&(r=e.value)}r&&r.quasis.forEach(e=>delete e.value)})}\"TaggedTemplateExpression\"!==e.type||\"MemberExpression\"!==e.tag.type&&(\"Identifier\"!==e.tag.type||\"gql\"!==e.tag.name&&\"graphql\"!==e.tag.name&&\"css\"!==e.tag.name&&\"md\"!==e.tag.name&&\"markdown\"!==e.tag.name&&\"html\"!==e.tag.name)&&\"CallExpression\"!==e.tag.type||t.quasi.quasis.forEach(e=>delete e.value),\"TemplateLiteral\"===e.type&&(e.leadingComments&&e.leadingComments.some(e=>\"CommentBlock\"===e.type&&[\"GraphQL\",\"HTML\"].some(t=>e.value===\" \".concat(t,\" \")))||\"CallExpression\"===n.type&&\"graphql\"===n.callee.name)&&t.quasis.forEach(e=>delete e.value)};const{getLast:Um,hasNewline:zm,hasNewlineInRange:Vm,hasIgnoreComment:qm,hasNodeIgnoreComment:Hm,skipWhitespace:Wm}=na,Gm=wi.keyword.isIdentifierNameES5,Km=new RegExp(\"^\".concat(\"(?:(?=.)\\\\s)\",\"*:\")),Jm=new RegExp(\"^\".concat(\"(?:(?=.)\\\\s)\",\"*::\"));function Qm(e,t){if(!e||\"object\"!=typeof e)return!1;if(Array.isArray(e))return e.some(e=>Qm(e,t));const n=t(e);return\"boolean\"==typeof n?n:Object.keys(e).some(n=>Qm(e[n],t))}function Ym(e){return\"AssignmentExpression\"===e.type||\"BinaryExpression\"===e.type||\"LogicalExpression\"===e.type||\"NGPipeExpression\"===e.type||\"ConditionalExpression\"===e.type||\"CallExpression\"===e.type||\"OptionalCallExpression\"===e.type||\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type||\"SequenceExpression\"===e.type||\"TaggedTemplateExpression\"===e.type||\"BindExpression\"===e.type||\"UpdateExpression\"===e.type&&!e.prefix||\"TSAsExpression\"===e.type||\"TSNonNullExpression\"===e.type}const $m=new Set([\"ExportDefaultDeclaration\",\"ExportDefaultSpecifier\",\"DeclareExportDeclaration\",\"ExportNamedDeclaration\",\"ExportAllDeclaration\"]);function Xm(e){return e&&$m.has(e.type)}function Zm(e){return\"BooleanLiteral\"===e.type||\"DirectiveLiteral\"===e.type||\"Literal\"===e.type||\"NullLiteral\"===e.type||\"NumericLiteral\"===e.type||\"RegExpLiteral\"===e.type||\"StringLiteral\"===e.type||\"TemplateLiteral\"===e.type||\"TSTypeLiteral\"===e.type||\"JSXText\"===e.type}function eg(e){return\"NumericLiteral\"===e.type||\"Literal\"===e.type&&\"number\"==typeof e.value}function tg(e){return\"StringLiteral\"===e.type||\"Literal\"===e.type&&\"string\"==typeof e.value}function ng(e){return\"FunctionExpression\"===e.type||\"ArrowFunctionExpression\"===e.type}function rg(e){return!(\"CallExpression\"!==e.type&&\"OptionalCallExpression\"!==e.type||\"Identifier\"!==e.callee.type||\"async\"!==e.callee.name&&\"inject\"!==e.callee.name&&\"fakeAsync\"!==e.callee.name)}function ig(e){return\"JSXElement\"===e.type||\"JSXFragment\"===e.type}function og(e){return\"get\"===e.kind||\"set\"===e.kind}function ag(e,t,n){return n.locStart(e)===n.locStart(t)}function sg(e,t){return og(e)||ag(e,e.value,t)}const ug=/^(skip|[fx]?(it|describe|test))$/;function cg(e){return\"CallExpression\"===e.type||\"OptionalCallExpression\"===e.type}const lg=new RegExp(\"([ \\n\\r\\t]+)\"),pg=new RegExp(\"[^ \\n\\r\\t]\");function fg(e){return Zm(e)&&(pg.test(mg(e))||!/\\n/.test(mg(e)))}function dg(e,t,n){return ig(t)?Hm(t):t.comments&&t.comments.some(t=>t.leading&&zm(e,n.locEnd(t)))}function hg(e){return e.quasis.some(e=>e.value.raw.includes(\"\\n\"))}function mg(e){return e.extra?e.extra.raw:e.raw}var gg={classChildNeedsASIProtection:function(e){if(e){if(e.static||e.accessibility)return!1;if(!e.computed){const t=e.key&&e.key.name;if(\"in\"===t||\"instanceof\"===t)return!0}switch(e.type){case\"ClassProperty\":case\"TSAbstractClassProperty\":return e.computed;case\"MethodDefinition\":case\"TSAbstractMethodDefinition\":case\"ClassMethod\":case\"ClassPrivateMethod\":{const t=e.value?e.value.async:e.async,n=e.value?e.value.generator:e.generator;return!(t||\"get\"===e.kind||\"set\"===e.kind||!e.computed&&!n)}case\"TSIndexSignature\":return!0;default:return!1}}},classPropMayCauseASIProblems:function(e){const t=e.getNode();if(\"ClassProperty\"!==t.type)return!1;const n=t.key&&t.key.name;return!(\"static\"!==n&&\"get\"!==n&&\"set\"!==n||t.value||t.typeAnnotation)||void 0},conditionalExpressionChainContainsJSX:function(e){return Boolean(function(e){const t=[];return function e(n){\"ConditionalExpression\"===n.type?(e(n.test),e(n.consequent),e(n.alternate)):t.push(n)}(e),t}(e).find(ig))},getFlowVariance:function(e){if(!e.variance)return null;const t=e.variance.kind||e.variance;switch(t){case\"plus\":return\"+\";case\"minus\":return\"-\";default:return t}},getLeftSidePathName:function(e,t){if(t.expressions)return[\"expressions\",0];if(t.left)return[\"left\"];if(t.test)return[\"test\"];if(t.object)return[\"object\"];if(t.callee)return[\"callee\"];if(t.tag)return[\"tag\"];if(t.argument)return[\"argument\"];if(t.expression)return[\"expression\"];throw new Error(\"Unexpected node has no left side\",t)},getParentExportDeclaration:function(e){const t=e.getParentNode();return\"declaration\"===e.getName()&&Xm(t)?t:null},getTypeScriptMappedTypeModifier:function(e,t){return\"+\"===e?\"+\"+t:\"-\"===e?\"-\"+t:t},hasDanglingComments:function(e){return e.comments&&e.comments.some(e=>!e.leading&&!e.trailing)},hasFlowAnnotationComment:function(e){return e&&e[0].value.match(Jm)},hasFlowShorthandAnnotationComment:function(e){return e.extra&&e.extra.parenthesized&&e.trailingComments&&e.trailingComments[0].value.match(Km)},hasLeadingComment:function(e){return e.comments&&e.comments.some(e=>e.leading)},hasLeadingOwnLineComment:dg,hasNakedLeftSide:Ym,hasNewlineBetweenOrAfterDecorators:function(e,t){return Vm(t.originalText,t.locStart(e.decorators[0]),t.locEnd(Um(e.decorators)))||zm(t.originalText,t.locEnd(Um(e.decorators)))},hasNgSideEffect:function(e){return Qm(e.getValue(),e=>{switch(e.type){case void 0:return!1;case\"CallExpression\":case\"OptionalCallExpression\":case\"AssignmentExpression\":return!0}})},hasNode:Qm,hasPrettierIgnore:function(e){return qm(e)||function(e){const t=e.getValue(),n=e.getParentNode();if(!(n&&t&&ig(t)&&ig(n)))return!1;let r=null;for(let e=n.children.indexOf(t);e>0;e--){const t=n.children[e-1];if(\"JSXText\"!==t.type||fg(t)){r=t;break}}return r&&\"JSXExpressionContainer\"===r.type&&\"JSXEmptyExpression\"===r.expression.type&&r.expression.comments&&r.expression.comments.find(e=>\"prettier-ignore\"===e.value.trim())}(e)},hasTrailingComment:function(e){return e.comments&&e.comments.some(e=>e.trailing)},identity:function(e){return e},isBinaryish:function(e){return\"BinaryExpression\"===e.type||\"LogicalExpression\"===e.type||\"NGPipeExpression\"===e.type},isCallOrOptionalCallExpression:cg,isEmptyJSXElement:function(e){if(0===e.children.length)return!0;if(e.children.length>1)return!1;const t=e.children[0];return Zm(t)&&!fg(t)},isExportDeclaration:Xm,isFlowAnnotationComment:function(e,t,n){const r=n.locStart(t),i=Wm(e,n.locEnd(t));return\"/*\"===e.slice(r,r+2)&&\"*/\"===e.slice(i,i+2)},isFunctionCompositionArgs:function(e){if(e.length<=1)return!1;let t=0;for(const n of e)if(ng(n)){if(t+=1,t>1)return!0}else if(cg(n))for(const e of n.arguments)if(ng(e))return!0;return!1},isFunctionNotation:sg,isFunctionOrArrowExpression:ng,isGetterOrSetter:og,isJestEachTemplateLiteral:function(e,t){const n=/^[xf]?(describe|it|test)$/;return\"TaggedTemplateExpression\"===t.type&&t.quasi===e&&\"MemberExpression\"===t.tag.type&&\"Identifier\"===t.tag.property.type&&\"each\"===t.tag.property.name&&(\"Identifier\"===t.tag.object.type&&n.test(t.tag.object.name)||\"MemberExpression\"===t.tag.object.type&&\"Identifier\"===t.tag.object.property.type&&(\"only\"===t.tag.object.property.name||\"skip\"===t.tag.object.property.name)&&\"Identifier\"===t.tag.object.object.type&&n.test(t.tag.object.object.name))},isJSXNode:ig,isJSXWhitespaceExpression:function(e){return\"JSXExpressionContainer\"===e.type&&Zm(e.expression)&&\" \"===e.expression.value&&!e.expression.comments},isLastStatement:function(e){const t=e.getParentNode();if(!t)return!0;const n=e.getValue(),r=(t.body||t.consequent).filter(e=>\"EmptyStatement\"!==e.type);return r&&r[r.length-1]===n},isLiteral:Zm,isLongCurriedCallExpression:function(e){const t=e.getValue(),n=e.getParentNode();return cg(t)&&cg(n)&&n.callee===t&&t.arguments.length>n.arguments.length&&n.arguments.length>0},isSimpleCallArgument:function e(t,n){if(n>=2)return!1;const r=t=>e(t,n+1),i=\"Literal\"===t.type&&t.regex&&t.regex.pattern||\"RegExpLiteral\"===t.type&&t.pattern;return!(i&&i.length>5)&&(\"Literal\"===t.type||\"BooleanLiteral\"===t.type||\"NullLiteral\"===t.type||\"NumericLiteral\"===t.type||\"StringLiteral\"===t.type||\"Identifier\"===t.type||\"ThisExpression\"===t.type||\"Super\"===t.type||\"BigIntLiteral\"===t.type||\"PrivateName\"===t.type||\"ArgumentPlaceholder\"===t.type||\"RegExpLiteral\"===t.type||\"Import\"===t.type||(\"TemplateLiteral\"===t.type?t.expressions.every(r):\"ObjectExpression\"===t.type?t.properties.every(e=>!e.computed&&(e.shorthand||e.value&&r(e.value))):\"ArrayExpression\"===t.type?t.elements.every(r):\"CallExpression\"===t.type||\"OptionalCallExpression\"===t.type||\"NewExpression\"===t.type?e(t.callee,n)&&t.arguments.every(r):\"MemberExpression\"===t.type||\"OptionalMemberExpression\"===t.type?e(t.object,n)&&e(t.property,n):\"UnaryExpression\"!==t.type||\"!\"!==t.operator&&\"-\"!==t.operator?\"TSNonNullExpression\"===t.type&&e(t.expression,n):e(t.argument,n)))},isMeaningfulJSXText:fg,isMemberExpressionChain:function e(t){return(\"MemberExpression\"===t.type||\"OptionalMemberExpression\"===t.type)&&(\"Identifier\"===t.object.type||e(t.object))},isMemberish:function(e){return\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type||\"BindExpression\"===e.type&&e.object},isNgForOf:function(e,t,n){return\"NGMicrosyntaxKeyedExpression\"===e.type&&\"of\"===e.key.name&&1===t&&\"NGMicrosyntaxLet\"===n.body[0].type&&null===n.body[0].value},isNumericLiteral:eg,isObjectType:function(e){return\"ObjectTypeAnnotation\"===e.type||\"TSTypeLiteral\"===e.type},isObjectTypePropertyAFunction:function(e,t){return!(\"ObjectTypeProperty\"!==e.type&&\"ObjectTypeInternalSlot\"!==e.type||\"FunctionTypeAnnotation\"!==e.value.type||e.static||sg(e,t))},isSimpleFlowType:function(e){return e&&[\"AnyTypeAnnotation\",\"NullLiteralTypeAnnotation\",\"GenericTypeAnnotation\",\"ThisTypeAnnotation\",\"NumberTypeAnnotation\",\"VoidTypeAnnotation\",\"EmptyTypeAnnotation\",\"MixedTypeAnnotation\",\"BooleanTypeAnnotation\",\"BooleanLiteralTypeAnnotation\",\"StringTypeAnnotation\"].includes(e.type)&&!(\"GenericTypeAnnotation\"===e.type&&e.typeParameters)},isSimpleTemplateLiteral:function(e){return 0!==e.expressions.length&&e.expressions.every(e=>{if(e.comments)return!1;if(\"Identifier\"===e.type||\"ThisExpression\"===e.type)return!0;if(\"MemberExpression\"===e.type||\"OptionalMemberExpression\"===e.type){let t=e;for(;\"MemberExpression\"===t.type||\"OptionalMemberExpression\"===t.type;){if(\"Identifier\"!==t.property.type&&\"Literal\"!==t.property.type&&\"StringLiteral\"!==t.property.type&&\"NumericLiteral\"!==t.property.type)return!1;if(t=t.object,t.comments)return!1}return\"Identifier\"===t.type||\"ThisExpression\"===t.type}return!1})},isStringLiteral:tg,isStringPropSafeToCoerceToIdentifier:function(e,t){return tg(e.key)&&Gm(e.key.value)&&\"json\"!==t.parser&&!((\"typescript\"===t.parser||\"babel-ts\"===t.parser)&&\"ClassProperty\"===e.type)},isTemplateOnItsOwnLine:function(e,t,n){return(\"TemplateLiteral\"===e.type&&hg(e)||\"TaggedTemplateExpression\"===e.type&&hg(e.quasi))&&!zm(t,n.locStart(e),{backwards:!0})},isTestCall:function e(t,n){if(\"CallExpression\"!==t.type)return!1;if(1===t.arguments.length){if(rg(t)&&n&&e(n))return ng(t.arguments[0]);if(function(e){return\"Identifier\"===e.callee.type&&/^(before|after)(Each|All)$/.test(e.callee.name)&&1===e.arguments.length}(t))return rg(t.arguments[0])}else if((2===t.arguments.length||3===t.arguments.length)&&(\"Identifier\"===t.callee.type&&ug.test(t.callee.name)||(\"MemberExpression\"===(r=t).callee.type||\"OptionalMemberExpression\"===r.callee.type)&&\"Identifier\"===r.callee.object.type&&\"Identifier\"===r.callee.property.type&&ug.test(r.callee.object.name)&&(\"only\"===r.callee.property.name||\"skip\"===r.callee.property.name))&&(function(e){return\"TemplateLiteral\"===e.type}(t.arguments[0])||tg(t.arguments[0])))return!(t.arguments[2]&&!eg(t.arguments[2]))&&((2===t.arguments.length?ng(t.arguments[1]):function(e){return\"FunctionExpression\"===e.type||\"ArrowFunctionExpression\"===e.type&&\"BlockStatement\"===e.body.type}(t.arguments[1])&&t.arguments[1].params.length<=1)||rg(t.arguments[1]));var r;return!1},isTheOnlyJSXElementInMarkdown:function(e,t){if(\"markdown\"!==e.parentParser&&\"mdx\"!==e.parentParser)return!1;const n=t.getNode();if(!n.expression||!ig(n.expression))return!1;const r=t.getParentNode();return\"Program\"===r.type&&1===r.body.length},isTSXFile:function(e){return e.filepath&&/\\.tsx$/i.test(e.filepath)},isTypeAnnotationAFunction:function(e,t){return!(\"TypeAnnotation\"!==e.type&&\"TSTypeAnnotation\"!==e.type||\"FunctionTypeAnnotation\"!==e.typeAnnotation.type||e.static||ag(e,e.typeAnnotation,t))},matchJsxWhitespaceRegex:lg,needsHardlineAfterDanglingComment:function(e){if(!e.comments)return!1;const t=Um(e.comments.filter(e=>!e.leading&&!e.trailing));return t&&!fm.isBlockComment(t)},rawText:mg,returnArgumentHasLeadingComment:function(e,t){if(dg(e.originalText,t,e))return!0;if(Ym(t)){let r,i=t;for(;r=(n=i).expressions?n.expressions[0]:n.left||n.test||n.callee||n.object||n.tag||n.argument||n.expression;)if(i=r,dg(e.originalText,i,e))return!0}var n;return!1}};const{getLeftSidePathName:yg,hasFlowShorthandAnnotationComment:vg,hasNakedLeftSide:bg,hasNode:Eg}=gg;function xg(e,t){const n=e.getParentNode();if(!n)return!1;const r=e.getName(),i=e.getNode();if(e.getValue()!==i)return!1;if(t.__isInHtmlInterpolation&&!t.bracketSpacing&&function(e){switch(e.type){case\"ObjectExpression\":return!0;default:return!1}}(i)&&Dg(e))return!0;if(function(e){return\"BlockStatement\"===e.type||\"BreakStatement\"===e.type||\"ClassBody\"===e.type||\"ClassDeclaration\"===e.type||\"ClassMethod\"===e.type||\"ClassProperty\"===e.type||\"ClassPrivateProperty\"===e.type||\"ContinueStatement\"===e.type||\"DebuggerStatement\"===e.type||\"DeclareClass\"===e.type||\"DeclareExportAllDeclaration\"===e.type||\"DeclareExportDeclaration\"===e.type||\"DeclareFunction\"===e.type||\"DeclareInterface\"===e.type||\"DeclareModule\"===e.type||\"DeclareModuleExports\"===e.type||\"DeclareVariable\"===e.type||\"DoWhileStatement\"===e.type||\"EnumDeclaration\"===e.type||\"ExportAllDeclaration\"===e.type||\"ExportDefaultDeclaration\"===e.type||\"ExportNamedDeclaration\"===e.type||\"ExpressionStatement\"===e.type||\"ForAwaitStatement\"===e.type||\"ForInStatement\"===e.type||\"ForOfStatement\"===e.type||\"ForStatement\"===e.type||\"FunctionDeclaration\"===e.type||\"IfStatement\"===e.type||\"ImportDeclaration\"===e.type||\"InterfaceDeclaration\"===e.type||\"LabeledStatement\"===e.type||\"MethodDefinition\"===e.type||\"ReturnStatement\"===e.type||\"SwitchStatement\"===e.type||\"ThrowStatement\"===e.type||\"TryStatement\"===e.type||\"TSDeclareFunction\"===e.type||\"TSEnumDeclaration\"===e.type||\"TSImportEqualsDeclaration\"===e.type||\"TSInterfaceDeclaration\"===e.type||\"TSModuleDeclaration\"===e.type||\"TSNamespaceExportDeclaration\"===e.type||\"TypeAlias\"===e.type||\"VariableDeclaration\"===e.type||\"WhileStatement\"===e.type||\"WithStatement\"===e.type}(i))return!1;if(\"flow\"!==t.parser&&vg(e.getValue()))return!0;if(\"Identifier\"===i.type)return!!(i.extra&&i.extra.parenthesized&&/^PRETTIER_HTML_PLACEHOLDER_\\d+_\\d+_IN_JS$/.test(i.name));if(\"ParenthesizedExpression\"===n.type)return!1;if(!(\"ClassDeclaration\"!==n.type&&\"ClassExpression\"!==n.type||n.superClass!==i||\"ArrowFunctionExpression\"!==i.type&&\"AssignmentExpression\"!==i.type&&\"AwaitExpression\"!==i.type&&\"BinaryExpression\"!==i.type&&\"ConditionalExpression\"!==i.type&&\"LogicalExpression\"!==i.type&&\"NewExpression\"!==i.type&&\"ObjectExpression\"!==i.type&&\"ParenthesizedExpression\"!==i.type&&\"SequenceExpression\"!==i.type&&\"TaggedTemplateExpression\"!==i.type&&\"UnaryExpression\"!==i.type&&\"UpdateExpression\"!==i.type&&\"YieldExpression\"!==i.type))return!0;if(\"ExportDefaultDeclaration\"===n.type)return function e(t,n){const r=t.getValue(),i=t.getParentNode();return\"FunctionExpression\"===r.type||\"ClassExpression\"===r.type?\"ExportDefaultDeclaration\"===i.type||!xg(t,n):!(!bg(r)||\"ExportDefaultDeclaration\"!==i.type&&xg(t,n))&&t.call(t=>e(t,n),...yg(t,r))}(e,t)||\"SequenceExpression\"===i.type;if(\"Decorator\"===n.type&&n.expression===i){let e=!1,t=!1,n=i;for(;n;)switch(n.type){case\"MemberExpression\":t=!0,n=n.object;break;case\"CallExpression\":if(t||e)return!0;e=!0,n=n.callee;break;case\"Identifier\":return!1;default:return!0}return!0}if(\"ArrowFunctionExpression\"===n.type&&n.body===i&&\"SequenceExpression\"!==i.type&&na.startsWithNoLookaheadToken(i,!1)||\"ExpressionStatement\"===n.type&&na.startsWithNoLookaheadToken(i,!0))return!0;switch(i.type){case\"SpreadElement\":case\"SpreadProperty\":return\"MemberExpression\"===n.type&&\"object\"===r&&n.object===i;case\"UpdateExpression\":if(\"UnaryExpression\"===n.type)return i.prefix&&(\"++\"===i.operator&&\"+\"===n.operator||\"--\"===i.operator&&\"-\"===n.operator);case\"UnaryExpression\":switch(n.type){case\"UnaryExpression\":return i.operator===n.operator&&(\"+\"===i.operator||\"-\"===i.operator);case\"BindExpression\":return!0;case\"MemberExpression\":case\"OptionalMemberExpression\":return\"object\"===r;case\"TaggedTemplateExpression\":return!0;case\"NewExpression\":case\"CallExpression\":case\"OptionalCallExpression\":return\"callee\"===r;case\"BinaryExpression\":return\"**\"===n.operator&&\"left\"===r;case\"TSNonNullExpression\":return!0;default:return!1}case\"BinaryExpression\":{if(\"UpdateExpression\"===n.type)return!0;const t=t=>{let n=0;for(;t;){const r=e.getParentNode(n++);if(!r)return!1;if(\"ForStatement\"===r.type&&r.init===t)return!0;t=r}return!1};if(\"in\"===i.operator&&t(i))return!0}case\"TSTypeAssertion\":case\"TSAsExpression\":case\"LogicalExpression\":switch(n.type){case\"ConditionalExpression\":return\"TSAsExpression\"===i.type;case\"CallExpression\":case\"NewExpression\":case\"OptionalCallExpression\":return\"callee\"===r;case\"ClassExpression\":case\"ClassDeclaration\":return\"superClass\"===r&&n.superClass===i;case\"TSTypeAssertion\":case\"TaggedTemplateExpression\":case\"UnaryExpression\":case\"JSXSpreadAttribute\":case\"SpreadElement\":case\"SpreadProperty\":case\"BindExpression\":case\"AwaitExpression\":case\"TSAsExpression\":case\"TSNonNullExpression\":case\"UpdateExpression\":return!0;case\"MemberExpression\":case\"OptionalMemberExpression\":return\"object\"===r;case\"AssignmentExpression\":return n.left===i&&(\"TSTypeAssertion\"===i.type||\"TSAsExpression\"===i.type);case\"LogicalExpression\":if(\"LogicalExpression\"===i.type)return n.operator!==i.operator;case\"BinaryExpression\":{if(!i.operator&&\"TSTypeAssertion\"!==i.type)return!0;const e=n.operator,t=na.getPrecedence(e),o=i.operator,a=na.getPrecedence(o);return t>a||(t===a&&\"right\"===r?(ho.strictEqual(n.right,i),!0):t===a&&!na.shouldFlatten(e,o)||(t<a&&\"%\"===o?\"+\"===e||\"-\"===e:!!na.isBitwiseOperator(e)))}default:return!1}case\"SequenceExpression\":switch(n.type){case\"ReturnStatement\":case\"ForStatement\":return!1;case\"ExpressionStatement\":return\"expression\"!==r;case\"ArrowFunctionExpression\":return\"body\"!==r;default:return!0}case\"YieldExpression\":if(\"UnaryExpression\"===n.type||\"AwaitExpression\"===n.type||\"TSAsExpression\"===n.type||\"TSNonNullExpression\"===n.type)return!0;case\"AwaitExpression\":switch(n.type){case\"TaggedTemplateExpression\":case\"UnaryExpression\":case\"BinaryExpression\":case\"LogicalExpression\":case\"SpreadElement\":case\"SpreadProperty\":case\"TSAsExpression\":case\"TSNonNullExpression\":case\"BindExpression\":return!0;case\"MemberExpression\":case\"OptionalMemberExpression\":return\"object\"===r;case\"NewExpression\":case\"CallExpression\":case\"OptionalCallExpression\":return\"callee\"===r;case\"ConditionalExpression\":return n.test===i;default:return!1}case\"TSJSDocFunctionType\":case\"TSConditionalType\":if(\"TSConditionalType\"===n.type&&i===n.extendsType)return!0;case\"TSFunctionType\":case\"TSConstructorType\":if(\"TSConditionalType\"===n.type&&i===n.checkType)return!0;case\"TSUnionType\":case\"TSIntersectionType\":if(\"TSUnionType\"===n.type||\"TSIntersectionType\"===n.type)return!0;case\"TSTypeOperator\":case\"TSInferType\":return\"TSArrayType\"===n.type||\"TSOptionalType\"===n.type||\"TSRestType\"===n.type||\"TSIndexedAccessType\"===n.type&&i===n.objectType||\"TSTypeOperator\"===n.type||\"TSTypeAnnotation\"===n.type&&/^TSJSDoc/.test(e.getParentNode(1).type);case\"ArrayTypeAnnotation\":return\"NullableTypeAnnotation\"===n.type;case\"IntersectionTypeAnnotation\":case\"UnionTypeAnnotation\":return\"ArrayTypeAnnotation\"===n.type||\"NullableTypeAnnotation\"===n.type||\"IntersectionTypeAnnotation\"===n.type||\"UnionTypeAnnotation\"===n.type;case\"NullableTypeAnnotation\":return\"ArrayTypeAnnotation\"===n.type;case\"FunctionTypeAnnotation\":{const t=\"NullableTypeAnnotation\"===n.type?e.getParentNode(1):n;return\"UnionTypeAnnotation\"===t.type||\"IntersectionTypeAnnotation\"===t.type||\"ArrayTypeAnnotation\"===t.type||\"NullableTypeAnnotation\"===t.type}case\"StringLiteral\":case\"NumericLiteral\":case\"Literal\":if(\"string\"==typeof i.value&&\"ExpressionStatement\"===n.type&&(\"typescript\"!==t.parser&&!n.directive||\"typescript\"===t.parser&&\"(\"===t.originalText.charAt(t.locStart(i)-1))){const t=e.getParentNode(1);return\"Program\"===t.type||\"BlockStatement\"===t.type}return\"MemberExpression\"===n.type&&\"number\"==typeof i.value&&\"object\"===r&&n.object===i;case\"AssignmentExpression\":{const t=e.getParentNode(1);return!((\"ArrowFunctionExpression\"!==n.type||n.body!==i)&&(\"ClassProperty\"===n.type&&n.key===i&&n.computed||\"TSPropertySignature\"===n.type&&n.name===i||\"ForStatement\"===n.type&&(n.init===i||n.update===i)||(\"ExpressionStatement\"===n.type?\"ObjectPattern\"!==i.left.type:\"TSPropertySignature\"===n.type&&n.key===i||\"AssignmentExpression\"===n.type||\"SequenceExpression\"===n.type&&t&&\"ForStatement\"===t.type&&(t.init===n||t.update===n)||\"Property\"===n.type&&n.value===i||\"NGChainedExpression\"===n.type)))}case\"ConditionalExpression\":switch(n.type){case\"TaggedTemplateExpression\":case\"UnaryExpression\":case\"SpreadElement\":case\"SpreadProperty\":case\"BinaryExpression\":case\"LogicalExpression\":case\"NGPipeExpression\":case\"ExportDefaultDeclaration\":case\"AwaitExpression\":case\"JSXSpreadAttribute\":case\"TSTypeAssertion\":case\"TypeCastExpression\":case\"TSAsExpression\":case\"TSNonNullExpression\":return!0;case\"NewExpression\":case\"CallExpression\":case\"OptionalCallExpression\":return\"callee\"===r;case\"ConditionalExpression\":return\"test\"===r&&n.test===i;case\"MemberExpression\":case\"OptionalMemberExpression\":return\"object\"===r;default:return!1}case\"FunctionExpression\":switch(n.type){case\"NewExpression\":case\"CallExpression\":case\"OptionalCallExpression\":return\"callee\"===r;case\"TaggedTemplateExpression\":return!0;default:return!1}case\"ArrowFunctionExpression\":switch(n.type){case\"NewExpression\":case\"CallExpression\":case\"OptionalCallExpression\":return\"callee\"===r;case\"MemberExpression\":case\"OptionalMemberExpression\":return\"object\"===r;case\"TSAsExpression\":case\"BindExpression\":case\"TaggedTemplateExpression\":case\"UnaryExpression\":case\"LogicalExpression\":case\"BinaryExpression\":case\"AwaitExpression\":case\"TSTypeAssertion\":return!0;case\"ConditionalExpression\":return\"test\"===r;default:return!1}case\"ClassExpression\":switch(n.type){case\"NewExpression\":return\"callee\"===r&&n.callee===i;default:return!1}case\"OptionalMemberExpression\":case\"OptionalCallExpression\":if(\"MemberExpression\"===n.type&&\"object\"===r||(\"CallExpression\"===n.type||\"NewExpression\"===n.type)&&\"callee\"===r)return!0;case\"CallExpression\":case\"MemberExpression\":case\"TaggedTemplateExpression\":case\"TSNonNullExpression\":if((\"BindExpression\"===n.type||\"NewExpression\"===n.type)&&\"callee\"===r){let e=i;for(;e;)switch(e.type){case\"CallExpression\":case\"OptionalCallExpression\":return!0;case\"MemberExpression\":case\"OptionalMemberExpression\":case\"BindExpression\":e=e.object;break;case\"TaggedTemplateExpression\":e=e.tag;break;case\"TSNonNullExpression\":e=e.expression;break;default:return!1}}return!1;case\"BindExpression\":return(\"BindExpression\"===n.type||\"NewExpression\"===n.type)&&\"callee\"===r||(\"MemberExpression\"===n.type||\"OptionalMemberExpression\"===n.type)&&\"object\"===r;case\"NGPipeExpression\":return!(\"NGRoot\"===n.type||\"NGMicrosyntaxExpression\"===n.type||\"ObjectProperty\"===n.type||\"ArrayExpression\"===n.type||(\"CallExpression\"===n.type||\"OptionalCallExpression\"===n.type)&&n.arguments[r]===i||\"NGPipeExpression\"===n.type&&\"right\"===r||\"MemberExpression\"===n.type&&\"property\"===r||\"AssignmentExpression\"===n.type);case\"JSXFragment\":case\"JSXElement\":return\"callee\"===r||\"ArrayExpression\"!==n.type&&\"ArrowFunctionExpression\"!==n.type&&\"AssignmentExpression\"!==n.type&&\"AssignmentPattern\"!==n.type&&\"BinaryExpression\"!==n.type&&\"CallExpression\"!==n.type&&\"NewExpression\"!==n.type&&\"ConditionalExpression\"!==n.type&&\"ExpressionStatement\"!==n.type&&\"JsExpressionRoot\"!==n.type&&\"JSXAttribute\"!==n.type&&\"JSXElement\"!==n.type&&\"JSXExpressionContainer\"!==n.type&&\"JSXFragment\"!==n.type&&\"LogicalExpression\"!==n.type&&\"ObjectProperty\"!==n.type&&\"OptionalCallExpression\"!==n.type&&\"Property\"!==n.type&&\"ReturnStatement\"!==n.type&&\"ThrowStatement\"!==n.type&&\"TypeCastExpression\"!==n.type&&\"VariableDeclarator\"!==n.type&&\"YieldExpression\"!==n.type;case\"TypeAnnotation\":return\"returnType\"===r&&\"ArrowFunctionExpression\"===n.type&&function(e){return Eg(e,e=>\"ObjectTypeAnnotation\"===e.type&&Eg(e,e=>\"FunctionTypeAnnotation\"===e.type||void 0)||void 0)}(i)}return!1}function Dg(e){const t=e.getValue(),n=e.getParentNode(),r=e.getName();switch(n.type){case\"NGPipeExpression\":if(\"number\"==typeof r&&n.arguments[r]===t&&n.arguments.length-1===r)return e.callParent(Dg);break;case\"ObjectProperty\":if(\"value\"===r){const t=e.getParentNode(1);return t.properties[t.properties.length-1]===n}break;case\"BinaryExpression\":case\"LogicalExpression\":if(\"right\"===r)return e.callParent(Dg);break;case\"ConditionalExpression\":if(\"alternate\"===r)return e.callParent(Dg);break;case\"UnaryExpression\":if(n.prefix)return e.callParent(Dg)}return!1}var Cg=xg;const{builders:{concat:wg,join:Sg,line:kg}}=Sa;var Ag={isVueEventBindingExpression:function e(t){switch(t.type){case\"MemberExpression\":switch(t.property.type){case\"Identifier\":case\"NumericLiteral\":case\"StringLiteral\":return e(t.object)}return!1;case\"Identifier\":return!0;default:return!1}},printHtmlBinding:function(e,t,n){const r=e.getValue();if(t.__onHtmlBindingRoot&&null===e.getName()&&t.__onHtmlBindingRoot(r,t),\"File\"===r.type)return t.__isVueForBindingLeft?e.call(e=>{const{params:t}=e.getValue();return wg([t.length>1?\"(\":\"\",Sg(wg([\",\",kg]),e.map(n,\"params\")),t.length>1?\")\":\"\"])},\"program\",\"body\",0):t.__isVueSlotScope?e.call(e=>Sg(wg([\",\",kg]),e.map(n,\"params\")),\"program\",\"body\",0):void 0}},Tg=function(e,t){switch(t.parser){case\"json\":case\"json5\":case\"json-stringify\":case\"__js_expression\":case\"__vue_expression\":return Object.assign({},e,{type:t.parser.startsWith(\"__\")?\"JsExpressionRoot\":\"JsonRoot\",node:e,comments:[],rootMarker:t.rootMarker});default:return e}};const{shouldFlatten:_g,getNextNonSpaceNonCommentCharacter:Og,hasNewline:Fg,hasNewlineInRange:Ng,getLast:Ig,getStringWidth:Mg,printString:jg,printNumber:Lg,hasIgnoreComment:Pg,hasNodeIgnoreComment:Rg,getPenultimate:Bg,startsWithNoLookaheadToken:Ug,getIndentSize:zg,getPreferredQuote:Vg}=na,{isNextLineEmpty:qg,isNextLineEmptyAfterIndex:Hg,getNextNonSpaceNonCommentCharacterIndex:Wg}=Qa,{insertPragma:Gg}=ru,{printHtmlBinding:Kg,isVueEventBindingExpression:Jg}=Ag,{classChildNeedsASIProtection:Qg,classPropMayCauseASIProblems:Yg,conditionalExpressionChainContainsJSX:$g,getFlowVariance:Xg,getLeftSidePathName:Zg,getParentExportDeclaration:ey,getTypeScriptMappedTypeModifier:ty,hasDanglingComments:ny,hasFlowAnnotationComment:ry,hasFlowShorthandAnnotationComment:iy,hasLeadingComment:oy,hasLeadingOwnLineComment:ay,hasNakedLeftSide:sy,hasNewlineBetweenOrAfterDecorators:uy,hasNgSideEffect:cy,hasPrettierIgnore:ly,hasTrailingComment:py,identity:fy,isBinaryish:dy,isCallOrOptionalCallExpression:hy,isEmptyJSXElement:my,isExportDeclaration:gy,isFlowAnnotationComment:yy,isFunctionCompositionArgs:vy,isFunctionNotation:by,isFunctionOrArrowExpression:Ey,isGetterOrSetter:xy,isJestEachTemplateLiteral:Dy,isJSXNode:Cy,isJSXWhitespaceExpression:wy,isLastStatement:Sy,isLiteral:ky,isLongCurriedCallExpression:Ay,isMeaningfulJSXText:Ty,isMemberExpressionChain:_y,isMemberish:Oy,isNgForOf:Fy,isNumericLiteral:Ny,isObjectType:Iy,isObjectTypePropertyAFunction:My,isSimpleCallArgument:jy,isSimpleFlowType:Ly,isSimpleTemplateLiteral:Py,isStringLiteral:Ry,isStringPropSafeToCoerceToIdentifier:By,isTemplateOnItsOwnLine:Uy,isTestCall:zy,isTheOnlyJSXElementInMarkdown:Vy,isTSXFile:qy,isTypeAnnotationAFunction:Hy,matchJsxWhitespaceRegex:Wy,needsHardlineAfterDanglingComment:Gy,rawText:Ky,returnArgumentHasLeadingComment:Jy}=gg,Qy=new WeakMap,{builders:{concat:Yy,join:$y,line:Xy,hardline:Zy,softline:ev,literalline:tv,group:nv,indent:rv,align:iv,conditionalGroup:ov,fill:av,ifBreak:sv,breakParent:uv,lineSuffixBoundary:cv,addAlignmentToDoc:lv,dedent:pv},utils:{willBreak:fv,isLineNext:dv,isEmpty:hv,removeLines:mv},printer:{printDocToString:gv}}=Sa;let yv=0;function vv(e,t){switch(t=t||\"es5\",e.trailingComma){case\"all\":if(\"all\"===t)return!0;case\"es5\":if(\"es5\"===t)return!0;case\"none\":default:return!1}}function bv(e,t,n){const r=e.getValue();return nv(Yy([$y(Xy,e.map(n,\"decorators\")),uy(r,t)?Zy:Xy]))}function Ev(e,t,n,r){const i=e.getValue(),o=i[r.consequentNodePropertyName],a=i[r.alternateNodePropertyName],s=[];let u=!1;const c=e.getParentNode(),l=c.type===r.conditionalNodeType&&r.testNodePropertyNames.some(e=>c[e]===i);let p,f,d=c.type===r.conditionalNodeType&&!l,h=0;do{f=p||i,p=e.getParentNode(h),h++}while(p&&p.type===r.conditionalNodeType&&r.testNodePropertyNames.every(e=>p[e]!==f));const m=p||c,g=f;if(r.shouldCheckJsx&&(Cy(i[r.testNodePropertyNames[0]])||Cy(o)||Cy(a)||$g(g))){u=!0,d=!0;const t=e=>Yy([sv(\"(\",\"\"),rv(Yy([ev,e])),ev,sv(\")\",\"\")]),i=e=>\"NullLiteral\"===e.type||\"Literal\"===e.type&&null===e.value||\"Identifier\"===e.type&&\"undefined\"===e.name;s.push(\" ? \",i(o)?e.call(n,r.consequentNodePropertyName):t(e.call(n,r.consequentNodePropertyName)),\" : \",a.type===r.conditionalNodeType||i(a)?e.call(n,r.alternateNodePropertyName):t(e.call(n,r.alternateNodePropertyName)))}else{const u=Yy([Xy,\"? \",o.type===r.conditionalNodeType?sv(\"\",\"(\"):\"\",iv(2,e.call(n,r.consequentNodePropertyName)),o.type===r.conditionalNodeType?sv(\"\",\")\"):\"\",Xy,\": \",a.type===r.conditionalNodeType?e.call(n,r.alternateNodePropertyName):iv(2,e.call(n,r.alternateNodePropertyName))]);s.push(c.type!==r.conditionalNodeType||c[r.alternateNodePropertyName]===i||l?u:t.useTabs?pv(rv(u)):iv(Math.max(0,t.tabWidth-2),u))}const y=!u&&(\"MemberExpression\"===c.type||\"OptionalMemberExpression\"===c.type||\"NGPipeExpression\"===c.type&&c.left===i)&&!c.computed,v=(e=>c===m?nv(e):e)(Yy([].concat((b=Yy(r.beforeParts()),c.type===r.conditionalNodeType&&c[r.alternateNodePropertyName]===i?iv(2,b):b),d?Yy(s):rv(Yy(s)),r.afterParts(y))));var b;return l?nv(Yy([rv(Yy([ev,v])),ev])):v}function xv(e,t,n){const r=[],i=e.getNode(),o=\"ClassBody\"===i.type;return e.map((e,a)=>{const s=e.getValue();if(!s)return;if(\"EmptyStatement\"===s.type)return;const u=n(e),c=t.originalText,l=[];if(t.semi||o||Vy(t,e)||!function(e,t){return\"ExpressionStatement\"===e.getNode().type&&e.call(e=>function e(t,n){const r=t.getValue();return!!(Cg(t,n)||\"ParenthesizedExpression\"===r.type||\"TypeCastExpression\"===r.type||\"ArrowFunctionExpression\"===r.type&&!Ov(t,n)||\"ArrayExpression\"===r.type||\"ArrayPattern\"===r.type||\"UnaryExpression\"===r.type&&r.prefix&&(\"+\"===r.operator||\"-\"===r.operator)||\"TemplateLiteral\"===r.type||\"TemplateElement\"===r.type||Cy(r)||\"BindExpression\"===r.type&&!r.object||\"RegExpLiteral\"===r.type||\"Literal\"===r.type&&r.pattern||\"Literal\"===r.type&&r.regex)||!!sy(r)&&t.call(t=>e(t,n),...Zg(t,r))}(e,t),\"expression\")}(e,t)?l.push(u):s.comments&&s.comments.some(e=>e.leading)?l.push(n(e,{needsSemi:!0})):l.push(\";\",u),!t.semi&&o)if(Yg(e))l.push(\";\");else if(\"ClassProperty\"===s.type){const e=i.body[a+1];Qg(e)&&l.push(\";\")}qg(c,s,t.locEnd)&&!Sy(e)&&l.push(Zy),r.push(Yy(l))}),$y(Zy,r)}function Dv(e,t,n){const r=e.getNode();if(r.computed)return Yy([\"[\",e.call(n,\"key\"),\"]\"]);const i=e.getParentNode(),{key:o}=r;if(\"ClassPrivateProperty\"===r.type&&\"Identifier\"===o.type)return Yy([\"#\",e.call(n,\"key\")]);if(\"consistent\"===t.quoteProps&&!Qy.has(i)){const e=(i.properties||i.body||i.members).some(e=>!e.computed&&e.key&&Ry(e.key)&&!By(e,t));Qy.set(i,e)}if(\"Identifier\"===o.type&&(\"json\"===t.parser||\"consistent\"===t.quoteProps&&Qy.get(i))){const n=jg(JSON.stringify(o.name),t);return e.call(e=>gs.printComments(e,()=>n,t),\"key\")}return By(r,t)&&(\"as-needed\"===t.quoteProps||\"consistent\"===t.quoteProps&&!Qy.get(i))?e.call(e=>gs.printComments(e,()=>o.value,t),\"key\"):e.call(n,\"key\")}function Cv(e,t,n){const r=e.getNode(),{kind:i}=r,o=r.value||r,a=[];return i&&\"init\"!==i&&\"method\"!==i&&\"constructor\"!==i?(ho.ok(\"get\"===i||\"set\"===i),a.push(i,\" \")):(o.async&&a.push(\"async \"),o.generator&&a.push(\"*\")),a.push(Dv(e,t,n),r.optional||r.key.optional?\"?\":\"\",r===o?wv(e,t,n):e.call(e=>wv(e,t,n),\"value\")),Yy(a)}function wv(e,t,n){const r=[Tv(e,0,n),nv(Yy([_v(e,n,t),Nv(e,n,t)]))];return e.getNode().body?r.push(\" \",e.call(n,\"body\")):r.push(t.semi?\";\":\"\"),Yy(r)}function Sv(e){return\"ObjectExpression\"===e.type&&(e.properties.length>0||e.comments)||\"ArrayExpression\"===e.type&&(e.elements.length>0||e.comments)||\"TSTypeAssertion\"===e.type&&Sv(e.expression)||\"TSAsExpression\"===e.type&&Sv(e.expression)||\"FunctionExpression\"===e.type||\"ArrowFunctionExpression\"===e.type&&(!e.returnType||!e.returnType.typeAnnotation||\"TSTypeReference\"!==e.returnType.typeAnnotation.type)&&(\"BlockStatement\"===e.body.type||\"ArrowFunctionExpression\"===e.body.type||\"ObjectExpression\"===e.body.type||\"ArrayExpression\"===e.body.type||\"CallExpression\"===e.body.type||\"OptionalCallExpression\"===e.body.type||\"ConditionalExpression\"===e.body.type||Cy(e.body))}function kv(e,t,n){const r=e.getValue(),i=r.arguments;if(0===i.length)return Yy([\"(\",gs.printDanglingComments(e,t,!0),\")\"]);if(2===i.length&&\"ArrowFunctionExpression\"===i[0].type&&0===i[0].params.length&&\"BlockStatement\"===i[0].body.type&&\"ArrayExpression\"===i[1].type&&!i.find(e=>e.comments))return Yy([\"(\",e.call(n,\"arguments\",0),\", \",e.call(n,\"arguments\",1),\")\"]);let o=!1,a=!1,s=!1;const u=i.length-1,c=e.map((e,r)=>{const i=e.getNode(),c=[n(e)];return r===u||(qg(t.originalText,i,t.locEnd)?(0===r&&(s=!0),o=!0,c.push(\",\",Zy,Zy)):c.push(\",\",Xy)),a=function(e,t){if(!e||\"ArrowFunctionExpression\"!==e.type||!e.body||\"BlockStatement\"!==e.body.type||!e.params||e.params.length<1)return!1;let r=!1;return t.each(e=>{const t=Yy([n(e)]);r=r||fv(t)},\"params\"),r}(i,e),Yy(c)},\"arguments\"),l=r.callee&&\"Import\"===r.callee.type||!vv(t,\"all\")?\"\":\",\";function p(){return nv(Yy([\"(\",rv(Yy([Xy,Yy(c)])),l,Xy,\")\"]),{shouldBreak:!0})}if(\"Decorator\"!==e.getParentNode().type&&vy(i))return p();const f=function(e){if(2!==e.length)return!1;const[t,n]=e;return!(t.comments&&t.comments.length||\"FunctionExpression\"!==t.type&&(\"ArrowFunctionExpression\"!==t.type||\"BlockStatement\"!==t.body.type)||\"FunctionExpression\"===n.type||\"ArrowFunctionExpression\"===n.type||\"ConditionalExpression\"===n.type||Sv(n))}(i),d=function(e){const t=Ig(e),n=Bg(e);return!oy(t)&&!py(t)&&Sv(t)&&(!n||n.type!==t.type)}(i);if(f||d){const t=(f?c.slice(1).some(fv):c.slice(0,-1).some(fv))||o||a;let u,l=0;e.each(e=>{f&&0===l&&(u=[Yy([e.call(e=>n(e,{expandFirstArg:!0})),c.length>1?\",\":\"\",s?Zy:Xy,s?Zy:\"\"])].concat(c.slice(1))),d&&l===i.length-1&&(u=c.slice(0,-1).concat(e.call(e=>n(e,{expandLastArg:!0})))),l++},\"arguments\");const h=c.some(fv),m=Yy([\"(\",Yy(u),\")\"]);return Yy([h?uv:\"\",ov([h||r.typeArguments||r.typeParameters?sv(p(),m):m,Yy(f?[\"(\",nv(u[0],{shouldBreak:!0}),Yy(u.slice(1)),\")\"]:[\"(\",Yy(c.slice(0,-1)),nv(Ig(u),{shouldBreak:!0}),\")\"]),p()],{shouldBreak:t})])}const h=Yy([\"(\",rv(Yy([ev,Yy(c)])),sv(l),ev,\")\"]);return Ay(e)?h:nv(h,{shouldBreak:c.some(fv)||o})}function Av(e,t,n){const r=e.getValue();if(!r.typeAnnotation)return\"\";const i=e.getParentNode(),o=r.definite||i&&\"VariableDeclarator\"===i.type&&i.definite,a=\"DeclareFunction\"===i.type&&i.id===r;return yy(t.originalText,r.typeAnnotation,t)?Yy([\" /*: \",e.call(n,\"typeAnnotation\"),\" */\"]):Yy([a?\"\":o?\"!: \":\": \",e.call(n,\"typeAnnotation\")])}function Tv(e,t,n){const r=e.getValue();return r.typeArguments?e.call(n,\"typeArguments\"):r.typeParameters?e.call(n,\"typeParameters\"):\"\"}function _v(e,t,n,r,i){const o=e.getValue(),a=e.getParentNode(),s=o.parameters?\"parameters\":\"params\",u=zy(a),c=Yv(o),l=r&&!(o[s]&&o[s].some(e=>e.comments)),p=i?Tv(e,0,t):\"\";let f=[];if(o[s]){const r=o[s].length-1;f=e.map((e,i)=>{const a=[],s=e.getValue();return a.push(t(e)),i===r?o.rest&&a.push(\",\",Xy):u||c||l?a.push(\", \"):qg(n.originalText,s,n.locEnd)?a.push(\",\",Zy,Zy):a.push(\",\",Xy),Yy(a)},s)}if(o.rest&&f.push(Yy([\"...\",e.call(t,\"rest\")])),0===f.length)return Yy([p,\"(\",gs.printDanglingComments(e,n,!0,e=>\")\"===Og(n.originalText,e,n.locEnd)),\")\"]);const d=Ig(o[s]);if(l)return nv(Yy([mv(p),\"(\",Yy(f.map(mv)),\")\"]));const h=o[s].every(e=>!e.decorators);if(c&&h)return Yy([p,\"(\",Yy(f),\")\"]);if(u)return Yy([p,\"(\",Yy(f),\")\"]);if((My(a,n)||Hy(a,n)||\"TypeAlias\"===a.type||\"UnionTypeAnnotation\"===a.type||\"TSUnionType\"===a.type||\"IntersectionTypeAnnotation\"===a.type||\"FunctionTypeAnnotation\"===a.type&&a.returnType===o)&&1===o[s].length&&null===o[s][0].name&&o[s][0].typeAnnotation&&null===o.typeParameters&&Ly(o[s][0].typeAnnotation)&&!o.rest)return\"always\"===n.arrowParens?Yy([\"(\",Yy(f),\")\"]):Yy(f);const m=!(d&&\"RestElement\"===d.type||o.rest);return Yy([p,\"(\",rv(Yy([ev,Yy(f)])),sv(m&&vv(n,\"all\")?\",\":\"\"),ev,\")\"])}function Ov(e,t){return\"always\"!==t.arrowParens&&(\"avoid\"===t.arrowParens&&function(e){return!(1!==e.params.length||e.rest||e.typeParameters||ny(e)||\"Identifier\"!==e.params[0].type||e.params[0].typeAnnotation||e.params[0].comments||e.params[0].optional||e.predicate||e.returnType)}(e.getValue()))}function Fv(e,t,n){const r=e.getValue(),i=[];return r.async&&i.push(\"async \"),r.generator?i.push(\"function* \"):i.push(\"function \"),r.id&&i.push(e.call(t,\"id\")),i.push(Tv(e,0,t),nv(Yy([_v(e,t,n),Nv(e,t,n)])),r.body?\" \":\"\",e.call(t,\"body\")),Yy(i)}function Nv(e,t,n){const r=e.getValue(),i=e.call(t,\"returnType\");if(r.returnType&&yy(n.originalText,r.returnType,n))return Yy([\" /*: \",i,\" */\"]);const o=[i];return r.returnType&&r.returnType.typeAnnotation&&o.unshift(\": \"),r.predicate&&o.push(r.returnType?\" \":\": \",e.call(t,\"predicate\")),Yy(o)}function Iv(e,t,n){const r=e.getValue(),i=t.semi?\";\":\"\",o=[\"export \"],a=r.default||\"ExportDefaultDeclaration\"===r.type;if(a&&o.push(\"default \"),o.push(gs.printDanglingComments(e,t,!0)),Gy(r)&&o.push(Zy),r.declaration)o.push(e.call(n,\"declaration\")),a&&\"ClassDeclaration\"!==r.declaration.type&&\"FunctionDeclaration\"!==r.declaration.type&&\"TSInterfaceDeclaration\"!==r.declaration.type&&\"DeclareClass\"!==r.declaration.type&&\"DeclareFunction\"!==r.declaration.type&&\"TSDeclareFunction\"!==r.declaration.type&&o.push(i);else{if(r.specifiers&&r.specifiers.length>0){const i=[],a=[],s=[];e.each(t=>{const r=e.getValue().type;\"ExportSpecifier\"===r?i.push(n(t)):\"ExportDefaultSpecifier\"===r?a.push(n(t)):\"ExportNamespaceSpecifier\"===r&&s.push(Yy([\"* as \",n(t)]))},\"specifiers\");const u=0!==s.length&&0!==i.length,c=0!==a.length&&(0!==s.length||0!==i.length),l=i.length>1||a.length>0||r.specifiers&&r.specifiers.some(e=>e.comments);let p=\"\";0!==i.length&&(p=l?nv(Yy([\"{\",rv(Yy([t.bracketSpacing?Xy:ev,$y(Yy([\",\",Xy]),i)])),sv(vv(t)?\",\":\"\"),t.bracketSpacing?Xy:ev,\"}\"])):Yy([\"{\",t.bracketSpacing?\" \":\"\",Yy(i),t.bracketSpacing?\" \":\"\",\"}\"])),o.push(\"type\"===r.exportKind?\"type \":\"\",Yy(a),Yy([c?\", \":\"\"]),Yy(s),Yy([u?\", \":\"\"]),p)}else o.push(\"{}\");r.source&&o.push(\" from \",e.call(n,\"source\")),o.push(i)}return Yy(o)}function Mv(e,t){const n=ey(e);return n?ho.strictEqual(n.type,\"DeclareExportDeclaration\"):t.unshift(\"declare \"),Yy(t)}function jv(e,t,n){const r=e.getValue();return r.modifiers&&r.modifiers.length?Yy([$y(\" \",e.map(n,\"modifiers\")),\" \"]):\"\"}function Lv(e,t,n,r){const i=e.getValue();if(!i[r])return\"\";if(!Array.isArray(i[r]))return e.call(n,r);const o=e.getNode(2),a=e.getNode(3),s=e.getNode(4);return null!=o&&zy(o)||0===i[r].length||1===i[r].length&&(Qv(i[r][0])||\"GenericTypeAnnotation\"===i[r][0].type&&Qv(i[r][0].id)||\"TSTypeReference\"===i[r][0].type&&Qv(i[r][0].typeName)||\"NullableTypeAnnotation\"===i[r][0].type||s&&\"VariableDeclarator\"===s.type&&\"TSTypeAnnotation\"===o.type&&\"ArrowFunctionExpression\"!==a.type&&\"TSUnionType\"!==i[r][0].type&&\"UnionTypeAnnotation\"!==i[r][0].type&&\"TSIntersectionType\"!==i[r][0].type&&\"IntersectionTypeAnnotation\"!==i[r][0].type&&\"TSConditionalType\"!==i[r][0].type&&\"TSMappedType\"!==i[r][0].type&&\"TSTypeOperator\"!==i[r][0].type&&\"TSIndexedAccessType\"!==i[r][0].type&&\"TSArrayType\"!==i[r][0].type)?Yy([\"<\",$y(\", \",e.map(n,r)),function(n){if(!ny(n))return\"\";const r=n.comments.every(fm.isBlockComment),i=gs.printDanglingComments(e,t,r);return r?i:Yy([i,Zy])}(i),\">\"]):nv(Yy([\"<\",rv(Yy([ev,$y(Yy([\",\",Xy]),e.map(n,r))])),sv(\"typescript\"!==t.parser&&\"babel-ts\"!==t.parser&&vv(t,\"all\")?\",\":\"\"),ev,\">\"]))}function Pv(e,t,n){const r=e.getValue(),i=[];r.abstract&&i.push(\"abstract \"),i.push(\"class\"),r.id&&i.push(\" \",e.call(n,\"id\")),i.push(e.call(n,\"typeParameters\"));const o=[];if(r.superClass){const a=Yy([\"extends \",e.call(n,\"superClass\"),e.call(n,\"superTypeParameters\")]);r.implements&&0!==r.implements.length||r.superClass.comments&&0!==r.superClass.comments.length?o.push(nv(Yy([Xy,e.call(e=>gs.printComments(e,()=>a,t),\"superClass\")]))):i.push(Yy([\" \",e.call(e=>gs.printComments(e,()=>a,t),\"superClass\")]))}else r.extends&&r.extends.length>0&&i.push(\" extends \",$y(\", \",e.map(n,\"extends\")));return r.mixins&&r.mixins.length>0&&o.push(Xy,\"mixins \",nv(rv($y(Yy([\",\",Xy]),e.map(n,\"mixins\"))))),r.implements&&r.implements.length>0&&o.push(Xy,\"implements\",nv(rv(Yy([Xy,$y(Yy([\",\",Xy]),e.map(n,\"implements\"))])))),o.length>0&&i.push(nv(rv(Yy(o)))),r.body&&r.body.comments&&ay(t.originalText,r.body,t)?i.push(Zy):i.push(\" \"),i.push(e.call(n,\"body\")),i}function Rv(e){const t=e.getValue();return!t.optional||\"Identifier\"===t.type&&t===e.getParentNode().key?\"\":\"OptionalCallExpression\"===t.type||\"OptionalMemberExpression\"===t.type&&t.computed?\"?.\":\"?\"}function Bv(e,t,n){const r=e.call(n,\"property\"),i=e.getValue(),o=Rv(e);return i.computed?!i.property||Ny(i.property)?Yy([o,\"[\",r,\"]\"]):nv(Yy([o,\"[\",rv(Yy([ev,r])),ev,\"]\"])):Yy([o,\".\",r])}function Uv(e,t,n){return Yy([\"::\",e.call(n,\"callee\")])}function zv(e,t,n,r){return e?\"\":\"JSXElement\"===n.type&&!n.closingElement||r&&\"JSXElement\"===r.type&&!r.closingElement?1===t.length?ev:Zy:ev}function Vv(e,t,n,r){return e?Zy:1===t.length?\"JSXElement\"===n.type&&!n.closingElement||r&&\"JSXElement\"===r.type&&!r.closingElement?Zy:ev:Zy}function qv(e){return\"LogicalExpression\"===e.type&&(\"ObjectExpression\"===e.right.type&&0!==e.right.properties.length||\"ArrayExpression\"===e.right.type&&0!==e.right.elements.length||!!Cy(e.right))}function Hv(e,t,n,r){return ay(r.originalText,t,r)?rv(Yy([Xy,n])):dy(t)&&!qv(t)||\"ConditionalExpression\"===t.type&&dy(t.test)&&!qv(t.test)||\"StringLiteralTypeAnnotation\"===t.type||\"ClassExpression\"===t.type&&t.decorators&&t.decorators.length||(\"Identifier\"===e.type||Ry(e)||\"MemberExpression\"===e.type)&&(Ry(t)||_y(t))&&\"json\"!==r.parser&&\"json5\"!==r.parser||\"SequenceExpression\"===t.type?nv(rv(Yy([Xy,n]))):Yy([\" \",n])}function Wv(e,t,n,r,i,o){if(!r)return t;const a=Hv(e,r,i,o);return nv(Yy([t,n,a]))}function Gv(e,t,n){return\"EmptyStatement\"===e.type?\";\":\"BlockStatement\"===e.type||n?Yy([\" \",t]):rv(Yy([Xy,t]))}function Kv(e,t,n){const r=Ky(e),i=n||\"DirectiveLiteral\"===e.type;return jg(r,t,i)}function Jv(e){const t=e.flags.split(\"\").sort().join(\"\");return\"/\".concat(e.pattern,\"/\").concat(t)}function Qv(e){if(Ly(e)||Iy(e))return!0;if(\"UnionTypeAnnotation\"===e.type||\"TSUnionType\"===e.type){const t=e.types.filter(e=>\"VoidTypeAnnotation\"===e.type||\"TSVoidKeyword\"===e.type||\"NullLiteralTypeAnnotation\"===e.type||\"TSNullKeyword\"===e.type).length,n=e.types.some(e=>\"ObjectTypeAnnotation\"===e.type||\"TSTypeLiteral\"===e.type||\"GenericTypeAnnotation\"===e.type||\"TSTypeReference\"===e.type);if(e.types.length-1===t&&n)return!0}return!1}function Yv(e){if(!e||e.rest)return!1;const t=e.params||e.parameters;if(!t||1!==t.length)return!1;const n=t[0];return!n.comments&&(\"ObjectPattern\"===n.type||\"ArrayPattern\"===n.type||\"Identifier\"===n.type&&n.typeAnnotation&&(\"TypeAnnotation\"===n.typeAnnotation.type||\"TSTypeAnnotation\"===n.typeAnnotation.type)&&Iy(n.typeAnnotation.typeAnnotation)||\"FunctionTypeParam\"===n.type&&Iy(n.typeAnnotation)||\"AssignmentPattern\"===n.type&&(\"ObjectPattern\"===n.left.type||\"ArrayPattern\"===n.left.type)&&(\"Identifier\"===n.right.type||\"ObjectExpression\"===n.right.type&&0===n.right.properties.length||\"ArrayExpression\"===n.right.type&&0===n.right.elements.length))}function $v(e,t,n,r){const i=[];let o=[];return e.each(e=>{i.push(Yy(o)),i.push(nv(r(e))),o=[\",\",Xy],e.getValue()&&qg(t.originalText,e.getValue(),t.locEnd)&&o.push(ev)},n),Yy(i)}function Xv(e,t,n){const r=e.getValue(),i=t.semi?\";\":\"\",o=[];r.argument&&(Jy(t,r.argument)?o.push(Yy([\" (\",rv(Yy([Zy,e.call(n,\"argument\")])),Zy,\")\"])):\"LogicalExpression\"===r.argument.type||\"BinaryExpression\"===r.argument.type||\"SequenceExpression\"===r.argument.type?o.push(nv(Yy([sv(\" (\",\" \"),rv(Yy([ev,e.call(n,\"argument\")])),ev,sv(\")\")]))):o.push(\" \",e.call(n,\"argument\")));const a=Array.isArray(r.comments)&&r.comments[r.comments.length-1],s=a&&(\"CommentLine\"===a.type||\"Line\"===a.type);return s&&o.push(i),ny(r)&&o.push(\" \",gs.printDanglingComments(e,t,!0)),s||o.push(i),Yy(o)}var Zv={preprocess:Tg,print:function(e,t,n,r){const i=e.getValue();let o=!1;const a=function(e,t,n,r){const i=e.getValue(),o=t.semi?\";\":\"\";if(!i)return\"\";if(\"string\"==typeof i)return i;const a=Kg(e,t,n);if(a)return a;let s=[];switch(i.type){case\"JsExpressionRoot\":return e.call(n,\"node\");case\"JsonRoot\":return Yy([e.call(n,\"node\"),Zy]);case\"File\":return i.program&&i.program.interpreter&&s.push(e.call(e=>e.call(n,\"interpreter\"),\"program\")),s.push(e.call(n,\"program\")),Yy(s);case\"Program\":return i.directives&&e.each(e=>{s.push(n(e),o,Zy),qg(t.originalText,e.getValue(),t.locEnd)&&s.push(Zy)},\"directives\"),s.push(e.call(e=>xv(e,t,n),\"body\")),s.push(gs.printDanglingComments(e,t,!0)),(i.body.length||i.comments)&&s.push(Zy),Yy(s);case\"EmptyStatement\":return\"\";case\"ExpressionStatement\":if(i.directive)return Yy([Kv(i.expression,t,!0),o]);if(\"__vue_event_binding\"===t.parser){const t=e.getParentNode();if(\"Program\"===t.type&&1===t.body.length&&t.body[0]===i)return Yy([e.call(n,\"expression\"),Jg(i.expression)?\";\":\"\"])}return Yy([e.call(n,\"expression\"),Vy(t,e)?\"\":o]);case\"ParenthesizedExpression\":return i.expression.comments?nv(Yy([\"(\",rv(Yy([ev,e.call(n,\"expression\")])),ev,\")\"])):Yy([\"(\",e.call(n,\"expression\"),\")\"]);case\"AssignmentExpression\":return Wv(i.left,e.call(n,\"left\"),Yy([\" \",i.operator]),i.right,e.call(n,\"right\"),t);case\"BinaryExpression\":case\"LogicalExpression\":case\"NGPipeExpression\":{const r=e.getParentNode(),o=e.getParentNode(1),a=i!==r.body&&(\"IfStatement\"===r.type||\"WhileStatement\"===r.type||\"SwitchStatement\"===r.type||\"DoWhileStatement\"===r.type),s=function e(t,n,r,i,o){let a=[];const s=t.getValue();if(dy(s)){_g(s.operator,s.left.operator)?a=a.concat(t.call(t=>e(t,n,r,!0,o),\"left\")):a.push(t.call(n,\"left\"));const u=qv(s),c=(\"|>\"===s.operator||\"NGPipeExpression\"===s.type||\"|\"===s.operator&&\"__vue_expression\"===r.parser)&&!ay(r.originalText,s.right,r),l=\"NGPipeExpression\"===s.type?\"|\":s.operator,p=\"NGPipeExpression\"===s.type&&0!==s.arguments.length?nv(rv(Yy([ev,\": \",$y(Yy([ev,\":\",sv(\" \")]),t.map(n,\"arguments\").map(e=>iv(2,nv(e))))]))):\"\",f=Yy(u?[l,\" \",t.call(n,\"right\"),p]:[c?ev:\"\",l,c?\" \":Xy,t.call(n,\"right\"),p]),d=t.getParentNode(),h=!(o&&\"LogicalExpression\"===s.type)&&d.type!==s.type&&s.left.type!==s.type&&s.right.type!==s.type;a.push(\" \",h?nv(f):f),i&&s.comments&&(a=gs.printComments(t,()=>Yy(a),r))}else a.push(t.call(n));return a}(e,n,t,!1,a);if(a)return Yy(s);if((\"CallExpression\"===r.type||\"OptionalCallExpression\"===r.type)&&r.callee===i||\"UnaryExpression\"===r.type||(\"MemberExpression\"===r.type||\"OptionalMemberExpression\"===r.type)&&!r.computed)return nv(Yy([rv(Yy([ev,Yy(s)])),ev]));const u=\"ReturnStatement\"===r.type||\"ThrowStatement\"===r.type||\"JSXExpressionContainer\"===r.type&&\"JSXAttribute\"===o.type||\"|\"!==i.operator&&\"JsExpressionRoot\"===r.type||\"NGPipeExpression\"!==i.type&&(\"NGRoot\"===r.type&&\"__ng_binding\"===t.parser||\"NGMicrosyntaxExpression\"===r.type&&\"NGMicrosyntax\"===o.type&&1===o.body.length)||i===r.body&&\"ArrowFunctionExpression\"===r.type||i!==r.body&&\"ForStatement\"===r.type||\"ConditionalExpression\"===r.type&&\"ReturnStatement\"!==o.type&&\"ThrowStatement\"!==o.type&&\"CallExpression\"!==o.type&&\"OptionalCallExpression\"!==o.type||\"TemplateLiteral\"===r.type,c=\"AssignmentExpression\"===r.type||\"VariableDeclarator\"===r.type||\"ClassProperty\"===r.type||\"TSAbstractClassProperty\"===r.type||\"ClassPrivateProperty\"===r.type||\"ObjectProperty\"===r.type||\"Property\"===r.type,l=dy(i.left)&&_g(i.operator,i.left.operator);if(u||qv(i)&&!l||!qv(i)&&c)return nv(Yy(s));if(0===s.length)return\"\";const p=Cy(i.right),f=Yy(p?s.slice(1,-1):s.slice(1)),d=Symbol(\"logicalChain-\"+ ++yv),h=nv(Yy([s.length>0?s[0]:\"\",rv(f)]),{id:d});if(!p)return h;const m=Ig(s);return nv(Yy([h,sv(rv(m),m,{groupId:d})]))}case\"AssignmentPattern\":return Yy([e.call(n,\"left\"),\" = \",e.call(n,\"right\")]);case\"TSTypeAssertion\":{const t=!(\"ArrayExpression\"===i.expression.type||\"ObjectExpression\"===i.expression.type),r=nv(Yy([\"<\",rv(Yy([ev,e.call(n,\"typeAnnotation\")])),ev,\">\"])),o=Yy([sv(\"(\"),rv(Yy([ev,e.call(n,\"expression\")])),ev,sv(\")\")]);return t?ov([Yy([r,e.call(n,\"expression\")]),Yy([r,nv(o,{shouldBreak:!0})]),Yy([r,e.call(n,\"expression\")])]):nv(Yy([r,e.call(n,\"expression\")]))}case\"OptionalMemberExpression\":case\"MemberExpression\":{const t=e.getParentNode();let r,o=0;do{r=e.getParentNode(o),o++}while(r&&(\"MemberExpression\"===r.type||\"OptionalMemberExpression\"===r.type||\"TSNonNullExpression\"===r.type));const a=r&&(\"NewExpression\"===r.type||\"BindExpression\"===r.type||\"VariableDeclarator\"===r.type&&\"Identifier\"!==r.id.type||\"AssignmentExpression\"===r.type&&\"Identifier\"!==r.left.type)||i.computed||\"Identifier\"===i.object.type&&\"Identifier\"===i.property.type&&\"MemberExpression\"!==t.type&&\"OptionalMemberExpression\"!==t.type;return Yy([e.call(n,\"object\"),a?Bv(e,0,n):nv(rv(Yy([ev,Bv(e,0,n)])))])}case\"MetaProperty\":return Yy([e.call(n,\"meta\"),\".\",e.call(n,\"property\")]);case\"BindExpression\":return i.object&&s.push(e.call(n,\"object\")),s.push(nv(rv(Yy([ev,Uv(e,0,n)])))),Yy(s);case\"Identifier\":return Yy([i.name,Rv(e),Av(e,t,n)]);case\"V8IntrinsicIdentifier\":return Yy([\"%\",i.name]);case\"SpreadElement\":case\"SpreadElementPattern\":case\"RestProperty\":case\"SpreadProperty\":case\"SpreadPropertyPattern\":case\"RestElement\":case\"ObjectTypeSpreadProperty\":return Yy([\"...\",e.call(n,\"argument\"),Av(e,t,n)]);case\"FunctionDeclaration\":case\"FunctionExpression\":return s.push(Fv(e,n,t)),i.body||s.push(o),Yy(s);case\"ArrowFunctionExpression\":{i.async&&s.push(\"async \"),Ov(e,t)?s.push(e.call(n,\"params\",0)):s.push(nv(Yy([_v(e,n,t,r&&(r.expandLastArg||r.expandFirstArg),!0),Nv(e,n,t)])));const o=gs.printDanglingComments(e,t,!0,e=>{const n=Wg(t.originalText,e,t.locEnd);return\"=>\"===t.originalText.slice(n,n+2)});o&&s.push(\" \",o),s.push(\" =>\");const a=e.call(e=>n(e,r),\"body\");if(!ay(t.originalText,i.body,t)&&(\"ArrayExpression\"===i.body.type||\"ObjectExpression\"===i.body.type||\"BlockStatement\"===i.body.type||Cy(i.body)||Uy(i.body,t.originalText,t)||\"ArrowFunctionExpression\"===i.body.type||\"DoExpression\"===i.body.type))return nv(Yy([Yy(s),\" \",a]));if(\"SequenceExpression\"===i.body.type)return nv(Yy([Yy(s),nv(Yy([\" (\",rv(Yy([ev,a])),ev,\")\"]))]));const u=(r&&r.expandLastArg||\"JSXExpressionContainer\"===e.getParentNode().type)&&!(i.comments&&i.comments.length),c=r&&r.expandLastArg&&vv(t,\"all\"),l=\"ConditionalExpression\"===i.body.type&&!Ug(i.body,!1);return nv(Yy([Yy(s),nv(Yy([rv(Yy([Xy,l?sv(\"\",\"(\"):\"\",a,l?sv(\"\",\")\"):\"\"])),u?Yy([sv(c?\",\":\"\"),ev]):\"\"]))]))}case\"YieldExpression\":return s.push(\"yield\"),i.delegate&&s.push(\"*\"),i.argument&&s.push(\" \",e.call(n,\"argument\")),Yy(s);case\"AwaitExpression\":{s.push(\"await \",e.call(n,\"argument\"));const t=e.getParentNode();return(\"CallExpression\"===t.type||\"OptionalCallExpression\"===t.type)&&t.callee===i||(\"MemberExpression\"===t.type||\"OptionalMemberExpression\"===t.type)&&t.object===i?nv(Yy([rv(Yy([ev,Yy(s)])),ev])):Yy(s)}case\"ImportSpecifier\":return i.importKind&&s.push(e.call(n,\"importKind\"),\" \"),s.push(e.call(n,\"imported\")),i.local&&i.local.name!==i.imported.name&&s.push(\" as \",e.call(n,\"local\")),Yy(s);case\"ExportSpecifier\":return s.push(e.call(n,\"local\")),i.exported&&i.exported.name!==i.local.name&&s.push(\" as \",e.call(n,\"exported\")),Yy(s);case\"ImportNamespaceSpecifier\":return s.push(\"* as \"),s.push(e.call(n,\"local\")),Yy(s);case\"ImportDefaultSpecifier\":return e.call(n,\"local\");case\"TSExportAssignment\":return Yy([\"export = \",e.call(n,\"expression\"),o]);case\"ExportDefaultDeclaration\":case\"ExportNamedDeclaration\":return Iv(e,t,n);case\"ExportAllDeclaration\":return s.push(\"export \"),\"type\"===i.exportKind&&s.push(\"type \"),s.push(\"* \"),i.exported&&s.push(\"as \",e.call(n,\"exported\"),\" \"),s.push(\"from \",e.call(n,\"source\"),o),Yy(s);case\"ExportNamespaceSpecifier\":case\"ExportDefaultSpecifier\":return e.call(n,\"exported\");case\"ImportDeclaration\":{s.push(\"import \"),i.importKind&&\"value\"!==i.importKind&&s.push(i.importKind+\" \");const r=[],a=[];return i.specifiers&&i.specifiers.length>0?(e.each(e=>{const t=e.getValue();\"ImportDefaultSpecifier\"===t.type||\"ImportNamespaceSpecifier\"===t.type?r.push(n(e)):a.push(n(e))},\"specifiers\"),r.length>0&&s.push($y(\", \",r)),r.length>0&&a.length>0&&s.push(\", \"),1===a.length&&0===r.length&&i.specifiers&&!i.specifiers.some(e=>e.comments)?s.push(Yy([\"{\",t.bracketSpacing?\" \":\"\",Yy(a),t.bracketSpacing?\" \":\"\",\"}\"])):a.length>=1&&s.push(nv(Yy([\"{\",rv(Yy([t.bracketSpacing?Xy:ev,$y(Yy([\",\",Xy]),a)])),sv(vv(t)?\",\":\"\"),t.bracketSpacing?Xy:ev,\"}\"]))),s.push(\" from \")):(i.importKind&&\"type\"===i.importKind||/{\\s*}/.test(t.originalText.slice(t.locStart(i),t.locStart(i.source))))&&s.push(\"{} from \"),s.push(e.call(n,\"source\"),o),Yy(s)}case\"Import\":return\"import\";case\"TSModuleBlock\":case\"BlockStatement\":{const r=e.call(e=>xv(e,t,n),\"body\"),a=i.body.find(e=>\"EmptyStatement\"!==e.type),u=i.directives&&i.directives.length>0,c=e.getParentNode(),l=e.getParentNode(1);return a||u||ny(i)||\"ArrowFunctionExpression\"!==c.type&&\"FunctionExpression\"!==c.type&&\"FunctionDeclaration\"!==c.type&&\"ObjectMethod\"!==c.type&&\"ClassMethod\"!==c.type&&\"ClassPrivateMethod\"!==c.type&&\"ForStatement\"!==c.type&&\"WhileStatement\"!==c.type&&\"DoWhileStatement\"!==c.type&&\"DoExpression\"!==c.type&&(\"CatchClause\"!==c.type||l.finalizer)&&\"TSModuleDeclaration\"!==c.type?(s.push(\"{\"),u&&e.each(e=>{s.push(rv(Yy([Zy,n(e),o]))),qg(t.originalText,e.getValue(),t.locEnd)&&s.push(Zy)},\"directives\"),a&&s.push(rv(Yy([Zy,r]))),s.push(gs.printDanglingComments(e,t)),s.push(Zy,\"}\"),Yy(s)):\"{}\"}case\"ReturnStatement\":return Yy([\"return\",Xv(e,t,n)]);case\"NewExpression\":case\"OptionalCallExpression\":case\"CallExpression\":{const r=\"NewExpression\"===i.type,o=Rv(e);if(!r&&\"Identifier\"===i.callee.type&&(\"require\"===i.callee.name||\"define\"===i.callee.name)||1===i.arguments.length&&Uy(i.arguments[0],t.originalText,t)||!r&&zy(i,e.getParentNode()))return Yy([r?\"new \":\"\",e.call(n,\"callee\"),o,Tv(e,0,n),Yy([\"(\",$y(\", \",e.map(n,\"arguments\")),\")\"])]);const a=\"Identifier\"===i.callee.type&&ry(i.callee.trailingComments);if(a&&(i.callee.trailingComments[0].printed=!0),!r&&Oy(i.callee)&&!e.call(e=>Cg(e,t),\"callee\"))return function(e,t,n){const r=[];function i(e){const{originalText:n}=t,r=Wg(n,e,t.locEnd);return\")\"===n.charAt(r)?Hg(n,r+1,t.locEnd):qg(n,e,t.locEnd)}const o=e.getValue();r.unshift({node:o,printed:Yy([Rv(e),Tv(e,0,n),kv(e,t,n)])}),e.call(e=>function e(o){const a=o.getValue();\"CallExpression\"!==a.type&&\"OptionalCallExpression\"!==a.type||!Oy(a.callee)&&\"CallExpression\"!==a.callee.type&&\"OptionalCallExpression\"!==a.callee.type?Oy(a)?(r.unshift({node:a,needsParens:Cg(o,t),printed:gs.printComments(o,()=>\"OptionalMemberExpression\"===a.type||\"MemberExpression\"===a.type?Bv(o,0,n):Uv(o,0,n),t)}),o.call(t=>e(t),\"object\")):\"TSNonNullExpression\"===a.type?(r.unshift({node:a,printed:gs.printComments(o,()=>\"!\",t)}),o.call(t=>e(t),\"expression\")):r.unshift({node:a,printed:o.call(n)}):(r.unshift({node:a,printed:Yy([gs.printComments(o,()=>Yy([Rv(o),Tv(o,0,n),kv(o,t,n)]),t),i(a)?Zy:\"\"])}),o.call(t=>e(t),\"callee\"))}(e),\"callee\");const a=[];let s=[r[0]],u=1;for(;u<r.length&&(\"TSNonNullExpression\"===r[u].node.type||\"OptionalCallExpression\"===r[u].node.type||\"CallExpression\"===r[u].node.type||(\"MemberExpression\"===r[u].node.type||\"OptionalMemberExpression\"===r[u].node.type)&&r[u].node.computed&&Ny(r[u].node.property));++u)s.push(r[u]);if(\"CallExpression\"!==r[0].node.type&&\"OptionalCallExpression\"!==r[0].node.type)for(;u+1<r.length&&Oy(r[u].node)&&Oy(r[u+1].node);++u)s.push(r[u]);a.push(s),s=[];let c=!1;for(;u<r.length;++u){if(c&&Oy(r[u].node)){if(r[u].node.computed&&Ny(r[u].node.property)){s.push(r[u]);continue}a.push(s),s=[],c=!1}\"CallExpression\"!==r[u].node.type&&\"OptionalCallExpression\"!==r[u].node.type||(c=!0),s.push(r[u]),r[u].node.comments&&r[u].node.comments.some(e=>e.trailing)&&(a.push(s),s=[],c=!1)}function l(e){return/^[A-Z]|^[_$]+$/.test(e)}s.length>0&&a.push(s);const p=a.length>=2&&!a[1][0].node.comments&&function(n){const r=e.getParentNode(),i=r&&\"ExpressionStatement\"===r.type,o=n[1].length&&n[1][0].node.computed;if(1===n[0].length){const e=n[0][0].node;return\"ThisExpression\"===e.type||\"Identifier\"===e.type&&(l(e.name)||i&&function(e){return e.length<=t.tabWidth}(e.name)||o)}const a=Ig(n[0]).node;return(\"MemberExpression\"===a.type||\"OptionalMemberExpression\"===a.type)&&\"Identifier\"===a.property.type&&(l(a.property.name)||o)}(a);function f(e){const t=e.map(e=>e.printed);return e.length>0&&e[e.length-1].needsParens?Yy([\"(\",...t,\")\"]):Yy(t)}const d=a.map(f),h=Yy(d),m=p?3:2,g=a.reduce((e,t)=>e.concat(t),[]),y=g.slice(1,-1).some(e=>oy(e.node))||g.slice(0,-1).some(e=>py(e.node))||a[m]&&oy(a[m][0].node);if(a.length<=m&&!y)return Ay(e)?h:nv(h);const v=Ig(p?a.slice(1,2)[0]:a[0]).node,b=\"CallExpression\"!==v.type&&\"OptionalCallExpression\"!==v.type&&i(v),E=Yy([f(a[0]),p?Yy(a.slice(1,2).map(f)):\"\",b?Zy:\"\",function(e){return 0===e.length?\"\":rv(nv(Yy([Zy,$y(Zy,e.map(f))])))}(a.slice(p?2:1))]),x=r.map(({node:e})=>e).filter(hy);return y||x.length>2&&x.some(e=>!e.arguments.every(e=>jy(e,0)))||d.slice(0,-1).some(fv)||(D=Ig(d),C=Ig(Ig(a)).node,hy(C)&&fv(D)&&x.slice(0,-1).some(e=>e.arguments.some(Ey)))?nv(E):Yy([fv(h)||b?uv:\"\",ov([h,E])]);var D,C}(e,t,n);const s=Yy([r?\"new \":\"\",e.call(n,\"callee\"),o,a?\"/*:: \".concat(i.callee.trailingComments[0].value.slice(2).trim(),\" */\"):\"\",Tv(e,0,n),kv(e,t,n)]);return hy(i.callee)?nv(s):s}case\"TSInterfaceDeclaration\":return i.declare&&s.push(\"declare \"),s.push(i.abstract?\"abstract \":\"\",jv(e,0,n),\"interface \",e.call(n,\"id\"),i.typeParameters?e.call(n,\"typeParameters\"):\"\",\" \"),i.extends&&i.extends.length&&s.push(nv(rv(Yy([ev,\"extends \",(1===i.extends.length?fy:rv)($y(Yy([\",\",Xy]),e.map(n,\"extends\"))),\" \"])))),s.push(e.call(n,\"body\")),Yy(s);case\"ObjectTypeInternalSlot\":return Yy([i.static?\"static \":\"\",\"[[\",e.call(n,\"id\"),\"]]\",Rv(e),i.method?\"\":\": \",e.call(n,\"value\")]);case\"ObjectExpression\":case\"ObjectPattern\":case\"ObjectTypeAnnotation\":case\"TSInterfaceBody\":case\"TSTypeLiteral\":{let r;r=\"TSTypeLiteral\"===i.type?\"members\":\"TSInterfaceBody\"===i.type?\"body\":\"properties\";const a=\"ObjectTypeAnnotation\"===i.type,s=[];a&&s.push(\"indexers\",\"callProperties\",\"internalSlots\"),s.push(r);const u=s.map(e=>i[e][0]).sort((e,n)=>t.locStart(e)-t.locStart(n))[0],c=e.getParentNode(0),l=a&&c&&(\"InterfaceDeclaration\"===c.type||\"DeclareInterface\"===c.type||\"DeclareClass\"===c.type)&&\"body\"===e.getName(),p=\"TSInterfaceBody\"===i.type||l||\"ObjectPattern\"===i.type&&\"FunctionDeclaration\"!==c.type&&\"FunctionExpression\"!==c.type&&\"ArrowFunctionExpression\"!==c.type&&\"ObjectMethod\"!==c.type&&\"ClassMethod\"!==c.type&&\"ClassPrivateMethod\"!==c.type&&\"AssignmentPattern\"!==c.type&&\"CatchClause\"!==c.type&&i.properties.some(e=>e.value&&(\"ObjectPattern\"===e.value.type||\"ArrayPattern\"===e.value.type))||\"ObjectPattern\"!==i.type&&u&&Ng(t.originalText,t.locStart(i),t.locStart(u)),f=l?\";\":\"TSInterfaceBody\"===i.type||\"TSTypeLiteral\"===i.type?sv(o,\";\"):\",\",d=i.exact?\"{|\":\"{\",h=i.exact?\"|}\":\"}\",m=[];s.forEach(r=>{e.each(e=>{const r=e.getValue();m.push({node:r,printed:n(e),loc:t.locStart(r)})},r)});let g=[];const y=m.sort((e,t)=>e.loc-t.loc).map(e=>{const n=Yy(g.concat(nv(e.printed)));return g=[f,Xy],\"TSPropertySignature\"!==e.node.type&&\"TSMethodSignature\"!==e.node.type&&\"TSConstructSignatureDeclaration\"!==e.node.type||!Rg(e.node)||g.shift(),qg(t.originalText,e.node,t.locEnd)&&g.push(Zy),n});i.inexact&&y.push(Yy(g.concat(nv(\"...\"))));const v=Ig(i[r]),b=!(v&&(\"RestProperty\"===v.type||\"RestElement\"===v.type||Rg(v)||i.inexact));let E;if(0===y.length){if(!ny(i))return Yy([d,h,Av(e,t,n)]);E=nv(Yy([d,gs.printDanglingComments(e,t),ev,h,Rv(e),Av(e,t,n)]))}else E=Yy([d,rv(Yy([t.bracketSpacing?Xy:ev,Yy(y)])),sv(b&&(\",\"!==f||vv(t))?f:\"\"),Yy([t.bracketSpacing?Xy:ev,h]),Rv(e),Av(e,t,n)]);return e.match(e=>\"ObjectPattern\"===e.type&&!e.decorators,(e,t,n)=>Yv(e)&&(\"params\"===t||\"parameters\"===t)&&0===n)||e.match(Qv,(e,t)=>\"typeAnnotation\"===t,(e,t)=>\"typeAnnotation\"===t,(e,t,n)=>Yv(e)&&(\"params\"===t||\"parameters\"===t)&&0===n)?E:nv(E,{shouldBreak:p})}case\"ObjectProperty\":case\"Property\":return i.method||\"get\"===i.kind||\"set\"===i.kind?Cv(e,t,n):(i.shorthand?s.push(e.call(n,\"value\")):s.push(Wv(i.key,Dv(e,t,n),\":\",i.value,e.call(n,\"value\"),t)),Yy(s));case\"ClassMethod\":case\"ClassPrivateMethod\":case\"MethodDefinition\":case\"TSAbstractMethodDefinition\":case\"TSDeclareMethod\":return i.decorators&&0!==i.decorators.length&&s.push(bv(e,t,n)),i.accessibility&&s.push(i.accessibility+\" \"),i.static&&s.push(\"static \"),(\"TSAbstractMethodDefinition\"===i.type||i.abstract)&&s.push(\"abstract \"),s.push(Cv(e,t,n)),Yy(s);case\"ObjectMethod\":return Cv(e,t,n);case\"Decorator\":return Yy([\"@\",e.call(n,\"expression\"),e.call(n,\"callee\")]);case\"ArrayExpression\":case\"ArrayPattern\":if(0===i.elements.length)ny(i)?s.push(nv(Yy([\"[\",gs.printDanglingComments(e,t),ev,\"]\"]))):s.push(\"[]\");else{const r=Ig(i.elements),o=!(r&&\"RestElement\"===r.type),a=o&&null===r,u=i.elements.length>1&&i.elements.every((e,t,n)=>{const r=e&&e.type;if(\"ArrayExpression\"!==r&&\"ObjectExpression\"!==r)return!1;const i=n[t+1];if(i&&r!==i.type)return!1;const o=\"ArrayExpression\"===r?\"elements\":\"properties\";return e[o]&&e[o].length>1});s.push(nv(Yy([\"[\",rv(Yy([ev,$v(e,t,\"elements\",n)])),a?\",\":\"\",sv(o&&!a&&vv(t)?\",\":\"\"),gs.printDanglingComments(e,t,!0),ev,\"]\"]),{shouldBreak:u}))}return s.push(Rv(e),Av(e,t,n)),Yy(s);case\"SequenceExpression\":{const t=e.getParentNode(0);if(\"ExpressionStatement\"===t.type||\"ForStatement\"===t.type){const t=[];return e.each(e=>{0===e.getName()?t.push(n(e)):t.push(\",\",rv(Yy([Xy,n(e)])))},\"expressions\"),nv(Yy(t))}return nv(Yy([$y(Yy([\",\",Xy]),e.map(n,\"expressions\"))]))}case\"ThisExpression\":return\"this\";case\"Super\":return\"super\";case\"NullLiteral\":return\"null\";case\"RegExpLiteral\":return Jv(i);case\"NumericLiteral\":return Lg(i.extra.raw);case\"BigIntLiteral\":return(i.bigint||(i.extra?i.extra.raw:i.raw)).toLowerCase();case\"BooleanLiteral\":case\"StringLiteral\":case\"Literal\":{if(i.regex)return Jv(i.regex);if(\"number\"==typeof i.value)return Lg(i.raw);if(\"string\"!=typeof i.value)return\"\"+i.value;const n=e.getParentNode(1),r=\"typescript\"===t.parser&&\"string\"==typeof i.value&&n&&(\"Program\"===n.type||\"BlockStatement\"===n.type);return Kv(i,t,r)}case\"Directive\":return e.call(n,\"value\");case\"DirectiveLiteral\":return Kv(i,t);case\"UnaryExpression\":return s.push(i.operator),/[a-z]$/.test(i.operator)&&s.push(\" \"),i.argument.comments&&i.argument.comments.length>0?s.push(nv(Yy([\"(\",rv(Yy([ev,e.call(n,\"argument\")])),ev,\")\"]))):s.push(e.call(n,\"argument\")),Yy(s);case\"UpdateExpression\":return s.push(e.call(n,\"argument\"),i.operator),i.prefix&&s.reverse(),Yy(s);case\"ConditionalExpression\":return Ev(e,t,n,{beforeParts:()=>[e.call(n,\"test\")],afterParts:e=>[e?ev:\"\"],shouldCheckJsx:!0,conditionalNodeType:\"ConditionalExpression\",consequentNodePropertyName:\"consequent\",alternateNodePropertyName:\"alternate\",testNodePropertyNames:[\"test\"]});case\"VariableDeclaration\":{const t=e.map(e=>n(e),\"declarations\"),r=e.getParentNode(),a=\"ForStatement\"===r.type||\"ForInStatement\"===r.type||\"ForOfStatement\"===r.type||\"ForAwaitStatement\"===r.type,u=i.declarations.some(e=>e.init);let c;return 1!==t.length||i.declarations[0].comments?t.length>0&&(c=rv(t[0])):c=t[0],s=[i.declare?\"declare \":\"\",i.kind,c?Yy([\" \",c]):\"\",rv(Yy(t.slice(1).map(e=>Yy([\",\",u&&!a?Zy:Xy,e]))))],a&&r.body!==i||s.push(o),nv(Yy(s))}case\"TSTypeAliasDeclaration\":{i.declare&&s.push(\"declare \");const r=Hv(i.id,i.typeAnnotation,i.typeAnnotation&&e.call(n,\"typeAnnotation\"),t);return s.push(\"type \",e.call(n,\"id\"),e.call(n,\"typeParameters\"),\" =\",r,o),nv(Yy(s))}case\"VariableDeclarator\":return Wv(i.id,e.call(n,\"id\"),\" =\",i.init,i.init&&e.call(n,\"init\"),t);case\"WithStatement\":return nv(Yy([\"with (\",e.call(n,\"object\"),\")\",Gv(i.body,e.call(n,\"body\"))]));case\"IfStatement\":{const r=Gv(i.consequent,e.call(n,\"consequent\")),o=nv(Yy([\"if (\",nv(Yy([rv(Yy([ev,e.call(n,\"test\")])),ev])),\")\",r]));if(s.push(o),i.alternate){const r=py(i.consequent)&&i.consequent.comments.some(e=>e.trailing&&!fm.isBlockComment(e))||Gy(i),o=\"BlockStatement\"===i.consequent.type&&!r;s.push(o?\" \":Zy),ny(i)&&s.push(gs.printDanglingComments(e,t,!0),r?Zy:\" \"),s.push(\"else\",nv(Gv(i.alternate,e.call(n,\"alternate\"),\"IfStatement\"===i.alternate.type)))}return Yy(s)}case\"ForStatement\":{const r=Gv(i.body,e.call(n,\"body\")),o=gs.printDanglingComments(e,t,!0),a=o?Yy([o,ev]):\"\";return i.init||i.test||i.update?Yy([a,nv(Yy([\"for (\",nv(Yy([rv(Yy([ev,e.call(n,\"init\"),\";\",Xy,e.call(n,\"test\"),\";\",Xy,e.call(n,\"update\")])),ev])),\")\",r]))]):Yy([a,nv(Yy([\"for (;;)\",r]))])}case\"WhileStatement\":return nv(Yy([\"while (\",nv(Yy([rv(Yy([ev,e.call(n,\"test\")])),ev])),\")\",Gv(i.body,e.call(n,\"body\"))]));case\"ForInStatement\":return nv(Yy([i.each?\"for each (\":\"for (\",e.call(n,\"left\"),\" in \",e.call(n,\"right\"),\")\",Gv(i.body,e.call(n,\"body\"))]));case\"ForOfStatement\":case\"ForAwaitStatement\":{const t=\"ForAwaitStatement\"===i.type||i.await;return nv(Yy([\"for\",t?\" await\":\"\",\" (\",e.call(n,\"left\"),\" of \",e.call(n,\"right\"),\")\",Gv(i.body,e.call(n,\"body\"))]))}case\"DoWhileStatement\":{const t=Gv(i.body,e.call(n,\"body\")),r=nv(Yy([\"do\",t]));return s=[r],\"BlockStatement\"===i.body.type?s.push(\" \"):s.push(Zy),s.push(\"while (\"),s.push(nv(Yy([rv(Yy([ev,e.call(n,\"test\")])),ev])),\")\",o),Yy(s)}case\"DoExpression\":return Yy([\"do \",e.call(n,\"body\")]);case\"BreakStatement\":return s.push(\"break\"),i.label&&s.push(\" \",e.call(n,\"label\")),s.push(o),Yy(s);case\"ContinueStatement\":return s.push(\"continue\"),i.label&&s.push(\" \",e.call(n,\"label\")),s.push(o),Yy(s);case\"LabeledStatement\":return\"EmptyStatement\"===i.body.type?Yy([e.call(n,\"label\"),\":;\"]):Yy([e.call(n,\"label\"),\": \",e.call(n,\"body\")]);case\"TryStatement\":return Yy([\"try \",e.call(n,\"block\"),i.handler?Yy([\" \",e.call(n,\"handler\")]):\"\",i.finalizer?Yy([\" finally \",e.call(n,\"finalizer\")]):\"\"]);case\"CatchClause\":if(i.param){const r=i.param.comments&&i.param.comments.some(e=>!fm.isBlockComment(e)||e.leading&&Fg(t.originalText,t.locEnd(e))||e.trailing&&Fg(t.originalText,t.locStart(e),{backwards:!0})),o=e.call(n,\"param\");return Yy([\"catch \",Yy(r?[\"(\",rv(Yy([ev,o])),ev,\") \"]:[\"(\",o,\") \"]),e.call(n,\"body\")])}return Yy([\"catch \",e.call(n,\"body\")]);case\"ThrowStatement\":return Yy([\"throw\",Xv(e,t,n)]);case\"SwitchStatement\":return Yy([nv(Yy([\"switch (\",rv(Yy([ev,e.call(n,\"discriminant\")])),ev,\")\"])),\" {\",i.cases.length>0?rv(Yy([Zy,$y(Zy,e.map(e=>{const r=e.getValue();return Yy([e.call(n),i.cases.indexOf(r)!==i.cases.length-1&&qg(t.originalText,r,t.locEnd)?Zy:\"\"])},\"cases\"))])):\"\",Zy,\"}\"]);case\"SwitchCase\":{i.test?s.push(\"case \",e.call(n,\"test\"),\":\"):s.push(\"default:\");const r=i.consequent.filter(e=>\"EmptyStatement\"!==e.type);if(r.length>0){const i=e.call(e=>xv(e,t,n),\"consequent\");s.push(1===r.length&&\"BlockStatement\"===r[0].type?Yy([\" \",i]):rv(Yy([Zy,i])))}return Yy(s)}case\"DebuggerStatement\":return Yy([\"debugger\",o]);case\"JSXAttribute\":if(s.push(e.call(n,\"name\")),i.value){let r;if(Ry(i.value)){let e=Ky(i.value).replace(/&apos;/g,\"'\").replace(/&quot;/g,'\"');const n=Vg(e,t.jsxSingleQuote?\"'\":'\"'),o=\"'\"===n?\"&apos;\":\"&quot;\";e=e.slice(1,-1).replace(new RegExp(n,\"g\"),o),r=Yy([n,e,n])}else r=e.call(n,\"value\");s.push(\"=\",r)}return Yy(s);case\"JSXIdentifier\":return\"\"+i.name;case\"JSXNamespacedName\":return $y(\":\",[e.call(n,\"namespace\"),e.call(n,\"name\")]);case\"JSXMemberExpression\":return $y(\".\",[e.call(n,\"object\"),e.call(n,\"property\")]);case\"TSQualifiedName\":return $y(\".\",[e.call(n,\"left\"),e.call(n,\"right\")]);case\"JSXSpreadAttribute\":case\"JSXSpreadChild\":return Yy([\"{\",e.call(e=>{const r=Yy([\"...\",n(e)]),i=e.getValue();return i.comments&&i.comments.length?Yy([rv(Yy([ev,gs.printComments(e,()=>r,t)])),ev]):r},\"JSXSpreadAttribute\"===i.type?\"argument\":\"expression\"),\"}\"]);case\"JSXExpressionContainer\":{const t=e.getParentNode(0),r=!(\"JSXAttribute\"===t.type&&i.expression.comments&&i.expression.comments.length>0)&&(\"ArrayExpression\"===i.expression.type||\"ObjectExpression\"===i.expression.type||\"ArrowFunctionExpression\"===i.expression.type||\"CallExpression\"===i.expression.type||\"OptionalCallExpression\"===i.expression.type||\"FunctionExpression\"===i.expression.type||\"JSXEmptyExpression\"===i.expression.type||\"TemplateLiteral\"===i.expression.type||\"TaggedTemplateExpression\"===i.expression.type||\"DoExpression\"===i.expression.type||Cy(t)&&(\"ConditionalExpression\"===i.expression.type||dy(i.expression)));return nv(Yy(r?[\"{\",e.call(n,\"expression\"),cv,\"}\"]:[\"{\",rv(Yy([ev,e.call(n,\"expression\")])),ev,cv,\"}\"]))}case\"JSXFragment\":case\"JSXElement\":{const r=gs.printComments(e,()=>function(e,t,n){const r=e.getValue();if(\"JSXElement\"===r.type&&my(r))return Yy([e.call(n,\"openingElement\"),e.call(n,\"closingElement\")]);const i=\"JSXElement\"===r.type?e.call(n,\"openingElement\"):e.call(n,\"openingFragment\"),o=\"JSXElement\"===r.type?e.call(n,\"closingElement\"):e.call(n,\"closingFragment\");if(1===r.children.length&&\"JSXExpressionContainer\"===r.children[0].type&&(\"TemplateLiteral\"===r.children[0].expression.type||\"TaggedTemplateExpression\"===r.children[0].expression.type))return Yy([i,Yy(e.map(n,\"children\")),o]);r.children=r.children.map(e=>wy(e)?{type:\"JSXText\",value:\" \",raw:\" \"}:e);const a=r.children.filter(Cy).length>0,s=r.children.filter(e=>\"JSXExpressionContainer\"===e.type).length>1,u=\"JSXElement\"===r.type&&r.openingElement.attributes.length>1;let c=fv(i)||a||u||s;const l=\"mdx\"===e.getParentNode().rootMarker,p=t.singleQuote?\"{' '}\":'{\" \"}',f=l?Yy([\" \"]):sv(Yy([p,ev]),\" \"),d=r.openingElement&&r.openingElement.name&&\"fbt\"===r.openingElement.name.name,h=function(e,t,n,r,i){const o=e.getValue(),a=[];return e.map((e,t)=>{const s=e.getValue();if(ky(s)){const e=Ky(s);if(Ty(s)){const n=e.split(Wy);if(\"\"===n[0]){if(a.push(\"\"),n.shift(),/\\n/.test(n[0])){const e=o.children[t+1];a.push(Vv(i,n[1],s,e))}else a.push(r);n.shift()}let u;if(\"\"===Ig(n)&&(n.pop(),u=n.pop()),0===n.length)return;if(n.forEach((e,t)=>{t%2==1?a.push(Xy):a.push(e)}),void 0!==u)if(/\\n/.test(u)){const e=o.children[t+1];a.push(Vv(i,Ig(a),s,e))}else a.push(r);else{const e=o.children[t+1];a.push(zv(i,Ig(a),s,e))}}else/\\n/.test(e)?e.match(/\\n/g).length>1&&(a.push(\"\"),a.push(Zy)):(a.push(\"\"),a.push(r))}else{const r=n(e);a.push(r);const u=o.children[t+1];if(u&&Ty(u)){const e=Ky(u).trim().split(Wy)[0];a.push(zv(i,e,s,u))}else a.push(Zy)}},\"children\"),a}(e,0,n,f,d),m=r.children.some(e=>Ty(e));for(let e=h.length-2;e>=0;e--){const t=\"\"===h[e]&&\"\"===h[e+1],n=h[e]===Zy&&\"\"===h[e+1]&&h[e+2]===Zy,r=(h[e]===ev||h[e]===Zy)&&\"\"===h[e+1]&&h[e+2]===f,i=h[e]===f&&\"\"===h[e+1]&&(h[e+2]===ev||h[e+2]===Zy),o=h[e]===f&&\"\"===h[e+1]&&h[e+2]===f,a=h[e]===ev&&\"\"===h[e+1]&&h[e+2]===Zy||h[e]===Zy&&\"\"===h[e+1]&&h[e+2]===ev;n&&m||t||r||o||a?h.splice(e,2):i&&h.splice(e+1,2)}for(;h.length&&(dv(Ig(h))||hv(Ig(h)));)h.pop();for(;h.length&&(dv(h[0])||hv(h[0]))&&(dv(h[1])||hv(h[1]));)h.shift(),h.shift();const g=[];h.forEach((e,t)=>{if(e===f){if(1===t&&\"\"===h[t-1])return 2===h.length?void g.push(p):void g.push(Yy([p,Zy]));if(t===h.length-1)return void g.push(p);if(\"\"===h[t-1]&&h[t-2]===Zy)return void g.push(p)}g.push(e),fv(e)&&(c=!0)});const y=m?av(g):nv(Yy(g),{shouldBreak:!0});if(l)return y;const v=nv(Yy([i,rv(Yy([Zy,y])),Zy,o]));return c?v:ov([nv(Yy([i,Yy(h),o])),v])}(e,t,n),t);return function(e,t,n){const r=e.getParentNode();if(!r)return t;if({ArrayExpression:!0,JSXAttribute:!0,JSXElement:!0,JSXExpressionContainer:!0,JSXFragment:!0,ExpressionStatement:!0,CallExpression:!0,OptionalCallExpression:!0,ConditionalExpression:!0,JsExpressionRoot:!0}[r.type])return t;const i=e.match(void 0,e=>\"ArrowFunctionExpression\"===e.type,hy,e=>\"JSXExpressionContainer\"===e.type),o=Cg(e,n);return nv(Yy([o?\"\":sv(\"(\"),rv(Yy([ev,t])),ev,o?\"\":sv(\")\")]),{shouldBreak:i})}(e,r,t)}case\"JSXOpeningElement\":{const r=e.getValue(),i=r.name&&r.name.comments&&r.name.comments.length>0||r.typeParameters&&r.typeParameters.comments&&r.typeParameters.comments.length>0;if(r.selfClosing&&!r.attributes.length&&!i)return Yy([\"<\",e.call(n,\"name\"),e.call(n,\"typeParameters\"),\" />\"]);if(r.attributes&&1===r.attributes.length&&r.attributes[0].value&&Ry(r.attributes[0].value)&&!r.attributes[0].value.value.includes(\"\\n\")&&!i&&(!r.attributes[0].comments||!r.attributes[0].comments.length))return nv(Yy([\"<\",e.call(n,\"name\"),e.call(n,\"typeParameters\"),\" \",Yy(e.map(n,\"attributes\")),r.selfClosing?\" />\":\">\"]));const o=r.attributes.length&&py(Ig(r.attributes)),a=!r.attributes.length&&!i||t.jsxBracketSameLine&&(!i||r.attributes.length)&&!o,s=r.attributes&&r.attributes.some(e=>e.value&&Ry(e.value)&&e.value.value.includes(\"\\n\"));return nv(Yy([\"<\",e.call(n,\"name\"),e.call(n,\"typeParameters\"),Yy([rv(Yy(e.map(e=>Yy([Xy,n(e)]),\"attributes\"))),r.selfClosing?Xy:a?\">\":ev]),r.selfClosing?\"/>\":a?\"\":\">\"]),{shouldBreak:s})}case\"JSXClosingElement\":return Yy([\"</\",e.call(n,\"name\"),\">\"]);case\"JSXOpeningFragment\":case\"JSXClosingFragment\":{const n=i.comments&&i.comments.length,r=n&&!i.comments.every(fm.isBlockComment),o=\"JSXOpeningFragment\"===i.type;return Yy([o?\"<\":\"</\",rv(Yy([r?Zy:n&&!o?\" \":\"\",gs.printDanglingComments(e,t,!0)])),r?Zy:\"\",\">\"])}case\"JSXText\":throw new Error(\"JSXTest should be handled by JSXElement\");case\"JSXEmptyExpression\":{const n=i.comments&&!i.comments.every(fm.isBlockComment);return Yy([gs.printDanglingComments(e,t,!n),n?Zy:\"\"])}case\"ClassBody\":return i.comments||0!==i.body.length?Yy([\"{\",i.body.length>0?rv(Yy([Zy,e.call(e=>xv(e,t,n),\"body\")])):gs.printDanglingComments(e,t),Zy,\"}\"]):\"{}\";case\"ClassProperty\":case\"TSAbstractClassProperty\":case\"ClassPrivateProperty\":{i.decorators&&0!==i.decorators.length&&s.push(bv(e,t,n)),i.accessibility&&s.push(i.accessibility+\" \"),i.declare&&s.push(\"declare \"),i.static&&s.push(\"static \"),(\"TSAbstractClassProperty\"===i.type||i.abstract)&&s.push(\"abstract \"),i.readonly&&s.push(\"readonly \");const r=Xg(i);return r&&s.push(r),s.push(Dv(e,t,n),Rv(e),Av(e,t,n)),i.value&&s.push(\" =\",Hv(i.key,i.value,e.call(n,\"value\"),t)),s.push(o),nv(Yy(s))}case\"ClassDeclaration\":case\"ClassExpression\":return i.declare&&s.push(\"declare \"),s.push(Yy(Pv(e,t,n))),Yy(s);case\"TSInterfaceHeritage\":case\"TSExpressionWithTypeArguments\":return s.push(e.call(n,\"expression\")),i.typeParameters&&s.push(e.call(n,\"typeParameters\")),Yy(s);case\"TemplateElement\":return $y(tv,i.value.raw.split(/\\r?\\n/g));case\"TemplateLiteral\":{let r=e.map(n,\"expressions\");const o=e.getParentNode();if(Dy(i,o)){const e=function(e,t,n){const r=e.quasis[0].value.raw.trim().split(/\\s*\\|\\s*/);if(r.length>1||r.some(e=>0!==e.length)){const i=[],o=t.map(e=>\"${\"+gv(e,Object.assign({},n,{printWidth:1/0,endOfLine:\"lf\"})).formatted+\"}\"),a=[{hasLineBreak:!1,cells:[]}];for(let t=1;t<e.quasis.length;t++){const n=a[a.length-1],r=o[t-1];n.cells.push(r),r.includes(\"\\n\")&&(n.hasLineBreak=!0),e.quasis[t].value.raw.includes(\"\\n\")&&a.push({hasLineBreak:!1,cells:[]})}const s=Math.max(r.length,...a.map(e=>e.cells.length)),u=Array.from({length:s}).fill(0),c=[{cells:r},...a.filter(e=>0!==e.cells.length)];for(const{cells:e}of c.filter(e=>!e.hasLineBreak))e.forEach((e,t)=>{u[t]=Math.max(u[t],Mg(e))});return i.push(cv,\"`\",rv(Yy([Zy,$y(Zy,c.map(e=>$y(\" | \",e.cells.map((t,n)=>e.hasLineBreak?t:t+\" \".repeat(u[n]-Mg(t))))))])),Zy,\"`\"),Yy(i)}}(i,r,t);if(e)return e}const a=Py(i);return a&&(r=r.map(e=>gv(e,Object.assign({},t,{printWidth:1/0})).formatted)),s.push(cv,\"`\"),e.each(e=>{const o=e.getName();if(s.push(n(e)),o<r.length){const{tabWidth:n}=t,u=e.getValue(),c=zg(u.value.raw,n);let l=r[o];a||(i.expressions[o].comments&&i.expressions[o].comments.length||\"MemberExpression\"===i.expressions[o].type||\"OptionalMemberExpression\"===i.expressions[o].type||\"ConditionalExpression\"===i.expressions[o].type||\"LogicalExpression\"===i.expressions[o].type||\"BinaryExpression\"===i.expressions[o].type||\"SequenceExpression\"===i.expressions[o].type||\"TSAsExpression\"===i.expressions[o].type)&&(l=Yy([rv(Yy([ev,l])),ev]));const p=0===c&&u.value.raw.endsWith(\"\\n\")?iv(-1/0,l):lv(l,c,n);s.push(nv(Yy([\"${\",p,cv,\"}\"])))}},\"quasis\"),s.push(\"`\"),Yy(s)}case\"TaggedTemplateExpression\":return Yy([e.call(n,\"tag\"),e.call(n,\"typeParameters\"),e.call(n,\"quasi\")]);case\"Node\":case\"Printable\":case\"SourceLocation\":case\"Position\":case\"Statement\":case\"Function\":case\"Pattern\":case\"Expression\":case\"Declaration\":case\"Specifier\":case\"NamedSpecifier\":case\"Comment\":case\"MemberTypeAnnotation\":case\"Type\":throw new Error(\"unprintable type: \"+JSON.stringify(i.type));case\"TypeAnnotation\":case\"TSTypeAnnotation\":return i.typeAnnotation?e.call(n,\"typeAnnotation\"):\"\";case\"TSTupleType\":case\"TupleTypeAnnotation\":{const r=\"TSTupleType\"===i.type?\"elementTypes\":\"types\",o=i[r].length>0&&\"TSRestType\"===Ig(i[r]).type;return nv(Yy([\"[\",rv(Yy([ev,$v(e,t,r,n)])),sv(vv(t,\"all\")&&!o?\",\":\"\"),gs.printDanglingComments(e,t,!0),ev,\"]\"]))}case\"ExistsTypeAnnotation\":return\"*\";case\"EmptyTypeAnnotation\":return\"empty\";case\"AnyTypeAnnotation\":return\"any\";case\"MixedTypeAnnotation\":return\"mixed\";case\"ArrayTypeAnnotation\":return Yy([e.call(n,\"elementType\"),\"[]\"]);case\"BooleanTypeAnnotation\":return\"boolean\";case\"BooleanLiteralTypeAnnotation\":return\"\"+i.value;case\"DeclareClass\":return Mv(e,Pv(e,t,n));case\"TSDeclareFunction\":return Yy([i.declare?\"declare \":\"\",Fv(e,n,t),o]);case\"DeclareFunction\":return Mv(e,[\"function \",e.call(n,\"id\"),i.predicate?\" \":\"\",e.call(n,\"predicate\"),o]);case\"DeclareModule\":return Mv(e,[\"module \",e.call(n,\"id\"),\" \",e.call(n,\"body\")]);case\"DeclareModuleExports\":return Mv(e,[\"module.exports\",\": \",e.call(n,\"typeAnnotation\"),o]);case\"DeclareVariable\":return Mv(e,[\"var \",e.call(n,\"id\"),o]);case\"DeclareExportAllDeclaration\":return Yy([\"declare export * from \",e.call(n,\"source\")]);case\"DeclareExportDeclaration\":return Yy([\"declare \",Iv(e,t,n)]);case\"DeclareOpaqueType\":case\"OpaqueType\":return s.push(\"opaque type \",e.call(n,\"id\"),e.call(n,\"typeParameters\")),i.supertype&&s.push(\": \",e.call(n,\"supertype\")),i.impltype&&s.push(\" = \",e.call(n,\"impltype\")),s.push(o),\"DeclareOpaqueType\"===i.type?Mv(e,s):Yy(s);case\"EnumDeclaration\":return Yy([\"enum \",e.call(n,\"id\"),\" \",e.call(n,\"body\")]);case\"EnumBooleanBody\":case\"EnumNumberBody\":case\"EnumStringBody\":case\"EnumSymbolBody\":if(\"EnumSymbolBody\"===i.type||i.explicitType){let e=null;switch(i.type){case\"EnumBooleanBody\":e=\"boolean\";break;case\"EnumNumberBody\":e=\"number\";break;case\"EnumStringBody\":e=\"string\";break;case\"EnumSymbolBody\":e=\"symbol\"}s.push(\"of \",e,\" \")}return 0===i.members.length?s.push(nv(Yy([\"{\",gs.printDanglingComments(e,t),ev,\"}\"]))):s.push(nv(Yy([\"{\",rv(Yy([Zy,$v(e,t,\"members\",n),vv(t)?\",\":\"\"])),gs.printDanglingComments(e,t,!0),Zy,\"}\"]))),Yy(s);case\"EnumBooleanMember\":case\"EnumNumberMember\":case\"EnumStringMember\":return Yy([e.call(n,\"id\"),\" = \",\"object\"==typeof i.init?e.call(n,\"init\"):String(i.init)]);case\"EnumDefaultedMember\":return e.call(n,\"id\");case\"FunctionTypeAnnotation\":case\"TSFunctionType\":{const r=e.getParentNode(0),o=e.getParentNode(1),a=e.getParentNode(2);let u=\"TSFunctionType\"===i.type||!((\"ObjectTypeProperty\"===r.type||\"ObjectTypeInternalSlot\"===r.type)&&!Xg(r)&&!r.optional&&t.locStart(r)===t.locStart(i)||\"ObjectTypeCallProperty\"===r.type||a&&\"DeclareFunction\"===a.type),c=u&&(\"TypeAnnotation\"===r.type||\"TSTypeAnnotation\"===r.type);const l=c&&u&&(\"TypeAnnotation\"===r.type||\"TSTypeAnnotation\"===r.type)&&\"ArrowFunctionExpression\"===o.type;return My(r,t)&&(u=!0,c=!0),l&&s.push(\"(\"),s.push(_v(e,n,t,!1,!0)),(i.returnType||i.predicate||i.typeAnnotation)&&s.push(u?\" => \":\": \",e.call(n,\"returnType\"),e.call(n,\"predicate\"),e.call(n,\"typeAnnotation\")),l&&s.push(\")\"),nv(Yy(s))}case\"TSRestType\":return Yy([\"...\",e.call(n,\"typeAnnotation\")]);case\"TSOptionalType\":return Yy([e.call(n,\"typeAnnotation\"),\"?\"]);case\"FunctionTypeParam\":return Yy([e.call(n,\"name\"),Rv(e),i.name?\": \":\"\",e.call(n,\"typeAnnotation\")]);case\"GenericTypeAnnotation\":return Yy([e.call(n,\"id\"),e.call(n,\"typeParameters\")]);case\"DeclareInterface\":case\"InterfaceDeclaration\":case\"InterfaceTypeAnnotation\":return(\"DeclareInterface\"===i.type||i.declare)&&s.push(\"declare \"),s.push(\"interface\"),\"DeclareInterface\"!==i.type&&\"InterfaceDeclaration\"!==i.type||s.push(\" \",e.call(n,\"id\"),e.call(n,\"typeParameters\")),i.extends.length>0&&s.push(nv(rv(Yy([Xy,\"extends \",(1===i.extends.length?fy:rv)($y(Yy([\",\",Xy]),e.map(n,\"extends\")))])))),s.push(\" \",e.call(n,\"body\")),nv(Yy(s));case\"ClassImplements\":case\"InterfaceExtends\":return Yy([e.call(n,\"id\"),e.call(n,\"typeParameters\")]);case\"TSClassImplements\":return Yy([e.call(n,\"expression\"),e.call(n,\"typeParameters\")]);case\"TSIntersectionType\":case\"IntersectionTypeAnnotation\":{const t=e.map(n,\"types\"),r=[];let o=!1;for(let e=0;e<t.length;++e)0===e?r.push(t[e]):Iy(i.types[e-1])&&Iy(i.types[e])?r.push(Yy([\" & \",o?rv(t[e]):t[e]])):Iy(i.types[e-1])||Iy(i.types[e])?(e>1&&(o=!0),r.push(\" & \",e>1?rv(t[e]):t[e])):r.push(rv(Yy([\" &\",Xy,t[e]])));return nv(Yy(r))}case\"TSUnionType\":case\"UnionTypeAnnotation\":{const r=e.getParentNode(),o=!(\"TypeParameterInstantiation\"===r.type||\"TSTypeParameterInstantiation\"===r.type||\"GenericTypeAnnotation\"===r.type||\"TSTypeReference\"===r.type||\"TSTypeAssertion\"===r.type||\"TupleTypeAnnotation\"===r.type||\"TSTupleType\"===r.type||\"FunctionTypeParam\"===r.type&&!r.name||(\"TypeAlias\"===r.type||\"VariableDeclarator\"===r.type||\"TSTypeAliasDeclaration\"===r.type)&&ay(t.originalText,i,t)),a=Qv(i),s=e.map(e=>{let r=e.call(n);return a||(r=iv(2,r)),gs.printComments(e,()=>r,t)},\"types\");if(a)return $y(\" | \",s);const u=o&&!ay(t.originalText,i,t),c=Yy([sv(Yy([u?Xy:\"\",\"| \"])),$y(Yy([Xy,\"| \"]),s)]);return Cg(e,t)?nv(Yy([rv(c),ev])):\"TupleTypeAnnotation\"===r.type&&r.types.length>1||\"TSTupleType\"===r.type&&r.elementTypes.length>1?nv(Yy([rv(Yy([sv(Yy([\"(\",ev])),c])),ev,sv(\")\")])):nv(o?rv(c):c)}case\"NullableTypeAnnotation\":return Yy([\"?\",e.call(n,\"typeAnnotation\")]);case\"TSNullKeyword\":case\"NullLiteralTypeAnnotation\":return\"null\";case\"ThisTypeAnnotation\":return\"this\";case\"NumberTypeAnnotation\":return\"number\";case\"SymbolTypeAnnotation\":return\"symbol\";case\"ObjectTypeCallProperty\":return i.static&&s.push(\"static \"),s.push(e.call(n,\"value\")),Yy(s);case\"ObjectTypeIndexer\":{const t=Xg(i);return Yy([t||\"\",\"[\",e.call(n,\"id\"),i.id?\": \":\"\",e.call(n,\"key\"),\"]: \",e.call(n,\"value\")])}case\"ObjectTypeProperty\":{const r=Xg(i);let o=\"\";return i.proto?o=\"proto \":i.static&&(o=\"static \"),Yy([o,xy(i)?i.kind+\" \":\"\",r||\"\",Dv(e,t,n),Rv(e),by(i,t)?\"\":\": \",e.call(n,\"value\")])}case\"QualifiedTypeIdentifier\":return Yy([e.call(n,\"qualification\"),\".\",e.call(n,\"id\")]);case\"StringLiteralTypeAnnotation\":return Kv(i,t);case\"NumberLiteralTypeAnnotation\":return ho.strictEqual(typeof i.value,\"number\"),null!=i.extra?Lg(i.extra.raw):Lg(i.raw);case\"StringTypeAnnotation\":return\"string\";case\"DeclareTypeAlias\":case\"TypeAlias\":{(\"DeclareTypeAlias\"===i.type||i.declare)&&s.push(\"declare \");const r=Hv(i.id,i.right,e.call(n,\"right\"),t);return s.push(\"type \",e.call(n,\"id\"),e.call(n,\"typeParameters\"),\" =\",r,o),nv(Yy(s))}case\"TypeCastExpression\":return Yy([\"(\",e.call(n,\"expression\"),Av(e,t,n),\")\"]);case\"TypeParameterDeclaration\":case\"TypeParameterInstantiation\":{const r=e.getValue(),i=r.range?t.originalText.slice(0,r.range[0]).lastIndexOf(\"/*\"):-1;return i>=0&&t.originalText.slice(i).match(/^\\/\\*\\s*::/)?Yy([\"/*:: \",Lv(e,t,n,\"params\"),\" */\"]):Lv(e,t,n,\"params\")}case\"TSTypeParameterDeclaration\":case\"TSTypeParameterInstantiation\":return Lv(e,t,n,\"params\");case\"TSTypeParameter\":case\"TypeParameter\":{const r=e.getParentNode();if(\"TSMappedType\"===r.type)return s.push(\"[\",e.call(n,\"name\")),i.constraint&&s.push(\" in \",e.call(n,\"constraint\")),s.push(\"]\"),Yy(s);const o=Xg(i);o&&s.push(o),s.push(e.call(n,\"name\")),i.bound&&(s.push(\": \"),s.push(e.call(n,\"bound\"))),i.constraint&&s.push(\" extends \",e.call(n,\"constraint\")),i.default&&s.push(\" = \",e.call(n,\"default\"));const a=e.getNode(2);return r.params&&1===r.params.length&&qy(t)&&!i.constraint&&\"ArrowFunctionExpression\"===a.type&&s.push(\",\"),Yy(s)}case\"TypeofTypeAnnotation\":return Yy([\"typeof \",e.call(n,\"argument\")]);case\"VoidTypeAnnotation\":return\"void\";case\"InferredPredicate\":return\"%checks\";case\"DeclaredPredicate\":return Yy([\"%checks(\",e.call(n,\"value\"),\")\"]);case\"TSAbstractKeyword\":return\"abstract\";case\"TSAnyKeyword\":return\"any\";case\"TSAsyncKeyword\":return\"async\";case\"TSBooleanKeyword\":return\"boolean\";case\"TSBigIntKeyword\":return\"bigint\";case\"TSConstKeyword\":return\"const\";case\"TSDeclareKeyword\":return\"declare\";case\"TSExportKeyword\":return\"export\";case\"TSNeverKeyword\":return\"never\";case\"TSNumberKeyword\":return\"number\";case\"TSObjectKeyword\":return\"object\";case\"TSProtectedKeyword\":return\"protected\";case\"TSPrivateKeyword\":return\"private\";case\"TSPublicKeyword\":return\"public\";case\"TSReadonlyKeyword\":return\"readonly\";case\"TSSymbolKeyword\":return\"symbol\";case\"TSStaticKeyword\":return\"static\";case\"TSStringKeyword\":return\"string\";case\"TSUndefinedKeyword\":return\"undefined\";case\"TSUnknownKeyword\":return\"unknown\";case\"TSVoidKeyword\":return\"void\";case\"TSAsExpression\":return Yy([e.call(n,\"expression\"),\" as \",e.call(n,\"typeAnnotation\")]);case\"TSArrayType\":return Yy([e.call(n,\"elementType\"),\"[]\"]);case\"TSPropertySignature\":return i.export&&s.push(\"export \"),i.accessibility&&s.push(i.accessibility+\" \"),i.static&&s.push(\"static \"),i.readonly&&s.push(\"readonly \"),s.push(Dv(e,t,n),Rv(e)),i.typeAnnotation&&(s.push(\": \"),s.push(e.call(n,\"typeAnnotation\"))),i.initializer&&s.push(\" = \",e.call(n,\"initializer\")),Yy(s);case\"TSParameterProperty\":return i.accessibility&&s.push(i.accessibility+\" \"),i.export&&s.push(\"export \"),i.static&&s.push(\"static \"),i.readonly&&s.push(\"readonly \"),s.push(e.call(n,\"parameter\")),Yy(s);case\"TSTypeReference\":return Yy([e.call(n,\"typeName\"),Lv(e,t,n,\"typeParameters\")]);case\"TSTypeQuery\":return Yy([\"typeof \",e.call(n,\"exprName\")]);case\"TSIndexSignature\":{const r=e.getParentNode(),a=i.parameters.length>1?sv(vv(t)?\",\":\"\"):\"\",s=nv(Yy([rv(Yy([ev,$y(Yy([\", \",ev]),e.map(n,\"parameters\"))])),a,ev]));return Yy([i.export?\"export \":\"\",i.accessibility?Yy([i.accessibility,\" \"]):\"\",i.static?\"static \":\"\",i.readonly?\"readonly \":\"\",\"[\",i.parameters?s:\"\",i.typeAnnotation?\"]: \":\"]\",i.typeAnnotation?e.call(n,\"typeAnnotation\"):\"\",\"ClassBody\"===r.type?o:\"\"])}case\"TSTypePredicate\":return Yy([i.asserts?\"asserts \":\"\",e.call(n,\"parameterName\"),i.typeAnnotation?Yy([\" is \",e.call(n,\"typeAnnotation\")]):\"\"]);case\"TSNonNullExpression\":return Yy([e.call(n,\"expression\"),\"!\"]);case\"TSThisType\":return\"this\";case\"TSImportType\":return Yy([i.isTypeOf?\"typeof \":\"\",\"import(\",e.call(n,i.parameter?\"parameter\":\"argument\"),\")\",i.qualifier?Yy([\".\",e.call(n,\"qualifier\")]):\"\",Lv(e,t,n,\"typeParameters\")]);case\"TSLiteralType\":return e.call(n,\"literal\");case\"TSIndexedAccessType\":return Yy([e.call(n,\"objectType\"),\"[\",e.call(n,\"indexType\"),\"]\"]);case\"TSConstructSignatureDeclaration\":case\"TSCallSignatureDeclaration\":case\"TSConstructorType\":if(\"TSCallSignatureDeclaration\"!==i.type&&s.push(\"new \"),s.push(nv(_v(e,n,t,!1,!0))),i.returnType||i.typeAnnotation){const t=\"TSConstructorType\"===i.type;s.push(t?\" => \":\": \",e.call(n,\"returnType\"),e.call(n,\"typeAnnotation\"))}return Yy(s);case\"TSTypeOperator\":return Yy([i.operator,\" \",e.call(n,\"typeAnnotation\")]);case\"TSMappedType\":{const r=Ng(t.originalText,t.locStart(i),t.locEnd(i));return nv(Yy([\"{\",rv(Yy([t.bracketSpacing?Xy:ev,i.readonly?Yy([ty(i.readonly,\"readonly\"),\" \"]):\"\",jv(e,0,n),e.call(n,\"typeParameter\"),i.optional?ty(i.optional,\"?\"):\"\",i.typeAnnotation?\": \":\"\",e.call(n,\"typeAnnotation\"),sv(o,\"\")])),gs.printDanglingComments(e,t,!0),t.bracketSpacing?Xy:ev,\"}\"]),{shouldBreak:r})}case\"TSMethodSignature\":return s.push(i.accessibility?Yy([i.accessibility,\" \"]):\"\",i.export?\"export \":\"\",i.static?\"static \":\"\",i.readonly?\"readonly \":\"\",i.computed?\"[\":\"\",e.call(n,\"key\"),i.computed?\"]\":\"\",Rv(e),_v(e,n,t,!1,!0)),(i.returnType||i.typeAnnotation)&&s.push(\": \",e.call(n,\"returnType\"),e.call(n,\"typeAnnotation\")),nv(Yy(s));case\"TSNamespaceExportDeclaration\":return s.push(\"export as namespace \",e.call(n,\"id\")),t.semi&&s.push(\";\"),nv(Yy(s));case\"TSEnumDeclaration\":return i.declare&&s.push(\"declare \"),i.modifiers&&s.push(jv(e,0,n)),i.const&&s.push(\"const \"),s.push(\"enum \",e.call(n,\"id\"),\" \"),0===i.members.length?s.push(nv(Yy([\"{\",gs.printDanglingComments(e,t),ev,\"}\"]))):s.push(nv(Yy([\"{\",rv(Yy([Zy,$v(e,t,\"members\",n),vv(t,\"es5\")?\",\":\"\"])),gs.printDanglingComments(e,t,!0),Zy,\"}\"]))),Yy(s);case\"TSEnumMember\":return s.push(e.call(n,\"id\")),i.initializer&&s.push(\" = \",e.call(n,\"initializer\")),Yy(s);case\"TSImportEqualsDeclaration\":return i.isExport&&s.push(\"export \"),s.push(\"import \",e.call(n,\"id\"),\" = \",e.call(n,\"moduleReference\")),t.semi&&s.push(\";\"),nv(Yy(s));case\"TSExternalModuleReference\":return Yy([\"require(\",e.call(n,\"expression\"),\")\"]);case\"TSModuleDeclaration\":{const r=e.getParentNode(),a=ky(i.id),u=\"TSModuleDeclaration\"===r.type,c=i.body&&\"TSModuleDeclaration\"===i.body.type;if(u)s.push(\".\");else{i.declare&&s.push(\"declare \"),s.push(jv(e,0,n));const r=t.originalText.slice(t.locStart(i),t.locStart(i.id));\"Identifier\"===i.id.type&&\"global\"===i.id.name&&!/namespace|module/.test(r)||s.push(a||/(^|\\s)module(\\s|$)/.test(r)?\"module \":\"namespace \")}return s.push(e.call(n,\"id\")),c?s.push(e.call(n,\"body\")):i.body?s.push(\" \",nv(e.call(n,\"body\"))):s.push(o),Yy(s)}case\"PrivateName\":return Yy([\"#\",e.call(n,\"id\")]);case\"TSPrivateIdentifier\":return i.escapedText;case\"TSConditionalType\":return Ev(e,t,n,{beforeParts:()=>[e.call(n,\"checkType\"),\" \",\"extends\",\" \",e.call(n,\"extendsType\")],afterParts:()=>[],shouldCheckJsx:!1,conditionalNodeType:\"TSConditionalType\",consequentNodePropertyName:\"trueType\",alternateNodePropertyName:\"falseType\",testNodePropertyNames:[\"checkType\",\"extendsType\"]});case\"TSInferType\":return Yy([\"infer\",\" \",e.call(n,\"typeParameter\")]);case\"InterpreterDirective\":return s.push(\"#!\",i.value,Zy),qg(t.originalText,i,t.locEnd)&&s.push(Zy),Yy(s);case\"NGRoot\":return Yy([].concat(e.call(n,\"node\"),i.node.comments&&0!==i.node.comments.length?Yy([\" //\",i.node.comments[0].value.trimEnd()]):[]));case\"NGChainedExpression\":return nv($y(Yy([\";\",Xy]),e.map(e=>cy(e)?n(e):Yy([\"(\",n(e),\")\"]),\"expressions\")));case\"NGEmptyExpression\":return\"\";case\"NGQuotedExpression\":return Yy([i.prefix,\":\",i.value]);case\"NGMicrosyntax\":return Yy(e.map((e,t)=>Yy([0===t?\"\":Fy(e.getValue(),t,i)?\" \":Yy([\";\",Xy]),n(e)]),\"body\"));case\"NGMicrosyntaxKey\":return/^[a-z_$][a-z0-9_$]*(-[a-z_$][a-z0-9_$])*$/i.test(i.name)?i.name:JSON.stringify(i.name);case\"NGMicrosyntaxExpression\":return Yy([e.call(n,\"expression\"),null===i.alias?\"\":Yy([\" as \",e.call(n,\"alias\")])]);case\"NGMicrosyntaxKeyedExpression\":{const t=e.getName(),r=e.getParentNode(),o=Fy(i,t,r)||(1===t&&(\"then\"===i.key.name||\"else\"===i.key.name)||2===t&&\"else\"===i.key.name&&\"NGMicrosyntaxKeyedExpression\"===r.body[t-1].type&&\"then\"===r.body[t-1].key.name)&&\"NGMicrosyntaxExpression\"===r.body[0].type;return Yy([e.call(n,\"key\"),o?\" \":\": \",e.call(n,\"expression\")])}case\"NGMicrosyntaxLet\":return Yy([\"let \",e.call(n,\"key\"),null===i.value?\"\":Yy([\" = \",e.call(n,\"value\")])]);case\"NGMicrosyntaxAs\":return Yy([e.call(n,\"key\"),\" as \",e.call(n,\"alias\")]);case\"ArgumentPlaceholder\":return\"?\";case\"TSJSDocAllType\":return\"*\";case\"TSJSDocUnknownType\":return\"?\";case\"TSJSDocNullableType\":return Yy([\"?\",e.call(n,\"typeAnnotation\")]);case\"TSJSDocNonNullableType\":return Yy([\"!\",e.call(n,\"typeAnnotation\")]);case\"TSJSDocFunctionType\":return Yy([\"function(\",\"): \",e.call(n,\"typeAnnotation\")]);default:throw new Error(\"unknown type: \"+JSON.stringify(i.type))}}(e,t,n,r);if(!i||hv(a))return a;const s=ey(e),u=[];if(\"ClassMethod\"===i.type||\"ClassPrivateMethod\"===i.type||\"ClassProperty\"===i.type||\"TSAbstractClassProperty\"===i.type||\"ClassPrivateProperty\"===i.type||\"MethodDefinition\"===i.type||\"TSAbstractMethodDefinition\"===i.type||\"TSDeclareMethod\"===i.type);else if(i.decorators&&i.decorators.length>0&&!(s&&t.locStart(s,{ignoreDecorators:!0})>t.locStart(i.decorators[0]))){const r=\"ClassExpression\"===i.type||\"ClassDeclaration\"===i.type||uy(i,t)?Zy:Xy;e.each(e=>{let t=e.getValue();t=t.expression?t.expression:t.callee,u.push(n(e),r)},\"decorators\"),s&&u.unshift(Zy)}else gy(i)&&i.declaration&&i.declaration.decorators&&i.declaration.decorators.length>0&&t.locStart(i,{ignoreDecorators:!0})>t.locStart(i.declaration.decorators[0])?e.each(e=>{const t=\"Decorator\"===e.getValue().type?\"\":\"@\";u.push(t,n(e),Zy)},\"declaration\",\"decorators\"):o=Cg(e,t);const c=[];if(o&&c.unshift(\"(\"),c.push(a),o){const t=e.getValue();iy(t)&&(c.push(\" /*\"),c.push(t.trailingComments[0].value.trimStart()),c.push(\"*/\"),t.trailingComments[0].printed=!0),c.push(\")\")}return u.length>0?nv(Yy(u.concat(c))):Yy(c)},embed:Rm,insertPragma:Gg,massageAstNode:Bm,hasPrettierIgnore:ly,willPrintOwnComments:function(e){const t=e.getValue(),n=e.getParentNode();return(t&&(Cy(t)||iy(t)||n&&(\"CallExpression\"===n.type||\"OptionalCallExpression\"===n.type)&&(ry(t.leadingComments)||ry(t.trailingComments)))||n&&(\"JSXSpreadAttribute\"===n.type||\"JSXSpreadChild\"===n.type||\"UnionTypeAnnotation\"===n.type||\"TSUnionType\"===n.type||(\"ClassDeclaration\"===n.type||\"ClassExpression\"===n.type)&&n.superClass===t))&&(!Pg(e)||\"UnionTypeAnnotation\"===n.type||\"TSUnionType\"===n.type)},canAttachComment:function(e){return e.type&&\"CommentBlock\"!==e.type&&\"CommentLine\"!==e.type&&\"Line\"!==e.type&&\"Block\"!==e.type&&\"EmptyStatement\"!==e.type&&\"TemplateElement\"!==e.type&&\"Import\"!==e.type},printComment:function(e,t){const n=e.getValue();switch(n.type){case\"CommentBlock\":case\"Block\":{if(function(e){const t=\"*\".concat(e.value,\"*\").split(\"\\n\");return t.length>1&&t.every(e=>\"*\"===e.trim()[0])}(n)){const e=function(e){const t=e.value.split(\"\\n\");return Yy([\"/*\",$y(Zy,t.map((e,n)=>0===n?e.trimEnd():\" \"+(n<t.length-1?e.trim():e.trimStart()))),\"*/\"])}(n);return n.trailing&&!Fg(t.originalText,t.locStart(n),{backwards:!0})?Yy([Zy,e]):e}const e=t.locEnd(n),r=\"*-/\"===t.originalText.slice(e-3,e);return\"/*\"+n.value+(r?\"*-/\":\"*/\")}case\"CommentLine\":case\"Line\":return t.originalText.slice(t.locStart(n)).startsWith(\"#!\")?\"#!\"+n.value.trimEnd():\"//\"+n.value.trimEnd();default:throw new Error(\"Not a comment: \"+JSON.stringify(n))}},isBlockComment:fm.isBlockComment,handleComments:{ownLine:fm.handleOwnLineComment,endOfLine:fm.handleEndOfLineComment,remaining:fm.handleRemainingComment},getGapRegex:fm.getGapRegex,getCommentChildNodes:fm.getCommentChildNodes};const{concat:eb,hardline:tb,indent:nb,join:rb}=Sa.builders;var ib={preprocess:Tg,print:function(e,t,n){const r=e.getValue();switch(r.type){case\"JsonRoot\":return eb([e.call(n,\"node\"),tb]);case\"ArrayExpression\":return 0===r.elements.length?\"[]\":eb([\"[\",nb(eb([tb,rb(eb([\",\",tb]),e.map(n,\"elements\"))])),tb,\"]\"]);case\"ObjectExpression\":return 0===r.properties.length?\"{}\":eb([\"{\",nb(eb([tb,rb(eb([\",\",tb]),e.map(n,\"properties\"))])),tb,\"}\"]);case\"ObjectProperty\":return eb([e.call(n,\"key\"),\": \",e.call(n,\"value\")]);case\"UnaryExpression\":return eb([\"+\"===r.operator?\"\":r.operator,e.call(n,\"argument\")]);case\"NullLiteral\":return\"null\";case\"BooleanLiteral\":return r.value?\"true\":\"false\";case\"StringLiteral\":case\"NumericLiteral\":return JSON.stringify(r.value);case\"Identifier\":return JSON.stringify(r.name);default:throw new Error(\"unknown type: \"+JSON.stringify(r.type))}},massageAstNode:function(e,t){return delete t.start,delete t.end,delete t.extra,delete t.loc,delete t.comments,delete t.errors,\"Identifier\"===e.type?{type:\"StringLiteral\",value:e.name}:\"UnaryExpression\"===e.type&&\"+\"===e.operator?t.argument:void 0}},ob={arrowParens:{since:\"1.9.0\",category:\"JavaScript\",type:\"choice\",default:[{since:\"1.9.0\",value:\"avoid\"},{since:\"2.0.0\",value:\"always\"}],description:\"Include parentheses around a sole arrow function parameter.\",choices:[{value:\"always\",description:\"Always include parens. Example: `(x) => x`\"},{value:\"avoid\",description:\"Omit parens when possible. Example: `x => x`\"}]},bracketSpacing:Rc.bracketSpacing,jsxBracketSameLine:{since:\"0.17.0\",category:\"JavaScript\",type:\"boolean\",default:!1,description:\"Put > on the last line instead of at a new line.\"},semi:{since:\"1.0.0\",category:\"JavaScript\",type:\"boolean\",default:!0,description:\"Print semicolons.\",oppositeDescription:\"Do not print semicolons, except at the beginning of lines which may need them.\"},singleQuote:Rc.singleQuote,jsxSingleQuote:{since:\"1.15.0\",category:\"JavaScript\",type:\"boolean\",default:!1,description:\"Use single quotes in JSX.\"},quoteProps:{since:\"1.17.0\",category:\"JavaScript\",type:\"choice\",default:\"as-needed\",description:\"Change when properties in objects are quoted.\",choices:[{value:\"as-needed\",description:\"Only add quotes around object properties where required.\"},{value:\"consistent\",description:\"If at least one property in an object requires quotes, quote all properties.\"},{value:\"preserve\",description:\"Respect the input use of quotes in object properties.\"}]},trailingComma:{since:\"0.0.0\",category:\"JavaScript\",type:\"choice\",default:[{since:\"0.0.0\",value:!1},{since:\"0.19.0\",value:\"none\"},{since:\"2.0.0\",value:\"es5\"}],description:\"Print trailing commas wherever possible when multi-line.\",choices:[{value:\"es5\",description:\"Trailing commas where valid in ES5 (objects, arrays, etc.)\"},{value:\"none\",description:\"No trailing commas.\"},{value:\"all\",description:\"Trailing commas wherever possible (including function arguments).\"}]}},ab=[\"js\",\"node\"],sb=[\".js\",\"._js\",\".bones\",\".cjs\",\".es\",\".es6\",\".frag\",\".gs\",\".jake\",\".jsb\",\".jscad\",\".jsfl\",\".jsm\",\".jss\",\".mjs\",\".njs\",\".pac\",\".sjs\",\".ssjs\",\".xsjs\",\".xsjslib\"],ub=[\"Jakefile\"],cb=[\"chakra\",\"d8\",\"gjs\",\"js\",\"node\",\"qjs\",\"rhino\",\"v8\",\"v8-shell\"],lb={name:\"JavaScript\",type:\"programming\",tmScope:\"source.js\",aceMode:\"javascript\",codemirrorMode:\"javascript\",codemirrorMimeType:\"text/javascript\",color:\"#f1e05a\",aliases:ab,extensions:sb,filenames:ub,interpreters:cb,languageId:183},pb=Object.freeze({__proto__:null,name:\"JavaScript\",type:\"programming\",tmScope:\"source.js\",aceMode:\"javascript\",codemirrorMode:\"javascript\",codemirrorMimeType:\"text/javascript\",color:\"#f1e05a\",aliases:ab,extensions:sb,filenames:ub,interpreters:cb,languageId:183,default:lb}),fb=[\".jsx\"],db={name:\"JSX\",type:\"programming\",group:\"JavaScript\",extensions:fb,tmScope:\"source.js.jsx\",aceMode:\"javascript\",codemirrorMode:\"jsx\",codemirrorMimeType:\"text/jsx\",languageId:178},hb=Object.freeze({__proto__:null,name:\"JSX\",type:\"programming\",group:\"JavaScript\",extensions:fb,tmScope:\"source.js.jsx\",aceMode:\"javascript\",codemirrorMode:\"jsx\",codemirrorMimeType:\"text/jsx\",languageId:178,default:db}),mb=[\"ts\"],gb=[\"deno\",\"ts-node\"],yb=[\".ts\"],vb={name:\"TypeScript\",type:\"programming\",color:\"#2b7489\",aliases:mb,interpreters:gb,extensions:yb,tmScope:\"source.ts\",aceMode:\"typescript\",codemirrorMode:\"javascript\",codemirrorMimeType:\"application/typescript\",languageId:378},bb=Object.freeze({__proto__:null,name:\"TypeScript\",type:\"programming\",color:\"#2b7489\",aliases:mb,interpreters:gb,extensions:yb,tmScope:\"source.ts\",aceMode:\"typescript\",codemirrorMode:\"javascript\",codemirrorMimeType:\"application/typescript\",languageId:378,default:vb}),Eb=[\".tsx\"],xb={name:\"TSX\",type:\"programming\",group:\"TypeScript\",extensions:Eb,tmScope:\"source.tsx\",aceMode:\"javascript\",codemirrorMode:\"jsx\",codemirrorMimeType:\"text/jsx\",languageId:94901924},Db=Object.freeze({__proto__:null,name:\"TSX\",type:\"programming\",group:\"TypeScript\",extensions:Eb,tmScope:\"source.tsx\",aceMode:\"javascript\",codemirrorMode:\"jsx\",codemirrorMimeType:\"text/jsx\",languageId:94901924,default:xb}),Cb=[\".json\",\".avsc\",\".geojson\",\".gltf\",\".har\",\".ice\",\".JSON-tmLanguage\",\".jsonl\",\".mcmeta\",\".tfstate\",\".tfstate.backup\",\".topojson\",\".webapp\",\".webmanifest\",\".yy\",\".yyp\"],wb=[\".arcconfig\",\".htmlhintrc\",\".tern-config\",\".tern-project\",\".watchmanconfig\",\"composer.lock\",\"mcmod.info\"],Sb={name:\"JSON\",type:\"data\",tmScope:\"source.json\",aceMode:\"json\",codemirrorMode:\"javascript\",codemirrorMimeType:\"application/json\",searchable:!1,extensions:Cb,filenames:wb,languageId:174},kb=Object.freeze({__proto__:null,name:\"JSON\",type:\"data\",tmScope:\"source.json\",aceMode:\"json\",codemirrorMode:\"javascript\",codemirrorMimeType:\"application/json\",searchable:!1,extensions:Cb,filenames:wb,languageId:174,default:Sb}),Ab=[\"jsonc\"],Tb=[\".jsonc\",\".sublime-build\",\".sublime-commands\",\".sublime-completions\",\".sublime-keymap\",\".sublime-macro\",\".sublime-menu\",\".sublime-mousemap\",\".sublime-project\",\".sublime-settings\",\".sublime-theme\",\".sublime-workspace\",\".sublime_metrics\",\".sublime_session\"],_b=[\".babelrc\",\".eslintrc.json\",\".jscsrc\",\".jshintrc\",\".jslintrc\",\"jsconfig.json\",\"language-configuration.json\",\"tsconfig.json\"],Ob={name:\"JSON with Comments\",type:\"data\",group:\"JSON\",tmScope:\"source.js\",aceMode:\"javascript\",codemirrorMode:\"javascript\",codemirrorMimeType:\"text/javascript\",aliases:Ab,extensions:Tb,filenames:_b,languageId:423},Fb=Object.freeze({__proto__:null,name:\"JSON with Comments\",type:\"data\",group:\"JSON\",tmScope:\"source.js\",aceMode:\"javascript\",codemirrorMode:\"javascript\",codemirrorMimeType:\"text/javascript\",aliases:Ab,extensions:Tb,filenames:_b,languageId:423,default:Ob}),Nb=[\".json5\"],Ib={name:\"JSON5\",type:\"data\",extensions:Nb,tmScope:\"source.js\",aceMode:\"javascript\",codemirrorMode:\"javascript\",codemirrorMimeType:\"application/json\",languageId:175},Mb=Object.freeze({__proto__:null,name:\"JSON5\",type:\"data\",extensions:Nb,tmScope:\"source.js\",aceMode:\"javascript\",codemirrorMode:\"javascript\",codemirrorMimeType:\"application/json\",languageId:175,default:Ib}),jb=Xe(pb),Lb=Xe(hb),Pb=Xe(bb),Rb=Xe(Db),Bb=Xe(kb),Ub=Xe(Fb),zb=Xe(Mb),Vb={languages:[Uc(jb,e=>({since:\"0.0.0\",parsers:[\"babel\",\"flow\"],vscodeLanguageIds:[\"javascript\",\"mongo\"],interpreters:e.interpreters.concat([\"nodejs\"])})),Uc(jb,()=>({name:\"Flow\",since:\"0.0.0\",parsers:[\"babel\",\"flow\"],vscodeLanguageIds:[\"javascript\"],aliases:[],filenames:[],extensions:[\".js.flow\"]})),Uc(Lb,()=>({since:\"0.0.0\",parsers:[\"babel\",\"flow\"],vscodeLanguageIds:[\"javascriptreact\"]})),Uc(Pb,()=>({since:\"1.4.0\",parsers:[\"typescript\",\"babel-ts\"],vscodeLanguageIds:[\"typescript\"]})),Uc(Rb,()=>({since:\"1.4.0\",parsers:[\"typescript\",\"babel-ts\"],vscodeLanguageIds:[\"typescriptreact\"]})),Uc(Bb,()=>({name:\"JSON.stringify\",since:\"1.13.0\",parsers:[\"json-stringify\"],vscodeLanguageIds:[\"json\"],extensions:[],filenames:[\"package.json\",\"package-lock.json\",\"composer.json\"]})),Uc(Bb,e=>({since:\"1.5.0\",parsers:[\"json\"],vscodeLanguageIds:[\"json\"],filenames:e.filenames.concat([\".prettierrc\"])})),Uc(Ub,e=>({since:\"1.5.0\",parsers:[\"json\"],vscodeLanguageIds:[\"jsonc\"],filenames:e.filenames.concat([\".eslintrc\"])})),Uc(zb,()=>({since:\"1.13.0\",parsers:[\"json5\"],vscodeLanguageIds:[\"json5\"]}))],options:ob,printers:{estree:Zv,\"estree-json\":ib}};const{cjkPattern:qb,kPattern:Hb,punctuationPattern:Wb}={cjkPattern:\"[\\\\u02ea-\\\\u02eb\\\\u1100-\\\\u11ff\\\\u2e80-\\\\u2e99\\\\u2e9b-\\\\u2ef3\\\\u2f00-\\\\u2fd5\\\\u3000-\\\\u303f\\\\u3041-\\\\u3096\\\\u3099-\\\\u309f\\\\u30a1-\\\\u30fa\\\\u30fc-\\\\u30ff\\\\u3105-\\\\u312f\\\\u3131-\\\\u318e\\\\u3190-\\\\u3191\\\\u3196-\\\\u31ba\\\\u31c0-\\\\u31e3\\\\u31f0-\\\\u321e\\\\u322a-\\\\u3247\\\\u3260-\\\\u327e\\\\u328a-\\\\u32b0\\\\u32c0-\\\\u32cb\\\\u32d0-\\\\u3370\\\\u337b-\\\\u337f\\\\u33e0-\\\\u33fe\\\\u3400-\\\\u4db5\\\\u4e00-\\\\u9fef\\\\ua960-\\\\ua97c\\\\uac00-\\\\ud7a3\\\\ud7b0-\\\\ud7c6\\\\ud7cb-\\\\ud7fb\\\\uf900-\\\\ufa6d\\\\ufa70-\\\\ufad9\\\\ufe10-\\\\ufe1f\\\\ufe30-\\\\ufe6f\\\\uff00-\\\\uffef]|[\\\\ud840-\\\\ud868\\\\ud86a-\\\\ud86c\\\\ud86f-\\\\ud872\\\\ud874-\\\\ud879][\\\\udc00-\\\\udfff]|\\\\ud82c[\\\\udc00-\\\\udd1e\\\\udd50-\\\\udd52\\\\udd64-\\\\udd67]|\\\\ud83c[\\\\ude00\\\\ude50-\\\\ude51]|\\\\ud869[\\\\udc00-\\\\uded6\\\\udf00-\\\\udfff]|\\\\ud86d[\\\\udc00-\\\\udf34\\\\udf40-\\\\udfff]|\\\\ud86e[\\\\udc00-\\\\udc1d\\\\udc20-\\\\udfff]|\\\\ud873[\\\\udc00-\\\\udea1\\\\udeb0-\\\\udfff]|\\\\ud87a[\\\\udc00-\\\\udfe0]|\\\\ud87e[\\\\udc00-\\\\ude1d]\",kPattern:\"[\\\\u1100-\\\\u11ff\\\\u3001-\\\\u3003\\\\u3008-\\\\u3011\\\\u3013-\\\\u301f\\\\u302e-\\\\u3030\\\\u3037\\\\u30fb\\\\u3131-\\\\u318e\\\\u3200-\\\\u321e\\\\u3260-\\\\u327e\\\\ua960-\\\\ua97c\\\\uac00-\\\\ud7a3\\\\ud7b0-\\\\ud7c6\\\\ud7cb-\\\\ud7fb\\\\ufe45-\\\\ufe46\\\\uff61-\\\\uff65\\\\uffa0-\\\\uffbe\\\\uffc2-\\\\uffc7\\\\uffca-\\\\uffcf\\\\uffd2-\\\\uffd7\\\\uffda-\\\\uffdc]\",punctuationPattern:\"[\\\\u0021-\\\\u002f\\\\u003a-\\\\u0040\\\\u005b-\\\\u0060\\\\u007b-\\\\u007e\\\\u00a1\\\\u00a7\\\\u00ab\\\\u00b6-\\\\u00b7\\\\u00bb\\\\u00bf\\\\u037e\\\\u0387\\\\u055a-\\\\u055f\\\\u0589-\\\\u058a\\\\u05be\\\\u05c0\\\\u05c3\\\\u05c6\\\\u05f3-\\\\u05f4\\\\u0609-\\\\u060a\\\\u060c-\\\\u060d\\\\u061b\\\\u061e-\\\\u061f\\\\u066a-\\\\u066d\\\\u06d4\\\\u0700-\\\\u070d\\\\u07f7-\\\\u07f9\\\\u0830-\\\\u083e\\\\u085e\\\\u0964-\\\\u0965\\\\u0970\\\\u09fd\\\\u0a76\\\\u0af0\\\\u0c77\\\\u0c84\\\\u0df4\\\\u0e4f\\\\u0e5a-\\\\u0e5b\\\\u0f04-\\\\u0f12\\\\u0f14\\\\u0f3a-\\\\u0f3d\\\\u0f85\\\\u0fd0-\\\\u0fd4\\\\u0fd9-\\\\u0fda\\\\u104a-\\\\u104f\\\\u10fb\\\\u1360-\\\\u1368\\\\u1400\\\\u166e\\\\u169b-\\\\u169c\\\\u16eb-\\\\u16ed\\\\u1735-\\\\u1736\\\\u17d4-\\\\u17d6\\\\u17d8-\\\\u17da\\\\u1800-\\\\u180a\\\\u1944-\\\\u1945\\\\u1a1e-\\\\u1a1f\\\\u1aa0-\\\\u1aa6\\\\u1aa8-\\\\u1aad\\\\u1b5a-\\\\u1b60\\\\u1bfc-\\\\u1bff\\\\u1c3b-\\\\u1c3f\\\\u1c7e-\\\\u1c7f\\\\u1cc0-\\\\u1cc7\\\\u1cd3\\\\u2010-\\\\u2027\\\\u2030-\\\\u2043\\\\u2045-\\\\u2051\\\\u2053-\\\\u205e\\\\u207d-\\\\u207e\\\\u208d-\\\\u208e\\\\u2308-\\\\u230b\\\\u2329-\\\\u232a\\\\u2768-\\\\u2775\\\\u27c5-\\\\u27c6\\\\u27e6-\\\\u27ef\\\\u2983-\\\\u2998\\\\u29d8-\\\\u29db\\\\u29fc-\\\\u29fd\\\\u2cf9-\\\\u2cfc\\\\u2cfe-\\\\u2cff\\\\u2d70\\\\u2e00-\\\\u2e2e\\\\u2e30-\\\\u2e4f\\\\u3001-\\\\u3003\\\\u3008-\\\\u3011\\\\u3014-\\\\u301f\\\\u3030\\\\u303d\\\\u30a0\\\\u30fb\\\\ua4fe-\\\\ua4ff\\\\ua60d-\\\\ua60f\\\\ua673\\\\ua67e\\\\ua6f2-\\\\ua6f7\\\\ua874-\\\\ua877\\\\ua8ce-\\\\ua8cf\\\\ua8f8-\\\\ua8fa\\\\ua8fc\\\\ua92e-\\\\ua92f\\\\ua95f\\\\ua9c1-\\\\ua9cd\\\\ua9de-\\\\ua9df\\\\uaa5c-\\\\uaa5f\\\\uaade-\\\\uaadf\\\\uaaf0-\\\\uaaf1\\\\uabeb\\\\ufd3e-\\\\ufd3f\\\\ufe10-\\\\ufe19\\\\ufe30-\\\\ufe52\\\\ufe54-\\\\ufe61\\\\ufe63\\\\ufe68\\\\ufe6a-\\\\ufe6b\\\\uff01-\\\\uff03\\\\uff05-\\\\uff0a\\\\uff0c-\\\\uff0f\\\\uff1a-\\\\uff1b\\\\uff1f-\\\\uff20\\\\uff3b-\\\\uff3d\\\\uff3f\\\\uff5b\\\\uff5d\\\\uff5f-\\\\uff65]|\\\\ud800[\\\\udd00-\\\\udd02\\\\udf9f\\\\udfd0]|\\\\ud801[\\\\udd6f]|\\\\ud802[\\\\udc57\\\\udd1f\\\\udd3f\\\\ude50-\\\\ude58\\\\ude7f\\\\udef0-\\\\udef6\\\\udf39-\\\\udf3f\\\\udf99-\\\\udf9c]|\\\\ud803[\\\\udf55-\\\\udf59]|\\\\ud804[\\\\udc47-\\\\udc4d\\\\udcbb-\\\\udcbc\\\\udcbe-\\\\udcc1\\\\udd40-\\\\udd43\\\\udd74-\\\\udd75\\\\uddc5-\\\\uddc8\\\\uddcd\\\\udddb\\\\udddd-\\\\udddf\\\\ude38-\\\\ude3d\\\\udea9]|\\\\ud805[\\\\udc4b-\\\\udc4f\\\\udc5b\\\\udc5d\\\\udcc6\\\\uddc1-\\\\uddd7\\\\ude41-\\\\ude43\\\\ude60-\\\\ude6c\\\\udf3c-\\\\udf3e]|\\\\ud806[\\\\udc3b\\\\udde2\\\\ude3f-\\\\ude46\\\\ude9a-\\\\ude9c\\\\ude9e-\\\\udea2]|\\\\ud807[\\\\udc41-\\\\udc45\\\\udc70-\\\\udc71\\\\udef7-\\\\udef8\\\\udfff]|\\\\ud809[\\\\udc70-\\\\udc74]|\\\\ud81a[\\\\ude6e-\\\\ude6f\\\\udef5\\\\udf37-\\\\udf3b\\\\udf44]|\\\\ud81b[\\\\ude97-\\\\ude9a\\\\udfe2]|\\\\ud82f[\\\\udc9f]|\\\\ud836[\\\\ude87-\\\\ude8b]|\\\\ud83a[\\\\udd5e-\\\\udd5f]\"},{getLast:Gb}=na,Kb=[\"liquidNode\",\"inlineCode\",\"emphasis\",\"strong\",\"delete\",\"link\",\"linkReference\",\"image\",\"imageReference\",\"footnote\",\"footnoteReference\",\"sentence\",\"whitespace\",\"word\",\"break\",\"inlineMath\"],Jb=Kb.concat([\"tableCell\",\"paragraph\",\"heading\"]),Qb=new RegExp(Hb),Yb=new RegExp(Wb);function $b(e,t){const[,n,r,i]=t.slice(e.position.start.offset,e.position.end.offset).match(/^\\s*(\\d+)(\\.|\\))(\\s*)/);return{numberText:n,marker:r,leadingSpaces:i}}var Xb={mapAst:function(e,t){return function e(n,r,i){i=i||[];const o=Object.assign({},t(n,r,i));return o.children&&(o.children=o.children.map((t,n)=>e(t,n,[o].concat(i)))),o}(e,null,null)},splitText:function(e,t){const n=[];return(\"preserve\"===t.proseWrap?e:e.replace(new RegExp(\"(\".concat(qb,\")\\n(\").concat(qb,\")\"),\"g\"),\"$1$2\")).split(/([ \\t\\n]+)/).forEach((e,t,i)=>{t%2!=1?(0!==t&&t!==i.length-1||\"\"!==e)&&e.split(new RegExp(\"(\".concat(qb,\")\"))).forEach((e,t,n)=>{(0!==t&&t!==n.length-1||\"\"!==e)&&(t%2!=0?r(Yb.test(e)?{type:\"word\",value:e,kind:\"cjk-punctuation\",hasLeadingPunctuation:!0,hasTrailingPunctuation:!0}:{type:\"word\",value:e,kind:Qb.test(e)?\"k-letter\":\"cj-letter\",hasLeadingPunctuation:!1,hasTrailingPunctuation:!1}):\"\"!==e&&r({type:\"word\",value:e,kind:\"non-cjk\",hasLeadingPunctuation:Yb.test(e[0]),hasTrailingPunctuation:Yb.test(Gb(e))}))}):n.push({type:\"whitespace\",value:/\\n/.test(e)?\"\\n\":\" \"})}),n;function r(e){const t=Gb(n);var r,i;t&&\"word\"===t.type&&(\"non-cjk\"===t.kind&&\"cj-letter\"===e.kind&&!t.hasTrailingPunctuation||\"cj-letter\"===t.kind&&\"non-cjk\"===e.kind&&!e.hasLeadingPunctuation?n.push({type:\"whitespace\",value:\" \"}):(r=\"non-cjk\",i=\"cjk-punctuation\",t.kind===r&&e.kind===i||t.kind===i&&e.kind===r||[t.value,e.value].some(e=>/\\u3000/.test(e))||n.push({type:\"whitespace\",value:\"\"}))),n.push(e)}},punctuationPattern:Wb,getFencedCodeBlockValue:function(e,t){const n=t.slice(e.position.start.offset,e.position.end.offset),r=n.match(/^\\s*/)[0].length,i=new RegExp(\"^\\\\s{0,\".concat(r,\"}\")),o=n.split(\"\\n\"),a=n[r],s=n.slice(r).match(new RegExp(\"^[\".concat(a,\"]+\")))[0],u=new RegExp(\"^\\\\s{0,3}\".concat(s)).test(o[o.length-1].slice(c(o.length-1)));return o.slice(1,u?-1:void 0).map((e,t)=>e.slice(c(t+1)).replace(i,\"\")).join(\"\\n\");function c(t){return e.position.indent[t-1]-1}},getOrderedListItemInfo:$b,hasGitDiffFriendlyOrderedList:function(e,t){if(!e.ordered)return!1;if(e.children.length<2)return!1;const n=Number($b(e.children[0],t.originalText).numberText),r=Number($b(e.children[1],t.originalText).numberText);if(0===n&&e.children.length>2){const n=Number($b(e.children[2],t.originalText).numberText);return 1===r&&1===n}return 1===r},INLINE_NODE_TYPES:Kb,INLINE_NODE_WRAPPER_TYPES:Jb};const{builders:{hardline:Zb,literalline:eE,concat:tE,markAsRoot:nE},utils:{mapDoc:rE}}=Sa,{getFencedCodeBlockValue:iE}=Xb;var oE=function(e,t,n,r){const i=e.getValue();if(\"code\"===i.type&&null!==i.lang){const e=i.lang.match(/^[A-Za-z0-9_-]+/),t=function(e){const t=sn.getSupportInfo({plugins:r.plugins}).languages.find(t=>t.name.toLowerCase()===e||t.aliases&&t.aliases.includes(e)||t.extensions&&t.extensions.find(t=>t===\".\".concat(e)));return t?t.parsers[0]:null}(e?e[0]:\"\");if(t){const e=r.__inJsTemplate?\"~\":\"`\",a=e.repeat(Math.max(3,na.getMaxContinuousCount(i.value,e)+1)),s=n(iE(i,r.originalText),{parser:t});return nE(tE([a,i.lang,Zb,o(s),a]))}}if(\"yaml\"===i.type)return nE(tE([\"---\",Zb,i.value&&i.value.trim()?o(n(i.value,{parser:\"yaml\"})):\"\",\"---\"]));switch(i.type){case\"importExport\":return n(i.value,{parser:\"babel\"});case\"jsx\":return n(\"<$>\".concat(i.value,\"</$>\"),{parser:\"__js_expression\",rootMarker:\"mdx\"})}return null;function o(e){return rE(e,e=>\"string\"==typeof e&&e.includes(\"\\n\")?tE(e.split(/(\\n)/g).map((e,t)=>t%2==0?e:eE)):e)}};const aE=[\"format\",\"prettier\"];function sE(e){const t=\"@(\".concat(aE.join(\"|\"),\")\"),n=new RegExp([\"\\x3c!--\\\\s*\".concat(t,\"\\\\s*--\\x3e\"),\"\\x3c!--.*\\r?\\n[\\\\s\\\\S]*(^|\\n)[^\\\\S\\n]*\".concat(t,\"[^\\\\S\\n]*($|\\n)[\\\\s\\\\S]*\\n.*--\\x3e\")].join(\"|\"),\"m\"),r=e.match(n);return r&&0===r.index}var uE={startWithPragma:sE,hasPragma:e=>sE(ou(e).content.trimStart()),insertPragma:e=>{const t=ou(e),n=\"\\x3c!-- @\".concat(aE[0],\" --\\x3e\");return t.frontMatter?\"\".concat(t.frontMatter.raw,\"\\n\\n\").concat(n,\"\\n\\n\").concat(t.content):\"\".concat(n,\"\\n\\n\").concat(t.content)}};const{getOrderedListItemInfo:cE,mapAst:lE,splitText:pE}=Xb,fE=/^([\\u0000-\\uffff]|[\\ud800-\\udbff][\\udc00-\\udfff])$/;function dE(e,t,n){return lE(e,e=>{if(!e.children)return e;const r=e.children.reduce((e,r)=>{const i=e[e.length-1];return i&&t(i,r)?e.splice(-1,1,n(i,r)):e.push(r),e},[]);return Object.assign({},e,{children:r})})}var hE=function(e,t){return e=function(e){return dE(e,(e,t)=>\"importExport\"===e.type&&\"importExport\"===t.type,(e,t)=>({type:\"importExport\",value:e.value+\"\\n\\n\"+t.value,position:{start:e.position.start,end:t.position.end}}))}(e=function(e){return lE(e,e=>\"import\"!==e.type&&\"export\"!==e.type?e:Object.assign({},e,{type:\"importExport\"}))}(e=function(e,t){return lE(e,(e,n,[r])=>{if(\"text\"!==e.type)return e;let{value:i}=e;return\"paragraph\"===r.type&&(0===n&&(i=i.trimStart()),n===r.children.length-1&&(i=i.trimEnd())),{type:\"sentence\",position:e.position,children:pE(i,t)}})}(e=function(e,t){return lE(e,(e,r,i)=>{if(\"list\"===e.type&&0!==e.children.length){for(let t=0;t<i.length;t++){const n=i[t];if(\"list\"===n.type&&!n.isAligned)return e.isAligned=!1,e}e.isAligned=function(e){if(!e.ordered)return!0;const[r,i]=e.children;if(cE(r,t.originalText).leadingSpaces.length>1)return!0;const o=n(r);if(-1===o)return!1;if(1===e.children.length)return o%t.tabWidth==0;const a=n(i);return o===a&&(o%t.tabWidth==0||cE(i,t.originalText).leadingSpaces.length>1)}(e)}return e});function n(e){return 0===e.children.length?-1:e.children[0].position.start.column-1}}(e=function(e,t){return lE(e,(e,n,r)=>{if(\"code\"===e.type){const n=/^\\n?( {4,}|\\t)/.test(t.originalText.slice(e.position.start.offset,e.position.end.offset));if(e.isIndented=n,n)for(let e=0;e<r.length;e++){const t=r[e];if(t.hasIndentedCodeblock)break;\"list\"===t.type&&(t.hasIndentedCodeblock=!0)}}return e})}(e=function(e){return lE(e,e=>\"inlineCode\"!==e.type?e:Object.assign({},e,{value:e.value.replace(/\\s+/g,\" \")}))}(e=function(e){return dE(e,(e,t)=>\"text\"===e.type&&\"text\"===t.type,(e,t)=>({type:\"text\",value:e.value+t.value,position:{start:e.position.start,end:t.position.end}}))}(e=function(e,t){return lE(e,e=>\"text\"!==e.type?e:Object.assign({},e,{value:\"*\"!==e.value&&\"_\"!==e.value&&\"$\"!==e.value&&fE.test(e.value)&&e.position.end.offset-e.position.start.offset!==e.value.length?t.originalText.slice(e.position.start.offset,e.position.end.offset):e.value}))}(e,t))),t),t),t)))};const{builders:{breakParent:mE,concat:gE,join:yE,line:vE,literalline:bE,markAsRoot:EE,hardline:xE,softline:DE,ifBreak:CE,fill:wE,align:SE,indent:kE,group:AE},utils:{mapDoc:TE},printer:{printDocToString:_E}}=Sa,{getFencedCodeBlockValue:OE,hasGitDiffFriendlyOrderedList:FE,splitText:NE,punctuationPattern:IE,INLINE_NODE_TYPES:ME,INLINE_NODE_WRAPPER_TYPES:jE}=Xb,{replaceEndOfLineWith:LE}=na,PE=[\"importExport\"],RE=[\"heading\",\"tableCell\",\"link\"],BE=[\"listItem\",\"definition\",\"footnoteDefinition\"];function UE(e,t,n,r){const i=e.getValue(),o=null===i.checked?\"\":i.checked?\"[x] \":\"[ ] \";return gE([o,GE(e,t,n,{processor:(e,i)=>{if(0===i&&\"list\"!==e.getValue().type)return SE(\" \".repeat(o.length),e.call(n));const a=\" \".repeat((s=t.tabWidth-r.length,c=3,s<(u=0)?u:s>c?c:s));var s,u,c;return gE([a,SE(a,e.call(n))])}})])}function zE(e,t){return function(e,t,n){n=n||(()=>!0);let r=-1;for(const i of t.children)if(i.type===e.type&&n(i)?r++:r=-1,i===e)return r}(e,t,t=>t.ordered===e.ordered)}function VE(e,t){const n=[].concat(t);let r,i=-1;for(;r=e.getParentNode(++i);)if(n.includes(r.type))return i;return-1}function qE(e,t){const n=VE(e,t);return-1===n?null:e.getParentNode(n)}function HE(e,t,n){if(\"preserve\"===n.proseWrap&&\"\\n\"===t)return xE;const r=\"always\"===n.proseWrap&&!qE(e,RE);return\"\"!==t?r?vE:\" \":r?DE:\"\"}function WE(e,t,n){const r=[];let i=null;const{children:o}=e.getValue();return o.forEach((e,t)=>{switch(JE(e)){case\"start\":null===i&&(i={index:t,offset:e.position.end.offset});break;case\"end\":null!==i&&(r.push({start:i,end:{index:t,offset:e.position.start.offset}}),i=null)}}),GE(e,t,n,{processor:(e,i)=>{if(0!==r.length){const e=r[0];if(i===e.start.index)return gE([o[e.start.index].value,t.originalText.slice(e.start.offset,e.end.offset),o[e.end.index].value]);if(e.start.index<i&&i<e.end.index)return!1;if(i===e.end.index)return r.shift(),!1}return e.call(n)}})}function GE(e,t,n,r){const i=(r=r||{}).postprocessor||gE,o=r.processor||(e=>e.call(n)),a=e.getValue(),s=[];let u;return e.map((e,n)=>{const r=e.getValue(),i=o(e,n);if(!1!==i){const e={parts:s,prevNode:u,parentNode:a,options:t};(function(e,t){const n=0===t.parts.length,r=ME.includes(e.type),i=\"html\"===e.type&&jE.includes(t.parentNode.type);return n||r||i})(r,e)||(s.push(xE),u&&PE.includes(u.type)||(function(e,t){const n=(t.prevNode&&t.prevNode.type)===e.type&&BE.includes(e.type),r=\"listItem\"===t.parentNode.type&&!t.parentNode.loose,i=t.prevNode&&\"listItem\"===t.prevNode.type&&t.prevNode.loose,o=\"next\"===JE(t.prevNode),a=\"html\"===e.type&&t.prevNode&&\"html\"===t.prevNode.type&&t.prevNode.position.end.line+1===e.position.start.line,s=\"html\"===e.type&&\"listItem\"===t.parentNode.type&&t.prevNode&&\"paragraph\"===t.prevNode.type&&t.prevNode.position.end.line+1===e.position.start.line;return i||!(n||r||o||a||s)}(r,e)||QE(r,e))&&s.push(xE),QE(r,e)&&s.push(xE)),s.push(i),u=r}},\"children\"),i(s)}function KE(e){let t=e;for(;t.children&&0!==t.children.length;)t=t.children[t.children.length-1];return t}function JE(e){if(\"html\"!==e.type)return!1;const t=e.value.match(/^<!--\\s*prettier-ignore(?:-(start|end))?\\s*-->$/);return null!==t&&(t[1]?t[1]:\"next\")}function QE(e,t){const n=t.prevNode&&\"list\"===t.prevNode.type,r=\"code\"===e.type&&e.isIndented;return n&&r}function YE(e){return TE(e,e=>{if(!e.parts)return e;if(\"concat\"===e.type&&1===e.parts.length)return e.parts[0];const t=e.parts.reduce((e,t)=>(\"concat\"===t.type?e.push(...t.parts):\"\"!==t&&e.push(t),e),[]);return Object.assign({},e,{parts:ZE(t)})})}function $E(e,t){const n=[\" \"].concat(t||[]);return new RegExp(n.map(e=>\"\\\\\".concat(e)).join(\"|\")).test(e)?\"<\".concat(e,\">\"):e}function XE(e,t,n){if(null==n&&(n=!0),!e)return\"\";if(n)return\" \"+XE(e,t,!1);if(e.includes('\"')&&e.includes(\"'\")&&!e.includes(\")\"))return\"(\".concat(e,\")\");const r=e.split(\"'\").length-1,i=e.split('\"').length-1,o=r>i?'\"':i>r||t.singleQuote?\"'\":'\"';return e=e.replace(new RegExp(\"(\".concat(o,\")\"),\"g\"),\"\\\\$1\"),\"\".concat(o).concat(e).concat(o)}function ZE(e){return e.reduce((e,t)=>{const n=na.getLast(e);return\"string\"==typeof n&&\"string\"==typeof t?e.splice(-1,1,n+t):e.push(t),e},[])}var ex={preprocess:hE,print:function(e,t,n){const r=e.getValue();if(function(e){const t=qE(e,[\"linkReference\",\"imageReference\"]);return t&&(\"linkReference\"!==t.type||\"full\"!==t.referenceType)}(e))return gE(NE(t.originalText.slice(r.position.start.offset,r.position.end.offset),t).map(n=>\"word\"===n.type?n.value:\"\"===n.value?\"\":HE(e,n.value,t)));switch(r.type){case\"root\":return 0===r.children.length?\"\":gE([YE(WE(e,t,n)),PE.includes(KE(r).type)?\"\":xE]);case\"paragraph\":return GE(e,t,n,{postprocessor:wE});case\"sentence\":return GE(e,t,n);case\"word\":return r.value.replace(/[*$]/g,\"\\\\$&\").replace(new RegExp([\"(^|\".concat(IE,\")(_+)\"),\"(_+)(\".concat(IE,\"|$)\")].join(\"|\"),\"g\"),(e,t,n,r,i)=>(n?\"\".concat(t).concat(n):\"\".concat(r).concat(i)).replace(/_/g,\"\\\\_\"));case\"whitespace\":{const n=e.getParentNode(),i=n.children.indexOf(r),o=n.children[i+1],a=o&&/^>|^([-+*]|#{1,6}|[0-9]+[.)])$/.test(o.value)?\"never\":t.proseWrap;return HE(e,r.value,{proseWrap:a})}case\"emphasis\":{const i=e.getParentNode(),o=i.children.indexOf(r),a=i.children[o-1],s=i.children[o+1],u=a&&\"sentence\"===a.type&&a.children.length>0&&\"word\"===na.getLast(a.children).type&&!na.getLast(a.children).hasTrailingPunctuation||s&&\"sentence\"===s.type&&s.children.length>0&&\"word\"===s.children[0].type&&!s.children[0].hasLeadingPunctuation||qE(e,\"emphasis\")?\"*\":\"_\";return gE([u,GE(e,t,n),u])}case\"strong\":return gE([\"**\",GE(e,t,n),\"**\"]);case\"delete\":return gE([\"~~\",GE(e,t,n),\"~~\"]);case\"inlineCode\":{const e=na.getMinNotPresentContinuousCount(r.value,\"`\"),t=\"`\".repeat(e||1),n=e?\" \":\"\";return gE([t,n,r.value,n,t])}case\"link\":switch(t.originalText[r.position.start.offset]){case\"<\":{const e=\"mailto:\",n=r.url.startsWith(e)&&t.originalText.slice(r.position.start.offset+1,r.position.start.offset+1+e.length)!==e?r.url.slice(e.length):r.url;return gE([\"<\",n,\">\"])}case\"[\":return gE([\"[\",GE(e,t,n),\"](\",$E(r.url,\")\"),XE(r.title,t),\")\"]);default:return t.originalText.slice(r.position.start.offset,r.position.end.offset)}case\"image\":return gE([\"![\",r.alt||\"\",\"](\",$E(r.url,\")\"),XE(r.title,t),\")\"]);case\"blockquote\":return gE([\"> \",SE(\"> \",GE(e,t,n))]);case\"heading\":return gE([\"#\".repeat(r.depth)+\" \",GE(e,t,n)]);case\"code\":{if(r.isIndented){const e=\" \".repeat(4);return SE(e,gE([e,gE(LE(r.value,xE))]))}const e=t.__inJsTemplate?\"~\":\"`\",n=e.repeat(Math.max(3,na.getMaxContinuousCount(r.value,e)+1));return gE([n,r.lang||\"\",xE,gE(LE(OE(r,t.originalText),xE)),xE,n])}case\"yaml\":case\"toml\":return t.originalText.slice(r.position.start.offset,r.position.end.offset);case\"html\":{const t=e.getParentNode(),n=\"root\"===t.type&&na.getLast(t.children)===r?r.value.trimEnd():r.value,i=/^<!--[\\s\\S]*-->$/.test(n);return gE(LE(n,i?xE:EE(bE)))}case\"list\":{const i=zE(r,e.getParentNode()),o=FE(r,t);return GE(e,t,n,{processor:(e,a)=>{const s=function(){const e=r.ordered?(0===a?r.start:o?1:r.start+a)+(i%2==0?\". \":\") \"):i%2==0?\"- \":\"* \";return r.isAligned||r.hasIndentedCodeblock?function(e,t){const n=function(){const n=e.length%t.tabWidth;return 0===n?0:t.tabWidth-n}();return e+\" \".repeat(n>=4?0:n)}(e,t):e}(),u=e.getValue();return 2===u.children.length&&\"html\"===u.children[1].type&&u.children[0].position.start.column!==u.children[1].position.start.column?gE([s,UE(e,t,n,s)]):gE([s,SE(\" \".repeat(s.length),UE(e,t,n,s))])}})}case\"thematicBreak\":{const t=VE(e,\"list\");return-1===t?\"---\":zE(e.getParentNode(t),e.getParentNode(t+1))%2==0?\"***\":\"---\"}case\"linkReference\":return gE([\"[\",GE(e,t,n),\"]\",\"full\"===r.referenceType?gE([\"[\",r.identifier,\"]\"]):\"collapsed\"===r.referenceType?\"[]\":\"\"]);case\"imageReference\":switch(r.referenceType){case\"full\":return gE([\"![\",r.alt||\"\",\"][\",r.identifier,\"]\"]);default:return gE([\"![\",r.alt,\"]\",\"collapsed\"===r.referenceType?\"[]\":\"\"])}case\"definition\":{const e=\"always\"===t.proseWrap?vE:\" \";return AE(gE([gE([\"[\",r.identifier,\"]:\"]),kE(gE([e,$E(r.url),null===r.title?\"\":gE([e,XE(r.title,t,!1)])]))]))}case\"footnote\":return gE([\"[^\",GE(e,t,n),\"]\"]);case\"footnoteReference\":return gE([\"[^\",r.identifier,\"]\"]);case\"footnoteDefinition\":{const i=e.getParentNode().children[e.getName()+1],o=1===r.children.length&&\"paragraph\"===r.children[0].type&&(\"never\"===t.proseWrap||\"preserve\"===t.proseWrap&&r.children[0].position.start.line===r.children[0].position.end.line);return gE([\"[^\",r.identifier,\"]: \",o?GE(e,t,n):AE(gE([SE(\" \".repeat(t.tabWidth),GE(e,t,n,{processor:(e,t)=>0===t?AE(gE([DE,e.call(n)])):e.call(n)})),i&&\"footnoteDefinition\"===i.type?DE:\"\"]))])}case\"table\":return function(e,t,n){const r=xE.parts[0],i=e.getValue(),o=[];e.map(e=>{const r=[];e.map(e=>{r.push(_E(e.call(n),t).formatted)},\"children\"),o.push(r)},\"children\");const a=o.reduce((e,t)=>e.map((e,n)=>Math.max(e,na.getStringWidth(t[n]))),o[0].map(()=>3)),s=yE(r,[l(o[0]),c(),yE(r,o.slice(1).map(e=>l(e)))]);if(\"never\"!==t.proseWrap)return gE([mE,s]);const u=yE(r,[l(o[0],!0),c(!0),yE(r,o.slice(1).map(e=>l(e,!0)))]);return gE([mE,AE(CE(u,s))]);function c(e){return gE([\"| \",yE(\" | \",a.map((t,n)=>{const r=e?3:t;switch(i.align[n]){case\"left\":return\":\"+\"-\".repeat(r-1);case\"right\":return\"-\".repeat(r-1)+\":\";case\"center\":return\":\"+\"-\".repeat(r-2)+\":\";default:return\"-\".repeat(r)}})),\" |\"])}function l(e,t){return gE([\"| \",yE(\" | \",t?e:e.map((e,t)=>{switch(i.align[t]){case\"right\":return function(e,t){const n=t-na.getStringWidth(e);return gE([\" \".repeat(n),e])}(e,a[t]);case\"center\":return function(e,t){const n=t-na.getStringWidth(e),r=Math.floor(n/2),i=n-r;return gE([\" \".repeat(r),e,\" \".repeat(i)])}(e,a[t]);default:return function(e,t){const n=t-na.getStringWidth(e);return gE([e,\" \".repeat(n)])}(e,a[t])}})),\" |\"])}}(e,t,n);case\"tableCell\":return GE(e,t,n);case\"break\":return/\\s/.test(t.originalText[r.position.start.offset])?gE([\"  \",EE(bE)]):gE([\"\\\\\",xE]);case\"liquidNode\":return gE(LE(r.value,xE));case\"importExport\":case\"jsx\":return r.value;case\"math\":return gE([\"$$\",xE,r.value?gE([gE(LE(r.value,xE)),xE]):\"\",\"$$\"]);case\"inlineMath\":return t.originalText.slice(t.locStart(r),t.locEnd(r));case\"tableRow\":case\"listItem\":default:throw new Error(\"Unknown markdown type \".concat(JSON.stringify(r.type)))}},embed:oE,massageAstNode:function(e,t,n){return delete t.position,delete t.raw,\"code\"!==e.type&&\"yaml\"!==e.type&&\"import\"!==e.type&&\"export\"!==e.type&&\"jsx\"!==e.type||delete t.value,\"list\"===e.type&&delete t.isAligned,\"text\"===e.type?null:(\"inlineCode\"===e.type&&(t.value=e.value.replace(/[ \\t\\n]+/g,\" \")),n&&\"root\"===n.type&&n.children.length>0&&(n.children[0]===e||(\"yaml\"===n.children[0].type||\"toml\"===n.children[0].type)&&n.children[1]===e)&&\"html\"===e.type&&uE.startWithPragma(e.value)?null:void 0)},hasPrettierIgnore:function(e){const t=+e.getName();return 0!==t&&\"next\"===JE(e.getParentNode().children[t-1])},insertPragma:uE.insertPragma},tx={proseWrap:Rc.proseWrap,singleQuote:Rc.singleQuote},nx=[\"pandoc\"],rx=[\".md\",\".markdown\",\".mdown\",\".mdwn\",\".mdx\",\".mkd\",\".mkdn\",\".mkdown\",\".ronn\",\".workbook\"],ix=[\"contents.lr\"],ox={name:\"Markdown\",type:\"prose\",aliases:nx,aceMode:\"markdown\",codemirrorMode:\"gfm\",codemirrorMimeType:\"text/x-gfm\",wrap:!0,extensions:rx,filenames:ix,tmScope:\"source.gfm\",languageId:222},ax=Xe(Object.freeze({__proto__:null,name:\"Markdown\",type:\"prose\",aliases:nx,aceMode:\"markdown\",codemirrorMode:\"gfm\",codemirrorMimeType:\"text/x-gfm\",wrap:!0,extensions:rx,filenames:ix,tmScope:\"source.gfm\",languageId:222,default:ox})),sx={languages:[Uc(ax,e=>({since:\"1.8.0\",parsers:[\"markdown\"],vscodeLanguageIds:[\"markdown\"],filenames:e.filenames.concat([\"README\"]),extensions:e.extensions.filter(e=>\".mdx\"!==e)})),Uc(ax,()=>({name:\"MDX\",since:\"1.15.0\",parsers:[\"mdx\"],vscodeLanguageIds:[\"mdx\"],filenames:[],extensions:[\".mdx\"]}))],options:tx,printers:{mdast:ex}},ux={isPragma:function(e){return/^\\s*@(prettier|format)\\s*$/.test(e)},hasPragma:function(e){return/^\\s*#[^\\n\\S]*@(prettier|format)\\s*?(\\n|$)/.test(e)},insertPragma:function(e){return\"# @format\\n\\n\".concat(e)}};const{getLast:cx}=na;function lx(e,t){return e&&\"string\"==typeof e.type&&(!t||t.includes(e.type))}function px(e){return\"prettier-ignore\"===e.value.trim()}function fx(e){return e&&e.leadingComments&&0!==e.leadingComments.length}function dx(e){return e&&e.middleComments&&0!==e.middleComments.length}function hx(e){return e&&e.indicatorComment}function mx(e){return e&&e.trailingComment}function gx(e){return e&&e.endComments&&0!==e.endComments.length}function yx(e){const t=[];let n=void 0;for(const r of e.split(/( +)/g))\" \"!==r?\" \"===n?t.push(r):t.push((t.pop()||\"\")+r):void 0===n&&t.unshift(\"\"),n=r;return\" \"===n&&t.push((t.pop()||\"\")+\" \"),\"\"===t[0]&&(t.shift(),t.unshift(\" \"+(t.shift()||\"\"))),t}var vx={getLast:cx,getAncestorCount:function(e,t){let n=0;const r=e.stack.length-1;for(let i=0;i<r;i++){const r=e.stack[i];lx(r)&&t(r)&&n++}return n},isNode:lx,isEmptyNode:function(e){return!(e.children&&0!==e.children.length||function(e){return fx(e)||dx(e)||hx(e)||mx(e)||gx(e)}(e))},mapNode:function e(t,n,r){return n(\"children\"in t?Object.assign({},t,{children:t.children.map(r=>e(r,n,t))}):t,r)},defineShortcut:function(e,t,n){Object.defineProperty(e,t,{get:n,enumerable:!1})},isNextLineEmpty:function(e,t){let n=0;const r=t.length;for(let i=e.position.end.offset-1;i<r;i++){const e=t[i];if(\"\\n\"===e&&n++,1===n&&/\\S/.test(e))return!1;if(2===n)return!0}return!1},isLastDescendantNode:function(e){switch(e.getValue().type){case\"tag\":case\"anchor\":case\"comment\":return!1}const t=e.stack.length;for(let n=1;n<t;n++){const t=e.stack[n],r=e.stack[n-1];if(Array.isArray(r)&&\"number\"==typeof t&&t!==r.length-1)return!1}return!0},getBlockValueLineContents:function(e,{parentIndent:t,isLastDescendant:n,options:r}){const i=e.position.start.line===e.position.end.line?\"\":r.originalText.slice(e.position.start.offset,e.position.end.offset).match(/^[^\\n]*?\\n([\\s\\S]*)$/)[1],o=null===e.indent?(a=i.match(/^( *)\\S/m))?a[1].length:1/0:e.indent-1+t;var a;const s=i.split(\"\\n\").map(e=>e.slice(o));return\"preserve\"===r.proseWrap||\"blockLiteral\"===e.type?u(s.map(e=>0===e.length?[]:[e])):u(s.map(e=>0===e.length?[]:yx(e)).reduce((e,t,n)=>0===n||0===s[n-1].length||0===t.length||/^\\s/.test(t[0])||/^\\s|\\s$/.test(cx(e))?e.concat([t]):e.concat([e.pop().concat(t)]),[]).map(e=>e.reduce((e,t)=>0!==e.length&&/\\s$/.test(cx(e))?e.concat(e.pop()+\" \"+t):e.concat(t),[])).map(e=>\"never\"===r.proseWrap?[e.join(\" \")]:e));function u(t){if(\"keep\"===e.chomping)return 0===cx(t).length?t.slice(0,-1):t;let r=0;for(let e=t.length-1;e>=0&&0===t[e].length;e--)r++;return 0===r?t:r>=2&&!n?t.slice(0,-(r-1)):t.slice(0,-r)}},getFlowScalarLineContents:function(e,t,n){const r=t.split(\"\\n\").map((e,t,n)=>0===t&&t===n.length-1?e:0!==t&&t!==n.length-1?e.trim():0===t?e.trimEnd():e.trimStart());return\"preserve\"===n.proseWrap?r.map(e=>0===e.length?[]:[e]):r.map(e=>0===e.length?[]:yx(e)).reduce((t,n,i)=>0===i||0===r[i-1].length||0===n.length||\"quoteDouble\"===e&&cx(cx(t)).endsWith(\"\\\\\")?t.concat([n]):t.concat([t.pop().concat(n)]),[]).map(e=>\"never\"===n.proseWrap?[e.join(\" \")]:e)},getLastDescendantNode:function e(t){return\"children\"in t&&0!==t.children.length?e(cx(t.children)):t},hasPrettierIgnore:function(e){const t=e.getValue();if(\"documentBody\"===t.type){const t=e.getParentNode();return gx(t.head)&&px(cx(t.head.endComments))}return fx(t)&&px(cx(t.leadingComments))},hasLeadingComments:fx,hasMiddleComments:dx,hasIndicatorComment:hx,hasTrailingComment:mx,hasEndComments:gx};const{insertPragma:bx,isPragma:Ex}=ux,{getAncestorCount:xx,getBlockValueLineContents:Dx,getFlowScalarLineContents:Cx,getLast:wx,getLastDescendantNode:Sx,hasLeadingComments:kx,hasMiddleComments:Ax,hasIndicatorComment:Tx,hasTrailingComment:_x,hasEndComments:Ox,hasPrettierIgnore:Fx,isLastDescendantNode:Nx,isNextLineEmpty:Ix,isNode:Mx,isEmptyNode:jx,defineShortcut:Lx,mapNode:Px}=vx,Rx=Sa.builders,{conditionalGroup:Bx,breakParent:Ux,concat:zx,dedent:Vx,dedentToRoot:qx,fill:Hx,group:Wx,hardline:Gx,ifBreak:Kx,join:Jx,line:Qx,lineSuffix:Yx,literalline:$x,markAsRoot:Xx,softline:Zx}=Rx,{replaceEndOfLineWith:eD}=na;function tD(e){switch(e.type){case\"document\":Lx(e,\"head\",()=>e.children[0]),Lx(e,\"body\",()=>e.children[1]);break;case\"documentBody\":case\"sequenceItem\":case\"flowSequenceItem\":case\"mappingKey\":case\"mappingValue\":Lx(e,\"content\",()=>e.children[0]);break;case\"mappingItem\":case\"flowMappingItem\":Lx(e,\"key\",()=>e.children[0]),Lx(e,\"value\",()=>e.children[1])}return e}function nD(e,t,n,r,i){switch(e.type){case\"root\":return zx([Jx(Gx,n.map((t,r)=>{const o=e.children[r],a=e.children[r+1];return zx([i(t),aD(o,a)?zx([Gx,\"...\",_x(o)?zx([\" \",n.call(i,\"trailingComment\")]):\"\"]):!a||_x(a.head)?\"\":zx([Gx,\"---\"])])},\"children\")),0===e.children.length||(a=Sx(e),Mx(a,[\"blockLiteral\",\"blockFolded\"])&&\"keep\"===a.chomping)?\"\":Gx]);case\"document\":{const o=t.children[n.getName()+1];return Jx(Gx,[\"head\"===sD(e,o,t,r)?Jx(Gx,[0===e.head.children.length&&0===e.head.endComments.length?\"\":n.call(i,\"head\"),zx([\"---\",_x(e.head)?zx([\" \",n.call(i,\"head\",\"trailingComment\")]):\"\"])].filter(Boolean)):\"\",oD(e)?n.call(i,\"body\"):\"\"].filter(Boolean))}case\"documentHead\":return Jx(Gx,[].concat(n.map(i,\"children\"),n.map(i,\"endComments\")));case\"documentBody\":{const t=Jx(Gx,n.map(i,\"children\")).parts,r=Jx(Gx,n.map(i,\"endComments\")).parts,o=0===t.length||0===r.length?\"\":(e=>Mx(e,[\"blockFolded\",\"blockLiteral\"])?\"keep\"===e.chomping?\"\":zx([Gx,Gx]):Gx)(Sx(e));return zx([].concat(t,o,r))}case\"directive\":return zx([\"%\",Jx(\" \",[e.name].concat(e.parameters))]);case\"comment\":return zx([\"#\",e.value]);case\"alias\":return zx([\"*\",e.value]);case\"tag\":return r.originalText.slice(e.position.start.offset,e.position.end.offset);case\"anchor\":return zx([\"&\",e.value]);case\"plain\":return pD(e.type,r.originalText.slice(e.position.start.offset,e.position.end.offset),r);case\"quoteDouble\":case\"quoteSingle\":{const t=\"'\",n='\"',i=r.originalText.slice(e.position.start.offset+1,e.position.end.offset-1);if(\"quoteSingle\"===e.type&&i.includes(\"\\\\\")||\"quoteDouble\"===e.type&&/\\\\[^\"]/.test(i)){const o=\"quoteDouble\"===e.type?n:t;return zx([o,pD(e.type,i,r),o])}if(i.includes(n))return zx([t,pD(e.type,\"quoteDouble\"===e.type?i.replace(/\\\\\"/g,n).replace(/'/g,t.repeat(2)):i,r),t]);if(i.includes(t))return zx([n,pD(e.type,\"quoteSingle\"===e.type?i.replace(/''/g,t):i,r),n]);const o=r.singleQuote?t:n;return zx([o,pD(e.type,i,r),o])}case\"blockFolded\":case\"blockLiteral\":{const t=xx(n,e=>Mx(e,[\"sequence\",\"mapping\"])),o=Nx(n);return zx([\"blockFolded\"===e.type?\">\":\"|\",null===e.indent?\"\":e.indent.toString(),\"clip\"===e.chomping?\"\":\"keep\"===e.chomping?\"+\":\"-\",Tx(e)?zx([\" \",n.call(i,\"indicatorComment\")]):\"\",(null===e.indent?Vx:qx)(rD(null===e.indent?r.tabWidth:e.indent-1+t,zx(Dx(e,{parentIndent:t,isLastDescendant:o,options:r}).reduce((t,n,r,i)=>t.concat(0===r?Gx:\"\",Hx(Jx(Qx,n).parts),r!==i.length-1?0===n.length?Gx:Xx($x):\"keep\"===e.chomping&&o?0===n.length?qx(Gx):qx($x):\"\"),[]))))])}case\"sequence\":return Jx(Gx,n.map(i,\"children\"));case\"sequenceItem\":return zx([\"- \",rD(2,e.content?n.call(i,\"content\"):\"\")]);case\"mappingKey\":case\"mappingValue\":return e.content?n.call(i,\"content\"):\"\";case\"mapping\":return Jx(Gx,n.map(i,\"children\"));case\"mappingItem\":case\"flowMappingItem\":{const o=jx(e.key),a=jx(e.value);if(o&&a)return zx([\": \"]);const u=n.call(i,\"key\"),c=n.call(i,\"value\");if(a)return\"flowMappingItem\"===e.type&&\"flowMapping\"===t.type?u:\"mappingItem\"!==e.type||!uD(e.key.content,r)||_x(e.key.content)||t.tag&&\"tag:yaml.org,2002:set\"===t.tag.value?zx([\"? \",rD(2,u)]):zx([u,cD(e)?\" \":\"\",\":\"]);if(o)return zx([\": \",rD(2,c)]);const l=Symbol(\"mappingKey\");return kx(e.value)||!iD(e.key.content)?zx([\"? \",rD(2,u),Gx,Jx(\"\",n.map(i,\"value\",\"leadingComments\").map(e=>zx([e,Gx]))),\": \",rD(2,c)]):!function(e){if(!e)return!0;switch(e.type){case\"plain\":case\"quoteDouble\":case\"quoteSingle\":return e.position.start.line===e.position.end.line;case\"alias\":return!0;default:return!1}}(e.key.content)||kx(e.key.content)||Ax(e.key.content)||_x(e.key.content)||Ox(e.key)||kx(e.value.content)||Ax(e.value.content)||Ox(e.value)||!uD(e.value.content,r)?Bx([zx([Wx(zx([Kx(\"? \"),Wx(rD(2,u),{id:l})])),Kx(zx([Gx,\": \",rD(2,c)]),s(zx([cD(e)?\" \":\"\",\":\",kx(e.value.content)||Ox(e.value)&&e.value.content&&!Mx(e.value.content,[\"mapping\",\"sequence\"])||\"mapping\"===t.type&&_x(e.key.content)&&iD(e.value.content)||Mx(e.value.content,[\"mapping\",\"sequence\"])&&null===e.value.content.tag&&null===e.value.content.anchor?Gx:e.value.content?Qx:\"\",c])),{groupId:l})])]):zx([u,cD(e)?\" \":\"\",\": \",c])}case\"flowMapping\":case\"flowSequence\":{const t=\"flowMapping\"===e.type?\"{\":\"[\",a=\"flowMapping\"===e.type?\"}\":\"]\",u=\"flowMapping\"===e.type&&0!==e.children.length&&r.bracketSpacing?Qx:Zx,c=0!==e.children.length&&\"flowMappingItem\"===(o=wx(e.children)).type&&jx(o.key)&&jx(o.value);return zx([t,s(zx([u,zx(n.map((t,n)=>zx([i(t),n===e.children.length-1?\"\":zx([\",\",Qx,e.children[n].position.start.line!==e.children[n+1].position.start.line?lD(t,r.originalText):\"\"])]),\"children\")),Kx(\",\",\"\")])),c?\"\":u,a])}case\"flowSequenceItem\":return n.call(i,\"content\");default:throw new Error(\"Unexpected node type \".concat(e.type))}var o,a;function s(e){return Rx.align(\" \".repeat(r.tabWidth),e)}}function rD(e,t){return\"number\"==typeof e&&e>0?Rx.align(\" \".repeat(e),t):Rx.align(e,t)}function iD(e){if(!e)return!0;switch(e.type){case\"plain\":case\"quoteDouble\":case\"quoteSingle\":case\"alias\":case\"flowMapping\":case\"flowSequence\":return!0;default:return!1}}function oD(e){return 0!==e.body.children.length||Ox(e.body)}function aD(e,t){return _x(e)||t&&(0!==t.head.children.length||Ox(t.head))}function sD(e,t,n,r){return n.children[0]===e&&/---(\\s|$)/.test(r.originalText.slice(r.locStart(e),r.locStart(e)+4))||0!==e.head.children.length||Ox(e.head)||_x(e.head)?\"head\":!aD(e,t)&&!!t&&\"root\"}function uD(e,t){if(!e)return!0;switch(e.type){case\"plain\":case\"quoteSingle\":case\"quoteDouble\":break;case\"alias\":return!0;default:return!1}if(\"preserve\"===t.proseWrap)return e.position.start.line===e.position.end.line;if(/\\\\$/m.test(t.originalText.slice(e.position.start.offset,e.position.end.offset)))return!1;switch(t.proseWrap){case\"never\":return!e.value.includes(\"\\n\");case\"always\":return!/[\\n ]/.test(e.value);default:return!1}}function cD(e){return e.key.content&&\"alias\"===e.key.content.type}function lD(e,t){const n=e.getValue(),r=e.stack[0];return r.isNextEmptyLinePrintedChecklist=r.isNextEmptyLinePrintedChecklist||[],!r.isNextEmptyLinePrintedChecklist[n.position.end.line]&&Ix(n,t)?(r.isNextEmptyLinePrintedChecklist[n.position.end.line]=!0,Zx):\"\"}function pD(e,t,n){const r=Cx(e,t,n);return Jx(Gx,r.map(e=>Hx(Jx(Qx,e).parts)))}var fD={preprocess:function(e){return Px(e,tD)},print:function(e,t,n){const r=e.getValue(),i=e.getParentNode(),o=r.tag?e.call(n,\"tag\"):\"\",a=r.anchor?e.call(n,\"anchor\"):\"\",s=Mx(r,[\"mapping\",\"sequence\",\"comment\",\"directive\",\"mappingItem\",\"sequenceItem\"])&&!Nx(e)?lD(e,t.originalText):\"\";return zx([\"mappingValue\"!==r.type&&kx(r)?zx([Jx(Gx,e.map(n,\"leadingComments\")),Gx]):\"\",o,o&&a?\" \":\"\",a,o||a?Mx(r,[\"sequence\",\"mapping\"])&&!Ax(r)?Gx:\" \":\"\",Ax(r)?zx([1===r.middleComments.length?\"\":Gx,Jx(Gx,e.map(n,\"middleComments\")),Gx]):\"\",Fx(e)?zx(eD(t.originalText.slice(r.position.start.offset,r.position.end.offset),$x)):Wx(nD(r,i,e,t,n)),_x(r)&&!Mx(r,[\"document\",\"documentHead\"])?Yx(zx([\"mappingValue\"!==r.type||r.content?\" \":\"\",\"mappingKey\"===i.type&&\"mapping\"===e.getParentNode(2).type&&iD(r)?\"\":Ux,e.call(n,\"trailingComment\")])):\"\",s,Ox(r)&&!Mx(r,[\"documentHead\",\"documentBody\"])?rD(\"sequenceItem\"===r.type?2:0,zx([Gx,Jx(Gx,e.map(n,\"endComments\"))])):\"\"])},massageAstNode:function(e,t){if(Mx(t))switch(delete t.position,t.type){case\"comment\":if(Ex(t.value))return null;break;case\"quoteDouble\":case\"quoteSingle\":t.type=\"quote\"}},insertPragma:bx},dD={bracketSpacing:Rc.bracketSpacing,singleQuote:Rc.singleQuote,proseWrap:Rc.proseWrap},hD=[\"yml\"],mD=[\".yml\",\".mir\",\".reek\",\".rviz\",\".sublime-syntax\",\".syntax\",\".yaml\",\".yaml-tmlanguage\",\".yaml.sed\",\".yml.mysql\"],gD=[\".clang-format\",\".clang-tidy\",\".gemrc\",\"glide.lock\",\"yarn.lock\"],yD={name:\"YAML\",type:\"data\",tmScope:\"source.yaml\",aliases:hD,extensions:mD,filenames:gD,aceMode:\"yaml\",codemirrorMode:\"yaml\",codemirrorMimeType:\"text/x-yaml\",languageId:407},vD={languages:[Uc(Xe(Object.freeze({__proto__:null,name:\"YAML\",type:\"data\",tmScope:\"source.yaml\",aliases:hD,extensions:mD,filenames:gD,aceMode:\"yaml\",codemirrorMode:\"yaml\",codemirrorMimeType:\"text/x-yaml\",languageId:407,default:yD})),e=>({since:\"1.14.0\",parsers:[\"yaml\"],vscodeLanguageIds:[\"yaml\"],filenames:e.filenames.filter(e=>\"yarn.lock\"!==e)}))],printers:{yaml:fD},options:dD};const{version:bD}=nn,{getSupportInfo:ED}=sn,xD=[rl,wl,cp,Kh,Vb,sx,vD];function DD(e,t=1){return(...n)=>{const r=n[t]||{},i=r.plugins||[];return n[t]=Object.assign({},r,{plugins:[...xD,...Array.isArray(i)?i:Object.values(i)]}),e(...n)}}const CD=DD(Gs.formatWithCursor);return{formatWithCursor:CD,format:(e,t)=>CD(e,t).formatted,check(e,t){const{formatted:n}=CD(e,t);return n===e},doc:Sa,getSupportInfo:DD(ED,0),version:bD,util:Qa,__debug:{parse:DD(Gs.parse),formatAST:DD(Gs.formatAST),formatDoc:DD(Gs.formatDoc),printToDoc:DD(Gs.printToDoc),printDocToString:DD(Gs.printDocToString)}}},e.exports=n()}).call(this,n(43))},function(e,t,n){!function(e){\"use strict\";function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}function n(e,t){return e(t={exports:{}},t.exports),t.exports}var r=n((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t){if(!Boolean(e))throw new Error(t)}}));t(r);var i=n((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){\"function\"==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e.prototype,Symbol.toStringTag,{get:function(){return this.constructor.name}})}}));t(i);var o=n((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.Source=void 0;var n=a(r),o=a(i);function a(e){return e&&e.__esModule?e:{default:e}}var s=function(e,t,r){this.body=e,this.name=t||\"GraphQL request\",this.locationOffset=r||{line:1,column:1},this.locationOffset.line>0||(0,n.default)(0,\"line in locationOffset is 1-indexed and must be positive\"),this.locationOffset.column>0||(0,n.default)(0,\"column in locationOffset is 1-indexed and must be positive\")};t.Source=s,(0,o.default)(s)}));t(o),o.Source;var a=n((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.getLocation=function(e,t){for(var n,r=/\\r\\n|[\\n\\r]/g,i=1,o=t+1;(n=r.exec(e.body))&&n.index<t;)i+=1,o=t+1-(n.index+n[0].length);return{line:i,column:o}}}));t(a),a.getLocation;var s=n((function(e,t){function n(e,t){var n=e.locationOffset.column-1,o=i(n)+e.body,a=t.line-1,s=e.locationOffset.line-1,u=t.line+s,c=1===t.line?n:0,l=t.column+c,p=\"\".concat(e.name,\":\").concat(u,\":\").concat(l,\"\\n\"),f=o.split(/\\r\\n|[\\n\\r]/g),d=f[a];if(d.length>120){for(var h=Math.floor(l/80),m=l%80,g=[],y=0;y<d.length;y+=80)g.push(d.slice(y,y+80));return p+r([[\"\".concat(u),g[0]]].concat(g.slice(1,h+1).map((function(e){return[\"\",e]})),[[\" \",i(m-1)+\"^\"],[\"\",g[h+1]]]))}return p+r([[\"\".concat(u-1),f[a-1]],[\"\".concat(u),d],[\"\",i(l-1)+\"^\"],[\"\".concat(u+1),f[a+1]]])}function r(e){var t=e.filter((function(e){return e[0],void 0!==e[1]})),n=Math.max.apply(Math,t.map((function(e){return e[0].length})));return t.map((function(e){var t,r=e[0],o=e[1];return i(n-(t=r).length)+t+(o?\" | \"+o:\" |\")})).join(\"\\n\")}function i(e){return Array(e+1).join(\" \")}Object.defineProperty(t,\"__esModule\",{value:!0}),t.printLocation=function(e){return n(e.source,(0,a.getLocation)(e.source,e.start))},t.printSourceLocation=n}));t(s),s.printLocation,s.printSourceLocation;var u=n((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.Kind=void 0;var n=Object.freeze({NAME:\"Name\",DOCUMENT:\"Document\",OPERATION_DEFINITION:\"OperationDefinition\",VARIABLE_DEFINITION:\"VariableDefinition\",SELECTION_SET:\"SelectionSet\",FIELD:\"Field\",ARGUMENT:\"Argument\",FRAGMENT_SPREAD:\"FragmentSpread\",INLINE_FRAGMENT:\"InlineFragment\",FRAGMENT_DEFINITION:\"FragmentDefinition\",VARIABLE:\"Variable\",INT:\"IntValue\",FLOAT:\"FloatValue\",STRING:\"StringValue\",BOOLEAN:\"BooleanValue\",NULL:\"NullValue\",ENUM:\"EnumValue\",LIST:\"ListValue\",OBJECT:\"ObjectValue\",OBJECT_FIELD:\"ObjectField\",DIRECTIVE:\"Directive\",NAMED_TYPE:\"NamedType\",LIST_TYPE:\"ListType\",NON_NULL_TYPE:\"NonNullType\",SCHEMA_DEFINITION:\"SchemaDefinition\",OPERATION_TYPE_DEFINITION:\"OperationTypeDefinition\",SCALAR_TYPE_DEFINITION:\"ScalarTypeDefinition\",OBJECT_TYPE_DEFINITION:\"ObjectTypeDefinition\",FIELD_DEFINITION:\"FieldDefinition\",INPUT_VALUE_DEFINITION:\"InputValueDefinition\",INTERFACE_TYPE_DEFINITION:\"InterfaceTypeDefinition\",UNION_TYPE_DEFINITION:\"UnionTypeDefinition\",ENUM_TYPE_DEFINITION:\"EnumTypeDefinition\",ENUM_VALUE_DEFINITION:\"EnumValueDefinition\",INPUT_OBJECT_TYPE_DEFINITION:\"InputObjectTypeDefinition\",DIRECTIVE_DEFINITION:\"DirectiveDefinition\",SCHEMA_EXTENSION:\"SchemaExtension\",SCALAR_TYPE_EXTENSION:\"ScalarTypeExtension\",OBJECT_TYPE_EXTENSION:\"ObjectTypeExtension\",INTERFACE_TYPE_EXTENSION:\"InterfaceTypeExtension\",UNION_TYPE_EXTENSION:\"UnionTypeExtension\",ENUM_TYPE_EXTENSION:\"EnumTypeExtension\",INPUT_OBJECT_TYPE_EXTENSION:\"InputObjectTypeExtension\"});t.Kind=n}));t(u),u.Kind;var c=n((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.TokenKind=void 0;var n=Object.freeze({SOF:\"<SOF>\",EOF:\"<EOF>\",BANG:\"!\",DOLLAR:\"$\",AMP:\"&\",PAREN_L:\"(\",PAREN_R:\")\",SPREAD:\"...\",COLON:\":\",EQUALS:\"=\",AT:\"@\",BRACKET_L:\"[\",BRACKET_R:\"]\",BRACE_L:\"{\",PIPE:\"|\",BRACE_R:\"}\",NAME:\"Name\",INT:\"Int\",FLOAT:\"Float\",STRING:\"String\",BLOCK_STRING:\"BlockString\",COMMENT:\"Comment\"});t.TokenKind=n}));t(c),c.TokenKind;var l=n((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var n=\"function\"==typeof Symbol&&\"function\"==typeof Symbol.for?Symbol.for(\"nodejs.util.inspect.custom\"):void 0;t.default=n}));t(l);var p=n((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.prototype.toString;e.prototype.toJSON=t,e.prototype.inspect=t,r.default&&(e.prototype[r.default]=t)};var n,r=(n=l)&&n.__esModule?n:{default:n}}));t(p);var f=n((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)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){return\"object\"==n(e)&&null!==e}}));t(f);var d=n((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.GraphQLError=i,t.printError=o;var n,r=(n=f)&&n.__esModule?n:{default:n};function i(e,t,n,o,s,u,c){var l=Array.isArray(t)?0!==t.length?t:void 0:t?[t]:void 0,p=n;if(!p&&l){var f=l[0];p=f&&f.loc&&f.loc.source}var d,h=o;!h&&l&&(h=l.reduce((function(e,t){return t.loc&&e.push(t.loc.start),e}),[])),h&&0===h.length&&(h=void 0),o&&n?d=o.map((function(e){return(0,a.getLocation)(n,e)})):l&&(d=l.reduce((function(e,t){return t.loc&&e.push((0,a.getLocation)(t.loc.source,t.loc.start)),e}),[]));var m=c;if(null==m&&null!=u){var g=u.extensions;(0,r.default)(g)&&(m=g)}Object.defineProperties(this,{message:{value:e,enumerable:!0,writable:!0},locations:{value:d||void 0,enumerable:Boolean(d)},path:{value:s||void 0,enumerable:Boolean(s)},nodes:{value:l||void 0},source:{value:p||void 0},positions:{value:h||void 0},originalError:{value:u},extensions:{value:m||void 0,enumerable:Boolean(m)}}),u&&u.stack?Object.defineProperty(this,\"stack\",{value:u.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,i):Object.defineProperty(this,\"stack\",{value:Error().stack,writable:!0,configurable:!0})}function o(e){var t=e.message;if(e.nodes)for(var n=0,r=e.nodes;n<r.length;n++){var i=r[n];i.loc&&(t+=\"\\n\\n\"+(0,s.printLocation)(i.loc))}else if(e.source&&e.locations)for(var o=0,a=e.locations;o<a.length;o++){var u=a[o];t+=\"\\n\\n\"+(0,s.printSourceLocation)(e.source,u)}return t}i.prototype=Object.create(Error.prototype,{constructor:{value:i},name:{value:\"GraphQLError\"},toString:{value:function(){return o(this)}}})}));t(d),d.GraphQLError,d.printError;var h=n((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.syntaxError=function(e,t,n){return new d.GraphQLError(\"Syntax Error: \".concat(n),void 0,e,[t])}}));t(h),h.syntaxError;var m=n((function(e,t){function n(e){for(var t=null,n=1;n<e.length;n++){var i=e[n],o=r(i);if(o!==i.length&&(null===t||o<t)&&0===(t=o))break}return null===t?0:t}function r(e){for(var t=0;t<e.length&&(\" \"===e[t]||\"\\t\"===e[t]);)t++;return t}function i(e){return r(e)===e.length}Object.defineProperty(t,\"__esModule\",{value:!0}),t.dedentBlockStringValue=function(e){var t=e.split(/\\r\\n|[\\n\\r]/g),r=n(t);if(0!==r)for(var o=1;o<t.length;o++)t[o]=t[o].slice(r);for(;t.length>0&&i(t[0]);)t.shift();for(;t.length>0&&i(t[t.length-1]);)t.pop();return t.join(\"\\n\")},t.getBlockStringIndentation=n,t.printBlockString=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=-1===e.indexOf(\"\\n\"),i=\" \"===e[0]||\"\\t\"===e[0],o='\"'===e[e.length-1],a=!r||o||n,s=\"\";return!a||r&&i||(s+=\"\\n\"+t),s+=t?e.replace(/\\n/g,\"\\n\"+t):e,a&&(s+=\"\\n\"),'\"\"\"'+s.replace(/\"\"\"/g,'\\\\\"\"\"')+'\"\"\"'}}));t(m),m.dedentBlockStringValue,m.getBlockStringIndentation,m.printBlockString;var g=n((function(e,t){var n;function r(){return this.lastToken=this.token,this.token=this.lookahead()}function i(){var e=this.token;if(e.kind!==c.TokenKind.EOF)do{e=e.next||(e.next=s(this,e))}while(e.kind===c.TokenKind.COMMENT);return e}function o(e,t,n,r,i,o,a){this.kind=e,this.start=t,this.end=n,this.line=r,this.column=i,this.value=a,this.prev=o,this.next=null}function a(e){return isNaN(e)?c.TokenKind.EOF:e<127?JSON.stringify(String.fromCharCode(e)):'\"\\\\u'.concat((\"00\"+e.toString(16).toUpperCase()).slice(-4),'\"')}function s(e,t){var n=e.source,r=n.body,i=r.length,s=function(e,t,n){for(var r=e.length,i=t;i<r;){var o=e.charCodeAt(i);if(9===o||32===o||44===o||65279===o)++i;else if(10===o)++i,++n.line,n.lineStart=i;else{if(13!==o)break;10===e.charCodeAt(i+1)?i+=2:++i,++n.line,n.lineStart=i}}return i}(r,t.end,e),p=e.line,f=1+s-e.lineStart;if(s>=i)return new o(c.TokenKind.EOF,i,i,p,f,t);var d=r.charCodeAt(s);switch(d){case 33:return new o(c.TokenKind.BANG,s,s+1,p,f,t);case 35:return function(e,t,n,r,i){var a,s=e.body,u=t;do{a=s.charCodeAt(++u)}while(!isNaN(a)&&(a>31||9===a));return new o(c.TokenKind.COMMENT,t,u,n,r,i,s.slice(t+1,u))}(n,s,p,f,t);case 36:return new o(c.TokenKind.DOLLAR,s,s+1,p,f,t);case 38:return new o(c.TokenKind.AMP,s,s+1,p,f,t);case 40:return new o(c.TokenKind.PAREN_L,s,s+1,p,f,t);case 41:return new o(c.TokenKind.PAREN_R,s,s+1,p,f,t);case 46:if(46===r.charCodeAt(s+1)&&46===r.charCodeAt(s+2))return new o(c.TokenKind.SPREAD,s,s+3,p,f,t);break;case 58:return new o(c.TokenKind.COLON,s,s+1,p,f,t);case 61:return new o(c.TokenKind.EQUALS,s,s+1,p,f,t);case 64:return new o(c.TokenKind.AT,s,s+1,p,f,t);case 91:return new o(c.TokenKind.BRACKET_L,s,s+1,p,f,t);case 93:return new o(c.TokenKind.BRACKET_R,s,s+1,p,f,t);case 123:return new o(c.TokenKind.BRACE_L,s,s+1,p,f,t);case 124:return new o(c.TokenKind.PIPE,s,s+1,p,f,t);case 125:return new o(c.TokenKind.BRACE_R,s,s+1,p,f,t);case 65:case 66:case 67:case 68:case 69:case 70:case 71:case 72:case 73:case 74:case 75:case 76:case 77:case 78:case 79:case 80:case 81:case 82:case 83:case 84:case 85:case 86:case 87:case 88:case 89:case 90:case 95:case 97:case 98:case 99:case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:case 108:case 109:case 110:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:case 122:return function(e,t,n,r,i){for(var a=e.body,s=a.length,u=t+1,l=0;u!==s&&!isNaN(l=a.charCodeAt(u))&&(95===l||l>=48&&l<=57||l>=65&&l<=90||l>=97&&l<=122);)++u;return new o(c.TokenKind.NAME,t,u,n,r,i,a.slice(t,u))}(n,s,p,f,t);case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return function(e,t,n,r,i,s){var l=e.body,p=n,f=t,d=!1;if(45===p&&(p=l.charCodeAt(++f)),48===p){if((p=l.charCodeAt(++f))>=48&&p<=57)throw(0,h.syntaxError)(e,f,\"Invalid number, unexpected digit after 0: \".concat(a(p),\".\"))}else f=u(e,f,p),p=l.charCodeAt(f);if(46===p&&(d=!0,p=l.charCodeAt(++f),f=u(e,f,p),p=l.charCodeAt(f)),69!==p&&101!==p||(d=!0,43!==(p=l.charCodeAt(++f))&&45!==p||(p=l.charCodeAt(++f)),f=u(e,f,p),p=l.charCodeAt(f)),46===p||69===p||101===p)throw(0,h.syntaxError)(e,f,\"Invalid number, expected digit but got: \".concat(a(p),\".\"));return new o(d?c.TokenKind.FLOAT:c.TokenKind.INT,t,f,r,i,s,l.slice(t,f))}(n,s,d,p,f,t);case 34:return 34===r.charCodeAt(s+1)&&34===r.charCodeAt(s+2)?function(e,t,n,r,i,s){for(var u=e.body,l=t+3,p=l,f=0,d=\"\";l<u.length&&!isNaN(f=u.charCodeAt(l));){if(34===f&&34===u.charCodeAt(l+1)&&34===u.charCodeAt(l+2))return d+=u.slice(p,l),new o(c.TokenKind.BLOCK_STRING,t,l+3,n,r,i,(0,m.dedentBlockStringValue)(d));if(f<32&&9!==f&&10!==f&&13!==f)throw(0,h.syntaxError)(e,l,\"Invalid character within String: \".concat(a(f),\".\"));10===f?(++l,++s.line,s.lineStart=l):13===f?(10===u.charCodeAt(l+1)?l+=2:++l,++s.line,s.lineStart=l):92===f&&34===u.charCodeAt(l+1)&&34===u.charCodeAt(l+2)&&34===u.charCodeAt(l+3)?(d+=u.slice(p,l)+'\"\"\"',p=l+=4):++l}throw(0,h.syntaxError)(e,l,\"Unterminated string.\")}(n,s,p,f,t,e):function(e,t,n,r,i){for(var s,u,p,f,d=e.body,m=t+1,g=m,y=0,v=\"\";m<d.length&&!isNaN(y=d.charCodeAt(m))&&10!==y&&13!==y;){if(34===y)return v+=d.slice(g,m),new o(c.TokenKind.STRING,t,m+1,n,r,i,v);if(y<32&&9!==y)throw(0,h.syntaxError)(e,m,\"Invalid character within String: \".concat(a(y),\".\"));if(++m,92===y){switch(v+=d.slice(g,m-1),y=d.charCodeAt(m)){case 34:v+='\"';break;case 47:v+=\"/\";break;case 92:v+=\"\\\\\";break;case 98:v+=\"\\b\";break;case 102:v+=\"\\f\";break;case 110:v+=\"\\n\";break;case 114:v+=\"\\r\";break;case 116:v+=\"\\t\";break;case 117:var b=(s=d.charCodeAt(m+1),u=d.charCodeAt(m+2),p=d.charCodeAt(m+3),f=d.charCodeAt(m+4),l(s)<<12|l(u)<<8|l(p)<<4|l(f));if(b<0){var E=d.slice(m+1,m+5);throw(0,h.syntaxError)(e,m,\"Invalid character escape sequence: \\\\u\".concat(E,\".\"))}v+=String.fromCharCode(b),m+=4;break;default:throw(0,h.syntaxError)(e,m,\"Invalid character escape sequence: \\\\\".concat(String.fromCharCode(y),\".\"))}g=++m}}throw(0,h.syntaxError)(e,m,\"Unterminated string.\")}(n,s,p,f,t)}throw(0,h.syntaxError)(n,s,function(e){return e<32&&9!==e&&10!==e&&13!==e?\"Cannot contain the invalid character \".concat(a(e),\".\"):39===e?\"Unexpected single quote character ('), did you mean to use a double quote (\\\")?\":\"Cannot parse the unexpected character \".concat(a(e),\".\")}(d))}function u(e,t,n){var r=e.body,i=t,o=n;if(o>=48&&o<=57){do{o=r.charCodeAt(++i)}while(o>=48&&o<=57);return i}throw(0,h.syntaxError)(e,i,\"Invalid number, expected digit but got: \".concat(a(o),\".\"))}function l(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}Object.defineProperty(t,\"__esModule\",{value:!0}),t.createLexer=function(e,t){var n=new o(c.TokenKind.SOF,0,0,0,0,null);return{source:e,options:t,lastToken:n,token:n,line:1,lineStart:0,advance:r,lookahead:i}},t.isPunctuatorToken=function(e){var t=e.kind;return t===c.TokenKind.BANG||t===c.TokenKind.DOLLAR||t===c.TokenKind.AMP||t===c.TokenKind.PAREN_L||t===c.TokenKind.PAREN_R||t===c.TokenKind.SPREAD||t===c.TokenKind.COLON||t===c.TokenKind.EQUALS||t===c.TokenKind.AT||t===c.TokenKind.BRACKET_L||t===c.TokenKind.BRACKET_R||t===c.TokenKind.BRACE_L||t===c.TokenKind.PIPE||t===c.TokenKind.BRACE_R},(0,((n=p)&&n.__esModule?n:{default:n}).default)(o,(function(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}))}));t(g),g.createLexer,g.isPunctuatorToken;var y=n((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){return function e(t,n){switch(i(t)){case\"string\":return JSON.stringify(t);case\"function\":return t.name?\"[function \".concat(t.name,\"]\"):\"[function]\";case\"object\":return null===t?\"null\":function(t,n){if(-1!==n.indexOf(t))return\"[Circular]\";var i=[].concat(n,[t]),o=function(e){var t=e[String(r.default)];return\"function\"==typeof t?t:\"function\"==typeof e.inspect?e.inspect:void 0}(t);if(void 0!==o){var a=o.call(t);if(a!==t)return\"string\"==typeof a?a:e(a,i)}else if(Array.isArray(t))return function(t,n){if(0===t.length)return\"[]\";if(n.length>2)return\"[Array]\";for(var r=Math.min(10,t.length),i=t.length-r,o=[],a=0;a<r;++a)o.push(e(t[a],n));return 1===i?o.push(\"... 1 more item\"):i>1&&o.push(\"... \".concat(i,\" more items\")),\"[\"+o.join(\", \")+\"]\"}(t,i);return function(t,n){var r=Object.keys(t);return 0===r.length?\"{}\":n.length>2?\"[\"+function(e){var t=Object.prototype.toString.call(e).replace(/^\\[object /,\"\").replace(/]$/,\"\");if(\"Object\"===t&&\"function\"==typeof e.constructor){var n=e.constructor.name;if(\"string\"==typeof n&&\"\"!==n)return n}return t}(t)+\"]\":\"{ \"+r.map((function(r){return r+\": \"+e(t[r],n)})).join(\", \")+\" }\"}(t,i)}(t,n);default:return String(t)}}(e,[])};var n,r=(n=l)&&n.__esModule?n:{default: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(y);var v=n((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.DirectiveLocation=void 0;var n=Object.freeze({QUERY:\"QUERY\",MUTATION:\"MUTATION\",SUBSCRIPTION:\"SUBSCRIPTION\",FIELD:\"FIELD\",FRAGMENT_DEFINITION:\"FRAGMENT_DEFINITION\",FRAGMENT_SPREAD:\"FRAGMENT_SPREAD\",INLINE_FRAGMENT:\"INLINE_FRAGMENT\",VARIABLE_DEFINITION:\"VARIABLE_DEFINITION\",SCHEMA:\"SCHEMA\",SCALAR:\"SCALAR\",OBJECT:\"OBJECT\",FIELD_DEFINITION:\"FIELD_DEFINITION\",ARGUMENT_DEFINITION:\"ARGUMENT_DEFINITION\",INTERFACE:\"INTERFACE\",UNION:\"UNION\",ENUM:\"ENUM\",ENUM_VALUE:\"ENUM_VALUE\",INPUT_OBJECT:\"INPUT_OBJECT\",INPUT_FIELD_DEFINITION:\"INPUT_FIELD_DEFINITION\"});t.DirectiveLocation=n}));t(v),v.DirectiveLocation;var b=n((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.parse=function(e,t){return new l(e,t).parseDocument()},t.parseValue=function(e,t){var n=new l(e,t);n.expectToken(c.TokenKind.SOF);var r=n.parseValueLiteral(!1);return n.expectToken(c.TokenKind.EOF),r},t.parseType=function(e,t){var n=new l(e,t);n.expectToken(c.TokenKind.SOF);var r=n.parseTypeReference();return n.expectToken(c.TokenKind.EOF),r};var n=s(y),i=s(r),a=s(p);function s(e){return e&&e.__esModule?e:{default:e}}var l=function(){function e(e,t){var r=\"string\"==typeof e?new o.Source(e):e;r instanceof o.Source||(0,i.default)(0,\"Must provide Source. Received: \".concat((0,n.default)(r))),this._lexer=(0,g.createLexer)(r),this._options=t||{}}var t=e.prototype;return t.parseName=function(){var e=this.expectToken(c.TokenKind.NAME);return{kind:u.Kind.NAME,value:e.value,loc:this.loc(e)}},t.parseDocument=function(){var e=this._lexer.token;return{kind:u.Kind.DOCUMENT,definitions:this.many(c.TokenKind.SOF,this.parseDefinition,c.TokenKind.EOF),loc:this.loc(e)}},t.parseDefinition=function(){if(this.peek(c.TokenKind.NAME))switch(this._lexer.token.value){case\"query\":case\"mutation\":case\"subscription\":return this.parseOperationDefinition();case\"fragment\":return this.parseFragmentDefinition();case\"schema\":case\"scalar\":case\"type\":case\"interface\":case\"union\":case\"enum\":case\"input\":case\"directive\":return this.parseTypeSystemDefinition();case\"extend\":return this.parseTypeSystemExtension()}else{if(this.peek(c.TokenKind.BRACE_L))return this.parseOperationDefinition();if(this.peekDescription())return this.parseTypeSystemDefinition()}throw this.unexpected()},t.parseOperationDefinition=function(){var e=this._lexer.token;if(this.peek(c.TokenKind.BRACE_L))return{kind:u.Kind.OPERATION_DEFINITION,operation:\"query\",name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet(),loc:this.loc(e)};var t,n=this.parseOperationType();return this.peek(c.TokenKind.NAME)&&(t=this.parseName()),{kind:u.Kind.OPERATION_DEFINITION,operation:n,name:t,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},t.parseOperationType=function(){var e=this.expectToken(c.TokenKind.NAME);switch(e.value){case\"query\":return\"query\";case\"mutation\":return\"mutation\";case\"subscription\":return\"subscription\"}throw this.unexpected(e)},t.parseVariableDefinitions=function(){return this.optionalMany(c.TokenKind.PAREN_L,this.parseVariableDefinition,c.TokenKind.PAREN_R)},t.parseVariableDefinition=function(){var e=this._lexer.token;return{kind:u.Kind.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(c.TokenKind.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(c.TokenKind.EQUALS)?this.parseValueLiteral(!0):void 0,directives:this.parseDirectives(!0),loc:this.loc(e)}},t.parseVariable=function(){var e=this._lexer.token;return this.expectToken(c.TokenKind.DOLLAR),{kind:u.Kind.VARIABLE,name:this.parseName(),loc:this.loc(e)}},t.parseSelectionSet=function(){var e=this._lexer.token;return{kind:u.Kind.SELECTION_SET,selections:this.many(c.TokenKind.BRACE_L,this.parseSelection,c.TokenKind.BRACE_R),loc:this.loc(e)}},t.parseSelection=function(){return this.peek(c.TokenKind.SPREAD)?this.parseFragment():this.parseField()},t.parseField=function(){var e,t,n=this._lexer.token,r=this.parseName();return this.expectOptionalToken(c.TokenKind.COLON)?(e=r,t=this.parseName()):t=r,{kind:u.Kind.FIELD,alias:e,name:t,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(c.TokenKind.BRACE_L)?this.parseSelectionSet():void 0,loc:this.loc(n)}},t.parseArguments=function(e){var t=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(c.TokenKind.PAREN_L,t,c.TokenKind.PAREN_R)},t.parseArgument=function(){var e=this._lexer.token,t=this.parseName();return this.expectToken(c.TokenKind.COLON),{kind:u.Kind.ARGUMENT,name:t,value:this.parseValueLiteral(!1),loc:this.loc(e)}},t.parseConstArgument=function(){var e=this._lexer.token;return{kind:u.Kind.ARGUMENT,name:this.parseName(),value:(this.expectToken(c.TokenKind.COLON),this.parseValueLiteral(!0)),loc:this.loc(e)}},t.parseFragment=function(){var e=this._lexer.token;this.expectToken(c.TokenKind.SPREAD);var t=this.expectOptionalKeyword(\"on\");return!t&&this.peek(c.TokenKind.NAME)?{kind:u.Kind.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1),loc:this.loc(e)}:{kind:u.Kind.INLINE_FRAGMENT,typeCondition:t?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},t.parseFragmentDefinition=function(){var e=this._lexer.token;return this.expectKeyword(\"fragment\"),this._options.experimentalFragmentVariables?{kind:u.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword(\"on\"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}:{kind:u.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword(\"on\"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},t.parseFragmentName=function(){if(\"on\"===this._lexer.token.value)throw this.unexpected();return this.parseName()},t.parseValueLiteral=function(e){var t=this._lexer.token;switch(t.kind){case c.TokenKind.BRACKET_L:return this.parseList(e);case c.TokenKind.BRACE_L:return this.parseObject(e);case c.TokenKind.INT:return this._lexer.advance(),{kind:u.Kind.INT,value:t.value,loc:this.loc(t)};case c.TokenKind.FLOAT:return this._lexer.advance(),{kind:u.Kind.FLOAT,value:t.value,loc:this.loc(t)};case c.TokenKind.STRING:case c.TokenKind.BLOCK_STRING:return this.parseStringLiteral();case c.TokenKind.NAME:return\"true\"===t.value||\"false\"===t.value?(this._lexer.advance(),{kind:u.Kind.BOOLEAN,value:\"true\"===t.value,loc:this.loc(t)}):\"null\"===t.value?(this._lexer.advance(),{kind:u.Kind.NULL,loc:this.loc(t)}):(this._lexer.advance(),{kind:u.Kind.ENUM,value:t.value,loc:this.loc(t)});case c.TokenKind.DOLLAR:if(!e)return this.parseVariable()}throw this.unexpected()},t.parseStringLiteral=function(){var e=this._lexer.token;return this._lexer.advance(),{kind:u.Kind.STRING,value:e.value,block:e.kind===c.TokenKind.BLOCK_STRING,loc:this.loc(e)}},t.parseList=function(e){var t=this,n=this._lexer.token;return{kind:u.Kind.LIST,values:this.any(c.TokenKind.BRACKET_L,(function(){return t.parseValueLiteral(e)}),c.TokenKind.BRACKET_R),loc:this.loc(n)}},t.parseObject=function(e){var t=this,n=this._lexer.token;return{kind:u.Kind.OBJECT,fields:this.any(c.TokenKind.BRACE_L,(function(){return t.parseObjectField(e)}),c.TokenKind.BRACE_R),loc:this.loc(n)}},t.parseObjectField=function(e){var t=this._lexer.token,n=this.parseName();return this.expectToken(c.TokenKind.COLON),{kind:u.Kind.OBJECT_FIELD,name:n,value:this.parseValueLiteral(e),loc:this.loc(t)}},t.parseDirectives=function(e){for(var t=[];this.peek(c.TokenKind.AT);)t.push(this.parseDirective(e));return t},t.parseDirective=function(e){var t=this._lexer.token;return this.expectToken(c.TokenKind.AT),{kind:u.Kind.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e),loc:this.loc(t)}},t.parseTypeReference=function(){var e,t=this._lexer.token;return this.expectOptionalToken(c.TokenKind.BRACKET_L)?(e=this.parseTypeReference(),this.expectToken(c.TokenKind.BRACKET_R),e={kind:u.Kind.LIST_TYPE,type:e,loc:this.loc(t)}):e=this.parseNamedType(),this.expectOptionalToken(c.TokenKind.BANG)?{kind:u.Kind.NON_NULL_TYPE,type:e,loc:this.loc(t)}:e},t.parseNamedType=function(){var e=this._lexer.token;return{kind:u.Kind.NAMED_TYPE,name:this.parseName(),loc:this.loc(e)}},t.parseTypeSystemDefinition=function(){var e=this.peekDescription()?this._lexer.lookahead():this._lexer.token;if(e.kind===c.TokenKind.NAME)switch(e.value){case\"schema\":return this.parseSchemaDefinition();case\"scalar\":return this.parseScalarTypeDefinition();case\"type\":return this.parseObjectTypeDefinition();case\"interface\":return this.parseInterfaceTypeDefinition();case\"union\":return this.parseUnionTypeDefinition();case\"enum\":return this.parseEnumTypeDefinition();case\"input\":return this.parseInputObjectTypeDefinition();case\"directive\":return this.parseDirectiveDefinition()}throw this.unexpected(e)},t.peekDescription=function(){return this.peek(c.TokenKind.STRING)||this.peek(c.TokenKind.BLOCK_STRING)},t.parseDescription=function(){if(this.peekDescription())return this.parseStringLiteral()},t.parseSchemaDefinition=function(){var e=this._lexer.token;this.expectKeyword(\"schema\");var t=this.parseDirectives(!0),n=this.many(c.TokenKind.BRACE_L,this.parseOperationTypeDefinition,c.TokenKind.BRACE_R);return{kind:u.Kind.SCHEMA_DEFINITION,directives:t,operationTypes:n,loc:this.loc(e)}},t.parseOperationTypeDefinition=function(){var e=this._lexer.token,t=this.parseOperationType();this.expectToken(c.TokenKind.COLON);var n=this.parseNamedType();return{kind:u.Kind.OPERATION_TYPE_DEFINITION,operation:t,type:n,loc:this.loc(e)}},t.parseScalarTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword(\"scalar\");var n=this.parseName(),r=this.parseDirectives(!0);return{kind:u.Kind.SCALAR_TYPE_DEFINITION,description:t,name:n,directives:r,loc:this.loc(e)}},t.parseObjectTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword(\"type\");var n=this.parseName(),r=this.parseImplementsInterfaces(),i=this.parseDirectives(!0),o=this.parseFieldsDefinition();return{kind:u.Kind.OBJECT_TYPE_DEFINITION,description:t,name:n,interfaces:r,directives:i,fields:o,loc:this.loc(e)}},t.parseImplementsInterfaces=function(){var e=[];if(this.expectOptionalKeyword(\"implements\")){this.expectOptionalToken(c.TokenKind.AMP);do{e.push(this.parseNamedType())}while(this.expectOptionalToken(c.TokenKind.AMP)||this._options.allowLegacySDLImplementsInterfaces&&this.peek(c.TokenKind.NAME))}return e},t.parseFieldsDefinition=function(){return this._options.allowLegacySDLEmptyFields&&this.peek(c.TokenKind.BRACE_L)&&this._lexer.lookahead().kind===c.TokenKind.BRACE_R?(this._lexer.advance(),this._lexer.advance(),[]):this.optionalMany(c.TokenKind.BRACE_L,this.parseFieldDefinition,c.TokenKind.BRACE_R)},t.parseFieldDefinition=function(){var e=this._lexer.token,t=this.parseDescription(),n=this.parseName(),r=this.parseArgumentDefs();this.expectToken(c.TokenKind.COLON);var i=this.parseTypeReference(),o=this.parseDirectives(!0);return{kind:u.Kind.FIELD_DEFINITION,description:t,name:n,arguments:r,type:i,directives:o,loc:this.loc(e)}},t.parseArgumentDefs=function(){return this.optionalMany(c.TokenKind.PAREN_L,this.parseInputValueDef,c.TokenKind.PAREN_R)},t.parseInputValueDef=function(){var e=this._lexer.token,t=this.parseDescription(),n=this.parseName();this.expectToken(c.TokenKind.COLON);var r,i=this.parseTypeReference();this.expectOptionalToken(c.TokenKind.EQUALS)&&(r=this.parseValueLiteral(!0));var o=this.parseDirectives(!0);return{kind:u.Kind.INPUT_VALUE_DEFINITION,description:t,name:n,type:i,defaultValue:r,directives:o,loc:this.loc(e)}},t.parseInterfaceTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword(\"interface\");var n=this.parseName(),r=this.parseDirectives(!0),i=this.parseFieldsDefinition();return{kind:u.Kind.INTERFACE_TYPE_DEFINITION,description:t,name:n,directives:r,fields:i,loc:this.loc(e)}},t.parseUnionTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword(\"union\");var n=this.parseName(),r=this.parseDirectives(!0),i=this.parseUnionMemberTypes();return{kind:u.Kind.UNION_TYPE_DEFINITION,description:t,name:n,directives:r,types:i,loc:this.loc(e)}},t.parseUnionMemberTypes=function(){var e=[];if(this.expectOptionalToken(c.TokenKind.EQUALS)){this.expectOptionalToken(c.TokenKind.PIPE);do{e.push(this.parseNamedType())}while(this.expectOptionalToken(c.TokenKind.PIPE))}return e},t.parseEnumTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword(\"enum\");var n=this.parseName(),r=this.parseDirectives(!0),i=this.parseEnumValuesDefinition();return{kind:u.Kind.ENUM_TYPE_DEFINITION,description:t,name:n,directives:r,values:i,loc:this.loc(e)}},t.parseEnumValuesDefinition=function(){return this.optionalMany(c.TokenKind.BRACE_L,this.parseEnumValueDefinition,c.TokenKind.BRACE_R)},t.parseEnumValueDefinition=function(){var e=this._lexer.token,t=this.parseDescription(),n=this.parseName(),r=this.parseDirectives(!0);return{kind:u.Kind.ENUM_VALUE_DEFINITION,description:t,name:n,directives:r,loc:this.loc(e)}},t.parseInputObjectTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword(\"input\");var n=this.parseName(),r=this.parseDirectives(!0),i=this.parseInputFieldsDefinition();return{kind:u.Kind.INPUT_OBJECT_TYPE_DEFINITION,description:t,name:n,directives:r,fields:i,loc:this.loc(e)}},t.parseInputFieldsDefinition=function(){return this.optionalMany(c.TokenKind.BRACE_L,this.parseInputValueDef,c.TokenKind.BRACE_R)},t.parseTypeSystemExtension=function(){var e=this._lexer.lookahead();if(e.kind===c.TokenKind.NAME)switch(e.value){case\"schema\":return this.parseSchemaExtension();case\"scalar\":return this.parseScalarTypeExtension();case\"type\":return this.parseObjectTypeExtension();case\"interface\":return this.parseInterfaceTypeExtension();case\"union\":return this.parseUnionTypeExtension();case\"enum\":return this.parseEnumTypeExtension();case\"input\":return this.parseInputObjectTypeExtension()}throw this.unexpected(e)},t.parseSchemaExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"schema\");var t=this.parseDirectives(!0),n=this.optionalMany(c.TokenKind.BRACE_L,this.parseOperationTypeDefinition,c.TokenKind.BRACE_R);if(0===t.length&&0===n.length)throw this.unexpected();return{kind:u.Kind.SCHEMA_EXTENSION,directives:t,operationTypes:n,loc:this.loc(e)}},t.parseScalarTypeExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"scalar\");var t=this.parseName(),n=this.parseDirectives(!0);if(0===n.length)throw this.unexpected();return{kind:u.Kind.SCALAR_TYPE_EXTENSION,name:t,directives:n,loc:this.loc(e)}},t.parseObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"type\");var t=this.parseName(),n=this.parseImplementsInterfaces(),r=this.parseDirectives(!0),i=this.parseFieldsDefinition();if(0===n.length&&0===r.length&&0===i.length)throw this.unexpected();return{kind:u.Kind.OBJECT_TYPE_EXTENSION,name:t,interfaces:n,directives:r,fields:i,loc:this.loc(e)}},t.parseInterfaceTypeExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"interface\");var t=this.parseName(),n=this.parseDirectives(!0),r=this.parseFieldsDefinition();if(0===n.length&&0===r.length)throw this.unexpected();return{kind:u.Kind.INTERFACE_TYPE_EXTENSION,name:t,directives:n,fields:r,loc:this.loc(e)}},t.parseUnionTypeExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"union\");var t=this.parseName(),n=this.parseDirectives(!0),r=this.parseUnionMemberTypes();if(0===n.length&&0===r.length)throw this.unexpected();return{kind:u.Kind.UNION_TYPE_EXTENSION,name:t,directives:n,types:r,loc:this.loc(e)}},t.parseEnumTypeExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"enum\");var t=this.parseName(),n=this.parseDirectives(!0),r=this.parseEnumValuesDefinition();if(0===n.length&&0===r.length)throw this.unexpected();return{kind:u.Kind.ENUM_TYPE_EXTENSION,name:t,directives:n,values:r,loc:this.loc(e)}},t.parseInputObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword(\"extend\"),this.expectKeyword(\"input\");var t=this.parseName(),n=this.parseDirectives(!0),r=this.parseInputFieldsDefinition();if(0===n.length&&0===r.length)throw this.unexpected();return{kind:u.Kind.INPUT_OBJECT_TYPE_EXTENSION,name:t,directives:n,fields:r,loc:this.loc(e)}},t.parseDirectiveDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword(\"directive\"),this.expectToken(c.TokenKind.AT);var n=this.parseName(),r=this.parseArgumentDefs(),i=this.expectOptionalKeyword(\"repeatable\");this.expectKeyword(\"on\");var o=this.parseDirectiveLocations();return{kind:u.Kind.DIRECTIVE_DEFINITION,description:t,name:n,arguments:r,repeatable:i,locations:o,loc:this.loc(e)}},t.parseDirectiveLocations=function(){this.expectOptionalToken(c.TokenKind.PIPE);var e=[];do{e.push(this.parseDirectiveLocation())}while(this.expectOptionalToken(c.TokenKind.PIPE));return e},t.parseDirectiveLocation=function(){var e=this._lexer.token,t=this.parseName();if(void 0!==v.DirectiveLocation[t.value])return t;throw this.unexpected(e)},t.loc=function(e){if(!this._options.noLocation)return new f(e,this._lexer.lastToken,this._lexer.source)},t.peek=function(e){return this._lexer.token.kind===e},t.expectToken=function(e){var t=this._lexer.token;if(t.kind===e)return this._lexer.advance(),t;throw(0,h.syntaxError)(this._lexer.source,t.start,\"Expected \".concat(e,\", found \").concat(d(t)))},t.expectOptionalToken=function(e){var t=this._lexer.token;if(t.kind===e)return this._lexer.advance(),t},t.expectKeyword=function(e){var t=this._lexer.token;if(t.kind!==c.TokenKind.NAME||t.value!==e)throw(0,h.syntaxError)(this._lexer.source,t.start,'Expected \"'.concat(e,'\", found ').concat(d(t)));this._lexer.advance()},t.expectOptionalKeyword=function(e){var t=this._lexer.token;return t.kind===c.TokenKind.NAME&&t.value===e&&(this._lexer.advance(),!0)},t.unexpected=function(e){var t=e||this._lexer.token;return(0,h.syntaxError)(this._lexer.source,t.start,\"Unexpected \".concat(d(t)))},t.any=function(e,t,n){this.expectToken(e);for(var r=[];!this.expectOptionalToken(n);)r.push(t.call(this));return r},t.optionalMany=function(e,t,n){if(this.expectOptionalToken(e)){var r=[];do{r.push(t.call(this))}while(!this.expectOptionalToken(n));return r}return[]},t.many=function(e,t,n){this.expectToken(e);var r=[];do{r.push(t.call(this))}while(!this.expectOptionalToken(n));return r},e}();function f(e,t,n){this.start=e.start,this.end=t.end,this.startToken=e,this.endToken=t,this.source=n}function d(e){var t=e.value;return t?\"\".concat(e.kind,' \"').concat(t,'\"'):e.kind}(0,a.default)(f,(function(){return{start:this.start,end:this.end}}))}));t(b),b.parse,b.parseValue,b.parseType;var E=n((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.visit=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i,u=void 0,c=Array.isArray(e),l=[e],p=-1,f=[],d=void 0,h=void 0,m=void 0,g=[],y=[],v=e;do{var b=++p===l.length,E=b&&0!==f.length;if(b){if(h=0===y.length?void 0:g[g.length-1],d=m,m=y.pop(),E){if(c)d=d.slice();else{for(var x={},D=0,C=Object.keys(d);D<C.length;D++){var w=C[D];x[w]=d[w]}d=x}for(var S=0,k=0;k<f.length;k++){var A=f[k][0],T=f[k][1];c&&(A-=S),c&&null===T?(d.splice(A,1),S++):d[A]=T}}p=u.index,l=u.keys,f=u.edits,c=u.inArray,u=u.prev}else{if(h=m?c?p:l[p]:void 0,null==(d=m?m[h]:v))continue;m&&g.push(h)}var _=void 0;if(!Array.isArray(d)){if(!a(d))throw new Error(\"Invalid AST Node: \"+(0,r.default)(d));var O=s(t,d.kind,b);if(O){if((_=O.call(t,d,h,m,g,y))===o)break;if(!1===_){if(!b){g.pop();continue}}else if(void 0!==_&&(f.push([h,_]),!b)){if(!a(_)){g.pop();continue}d=_}}}void 0===_&&E&&f.push([h,d]),b?g.pop():(u={inArray:c,index:p,keys:l,edits:f,prev:u},l=(c=Array.isArray(d))?d:n[d.kind]||[],p=-1,f=[],m&&y.push(m),m=d)}while(void 0!==u);return 0!==f.length&&(v=f[f.length-1][1]),v},t.visitInParallel=function(e){var t=new Array(e.length);return{enter:function(n){for(var r=0;r<e.length;r++)if(!t[r]){var i=s(e[r],n.kind,!1);if(i){var a=i.apply(e[r],arguments);if(!1===a)t[r]=n;else if(a===o)t[r]=o;else if(void 0!==a)return a}}},leave:function(n){for(var r=0;r<e.length;r++)if(t[r])t[r]===n&&(t[r]=null);else{var i=s(e[r],n.kind,!0);if(i){var a=i.apply(e[r],arguments);if(a===o)t[r]=o;else if(void 0!==a&&!1!==a)return a}}}}},t.visitWithTypeInfo=function(e,t){return{enter:function(n){e.enter(n);var r=s(t,n.kind,!1);if(r){var i=r.apply(t,arguments);return void 0!==i&&(e.leave(n),a(i)&&e.enter(i)),i}},leave:function(n){var r,i=s(t,n.kind,!0);return i&&(r=i.apply(t,arguments)),e.leave(n),r}}},t.getVisitFn=s,t.BREAK=t.QueryDocumentKeys=void 0;var n,r=(n=y)&&n.__esModule?n:{default:n},i={Name:[],Document:[\"definitions\"],OperationDefinition:[\"name\",\"variableDefinitions\",\"directives\",\"selectionSet\"],VariableDefinition:[\"variable\",\"type\",\"defaultValue\",\"directives\"],Variable:[\"name\"],SelectionSet:[\"selections\"],Field:[\"alias\",\"name\",\"arguments\",\"directives\",\"selectionSet\"],Argument:[\"name\",\"value\"],FragmentSpread:[\"name\",\"directives\"],InlineFragment:[\"typeCondition\",\"directives\",\"selectionSet\"],FragmentDefinition:[\"name\",\"variableDefinitions\",\"typeCondition\",\"directives\",\"selectionSet\"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:[\"values\"],ObjectValue:[\"fields\"],ObjectField:[\"name\",\"value\"],Directive:[\"name\",\"arguments\"],NamedType:[\"name\"],ListType:[\"type\"],NonNullType:[\"type\"],SchemaDefinition:[\"directives\",\"operationTypes\"],OperationTypeDefinition:[\"type\"],ScalarTypeDefinition:[\"description\",\"name\",\"directives\"],ObjectTypeDefinition:[\"description\",\"name\",\"interfaces\",\"directives\",\"fields\"],FieldDefinition:[\"description\",\"name\",\"arguments\",\"type\",\"directives\"],InputValueDefinition:[\"description\",\"name\",\"type\",\"defaultValue\",\"directives\"],InterfaceTypeDefinition:[\"description\",\"name\",\"directives\",\"fields\"],UnionTypeDefinition:[\"description\",\"name\",\"directives\",\"types\"],EnumTypeDefinition:[\"description\",\"name\",\"directives\",\"values\"],EnumValueDefinition:[\"description\",\"name\",\"directives\"],InputObjectTypeDefinition:[\"description\",\"name\",\"directives\",\"fields\"],DirectiveDefinition:[\"description\",\"name\",\"arguments\",\"locations\"],SchemaExtension:[\"directives\",\"operationTypes\"],ScalarTypeExtension:[\"name\",\"directives\"],ObjectTypeExtension:[\"name\",\"interfaces\",\"directives\",\"fields\"],InterfaceTypeExtension:[\"name\",\"directives\",\"fields\"],UnionTypeExtension:[\"name\",\"directives\",\"types\"],EnumTypeExtension:[\"name\",\"directives\",\"values\"],InputObjectTypeExtension:[\"name\",\"directives\",\"fields\"]};t.QueryDocumentKeys=i;var o=Object.freeze({});function a(e){return Boolean(e&&\"string\"==typeof e.kind)}function s(e,t,n){var r=e[t];if(r){if(!n&&\"function\"==typeof r)return r;var i=n?r.leave:r.enter;if(\"function\"==typeof i)return i}else{var o=n?e.leave:e.enter;if(o){if(\"function\"==typeof o)return o;var a=o[t];if(\"function\"==typeof a)return a}}}t.BREAK=o}));t(E),E.visit,E.visitInParallel,E.visitWithTypeInfo,E.getVisitFn,E.BREAK,E.QueryDocumentKeys;var x=n((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.print=function(e){return(0,E.visit)(e,{leave:n})};var n={Name:function(e){return e.value},Variable:function(e){return\"$\"+e.name},Document:function(e){return i(e.definitions,\"\\n\\n\")+\"\\n\"},OperationDefinition:function(e){var t=e.operation,n=e.name,r=a(\"(\",i(e.variableDefinitions,\", \"),\")\"),o=i(e.directives,\" \"),s=e.selectionSet;return n||o||r||\"query\"!==t?i([t,i([n,r]),o,s],\" \"):s},VariableDefinition:function(e){var t=e.variable,n=e.type,r=e.defaultValue,o=e.directives;return t+\": \"+n+a(\" = \",r)+a(\" \",i(o,\" \"))},SelectionSet:function(e){return o(e.selections)},Field:function(e){var t=e.alias,n=e.name,r=e.arguments,o=e.directives,s=e.selectionSet;return i([a(\"\",t,\": \")+n+a(\"(\",i(r,\", \"),\")\"),i(o,\" \"),s],\" \")},Argument:function(e){return e.name+\": \"+e.value},FragmentSpread:function(e){return\"...\"+e.name+a(\" \",i(e.directives,\" \"))},InlineFragment:function(e){var t=e.typeCondition,n=e.directives,r=e.selectionSet;return i([\"...\",a(\"on \",t),i(n,\" \"),r],\" \")},FragmentDefinition:function(e){var t=e.name,n=e.typeCondition,r=e.variableDefinitions,o=e.directives,s=e.selectionSet;return\"fragment \".concat(t).concat(a(\"(\",i(r,\", \"),\")\"),\" \")+\"on \".concat(n,\" \").concat(a(\"\",i(o,\" \"),\" \"))+s},IntValue:function(e){return e.value},FloatValue:function(e){return e.value},StringValue:function(e,t){var n=e.value;return e.block?(0,m.printBlockString)(n,\"description\"===t?\"\":\"  \"):JSON.stringify(n)},BooleanValue:function(e){return e.value?\"true\":\"false\"},NullValue:function(){return\"null\"},EnumValue:function(e){return e.value},ListValue:function(e){return\"[\"+i(e.values,\", \")+\"]\"},ObjectValue:function(e){return\"{\"+i(e.fields,\", \")+\"}\"},ObjectField:function(e){return e.name+\": \"+e.value},Directive:function(e){return\"@\"+e.name+a(\"(\",i(e.arguments,\", \"),\")\")},NamedType:function(e){return e.name},ListType:function(e){return\"[\"+e.type+\"]\"},NonNullType:function(e){return e.type+\"!\"},SchemaDefinition:function(e){var t=e.directives,n=e.operationTypes;return i([\"schema\",i(t,\" \"),o(n)],\" \")},OperationTypeDefinition:function(e){return e.operation+\": \"+e.type},ScalarTypeDefinition:r((function(e){return i([\"scalar\",e.name,i(e.directives,\" \")],\" \")})),ObjectTypeDefinition:r((function(e){var t=e.name,n=e.interfaces,r=e.directives,s=e.fields;return i([\"type\",t,a(\"implements \",i(n,\" & \")),i(r,\" \"),o(s)],\" \")})),FieldDefinition:r((function(e){var t=e.name,n=e.arguments,r=e.type,o=e.directives;return t+(c(n)?a(\"(\\n\",s(i(n,\"\\n\")),\"\\n)\"):a(\"(\",i(n,\", \"),\")\"))+\": \"+r+a(\" \",i(o,\" \"))})),InputValueDefinition:r((function(e){var t=e.name,n=e.type,r=e.defaultValue,o=e.directives;return i([t+\": \"+n,a(\"= \",r),i(o,\" \")],\" \")})),InterfaceTypeDefinition:r((function(e){var t=e.name,n=e.directives,r=e.fields;return i([\"interface\",t,i(n,\" \"),o(r)],\" \")})),UnionTypeDefinition:r((function(e){var t=e.name,n=e.directives,r=e.types;return i([\"union\",t,i(n,\" \"),r&&0!==r.length?\"= \"+i(r,\" | \"):\"\"],\" \")})),EnumTypeDefinition:r((function(e){var t=e.name,n=e.directives,r=e.values;return i([\"enum\",t,i(n,\" \"),o(r)],\" \")})),EnumValueDefinition:r((function(e){return i([e.name,i(e.directives,\" \")],\" \")})),InputObjectTypeDefinition:r((function(e){var t=e.name,n=e.directives,r=e.fields;return i([\"input\",t,i(n,\" \"),o(r)],\" \")})),DirectiveDefinition:r((function(e){var t=e.name,n=e.arguments,r=e.repeatable,o=e.locations;return\"directive @\"+t+(c(n)?a(\"(\\n\",s(i(n,\"\\n\")),\"\\n)\"):a(\"(\",i(n,\", \"),\")\"))+(r?\" repeatable\":\"\")+\" on \"+i(o,\" | \")})),SchemaExtension:function(e){var t=e.directives,n=e.operationTypes;return i([\"extend schema\",i(t,\" \"),o(n)],\" \")},ScalarTypeExtension:function(e){return i([\"extend scalar\",e.name,i(e.directives,\" \")],\" \")},ObjectTypeExtension:function(e){var t=e.name,n=e.interfaces,r=e.directives,s=e.fields;return i([\"extend type\",t,a(\"implements \",i(n,\" & \")),i(r,\" \"),o(s)],\" \")},InterfaceTypeExtension:function(e){var t=e.name,n=e.directives,r=e.fields;return i([\"extend interface\",t,i(n,\" \"),o(r)],\" \")},UnionTypeExtension:function(e){var t=e.name,n=e.directives,r=e.types;return i([\"extend union\",t,i(n,\" \"),r&&0!==r.length?\"= \"+i(r,\" | \"):\"\"],\" \")},EnumTypeExtension:function(e){var t=e.name,n=e.directives,r=e.values;return i([\"extend enum\",t,i(n,\" \"),o(r)],\" \")},InputObjectTypeExtension:function(e){var t=e.name,n=e.directives,r=e.fields;return i([\"extend input\",t,i(n,\" \"),o(r)],\" \")}};function r(e){return function(t){return i([t.description,e(t)],\"\\n\")}}function i(e,t){return e?e.filter((function(e){return e})).join(t||\"\"):\"\"}function o(e){return e&&0!==e.length?\"{\\n\"+s(i(e,\"\\n\"))+\"\\n}\":\"\"}function a(e,t,n){return t?e+t+(n||\"\"):\"\"}function s(e){return e&&\"  \"+e.replace(/\\n/g,\"\\n  \")}function u(e){return-1!==e.indexOf(\"\\n\")}function c(e){return e&&e.some(u)}}));t(x),x.print;var D=n((function(e,t){function n(e){return e.kind===u.Kind.OPERATION_DEFINITION||e.kind===u.Kind.FRAGMENT_DEFINITION}function r(e){return e.kind===u.Kind.SCHEMA_DEFINITION||i(e)||e.kind===u.Kind.DIRECTIVE_DEFINITION}function i(e){return e.kind===u.Kind.SCALAR_TYPE_DEFINITION||e.kind===u.Kind.OBJECT_TYPE_DEFINITION||e.kind===u.Kind.INTERFACE_TYPE_DEFINITION||e.kind===u.Kind.UNION_TYPE_DEFINITION||e.kind===u.Kind.ENUM_TYPE_DEFINITION||e.kind===u.Kind.INPUT_OBJECT_TYPE_DEFINITION}function o(e){return e.kind===u.Kind.SCHEMA_EXTENSION||a(e)}function a(e){return e.kind===u.Kind.SCALAR_TYPE_EXTENSION||e.kind===u.Kind.OBJECT_TYPE_EXTENSION||e.kind===u.Kind.INTERFACE_TYPE_EXTENSION||e.kind===u.Kind.UNION_TYPE_EXTENSION||e.kind===u.Kind.ENUM_TYPE_EXTENSION||e.kind===u.Kind.INPUT_OBJECT_TYPE_EXTENSION}Object.defineProperty(t,\"__esModule\",{value:!0}),t.isDefinitionNode=function(e){return n(e)||r(e)||o(e)},t.isExecutableDefinitionNode=n,t.isSelectionNode=function(e){return e.kind===u.Kind.FIELD||e.kind===u.Kind.FRAGMENT_SPREAD||e.kind===u.Kind.INLINE_FRAGMENT},t.isValueNode=function(e){return e.kind===u.Kind.VARIABLE||e.kind===u.Kind.INT||e.kind===u.Kind.FLOAT||e.kind===u.Kind.STRING||e.kind===u.Kind.BOOLEAN||e.kind===u.Kind.NULL||e.kind===u.Kind.ENUM||e.kind===u.Kind.LIST||e.kind===u.Kind.OBJECT},t.isTypeNode=function(e){return e.kind===u.Kind.NAMED_TYPE||e.kind===u.Kind.LIST_TYPE||e.kind===u.Kind.NON_NULL_TYPE},t.isTypeSystemDefinitionNode=r,t.isTypeDefinitionNode=i,t.isTypeSystemExtensionNode=o,t.isTypeExtensionNode=a}));t(D),D.isDefinitionNode,D.isExecutableDefinitionNode,D.isSelectionNode,D.isValueNode,D.isTypeNode,D.isTypeSystemDefinitionNode,D.isTypeDefinitionNode,D.isTypeSystemExtensionNode,D.isTypeExtensionNode;var C=n((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),Object.defineProperty(t,\"Source\",{enumerable:!0,get:function(){return o.Source}}),Object.defineProperty(t,\"getLocation\",{enumerable:!0,get:function(){return a.getLocation}}),Object.defineProperty(t,\"printLocation\",{enumerable:!0,get:function(){return s.printLocation}}),Object.defineProperty(t,\"printSourceLocation\",{enumerable:!0,get:function(){return s.printSourceLocation}}),Object.defineProperty(t,\"Kind\",{enumerable:!0,get:function(){return u.Kind}}),Object.defineProperty(t,\"TokenKind\",{enumerable:!0,get:function(){return c.TokenKind}}),Object.defineProperty(t,\"createLexer\",{enumerable:!0,get:function(){return g.createLexer}}),Object.defineProperty(t,\"parse\",{enumerable:!0,get:function(){return b.parse}}),Object.defineProperty(t,\"parseValue\",{enumerable:!0,get:function(){return b.parseValue}}),Object.defineProperty(t,\"parseType\",{enumerable:!0,get:function(){return b.parseType}}),Object.defineProperty(t,\"print\",{enumerable:!0,get:function(){return x.print}}),Object.defineProperty(t,\"visit\",{enumerable:!0,get:function(){return E.visit}}),Object.defineProperty(t,\"visitInParallel\",{enumerable:!0,get:function(){return E.visitInParallel}}),Object.defineProperty(t,\"visitWithTypeInfo\",{enumerable:!0,get:function(){return E.visitWithTypeInfo}}),Object.defineProperty(t,\"getVisitFn\",{enumerable:!0,get:function(){return E.getVisitFn}}),Object.defineProperty(t,\"BREAK\",{enumerable:!0,get:function(){return E.BREAK}}),Object.defineProperty(t,\"isDefinitionNode\",{enumerable:!0,get:function(){return D.isDefinitionNode}}),Object.defineProperty(t,\"isExecutableDefinitionNode\",{enumerable:!0,get:function(){return D.isExecutableDefinitionNode}}),Object.defineProperty(t,\"isSelectionNode\",{enumerable:!0,get:function(){return D.isSelectionNode}}),Object.defineProperty(t,\"isValueNode\",{enumerable:!0,get:function(){return D.isValueNode}}),Object.defineProperty(t,\"isTypeNode\",{enumerable:!0,get:function(){return D.isTypeNode}}),Object.defineProperty(t,\"isTypeSystemDefinitionNode\",{enumerable:!0,get:function(){return D.isTypeSystemDefinitionNode}}),Object.defineProperty(t,\"isTypeDefinitionNode\",{enumerable:!0,get:function(){return D.isTypeDefinitionNode}}),Object.defineProperty(t,\"isTypeSystemExtensionNode\",{enumerable:!0,get:function(){return D.isTypeSystemExtensionNode}}),Object.defineProperty(t,\"isTypeExtensionNode\",{enumerable:!0,get:function(){return D.isTypeExtensionNode}}),Object.defineProperty(t,\"DirectiveLocation\",{enumerable:!0,get:function(){return v.DirectiveLocation}})}));t(C);var w=n((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.locatedError=function(e,t,n){return e&&Array.isArray(e.path)?e:new d.GraphQLError(e&&e.message,e&&e.nodes||t,e&&e.source,e&&e.positions,n,e)}}));t(w),w.locatedError;var S=n((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.formatError=function(e){e||(0,i.default)(0,\"Received null or undefined error.\");var t=e.message||\"An unknown error occurred.\",n=e.locations,r=e.path,o=e.extensions;return o?{message:t,locations:n,path:r,extensions:o}:{message:t,locations:n,path:r}};var n,i=(n=r)&&n.__esModule?n:{default:n}}));t(S),S.formatError;var k=n((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),Object.defineProperty(t,\"GraphQLError\",{enumerable:!0,get:function(){return d.GraphQLError}}),Object.defineProperty(t,\"printError\",{enumerable:!0,get:function(){return d.printError}}),Object.defineProperty(t,\"syntaxError\",{enumerable:!0,get:function(){return h.syntaxError}}),Object.defineProperty(t,\"locatedError\",{enumerable:!0,get:function(){return w.locatedError}}),Object.defineProperty(t,\"formatError\",{enumerable:!0,get:function(){return S.formatError}})}));t(k);const{hasPragma:A}={hasPragma:function(e){return/^\\s*#[^\\n\\S]*@(format|prettier)\\s*(\\n|$)/.test(e)},insertPragma:function(e){return\"# @format\\n\\n\"+e}};var T={parsers:{graphql:{parse:function(e){const t=C;try{const n=function(e,t){const n={allowLegacySDLImplementsInterfaces:!1,experimentalFragmentVariables:!0};try{return e(t,n)}catch(r){return n.allowLegacySDLImplementsInterfaces=!0,e(t,n)}}(t.parse,e);return n.comments=function(e){const t=[],{startToken:n}=e.loc;let{next:r}=n;for(;\"<EOF>\"!==r.kind;)\"Comment\"===r.kind&&(Object.assign(r,{column:r.column-1}),t.push(r)),r=r.next;return t}(n),function e(t){if(t&&\"object\"==typeof t){delete t.startToken,delete t.endToken,delete t.prev,delete t.next;for(const n in t)e(t[n])}return t}(n),n}catch(e){const{GraphQLError:t}=k;throw e instanceof t?function(e,t){const n=new SyntaxError(e+\" (\"+t.start.line+\":\"+t.start.column+\")\");return n.loc=t,n}(e.message,{start:{line:e.locations[0].line,column:e.locations[0].column}}):e}},astFormat:\"graphql\",hasPragma:A,locStart:e=>\"number\"==typeof e.start?e.start:e.loc&&e.loc.start,locEnd:e=>\"number\"==typeof e.end?e.end:e.loc&&e.loc.end}}},_=T.parsers;e.default=T,e.parsers=_,Object.defineProperty(e,\"__esModule\",{value:!0})}(t)},function(e,t,n){\"use strict\";var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},\"function\"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError(\"Generator is already executing.\");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){a.label=o[1];break}if(6===o[0]&&a.label<i[1]){a.label=i[1],i=o;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(o);break}i[2]&&a.ops.pop(),a.trys.pop();continue}o=t.call(e,a)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}};Object.defineProperty(t,\"__esModule\",{value:!0});var o,a=n(111),s=n(32),u=n(300),c=n(301),l=n(34),p=n(38),f=n(89),d=n(74),h=n(118),m=n(99),g=n(42),y=n(75),v=n(156),b=n(20),E=n(88),x=n(302);function D(){var e,t,n,r,o,f,d;return i(this,(function(i){switch(i.label){case 0:return[4,a.delay(100)];case 1:return i.sent(),[4,a.select(s.getSelectedSession)];case 2:return e=i.sent(),[4,m.schemaFetcher.fetch(e)];case 3:t=i.sent().schema,i.label=4;case 4:return i.trys.push([4,12,,14]),n=b.parse(e.query),(r=c.getQueryFacts(t,n))?(o=l.fromJS(r),f=u.default(e.operations,e.operationName,o.operations),l.is(o.get(\"variableToType\"),e.variableToType)?[3,6]:[4,a.put(p.setVariableToType(o.get(\"variableToType\")))]):[3,10];case 5:i.sent(),i.label=6;case 6:return l.is(o.get(\"operations\"),e.operations)?[3,8]:[4,a.put(p.setOperations(o.get(\"operations\")))];case 7:i.sent(),i.label=8;case 8:return f===e.operationName?[3,10]:[4,a.put(p.setOperationName(f))];case 9:i.sent(),i.label=10;case 10:return d=v.getQueryTypes(n),[4,a.put(p.setQueryTypes(d))];case 11:return i.sent(),[3,14];case 12:return i.sent(),d=v.getQueryTypes(null),[4,a.put(p.setQueryTypes(d))];case 13:return i.sent(),[3,14];case 14:return[2]}}))}function C(){var e,t;return i(this,(function(n){switch(n.label){case 0:return[4,a.select(s.getSelectedSession)];case 1:return e=n.sent(),[4,a.select(g.getSettings)];case 2:return t=n.sent(),[2,{endpoint:e.endpoint,headers:e.headers,credentials:t[\"request.credentials\"]}]}}))}t.sessionsSagas=[a.takeLatest(\"GET_QUERY_FACTS\",E.safely(D)),a.takeLatest(\"SET_OPERATION_NAME\",E.safely(D)),a.takeEvery(\"EDIT_QUERY\",E.safely(D)),a.takeEvery(\"EDIT_QUERY\",E.safely((function(e){var t,n,o,s=e.payload;return i(this,(function(e){switch(e.label){case 0:return[4,a.delay(100)];case 1:return e.sent(),location.search.includes(\"query\")?(void 0!==(t=x.parse(location.search)).query&&(n=x.stringify(r(r({},t),{query:s.query})),o=\"\"+location.origin+location.pathname+\"?\"+n,window.history.replaceState({},document.getElementsByTagName(\"title\")[0].innerHTML,o)),[2]):[2]}}))}))),a.takeEvery(\"RUN_QUERY_AT_POSITION\",E.safely((function(e){var t,n,r;return i(this,(function(i){switch(i.label){case 0:return t=e.payload.position,[4,a.select(s.getSelectedSession)];case 1:return(n=i.sent()).operations?(n.operations.toJS().forEach((function(e){e.loc&&e.loc.start<=t&&e.loc.end>=t&&(r=e.name&&e.name.value)})),r?[4,a.put(p.runQuery(r))]:[3,3]):[3,6];case 2:return i.sent(),[3,5];case 3:return[4,a.put(p.runQuery())];case 4:i.sent(),i.label=5;case 5:return[3,8];case 6:return[4,a.put(p.runQuery())];case 7:i.sent(),i.label=8;case 8:return[2]}}))}))),a.takeLatest(\"FETCH_SCHEMA\",E.safely((function(){var e,t,n,r;return i(this,(function(i){switch(i.label){case 0:return[4,C()];case 1:e=i.sent(),i.label=2;case 2:return i.trys.push([2,6,,10]),[4,m.schemaFetcher.fetch(e)];case 3:return i.sent(),t=a.put,n=p.schemaFetchingSuccess,r=[e.endpoint,null],[4,a.select(s.getIsPollingSchema)];case 4:return[4,t.apply(void 0,[n.apply(void 0,r.concat([i.sent()]))])];case 5:return i.sent(),[3,10];case 6:return i.sent(),[4,a.put(p.schemaFetchingError(e.endpoint))];case 7:return i.sent(),[4,a.delay(5e3)];case 8:return i.sent(),[4,a.put(p.fetchSchema())];case 9:return i.sent(),[3,10];case 10:return[2]}}))}))),a.takeLatest(\"REFETCH_SCHEMA\",E.safely((function(){var e,t,n,r;return i(this,(function(i){switch(i.label){case 0:return[4,C()];case 1:e=i.sent(),i.label=2;case 2:return i.trys.push([2,6,,10]),[4,m.schemaFetcher.refetch(e)];case 3:return i.sent(),t=a.put,n=p.schemaFetchingSuccess,r=[e.endpoint,null],[4,a.select(s.getIsPollingSchema)];case 4:return[4,t.apply(void 0,[n.apply(void 0,r.concat([i.sent()]))])];case 5:return i.sent(),[3,10];case 6:return i.sent(),[4,a.put(p.schemaFetchingError(e.endpoint))];case 7:return i.sent(),[4,a.delay(5e3)];case 8:return i.sent(),[4,a.put(p.refetchSchema())];case 9:return i.sent(),[3,10];case 10:return[2]}}))}))),a.takeLatest(\"SCHEMA_FETCHING_SUCCESS\",E.safely((function(){var e,t,n,r,u,c,l,h;return i(this,(function(i){switch(i.label){case 0:return[4,a.select(s.getSelectedSession)];case 1:return e=i.sent(),[4,C()];case 2:return t=i.sent(),[4,a.select(y.getSessionDocsState)];case 3:return n=i.sent(),[4,m.schemaFetcher.fetch(t)];case 4:return r=i.sent(),u=r.schema,c=r.tracingSupported,!u||o&&o===u?[3,7]:(l=f.getRootMap(u),h=n.navStack.map((function(e){return f.getNewStack(l,u,e)})).filter((function(e){return e})),[4,a.put(d.setStacks(e.id,h))]);case 5:return i.sent(),[4,a.put(p.setTracingSupported(c))];case 6:i.sent(),o=u,i.label=7;case 7:return[2]}}))}))),a.takeEvery(\"QUERY_SUCCESS\",E.safely((function(e){var t,n,r,o,s=e.payload;return i(this,(function(e){switch(e.label){case 0:return t=s.sessionId,[4,a.select(g.getSelectedWorkspace)];case 1:return n=e.sent(),r=n.getIn([\"sessions\",t]),o=n.get(\"history\"),o.toKeyedSeq().find((function(e){return l.is(e,r)}))?[3,3]:[4,a.put(h.addHistoryItem(r))];case 2:e.sent(),e.label=3;case 3:return[2]}}))}))),a.takeLatest(\"PRETTIFY_QUERY\",E.safely((function(){var e,t,n,r;return i(this,(function(i){switch(i.label){case 0:return[4,a.select(s.getSelectedSession)];case 1:return e=i.sent().query,[4,a.select(g.getSettings)];case 2:t=i.sent(),i.label=3;case 3:return i.trys.push([3,5,,6]),n=E.prettify(e,{printWidth:t[\"prettier.printWidth\"],tabWidth:t[\"prettier.tabWidth\"],useTabs:t[\"prettier.useTabs\"]}),[4,a.put(p.editQuery(n))];case 4:return i.sent(),[3,6];case 5:return r=i.sent(),console.log(r),[3,6];case 6:return[2]}}))})))]},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t,n){if(n&&!(n.length<1)){var r=n.map((function(e){return e.name&&e.name.value}));if(t&&-1!==r.indexOf(t))return t;if(t&&e){var i=e.map((function(e){return e.name&&e.name.value})).indexOf(t);if(-1!==i&&i<r.length)return r[i]}return r[0]}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(20);function i(e,t){var n=Object.create(null);return t.definitions.forEach((function(t){if(\"OperationDefinition\"===t.kind){var i=t.variableDefinitions;i&&i.forEach((function(t){var i=t.variable,o=t.type,a=r.typeFromAST(e,o);a&&(n[i.name.value]=a)}))}})),n}t.getQueryFacts=function(e,t){var n=e?i(e,t):null,r=[];return t.definitions.forEach((function(e){\"OperationDefinition\"===e.kind&&r.push(e)})),{variableToType:n,operations:r}},t.collectVariables=i},function(e,t,n){\"use strict\";var r=n(303),i=n(73),o=n(304);function a(e,t){return t.encode?t.strict?r(e):encodeURIComponent(e):e}function s(e){var t=e.indexOf(\"?\");return-1===t?\"\":e.slice(t+1)}function u(e,t){var n=function(e){var t;switch(e.arrayFormat){case\"index\":return function(e,n,r){t=/\\[(\\d*)\\]$/.exec(e),e=e.replace(/\\[\\d*\\]$/,\"\"),t?(void 0===r[e]&&(r[e]={}),r[e][t[1]]=n):r[e]=n};case\"bracket\":return function(e,n,r){t=/(\\[\\])$/.exec(e),e=e.replace(/\\[\\]$/,\"\"),t?void 0!==r[e]?r[e]=[].concat(r[e],n):r[e]=[n]:r[e]=n};default:return function(e,t,n){void 0!==n[e]?n[e]=[].concat(n[e],t):n[e]=t}}}(t=i({arrayFormat:\"none\"},t)),r=Object.create(null);return\"string\"!=typeof e?r:(e=e.trim().replace(/^[?#&]/,\"\"))?(e.split(\"&\").forEach((function(e){var t=e.replace(/\\+/g,\" \").split(\"=\"),i=t.shift(),a=t.length>0?t.join(\"=\"):void 0;a=void 0===a?null:o(a),n(o(i),a,r)})),Object.keys(r).sort().reduce((function(e,t){var n=r[t];return Boolean(n)&&\"object\"==typeof n&&!Array.isArray(n)?e[t]=function e(t){return Array.isArray(t)?t.sort():\"object\"==typeof t?e(Object.keys(t)).sort((function(e,t){return Number(e)-Number(t)})).map((function(e){return t[e]})):t}(n):e[t]=n,e}),Object.create(null))):r}t.extract=s,t.parse=u,t.stringify=function(e,t){!1===(t=i({encode:!0,strict:!0,arrayFormat:\"none\"},t)).sort&&(t.sort=function(){});var n=function(e){switch(e.arrayFormat){case\"index\":return function(t,n,r){return null===n?[a(t,e),\"[\",r,\"]\"].join(\"\"):[a(t,e),\"[\",a(r,e),\"]=\",a(n,e)].join(\"\")};case\"bracket\":return function(t,n){return null===n?a(t,e):[a(t,e),\"[]=\",a(n,e)].join(\"\")};default:return function(t,n){return null===n?a(t,e):[a(t,e),\"=\",a(n,e)].join(\"\")}}}(t);return e?Object.keys(e).sort(t.sort).map((function(r){var i=e[r];if(void 0===i)return\"\";if(null===i)return a(r,t);if(Array.isArray(i)){var o=[];return i.slice().forEach((function(e){void 0!==e&&o.push(n(r,e,o.length))})),o.join(\"&\")}return a(r,t)+\"=\"+a(i,t)})).filter((function(e){return e.length>0})).join(\"&\"):\"\"},t.parseUrl=function(e,t){return{url:e.split(\"?\")[0]||\"\",query:u(s(e),t)}}},function(e,t,n){\"use strict\";e.exports=function(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return\"%\"+e.charCodeAt(0).toString(16).toUpperCase()}))}},function(e,t,n){\"use strict\";var r=new RegExp(\"%[a-f0-9]{2}\",\"gi\"),i=new RegExp(\"(%[a-f0-9]{2})+\",\"gi\");function o(e,t){try{return decodeURIComponent(e.join(\"\"))}catch(e){}if(1===e.length)return e;t=t||1;var n=e.slice(0,t),r=e.slice(t);return Array.prototype.concat.call([],o(n),o(r))}function a(e){try{return decodeURIComponent(e)}catch(i){for(var t=e.match(r),n=1;n<t.length;n++)t=(e=o(t,n).join(\"\")).match(r);return e}}e.exports=function(e){if(\"string\"!=typeof e)throw new TypeError(\"Expected `encodedURI` to be of type `string`, got `\"+typeof e+\"`\");try{return e=e.replace(/\\+/g,\" \"),decodeURIComponent(e)}catch(t){return function(e){for(var t={\"%FE%FF\":\"��\",\"%FF%FE\":\"��\"},n=i.exec(e);n;){try{t[n[0]]=decodeURIComponent(n[0])}catch(e){var r=a(n[0]);r!==n[0]&&(t[n[0]]=r)}n=i.exec(e)}t[\"%C2\"]=\"�\";for(var o=Object.keys(t),s=0;s<o.length;s++){var u=o[s];e=e.replace(new RegExp(u,\"g\"),t[u])}return e}(e)}}},function(e,t,n){\"use strict\";var r=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},\"function\"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError(\"Generator is already executing.\");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){a.label=o[1];break}if(6===o[0]&&a.label<i[1]){a.label=i[1],i=o;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(o);break}i[2]&&a.ops.pop(),a.trys.pop();continue}o=t.call(e,a)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}};Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(111),o=n(32),a=n(119),s=n(87),u=n(164),c=n(34),l=n(88);function p(){var e,t,n,o;return r(this,(function(r){switch(r.label){case 0:return[4,i.select()];case 1:return e=r.sent(),[4,i.select(u.getSharingState)];case 2:return t=r.sent(),n=s(),e=e.update(\"workspaces\",(function(t){return t.filter((function(t,n){return n===e.selectedWorkspace}))})).set(\"selectedWorkspace\",n+\"~\"+e.selectedWorkspace).update(\"workspaces\",(function(e){return e.mapKeys((function(e){return n+\"~\"+e}))})),o=e.workspaces.get(e.selectedWorkspace).sessions.selectedSessionId,t.allTabs||(e=e.updateIn([\"workspaces\",e.selectedWorkspace,\"sessions\",\"sessions\"],(function(e){return e.filter((function(e,t){return t===o}))})).setIn([\"workspaces\",e.selectedWorkspace,\"sessions\",\"sessionCount\"],1)),t.headers||(e=e.updateIn([\"workspaces\",e.selectedWorkspace,\"sessions\",\"sessions\"],(function(e){return e.map((function(e){return e.set(\"headers\",\"\")}))}))),t.history||(e=e.setIn([\"workspaces\",e.selectedWorkspace,\"history\"],c.Map())),[2,e]}}))}t.sharingSagas=[i.takeEvery(\"SHARE\",l.safely((function(){var e,t,n,s;return r(this,(function(r){switch(r.label){case 0:return[4,p()];case 1:return e=r.sent(),[4,i.select(o.getEndpoint)];case 2:return t=r.sent(),[4,fetch(\"https://api.graphqlbin.com/\",{method:\"post\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({query:\"\\n        mutation ($session: String! $endpoint: String!) {\\n          addSession(session: $session endpoint: $endpoint) {\\n            id\\n          }\\n        }\\n      \",variables:{session:JSON.stringify(e),endpoint:t}})}).then((function(e){return e.json()}))];case 3:return n=r.sent(),s=\"https://graphqlbin.com/v2/\"+n.data.addSession.id,[4,i.put(a.setShareUrl(s))];case 4:return r.sent(),[2]}}))})))]},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(97),i=n(160);t.serializeState=function(e){return r.debounce((function(){var t=e.getState();t.stateInjected||localStorage.setItem(\"graphql-playground\",JSON.stringify(t))}),300,{trailing:!0})},t.deserializeState=function(){try{var e=localStorage.getItem(\"graphql-playground\");if(e){var t=JSON.parse(e);return i.deserializePersistedState(t)}}catch(e){}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.bodyOpenClassName=t.portalClassName=void 0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(3),a=h(o),s=h(n(59)),u=h(n(7)),c=h(n(308)),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(166)),p=n(120),f=h(p),d=n(314);function h(e){return e&&e.__esModule?e:{default:e}}function m(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function g(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}var y=t.portalClassName=\"ReactModalPortal\",v=t.bodyOpenClassName=\"ReactModal__Body--open\",b=void 0!==s.default.createPortal,E=function(){return b?s.default.createPortal:s.default.unstable_renderSubtreeIntoContainer};function x(e){return e()}var D=function(e){function t(){var e,n,i;m(this,t);for(var o=arguments.length,u=Array(o),l=0;l<o;l++)u[l]=arguments[l];return n=i=g(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),i.removePortal=function(){!b&&s.default.unmountComponentAtNode(i.node);var e=x(i.props.parentSelector);e?e.removeChild(i.node):console.warn('React-Modal: \"parentSelector\" prop did not returned any DOM element. Make sure that the parent element is unmounted to avoid any memory leaks.')},i.portalRef=function(e){i.portal=e},i.renderPortal=function(e){var n=E()(i,a.default.createElement(c.default,r({defaultStyles:t.defaultStyles},e)),i.node);i.portalRef(n)},g(i,n)}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:\"componentDidMount\",value:function(){p.canUseDOM&&(b||(this.node=document.createElement(\"div\")),this.node.className=this.props.portalClassName,x(this.props.parentSelector).appendChild(this.node),!b&&this.renderPortal(this.props))}},{key:\"getSnapshotBeforeUpdate\",value:function(e){return{prevParent:x(e.parentSelector),nextParent:x(this.props.parentSelector)}}},{key:\"componentDidUpdate\",value:function(e,t,n){if(p.canUseDOM){var r=this.props,i=r.isOpen,o=r.portalClassName;e.portalClassName!==o&&(this.node.className=o);var a=n.prevParent,s=n.nextParent;s!==a&&(a.removeChild(this.node),s.appendChild(this.node)),(e.isOpen||i)&&!b&&this.renderPortal(this.props)}}},{key:\"componentWillUnmount\",value:function(){if(p.canUseDOM&&this.node&&this.portal){var e=this.portal.state,t=Date.now(),n=e.isOpen&&this.props.closeTimeoutMS&&(e.closesAt||t+this.props.closeTimeoutMS);n?(e.beforeClose||this.portal.closeWithTimeout(),setTimeout(this.removePortal,n-t)):this.removePortal()}}},{key:\"render\",value:function(){return p.canUseDOM&&b?(!this.node&&b&&(this.node=document.createElement(\"div\")),E()(a.default.createElement(c.default,r({ref:this.portalRef,defaultStyles:t.defaultStyles},this.props)),this.node)):null}}],[{key:\"setAppElement\",value:function(e){l.setElement(e)}}]),t}(o.Component);D.propTypes={isOpen:u.default.bool.isRequired,style:u.default.shape({content:u.default.object,overlay:u.default.object}),portalClassName:u.default.string,bodyOpenClassName:u.default.string,htmlOpenClassName:u.default.string,className:u.default.oneOfType([u.default.string,u.default.shape({base:u.default.string.isRequired,afterOpen:u.default.string.isRequired,beforeClose:u.default.string.isRequired})]),overlayClassName:u.default.oneOfType([u.default.string,u.default.shape({base:u.default.string.isRequired,afterOpen:u.default.string.isRequired,beforeClose:u.default.string.isRequired})]),appElement:u.default.instanceOf(f.default),onAfterOpen:u.default.func,onRequestClose:u.default.func,closeTimeoutMS:u.default.number,ariaHideApp:u.default.bool,shouldFocusAfterRender:u.default.bool,shouldCloseOnOverlayClick:u.default.bool,shouldReturnFocusAfterClose:u.default.bool,parentSelector:u.default.func,aria:u.default.object,data:u.default.object,role:u.default.string,contentLabel:u.default.string,shouldCloseOnEsc:u.default.bool,overlayRef:u.default.func,contentRef:u.default.func},D.defaultProps={isOpen:!1,portalClassName:y,bodyOpenClassName:v,role:\"dialog\",ariaHideApp:!0,closeTimeoutMS:0,shouldFocusAfterRender:!0,shouldCloseOnEsc:!0,shouldCloseOnOverlayClick:!0,shouldReturnFocusAfterClose:!0,parentSelector:function(){return document.body}},D.defaultStyles={overlay:{position:\"fixed\",top:0,left:0,right:0,bottom:0,backgroundColor:\"rgba(255, 255, 255, 0.75)\"},content:{position:\"absolute\",top:\"40px\",left:\"40px\",right:\"40px\",bottom:\"40px\",border:\"1px solid #ccc\",background:\"#fff\",overflow:\"auto\",WebkitOverflowScrolling:\"touch\",borderRadius:\"4px\",outline:\"none\",padding:\"20px\"}},(0,d.polyfill)(D),t.default=D},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},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},o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),s=g(a),u=g(n(7)),c=m(n(309)),l=g(n(310)),p=m(n(166)),f=m(n(312)),d=g(n(120)),h=g(n(167));function m(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function g(e){return e&&e.__esModule?e:{default:e}}n(313);var y={overlay:\"ReactModal__Overlay\",content:\"ReactModal__Content\"},v=0,b=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.setOverlayRef=function(e){n.overlay=e,n.props.overlayRef&&n.props.overlayRef(e)},n.setContentRef=function(e){n.content=e,n.props.contentRef&&n.props.contentRef(e)},n.afterClose=function(){var e=n.props,t=e.appElement,r=e.ariaHideApp,i=e.htmlOpenClassName,o=e.bodyOpenClassName;o&&f.remove(document.body,o),i&&f.remove(document.getElementsByTagName(\"html\")[0],i),r&&v>0&&0===(v-=1)&&p.show(t),n.props.shouldFocusAfterRender&&(n.props.shouldReturnFocusAfterClose?(c.returnFocus(),c.teardownScopedFocus()):c.popWithoutFocus()),n.props.onAfterClose&&n.props.onAfterClose(),h.default.deregister(n)},n.open=function(){n.beforeOpen(),n.state.afterOpen&&n.state.beforeClose?(clearTimeout(n.closeTimer),n.setState({beforeClose:!1})):(n.props.shouldFocusAfterRender&&(c.setupScopedFocus(n.node),c.markForFocusLater()),n.setState({isOpen:!0},(function(){n.setState({afterOpen:!0}),n.props.isOpen&&n.props.onAfterOpen&&n.props.onAfterOpen({overlayEl:n.overlay,contentEl:n.content})})))},n.close=function(){n.props.closeTimeoutMS>0?n.closeWithTimeout():n.closeWithoutTimeout()},n.focusContent=function(){return n.content&&!n.contentHasFocus()&&n.content.focus()},n.closeWithTimeout=function(){var e=Date.now()+n.props.closeTimeoutMS;n.setState({beforeClose:!0,closesAt:e},(function(){n.closeTimer=setTimeout(n.closeWithoutTimeout,n.state.closesAt-Date.now())}))},n.closeWithoutTimeout=function(){n.setState({beforeClose:!1,isOpen:!1,afterOpen:!1,closesAt:null},n.afterClose)},n.handleKeyDown=function(e){9===e.keyCode&&(0,l.default)(n.content,e),n.props.shouldCloseOnEsc&&27===e.keyCode&&(e.stopPropagation(),n.requestClose(e))},n.handleOverlayOnClick=function(e){null===n.shouldClose&&(n.shouldClose=!0),n.shouldClose&&n.props.shouldCloseOnOverlayClick&&(n.ownerHandlesClose()?n.requestClose(e):n.focusContent()),n.shouldClose=null},n.handleContentOnMouseUp=function(){n.shouldClose=!1},n.handleOverlayOnMouseDown=function(e){n.props.shouldCloseOnOverlayClick||e.target!=n.overlay||e.preventDefault()},n.handleContentOnClick=function(){n.shouldClose=!1},n.handleContentOnMouseDown=function(){n.shouldClose=!1},n.requestClose=function(e){return n.ownerHandlesClose()&&n.props.onRequestClose(e)},n.ownerHandlesClose=function(){return n.props.onRequestClose},n.shouldBeClosed=function(){return!n.state.isOpen&&!n.state.beforeClose},n.contentHasFocus=function(){return document.activeElement===n.content||n.content.contains(document.activeElement)},n.buildClassName=function(e,t){var r=\"object\"===(void 0===t?\"undefined\":i(t))?t:{base:y[e],afterOpen:y[e]+\"--after-open\",beforeClose:y[e]+\"--before-close\"},o=r.base;return n.state.afterOpen&&(o=o+\" \"+r.afterOpen),n.state.beforeClose&&(o=o+\" \"+r.beforeClose),\"string\"==typeof t&&t?o+\" \"+t:o},n.attributesFromObject=function(e,t){return Object.keys(t).reduce((function(n,r){return n[e+\"-\"+r]=t[r],n}),{})},n.state={afterOpen:!1,beforeClose:!1},n.shouldClose=null,n.moveFromContentToOverlay=null,n}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),o(t,[{key:\"componentDidMount\",value:function(){this.props.isOpen&&this.open()}},{key:\"componentDidUpdate\",value:function(e,t){this.props.isOpen&&!e.isOpen?this.open():!this.props.isOpen&&e.isOpen&&this.close(),this.props.shouldFocusAfterRender&&this.state.isOpen&&!t.isOpen&&this.focusContent()}},{key:\"componentWillUnmount\",value:function(){this.state.isOpen&&this.afterClose(),clearTimeout(this.closeTimer)}},{key:\"beforeOpen\",value:function(){var e=this.props,t=e.appElement,n=e.ariaHideApp,r=e.htmlOpenClassName,i=e.bodyOpenClassName;i&&f.add(document.body,i),r&&f.add(document.getElementsByTagName(\"html\")[0],r),n&&(v+=1,p.hide(t)),h.default.register(this)}},{key:\"render\",value:function(){var e=this.props,t=e.id,n=e.className,i=e.overlayClassName,o=e.defaultStyles,a=n?{}:o.content,u=i?{}:o.overlay;return this.shouldBeClosed()?null:s.default.createElement(\"div\",{ref:this.setOverlayRef,className:this.buildClassName(\"overlay\",i),style:r({},u,this.props.style.overlay),onClick:this.handleOverlayOnClick,onMouseDown:this.handleOverlayOnMouseDown},s.default.createElement(\"div\",r({id:t,ref:this.setContentRef,style:r({},a,this.props.style.content),className:this.buildClassName(\"content\",n),tabIndex:\"-1\",onKeyDown:this.handleKeyDown,onMouseDown:this.handleContentOnMouseDown,onMouseUp:this.handleContentOnMouseUp,onClick:this.handleContentOnClick,role:this.props.role,\"aria-label\":this.props.contentLabel},this.attributesFromObject(\"aria\",this.props.aria||{}),this.attributesFromObject(\"data\",this.props.data||{}),{\"data-testid\":this.props.testId}),this.props.children))}}]),t}(a.Component);b.defaultProps={style:{overlay:{},content:{}},defaultStyles:{}},b.propTypes={isOpen:u.default.bool.isRequired,defaultStyles:u.default.shape({content:u.default.object,overlay:u.default.object}),style:u.default.shape({content:u.default.object,overlay:u.default.object}),className:u.default.oneOfType([u.default.string,u.default.object]),overlayClassName:u.default.oneOfType([u.default.string,u.default.object]),bodyOpenClassName:u.default.string,htmlOpenClassName:u.default.string,ariaHideApp:u.default.bool,appElement:u.default.instanceOf(d.default),onAfterOpen:u.default.func,onAfterClose:u.default.func,onRequestClose:u.default.func,closeTimeoutMS:u.default.number,shouldFocusAfterRender:u.default.bool,shouldCloseOnOverlayClick:u.default.bool,shouldReturnFocusAfterClose:u.default.bool,role:u.default.string,contentLabel:u.default.string,aria:u.default.object,data:u.default.object,children:u.default.node,shouldCloseOnEsc:u.default.bool,overlayRef:u.default.func,contentRef:u.default.func,id:u.default.string,testId:u.default.string},t.default=b,e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.handleBlur=c,t.handleFocus=l,t.markForFocusLater=function(){a.push(document.activeElement)},t.returnFocus=function(){var e=null;try{return void(0!==a.length&&(e=a.pop()).focus())}catch(t){console.warn([\"You tried to return focus to\",e,\"but it is not in the DOM anymore\"].join(\" \"))}},t.popWithoutFocus=function(){a.length>0&&a.pop()},t.setupScopedFocus=function(e){s=e,window.addEventListener?(window.addEventListener(\"blur\",c,!1),document.addEventListener(\"focus\",l,!0)):(window.attachEvent(\"onBlur\",c),document.attachEvent(\"onFocus\",l))},t.teardownScopedFocus=function(){s=null,window.addEventListener?(window.removeEventListener(\"blur\",c),document.removeEventListener(\"focus\",l)):(window.detachEvent(\"onBlur\",c),document.detachEvent(\"onFocus\",l))};var r,i=n(165),o=(r=i)&&r.__esModule?r:{default:r};var a=[],s=null,u=!1;function c(){u=!0}function l(){if(u){if(u=!1,!s)return;setTimeout((function(){s.contains(document.activeElement)||((0,o.default)(s)[0]||s).focus()}),0)}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t){var n=(0,o.default)(e);if(!n.length)return void t.preventDefault();var r=void 0,i=t.shiftKey,a=n[0],s=n[n.length-1];if(e===document.activeElement){if(!i)return;r=s}s!==document.activeElement||i||(r=a);a===document.activeElement&&i&&(r=s);if(r)return t.preventDefault(),void r.focus();var u=/(\\bChrome\\b|\\bSafari\\b)\\//.exec(navigator.userAgent);if(null==u||\"Chrome\"==u[1]||null!=/\\biPod\\b|\\biPad\\b/g.exec(navigator.userAgent))return;var c=n.indexOf(document.activeElement);c>-1&&(c+=i?-1:1);if(void 0===(r=n[c]))return t.preventDefault(),void(r=i?s:a).focus();t.preventDefault(),r.focus()};var r,i=n(165),o=(r=i)&&r.__esModule?r:{default:r};e.exports=t.default},function(e,t,n){var r;\n/*!\n  Copyright (c) 2015 Jed Watson.\n  Based on code that is Copyright 2013-2015, Facebook, Inc.\n  All rights reserved.\n*/!function(){\"use strict\";var i=!(\"undefined\"==typeof window||!window.document||!window.document.createElement),o={canUseDOM:i,canUseWorkers:\"undefined\"!=typeof Worker,canUseEventListeners:i&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:i&&!!window.screen};void 0===(r=function(){return o}.call(t,n,t,e))||(e.exports=r)}()},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.dumpClassLists=function(){0};var r={},i={};t.add=function(e,t){return n=e.classList,o=\"html\"==e.nodeName.toLowerCase()?r:i,void t.split(\" \").forEach((function(e){!function(e,t){e[t]||(e[t]=0),e[t]+=1}(o,e),n.add(e)}));var n,o},t.remove=function(e,t){return n=e.classList,o=\"html\"==e.nodeName.toLowerCase()?r:i,void t.split(\" \").forEach((function(e){!function(e,t){e[t]&&(e[t]-=1)}(o,e),0===o[e]&&n.remove(e)}));var n,o}},function(e,t,n){\"use strict\";var r,i=n(167),o=(r=i)&&r.__esModule?r:{default:r};var a=void 0,s=void 0,u=[];function c(){0!==u.length&&u[u.length-1].focusContent()}o.default.subscribe((function(e,t){a&&s||((a=document.createElement(\"div\")).setAttribute(\"data-react-modal-body-trap\",\"\"),a.style.position=\"absolute\",a.style.opacity=\"0\",a.setAttribute(\"tabindex\",\"0\"),a.addEventListener(\"focus\",c),(s=a.cloneNode()).addEventListener(\"focus\",c)),(u=t).length>0?(document.body.firstChild!==a&&document.body.insertBefore(a,document.body.firstChild),document.body.lastChild!==s&&document.body.appendChild(s)):(a.parentElement&&a.parentElement.removeChild(a),s.parentElement&&s.parentElement.removeChild(s))}))},function(e,t,n){\"use strict\";function r(){var e=this.constructor.getDerivedStateFromProps(this.props,this.state);null!=e&&this.setState(e)}function i(e){this.setState(function(t){var n=this.constructor.getDerivedStateFromProps(e,t);return null!=n?n:null}.bind(this))}function o(e,t){try{var n=this.props,r=this.state;this.props=e,this.state=t,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(n,r)}finally{this.props=n,this.state=r}}function a(e){var t=e.prototype;if(!t||!t.isReactComponent)throw new Error(\"Can only polyfill class components\");if(\"function\"!=typeof e.getDerivedStateFromProps&&\"function\"!=typeof t.getSnapshotBeforeUpdate)return e;var n=null,a=null,s=null;if(\"function\"==typeof t.componentWillMount?n=\"componentWillMount\":\"function\"==typeof t.UNSAFE_componentWillMount&&(n=\"UNSAFE_componentWillMount\"),\"function\"==typeof t.componentWillReceiveProps?a=\"componentWillReceiveProps\":\"function\"==typeof t.UNSAFE_componentWillReceiveProps&&(a=\"UNSAFE_componentWillReceiveProps\"),\"function\"==typeof t.componentWillUpdate?s=\"componentWillUpdate\":\"function\"==typeof t.UNSAFE_componentWillUpdate&&(s=\"UNSAFE_componentWillUpdate\"),null!==n||null!==a||null!==s){var u=e.displayName||e.name,c=\"function\"==typeof e.getDerivedStateFromProps?\"getDerivedStateFromProps()\":\"getSnapshotBeforeUpdate()\";throw Error(\"Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n\"+u+\" uses \"+c+\" but also contains the following legacy lifecycles:\"+(null!==n?\"\\n  \"+n:\"\")+(null!==a?\"\\n  \"+a:\"\")+(null!==s?\"\\n  \"+s:\"\")+\"\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\nhttps://fb.me/react-async-component-lifecycle-hooks\")}if(\"function\"==typeof e.getDerivedStateFromProps&&(t.componentWillMount=r,t.componentWillReceiveProps=i),\"function\"==typeof t.getSnapshotBeforeUpdate){if(\"function\"!=typeof t.componentDidUpdate)throw new Error(\"Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype\");t.componentWillUpdate=o;var l=t.componentDidUpdate;t.componentDidUpdate=function(e,t,n){var r=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:n;l.call(this,e,t,r)}}return e}n.r(t),n.d(t,\"polyfill\",(function(){return a})),r.__suppressDeprecationWarning=!0,i.__suppressDeprecationWarning=!0,o.__suppressDeprecationWarning=!0},function(e,t,n){\"use strict\";n.r(t),function(e){n.d(t,\"createGlobalStyle\",(function(){return nt})),n.d(t,\"css\",(function(){return be})),n.d(t,\"isStyledComponent\",(function(){return k})),n.d(t,\"keyframes\",(function(){return it})),n.d(t,\"ServerStyleSheet\",(function(){return Ke})),n.d(t,\"StyleSheetConsumer\",(function(){return Qe})),n.d(t,\"StyleSheetContext\",(function(){return Je})),n.d(t,\"StyleSheetManager\",(function(){return Ye})),n.d(t,\"ThemeConsumer\",(function(){return We})),n.d(t,\"ThemeContext\",(function(){return He})),n.d(t,\"ThemeProvider\",(function(){return Ge})),n.d(t,\"withTheme\",(function(){return ot})),n.d(t,\"__DO_NOT_USE_OR_YOU_WILL_BE_HAUNTED_BY_SPOOKY_GHOSTS\",(function(){return at}));var r=n(148),i=n.n(r),o=n(247),a=n.n(o),s=n(3),u=n.n(s),c=n(248),l=n(80),p=n(149),f=(n(7),n(249)),d=n(250),h=function(e,t){for(var n=[e[0]],r=0,i=t.length;r<i;r+=1)n.push(t[r],e[r+1]);return n},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},g=function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")},y=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),v=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},b=function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)},E=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t},x=function(e){return\"object\"===(void 0===e?\"undefined\":m(e))&&e.constructor===Object},D=Object.freeze([]),C=Object.freeze({});function w(e){return\"function\"==typeof e}function S(e){return e.displayName||e.name||\"Component\"}function k(e){return e&&\"string\"==typeof e.styledComponentId}var A=void 0!==e&&(Object({NODE_ENV:\"production\",PUBLIC_URL:\"\"}).REACT_APP_SC_ATTR||Object({NODE_ENV:\"production\",PUBLIC_URL:\"\"}).SC_ATTR)||\"data-styled\",T=\"undefined\"!=typeof window&&\"HTMLElement\"in window,_=\"boolean\"==typeof SC_DISABLE_SPEEDY&&SC_DISABLE_SPEEDY||void 0!==e&&(Object({NODE_ENV:\"production\",PUBLIC_URL:\"\"}).REACT_APP_SC_DISABLE_SPEEDY||Object({NODE_ENV:\"production\",PUBLIC_URL:\"\"}).SC_DISABLE_SPEEDY)||!1,O={};var F=function(e){function t(n){g(this,t);for(var r=arguments.length,i=Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];var a=E(this,e.call(this,\"An error occurred. See https://github.com/styled-components/styled-components/blob/master/packages/styled-components/src/utils/errors.md#\"+n+\" for more information.\"+(i.length>0?\" Additional arguments: \"+i.join(\", \"):\"\")));return E(a)}return b(t,e),t}(Error),N=/^[^\\S\\n]*?\\/\\* sc-component-id:\\s*(\\S+)\\s+\\*\\//gm,I=function(e){var t=\"\"+(e||\"\"),n=[];return t.replace(N,(function(e,t,r){return n.push({componentId:t,matchIndex:r}),e})),n.map((function(e,r){var i=e.componentId,o=e.matchIndex,a=n[r+1];return{componentId:i,cssFromDOM:a?t.slice(o,a.matchIndex):t.slice(o)}}))},M=/^\\s*\\/\\/.*$/gm,j=new i.a({global:!1,cascade:!0,keyframe:!1,prefix:!1,compress:!1,semicolon:!0}),L=new i.a({global:!1,cascade:!0,keyframe:!1,prefix:!0,compress:!1,semicolon:!1}),P=[],R=function(e){if(-2===e){var t=P;return P=[],t}},B=a()((function(e){P.push(e)})),U=void 0,z=void 0,V=void 0,q=function(e,t,n){return t>0&&-1!==n.slice(0,t).indexOf(z)&&n.slice(t-z.length,t)!==z?\".\"+U:e};L.use([function(e,t,n){2===e&&n.length&&n[0].lastIndexOf(z)>0&&(n[0]=n[0].replace(V,q))},B,R]),j.use([B,R]);var H=function(e){return j(\"\",e)};function W(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"&\",i=e.join(\"\").replace(M,\"\"),o=t&&n?n+\" \"+t+\" { \"+i+\" }\":i;return U=r,z=t,V=new RegExp(\"\\\\\"+z+\"\\\\b\",\"g\"),L(n||!t?\"\":t,o)}var G=function(){return n.nc},K=function(e,t,n){n&&((e[t]||(e[t]=Object.create(null)))[n]=!0)},J=function(e,t){e[t]=Object.create(null)},Q=function(e){return function(t,n){return void 0!==e[t]&&e[t][n]}},Y=function(e){var t=\"\";for(var n in e)t+=Object.keys(e[n]).join(\" \")+\" \";return t.trim()},$=function(e){if(e.sheet)return e.sheet;for(var t=e.ownerDocument.styleSheets.length,n=0;n<t;n+=1){var r=e.ownerDocument.styleSheets[n];if(r.ownerNode===e)return r}throw new F(10)},X=function(e,t,n){if(!t)return!1;var r=e.cssRules.length;try{e.insertRule(t,n<=r?n:r)}catch(e){return!1}return!0},Z=function(e){return\"\\n/* sc-component-id: \"+e+\" */\\n\"},ee=function(e,t){for(var n=0,r=0;r<=t;r+=1)n+=e[r];return n},te=function(e,t){return function(n){var r=G();return\"<style \"+[r&&'nonce=\"'+r+'\"',A+'=\"'+Y(t)+'\"','data-styled-version=\"4.4.1\"',n].filter(Boolean).join(\" \")+\">\"+e()+\"</style>\"}},ne=function(e,t){return function(){var n,r=((n={})[A]=Y(t),n[\"data-styled-version\"]=\"4.4.1\",n),i=G();return i&&(r.nonce=i),u.a.createElement(\"style\",v({},r,{dangerouslySetInnerHTML:{__html:e()}}))}},re=function(e){return function(){return Object.keys(e)}},ie=function(e,t){return e.createTextNode(Z(t))},oe=function e(t,n){var r=void 0===t?Object.create(null):t,i=void 0===n?Object.create(null):n,o=function(e){var t=i[e];return void 0!==t?t:i[e]=[\"\"]},a=function(){var e=\"\";for(var t in i){var n=i[t][0];n&&(e+=Z(t)+n)}return e};return{clone:function(){var t=function(e){var t=Object.create(null);for(var n in e)t[n]=v({},e[n]);return t}(r),n=Object.create(null);for(var o in i)n[o]=[i[o][0]];return e(t,n)},css:a,getIds:re(i),hasNameForId:Q(r),insertMarker:o,insertRules:function(e,t,n){o(e)[0]+=t.join(\" \"),K(r,e,n)},removeRules:function(e){var t=i[e];void 0!==t&&(t[0]=\"\",J(r,e))},sealed:!1,styleTag:null,toElement:ne(a,r),toHTML:te(a,r)}},ae=function(e,t,n,r,i){if(T&&!n){var o=function(e,t,n){var r=document;e?r=e.ownerDocument:t&&(r=t.ownerDocument);var i=r.createElement(\"style\");i.setAttribute(A,\"\"),i.setAttribute(\"data-styled-version\",\"4.4.1\");var o=G();if(o&&i.setAttribute(\"nonce\",o),i.appendChild(r.createTextNode(\"\")),e&&!t)e.appendChild(i);else{if(!t||!e||!t.parentNode)throw new F(6);t.parentNode.insertBefore(i,n?t:t.nextSibling)}return i}(e,t,r);return _?function(e,t){var n=Object.create(null),r=Object.create(null),i=void 0!==t,o=!1,a=function(t){var i=r[t];return void 0!==i?i:(r[t]=ie(e.ownerDocument,t),e.appendChild(r[t]),n[t]=Object.create(null),r[t])},s=function(){var e=\"\";for(var t in r)e+=r[t].data;return e};return{clone:function(){throw new F(5)},css:s,getIds:re(r),hasNameForId:Q(n),insertMarker:a,insertRules:function(e,r,s){for(var u=a(e),c=[],l=r.length,p=0;p<l;p+=1){var f=r[p],d=i;if(d&&-1!==f.indexOf(\"@import\"))c.push(f);else{d=!1;var h=p===l-1?\"\":\" \";u.appendData(\"\"+f+h)}}K(n,e,s),i&&c.length>0&&(o=!0,t().insertRules(e+\"-import\",c))},removeRules:function(a){var s=r[a];if(void 0!==s){var u=ie(e.ownerDocument,a);e.replaceChild(u,s),r[a]=u,J(n,a),i&&o&&t().removeRules(a+\"-import\")}},sealed:!1,styleTag:e,toElement:ne(s,n),toHTML:te(s,n)}}(o,i):function(e,t){var n=Object.create(null),r=Object.create(null),i=[],o=void 0!==t,a=!1,s=function(e){var t=r[e];return void 0!==t?t:(r[e]=i.length,i.push(0),J(n,e),r[e])},u=function(){var t=$(e).cssRules,n=\"\";for(var o in r){n+=Z(o);for(var a=r[o],s=ee(i,a),u=s-i[a];u<s;u+=1){var c=t[u];void 0!==c&&(n+=c.cssText)}}return n};return{clone:function(){throw new F(5)},css:u,getIds:re(r),hasNameForId:Q(n),insertMarker:s,insertRules:function(r,u,c){for(var l=s(r),p=$(e),f=ee(i,l),d=0,h=[],m=u.length,g=0;g<m;g+=1){var y=u[g],v=o;v&&-1!==y.indexOf(\"@import\")?h.push(y):X(p,y,f+d)&&(v=!1,d+=1)}o&&h.length>0&&(a=!0,t().insertRules(r+\"-import\",h)),i[l]+=d,K(n,r,c)},removeRules:function(s){var u=r[s];if(void 0!==u&&!1!==e.isConnected){var c=i[u];!function(e,t,n){for(var r=t-n,i=t;i>r;i-=1)e.deleteRule(i)}($(e),ee(i,u)-1,c),i[u]=0,J(n,s),o&&a&&t().removeRules(s+\"-import\")}},sealed:!1,styleTag:e,toElement:ne(u,n),toHTML:te(u,n)}}(o,i)}return oe()},se=/\\s+/,ue=void 0;ue=T?_?40:1e3:-1;var ce=0,le=void 0,pe=function(){function e(){var t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:T?document.head:null,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];g(this,e),this.getImportRuleTag=function(){var e=t.importRuleTag;if(void 0!==e)return e;var n=t.tags[0];return t.importRuleTag=ae(t.target,n?n.styleTag:null,t.forceServer,!0)},ce+=1,this.id=ce,this.forceServer=r,this.target=r?null:n,this.tagMap={},this.deferred={},this.rehydratedNames={},this.ignoreRehydratedNames={},this.tags=[],this.capacity=1,this.clones=[]}return e.prototype.rehydrate=function(){if(!T||this.forceServer)return this;var e=[],t=[],n=!1,r=document.querySelectorAll(\"style[\"+A+'][data-styled-version=\"4.4.1\"]'),i=r.length;if(!i)return this;for(var o=0;o<i;o+=1){var a=r[o];n||(n=!!a.getAttribute(\"data-styled-streamed\"));for(var s,u=(a.getAttribute(A)||\"\").trim().split(se),c=u.length,l=0;l<c;l+=1)s=u[l],this.rehydratedNames[s]=!0;t.push.apply(t,I(a.textContent)),e.push(a)}var p=t.length;if(!p)return this;var f=this.makeTag(null);!function(e,t,n){for(var r=0,i=n.length;r<i;r+=1){var o=n[r],a=o.componentId,s=o.cssFromDOM,u=H(s);e.insertRules(a,u)}for(var c=0,l=t.length;c<l;c+=1){var p=t[c];p.parentNode&&p.parentNode.removeChild(p)}}(f,e,t),this.capacity=Math.max(1,ue-p),this.tags.push(f);for(var d=0;d<p;d+=1)this.tagMap[t[d].componentId]=f;return this},e.reset=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];le=new e(void 0,t).rehydrate()},e.prototype.clone=function(){var t=new e(this.target,this.forceServer);return this.clones.push(t),t.tags=this.tags.map((function(e){for(var n=e.getIds(),r=e.clone(),i=0;i<n.length;i+=1)t.tagMap[n[i]]=r;return r})),t.rehydratedNames=v({},this.rehydratedNames),t.deferred=v({},this.deferred),t},e.prototype.sealAllTags=function(){this.capacity=1,this.tags.forEach((function(e){e.sealed=!0}))},e.prototype.makeTag=function(e){var t=e?e.styleTag:null;return ae(this.target,t,this.forceServer,!1,this.getImportRuleTag)},e.prototype.getTagForId=function(e){var t=this.tagMap[e];if(void 0!==t&&!t.sealed)return t;var n=this.tags[this.tags.length-1];return this.capacity-=1,0===this.capacity&&(this.capacity=ue,n=this.makeTag(n),this.tags.push(n)),this.tagMap[e]=n},e.prototype.hasId=function(e){return void 0!==this.tagMap[e]},e.prototype.hasNameForId=function(e,t){if(void 0===this.ignoreRehydratedNames[e]&&this.rehydratedNames[t])return!0;var n=this.tagMap[e];return void 0!==n&&n.hasNameForId(e,t)},e.prototype.deferredInject=function(e,t){if(void 0===this.tagMap[e]){for(var n=this.clones,r=0;r<n.length;r+=1)n[r].deferredInject(e,t);this.getTagForId(e).insertMarker(e),this.deferred[e]=t}},e.prototype.inject=function(e,t,n){for(var r=this.clones,i=0;i<r.length;i+=1)r[i].inject(e,t,n);var o=this.getTagForId(e);if(void 0!==this.deferred[e]){var a=this.deferred[e].concat(t);o.insertRules(e,a,n),this.deferred[e]=void 0}else o.insertRules(e,t,n)},e.prototype.remove=function(e){var t=this.tagMap[e];if(void 0!==t){for(var n=this.clones,r=0;r<n.length;r+=1)n[r].remove(e);t.removeRules(e),this.ignoreRehydratedNames[e]=!0,this.deferred[e]=void 0}},e.prototype.toHTML=function(){return this.tags.map((function(e){return e.toHTML()})).join(\"\")},e.prototype.toReactElements=function(){var e=this.id;return this.tags.map((function(t,n){var r=\"sc-\"+e+\"-\"+n;return Object(s.cloneElement)(t.toElement(),{key:r})}))},y(e,null,[{key:\"master\",get:function(){return le||(le=(new e).rehydrate())}},{key:\"instance\",get:function(){return e.master}}]),e}(),fe=function(){function e(t,n){var r=this;g(this,e),this.inject=function(e){e.hasNameForId(r.id,r.name)||e.inject(r.id,r.rules,r.name)},this.toString=function(){throw new F(12,String(r.name))},this.name=t,this.rules=n,this.id=\"sc-keyframes-\"+t}return e.prototype.getName=function(){return this.name},e}(),de=/([A-Z])/g,he=/^ms-/;function me(e){return e.replace(de,\"-$1\").toLowerCase().replace(he,\"-ms-\")}var ge=function(e){return null==e||!1===e||\"\"===e},ye=function e(t,n){var r=[];return Object.keys(t).forEach((function(n){if(!ge(t[n])){if(x(t[n]))return r.push.apply(r,e(t[n],n)),r;if(w(t[n]))return r.push(me(n)+\":\",t[n],\";\"),r;r.push(me(n)+\": \"+(i=n,null==(o=t[n])||\"boolean\"==typeof o||\"\"===o?\"\":\"number\"!=typeof o||0===o||i in c.a?String(o).trim():o+\"px\")+\";\")}var i,o;return r})),n?[n+\" {\"].concat(r,[\"}\"]):r};function ve(e,t,n){if(Array.isArray(e)){for(var r,i=[],o=0,a=e.length;o<a;o+=1)null!==(r=ve(e[o],t,n))&&(Array.isArray(r)?i.push.apply(i,r):i.push(r));return i}return ge(e)?null:k(e)?\".\"+e.styledComponentId:w(e)?\"function\"!=typeof(s=e)||s.prototype&&s.prototype.isReactComponent||!t?e:ve(e(t),t,n):e instanceof fe?n?(e.inject(n),e.getName()):e:x(e)?ye(e):e.toString();var s}function be(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return w(e)||x(e)?ve(h(D,[e].concat(n))):ve(h(e,n))}function Ee(e){for(var t,n=0|e.length,r=0|n,i=0;n>=4;)t=1540483477*(65535&(t=255&e.charCodeAt(i)|(255&e.charCodeAt(++i))<<8|(255&e.charCodeAt(++i))<<16|(255&e.charCodeAt(++i))<<24))+((1540483477*(t>>>16)&65535)<<16),r=1540483477*(65535&r)+((1540483477*(r>>>16)&65535)<<16)^(t=1540483477*(65535&(t^=t>>>24))+((1540483477*(t>>>16)&65535)<<16)),n-=4,++i;switch(n){case 3:r^=(255&e.charCodeAt(i+2))<<16;case 2:r^=(255&e.charCodeAt(i+1))<<8;case 1:r=1540483477*(65535&(r^=255&e.charCodeAt(i)))+((1540483477*(r>>>16)&65535)<<16)}return((r=1540483477*(65535&(r^=r>>>13))+((1540483477*(r>>>16)&65535)<<16))^r>>>15)>>>0}var xe=function(e){return String.fromCharCode(e+(e>25?39:97))};function De(e){var t=\"\",n=void 0;for(n=e;n>52;n=Math.floor(n/52))t=xe(n%52)+t;return xe(n%52)+t}function Ce(e,t){for(var n=0;n<e.length;n+=1){var r=e[n];if(Array.isArray(r)&&!Ce(r,t))return!1;if(w(r)&&!k(r))return!1}return!t.some((function(e){return w(e)||function(e){for(var t in e)if(w(e[t]))return!0;return!1}(e)}))}var we,Se=function(e){return De(Ee(e))},ke=function(){function e(t,n,r){g(this,e),this.rules=t,this.isStatic=Ce(t,n),this.componentId=r,pe.master.hasId(r)||pe.master.deferredInject(r,[])}return e.prototype.generateAndInjectStyles=function(e,t){var n=this.isStatic,r=this.componentId,i=this.lastClassName;if(T&&n&&\"string\"==typeof i&&t.hasNameForId(r,i))return i;var o=ve(this.rules,e,t),a=Se(this.componentId+o.join(\"\"));return t.hasNameForId(r,a)||t.inject(this.componentId,W(o,\".\"+a,void 0,r),a),this.lastClassName=a,a},e.generateName=function(e){return Se(e)},e}(),Ae=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:C,r=!!n&&e.theme===n.theme,i=e.theme&&!r?e.theme:t||n.theme;return i},Te=/[[\\].#*$><+~=|^:(),\"'`-]+/g,_e=/(^-|-$)/g;function Oe(e){return e.replace(Te,\"-\").replace(_e,\"\")}function Fe(e){return\"string\"==typeof e&&!0}var Ne={childContextTypes:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDerivedStateFromProps:!0,propTypes:!0,type:!0},Ie={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},Me=((we={})[l.ForwardRef]={$$typeof:!0,render:!0},we),je=Object.defineProperty,Le=Object.getOwnPropertyNames,Pe=Object.getOwnPropertySymbols,Re=void 0===Pe?function(){return[]}:Pe,Be=Object.getOwnPropertyDescriptor,Ue=Object.getPrototypeOf,ze=Object.prototype,Ve=Array.prototype;function qe(e,t,n){if(\"string\"!=typeof t){var r=Ue(t);r&&r!==ze&&qe(e,r,n);for(var i=Ve.concat(Le(t),Re(t)),o=Me[e.$$typeof]||Ne,a=Me[t.$$typeof]||Ne,s=i.length,u=void 0,c=void 0;s--;)if(c=i[s],!(Ie[c]||n&&n[c]||a&&a[c]||o&&o[c])&&(u=Be(t,c)))try{je(e,c,u)}catch(e){}return e}return e}var He=Object(s.createContext)(),We=He.Consumer,Ge=function(e){function t(n){g(this,t);var r=E(this,e.call(this,n));return r.getContext=Object(p.a)(r.getContext.bind(r)),r.renderInner=r.renderInner.bind(r),r}return b(t,e),t.prototype.render=function(){return this.props.children?u.a.createElement(He.Consumer,null,this.renderInner):null},t.prototype.renderInner=function(e){var t=this.getContext(this.props.theme,e);return u.a.createElement(He.Provider,{value:t},this.props.children)},t.prototype.getTheme=function(e,t){if(w(e))return e(t);if(null===e||Array.isArray(e)||\"object\"!==(void 0===e?\"undefined\":m(e)))throw new F(8);return v({},t,e)},t.prototype.getContext=function(e,t){return this.getTheme(e,t)},t}(s.Component),Ke=function(){function e(){g(this,e),this.masterSheet=pe.master,this.instance=this.masterSheet.clone(),this.sealed=!1}return e.prototype.seal=function(){if(!this.sealed){var e=this.masterSheet.clones.indexOf(this.instance);this.masterSheet.clones.splice(e,1),this.sealed=!0}},e.prototype.collectStyles=function(e){if(this.sealed)throw new F(2);return u.a.createElement(Ye,{sheet:this.instance},e)},e.prototype.getStyleTags=function(){return this.seal(),this.instance.toHTML()},e.prototype.getStyleElement=function(){return this.seal(),this.instance.toReactElements()},e.prototype.interleaveWithNodeStream=function(e){throw new F(3)},e}(),Je=Object(s.createContext)(),Qe=Je.Consumer,Ye=function(e){function t(n){g(this,t);var r=E(this,e.call(this,n));return r.getContext=Object(p.a)(r.getContext),r}return b(t,e),t.prototype.getContext=function(e,t){if(e)return e;if(t)return new pe(t);throw new F(4)},t.prototype.render=function(){var e=this.props,t=e.children,n=e.sheet,r=e.target;return u.a.createElement(Je.Provider,{value:this.getContext(n,r)},t)},t}(s.Component),$e={};var Xe=function(e){function t(){g(this,t);var n=E(this,e.call(this));return n.attrs={},n.renderOuter=n.renderOuter.bind(n),n.renderInner=n.renderInner.bind(n),n}return b(t,e),t.prototype.render=function(){return u.a.createElement(Qe,null,this.renderOuter)},t.prototype.renderOuter=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:pe.master;return this.styleSheet=e,this.props.forwardedComponent.componentStyle.isStatic?this.renderInner():u.a.createElement(We,null,this.renderInner)},t.prototype.renderInner=function(e){var t=this.props.forwardedComponent,n=t.componentStyle,r=t.defaultProps,i=(t.displayName,t.foldedComponentIds),o=t.styledComponentId,a=t.target,u=void 0;u=n.isStatic?this.generateAndInjectStyles(C,this.props):this.generateAndInjectStyles(Ae(this.props,e,r)||C,this.props);var c=this.props.as||this.attrs.as||a,l=Fe(c),p={},d=v({},this.props,this.attrs),h=void 0;for(h in d)\"forwardedComponent\"!==h&&\"as\"!==h&&(\"forwardedRef\"===h?p.ref=d[h]:\"forwardedAs\"===h?p.as=d[h]:l&&!Object(f.a)(h)||(p[h]=d[h]));return this.props.style&&this.attrs.style&&(p.style=v({},this.attrs.style,this.props.style)),p.className=Array.prototype.concat(i,o,u!==o?u:null,this.props.className,this.attrs.className).filter(Boolean).join(\" \"),Object(s.createElement)(c,p)},t.prototype.buildExecutionContext=function(e,t,n){var r=this,i=v({},t,{theme:e});return n.length?(this.attrs={},n.forEach((function(e){var t,n=e,o=!1,a=void 0,s=void 0;for(s in w(n)&&(n=n(i),o=!0),n)a=n[s],o||!w(a)||(t=a)&&t.prototype&&t.prototype.isReactComponent||k(a)||(a=a(i)),r.attrs[s]=a,i[s]=a})),i):i},t.prototype.generateAndInjectStyles=function(e,t){var n=t.forwardedComponent,r=n.attrs,i=n.componentStyle;n.warnTooManyClasses;return i.isStatic&&!r.length?i.generateAndInjectStyles(C,this.styleSheet):i.generateAndInjectStyles(this.buildExecutionContext(e,t,r),this.styleSheet)},t}(s.Component);function Ze(e,t,n){var r=k(e),i=!Fe(e),o=t.displayName,a=void 0===o?function(e){return Fe(e)?\"styled.\"+e:\"Styled(\"+S(e)+\")\"}(e):o,s=t.componentId,c=void 0===s?function(e,t,n){var r=\"string\"!=typeof t?\"sc\":Oe(t),i=($e[r]||0)+1;$e[r]=i;var o=r+\"-\"+e.generateName(r+i);return n?n+\"-\"+o:o}(ke,t.displayName,t.parentComponentId):s,l=t.ParentComponent,p=void 0===l?Xe:l,f=t.attrs,h=void 0===f?D:f,m=t.displayName&&t.componentId?Oe(t.displayName)+\"-\"+t.componentId:t.componentId||c,g=r&&e.attrs?Array.prototype.concat(e.attrs,h).filter(Boolean):h,y=new ke(r?e.componentStyle.rules.concat(n):n,g,m),b=void 0,E=function(e,t){return u.a.createElement(p,v({},e,{forwardedComponent:b,forwardedRef:t}))};return E.displayName=a,(b=u.a.forwardRef(E)).displayName=a,b.attrs=g,b.componentStyle=y,b.foldedComponentIds=r?Array.prototype.concat(e.foldedComponentIds,e.styledComponentId):D,b.styledComponentId=m,b.target=r?e.target:e,b.withComponent=function(e){var r=t.componentId,i=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(t,[\"componentId\"]),o=r&&r+\"-\"+(Fe(e)?e:Oe(S(e)));return Ze(e,v({},i,{attrs:g,componentId:o,ParentComponent:p}),n)},Object.defineProperty(b,\"defaultProps\",{get:function(){return this._foldedDefaultProps},set:function(t){this._foldedDefaultProps=r?Object(d.a)(e.defaultProps,t):t}}),b.toString=function(){return\".\"+b.styledComponentId},i&&qe(b,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,styledComponentId:!0,target:!0,withComponent:!0}),b}var et=function(e){return function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:C;if(!Object(l.isValidElementType)(n))throw new F(1,String(n));var i=function(){return t(n,r,be.apply(void 0,arguments))};return i.withConfig=function(i){return e(t,n,v({},r,i))},i.attrs=function(i){return e(t,n,v({},r,{attrs:Array.prototype.concat(r.attrs,i).filter(Boolean)}))},i}(Ze,e)};[\"a\",\"abbr\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"base\",\"bdi\",\"bdo\",\"big\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"cite\",\"code\",\"col\",\"colgroup\",\"data\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"dialog\",\"div\",\"dl\",\"dt\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"iframe\",\"img\",\"input\",\"ins\",\"kbd\",\"keygen\",\"label\",\"legend\",\"li\",\"link\",\"main\",\"map\",\"mark\",\"marquee\",\"menu\",\"menuitem\",\"meta\",\"meter\",\"nav\",\"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"picture\",\"pre\",\"progress\",\"q\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"script\",\"section\",\"select\",\"small\",\"source\",\"span\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"title\",\"tr\",\"track\",\"u\",\"ul\",\"var\",\"video\",\"wbr\",\"circle\",\"clipPath\",\"defs\",\"ellipse\",\"foreignObject\",\"g\",\"image\",\"line\",\"linearGradient\",\"marker\",\"mask\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialGradient\",\"rect\",\"stop\",\"svg\",\"text\",\"tspan\"].forEach((function(e){et[e]=et(e)}));var tt=function(){function e(t,n){g(this,e),this.rules=t,this.componentId=n,this.isStatic=Ce(t,D),pe.master.hasId(n)||pe.master.deferredInject(n,[])}return e.prototype.createStyles=function(e,t){var n=W(ve(this.rules,e,t),\"\");t.inject(this.componentId,n)},e.prototype.removeStyles=function(e){var t=this.componentId;e.hasId(t)&&e.remove(t)},e.prototype.renderStyles=function(e,t){this.removeStyles(t),this.createStyles(e,t)},e}();function nt(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var i=be.apply(void 0,[e].concat(n)),o=\"sc-global-\"+Ee(JSON.stringify(i)),a=new tt(i,o),s=function(e){function t(n){g(this,t);var r=E(this,e.call(this,n)),i=r.constructor,o=i.globalStyle,a=i.styledComponentId;return T&&(window.scCGSHMRCache[a]=(window.scCGSHMRCache[a]||0)+1),r.state={globalStyle:o,styledComponentId:a},r}return b(t,e),t.prototype.componentWillUnmount=function(){window.scCGSHMRCache[this.state.styledComponentId]&&(window.scCGSHMRCache[this.state.styledComponentId]-=1),0===window.scCGSHMRCache[this.state.styledComponentId]&&this.state.globalStyle.removeStyles(this.styleSheet)},t.prototype.render=function(){var e=this;return u.a.createElement(Qe,null,(function(t){e.styleSheet=t||pe.master;var n=e.state.globalStyle;return n.isStatic?(n.renderStyles(O,e.styleSheet),null):u.a.createElement(We,null,(function(t){var r=e.constructor.defaultProps,i=v({},e.props);return void 0!==t&&(i.theme=Ae(e.props,t,r)),n.renderStyles(i,e.styleSheet),null}))}))},t}(u.a.Component);return s.globalStyle=a,s.styledComponentId=o,s}T&&(window.scCGSHMRCache={});var rt=function(e){return e.replace(/\\s|\\\\n/g,\"\")};function it(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var i=be.apply(void 0,[e].concat(n)),o=De(Ee(rt(JSON.stringify(i))));return new fe(o,W(i,o,\"@keyframes\"))}var ot=function(e){var t=u.a.forwardRef((function(t,n){return u.a.createElement(We,null,(function(r){var i=e.defaultProps,o=Ae(t,r,i);return u.a.createElement(e,v({},t,{theme:o,ref:n}))}))}));return qe(t,e),t.displayName=\"WithTheme(\"+S(e)+\")\",t},at={StyleSheet:pe};t.default=et}.call(this,n(100))},function(e,t,n){\"use strict\";(function(e){var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e},a=this&&this.__assign||function(){return(a=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)},s=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))},u=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},\"function\"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError(\"Generator is already executing.\");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){a.label=o[1];break}if(6===o[0]&&a.label<i[1]){a.label=i[1],i=o;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(o);break}i[2]&&a.ops.pop(),a.trys.pop();continue}o=t.call(e,a)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}};Object.defineProperty(t,\"__esModule\",{value:!0});var c=n(3),l=n(317),p=n(489),f=n(494),d=n(520),h=n(11),m=n(168),g=n(133),y=n(30),v=n(42),b=n(150),E=n(20);function x(e,t){var n=t||window.location.href;e=e.replace(/[\\[\\]]/g,\"\\\\$&\");var r=new RegExp(\"[?&]\"+e+\"(=([^&#]*)|&|#|$)\").exec(n);return r&&r[2]?decodeURIComponent(r[2].replace(/\\+/g,\" \")):null}var D=function(t){function n(n){var r=t.call(this,n)||this;return r.handleUpdateSessionCount=function(){r.forceUpdate()},r.getPlaygroundRef=function(e){r.playground=e,\"function\"==typeof r.props.getRef&&r.props.getRef(e)},r.handleChangeConfig=function(e){r.setState({configString:e})},r.handleSaveConfig=function(){\"function\"==typeof r.props.onSaveConfig&&r.props.onSaveConfig(r.state.configString)},r.handleSelectEnv=function(e,t){var n=g.getActiveEndpoints(r.props.config,e,t),i=n.endpoint,o=n.subscriptionEndpoint,a=n.headers;r.setState({activeEnv:e,endpoint:i,headers:a,subscriptionEndpoint:r.normalizeSubscriptionUrl(i,o),activeProjectName:t})},r.handleChangeEndpoint=function(e){r.setState({endpoint:e})},r.handleChangeSubscriptionsEndpoint=function(e){r.setState({subscriptionEndpoint:e})},e.m=r,r.state=r.mapPropsToState(n),r.removeLoader(),r}return i(n,t),n.prototype.mapPropsToState=function(e){var t=!!e.configString&&this.isConfigYaml(e.configString),n=this.getInitialActiveEnv(e.config),r=n.activeEnv,i=n.projectName,o=e.endpoint||e.endpointUrl||x(\"endpoint\")||location.href,a=this.extractEndpointAndHeaders(o);o=a.endpoint;var s=a.headers,u=e.subscriptionEndpoint||x(\"subscriptionEndpoint\");if(e.configString&&e.config&&r){var c=g.getActiveEndpoints(e.config,r,i);o=c.endpoint,u=c.subscriptionEndpoint,s=c.headers}return u=this.normalizeSubscriptionUrl(o,u)||void 0,{endpoint:this.absolutizeUrl(o),platformToken:e.platformToken||localStorage.getItem(\"platform-token\")||void 0,subscriptionEndpoint:u,configIsYaml:t,configString:e.configString,activeEnv:r,activeProjectName:i,headers:s}},n.prototype.extractEndpointAndHeaders=function(e){var t=e.split(\"?\");if(1===t.length)return{endpoint:e};try{var n=x(\"headers\",e);if(n)return{headers:JSON.parse(n),endpoint:t[0]}}catch(e){}return{endpoint:t[0]}},n.prototype.removeLoader=function(){var e=document.getElementById(\"loading-wrapper\");e&&e.remove()},n.prototype.normalizeSubscriptionUrl=function(e,t){return t?t.startsWith(\"/\")?\"ws\"+(e.includes(\"https\")||location.href.includes(\"https\")?\"s\":\"\")+\"://\"+location.host+t:t.replace(/^http/,\"ws\"):this.getGraphcoolSubscriptionEndpoint(e).replace(/^http/,\"ws\")},n.prototype.getGraphcoolSubscriptionEndpoint=function(e){return e.includes(\"api.graph.cool\")?\"wss://subscriptions.graph.cool/v1/\"+e.split(\"/\").slice(-1)[0]:e.replace(/^http/,\"ws\")},n.prototype.UNSAFE_componentWillReceiveProps=function(e){e.endpoint===this.props.endpoint&&e.endpointUrl===this.props.endpointUrl&&e.subscriptionEndpoint===this.props.subscriptionEndpoint&&e.configString===this.props.configString&&e.platformToken===this.props.platformToken&&e.config===this.props.config||(this.setState(this.mapPropsToState(e)),this.setInitialWorkspace(e))},n.prototype.getInitialActiveEnv=function(e){if(e){if(e.extensions&&e.extensions.endpoints)return{activeEnv:Object.keys(e.extensions.endpoints)[0]};if(e.projects){var t=Object.keys(e.projects)[0],n=e.projects[t];if(n.extensions&&n.extensions.endpoints)return{activeEnv:Object.keys(n.extensions.endpoints)[0],projectName:t}}}return{}},n.prototype.isConfigYaml=function(e){try{return f.safeLoad(e),!0}catch(e){}return!1},n.prototype.absolutizeUrl=function(e){return e.startsWith(\"/\")?location.origin+e:e},n.prototype.UNSAFE_componentWillMount=function(){var e=x(\"platform-token\");e&&e.length>0&&(localStorage.setItem(\"platform-token\",e),window.location.replace(window.location.origin+window.location.pathname))},n.prototype.componentDidMount=function(){var e=this;if(\"\"===this.state.subscriptionEndpoint&&this.updateSubscriptionsUrl(),setTimeout((function(){e.removePlaygroundInClass()}),5e3),this.setInitialWorkspace(),this.props.tabs)this.props.injectTabs(this.props.tabs);else{var t=x(\"query\");if(t){var n=x(\"endpoint\")||this.state.endpoint;this.props.injectTabs([{query:t,endpoint:n}])}else{var r=x(\"tabs\");if(r)try{var i=JSON.parse(r);this.props.injectTabs(i)}catch(e){}}}this.props.schema&&(\"string\"==typeof this.props.schema?this.setState({schema:E.buildSchema(this.props.schema)}):this.setState({schema:E.buildClientSchema(this.props.schema)}))},n.prototype.setInitialWorkspace=function(e){if(void 0===e&&(e=this.props),e.config){var t=this.getInitialActiveEnv(e.config),n=g.getActiveEndpoints(e.config,t.activeEnv,t.projectName),r=n.endpoint,i=n.subscriptionEndpoint||this.normalizeSubscriptionUrl(r,n.subscriptionEndpoint),o=n.headers;this.setState({endpoint:r,subscriptionEndpoint:i,headers:o,activeEnv:t.activeEnv,activeProjectName:t.projectName})}},n.prototype.removePlaygroundInClass=function(){var e=document.getElementById(\"root\");e&&e.classList.remove(\"playgroundIn\")},n.prototype.render=function(){var e=this.props.setTitle?c.createElement(p.Helmet,null,c.createElement(\"title\",null,this.getTitle())):null,t=this.props.headers||{},n=this.state.headers||{},r=a(a({},t),n),i=this.props.theme;return c.createElement(\"div\",null,e,c.createElement(h.ThemeProvider,{theme:a(a({},h.theme),{mode:i,colours:\"dark\"===i?m.darkColours:m.lightColours,editorColours:a(a({},\"dark\"===i?m.darkEditorColours:m.lightEditorColours),this.props.codeTheme),settings:this.props.settings})},c.createElement(A,null,this.props.config&&this.state.activeEnv&&c.createElement(d.default,{config:this.props.config,folderName:this.props.folderName||\"GraphQL App\",theme:i,activeEnv:this.state.activeEnv,onSelectEnv:this.handleSelectEnv,onNewWorkspace:this.props.onNewWorkspace,showNewWorkspace:Boolean(this.props.showNewWorkspace),isElectron:Boolean(this.props.isElectron),activeProjectName:this.state.activeProjectName,configPath:this.props.configPath}),c.createElement(l.default,{endpoint:this.state.endpoint,shareEnabled:this.props.shareEnabled,subscriptionEndpoint:this.state.subscriptionEndpoint,shareUrl:this.state.shareUrl,onChangeEndpoint:this.handleChangeEndpoint,onChangeSubscriptionsEndpoint:this.handleChangeSubscriptionsEndpoint,getRef:this.getPlaygroundRef,config:this.props.config,configString:this.state.configString,configIsYaml:this.state.configIsYaml,canSaveConfig:Boolean(this.props.canSaveConfig),onChangeConfig:this.handleChangeConfig,onSaveConfig:this.handleSaveConfig,onUpdateSessionCount:this.handleUpdateSessionCount,fixedEndpoints:Boolean(this.state.configString),fixedEndpoint:this.props.fixedEndpoint,headers:r,configPath:this.props.configPath,workspaceName:this.props.workspaceName||this.state.activeProjectName,createApolloLink:this.props.createApolloLink,schema:this.state.schema}))))},n.prototype.getTitle=function(){if(this.state.platformToken||this.state.endpoint.includes(\"api.graph.cool\")){var e=this.getProjectId(this.state.endpoint);return(this.state.endpoint.includes(\"api.graph.cool\")?\"shared\":\"local\")+\"/\"+e+\" - Playground\"}return\"Playground - \"+this.state.endpoint},n.prototype.updateSubscriptionsUrl=function(){return s(this,void 0,void 0,(function(){var e,t=this;return u(this,(function(n){switch(n.label){case 0:return[4,C(this.getSubscriptionsUrlCandidated(this.state.endpoint),(function(e){return t.wsEndpointValid(e)}))];case 1:return(e=n.sent())&&this.setState({subscriptionEndpoint:e}),[2]}}))}))},n.prototype.getSubscriptionsUrlCandidated=function(e){var t=[];if(t.push(e.replace(\"https\",\"wss\").replace(\"http\",\"ws\")),e.includes(\"graph.cool\")&&t.push(\"wss://subscriptions.graph.cool/v1/\"+this.getProjectId(e)),e.includes(\"/simple/v1/\")){var n=e.match(/https?:\\/\\/(.*?)\\//);t.push(\"ws://\"+n[1]+\"/subscriptions/v1/\"+this.getProjectId(e))}return t},n.prototype.wsEndpointValid=function(e){return new Promise((function(t){var n=new WebSocket(e,\"graphql-ws\");n.addEventListener(\"open\",(function(e){n.send(JSON.stringify({type:\"connection_init\"}))})),n.addEventListener(\"message\",(function(e){\"connection_ack\"===JSON.parse(e.data).type&&t(!0)})),n.addEventListener(\"error\",(function(e){t(!1)})),setTimeout((function(){t(!1)}),1e3)}))},n.prototype.getProjectId=function(e){return e.split(\"/\").slice(-1)[0]},n}(c.Component);function C(e,t){return s(this,void 0,void 0,(function(){var n,r;return u(this,(function(i){switch(i.label){case 0:n=0,i.label=1;case 1:return n<e.length?(r=e[n],[4,t(r,n)]):[3,4];case 2:if(i.sent())return[2,r];i.label=3;case 3:return n++,[3,1];case 4:return[2,null]}}))}))}t.default=y.connect((function(e,t){return{theme:t.theme||v.getTheme(e,t.settings),settings:v.getSettings(e)}}),{injectTabs:b.injectTabs})(D);var w,S,k=h.keyframes(w||(w=o([\"\\n  from { \\n    opacity: 0;\\n    transform: translateY(10px);\\n  }\\n  to { \\n    opacity: 1;\\n    transform: translateY(0);\\n  }\\n\"],[\"\\n  from { \\n    opacity: 0;\\n    transform: translateY(10px);\\n  }\\n  to { \\n    opacity: 1;\\n    transform: translateY(0);\\n  }\\n\"]))),A=h.styled.div(S||(S=o([\"\\n  display: flex;\\n  width: 100%;\\n  opacity: 0;\\n  transform: translateY(10px);\\n  animation: \",\" 0.5s ease-out forwards 0.2s;\\n\"],[\"\\n  display: flex;\\n  width: 100%;\\n  opacity: 0;\\n  transform: translateY(10px);\\n  animation: \",\" 0.5s ease-out forwards 0.2s;\\n\"])),k)}).call(this,n(43))},function(e,t,n){\"use strict\";(function(e){var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e},a=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))},s=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},\"function\"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError(\"Generator is already executing.\");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){a.label=o[1];break}if(6===o[0]&&a.label<i[1]){a.label=i[1],i=o;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(o);break}i[2]&&a.ops.pop(),a.trys.pop();continue}o=t.call(e,a)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}};Object.defineProperty(t,\"__esModule\",{value:!0});var u=n(3),c=n(318);t.GraphQLEditor=c.default;var l=n(474),p=n(477),f=n(11),d=n(482),h=n(483),m=n(486),g=n(487),y=n(30),v=n(38),b=n(98),E=n(150),x=n(28),D=n(32),C=n(109),w=n(99),S=n(208),k=n(42),A=n(488),T=n(97),_=n(133),O=function(t){function n(n){var r=t.call(this,n)||this;return r.apolloLinks={},r.observers={},r.graphiqlComponents=[],r.getSchema=T.debounce((function(e){return void 0===e&&(e=r.props),a(r,void 0,void 0,(function(){var t,n=this;return s(this,(function(r){return e.schema||(this.mounted&&this.state.schema&&!e.isPollingSchema&&this.setState({schema:void 0}),t=!0,this.backoff&&this.backoff.stop(),this.backoff=new A.Backoff((function(){return a(n,void 0,void 0,(function(){return s(this,(function(n){switch(n.label){case 0:return t?[4,this.schemaGetter(e)]:[3,2];case 1:return n.sent(),t=!1,[3,4];case 2:return[4,this.schemaGetter()];case 3:n.sent(),n.label=4;case 4:return[2]}}))}))})),this.backoff.start()),[2]}))}))}),600,{trailing:!0}),r.initialIndex=-1,r.mounted=!1,r.initialSchemaFetch=!0,r.setRef=function(e,t){r.graphiqlComponents[e]=t?t.getWrappedInstance():t},r.closeTab=function(){r.props.closeSelectedTab()},r.nextTab=function(){r.props.selectNextTab()},r.prevTab=function(){r.props.selectPrevTab()},r.switchTab=function(e){r.props.selectTabIndex(e)},r.handleSaveConfig=function(){r.props.saveConfig(),r.props.onSaveConfig()},r.handleSaveSettings=function(){r.props.saveSettings(),r.props.onSaveSettings()},r.createSession=function(){r.props.newSession(r.props.endpoint,r.props.settings[\"editor.reuseHeaders\"])},r.state={schema:n.schema},e.p=r,\"function\"==typeof r.props.getRef&&r.props.getRef(r),w.setLinkCreator(n.createApolloLink),r.getSchema(),w.setSubscriptionEndpoint(n.subscriptionEndpoint),r}return i(n,t),n.prototype.UNSAFE_componentWillMount=function(){this.props.initState(S.getWorkspaceId(this.props),this.props.endpoint),this.props.setConfigString(this.props.configString),this.props.injectHeaders(this.props.headers,this.props.endpoint)},n.prototype.componentDidMount=function(){this.initialIndex>-1&&this.setState({selectedSessionIndex:this.initialIndex}),this.mounted=!0},n.prototype.UNSAFE_componentWillReceiveProps=function(e){var t=this;this.props.createApolloLink!==e.createApolloLink&&w.setLinkCreator(e.createApolloLink),e.headers===this.props.headers&&e.endpoint===this.props.endpoint&&e.workspaceName===this.props.workspaceName&&e.sessionHeaders===this.props.sessionHeaders&&e.sessionEndpoint===this.props.sessionEndpoint||this.getSchema(e),this.props.isReloadingSchema&&!e.isReloadingSchema&&setTimeout((function(){t.getSchema(e)})),this.props.endpoint===e.endpoint&&this.props.configPath===e.configPath&&e.workspaceName===this.props.workspaceName||this.props.initState(S.getWorkspaceId(e),e.endpoint),this.props.subscriptionEndpoint!==e.subscriptionEndpoint&&w.setSubscriptionEndpoint(e.subscriptionEndpoint),e.headers!==this.props.headers&&this.props.injectHeaders(e.headers,e.endpoint),e.configString!==this.props.configString&&this.props.setConfigString(e.configString),e.schema!==this.props.schema&&this.setState({schema:e.schema})},n.prototype.schemaGetter=function(e){return a(this,void 0,void 0,(function(){var t,n,r,i,o,a,u=this;return s(this,(function(s){switch(s.label){case 0:t=e||this.props,n=t.sessionEndpoint||t.endpoint,r=this.state.schema,s.label=1;case 1:return s.trys.push([1,3,,4]),i={endpoint:n,headers:t.sessionHeaders&&t.sessionHeaders.length>0?t.sessionHeaders:t.headers&&Object.keys(t.headers).length>0?JSON.stringify(t.headers):void 0,credentials:t.settings[\"request.credentials\"],useTracingHeader:!this.initialSchemaFetch&&t.settings[\"tracing.tracingSupported\"]},[4,w.schemaFetcher.fetch(i)];case 2:return o=s.sent(),w.schemaFetcher.subscribe(i,(function(e){i.endpoint!==u.props.endpoint&&i.endpoint!==u.props.sessionEndpoint||u.updateSchema(r,e,t)})),o&&(this.updateSchema(r,o.schema,t),this.initialSchemaFetch&&(this.props.schemaFetchingSuccess(i.endpoint,o.tracingSupported,t.isPollingSchema),this.initialSchemaFetch=!1),this.backoff.stop()),[3,4];case 3:return a=s.sent(),console.error(a),this.props.schemaFetchingError(n,a.message),[3,4];case 4:return[2]}}))}))},n.prototype.render=function(){var e=g.version;return window.version=e,u.createElement(j,{className:\"playground\"},u.createElement(l.default,{onNewSession:this.createSession,isApp:this.props.isApp}),u.createElement(L,null,u.createElement(P,{className:\"graphiql-wrapper active\"},this.props.isConfigTab?u.createElement(h.GraphQLConfigEditor,{onSave:this.handleSaveConfig,isYaml:this.props.configIsYaml,isConfig:!0,readOnly:!this.props.canSaveConfig}):this.props.isSettingsTab?u.createElement(h.PlaygroundSettingsEditor,{onSave:this.handleSaveSettings}):this.props.isFile&&this.props.file?u.createElement(m.default,null):u.createElement(c.default,{shareEnabled:this.props.shareEnabled,fixedEndpoint:this.props.fixedEndpoint,schema:this.state.schema}))),u.createElement(d.default,null),this.props.historyOpen&&this.renderHistoryPopup())},n.prototype.renderHistoryPopup=function(){return u.createElement(p.default,null)},n.prototype.updateSchema=function(e,t,n){if(e!==t){var r=e?_.cachedPrintSchema(e):null;_.cachedPrintSchema(t)===r&&n.isPollingSchema||this.setState({schema:t})}},Object.defineProperty(n.prototype,\"httpApiPrefix\",{get:function(){return this.props.endpoint.match(/(https?:\\/\\/.*?)\\/?/)[1]},enumerable:!0,configurable:!0}),n.defaultProps={shareEnabled:!1},n}(u.PureComponent);t.Playground=O;var F=x.createStructuredSelector({isConfigTab:D.getIsConfigTab,isSettingsTab:D.getIsSettingsTab,isFile:D.getIsFile,historyOpen:C.getHistoryOpen,file:D.getFile,sessionHeaders:D.getHeaders,settings:k.getSettings,settingsString:k.getSettingsString,isReloadingSchema:D.getIsReloadingSchema,isPollingSchema:D.getIsPollingSchema,sessionEndpoint:D.getEndpoint});t.default=y.connect(F,{selectTabIndex:v.selectTabIndex,selectNextTab:v.selectNextTab,selectPrevTab:v.selectPrevTab,newSession:v.newSession,closeSelectedTab:v.closeSelectedTab,initState:E.initState,saveSettings:v.saveSettings,saveConfig:v.saveConfig,setTracingSupported:v.setTracingSupported,injectHeaders:v.injectHeaders,setConfigString:b.setConfigString,schemaFetchingError:v.schemaFetchingError,schemaFetchingSuccess:v.schemaFetchingSuccess})(O);var N,I,M,j=f.styled.div(N||(N=o([\"\\n  flex: 1;\\n  display: flex;\\n  flex-direction: column;\\n\\n  height: 100%;\\n  margin: 0;\\n  padding: 0;\\n  overflow: hidden;\\n  margin-right: -1px !important;\\n\\n  line-height: 1.5;\\n  font-family: 'Open Sans', sans-serif;\\n  -webkit-font-smoothing: antialiased;\\n  -moz-osx-font-smoothing: grayscale;\\n  letter-spacing: 0.53px;\\n  color: rgba(0, 0, 0, 0.8);\\n\\n  a:active,\\n  a:focus,\\n  button:focus,\\n  input:focus {\\n    outline: none;\\n  }\\n\"],[\"\\n  flex: 1;\\n  display: flex;\\n  flex-direction: column;\\n\\n  height: 100%;\\n  margin: 0;\\n  padding: 0;\\n  overflow: hidden;\\n  margin-right: -1px !important;\\n\\n  line-height: 1.5;\\n  font-family: 'Open Sans', sans-serif;\\n  -webkit-font-smoothing: antialiased;\\n  -moz-osx-font-smoothing: grayscale;\\n  letter-spacing: 0.53px;\\n  color: rgba(0, 0, 0, 0.8);\\n\\n  a:active,\\n  a:focus,\\n  button:focus,\\n  input:focus {\\n    outline: none;\\n  }\\n\"]))),L=f.styled.div(I||(I=o([\"\\n  height: calc(100vh - 57px);\\n  position: relative;\\n  overflow: hidden;\\n\"],[\"\\n  height: calc(100vh - 57px);\\n  position: relative;\\n  overflow: hidden;\\n\"]))),P=f.styled.div(M||(M=o([\"\\n  width: 100%;\\n  height: 100%;\\n  position: relative;\\n  overflow: hidden;\\n  visibility: hidden;\\n  &.active {\\n    visibility: visible;\\n  }\\n\"],[\"\\n  width: 100%;\\n  height: 100%;\\n  position: relative;\\n  overflow: hidden;\\n  visibility: hidden;\\n  &.active {\\n    visibility: visible;\\n  }\\n\"])))}).call(this,n(43))},function(e,t,n){\"use strict\";(function(e){var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e},a=this&&this.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n};Object.defineProperty(t,\"__esModule\",{value:!0});var s=n(3),u=n(59),c=n(20),l=n(319),p=n(121),f=n(69),d=n(387),h=n(128),m=n(400),g=n(129),y=n(403),v=n(407),b=n(409),E=n(196),x=n(197),D=n(410),C=n(411),w=n(415),S=n(11),k=n(30),A=n(28),T=n(32),_=n(38),O=n(75),F=n(74),N=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.setQueryVariablesRef=function(t){e.queryVariablesRef=t},e.setHttpHeadersRef=function(t){e.httpHeadersRef=t},e.setQueryResizer=function(t){e.queryResizer=u.findDOMNode(t)},e.setResponseResizer=function(t){e.responseResizer=u.findDOMNode(t)},e.setEditorBarComponent=function(t){e.editorBarComponent=t},e.setQueryEditorComponent=function(t){e.queryEditorComponent=t},e.setVariableEditorComponent=function(t){e.variableEditorComponent=t},e.setResultComponent=function(t){e.resultComponent=t},e.setDocExplorerRef=function(t){t&&(e.docExplorerComponent=t.getWrappedInstance())},e.setGraphExplorerRef=function(t){t&&(e.graphExplorerComponent=t.getWrappedInstance())},e.setSchemaExplorerRef=function(t){t&&(e.schemaExplorerComponent=t)},e.setContainerComponent=function(t){e.containerComponent=t},e.handleClickReference=function(t){e.docExplorerComponent&&e.docExplorerComponent.showDocFromType(t.field||t)},e.setSideTabActiveContentRef=function(t){t&&(e.activeSideTabContent=t)},e.runQueryAtCursor=function(){if(e.props.queryRunning)e.props.stopQuery(e.props.sessionId);else{var t=e.queryEditorComponent.getCodeMirror(),n=t.getCursor(),r=t.indexFromPos(n);e.props.runQueryAtPosition(r)}},e.handleHintInformationRender=function(t){var n;t.addEventListener(\"click\",e.onClickHintInformation),t.addEventListener(\"DOMNodeRemoved\",n=function(){t.removeEventListener(\"DOMNodeRemoved\",n),t.removeEventListener(\"click\",e.onClickHintInformation)})},e.handleResizeStart=function(t){if(e.didClickDragBar(t)){t.preventDefault();var n=t.clientX-E.getLeft(t.target),r=function(t){if(0===t.buttons)return i();var r=u.findDOMNode(e.editorBarComponent),o=t.clientX-E.getLeft(r)-n,a=r.clientWidth-o;e.props.setEditorFlex(o/a)},i=function(){document.removeEventListener(\"mousemove\",r),document.removeEventListener(\"mouseup\",i),r=null,i=null};document.addEventListener(\"mousemove\",r),document.addEventListener(\"mouseup\",i)}},e.handleTracingResizeStart=function(t){t.preventDefault();var n=!1,r=e.props.responseTracingHeight,i=t.clientY-E.getTop(t.target),o=function(t){if(0===t.buttons)return a();n=!0;var o=u.findDOMNode(e.editorBarComponent),s=t.clientY-E.getTop(o)-i;o.clientHeight-s<60?e.props.closeTracing(r):e.props.openTracing(r)},a=function(){n||e.props.toggleTracing(),document.removeEventListener(\"mousemove\",o),document.removeEventListener(\"mouseup\",a),o=null,a=null};document.addEventListener(\"mousemove\",o),document.addEventListener(\"mouseup\",a)},e.handleVariableResizeStart=function(t){t.preventDefault();var n=!1,r=e.props.variableEditorOpen,i=e.props.variableEditorHeight,o=t.clientY-E.getTop(t.target);if(!r||t.target!==e.queryVariablesRef&&t.target!==e.httpHeadersRef){var a=function(t){if(0===t.buttons)return s();n=!0;var r=u.findDOMNode(e.editorBarComponent),a=t.clientY-E.getTop(r)-o,c=r.clientHeight-a;c<60?e.props.closeVariables(i):e.props.openVariables(c)},s=function(){n||e.props.toggleVariables(),document.removeEventListener(\"mousemove\",a),document.removeEventListener(\"mouseup\",s),a=null,s=null};document.addEventListener(\"mousemove\",a),document.addEventListener(\"mouseup\",s)}},e.onClickHintInformation=function(t){if(\"typeName\"===t.target.className){var n=t.target.innerHTML,r=e.props.schema;if(r){var i=n.replace(/[\\]\\[!]/g,\"\"),o=r.getType(i);c.isNamedType(o)&&e.docExplorerComponent.showDocFromType(o)}}},e.setDocsWidth=function(t){void 0===t&&(t=e.props),e.activeSideTabContent&&e.props.docsOpen&&requestAnimationFrame((function(){var n=e.activeSideTabContent.getWidth(),r=e.containerComponent.getWidth()-86;e.props.changeWidthDocs(t.sessionId,Math.min(n,r))}))},e}return i(n,t),n.prototype.componentDidMount=function(){this.codeMirrorSizer=new d.default,e.g=this},n.prototype.componentDidUpdate=function(){this.resultComponent&&Boolean(this.props.subscriptionActive)&&(this.resultComponent.scrollTop=this.resultComponent.scrollHeight)},n.prototype.render=function(){return s.createElement(f.Container,{ref:this.setContainerComponent},s.createElement(f.default,null,s.createElement(h.default,{shareEnabled:this.props.shareEnabled}),s.createElement(Q,{ref:this.setEditorBarComponent,onMouseDown:this.handleResizeStart},s.createElement(se,{flex:this.props.editorFlex},s.createElement(p.default,{getRef:this.setQueryEditorComponent,schema:this.props.schema,onHintInformationRender:this.handleHintInformationRender,onRunQuery:this.runQueryAtCursor,onClickReference:this.handleClickReference}),s.createElement(ne,{isOpen:this.props.variableEditorOpen,height:this.props.variableEditorHeight},s.createElement(re,{isOpen:this.props.variableEditorOpen,onMouseDown:this.handleVariableResizeStart},s.createElement(ie,{isOpen:this.props.queryVariablesActive,ref:this.setQueryVariablesRef,onClick:this.props.openQueryVariables},\"Query Variables\"),s.createElement(ie,{isOpen:!this.props.queryVariablesActive,ref:this.setHttpHeadersRef,onClick:this.props.closeQueryVariables},\"HTTP Headers \"+(this.props.headersCount&&this.props.headersCount>0?\"(\"+this.props.headersCount+\")\":\"\"))),this.props.queryVariablesActive?s.createElement(m.VariableEditorComponent,{getRef:this.setVariableEditorComponent,onHintInformationRender:this.props.queryVariablesActive?this.handleHintInformationRender:void 0,onRunQuery:this.runQueryAtCursor}):s.createElement(m.HeadersEditorComponent,{getRef:this.setVariableEditorComponent,onHintInformationRender:this.props.queryVariablesActive?this.handleHintInformationRender:void 0,onRunQuery:this.runQueryAtCursor})),s.createElement(X,{ref:this.setQueryResizer})),s.createElement(Y,null,s.createElement(Z,{ref:this.setResponseResizer}),s.createElement(l.default,null),this.props.queryRunning&&0===this.props.responses.size&&s.createElement(g.default,null),s.createElement(y.default,{setRef:this.setResultComponent}),!this.props.queryRunning&&(!this.props.responses||0===this.props.responses.size)&&s.createElement(ue,null,\"Hit the Play Button to get a response here\"),this.props.subscriptionActive&&s.createElement(ce,null,\"Listening …\"),s.createElement(oe,{isOpen:this.props.responseTracingOpen,height:this.props.responseTracingHeight},s.createElement(ae,{isOpen:this.props.responseTracingOpen,onMouseDown:this.handleTracingResizeStart},s.createElement(ie,{isOpen:!1},\"Tracing\")),s.createElement(v.default,{open:this.props.responseTracingOpen}))))),s.createElement(D.default,{sessionId:this.props.sessionId,schema:this.props.schema,setActiveContentRef:this.setSideTabActiveContentRef,setWidth:this.setDocsWidth,maxWidth:1e4},s.createElement(x.default,{label:\"Docs\",activeColor:\"green\",tabWidth:\"49px\"},s.createElement(w.default,{schema:this.props.schema,ref:this.setDocExplorerRef})),s.createElement(x.default,{label:\"Schema\",activeColor:\"blue\",tabWidth:\"65px\"},s.createElement(C.default,{schema:this.props.schema,ref:this.setSchemaExplorerRef,sessionId:this.props.sessionId,setWidth:this.setDocsWidth}))))},n.prototype.autoCompleteLeafs=function(){var e=b.fillLeafs(this.props.schema,this.props.query),t=e.insertions,n=e.result;if(t&&t.length>0){var r=this.queryEditorComponent.getCodeMirror();r.operation((function(){var e=r.getCursor(),i=r.indexFromPos(e);r.setValue(n);var o=0;try{var a=t.map((function(e){var t=e.index,n=e.string;return r.markText(r.posFromIndex(t+o),r.posFromIndex(t+(o+=n.length)),{className:\"autoInsertedLeaf\",clearOnEnter:!0,title:\"Automatically added leaf fields\"})}));setTimeout((function(){return a.forEach((function(e){return e.clear()}))}),7e3)}catch(e){}var s=i;t.forEach((function(e){var t=e.index,n=e.string;t<i&&n&&(s+=n.length)})),r.setCursor(r.posFromIndex(s))}))}return n},n.prototype.didClickDragBar=function(e){return e.target===this.queryResizer||e.target===this.responseResizer},n}(s.PureComponent),I=A.createStructuredSelector({queryRunning:T.getQueryRunning,responses:T.getResponses,subscriptionActive:T.getSubscriptionActive,variableEditorOpen:T.getVariableEditorOpen,variableEditorHeight:T.getVariableEditorHeight,responseTracingOpen:T.getResponseTracingOpen,responseTracingHeight:T.getResponseTracingHeight,responseExtensions:T.getResponseExtensions,currentQueryStartTime:T.getCurrentQueryStartTime,currentQueryEndTime:T.getCurrentQueryEndTime,tracingSupported:T.getTracingSupported,editorFlex:T.getEditorFlex,queryVariablesActive:T.getQueryVariablesActive,headers:T.getHeaders,operations:T.getOperations,operationName:T.getOperationName,headersCount:T.getHeadersCount,sessionId:T.getSelectedSessionIdFromRoot,docsOpen:O.getDocsOpen});t.default=k.connect(I,{updateQueryFacts:_.updateQueryFacts,stopQuery:_.stopQuery,runQueryAtPosition:_.runQueryAtPosition,openQueryVariables:_.openQueryVariables,closeQueryVariables:_.closeQueryVariables,openVariables:_.openVariables,closeVariables:_.closeVariables,openTracing:_.openTracing,closeTracing:_.closeTracing,toggleTracing:_.toggleTracing,setEditorFlex:_.setEditorFlex,toggleVariables:_.toggleVariables,fetchSchema:_.fetchSchema,changeWidthDocs:F.changeWidthDocs},null,{forwardRef:!0})(N);var M,j,L,P,R,B,U,z,V,q,H,W,G,K,J,Q=S.styled.div(M||(M=o([\"\\n  display: flex;\\n  flex-direction: row;\\n  flex: 1;\\n  height: 100%;\\n\"],[\"\\n  display: flex;\\n  flex-direction: row;\\n  flex: 1;\\n  height: 100%;\\n\"]))),Y=S.styled.div(j||(j=o([\"\\n  display: flex;\\n  flex-direction: column;\\n  flex: 1;\\n  height: 100%;\\n  position: relative;\\n  border-left: none;\\n  background: \",\";\\n  overflow-anchor: auto;\\n\"],[\"\\n  display: flex;\\n  flex-direction: column;\\n  flex: 1;\\n  height: 100%;\\n  position: relative;\\n  border-left: none;\\n  background: \",\";\\n  overflow-anchor: auto;\\n\"])),(function(e){return e.theme.editorColours.resultBackground})),$=S.styled.div(L||(L=o([\"\\n  width: 15px;\\n  position: absolute;\\n  top: 0;\\n  bottom: 0;\\n  cursor: col-resize;\\n\"],[\"\\n  width: 15px;\\n  position: absolute;\\n  top: 0;\\n  bottom: 0;\\n  cursor: col-resize;\\n\"]))),X=S.styled($)(P||(P=o([\"\\n  right: 0px;\\n\"],[\"\\n  right: 0px;\\n\"]))),Z=S.styled($)(R||(R=o([\"\\n  left: 0px;\\n  z-index: 1;\\n\"],[\"\\n  left: 0px;\\n  z-index: 1;\\n\"]))),ee=S.styled(\"div\")(B||(B=o([\"\\n  display: flex;\\n  background: #0b1924;\\n  flex-direction: column;\\n  position: relative;\\n  height: \",\";\\n\"],[\"\\n  display: flex;\\n  background: #0b1924;\\n  flex-direction: column;\\n  position: relative;\\n  height: \",\";\\n\"])),(function(e){return e.isOpen?e.height+\"px\":\"43px\"})),te=S.styled.div(U||(U=o([\"\\n  background: #0b1924;\\n  text-transform: uppercase;\\n  font-weight: 600;\\n  letter-spacing: 0.53px;\\n  line-height: 14px;\\n  font-size: 14px;\\n  padding: 14px 14px 15px 21px;\\n  user-select: none;\\n\"],[\"\\n  background: #0b1924;\\n  text-transform: uppercase;\\n  font-weight: 600;\\n  letter-spacing: 0.53px;\\n  line-height: 14px;\\n  font-size: 14px;\\n  padding: 14px 14px 15px 21px;\\n  user-select: none;\\n\"]))),ne=S.styled(ee)(z||(z=o([\"\\n  .CodeMirror {\\n    padding-left: 4px;\\n    width: calc(100% - 4px);\\n    background: \",\";\\n  }\\n  .CodeMirror-lines {\\n    padding: 10px 0 20px 0;\\n  }\\n  .CodeMirror-linenumbers {\\n    background: \",\";\\n  }\\n\"],[\"\\n  .CodeMirror {\\n    padding-left: 4px;\\n    width: calc(100% - 4px);\\n    background: \",\";\\n  }\\n  .CodeMirror-lines {\\n    padding: 10px 0 20px 0;\\n  }\\n  .CodeMirror-linenumbers {\\n    background: \",\";\\n  }\\n\"])),(function(e){return e.theme.editorColours.leftDrawerBackground}),(function(e){return e.theme.editorColours.leftDrawerBackground})),re=S.styled((function(e){e.isOpen;var t=a(e,[\"isOpen\"]);return s.createElement(te,t)}))(V||(V=o([\"\\n  cursor: \",\";\\n  background: \",\";\\n\"],[\"\\n  cursor: \",\";\\n  background: \",\";\\n\"])),(function(e){return e.isOpen?\"row-resize\":\"n-resize\"}),(function(e){return e.theme.editorColours.leftDrawerBackground})),ie=S.styled(\"span\")(q||(q=o([\"\\n  margin-right: 10px;\\n  cursor: pointer;\\n  color: \",\";\\n  &:last-child {\\n    margin-right: 0;\\n  }\\n\"],[\"\\n  margin-right: 10px;\\n  cursor: pointer;\\n  color: \",\";\\n  &:last-child {\\n    margin-right: 0;\\n  }\\n\"])),(function(e){return e.isOpen?e.theme.editorColours.drawerText:e.theme.editorColours.drawerTextInactive})),oe=S.styled(ee)(H||(H=o([\"\\n  background: \",\";\\n\"],[\"\\n  background: \",\";\\n\"])),(function(e){return e.theme.editorColours.rightDrawerBackground})),ae=S.styled((function(e){e.isOpen;var t=a(e,[\"isOpen\"]);return s.createElement(te,t)}))(W||(W=o([\"\\n  text-align: right;\\n  background: \",\";\\n  cursor: \",\";\\n  color: \",\";\\n\"],[\"\\n  text-align: right;\\n  background: \",\";\\n  cursor: \",\";\\n  color: \",\";\\n\"])),(function(e){return e.theme.editorColours.rightDrawerBackground}),(function(e){return e.isOpen?\"s-resize\":\"n-resize\"}),(function(e){return e.theme.editorColours.drawerTextInactive})),se=S.styled(\"div\")(G||(G=o([\"\\n  position: relative;\\n  display: flex;\\n  flex-direction: column;\\n  flex: \",\" 1 0%;\\n  border-top: 8px solid \",\";\\n\"],[\"\\n  position: relative;\\n  display: flex;\\n  flex-direction: column;\\n  flex: \",\" 1 0%;\\n  border-top: 8px solid \",\";\\n\"])),(function(e){return e.flex}),(function(e){return e.theme.editorColours.resultBackground})),ue=S.styled.div(K||(K=o([\"\\n  width: 235px;\\n  position: absolute;\\n  top: 50%;\\n  left: 50%;\\n  transform: translate(-50%, -50%);\\n  color: \",\";\\n  font-size: \",\";\\n  font-family: 'Source Code Pro', 'Consolas', 'Inconsolata', 'Droid Sans Mono',\\n    'Monaco', monospace;\\n  text-align: center;\\n  letter-spacing: 0.6px;\\n\"],[\"\\n  width: 235px;\\n  position: absolute;\\n  top: 50%;\\n  left: 50%;\\n  transform: translate(-50%, -50%);\\n  color: \",\";\\n  font-size: \",\";\\n  font-family: 'Source Code Pro', 'Consolas', 'Inconsolata', 'Droid Sans Mono',\\n    'Monaco', monospace;\\n  text-align: center;\\n  letter-spacing: 0.6px;\\n\"])),(function(e){return e.theme.colours.textInactive}),(function(e){return e.theme.sizes.small16})),ce=S.styled.div(J||(J=o([\"\\n  position: absolute;\\n  bottom: 0;\\n  color: \",\";\\n  background: \",\";\\n  font-size: \",\";\\n  font-family: \",\";\\n  letter-spacing: 0.6px;\\n  padding-left: 24px;\\n  padding-bottom: 60px;\\n\"],[\"\\n  position: absolute;\\n  bottom: 0;\\n  color: \",\";\\n  background: \",\";\\n  font-size: \",\";\\n  font-family: \",\";\\n  letter-spacing: 0.6px;\\n  padding-left: 24px;\\n  padding-bottom: 60px;\\n\"])),(function(e){return e.theme.editorColours.text}),(function(e){return e.theme.editorColours.resultBackground}),(function(e){return e.theme.sizes.small16}),(function(e){return e.theme.settings[\"editor.fontFamily\"]}))}).call(this,n(43))},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(3),s=n(320),u=n(11),c=n(30),l=n(38),p=n(28),f=n(32),d=n(169),h=!0,m=function(e){function t(t){var n=e.call(this,t)||this;return n.handleMouseOver=function(e){n.setState({highlight:e})},n.handleMouseOut=function(){n.setState({highlight:null})},n.handleMouseUp=function(e){n.onOptionSelected(e)},n.onClick=function(){n.props.queryRunning?n.props.stopQuery(n.props.sessionId):n.props.runQuery()},n.onOptionSelected=function(e){n.setState({optionsOpen:!1}),e&&n.props.runQuery(e.name&&e.name.value)},n.onOptionsOpen=function(e){var t=!0,r=e.target;n.setState({highlight:null,optionsOpen:!0});var i=function(e){t&&e.target===r?t=!1:(document.removeEventListener(\"mouseup\",i),i=null,r.parentNode&&(r.parentNode.compareDocumentPosition(e.target)&Node.DOCUMENT_POSITION_CONTAINED_BY||n.setState({optionsOpen:!1}),h&&(n.onOptionSelected(n.props.operations.find((function(t){return t.name.value===e.target.textContent}))||n.props.operations[0]),h=!1)))};document.addEventListener(\"mouseup\",i)},n.state={optionsOpen:!1,highlight:null},n}return i(t,e),t.prototype.render=function(){var e,t,n=this,r=this.props.operations,i=this.state.optionsOpen,o=r&&r.length>1,u=null;if(o&&i){var c=this.state.highlight;u=a.createElement(C,null,a.createElement(w,null,r.map((function(e){return a.createElement(s.default,{operation:e,onMouseOver:n.handleMouseOver,onMouseOut:n.handleMouseOut,onMouseUp:n.handleMouseUp,highlight:c,key:e.name?e.name.value:\"*\"})}))))}!this.props.queryRunning&&o||(e=this.onClick),this.props.queryRunning||!o||i||(t=this.onOptionsOpen);var l=this.props.queryRunning?a.createElement(\"rect\",{fill:\"#FFFFFF\",x:\"10\",y:\"10\",width:\"13\",height:\"13\",rx:\"1\"}):a.createElement(\"path\",{d:\"M 11 9 L 24 16 L 11 23 z\"});return a.createElement(x,null,a.createElement(D,{isRunning:this.props.queryRunning,onMouseDown:t,onClick:e,title:\"Execute Query (Ctrl-Enter)\"},a.createElement(\"svg\",{width:\"35\",height:\"35\",viewBox:(this.props.queryRunning?4:3)+\".5,4.5,24,24\"},l)),u)},t}(a.Component),g=p.createStructuredSelector({queryRunning:f.getQueryRunning,operations:f.getOperations,sessionId:f.getSelectedSessionIdFromRoot});t.default=c.connect(g,{runQuery:l.runQuery,stopQuery:l.stopQuery})(d.toJS(m));var y,v,b,E,x=u.styled.div(y||(y=o([\"\\n  position: absolute;\\n  left: -62px;\\n  z-index: 5;\\n  top: 15px;\\n  margin: 0 14px 0 28px;\\n\"],[\"\\n  position: absolute;\\n  left: -62px;\\n  z-index: 5;\\n  top: 15px;\\n  margin: 0 14px 0 28px;\\n\"]))),D=u.styled(\"div\")(v||(v=o([\"\\n  width: 60px;\\n  height: 60px;\\n\\n  display: flex;\\n  align-items: center;\\n  justify-content: center;\\n\\n  border-radius: 100%;\\n  transition: background-color 100ms;\\n  background-color: \",\";\\n  border: 6px solid \",\";\\n  cursor: pointer;\\n  user-select: none;\\n\\n  svg {\\n    fill: \",\";\\n  }\\n\\n  &:hover {\\n    background-color: \",\";\\n  }\\n\"],[\"\\n  width: 60px;\\n  height: 60px;\\n\\n  display: flex;\\n  align-items: center;\\n  justify-content: center;\\n\\n  border-radius: 100%;\\n  transition: background-color 100ms;\\n  background-color: \",\";\\n  border: 6px solid \",\";\\n  cursor: pointer;\\n  user-select: none;\\n\\n  svg {\\n    fill: \",\";\\n  }\\n\\n  &:hover {\\n    background-color: \",\";\\n  }\\n\"])),(function(e){return e.isRunning?e.theme.editorColours.executeButtonSubscription:e.theme.editorColours.executeButton}),(function(e){return e.theme.editorColours.executeButtonBorder}),(function(e){return\"light\"===e.theme.mode?\"white\":\"inherit\"}),(function(e){return e.isRunning?e.theme.editorColours.executeButtonSubscriptionHover:e.theme.editorColours.executeButtonHover})),C=u.styled.div(b||(b=o([\"\\n  background: #fff;\\n  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.25);\\n  padding: 8px 0;\\n  left: -1px;\\n  margin: 0;\\n  position: absolute;\\n  top: 78px;\\n  z-index: 100;\\n  user-select: none;\\n\\n  &:before {\\n    position: absolute;\\n    background: white;\\n    content: '';\\n    top: -4px;\\n    left: 34px;\\n    transform: rotate(45deg);\\n    width: 8px;\\n    height: 8px;\\n  }\\n\"],[\"\\n  background: #fff;\\n  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.25);\\n  padding: 8px 0;\\n  left: -1px;\\n  margin: 0;\\n  position: absolute;\\n  top: 78px;\\n  z-index: 100;\\n  user-select: none;\\n\\n  &:before {\\n    position: absolute;\\n    background: white;\\n    content: '';\\n    top: -4px;\\n    left: 34px;\\n    transform: rotate(45deg);\\n    width: 8px;\\n    height: 8px;\\n  }\\n\"]))),w=u.styled.ul(E||(E=o([\"\\n  max-height: 270px;\\n  overflow: scroll;\\n\\n  li {\\n    cursor: pointer;\\n    list-style: none;\\n    min-width: 100px;\\n    padding: 2px 30px 4px 10px;\\n  }\\n\\n  li.selected {\\n    background: rgb(39, 174, 96);\\n    color: white;\\n  }\\n\"],[\"\\n  max-height: 270px;\\n  overflow: scroll;\\n\\n  li {\\n    cursor: pointer;\\n    list-style: none;\\n    min-width: 100px;\\n    padding: 2px 30px 4px 10px;\\n  }\\n\\n  li.selected {\\n    background: rgb(39, 174, 96);\\n    color: white;\\n  }\\n\"])))},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(3),a=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.onMouseOver=function(){t.props.onMouseOver(t.props.operation)},t.onMouseUp=function(){t.props.onMouseUp(t.props.operation)},t}return i(t,e),t.prototype.render=function(){return o.createElement(\"li\",{key:this.props.operation.name?this.props.operation.name.value:\"*\",className:this.props.operation===this.props.highlight?\"selected\":\"\",onMouseOver:this.onMouseOver,onMouseOut:this.props.onMouseOut,onMouseUp:this.onMouseUp},this.props.operation.name?this.props.operation.name.value:\"<Unnamed>\")},t}(o.PureComponent);t.default=a},function(e,t,n){\"use strict\";e.exports=n(322)},function(e,t,n){\"use strict\";var r=n(22),i=n(329),o=n(333),a=n(334),s=n(342),u=n(356),c=n(178),l=n(105),p=n(179),f={default:n(370),zero:n(371),commonmark:n(372)},d=/^(vbscript|javascript|file|data):/,h=/^data:image\\/(gif|png|jpeg|webp);/;function m(e){var t=e.trim().toLowerCase();return!d.test(t)||!!h.test(t)}var g=[\"http:\",\"https:\",\"mailto:\"];function y(e){var t=l.parse(e,!0);if(t.hostname&&(!t.protocol||g.indexOf(t.protocol)>=0))try{t.hostname=p.toASCII(t.hostname)}catch(e){}return l.encode(l.format(t))}function v(e){var t=l.parse(e,!0);if(t.hostname&&(!t.protocol||g.indexOf(t.protocol)>=0))try{t.hostname=p.toUnicode(t.hostname)}catch(e){}return l.decode(l.format(t))}function b(e,t){if(!(this instanceof b))return new b(e,t);t||r.isString(e)||(t=e||{},e=\"default\"),this.inline=new u,this.block=new s,this.core=new a,this.renderer=new o,this.linkify=new c,this.validateLink=m,this.normalizeLink=y,this.normalizeLinkText=v,this.utils=r,this.helpers=r.assign({},i),this.options={},this.configure(e),t&&this.set(t)}b.prototype.set=function(e){return r.assign(this.options,e),this},b.prototype.configure=function(e){var t,n=this;if(r.isString(e)&&!(e=f[t=e]))throw new Error('Wrong `markdown-it` preset \"'+t+'\", check name');if(!e)throw new Error(\"Wrong `markdown-it` preset, can't be empty\");return e.options&&n.set(e.options),e.components&&Object.keys(e.components).forEach((function(t){e.components[t].rules&&n[t].ruler.enableOnly(e.components[t].rules),e.components[t].rules2&&n[t].ruler2.enableOnly(e.components[t].rules2)})),this},b.prototype.enable=function(e,t){var n=[];Array.isArray(e)||(e=[e]),[\"core\",\"block\",\"inline\"].forEach((function(t){n=n.concat(this[t].ruler.enable(e,!0))}),this),n=n.concat(this.inline.ruler2.enable(e,!0));var r=e.filter((function(e){return n.indexOf(e)<0}));if(r.length&&!t)throw new Error(\"MarkdownIt. Failed to enable unknown rule(s): \"+r);return this},b.prototype.disable=function(e,t){var n=[];Array.isArray(e)||(e=[e]),[\"core\",\"block\",\"inline\"].forEach((function(t){n=n.concat(this[t].ruler.disable(e,!0))}),this),n=n.concat(this.inline.ruler2.disable(e,!0));var r=e.filter((function(e){return n.indexOf(e)<0}));if(r.length&&!t)throw new Error(\"MarkdownIt. Failed to disable unknown rule(s): \"+r);return this},b.prototype.use=function(e){var t=[this].concat(Array.prototype.slice.call(arguments,1));return e.apply(e,t),this},b.prototype.parse=function(e,t){if(\"string\"!=typeof e)throw new Error(\"Input data should be a String\");var n=new this.core.State(e,this,t);return this.core.process(n),n.tokens},b.prototype.render=function(e,t){return t=t||{},this.renderer.render(this.parse(e,t),this.options,t)},b.prototype.parseInline=function(e,t){var n=new this.core.State(e,this,t);return n.inlineMode=!0,this.core.process(n),n.tokens},b.prototype.renderInline=function(e,t){return t=t||{},this.renderer.render(this.parseInline(e,t),this.options,t)},e.exports=b},function(e){e.exports=JSON.parse('{\"Aacute\":\"Á\",\"aacute\":\"á\",\"Abreve\":\"Ă\",\"abreve\":\"ă\",\"ac\":\"∾\",\"acd\":\"∿\",\"acE\":\"∾̳\",\"Acirc\":\"Â\",\"acirc\":\"â\",\"acute\":\"´\",\"Acy\":\"А\",\"acy\":\"а\",\"AElig\":\"Æ\",\"aelig\":\"æ\",\"af\":\"⁡\",\"Afr\":\"𝔄\",\"afr\":\"𝔞\",\"Agrave\":\"À\",\"agrave\":\"à\",\"alefsym\":\"ℵ\",\"aleph\":\"ℵ\",\"Alpha\":\"Α\",\"alpha\":\"α\",\"Amacr\":\"Ā\",\"amacr\":\"ā\",\"amalg\":\"⨿\",\"amp\":\"&\",\"AMP\":\"&\",\"andand\":\"⩕\",\"And\":\"⩓\",\"and\":\"∧\",\"andd\":\"⩜\",\"andslope\":\"⩘\",\"andv\":\"⩚\",\"ang\":\"∠\",\"ange\":\"⦤\",\"angle\":\"∠\",\"angmsdaa\":\"⦨\",\"angmsdab\":\"⦩\",\"angmsdac\":\"⦪\",\"angmsdad\":\"⦫\",\"angmsdae\":\"⦬\",\"angmsdaf\":\"⦭\",\"angmsdag\":\"⦮\",\"angmsdah\":\"⦯\",\"angmsd\":\"∡\",\"angrt\":\"∟\",\"angrtvb\":\"⊾\",\"angrtvbd\":\"⦝\",\"angsph\":\"∢\",\"angst\":\"Å\",\"angzarr\":\"⍼\",\"Aogon\":\"Ą\",\"aogon\":\"ą\",\"Aopf\":\"𝔸\",\"aopf\":\"𝕒\",\"apacir\":\"⩯\",\"ap\":\"≈\",\"apE\":\"⩰\",\"ape\":\"≊\",\"apid\":\"≋\",\"apos\":\"\\'\",\"ApplyFunction\":\"⁡\",\"approx\":\"≈\",\"approxeq\":\"≊\",\"Aring\":\"Å\",\"aring\":\"å\",\"Ascr\":\"𝒜\",\"ascr\":\"𝒶\",\"Assign\":\"≔\",\"ast\":\"*\",\"asymp\":\"≈\",\"asympeq\":\"≍\",\"Atilde\":\"Ã\",\"atilde\":\"ã\",\"Auml\":\"Ä\",\"auml\":\"ä\",\"awconint\":\"∳\",\"awint\":\"⨑\",\"backcong\":\"≌\",\"backepsilon\":\"϶\",\"backprime\":\"‵\",\"backsim\":\"∽\",\"backsimeq\":\"⋍\",\"Backslash\":\"∖\",\"Barv\":\"⫧\",\"barvee\":\"⊽\",\"barwed\":\"⌅\",\"Barwed\":\"⌆\",\"barwedge\":\"⌅\",\"bbrk\":\"⎵\",\"bbrktbrk\":\"⎶\",\"bcong\":\"≌\",\"Bcy\":\"Б\",\"bcy\":\"б\",\"bdquo\":\"„\",\"becaus\":\"∵\",\"because\":\"∵\",\"Because\":\"∵\",\"bemptyv\":\"⦰\",\"bepsi\":\"϶\",\"bernou\":\"ℬ\",\"Bernoullis\":\"ℬ\",\"Beta\":\"Β\",\"beta\":\"β\",\"beth\":\"ℶ\",\"between\":\"≬\",\"Bfr\":\"𝔅\",\"bfr\":\"𝔟\",\"bigcap\":\"⋂\",\"bigcirc\":\"◯\",\"bigcup\":\"⋃\",\"bigodot\":\"⨀\",\"bigoplus\":\"⨁\",\"bigotimes\":\"⨂\",\"bigsqcup\":\"⨆\",\"bigstar\":\"★\",\"bigtriangledown\":\"▽\",\"bigtriangleup\":\"△\",\"biguplus\":\"⨄\",\"bigvee\":\"⋁\",\"bigwedge\":\"⋀\",\"bkarow\":\"⤍\",\"blacklozenge\":\"⧫\",\"blacksquare\":\"▪\",\"blacktriangle\":\"▴\",\"blacktriangledown\":\"▾\",\"blacktriangleleft\":\"◂\",\"blacktriangleright\":\"▸\",\"blank\":\"␣\",\"blk12\":\"▒\",\"blk14\":\"░\",\"blk34\":\"▓\",\"block\":\"█\",\"bne\":\"=⃥\",\"bnequiv\":\"≡⃥\",\"bNot\":\"⫭\",\"bnot\":\"⌐\",\"Bopf\":\"𝔹\",\"bopf\":\"𝕓\",\"bot\":\"⊥\",\"bottom\":\"⊥\",\"bowtie\":\"⋈\",\"boxbox\":\"⧉\",\"boxdl\":\"┐\",\"boxdL\":\"╕\",\"boxDl\":\"╖\",\"boxDL\":\"╗\",\"boxdr\":\"┌\",\"boxdR\":\"╒\",\"boxDr\":\"╓\",\"boxDR\":\"╔\",\"boxh\":\"─\",\"boxH\":\"═\",\"boxhd\":\"┬\",\"boxHd\":\"╤\",\"boxhD\":\"╥\",\"boxHD\":\"╦\",\"boxhu\":\"┴\",\"boxHu\":\"╧\",\"boxhU\":\"╨\",\"boxHU\":\"╩\",\"boxminus\":\"⊟\",\"boxplus\":\"⊞\",\"boxtimes\":\"⊠\",\"boxul\":\"┘\",\"boxuL\":\"╛\",\"boxUl\":\"╜\",\"boxUL\":\"╝\",\"boxur\":\"└\",\"boxuR\":\"╘\",\"boxUr\":\"╙\",\"boxUR\":\"╚\",\"boxv\":\"│\",\"boxV\":\"║\",\"boxvh\":\"┼\",\"boxvH\":\"╪\",\"boxVh\":\"╫\",\"boxVH\":\"╬\",\"boxvl\":\"┤\",\"boxvL\":\"╡\",\"boxVl\":\"╢\",\"boxVL\":\"╣\",\"boxvr\":\"├\",\"boxvR\":\"╞\",\"boxVr\":\"╟\",\"boxVR\":\"╠\",\"bprime\":\"‵\",\"breve\":\"˘\",\"Breve\":\"˘\",\"brvbar\":\"¦\",\"bscr\":\"𝒷\",\"Bscr\":\"ℬ\",\"bsemi\":\"⁏\",\"bsim\":\"∽\",\"bsime\":\"⋍\",\"bsolb\":\"⧅\",\"bsol\":\"\\\\\\\\\",\"bsolhsub\":\"⟈\",\"bull\":\"•\",\"bullet\":\"•\",\"bump\":\"≎\",\"bumpE\":\"⪮\",\"bumpe\":\"≏\",\"Bumpeq\":\"≎\",\"bumpeq\":\"≏\",\"Cacute\":\"Ć\",\"cacute\":\"ć\",\"capand\":\"⩄\",\"capbrcup\":\"⩉\",\"capcap\":\"⩋\",\"cap\":\"∩\",\"Cap\":\"⋒\",\"capcup\":\"⩇\",\"capdot\":\"⩀\",\"CapitalDifferentialD\":\"ⅅ\",\"caps\":\"∩︀\",\"caret\":\"⁁\",\"caron\":\"ˇ\",\"Cayleys\":\"ℭ\",\"ccaps\":\"⩍\",\"Ccaron\":\"Č\",\"ccaron\":\"č\",\"Ccedil\":\"Ç\",\"ccedil\":\"ç\",\"Ccirc\":\"Ĉ\",\"ccirc\":\"ĉ\",\"Cconint\":\"∰\",\"ccups\":\"⩌\",\"ccupssm\":\"⩐\",\"Cdot\":\"Ċ\",\"cdot\":\"ċ\",\"cedil\":\"¸\",\"Cedilla\":\"¸\",\"cemptyv\":\"⦲\",\"cent\":\"¢\",\"centerdot\":\"·\",\"CenterDot\":\"·\",\"cfr\":\"𝔠\",\"Cfr\":\"ℭ\",\"CHcy\":\"Ч\",\"chcy\":\"ч\",\"check\":\"✓\",\"checkmark\":\"✓\",\"Chi\":\"Χ\",\"chi\":\"χ\",\"circ\":\"ˆ\",\"circeq\":\"≗\",\"circlearrowleft\":\"↺\",\"circlearrowright\":\"↻\",\"circledast\":\"⊛\",\"circledcirc\":\"⊚\",\"circleddash\":\"⊝\",\"CircleDot\":\"⊙\",\"circledR\":\"®\",\"circledS\":\"Ⓢ\",\"CircleMinus\":\"⊖\",\"CirclePlus\":\"⊕\",\"CircleTimes\":\"⊗\",\"cir\":\"○\",\"cirE\":\"⧃\",\"cire\":\"≗\",\"cirfnint\":\"⨐\",\"cirmid\":\"⫯\",\"cirscir\":\"⧂\",\"ClockwiseContourIntegral\":\"∲\",\"CloseCurlyDoubleQuote\":\"”\",\"CloseCurlyQuote\":\"’\",\"clubs\":\"♣\",\"clubsuit\":\"♣\",\"colon\":\":\",\"Colon\":\"∷\",\"Colone\":\"⩴\",\"colone\":\"≔\",\"coloneq\":\"≔\",\"comma\":\",\",\"commat\":\"@\",\"comp\":\"∁\",\"compfn\":\"∘\",\"complement\":\"∁\",\"complexes\":\"ℂ\",\"cong\":\"≅\",\"congdot\":\"⩭\",\"Congruent\":\"≡\",\"conint\":\"∮\",\"Conint\":\"∯\",\"ContourIntegral\":\"∮\",\"copf\":\"𝕔\",\"Copf\":\"ℂ\",\"coprod\":\"∐\",\"Coproduct\":\"∐\",\"copy\":\"©\",\"COPY\":\"©\",\"copysr\":\"℗\",\"CounterClockwiseContourIntegral\":\"∳\",\"crarr\":\"↵\",\"cross\":\"✗\",\"Cross\":\"⨯\",\"Cscr\":\"𝒞\",\"cscr\":\"𝒸\",\"csub\":\"⫏\",\"csube\":\"⫑\",\"csup\":\"⫐\",\"csupe\":\"⫒\",\"ctdot\":\"⋯\",\"cudarrl\":\"⤸\",\"cudarrr\":\"⤵\",\"cuepr\":\"⋞\",\"cuesc\":\"⋟\",\"cularr\":\"↶\",\"cularrp\":\"⤽\",\"cupbrcap\":\"⩈\",\"cupcap\":\"⩆\",\"CupCap\":\"≍\",\"cup\":\"∪\",\"Cup\":\"⋓\",\"cupcup\":\"⩊\",\"cupdot\":\"⊍\",\"cupor\":\"⩅\",\"cups\":\"∪︀\",\"curarr\":\"↷\",\"curarrm\":\"⤼\",\"curlyeqprec\":\"⋞\",\"curlyeqsucc\":\"⋟\",\"curlyvee\":\"⋎\",\"curlywedge\":\"⋏\",\"curren\":\"¤\",\"curvearrowleft\":\"↶\",\"curvearrowright\":\"↷\",\"cuvee\":\"⋎\",\"cuwed\":\"⋏\",\"cwconint\":\"∲\",\"cwint\":\"∱\",\"cylcty\":\"⌭\",\"dagger\":\"†\",\"Dagger\":\"‡\",\"daleth\":\"ℸ\",\"darr\":\"↓\",\"Darr\":\"↡\",\"dArr\":\"⇓\",\"dash\":\"‐\",\"Dashv\":\"⫤\",\"dashv\":\"⊣\",\"dbkarow\":\"⤏\",\"dblac\":\"˝\",\"Dcaron\":\"Ď\",\"dcaron\":\"ď\",\"Dcy\":\"Д\",\"dcy\":\"д\",\"ddagger\":\"‡\",\"ddarr\":\"⇊\",\"DD\":\"ⅅ\",\"dd\":\"ⅆ\",\"DDotrahd\":\"⤑\",\"ddotseq\":\"⩷\",\"deg\":\"°\",\"Del\":\"∇\",\"Delta\":\"Δ\",\"delta\":\"δ\",\"demptyv\":\"⦱\",\"dfisht\":\"⥿\",\"Dfr\":\"𝔇\",\"dfr\":\"𝔡\",\"dHar\":\"⥥\",\"dharl\":\"⇃\",\"dharr\":\"⇂\",\"DiacriticalAcute\":\"´\",\"DiacriticalDot\":\"˙\",\"DiacriticalDoubleAcute\":\"˝\",\"DiacriticalGrave\":\"`\",\"DiacriticalTilde\":\"˜\",\"diam\":\"⋄\",\"diamond\":\"⋄\",\"Diamond\":\"⋄\",\"diamondsuit\":\"♦\",\"diams\":\"♦\",\"die\":\"¨\",\"DifferentialD\":\"ⅆ\",\"digamma\":\"ϝ\",\"disin\":\"⋲\",\"div\":\"÷\",\"divide\":\"÷\",\"divideontimes\":\"⋇\",\"divonx\":\"⋇\",\"DJcy\":\"Ђ\",\"djcy\":\"ђ\",\"dlcorn\":\"⌞\",\"dlcrop\":\"⌍\",\"dollar\":\"$\",\"Dopf\":\"𝔻\",\"dopf\":\"𝕕\",\"Dot\":\"¨\",\"dot\":\"˙\",\"DotDot\":\"⃜\",\"doteq\":\"≐\",\"doteqdot\":\"≑\",\"DotEqual\":\"≐\",\"dotminus\":\"∸\",\"dotplus\":\"∔\",\"dotsquare\":\"⊡\",\"doublebarwedge\":\"⌆\",\"DoubleContourIntegral\":\"∯\",\"DoubleDot\":\"¨\",\"DoubleDownArrow\":\"⇓\",\"DoubleLeftArrow\":\"⇐\",\"DoubleLeftRightArrow\":\"⇔\",\"DoubleLeftTee\":\"⫤\",\"DoubleLongLeftArrow\":\"⟸\",\"DoubleLongLeftRightArrow\":\"⟺\",\"DoubleLongRightArrow\":\"⟹\",\"DoubleRightArrow\":\"⇒\",\"DoubleRightTee\":\"⊨\",\"DoubleUpArrow\":\"⇑\",\"DoubleUpDownArrow\":\"⇕\",\"DoubleVerticalBar\":\"∥\",\"DownArrowBar\":\"⤓\",\"downarrow\":\"↓\",\"DownArrow\":\"↓\",\"Downarrow\":\"⇓\",\"DownArrowUpArrow\":\"⇵\",\"DownBreve\":\"̑\",\"downdownarrows\":\"⇊\",\"downharpoonleft\":\"⇃\",\"downharpoonright\":\"⇂\",\"DownLeftRightVector\":\"⥐\",\"DownLeftTeeVector\":\"⥞\",\"DownLeftVectorBar\":\"⥖\",\"DownLeftVector\":\"↽\",\"DownRightTeeVector\":\"⥟\",\"DownRightVectorBar\":\"⥗\",\"DownRightVector\":\"⇁\",\"DownTeeArrow\":\"↧\",\"DownTee\":\"⊤\",\"drbkarow\":\"⤐\",\"drcorn\":\"⌟\",\"drcrop\":\"⌌\",\"Dscr\":\"𝒟\",\"dscr\":\"𝒹\",\"DScy\":\"Ѕ\",\"dscy\":\"ѕ\",\"dsol\":\"⧶\",\"Dstrok\":\"Đ\",\"dstrok\":\"đ\",\"dtdot\":\"⋱\",\"dtri\":\"▿\",\"dtrif\":\"▾\",\"duarr\":\"⇵\",\"duhar\":\"⥯\",\"dwangle\":\"⦦\",\"DZcy\":\"Џ\",\"dzcy\":\"џ\",\"dzigrarr\":\"⟿\",\"Eacute\":\"É\",\"eacute\":\"é\",\"easter\":\"⩮\",\"Ecaron\":\"Ě\",\"ecaron\":\"ě\",\"Ecirc\":\"Ê\",\"ecirc\":\"ê\",\"ecir\":\"≖\",\"ecolon\":\"≕\",\"Ecy\":\"Э\",\"ecy\":\"э\",\"eDDot\":\"⩷\",\"Edot\":\"Ė\",\"edot\":\"ė\",\"eDot\":\"≑\",\"ee\":\"ⅇ\",\"efDot\":\"≒\",\"Efr\":\"𝔈\",\"efr\":\"𝔢\",\"eg\":\"⪚\",\"Egrave\":\"È\",\"egrave\":\"è\",\"egs\":\"⪖\",\"egsdot\":\"⪘\",\"el\":\"⪙\",\"Element\":\"∈\",\"elinters\":\"⏧\",\"ell\":\"ℓ\",\"els\":\"⪕\",\"elsdot\":\"⪗\",\"Emacr\":\"Ē\",\"emacr\":\"ē\",\"empty\":\"∅\",\"emptyset\":\"∅\",\"EmptySmallSquare\":\"◻\",\"emptyv\":\"∅\",\"EmptyVerySmallSquare\":\"▫\",\"emsp13\":\" \",\"emsp14\":\" \",\"emsp\":\" \",\"ENG\":\"Ŋ\",\"eng\":\"ŋ\",\"ensp\":\" \",\"Eogon\":\"Ę\",\"eogon\":\"ę\",\"Eopf\":\"𝔼\",\"eopf\":\"𝕖\",\"epar\":\"⋕\",\"eparsl\":\"⧣\",\"eplus\":\"⩱\",\"epsi\":\"ε\",\"Epsilon\":\"Ε\",\"epsilon\":\"ε\",\"epsiv\":\"ϵ\",\"eqcirc\":\"≖\",\"eqcolon\":\"≕\",\"eqsim\":\"≂\",\"eqslantgtr\":\"⪖\",\"eqslantless\":\"⪕\",\"Equal\":\"⩵\",\"equals\":\"=\",\"EqualTilde\":\"≂\",\"equest\":\"≟\",\"Equilibrium\":\"⇌\",\"equiv\":\"≡\",\"equivDD\":\"⩸\",\"eqvparsl\":\"⧥\",\"erarr\":\"⥱\",\"erDot\":\"≓\",\"escr\":\"ℯ\",\"Escr\":\"ℰ\",\"esdot\":\"≐\",\"Esim\":\"⩳\",\"esim\":\"≂\",\"Eta\":\"Η\",\"eta\":\"η\",\"ETH\":\"Ð\",\"eth\":\"ð\",\"Euml\":\"Ë\",\"euml\":\"ë\",\"euro\":\"€\",\"excl\":\"!\",\"exist\":\"∃\",\"Exists\":\"∃\",\"expectation\":\"ℰ\",\"exponentiale\":\"ⅇ\",\"ExponentialE\":\"ⅇ\",\"fallingdotseq\":\"≒\",\"Fcy\":\"Ф\",\"fcy\":\"ф\",\"female\":\"♀\",\"ffilig\":\"ﬃ\",\"fflig\":\"ﬀ\",\"ffllig\":\"ﬄ\",\"Ffr\":\"𝔉\",\"ffr\":\"𝔣\",\"filig\":\"ﬁ\",\"FilledSmallSquare\":\"◼\",\"FilledVerySmallSquare\":\"▪\",\"fjlig\":\"fj\",\"flat\":\"♭\",\"fllig\":\"ﬂ\",\"fltns\":\"▱\",\"fnof\":\"ƒ\",\"Fopf\":\"𝔽\",\"fopf\":\"𝕗\",\"forall\":\"∀\",\"ForAll\":\"∀\",\"fork\":\"⋔\",\"forkv\":\"⫙\",\"Fouriertrf\":\"ℱ\",\"fpartint\":\"⨍\",\"frac12\":\"½\",\"frac13\":\"⅓\",\"frac14\":\"¼\",\"frac15\":\"⅕\",\"frac16\":\"⅙\",\"frac18\":\"⅛\",\"frac23\":\"⅔\",\"frac25\":\"⅖\",\"frac34\":\"¾\",\"frac35\":\"⅗\",\"frac38\":\"⅜\",\"frac45\":\"⅘\",\"frac56\":\"⅚\",\"frac58\":\"⅝\",\"frac78\":\"⅞\",\"frasl\":\"⁄\",\"frown\":\"⌢\",\"fscr\":\"𝒻\",\"Fscr\":\"ℱ\",\"gacute\":\"ǵ\",\"Gamma\":\"Γ\",\"gamma\":\"γ\",\"Gammad\":\"Ϝ\",\"gammad\":\"ϝ\",\"gap\":\"⪆\",\"Gbreve\":\"Ğ\",\"gbreve\":\"ğ\",\"Gcedil\":\"Ģ\",\"Gcirc\":\"Ĝ\",\"gcirc\":\"ĝ\",\"Gcy\":\"Г\",\"gcy\":\"г\",\"Gdot\":\"Ġ\",\"gdot\":\"ġ\",\"ge\":\"≥\",\"gE\":\"≧\",\"gEl\":\"⪌\",\"gel\":\"⋛\",\"geq\":\"≥\",\"geqq\":\"≧\",\"geqslant\":\"⩾\",\"gescc\":\"⪩\",\"ges\":\"⩾\",\"gesdot\":\"⪀\",\"gesdoto\":\"⪂\",\"gesdotol\":\"⪄\",\"gesl\":\"⋛︀\",\"gesles\":\"⪔\",\"Gfr\":\"𝔊\",\"gfr\":\"𝔤\",\"gg\":\"≫\",\"Gg\":\"⋙\",\"ggg\":\"⋙\",\"gimel\":\"ℷ\",\"GJcy\":\"Ѓ\",\"gjcy\":\"ѓ\",\"gla\":\"⪥\",\"gl\":\"≷\",\"glE\":\"⪒\",\"glj\":\"⪤\",\"gnap\":\"⪊\",\"gnapprox\":\"⪊\",\"gne\":\"⪈\",\"gnE\":\"≩\",\"gneq\":\"⪈\",\"gneqq\":\"≩\",\"gnsim\":\"⋧\",\"Gopf\":\"𝔾\",\"gopf\":\"𝕘\",\"grave\":\"`\",\"GreaterEqual\":\"≥\",\"GreaterEqualLess\":\"⋛\",\"GreaterFullEqual\":\"≧\",\"GreaterGreater\":\"⪢\",\"GreaterLess\":\"≷\",\"GreaterSlantEqual\":\"⩾\",\"GreaterTilde\":\"≳\",\"Gscr\":\"𝒢\",\"gscr\":\"ℊ\",\"gsim\":\"≳\",\"gsime\":\"⪎\",\"gsiml\":\"⪐\",\"gtcc\":\"⪧\",\"gtcir\":\"⩺\",\"gt\":\">\",\"GT\":\">\",\"Gt\":\"≫\",\"gtdot\":\"⋗\",\"gtlPar\":\"⦕\",\"gtquest\":\"⩼\",\"gtrapprox\":\"⪆\",\"gtrarr\":\"⥸\",\"gtrdot\":\"⋗\",\"gtreqless\":\"⋛\",\"gtreqqless\":\"⪌\",\"gtrless\":\"≷\",\"gtrsim\":\"≳\",\"gvertneqq\":\"≩︀\",\"gvnE\":\"≩︀\",\"Hacek\":\"ˇ\",\"hairsp\":\" \",\"half\":\"½\",\"hamilt\":\"ℋ\",\"HARDcy\":\"Ъ\",\"hardcy\":\"ъ\",\"harrcir\":\"⥈\",\"harr\":\"↔\",\"hArr\":\"⇔\",\"harrw\":\"↭\",\"Hat\":\"^\",\"hbar\":\"ℏ\",\"Hcirc\":\"Ĥ\",\"hcirc\":\"ĥ\",\"hearts\":\"♥\",\"heartsuit\":\"♥\",\"hellip\":\"…\",\"hercon\":\"⊹\",\"hfr\":\"𝔥\",\"Hfr\":\"ℌ\",\"HilbertSpace\":\"ℋ\",\"hksearow\":\"⤥\",\"hkswarow\":\"⤦\",\"hoarr\":\"⇿\",\"homtht\":\"∻\",\"hookleftarrow\":\"↩\",\"hookrightarrow\":\"↪\",\"hopf\":\"𝕙\",\"Hopf\":\"ℍ\",\"horbar\":\"―\",\"HorizontalLine\":\"─\",\"hscr\":\"𝒽\",\"Hscr\":\"ℋ\",\"hslash\":\"ℏ\",\"Hstrok\":\"Ħ\",\"hstrok\":\"ħ\",\"HumpDownHump\":\"≎\",\"HumpEqual\":\"≏\",\"hybull\":\"⁃\",\"hyphen\":\"‐\",\"Iacute\":\"Í\",\"iacute\":\"í\",\"ic\":\"⁣\",\"Icirc\":\"Î\",\"icirc\":\"î\",\"Icy\":\"И\",\"icy\":\"и\",\"Idot\":\"İ\",\"IEcy\":\"Е\",\"iecy\":\"е\",\"iexcl\":\"¡\",\"iff\":\"⇔\",\"ifr\":\"𝔦\",\"Ifr\":\"ℑ\",\"Igrave\":\"Ì\",\"igrave\":\"ì\",\"ii\":\"ⅈ\",\"iiiint\":\"⨌\",\"iiint\":\"∭\",\"iinfin\":\"⧜\",\"iiota\":\"℩\",\"IJlig\":\"Ĳ\",\"ijlig\":\"ĳ\",\"Imacr\":\"Ī\",\"imacr\":\"ī\",\"image\":\"ℑ\",\"ImaginaryI\":\"ⅈ\",\"imagline\":\"ℐ\",\"imagpart\":\"ℑ\",\"imath\":\"ı\",\"Im\":\"ℑ\",\"imof\":\"⊷\",\"imped\":\"Ƶ\",\"Implies\":\"⇒\",\"incare\":\"℅\",\"in\":\"∈\",\"infin\":\"∞\",\"infintie\":\"⧝\",\"inodot\":\"ı\",\"intcal\":\"⊺\",\"int\":\"∫\",\"Int\":\"∬\",\"integers\":\"ℤ\",\"Integral\":\"∫\",\"intercal\":\"⊺\",\"Intersection\":\"⋂\",\"intlarhk\":\"⨗\",\"intprod\":\"⨼\",\"InvisibleComma\":\"⁣\",\"InvisibleTimes\":\"⁢\",\"IOcy\":\"Ё\",\"iocy\":\"ё\",\"Iogon\":\"Į\",\"iogon\":\"į\",\"Iopf\":\"𝕀\",\"iopf\":\"𝕚\",\"Iota\":\"Ι\",\"iota\":\"ι\",\"iprod\":\"⨼\",\"iquest\":\"¿\",\"iscr\":\"𝒾\",\"Iscr\":\"ℐ\",\"isin\":\"∈\",\"isindot\":\"⋵\",\"isinE\":\"⋹\",\"isins\":\"⋴\",\"isinsv\":\"⋳\",\"isinv\":\"∈\",\"it\":\"⁢\",\"Itilde\":\"Ĩ\",\"itilde\":\"ĩ\",\"Iukcy\":\"І\",\"iukcy\":\"і\",\"Iuml\":\"Ï\",\"iuml\":\"ï\",\"Jcirc\":\"Ĵ\",\"jcirc\":\"ĵ\",\"Jcy\":\"Й\",\"jcy\":\"й\",\"Jfr\":\"𝔍\",\"jfr\":\"𝔧\",\"jmath\":\"ȷ\",\"Jopf\":\"𝕁\",\"jopf\":\"𝕛\",\"Jscr\":\"𝒥\",\"jscr\":\"𝒿\",\"Jsercy\":\"Ј\",\"jsercy\":\"ј\",\"Jukcy\":\"Є\",\"jukcy\":\"є\",\"Kappa\":\"Κ\",\"kappa\":\"κ\",\"kappav\":\"ϰ\",\"Kcedil\":\"Ķ\",\"kcedil\":\"ķ\",\"Kcy\":\"К\",\"kcy\":\"к\",\"Kfr\":\"𝔎\",\"kfr\":\"𝔨\",\"kgreen\":\"ĸ\",\"KHcy\":\"Х\",\"khcy\":\"х\",\"KJcy\":\"Ќ\",\"kjcy\":\"ќ\",\"Kopf\":\"𝕂\",\"kopf\":\"𝕜\",\"Kscr\":\"𝒦\",\"kscr\":\"𝓀\",\"lAarr\":\"⇚\",\"Lacute\":\"Ĺ\",\"lacute\":\"ĺ\",\"laemptyv\":\"⦴\",\"lagran\":\"ℒ\",\"Lambda\":\"Λ\",\"lambda\":\"λ\",\"lang\":\"⟨\",\"Lang\":\"⟪\",\"langd\":\"⦑\",\"langle\":\"⟨\",\"lap\":\"⪅\",\"Laplacetrf\":\"ℒ\",\"laquo\":\"«\",\"larrb\":\"⇤\",\"larrbfs\":\"⤟\",\"larr\":\"←\",\"Larr\":\"↞\",\"lArr\":\"⇐\",\"larrfs\":\"⤝\",\"larrhk\":\"↩\",\"larrlp\":\"↫\",\"larrpl\":\"⤹\",\"larrsim\":\"⥳\",\"larrtl\":\"↢\",\"latail\":\"⤙\",\"lAtail\":\"⤛\",\"lat\":\"⪫\",\"late\":\"⪭\",\"lates\":\"⪭︀\",\"lbarr\":\"⤌\",\"lBarr\":\"⤎\",\"lbbrk\":\"❲\",\"lbrace\":\"{\",\"lbrack\":\"[\",\"lbrke\":\"⦋\",\"lbrksld\":\"⦏\",\"lbrkslu\":\"⦍\",\"Lcaron\":\"Ľ\",\"lcaron\":\"ľ\",\"Lcedil\":\"Ļ\",\"lcedil\":\"ļ\",\"lceil\":\"⌈\",\"lcub\":\"{\",\"Lcy\":\"Л\",\"lcy\":\"л\",\"ldca\":\"⤶\",\"ldquo\":\"“\",\"ldquor\":\"„\",\"ldrdhar\":\"⥧\",\"ldrushar\":\"⥋\",\"ldsh\":\"↲\",\"le\":\"≤\",\"lE\":\"≦\",\"LeftAngleBracket\":\"⟨\",\"LeftArrowBar\":\"⇤\",\"leftarrow\":\"←\",\"LeftArrow\":\"←\",\"Leftarrow\":\"⇐\",\"LeftArrowRightArrow\":\"⇆\",\"leftarrowtail\":\"↢\",\"LeftCeiling\":\"⌈\",\"LeftDoubleBracket\":\"⟦\",\"LeftDownTeeVector\":\"⥡\",\"LeftDownVectorBar\":\"⥙\",\"LeftDownVector\":\"⇃\",\"LeftFloor\":\"⌊\",\"leftharpoondown\":\"↽\",\"leftharpoonup\":\"↼\",\"leftleftarrows\":\"⇇\",\"leftrightarrow\":\"↔\",\"LeftRightArrow\":\"↔\",\"Leftrightarrow\":\"⇔\",\"leftrightarrows\":\"⇆\",\"leftrightharpoons\":\"⇋\",\"leftrightsquigarrow\":\"↭\",\"LeftRightVector\":\"⥎\",\"LeftTeeArrow\":\"↤\",\"LeftTee\":\"⊣\",\"LeftTeeVector\":\"⥚\",\"leftthreetimes\":\"⋋\",\"LeftTriangleBar\":\"⧏\",\"LeftTriangle\":\"⊲\",\"LeftTriangleEqual\":\"⊴\",\"LeftUpDownVector\":\"⥑\",\"LeftUpTeeVector\":\"⥠\",\"LeftUpVectorBar\":\"⥘\",\"LeftUpVector\":\"↿\",\"LeftVectorBar\":\"⥒\",\"LeftVector\":\"↼\",\"lEg\":\"⪋\",\"leg\":\"⋚\",\"leq\":\"≤\",\"leqq\":\"≦\",\"leqslant\":\"⩽\",\"lescc\":\"⪨\",\"les\":\"⩽\",\"lesdot\":\"⩿\",\"lesdoto\":\"⪁\",\"lesdotor\":\"⪃\",\"lesg\":\"⋚︀\",\"lesges\":\"⪓\",\"lessapprox\":\"⪅\",\"lessdot\":\"⋖\",\"lesseqgtr\":\"⋚\",\"lesseqqgtr\":\"⪋\",\"LessEqualGreater\":\"⋚\",\"LessFullEqual\":\"≦\",\"LessGreater\":\"≶\",\"lessgtr\":\"≶\",\"LessLess\":\"⪡\",\"lesssim\":\"≲\",\"LessSlantEqual\":\"⩽\",\"LessTilde\":\"≲\",\"lfisht\":\"⥼\",\"lfloor\":\"⌊\",\"Lfr\":\"𝔏\",\"lfr\":\"𝔩\",\"lg\":\"≶\",\"lgE\":\"⪑\",\"lHar\":\"⥢\",\"lhard\":\"↽\",\"lharu\":\"↼\",\"lharul\":\"⥪\",\"lhblk\":\"▄\",\"LJcy\":\"Љ\",\"ljcy\":\"љ\",\"llarr\":\"⇇\",\"ll\":\"≪\",\"Ll\":\"⋘\",\"llcorner\":\"⌞\",\"Lleftarrow\":\"⇚\",\"llhard\":\"⥫\",\"lltri\":\"◺\",\"Lmidot\":\"Ŀ\",\"lmidot\":\"ŀ\",\"lmoustache\":\"⎰\",\"lmoust\":\"⎰\",\"lnap\":\"⪉\",\"lnapprox\":\"⪉\",\"lne\":\"⪇\",\"lnE\":\"≨\",\"lneq\":\"⪇\",\"lneqq\":\"≨\",\"lnsim\":\"⋦\",\"loang\":\"⟬\",\"loarr\":\"⇽\",\"lobrk\":\"⟦\",\"longleftarrow\":\"⟵\",\"LongLeftArrow\":\"⟵\",\"Longleftarrow\":\"⟸\",\"longleftrightarrow\":\"⟷\",\"LongLeftRightArrow\":\"⟷\",\"Longleftrightarrow\":\"⟺\",\"longmapsto\":\"⟼\",\"longrightarrow\":\"⟶\",\"LongRightArrow\":\"⟶\",\"Longrightarrow\":\"⟹\",\"looparrowleft\":\"↫\",\"looparrowright\":\"↬\",\"lopar\":\"⦅\",\"Lopf\":\"𝕃\",\"lopf\":\"𝕝\",\"loplus\":\"⨭\",\"lotimes\":\"⨴\",\"lowast\":\"∗\",\"lowbar\":\"_\",\"LowerLeftArrow\":\"↙\",\"LowerRightArrow\":\"↘\",\"loz\":\"◊\",\"lozenge\":\"◊\",\"lozf\":\"⧫\",\"lpar\":\"(\",\"lparlt\":\"⦓\",\"lrarr\":\"⇆\",\"lrcorner\":\"⌟\",\"lrhar\":\"⇋\",\"lrhard\":\"⥭\",\"lrm\":\"‎\",\"lrtri\":\"⊿\",\"lsaquo\":\"‹\",\"lscr\":\"𝓁\",\"Lscr\":\"ℒ\",\"lsh\":\"↰\",\"Lsh\":\"↰\",\"lsim\":\"≲\",\"lsime\":\"⪍\",\"lsimg\":\"⪏\",\"lsqb\":\"[\",\"lsquo\":\"‘\",\"lsquor\":\"‚\",\"Lstrok\":\"Ł\",\"lstrok\":\"ł\",\"ltcc\":\"⪦\",\"ltcir\":\"⩹\",\"lt\":\"<\",\"LT\":\"<\",\"Lt\":\"≪\",\"ltdot\":\"⋖\",\"lthree\":\"⋋\",\"ltimes\":\"⋉\",\"ltlarr\":\"⥶\",\"ltquest\":\"⩻\",\"ltri\":\"◃\",\"ltrie\":\"⊴\",\"ltrif\":\"◂\",\"ltrPar\":\"⦖\",\"lurdshar\":\"⥊\",\"luruhar\":\"⥦\",\"lvertneqq\":\"≨︀\",\"lvnE\":\"≨︀\",\"macr\":\"¯\",\"male\":\"♂\",\"malt\":\"✠\",\"maltese\":\"✠\",\"Map\":\"⤅\",\"map\":\"↦\",\"mapsto\":\"↦\",\"mapstodown\":\"↧\",\"mapstoleft\":\"↤\",\"mapstoup\":\"↥\",\"marker\":\"▮\",\"mcomma\":\"⨩\",\"Mcy\":\"М\",\"mcy\":\"м\",\"mdash\":\"—\",\"mDDot\":\"∺\",\"measuredangle\":\"∡\",\"MediumSpace\":\" \",\"Mellintrf\":\"ℳ\",\"Mfr\":\"𝔐\",\"mfr\":\"𝔪\",\"mho\":\"℧\",\"micro\":\"µ\",\"midast\":\"*\",\"midcir\":\"⫰\",\"mid\":\"∣\",\"middot\":\"·\",\"minusb\":\"⊟\",\"minus\":\"−\",\"minusd\":\"∸\",\"minusdu\":\"⨪\",\"MinusPlus\":\"∓\",\"mlcp\":\"⫛\",\"mldr\":\"…\",\"mnplus\":\"∓\",\"models\":\"⊧\",\"Mopf\":\"𝕄\",\"mopf\":\"𝕞\",\"mp\":\"∓\",\"mscr\":\"𝓂\",\"Mscr\":\"ℳ\",\"mstpos\":\"∾\",\"Mu\":\"Μ\",\"mu\":\"μ\",\"multimap\":\"⊸\",\"mumap\":\"⊸\",\"nabla\":\"∇\",\"Nacute\":\"Ń\",\"nacute\":\"ń\",\"nang\":\"∠⃒\",\"nap\":\"≉\",\"napE\":\"⩰̸\",\"napid\":\"≋̸\",\"napos\":\"ŉ\",\"napprox\":\"≉\",\"natural\":\"♮\",\"naturals\":\"ℕ\",\"natur\":\"♮\",\"nbsp\":\" \",\"nbump\":\"≎̸\",\"nbumpe\":\"≏̸\",\"ncap\":\"⩃\",\"Ncaron\":\"Ň\",\"ncaron\":\"ň\",\"Ncedil\":\"Ņ\",\"ncedil\":\"ņ\",\"ncong\":\"≇\",\"ncongdot\":\"⩭̸\",\"ncup\":\"⩂\",\"Ncy\":\"Н\",\"ncy\":\"н\",\"ndash\":\"–\",\"nearhk\":\"⤤\",\"nearr\":\"↗\",\"neArr\":\"⇗\",\"nearrow\":\"↗\",\"ne\":\"≠\",\"nedot\":\"≐̸\",\"NegativeMediumSpace\":\"​\",\"NegativeThickSpace\":\"​\",\"NegativeThinSpace\":\"​\",\"NegativeVeryThinSpace\":\"​\",\"nequiv\":\"≢\",\"nesear\":\"⤨\",\"nesim\":\"≂̸\",\"NestedGreaterGreater\":\"≫\",\"NestedLessLess\":\"≪\",\"NewLine\":\"\\\\n\",\"nexist\":\"∄\",\"nexists\":\"∄\",\"Nfr\":\"𝔑\",\"nfr\":\"𝔫\",\"ngE\":\"≧̸\",\"nge\":\"≱\",\"ngeq\":\"≱\",\"ngeqq\":\"≧̸\",\"ngeqslant\":\"⩾̸\",\"nges\":\"⩾̸\",\"nGg\":\"⋙̸\",\"ngsim\":\"≵\",\"nGt\":\"≫⃒\",\"ngt\":\"≯\",\"ngtr\":\"≯\",\"nGtv\":\"≫̸\",\"nharr\":\"↮\",\"nhArr\":\"⇎\",\"nhpar\":\"⫲\",\"ni\":\"∋\",\"nis\":\"⋼\",\"nisd\":\"⋺\",\"niv\":\"∋\",\"NJcy\":\"Њ\",\"njcy\":\"њ\",\"nlarr\":\"↚\",\"nlArr\":\"⇍\",\"nldr\":\"‥\",\"nlE\":\"≦̸\",\"nle\":\"≰\",\"nleftarrow\":\"↚\",\"nLeftarrow\":\"⇍\",\"nleftrightarrow\":\"↮\",\"nLeftrightarrow\":\"⇎\",\"nleq\":\"≰\",\"nleqq\":\"≦̸\",\"nleqslant\":\"⩽̸\",\"nles\":\"⩽̸\",\"nless\":\"≮\",\"nLl\":\"⋘̸\",\"nlsim\":\"≴\",\"nLt\":\"≪⃒\",\"nlt\":\"≮\",\"nltri\":\"⋪\",\"nltrie\":\"⋬\",\"nLtv\":\"≪̸\",\"nmid\":\"∤\",\"NoBreak\":\"⁠\",\"NonBreakingSpace\":\" \",\"nopf\":\"𝕟\",\"Nopf\":\"ℕ\",\"Not\":\"⫬\",\"not\":\"¬\",\"NotCongruent\":\"≢\",\"NotCupCap\":\"≭\",\"NotDoubleVerticalBar\":\"∦\",\"NotElement\":\"∉\",\"NotEqual\":\"≠\",\"NotEqualTilde\":\"≂̸\",\"NotExists\":\"∄\",\"NotGreater\":\"≯\",\"NotGreaterEqual\":\"≱\",\"NotGreaterFullEqual\":\"≧̸\",\"NotGreaterGreater\":\"≫̸\",\"NotGreaterLess\":\"≹\",\"NotGreaterSlantEqual\":\"⩾̸\",\"NotGreaterTilde\":\"≵\",\"NotHumpDownHump\":\"≎̸\",\"NotHumpEqual\":\"≏̸\",\"notin\":\"∉\",\"notindot\":\"⋵̸\",\"notinE\":\"⋹̸\",\"notinva\":\"∉\",\"notinvb\":\"⋷\",\"notinvc\":\"⋶\",\"NotLeftTriangleBar\":\"⧏̸\",\"NotLeftTriangle\":\"⋪\",\"NotLeftTriangleEqual\":\"⋬\",\"NotLess\":\"≮\",\"NotLessEqual\":\"≰\",\"NotLessGreater\":\"≸\",\"NotLessLess\":\"≪̸\",\"NotLessSlantEqual\":\"⩽̸\",\"NotLessTilde\":\"≴\",\"NotNestedGreaterGreater\":\"⪢̸\",\"NotNestedLessLess\":\"⪡̸\",\"notni\":\"∌\",\"notniva\":\"∌\",\"notnivb\":\"⋾\",\"notnivc\":\"⋽\",\"NotPrecedes\":\"⊀\",\"NotPrecedesEqual\":\"⪯̸\",\"NotPrecedesSlantEqual\":\"⋠\",\"NotReverseElement\":\"∌\",\"NotRightTriangleBar\":\"⧐̸\",\"NotRightTriangle\":\"⋫\",\"NotRightTriangleEqual\":\"⋭\",\"NotSquareSubset\":\"⊏̸\",\"NotSquareSubsetEqual\":\"⋢\",\"NotSquareSuperset\":\"⊐̸\",\"NotSquareSupersetEqual\":\"⋣\",\"NotSubset\":\"⊂⃒\",\"NotSubsetEqual\":\"⊈\",\"NotSucceeds\":\"⊁\",\"NotSucceedsEqual\":\"⪰̸\",\"NotSucceedsSlantEqual\":\"⋡\",\"NotSucceedsTilde\":\"≿̸\",\"NotSuperset\":\"⊃⃒\",\"NotSupersetEqual\":\"⊉\",\"NotTilde\":\"≁\",\"NotTildeEqual\":\"≄\",\"NotTildeFullEqual\":\"≇\",\"NotTildeTilde\":\"≉\",\"NotVerticalBar\":\"∤\",\"nparallel\":\"∦\",\"npar\":\"∦\",\"nparsl\":\"⫽⃥\",\"npart\":\"∂̸\",\"npolint\":\"⨔\",\"npr\":\"⊀\",\"nprcue\":\"⋠\",\"nprec\":\"⊀\",\"npreceq\":\"⪯̸\",\"npre\":\"⪯̸\",\"nrarrc\":\"⤳̸\",\"nrarr\":\"↛\",\"nrArr\":\"⇏\",\"nrarrw\":\"↝̸\",\"nrightarrow\":\"↛\",\"nRightarrow\":\"⇏\",\"nrtri\":\"⋫\",\"nrtrie\":\"⋭\",\"nsc\":\"⊁\",\"nsccue\":\"⋡\",\"nsce\":\"⪰̸\",\"Nscr\":\"𝒩\",\"nscr\":\"𝓃\",\"nshortmid\":\"∤\",\"nshortparallel\":\"∦\",\"nsim\":\"≁\",\"nsime\":\"≄\",\"nsimeq\":\"≄\",\"nsmid\":\"∤\",\"nspar\":\"∦\",\"nsqsube\":\"⋢\",\"nsqsupe\":\"⋣\",\"nsub\":\"⊄\",\"nsubE\":\"⫅̸\",\"nsube\":\"⊈\",\"nsubset\":\"⊂⃒\",\"nsubseteq\":\"⊈\",\"nsubseteqq\":\"⫅̸\",\"nsucc\":\"⊁\",\"nsucceq\":\"⪰̸\",\"nsup\":\"⊅\",\"nsupE\":\"⫆̸\",\"nsupe\":\"⊉\",\"nsupset\":\"⊃⃒\",\"nsupseteq\":\"⊉\",\"nsupseteqq\":\"⫆̸\",\"ntgl\":\"≹\",\"Ntilde\":\"Ñ\",\"ntilde\":\"ñ\",\"ntlg\":\"≸\",\"ntriangleleft\":\"⋪\",\"ntrianglelefteq\":\"⋬\",\"ntriangleright\":\"⋫\",\"ntrianglerighteq\":\"⋭\",\"Nu\":\"Ν\",\"nu\":\"ν\",\"num\":\"#\",\"numero\":\"№\",\"numsp\":\" \",\"nvap\":\"≍⃒\",\"nvdash\":\"⊬\",\"nvDash\":\"⊭\",\"nVdash\":\"⊮\",\"nVDash\":\"⊯\",\"nvge\":\"≥⃒\",\"nvgt\":\">⃒\",\"nvHarr\":\"⤄\",\"nvinfin\":\"⧞\",\"nvlArr\":\"⤂\",\"nvle\":\"≤⃒\",\"nvlt\":\"<⃒\",\"nvltrie\":\"⊴⃒\",\"nvrArr\":\"⤃\",\"nvrtrie\":\"⊵⃒\",\"nvsim\":\"∼⃒\",\"nwarhk\":\"⤣\",\"nwarr\":\"↖\",\"nwArr\":\"⇖\",\"nwarrow\":\"↖\",\"nwnear\":\"⤧\",\"Oacute\":\"Ó\",\"oacute\":\"ó\",\"oast\":\"⊛\",\"Ocirc\":\"Ô\",\"ocirc\":\"ô\",\"ocir\":\"⊚\",\"Ocy\":\"О\",\"ocy\":\"о\",\"odash\":\"⊝\",\"Odblac\":\"Ő\",\"odblac\":\"ő\",\"odiv\":\"⨸\",\"odot\":\"⊙\",\"odsold\":\"⦼\",\"OElig\":\"Œ\",\"oelig\":\"œ\",\"ofcir\":\"⦿\",\"Ofr\":\"𝔒\",\"ofr\":\"𝔬\",\"ogon\":\"˛\",\"Ograve\":\"Ò\",\"ograve\":\"ò\",\"ogt\":\"⧁\",\"ohbar\":\"⦵\",\"ohm\":\"Ω\",\"oint\":\"∮\",\"olarr\":\"↺\",\"olcir\":\"⦾\",\"olcross\":\"⦻\",\"oline\":\"‾\",\"olt\":\"⧀\",\"Omacr\":\"Ō\",\"omacr\":\"ō\",\"Omega\":\"Ω\",\"omega\":\"ω\",\"Omicron\":\"Ο\",\"omicron\":\"ο\",\"omid\":\"⦶\",\"ominus\":\"⊖\",\"Oopf\":\"𝕆\",\"oopf\":\"𝕠\",\"opar\":\"⦷\",\"OpenCurlyDoubleQuote\":\"“\",\"OpenCurlyQuote\":\"‘\",\"operp\":\"⦹\",\"oplus\":\"⊕\",\"orarr\":\"↻\",\"Or\":\"⩔\",\"or\":\"∨\",\"ord\":\"⩝\",\"order\":\"ℴ\",\"orderof\":\"ℴ\",\"ordf\":\"ª\",\"ordm\":\"º\",\"origof\":\"⊶\",\"oror\":\"⩖\",\"orslope\":\"⩗\",\"orv\":\"⩛\",\"oS\":\"Ⓢ\",\"Oscr\":\"𝒪\",\"oscr\":\"ℴ\",\"Oslash\":\"Ø\",\"oslash\":\"ø\",\"osol\":\"⊘\",\"Otilde\":\"Õ\",\"otilde\":\"õ\",\"otimesas\":\"⨶\",\"Otimes\":\"⨷\",\"otimes\":\"⊗\",\"Ouml\":\"Ö\",\"ouml\":\"ö\",\"ovbar\":\"⌽\",\"OverBar\":\"‾\",\"OverBrace\":\"⏞\",\"OverBracket\":\"⎴\",\"OverParenthesis\":\"⏜\",\"para\":\"¶\",\"parallel\":\"∥\",\"par\":\"∥\",\"parsim\":\"⫳\",\"parsl\":\"⫽\",\"part\":\"∂\",\"PartialD\":\"∂\",\"Pcy\":\"П\",\"pcy\":\"п\",\"percnt\":\"%\",\"period\":\".\",\"permil\":\"‰\",\"perp\":\"⊥\",\"pertenk\":\"‱\",\"Pfr\":\"𝔓\",\"pfr\":\"𝔭\",\"Phi\":\"Φ\",\"phi\":\"φ\",\"phiv\":\"ϕ\",\"phmmat\":\"ℳ\",\"phone\":\"☎\",\"Pi\":\"Π\",\"pi\":\"π\",\"pitchfork\":\"⋔\",\"piv\":\"ϖ\",\"planck\":\"ℏ\",\"planckh\":\"ℎ\",\"plankv\":\"ℏ\",\"plusacir\":\"⨣\",\"plusb\":\"⊞\",\"pluscir\":\"⨢\",\"plus\":\"+\",\"plusdo\":\"∔\",\"plusdu\":\"⨥\",\"pluse\":\"⩲\",\"PlusMinus\":\"±\",\"plusmn\":\"±\",\"plussim\":\"⨦\",\"plustwo\":\"⨧\",\"pm\":\"±\",\"Poincareplane\":\"ℌ\",\"pointint\":\"⨕\",\"popf\":\"𝕡\",\"Popf\":\"ℙ\",\"pound\":\"£\",\"prap\":\"⪷\",\"Pr\":\"⪻\",\"pr\":\"≺\",\"prcue\":\"≼\",\"precapprox\":\"⪷\",\"prec\":\"≺\",\"preccurlyeq\":\"≼\",\"Precedes\":\"≺\",\"PrecedesEqual\":\"⪯\",\"PrecedesSlantEqual\":\"≼\",\"PrecedesTilde\":\"≾\",\"preceq\":\"⪯\",\"precnapprox\":\"⪹\",\"precneqq\":\"⪵\",\"precnsim\":\"⋨\",\"pre\":\"⪯\",\"prE\":\"⪳\",\"precsim\":\"≾\",\"prime\":\"′\",\"Prime\":\"″\",\"primes\":\"ℙ\",\"prnap\":\"⪹\",\"prnE\":\"⪵\",\"prnsim\":\"⋨\",\"prod\":\"∏\",\"Product\":\"∏\",\"profalar\":\"⌮\",\"profline\":\"⌒\",\"profsurf\":\"⌓\",\"prop\":\"∝\",\"Proportional\":\"∝\",\"Proportion\":\"∷\",\"propto\":\"∝\",\"prsim\":\"≾\",\"prurel\":\"⊰\",\"Pscr\":\"𝒫\",\"pscr\":\"𝓅\",\"Psi\":\"Ψ\",\"psi\":\"ψ\",\"puncsp\":\" \",\"Qfr\":\"𝔔\",\"qfr\":\"𝔮\",\"qint\":\"⨌\",\"qopf\":\"𝕢\",\"Qopf\":\"ℚ\",\"qprime\":\"⁗\",\"Qscr\":\"𝒬\",\"qscr\":\"𝓆\",\"quaternions\":\"ℍ\",\"quatint\":\"⨖\",\"quest\":\"?\",\"questeq\":\"≟\",\"quot\":\"\\\\\"\",\"QUOT\":\"\\\\\"\",\"rAarr\":\"⇛\",\"race\":\"∽̱\",\"Racute\":\"Ŕ\",\"racute\":\"ŕ\",\"radic\":\"√\",\"raemptyv\":\"⦳\",\"rang\":\"⟩\",\"Rang\":\"⟫\",\"rangd\":\"⦒\",\"range\":\"⦥\",\"rangle\":\"⟩\",\"raquo\":\"»\",\"rarrap\":\"⥵\",\"rarrb\":\"⇥\",\"rarrbfs\":\"⤠\",\"rarrc\":\"⤳\",\"rarr\":\"→\",\"Rarr\":\"↠\",\"rArr\":\"⇒\",\"rarrfs\":\"⤞\",\"rarrhk\":\"↪\",\"rarrlp\":\"↬\",\"rarrpl\":\"⥅\",\"rarrsim\":\"⥴\",\"Rarrtl\":\"⤖\",\"rarrtl\":\"↣\",\"rarrw\":\"↝\",\"ratail\":\"⤚\",\"rAtail\":\"⤜\",\"ratio\":\"∶\",\"rationals\":\"ℚ\",\"rbarr\":\"⤍\",\"rBarr\":\"⤏\",\"RBarr\":\"⤐\",\"rbbrk\":\"❳\",\"rbrace\":\"}\",\"rbrack\":\"]\",\"rbrke\":\"⦌\",\"rbrksld\":\"⦎\",\"rbrkslu\":\"⦐\",\"Rcaron\":\"Ř\",\"rcaron\":\"ř\",\"Rcedil\":\"Ŗ\",\"rcedil\":\"ŗ\",\"rceil\":\"⌉\",\"rcub\":\"}\",\"Rcy\":\"Р\",\"rcy\":\"р\",\"rdca\":\"⤷\",\"rdldhar\":\"⥩\",\"rdquo\":\"”\",\"rdquor\":\"”\",\"rdsh\":\"↳\",\"real\":\"ℜ\",\"realine\":\"ℛ\",\"realpart\":\"ℜ\",\"reals\":\"ℝ\",\"Re\":\"ℜ\",\"rect\":\"▭\",\"reg\":\"®\",\"REG\":\"®\",\"ReverseElement\":\"∋\",\"ReverseEquilibrium\":\"⇋\",\"ReverseUpEquilibrium\":\"⥯\",\"rfisht\":\"⥽\",\"rfloor\":\"⌋\",\"rfr\":\"𝔯\",\"Rfr\":\"ℜ\",\"rHar\":\"⥤\",\"rhard\":\"⇁\",\"rharu\":\"⇀\",\"rharul\":\"⥬\",\"Rho\":\"Ρ\",\"rho\":\"ρ\",\"rhov\":\"ϱ\",\"RightAngleBracket\":\"⟩\",\"RightArrowBar\":\"⇥\",\"rightarrow\":\"→\",\"RightArrow\":\"→\",\"Rightarrow\":\"⇒\",\"RightArrowLeftArrow\":\"⇄\",\"rightarrowtail\":\"↣\",\"RightCeiling\":\"⌉\",\"RightDoubleBracket\":\"⟧\",\"RightDownTeeVector\":\"⥝\",\"RightDownVectorBar\":\"⥕\",\"RightDownVector\":\"⇂\",\"RightFloor\":\"⌋\",\"rightharpoondown\":\"⇁\",\"rightharpoonup\":\"⇀\",\"rightleftarrows\":\"⇄\",\"rightleftharpoons\":\"⇌\",\"rightrightarrows\":\"⇉\",\"rightsquigarrow\":\"↝\",\"RightTeeArrow\":\"↦\",\"RightTee\":\"⊢\",\"RightTeeVector\":\"⥛\",\"rightthreetimes\":\"⋌\",\"RightTriangleBar\":\"⧐\",\"RightTriangle\":\"⊳\",\"RightTriangleEqual\":\"⊵\",\"RightUpDownVector\":\"⥏\",\"RightUpTeeVector\":\"⥜\",\"RightUpVectorBar\":\"⥔\",\"RightUpVector\":\"↾\",\"RightVectorBar\":\"⥓\",\"RightVector\":\"⇀\",\"ring\":\"˚\",\"risingdotseq\":\"≓\",\"rlarr\":\"⇄\",\"rlhar\":\"⇌\",\"rlm\":\"‏\",\"rmoustache\":\"⎱\",\"rmoust\":\"⎱\",\"rnmid\":\"⫮\",\"roang\":\"⟭\",\"roarr\":\"⇾\",\"robrk\":\"⟧\",\"ropar\":\"⦆\",\"ropf\":\"𝕣\",\"Ropf\":\"ℝ\",\"roplus\":\"⨮\",\"rotimes\":\"⨵\",\"RoundImplies\":\"⥰\",\"rpar\":\")\",\"rpargt\":\"⦔\",\"rppolint\":\"⨒\",\"rrarr\":\"⇉\",\"Rrightarrow\":\"⇛\",\"rsaquo\":\"›\",\"rscr\":\"𝓇\",\"Rscr\":\"ℛ\",\"rsh\":\"↱\",\"Rsh\":\"↱\",\"rsqb\":\"]\",\"rsquo\":\"’\",\"rsquor\":\"’\",\"rthree\":\"⋌\",\"rtimes\":\"⋊\",\"rtri\":\"▹\",\"rtrie\":\"⊵\",\"rtrif\":\"▸\",\"rtriltri\":\"⧎\",\"RuleDelayed\":\"⧴\",\"ruluhar\":\"⥨\",\"rx\":\"℞\",\"Sacute\":\"Ś\",\"sacute\":\"ś\",\"sbquo\":\"‚\",\"scap\":\"⪸\",\"Scaron\":\"Š\",\"scaron\":\"š\",\"Sc\":\"⪼\",\"sc\":\"≻\",\"sccue\":\"≽\",\"sce\":\"⪰\",\"scE\":\"⪴\",\"Scedil\":\"Ş\",\"scedil\":\"ş\",\"Scirc\":\"Ŝ\",\"scirc\":\"ŝ\",\"scnap\":\"⪺\",\"scnE\":\"⪶\",\"scnsim\":\"⋩\",\"scpolint\":\"⨓\",\"scsim\":\"≿\",\"Scy\":\"С\",\"scy\":\"с\",\"sdotb\":\"⊡\",\"sdot\":\"⋅\",\"sdote\":\"⩦\",\"searhk\":\"⤥\",\"searr\":\"↘\",\"seArr\":\"⇘\",\"searrow\":\"↘\",\"sect\":\"§\",\"semi\":\";\",\"seswar\":\"⤩\",\"setminus\":\"∖\",\"setmn\":\"∖\",\"sext\":\"✶\",\"Sfr\":\"𝔖\",\"sfr\":\"𝔰\",\"sfrown\":\"⌢\",\"sharp\":\"♯\",\"SHCHcy\":\"Щ\",\"shchcy\":\"щ\",\"SHcy\":\"Ш\",\"shcy\":\"ш\",\"ShortDownArrow\":\"↓\",\"ShortLeftArrow\":\"←\",\"shortmid\":\"∣\",\"shortparallel\":\"∥\",\"ShortRightArrow\":\"→\",\"ShortUpArrow\":\"↑\",\"shy\":\"­\",\"Sigma\":\"Σ\",\"sigma\":\"σ\",\"sigmaf\":\"ς\",\"sigmav\":\"ς\",\"sim\":\"∼\",\"simdot\":\"⩪\",\"sime\":\"≃\",\"simeq\":\"≃\",\"simg\":\"⪞\",\"simgE\":\"⪠\",\"siml\":\"⪝\",\"simlE\":\"⪟\",\"simne\":\"≆\",\"simplus\":\"⨤\",\"simrarr\":\"⥲\",\"slarr\":\"←\",\"SmallCircle\":\"∘\",\"smallsetminus\":\"∖\",\"smashp\":\"⨳\",\"smeparsl\":\"⧤\",\"smid\":\"∣\",\"smile\":\"⌣\",\"smt\":\"⪪\",\"smte\":\"⪬\",\"smtes\":\"⪬︀\",\"SOFTcy\":\"Ь\",\"softcy\":\"ь\",\"solbar\":\"⌿\",\"solb\":\"⧄\",\"sol\":\"/\",\"Sopf\":\"𝕊\",\"sopf\":\"𝕤\",\"spades\":\"♠\",\"spadesuit\":\"♠\",\"spar\":\"∥\",\"sqcap\":\"⊓\",\"sqcaps\":\"⊓︀\",\"sqcup\":\"⊔\",\"sqcups\":\"⊔︀\",\"Sqrt\":\"√\",\"sqsub\":\"⊏\",\"sqsube\":\"⊑\",\"sqsubset\":\"⊏\",\"sqsubseteq\":\"⊑\",\"sqsup\":\"⊐\",\"sqsupe\":\"⊒\",\"sqsupset\":\"⊐\",\"sqsupseteq\":\"⊒\",\"square\":\"□\",\"Square\":\"□\",\"SquareIntersection\":\"⊓\",\"SquareSubset\":\"⊏\",\"SquareSubsetEqual\":\"⊑\",\"SquareSuperset\":\"⊐\",\"SquareSupersetEqual\":\"⊒\",\"SquareUnion\":\"⊔\",\"squarf\":\"▪\",\"squ\":\"□\",\"squf\":\"▪\",\"srarr\":\"→\",\"Sscr\":\"𝒮\",\"sscr\":\"𝓈\",\"ssetmn\":\"∖\",\"ssmile\":\"⌣\",\"sstarf\":\"⋆\",\"Star\":\"⋆\",\"star\":\"☆\",\"starf\":\"★\",\"straightepsilon\":\"ϵ\",\"straightphi\":\"ϕ\",\"strns\":\"¯\",\"sub\":\"⊂\",\"Sub\":\"⋐\",\"subdot\":\"⪽\",\"subE\":\"⫅\",\"sube\":\"⊆\",\"subedot\":\"⫃\",\"submult\":\"⫁\",\"subnE\":\"⫋\",\"subne\":\"⊊\",\"subplus\":\"⪿\",\"subrarr\":\"⥹\",\"subset\":\"⊂\",\"Subset\":\"⋐\",\"subseteq\":\"⊆\",\"subseteqq\":\"⫅\",\"SubsetEqual\":\"⊆\",\"subsetneq\":\"⊊\",\"subsetneqq\":\"⫋\",\"subsim\":\"⫇\",\"subsub\":\"⫕\",\"subsup\":\"⫓\",\"succapprox\":\"⪸\",\"succ\":\"≻\",\"succcurlyeq\":\"≽\",\"Succeeds\":\"≻\",\"SucceedsEqual\":\"⪰\",\"SucceedsSlantEqual\":\"≽\",\"SucceedsTilde\":\"≿\",\"succeq\":\"⪰\",\"succnapprox\":\"⪺\",\"succneqq\":\"⪶\",\"succnsim\":\"⋩\",\"succsim\":\"≿\",\"SuchThat\":\"∋\",\"sum\":\"∑\",\"Sum\":\"∑\",\"sung\":\"♪\",\"sup1\":\"¹\",\"sup2\":\"²\",\"sup3\":\"³\",\"sup\":\"⊃\",\"Sup\":\"⋑\",\"supdot\":\"⪾\",\"supdsub\":\"⫘\",\"supE\":\"⫆\",\"supe\":\"⊇\",\"supedot\":\"⫄\",\"Superset\":\"⊃\",\"SupersetEqual\":\"⊇\",\"suphsol\":\"⟉\",\"suphsub\":\"⫗\",\"suplarr\":\"⥻\",\"supmult\":\"⫂\",\"supnE\":\"⫌\",\"supne\":\"⊋\",\"supplus\":\"⫀\",\"supset\":\"⊃\",\"Supset\":\"⋑\",\"supseteq\":\"⊇\",\"supseteqq\":\"⫆\",\"supsetneq\":\"⊋\",\"supsetneqq\":\"⫌\",\"supsim\":\"⫈\",\"supsub\":\"⫔\",\"supsup\":\"⫖\",\"swarhk\":\"⤦\",\"swarr\":\"↙\",\"swArr\":\"⇙\",\"swarrow\":\"↙\",\"swnwar\":\"⤪\",\"szlig\":\"ß\",\"Tab\":\"\\\\t\",\"target\":\"⌖\",\"Tau\":\"Τ\",\"tau\":\"τ\",\"tbrk\":\"⎴\",\"Tcaron\":\"Ť\",\"tcaron\":\"ť\",\"Tcedil\":\"Ţ\",\"tcedil\":\"ţ\",\"Tcy\":\"Т\",\"tcy\":\"т\",\"tdot\":\"⃛\",\"telrec\":\"⌕\",\"Tfr\":\"𝔗\",\"tfr\":\"𝔱\",\"there4\":\"∴\",\"therefore\":\"∴\",\"Therefore\":\"∴\",\"Theta\":\"Θ\",\"theta\":\"θ\",\"thetasym\":\"ϑ\",\"thetav\":\"ϑ\",\"thickapprox\":\"≈\",\"thicksim\":\"∼\",\"ThickSpace\":\"  \",\"ThinSpace\":\" \",\"thinsp\":\" \",\"thkap\":\"≈\",\"thksim\":\"∼\",\"THORN\":\"Þ\",\"thorn\":\"þ\",\"tilde\":\"˜\",\"Tilde\":\"∼\",\"TildeEqual\":\"≃\",\"TildeFullEqual\":\"≅\",\"TildeTilde\":\"≈\",\"timesbar\":\"⨱\",\"timesb\":\"⊠\",\"times\":\"×\",\"timesd\":\"⨰\",\"tint\":\"∭\",\"toea\":\"⤨\",\"topbot\":\"⌶\",\"topcir\":\"⫱\",\"top\":\"⊤\",\"Topf\":\"𝕋\",\"topf\":\"𝕥\",\"topfork\":\"⫚\",\"tosa\":\"⤩\",\"tprime\":\"‴\",\"trade\":\"™\",\"TRADE\":\"™\",\"triangle\":\"▵\",\"triangledown\":\"▿\",\"triangleleft\":\"◃\",\"trianglelefteq\":\"⊴\",\"triangleq\":\"≜\",\"triangleright\":\"▹\",\"trianglerighteq\":\"⊵\",\"tridot\":\"◬\",\"trie\":\"≜\",\"triminus\":\"⨺\",\"TripleDot\":\"⃛\",\"triplus\":\"⨹\",\"trisb\":\"⧍\",\"tritime\":\"⨻\",\"trpezium\":\"⏢\",\"Tscr\":\"𝒯\",\"tscr\":\"𝓉\",\"TScy\":\"Ц\",\"tscy\":\"ц\",\"TSHcy\":\"Ћ\",\"tshcy\":\"ћ\",\"Tstrok\":\"Ŧ\",\"tstrok\":\"ŧ\",\"twixt\":\"≬\",\"twoheadleftarrow\":\"↞\",\"twoheadrightarrow\":\"↠\",\"Uacute\":\"Ú\",\"uacute\":\"ú\",\"uarr\":\"↑\",\"Uarr\":\"↟\",\"uArr\":\"⇑\",\"Uarrocir\":\"⥉\",\"Ubrcy\":\"Ў\",\"ubrcy\":\"ў\",\"Ubreve\":\"Ŭ\",\"ubreve\":\"ŭ\",\"Ucirc\":\"Û\",\"ucirc\":\"û\",\"Ucy\":\"У\",\"ucy\":\"у\",\"udarr\":\"⇅\",\"Udblac\":\"Ű\",\"udblac\":\"ű\",\"udhar\":\"⥮\",\"ufisht\":\"⥾\",\"Ufr\":\"𝔘\",\"ufr\":\"𝔲\",\"Ugrave\":\"Ù\",\"ugrave\":\"ù\",\"uHar\":\"⥣\",\"uharl\":\"↿\",\"uharr\":\"↾\",\"uhblk\":\"▀\",\"ulcorn\":\"⌜\",\"ulcorner\":\"⌜\",\"ulcrop\":\"⌏\",\"ultri\":\"◸\",\"Umacr\":\"Ū\",\"umacr\":\"ū\",\"uml\":\"¨\",\"UnderBar\":\"_\",\"UnderBrace\":\"⏟\",\"UnderBracket\":\"⎵\",\"UnderParenthesis\":\"⏝\",\"Union\":\"⋃\",\"UnionPlus\":\"⊎\",\"Uogon\":\"Ų\",\"uogon\":\"ų\",\"Uopf\":\"𝕌\",\"uopf\":\"𝕦\",\"UpArrowBar\":\"⤒\",\"uparrow\":\"↑\",\"UpArrow\":\"↑\",\"Uparrow\":\"⇑\",\"UpArrowDownArrow\":\"⇅\",\"updownarrow\":\"↕\",\"UpDownArrow\":\"↕\",\"Updownarrow\":\"⇕\",\"UpEquilibrium\":\"⥮\",\"upharpoonleft\":\"↿\",\"upharpoonright\":\"↾\",\"uplus\":\"⊎\",\"UpperLeftArrow\":\"↖\",\"UpperRightArrow\":\"↗\",\"upsi\":\"υ\",\"Upsi\":\"ϒ\",\"upsih\":\"ϒ\",\"Upsilon\":\"Υ\",\"upsilon\":\"υ\",\"UpTeeArrow\":\"↥\",\"UpTee\":\"⊥\",\"upuparrows\":\"⇈\",\"urcorn\":\"⌝\",\"urcorner\":\"⌝\",\"urcrop\":\"⌎\",\"Uring\":\"Ů\",\"uring\":\"ů\",\"urtri\":\"◹\",\"Uscr\":\"𝒰\",\"uscr\":\"𝓊\",\"utdot\":\"⋰\",\"Utilde\":\"Ũ\",\"utilde\":\"ũ\",\"utri\":\"▵\",\"utrif\":\"▴\",\"uuarr\":\"⇈\",\"Uuml\":\"Ü\",\"uuml\":\"ü\",\"uwangle\":\"⦧\",\"vangrt\":\"⦜\",\"varepsilon\":\"ϵ\",\"varkappa\":\"ϰ\",\"varnothing\":\"∅\",\"varphi\":\"ϕ\",\"varpi\":\"ϖ\",\"varpropto\":\"∝\",\"varr\":\"↕\",\"vArr\":\"⇕\",\"varrho\":\"ϱ\",\"varsigma\":\"ς\",\"varsubsetneq\":\"⊊︀\",\"varsubsetneqq\":\"⫋︀\",\"varsupsetneq\":\"⊋︀\",\"varsupsetneqq\":\"⫌︀\",\"vartheta\":\"ϑ\",\"vartriangleleft\":\"⊲\",\"vartriangleright\":\"⊳\",\"vBar\":\"⫨\",\"Vbar\":\"⫫\",\"vBarv\":\"⫩\",\"Vcy\":\"В\",\"vcy\":\"в\",\"vdash\":\"⊢\",\"vDash\":\"⊨\",\"Vdash\":\"⊩\",\"VDash\":\"⊫\",\"Vdashl\":\"⫦\",\"veebar\":\"⊻\",\"vee\":\"∨\",\"Vee\":\"⋁\",\"veeeq\":\"≚\",\"vellip\":\"⋮\",\"verbar\":\"|\",\"Verbar\":\"‖\",\"vert\":\"|\",\"Vert\":\"‖\",\"VerticalBar\":\"∣\",\"VerticalLine\":\"|\",\"VerticalSeparator\":\"❘\",\"VerticalTilde\":\"≀\",\"VeryThinSpace\":\" \",\"Vfr\":\"𝔙\",\"vfr\":\"𝔳\",\"vltri\":\"⊲\",\"vnsub\":\"⊂⃒\",\"vnsup\":\"⊃⃒\",\"Vopf\":\"𝕍\",\"vopf\":\"𝕧\",\"vprop\":\"∝\",\"vrtri\":\"⊳\",\"Vscr\":\"𝒱\",\"vscr\":\"𝓋\",\"vsubnE\":\"⫋︀\",\"vsubne\":\"⊊︀\",\"vsupnE\":\"⫌︀\",\"vsupne\":\"⊋︀\",\"Vvdash\":\"⊪\",\"vzigzag\":\"⦚\",\"Wcirc\":\"Ŵ\",\"wcirc\":\"ŵ\",\"wedbar\":\"⩟\",\"wedge\":\"∧\",\"Wedge\":\"⋀\",\"wedgeq\":\"≙\",\"weierp\":\"℘\",\"Wfr\":\"𝔚\",\"wfr\":\"𝔴\",\"Wopf\":\"𝕎\",\"wopf\":\"𝕨\",\"wp\":\"℘\",\"wr\":\"≀\",\"wreath\":\"≀\",\"Wscr\":\"𝒲\",\"wscr\":\"𝓌\",\"xcap\":\"⋂\",\"xcirc\":\"◯\",\"xcup\":\"⋃\",\"xdtri\":\"▽\",\"Xfr\":\"𝔛\",\"xfr\":\"𝔵\",\"xharr\":\"⟷\",\"xhArr\":\"⟺\",\"Xi\":\"Ξ\",\"xi\":\"ξ\",\"xlarr\":\"⟵\",\"xlArr\":\"⟸\",\"xmap\":\"⟼\",\"xnis\":\"⋻\",\"xodot\":\"⨀\",\"Xopf\":\"𝕏\",\"xopf\":\"𝕩\",\"xoplus\":\"⨁\",\"xotime\":\"⨂\",\"xrarr\":\"⟶\",\"xrArr\":\"⟹\",\"Xscr\":\"𝒳\",\"xscr\":\"𝓍\",\"xsqcup\":\"⨆\",\"xuplus\":\"⨄\",\"xutri\":\"△\",\"xvee\":\"⋁\",\"xwedge\":\"⋀\",\"Yacute\":\"Ý\",\"yacute\":\"ý\",\"YAcy\":\"Я\",\"yacy\":\"я\",\"Ycirc\":\"Ŷ\",\"ycirc\":\"ŷ\",\"Ycy\":\"Ы\",\"ycy\":\"ы\",\"yen\":\"¥\",\"Yfr\":\"𝔜\",\"yfr\":\"𝔶\",\"YIcy\":\"Ї\",\"yicy\":\"ї\",\"Yopf\":\"𝕐\",\"yopf\":\"𝕪\",\"Yscr\":\"𝒴\",\"yscr\":\"𝓎\",\"YUcy\":\"Ю\",\"yucy\":\"ю\",\"yuml\":\"ÿ\",\"Yuml\":\"Ÿ\",\"Zacute\":\"Ź\",\"zacute\":\"ź\",\"Zcaron\":\"Ž\",\"zcaron\":\"ž\",\"Zcy\":\"З\",\"zcy\":\"з\",\"Zdot\":\"Ż\",\"zdot\":\"ż\",\"zeetrf\":\"ℨ\",\"ZeroWidthSpace\":\"​\",\"Zeta\":\"Ζ\",\"zeta\":\"ζ\",\"zfr\":\"𝔷\",\"Zfr\":\"ℨ\",\"ZHcy\":\"Ж\",\"zhcy\":\"ж\",\"zigrarr\":\"⇝\",\"zopf\":\"𝕫\",\"Zopf\":\"ℤ\",\"Zscr\":\"𝒵\",\"zscr\":\"𝓏\",\"zwj\":\"‍\",\"zwnj\":\"‌\"}')},function(e,t,n){\"use strict\";var r={};function i(e,t,n){var o,a,s,u,c,l=\"\";for(\"string\"!=typeof t&&(n=t,t=i.defaultChars),void 0===n&&(n=!0),c=function(e){var t,n,i=r[e];if(i)return i;for(i=r[e]=[],t=0;t<128;t++)n=String.fromCharCode(t),/^[0-9a-z]$/i.test(n)?i.push(n):i.push(\"%\"+(\"0\"+t.toString(16).toUpperCase()).slice(-2));for(t=0;t<e.length;t++)i[e.charCodeAt(t)]=e[t];return i}(t),o=0,a=e.length;o<a;o++)if(s=e.charCodeAt(o),n&&37===s&&o+2<a&&/^[0-9a-f]{2}$/i.test(e.slice(o+1,o+3)))l+=e.slice(o,o+3),o+=2;else if(s<128)l+=c[s];else if(s>=55296&&s<=57343){if(s>=55296&&s<=56319&&o+1<a&&(u=e.charCodeAt(o+1))>=56320&&u<=57343){l+=encodeURIComponent(e[o]+e[o+1]),o++;continue}l+=\"%EF%BF%BD\"}else l+=encodeURIComponent(e[o]);return l}i.defaultChars=\";/?:@&=+$,-_.!~*'()#\",i.componentChars=\"-_.!~*'()\",e.exports=i},function(e,t,n){\"use strict\";var r={};function i(e,t){var n;return\"string\"!=typeof t&&(t=i.defaultChars),n=function(e){var t,n,i=r[e];if(i)return i;for(i=r[e]=[],t=0;t<128;t++)n=String.fromCharCode(t),i.push(n);for(t=0;t<e.length;t++)i[n=e.charCodeAt(t)]=\"%\"+(\"0\"+n.toString(16).toUpperCase()).slice(-2);return i}(t),e.replace(/(%[a-f0-9]{2})+/gi,(function(e){var t,r,i,o,a,s,u,c=\"\";for(t=0,r=e.length;t<r;t+=3)(i=parseInt(e.slice(t+1,t+3),16))<128?c+=n[i]:192==(224&i)&&t+3<r&&128==(192&(o=parseInt(e.slice(t+4,t+6),16)))?(c+=(u=i<<6&1984|63&o)<128?\"��\":String.fromCharCode(u),t+=3):224==(240&i)&&t+6<r&&(o=parseInt(e.slice(t+4,t+6),16),a=parseInt(e.slice(t+7,t+9),16),128==(192&o)&&128==(192&a))?(c+=(u=i<<12&61440|o<<6&4032|63&a)<2048||u>=55296&&u<=57343?\"���\":String.fromCharCode(u),t+=6):240==(248&i)&&t+9<r&&(o=parseInt(e.slice(t+4,t+6),16),a=parseInt(e.slice(t+7,t+9),16),s=parseInt(e.slice(t+10,t+12),16),128==(192&o)&&128==(192&a)&&128==(192&s))?((u=i<<18&1835008|o<<12&258048|a<<6&4032|63&s)<65536||u>1114111?c+=\"����\":(u-=65536,c+=String.fromCharCode(55296+(u>>10),56320+(1023&u))),t+=9):c+=\"�\";return c}))}i.defaultChars=\";/?:@&=+$,#\",i.componentChars=\"\",e.exports=i},function(e,t,n){\"use strict\";e.exports=function(e){var t=\"\";return t+=e.protocol||\"\",t+=e.slashes?\"//\":\"\",t+=e.auth?e.auth+\"@\":\"\",e.hostname&&-1!==e.hostname.indexOf(\":\")?t+=\"[\"+e.hostname+\"]\":t+=e.hostname||\"\",t+=e.port?\":\"+e.port:\"\",t+=e.pathname||\"\",t+=e.search||\"\",t+=e.hash||\"\"}},function(e,t,n){\"use strict\";function r(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}var i=/^([a-z0-9.+-]+:)/i,o=/:[0-9]*$/,a=/^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,s=[\"{\",\"}\",\"|\",\"\\\\\",\"^\",\"`\"].concat([\"<\",\">\",'\"',\"`\",\" \",\"\\r\",\"\\n\",\"\\t\"]),u=[\"'\"].concat(s),c=[\"%\",\"/\",\"?\",\";\",\"#\"].concat(u),l=[\"/\",\"?\",\"#\"],p=/^[+a-z0-9A-Z_-]{0,63}$/,f=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,d={javascript:!0,\"javascript:\":!0},h={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,\"http:\":!0,\"https:\":!0,\"ftp:\":!0,\"gopher:\":!0,\"file:\":!0};r.prototype.parse=function(e,t){var n,r,o,s,u,m=e;if(m=m.trim(),!t&&1===e.split(\"#\").length){var g=a.exec(m);if(g)return this.pathname=g[1],g[2]&&(this.search=g[2]),this}var y=i.exec(m);if(y&&(o=(y=y[0]).toLowerCase(),this.protocol=y,m=m.substr(y.length)),(t||y||m.match(/^\\/\\/[^@\\/]+@[^@\\/]+/))&&(!(u=\"//\"===m.substr(0,2))||y&&d[y]||(m=m.substr(2),this.slashes=!0)),!d[y]&&(u||y&&!h[y])){var v,b,E=-1;for(n=0;n<l.length;n++)-1!==(s=m.indexOf(l[n]))&&(-1===E||s<E)&&(E=s);for(-1!==(b=-1===E?m.lastIndexOf(\"@\"):m.lastIndexOf(\"@\",E))&&(v=m.slice(0,b),m=m.slice(b+1),this.auth=v),E=-1,n=0;n<c.length;n++)-1!==(s=m.indexOf(c[n]))&&(-1===E||s<E)&&(E=s);-1===E&&(E=m.length),\":\"===m[E-1]&&E--;var x=m.slice(0,E);m=m.slice(E),this.parseHost(x),this.hostname=this.hostname||\"\";var D=\"[\"===this.hostname[0]&&\"]\"===this.hostname[this.hostname.length-1];if(!D){var C=this.hostname.split(/\\./);for(n=0,r=C.length;n<r;n++){var w=C[n];if(w&&!w.match(p)){for(var S=\"\",k=0,A=w.length;k<A;k++)w.charCodeAt(k)>127?S+=\"x\":S+=w[k];if(!S.match(p)){var T=C.slice(0,n),_=C.slice(n+1),O=w.match(f);O&&(T.push(O[1]),_.unshift(O[2])),_.length&&(m=_.join(\".\")+m),this.hostname=T.join(\".\");break}}}}this.hostname.length>255&&(this.hostname=\"\"),D&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}var F=m.indexOf(\"#\");-1!==F&&(this.hash=m.substr(F),m=m.slice(0,F));var N=m.indexOf(\"?\");return-1!==N&&(this.search=m.substr(N),m=m.slice(0,N)),m&&(this.pathname=m),h[o]&&this.hostname&&!this.pathname&&(this.pathname=\"\"),this},r.prototype.parseHost=function(e){var t=o.exec(e);t&&(\":\"!==(t=t[0])&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)},e.exports=function(e,t){if(e&&e instanceof r)return e;var n=new r;return n.parse(e,t),n}},function(e,t){e.exports=/[\\xAD\\u0600-\\u0605\\u061C\\u06DD\\u070F\\u08E2\\u180E\\u200B-\\u200F\\u202A-\\u202E\\u2060-\\u2064\\u2066-\\u206F\\uFEFF\\uFFF9-\\uFFFB]|\\uD804[\\uDCBD\\uDCCD]|\\uD82F[\\uDCA0-\\uDCA3]|\\uD834[\\uDD73-\\uDD7A]|\\uDB40[\\uDC01\\uDC20-\\uDC7F]/},function(e,t,n){\"use strict\";t.parseLinkLabel=n(330),t.parseLinkDestination=n(331),t.parseLinkTitle=n(332)},function(e,t,n){\"use strict\";e.exports=function(e,t,n){var r,i,o,a,s=-1,u=e.posMax,c=e.pos;for(e.pos=t+1,r=1;e.pos<u;){if(93===(o=e.src.charCodeAt(e.pos))&&0===--r){i=!0;break}if(a=e.pos,e.md.inline.skipToken(e),91===o)if(a===e.pos-1)r++;else if(n)return e.pos=c,-1}return i&&(s=e.pos),e.pos=c,s}},function(e,t,n){\"use strict\";var r=n(22).isSpace,i=n(22).unescapeAll;e.exports=function(e,t,n){var o,a,s=t,u={ok:!1,pos:0,lines:0,str:\"\"};if(60===e.charCodeAt(t)){for(t++;t<n;){if(10===(o=e.charCodeAt(t))||r(o))return u;if(62===o)return u.pos=t+1,u.str=i(e.slice(s+1,t)),u.ok=!0,u;92===o&&t+1<n?t+=2:t++}return u}for(a=0;t<n&&32!==(o=e.charCodeAt(t))&&!(o<32||127===o);)if(92===o&&t+1<n)t+=2;else{if(40===o&&a++,41===o){if(0===a)break;a--}t++}return s===t||0!==a||(u.str=i(e.slice(s,t)),u.lines=0,u.pos=t,u.ok=!0),u}},function(e,t,n){\"use strict\";var r=n(22).unescapeAll;e.exports=function(e,t,n){var i,o,a=0,s=t,u={ok:!1,pos:0,lines:0,str:\"\"};if(t>=n)return u;if(34!==(o=e.charCodeAt(t))&&39!==o&&40!==o)return u;for(t++,40===o&&(o=41);t<n;){if((i=e.charCodeAt(t))===o)return u.pos=t+1,u.lines=a,u.str=r(e.slice(s+1,t)),u.ok=!0,u;10===i?a++:92===i&&t+1<n&&(t++,10===e.charCodeAt(t)&&a++),t++}return u}},function(e,t,n){\"use strict\";var r=n(22).assign,i=n(22).unescapeAll,o=n(22).escapeHtml,a={};function s(){this.rules=r({},a)}a.code_inline=function(e,t,n,r,i){var a=e[t];return\"<code\"+i.renderAttrs(a)+\">\"+o(e[t].content)+\"</code>\"},a.code_block=function(e,t,n,r,i){var a=e[t];return\"<pre\"+i.renderAttrs(a)+\"><code>\"+o(e[t].content)+\"</code></pre>\\n\"},a.fence=function(e,t,n,r,a){var s,u,c,l,p=e[t],f=p.info?i(p.info).trim():\"\",d=\"\";return f&&(d=f.split(/\\s+/g)[0]),0===(s=n.highlight&&n.highlight(p.content,d)||o(p.content)).indexOf(\"<pre\")?s+\"\\n\":f?(u=p.attrIndex(\"class\"),c=p.attrs?p.attrs.slice():[],u<0?c.push([\"class\",n.langPrefix+d]):c[u][1]+=\" \"+n.langPrefix+d,l={attrs:c},\"<pre><code\"+a.renderAttrs(l)+\">\"+s+\"</code></pre>\\n\"):\"<pre><code\"+a.renderAttrs(p)+\">\"+s+\"</code></pre>\\n\"},a.image=function(e,t,n,r,i){var o=e[t];return o.attrs[o.attrIndex(\"alt\")][1]=i.renderInlineAsText(o.children,n,r),i.renderToken(e,t,n)},a.hardbreak=function(e,t,n){return n.xhtmlOut?\"<br />\\n\":\"<br>\\n\"},a.softbreak=function(e,t,n){return n.breaks?n.xhtmlOut?\"<br />\\n\":\"<br>\\n\":\"\\n\"},a.text=function(e,t){return o(e[t].content)},a.html_block=function(e,t){return e[t].content},a.html_inline=function(e,t){return e[t].content},s.prototype.renderAttrs=function(e){var t,n,r;if(!e.attrs)return\"\";for(r=\"\",t=0,n=e.attrs.length;t<n;t++)r+=\" \"+o(e.attrs[t][0])+'=\"'+o(e.attrs[t][1])+'\"';return r},s.prototype.renderToken=function(e,t,n){var r,i=\"\",o=!1,a=e[t];return a.hidden?\"\":(a.block&&-1!==a.nesting&&t&&e[t-1].hidden&&(i+=\"\\n\"),i+=(-1===a.nesting?\"</\":\"<\")+a.tag,i+=this.renderAttrs(a),0===a.nesting&&n.xhtmlOut&&(i+=\" /\"),a.block&&(o=!0,1===a.nesting&&t+1<e.length&&(\"inline\"===(r=e[t+1]).type||r.hidden||-1===r.nesting&&r.tag===a.tag)&&(o=!1)),i+=o?\">\\n\":\">\")},s.prototype.renderInline=function(e,t,n){for(var r,i=\"\",o=this.rules,a=0,s=e.length;a<s;a++)void 0!==o[r=e[a].type]?i+=o[r](e,a,t,n,this):i+=this.renderToken(e,a,t);return i},s.prototype.renderInlineAsText=function(e,t,n){for(var r=\"\",i=0,o=e.length;i<o;i++)\"text\"===e[i].type?r+=e[i].content:\"image\"===e[i].type&&(r+=this.renderInlineAsText(e[i].children,t,n));return r},s.prototype.render=function(e,t,n){var r,i,o,a=\"\",s=this.rules;for(r=0,i=e.length;r<i;r++)\"inline\"===(o=e[r].type)?a+=this.renderInline(e[r].children,t,n):void 0!==s[o]?a+=s[e[r].type](e,r,t,n,this):a+=this.renderToken(e,r,t,n);return a},e.exports=s},function(e,t,n){\"use strict\";var r=n(122),i=[[\"normalize\",n(335)],[\"block\",n(336)],[\"inline\",n(337)],[\"linkify\",n(338)],[\"replacements\",n(339)],[\"smartquotes\",n(340)]];function o(){this.ruler=new r;for(var e=0;e<i.length;e++)this.ruler.push(i[e][0],i[e][1])}o.prototype.process=function(e){var t,n,r;for(t=0,n=(r=this.ruler.getRules(\"\")).length;t<n;t++)r[t](e)},o.prototype.State=n(341),e.exports=o},function(e,t,n){\"use strict\";var r=/\\r[\\n\\u0085]?|[\\u2424\\u2028\\u0085]/g,i=/\\u0000/g;e.exports=function(e){var t;t=(t=e.src.replace(r,\"\\n\")).replace(i,\"�\"),e.src=t}},function(e,t,n){\"use strict\";e.exports=function(e){var t;e.inlineMode?((t=new e.Token(\"inline\",\"\",0)).content=e.src,t.map=[0,1],t.children=[],e.tokens.push(t)):e.md.block.parse(e.src,e.md,e.env,e.tokens)}},function(e,t,n){\"use strict\";e.exports=function(e){var t,n,r,i=e.tokens;for(n=0,r=i.length;n<r;n++)\"inline\"===(t=i[n]).type&&e.md.inline.parse(t.content,e.md,e.env,t.children)}},function(e,t,n){\"use strict\";var r=n(22).arrayReplaceAt;function i(e){return/^<\\/a\\s*>/i.test(e)}e.exports=function(e){var t,n,o,a,s,u,c,l,p,f,d,h,m,g,y,v,b,E,x=e.tokens;if(e.md.options.linkify)for(n=0,o=x.length;n<o;n++)if(\"inline\"===x[n].type&&e.md.linkify.pretest(x[n].content))for(m=0,t=(a=x[n].children).length-1;t>=0;t--)if(\"link_close\"!==(u=a[t]).type){if(\"html_inline\"===u.type&&(E=u.content,/^<a[>\\s]/i.test(E)&&m>0&&m--,i(u.content)&&m++),!(m>0)&&\"text\"===u.type&&e.md.linkify.test(u.content)){for(p=u.content,b=e.md.linkify.match(p),c=[],h=u.level,d=0,l=0;l<b.length;l++)g=b[l].url,y=e.md.normalizeLink(g),e.md.validateLink(y)&&(v=b[l].text,v=b[l].schema?\"mailto:\"!==b[l].schema||/^mailto:/i.test(v)?e.md.normalizeLinkText(v):e.md.normalizeLinkText(\"mailto:\"+v).replace(/^mailto:/,\"\"):e.md.normalizeLinkText(\"http://\"+v).replace(/^http:\\/\\//,\"\"),(f=b[l].index)>d&&((s=new e.Token(\"text\",\"\",0)).content=p.slice(d,f),s.level=h,c.push(s)),(s=new e.Token(\"link_open\",\"a\",1)).attrs=[[\"href\",y]],s.level=h++,s.markup=\"linkify\",s.info=\"auto\",c.push(s),(s=new e.Token(\"text\",\"\",0)).content=v,s.level=h,c.push(s),(s=new e.Token(\"link_close\",\"a\",-1)).level=--h,s.markup=\"linkify\",s.info=\"auto\",c.push(s),d=b[l].lastIndex);d<p.length&&((s=new e.Token(\"text\",\"\",0)).content=p.slice(d),s.level=h,c.push(s)),x[n].children=a=r(a,t,c)}}else for(t--;a[t].level!==u.level&&\"link_open\"!==a[t].type;)t--}},function(e,t,n){\"use strict\";var r=/\\+-|\\.\\.|\\?\\?\\?\\?|!!!!|,,|--/,i=/\\((c|tm|r|p)\\)/i,o=/\\((c|tm|r|p)\\)/gi,a={c:\"©\",r:\"®\",p:\"§\",tm:\"™\"};function s(e,t){return a[t.toLowerCase()]}function u(e){var t,n,r=0;for(t=e.length-1;t>=0;t--)\"text\"!==(n=e[t]).type||r||(n.content=n.content.replace(o,s)),\"link_open\"===n.type&&\"auto\"===n.info&&r--,\"link_close\"===n.type&&\"auto\"===n.info&&r++}function c(e){var t,n,i=0;for(t=e.length-1;t>=0;t--)\"text\"!==(n=e[t]).type||i||r.test(n.content)&&(n.content=n.content.replace(/\\+-/g,\"±\").replace(/\\.{2,}/g,\"…\").replace(/([?!])…/g,\"$1..\").replace(/([?!]){4,}/g,\"$1$1$1\").replace(/,{2,}/g,\",\").replace(/(^|[^-])---([^-]|$)/gm,\"$1—$2\").replace(/(^|\\s)--(\\s|$)/gm,\"$1–$2\").replace(/(^|[^-\\s])--([^-\\s]|$)/gm,\"$1–$2\")),\"link_open\"===n.type&&\"auto\"===n.info&&i--,\"link_close\"===n.type&&\"auto\"===n.info&&i++}e.exports=function(e){var t;if(e.md.options.typographer)for(t=e.tokens.length-1;t>=0;t--)\"inline\"===e.tokens[t].type&&(i.test(e.tokens[t].content)&&u(e.tokens[t].children),r.test(e.tokens[t].content)&&c(e.tokens[t].children))}},function(e,t,n){\"use strict\";var r=n(22).isWhiteSpace,i=n(22).isPunctChar,o=n(22).isMdAsciiPunct,a=/['\"]/,s=/['\"]/g;function u(e,t,n){return e.substr(0,t)+n+e.substr(t+1)}function c(e,t){var n,a,c,l,p,f,d,h,m,g,y,v,b,E,x,D,C,w,S,k,A;for(S=[],n=0;n<e.length;n++){for(a=e[n],d=e[n].level,C=S.length-1;C>=0&&!(S[C].level<=d);C--);if(S.length=C+1,\"text\"===a.type){p=0,f=(c=a.content).length;e:for(;p<f&&(s.lastIndex=p,l=s.exec(c));){if(x=D=!0,p=l.index+1,w=\"'\"===l[0],m=32,l.index-1>=0)m=c.charCodeAt(l.index-1);else for(C=n-1;C>=0&&(\"softbreak\"!==e[C].type&&\"hardbreak\"!==e[C].type);C--)if(\"text\"===e[C].type){m=e[C].content.charCodeAt(e[C].content.length-1);break}if(g=32,p<f)g=c.charCodeAt(p);else for(C=n+1;C<e.length&&(\"softbreak\"!==e[C].type&&\"hardbreak\"!==e[C].type);C++)if(\"text\"===e[C].type){g=e[C].content.charCodeAt(0);break}if(y=o(m)||i(String.fromCharCode(m)),v=o(g)||i(String.fromCharCode(g)),b=r(m),(E=r(g))?x=!1:v&&(b||y||(x=!1)),b?D=!1:y&&(E||v||(D=!1)),34===g&&'\"'===l[0]&&m>=48&&m<=57&&(D=x=!1),x&&D&&(x=!1,D=v),x||D){if(D)for(C=S.length-1;C>=0&&(h=S[C],!(S[C].level<d));C--)if(h.single===w&&S[C].level===d){h=S[C],w?(k=t.md.options.quotes[2],A=t.md.options.quotes[3]):(k=t.md.options.quotes[0],A=t.md.options.quotes[1]),a.content=u(a.content,l.index,A),e[h.token].content=u(e[h.token].content,h.pos,k),p+=A.length-1,h.token===n&&(p+=k.length-1),f=(c=a.content).length,S.length=C;continue e}x?S.push({token:n,pos:l.index,single:w,level:d}):D&&w&&(a.content=u(a.content,l.index,\"’\"))}else w&&(a.content=u(a.content,l.index,\"’\"))}}}}e.exports=function(e){var t;if(e.md.options.typographer)for(t=e.tokens.length-1;t>=0;t--)\"inline\"===e.tokens[t].type&&a.test(e.tokens[t].content)&&c(e.tokens[t].children,e)}},function(e,t,n){\"use strict\";var r=n(123);function i(e,t,n){this.src=e,this.env=n,this.tokens=[],this.inlineMode=!1,this.md=t}i.prototype.Token=r,e.exports=i},function(e,t,n){\"use strict\";var r=n(122),i=[[\"table\",n(343),[\"paragraph\",\"reference\"]],[\"code\",n(344)],[\"fence\",n(345),[\"paragraph\",\"reference\",\"blockquote\",\"list\"]],[\"blockquote\",n(346),[\"paragraph\",\"reference\",\"blockquote\",\"list\"]],[\"hr\",n(347),[\"paragraph\",\"reference\",\"blockquote\",\"list\"]],[\"list\",n(348),[\"paragraph\",\"reference\",\"blockquote\"]],[\"reference\",n(349)],[\"heading\",n(350),[\"paragraph\",\"reference\",\"blockquote\"]],[\"lheading\",n(351)],[\"html_block\",n(352),[\"paragraph\",\"reference\",\"blockquote\"]],[\"paragraph\",n(354)]];function o(){this.ruler=new r;for(var e=0;e<i.length;e++)this.ruler.push(i[e][0],i[e][1],{alt:(i[e][2]||[]).slice()})}o.prototype.tokenize=function(e,t,n){for(var r,i=this.ruler.getRules(\"\"),o=i.length,a=t,s=!1,u=e.md.options.maxNesting;a<n&&(e.line=a=e.skipEmptyLines(a),!(a>=n))&&!(e.sCount[a]<e.blkIndent);){if(e.level>=u){e.line=n;break}for(r=0;r<o&&!i[r](e,a,n,!1);r++);e.tight=!s,e.isEmpty(e.line-1)&&(s=!0),(a=e.line)<n&&e.isEmpty(a)&&(s=!0,a++,e.line=a)}},o.prototype.parse=function(e,t,n,r){var i;e&&(i=new this.State(e,t,n,r),this.tokenize(i,i.line,i.lineMax))},o.prototype.State=n(355),e.exports=o},function(e,t,n){\"use strict\";var r=n(22).isSpace;function i(e,t){var n=e.bMarks[t]+e.blkIndent,r=e.eMarks[t];return e.src.substr(n,r-n)}function o(e){var t,n=[],r=0,i=e.length,o=0,a=0,s=!1,u=0;for(t=e.charCodeAt(r);r<i;)96===t?s?(s=!1,u=r):o%2==0&&(s=!0,u=r):124!==t||o%2!=0||s||(n.push(e.substring(a,r)),a=r+1),92===t?o++:o=0,++r===i&&s&&(s=!1,r=u+1),t=e.charCodeAt(r);return n.push(e.substring(a)),n}e.exports=function(e,t,n,a){var s,u,c,l,p,f,d,h,m,g,y,v;if(t+2>n)return!1;if(p=t+1,e.sCount[p]<e.blkIndent)return!1;if(e.sCount[p]-e.blkIndent>=4)return!1;if((c=e.bMarks[p]+e.tShift[p])>=e.eMarks[p])return!1;if(124!==(s=e.src.charCodeAt(c++))&&45!==s&&58!==s)return!1;for(;c<e.eMarks[p];){if(124!==(s=e.src.charCodeAt(c))&&45!==s&&58!==s&&!r(s))return!1;c++}for(f=(u=i(e,t+1)).split(\"|\"),m=[],l=0;l<f.length;l++){if(!(g=f[l].trim())){if(0===l||l===f.length-1)continue;return!1}if(!/^:?-+:?$/.test(g))return!1;58===g.charCodeAt(g.length-1)?m.push(58===g.charCodeAt(0)?\"center\":\"right\"):58===g.charCodeAt(0)?m.push(\"left\"):m.push(\"\")}if(-1===(u=i(e,t).trim()).indexOf(\"|\"))return!1;if(e.sCount[t]-e.blkIndent>=4)return!1;if((d=(f=o(u.replace(/^\\||\\|$/g,\"\"))).length)>m.length)return!1;if(a)return!0;for((h=e.push(\"table_open\",\"table\",1)).map=y=[t,0],(h=e.push(\"thead_open\",\"thead\",1)).map=[t,t+1],(h=e.push(\"tr_open\",\"tr\",1)).map=[t,t+1],l=0;l<f.length;l++)(h=e.push(\"th_open\",\"th\",1)).map=[t,t+1],m[l]&&(h.attrs=[[\"style\",\"text-align:\"+m[l]]]),(h=e.push(\"inline\",\"\",0)).content=f[l].trim(),h.map=[t,t+1],h.children=[],h=e.push(\"th_close\",\"th\",-1);for(h=e.push(\"tr_close\",\"tr\",-1),h=e.push(\"thead_close\",\"thead\",-1),(h=e.push(\"tbody_open\",\"tbody\",1)).map=v=[t+2,0],p=t+2;p<n&&!(e.sCount[p]<e.blkIndent)&&-1!==(u=i(e,p).trim()).indexOf(\"|\")&&!(e.sCount[p]-e.blkIndent>=4);p++){for(f=o(u.replace(/^\\||\\|$/g,\"\")),h=e.push(\"tr_open\",\"tr\",1),l=0;l<d;l++)h=e.push(\"td_open\",\"td\",1),m[l]&&(h.attrs=[[\"style\",\"text-align:\"+m[l]]]),(h=e.push(\"inline\",\"\",0)).content=f[l]?f[l].trim():\"\",h.children=[],h=e.push(\"td_close\",\"td\",-1);h=e.push(\"tr_close\",\"tr\",-1)}return h=e.push(\"tbody_close\",\"tbody\",-1),h=e.push(\"table_close\",\"table\",-1),y[1]=v[1]=p,e.line=p,!0}},function(e,t,n){\"use strict\";e.exports=function(e,t,n){var r,i,o;if(e.sCount[t]-e.blkIndent<4)return!1;for(i=r=t+1;r<n;)if(e.isEmpty(r))r++;else{if(!(e.sCount[r]-e.blkIndent>=4))break;i=++r}return e.line=i,(o=e.push(\"code_block\",\"code\",0)).content=e.getLines(t,i,4+e.blkIndent,!0),o.map=[t,e.line],!0}},function(e,t,n){\"use strict\";e.exports=function(e,t,n,r){var i,o,a,s,u,c,l,p=!1,f=e.bMarks[t]+e.tShift[t],d=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;if(f+3>d)return!1;if(126!==(i=e.src.charCodeAt(f))&&96!==i)return!1;if(u=f,(o=(f=e.skipChars(f,i))-u)<3)return!1;if(l=e.src.slice(u,f),(a=e.src.slice(f,d)).indexOf(String.fromCharCode(i))>=0)return!1;if(r)return!0;for(s=t;!(++s>=n)&&!((f=u=e.bMarks[s]+e.tShift[s])<(d=e.eMarks[s])&&e.sCount[s]<e.blkIndent);)if(e.src.charCodeAt(f)===i&&!(e.sCount[s]-e.blkIndent>=4||(f=e.skipChars(f,i))-u<o||(f=e.skipSpaces(f))<d)){p=!0;break}return o=e.sCount[t],e.line=s+(p?1:0),(c=e.push(\"fence\",\"code\",0)).info=a,c.content=e.getLines(t+1,s,o,!0),c.markup=l,c.map=[t,e.line],!0}},function(e,t,n){\"use strict\";var r=n(22).isSpace;e.exports=function(e,t,n,i){var o,a,s,u,c,l,p,f,d,h,m,g,y,v,b,E,x,D,C,w,S=e.lineMax,k=e.bMarks[t]+e.tShift[t],A=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;if(62!==e.src.charCodeAt(k++))return!1;if(i)return!0;for(u=d=e.sCount[t]+k-(e.bMarks[t]+e.tShift[t]),32===e.src.charCodeAt(k)?(k++,u++,d++,o=!1,E=!0):9===e.src.charCodeAt(k)?(E=!0,(e.bsCount[t]+d)%4==3?(k++,u++,d++,o=!1):o=!0):E=!1,h=[e.bMarks[t]],e.bMarks[t]=k;k<A&&(a=e.src.charCodeAt(k),r(a));)9===a?d+=4-(d+e.bsCount[t]+(o?1:0))%4:d++,k++;for(m=[e.bsCount[t]],e.bsCount[t]=e.sCount[t]+1+(E?1:0),l=k>=A,v=[e.sCount[t]],e.sCount[t]=d-u,b=[e.tShift[t]],e.tShift[t]=k-e.bMarks[t],D=e.md.block.ruler.getRules(\"blockquote\"),y=e.parentType,e.parentType=\"blockquote\",w=!1,f=t+1;f<n&&(e.sCount[f]<e.blkIndent&&(w=!0),!((k=e.bMarks[f]+e.tShift[f])>=(A=e.eMarks[f])));f++)if(62!==e.src.charCodeAt(k++)||w){if(l)break;for(x=!1,s=0,c=D.length;s<c;s++)if(D[s](e,f,n,!0)){x=!0;break}if(x){e.lineMax=f,0!==e.blkIndent&&(h.push(e.bMarks[f]),m.push(e.bsCount[f]),b.push(e.tShift[f]),v.push(e.sCount[f]),e.sCount[f]-=e.blkIndent);break}h.push(e.bMarks[f]),m.push(e.bsCount[f]),b.push(e.tShift[f]),v.push(e.sCount[f]),e.sCount[f]=-1}else{for(u=d=e.sCount[f]+k-(e.bMarks[f]+e.tShift[f]),32===e.src.charCodeAt(k)?(k++,u++,d++,o=!1,E=!0):9===e.src.charCodeAt(k)?(E=!0,(e.bsCount[f]+d)%4==3?(k++,u++,d++,o=!1):o=!0):E=!1,h.push(e.bMarks[f]),e.bMarks[f]=k;k<A&&(a=e.src.charCodeAt(k),r(a));)9===a?d+=4-(d+e.bsCount[f]+(o?1:0))%4:d++,k++;l=k>=A,m.push(e.bsCount[f]),e.bsCount[f]=e.sCount[f]+1+(E?1:0),v.push(e.sCount[f]),e.sCount[f]=d-u,b.push(e.tShift[f]),e.tShift[f]=k-e.bMarks[f]}for(g=e.blkIndent,e.blkIndent=0,(C=e.push(\"blockquote_open\",\"blockquote\",1)).markup=\">\",C.map=p=[t,0],e.md.block.tokenize(e,t,f),(C=e.push(\"blockquote_close\",\"blockquote\",-1)).markup=\">\",e.lineMax=S,e.parentType=y,p[1]=e.line,s=0;s<b.length;s++)e.bMarks[s+t]=h[s],e.tShift[s+t]=b[s],e.sCount[s+t]=v[s],e.bsCount[s+t]=m[s];return e.blkIndent=g,!0}},function(e,t,n){\"use strict\";var r=n(22).isSpace;e.exports=function(e,t,n,i){var o,a,s,u,c=e.bMarks[t]+e.tShift[t],l=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;if(42!==(o=e.src.charCodeAt(c++))&&45!==o&&95!==o)return!1;for(a=1;c<l;){if((s=e.src.charCodeAt(c++))!==o&&!r(s))return!1;s===o&&a++}return!(a<3)&&(i||(e.line=t+1,(u=e.push(\"hr\",\"hr\",0)).map=[t,e.line],u.markup=Array(a+1).join(String.fromCharCode(o))),!0)}},function(e,t,n){\"use strict\";var r=n(22).isSpace;function i(e,t){var n,i,o,a;return i=e.bMarks[t]+e.tShift[t],o=e.eMarks[t],42!==(n=e.src.charCodeAt(i++))&&45!==n&&43!==n||i<o&&(a=e.src.charCodeAt(i),!r(a))?-1:i}function o(e,t){var n,i=e.bMarks[t]+e.tShift[t],o=i,a=e.eMarks[t];if(o+1>=a)return-1;if((n=e.src.charCodeAt(o++))<48||n>57)return-1;for(;;){if(o>=a)return-1;if(!((n=e.src.charCodeAt(o++))>=48&&n<=57)){if(41===n||46===n)break;return-1}if(o-i>=10)return-1}return o<a&&(n=e.src.charCodeAt(o),!r(n))?-1:o}e.exports=function(e,t,n,r){var a,s,u,c,l,p,f,d,h,m,g,y,v,b,E,x,D,C,w,S,k,A,T,_,O,F,N,I,M=!1,j=!0;if(e.sCount[t]-e.blkIndent>=4)return!1;if(r&&\"paragraph\"===e.parentType&&e.tShift[t]>=e.blkIndent&&(M=!0),(T=o(e,t))>=0){if(f=!0,O=e.bMarks[t]+e.tShift[t],v=Number(e.src.substr(O,T-O-1)),M&&1!==v)return!1}else{if(!((T=i(e,t))>=0))return!1;f=!1}if(M&&e.skipSpaces(T)>=e.eMarks[t])return!1;if(y=e.src.charCodeAt(T-1),r)return!0;for(g=e.tokens.length,f?(I=e.push(\"ordered_list_open\",\"ol\",1),1!==v&&(I.attrs=[[\"start\",v]])):I=e.push(\"bullet_list_open\",\"ul\",1),I.map=m=[t,0],I.markup=String.fromCharCode(y),E=t,_=!1,N=e.md.block.ruler.getRules(\"list\"),w=e.parentType,e.parentType=\"list\";E<n;){for(A=T,b=e.eMarks[E],p=x=e.sCount[E]+T-(e.bMarks[t]+e.tShift[t]);A<b;){if(9===(a=e.src.charCodeAt(A)))x+=4-(x+e.bsCount[E])%4;else{if(32!==a)break;x++}A++}if((l=(s=A)>=b?1:x-p)>4&&(l=1),c=p+l,(I=e.push(\"list_item_open\",\"li\",1)).markup=String.fromCharCode(y),I.map=d=[t,0],D=e.blkIndent,k=e.tight,S=e.tShift[t],C=e.sCount[t],e.blkIndent=c,e.tight=!0,e.tShift[t]=s-e.bMarks[t],e.sCount[t]=x,s>=b&&e.isEmpty(t+1)?e.line=Math.min(e.line+2,n):e.md.block.tokenize(e,t,n,!0),e.tight&&!_||(j=!1),_=e.line-t>1&&e.isEmpty(e.line-1),e.blkIndent=D,e.tShift[t]=S,e.sCount[t]=C,e.tight=k,(I=e.push(\"list_item_close\",\"li\",-1)).markup=String.fromCharCode(y),E=t=e.line,d[1]=E,s=e.bMarks[t],E>=n)break;if(e.sCount[E]<e.blkIndent)break;for(F=!1,u=0,h=N.length;u<h;u++)if(N[u](e,E,n,!0)){F=!0;break}if(F)break;if(f){if((T=o(e,E))<0)break}else if((T=i(e,E))<0)break;if(y!==e.src.charCodeAt(T-1))break}return(I=f?e.push(\"ordered_list_close\",\"ol\",-1):e.push(\"bullet_list_close\",\"ul\",-1)).markup=String.fromCharCode(y),m[1]=E,e.line=E,e.parentType=w,j&&function(e,t){var n,r,i=e.level+2;for(n=t+2,r=e.tokens.length-2;n<r;n++)e.tokens[n].level===i&&\"paragraph_open\"===e.tokens[n].type&&(e.tokens[n+2].hidden=!0,e.tokens[n].hidden=!0,n+=2)}(e,g),!0}},function(e,t,n){\"use strict\";var r=n(22).normalizeReference,i=n(22).isSpace;e.exports=function(e,t,n,o){var a,s,u,c,l,p,f,d,h,m,g,y,v,b,E,x,D=0,C=e.bMarks[t]+e.tShift[t],w=e.eMarks[t],S=t+1;if(e.sCount[t]-e.blkIndent>=4)return!1;if(91!==e.src.charCodeAt(C))return!1;for(;++C<w;)if(93===e.src.charCodeAt(C)&&92!==e.src.charCodeAt(C-1)){if(C+1===w)return!1;if(58!==e.src.charCodeAt(C+1))return!1;break}for(c=e.lineMax,E=e.md.block.ruler.getRules(\"reference\"),m=e.parentType,e.parentType=\"reference\";S<c&&!e.isEmpty(S);S++)if(!(e.sCount[S]-e.blkIndent>3||e.sCount[S]<0)){for(b=!1,p=0,f=E.length;p<f;p++)if(E[p](e,S,c,!0)){b=!0;break}if(b)break}for(w=(v=e.getLines(t,S,e.blkIndent,!1).trim()).length,C=1;C<w;C++){if(91===(a=v.charCodeAt(C)))return!1;if(93===a){h=C;break}(10===a||92===a&&++C<w&&10===v.charCodeAt(C))&&D++}if(h<0||58!==v.charCodeAt(h+1))return!1;for(C=h+2;C<w;C++)if(10===(a=v.charCodeAt(C)))D++;else if(!i(a))break;if(!(g=e.md.helpers.parseLinkDestination(v,C,w)).ok)return!1;if(l=e.md.normalizeLink(g.str),!e.md.validateLink(l))return!1;for(s=C=g.pos,u=D+=g.lines,y=C;C<w;C++)if(10===(a=v.charCodeAt(C)))D++;else if(!i(a))break;for(g=e.md.helpers.parseLinkTitle(v,C,w),C<w&&y!==C&&g.ok?(x=g.str,C=g.pos,D+=g.lines):(x=\"\",C=s,D=u);C<w&&(a=v.charCodeAt(C),i(a));)C++;if(C<w&&10!==v.charCodeAt(C)&&x)for(x=\"\",C=s,D=u;C<w&&(a=v.charCodeAt(C),i(a));)C++;return!(C<w&&10!==v.charCodeAt(C))&&(!!(d=r(v.slice(1,h)))&&(o||(void 0===e.env.references&&(e.env.references={}),void 0===e.env.references[d]&&(e.env.references[d]={title:x,href:l}),e.parentType=m,e.line=t+D+1),!0))}},function(e,t,n){\"use strict\";var r=n(22).isSpace;e.exports=function(e,t,n,i){var o,a,s,u,c=e.bMarks[t]+e.tShift[t],l=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;if(35!==(o=e.src.charCodeAt(c))||c>=l)return!1;for(a=1,o=e.src.charCodeAt(++c);35===o&&c<l&&a<=6;)a++,o=e.src.charCodeAt(++c);return!(a>6||c<l&&!r(o))&&(i||(l=e.skipSpacesBack(l,c),(s=e.skipCharsBack(l,35,c))>c&&r(e.src.charCodeAt(s-1))&&(l=s),e.line=t+1,(u=e.push(\"heading_open\",\"h\"+String(a),1)).markup=\"########\".slice(0,a),u.map=[t,e.line],(u=e.push(\"inline\",\"\",0)).content=e.src.slice(c,l).trim(),u.map=[t,e.line],u.children=[],(u=e.push(\"heading_close\",\"h\"+String(a),-1)).markup=\"########\".slice(0,a)),!0)}},function(e,t,n){\"use strict\";e.exports=function(e,t,n){var r,i,o,a,s,u,c,l,p,f,d=t+1,h=e.md.block.ruler.getRules(\"paragraph\");if(e.sCount[t]-e.blkIndent>=4)return!1;for(f=e.parentType,e.parentType=\"paragraph\";d<n&&!e.isEmpty(d);d++)if(!(e.sCount[d]-e.blkIndent>3)){if(e.sCount[d]>=e.blkIndent&&(u=e.bMarks[d]+e.tShift[d])<(c=e.eMarks[d])&&(45===(p=e.src.charCodeAt(u))||61===p)&&(u=e.skipChars(u,p),(u=e.skipSpaces(u))>=c)){l=61===p?1:2;break}if(!(e.sCount[d]<0)){for(i=!1,o=0,a=h.length;o<a;o++)if(h[o](e,d,n,!0)){i=!0;break}if(i)break}}return!!l&&(r=e.getLines(t,d,e.blkIndent,!1).trim(),e.line=d+1,(s=e.push(\"heading_open\",\"h\"+String(l),1)).markup=String.fromCharCode(p),s.map=[t,e.line],(s=e.push(\"inline\",\"\",0)).content=r,s.map=[t,e.line-1],s.children=[],(s=e.push(\"heading_close\",\"h\"+String(l),-1)).markup=String.fromCharCode(p),e.parentType=f,!0)}},function(e,t,n){\"use strict\";var r=n(353),i=n(175).HTML_OPEN_CLOSE_TAG_RE,o=[[/^<(script|pre|style)(?=(\\s|>|$))/i,/<\\/(script|pre|style)>/i,!0],[/^<!--/,/-->/,!0],[/^<\\?/,/\\?>/,!0],[/^<![A-Z]/,/>/,!0],[/^<!\\[CDATA\\[/,/\\]\\]>/,!0],[new RegExp(\"^</?(\"+r.join(\"|\")+\")(?=(\\\\s|/?>|$))\",\"i\"),/^$/,!0],[new RegExp(i.source+\"\\\\s*$\"),/^$/,!1]];e.exports=function(e,t,n,r){var i,a,s,u,c=e.bMarks[t]+e.tShift[t],l=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;if(!e.md.options.html)return!1;if(60!==e.src.charCodeAt(c))return!1;for(u=e.src.slice(c,l),i=0;i<o.length&&!o[i][0].test(u);i++);if(i===o.length)return!1;if(r)return o[i][2];if(a=t+1,!o[i][1].test(u))for(;a<n&&!(e.sCount[a]<e.blkIndent);a++)if(c=e.bMarks[a]+e.tShift[a],l=e.eMarks[a],u=e.src.slice(c,l),o[i][1].test(u)){0!==u.length&&a++;break}return e.line=a,(s=e.push(\"html_block\",\"\",0)).map=[t,a],s.content=e.getLines(t,a,e.blkIndent,!0),!0}},function(e,t,n){\"use strict\";e.exports=[\"address\",\"article\",\"aside\",\"base\",\"basefont\",\"blockquote\",\"body\",\"caption\",\"center\",\"col\",\"colgroup\",\"dd\",\"details\",\"dialog\",\"dir\",\"div\",\"dl\",\"dt\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"frame\",\"frameset\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hr\",\"html\",\"iframe\",\"legend\",\"li\",\"link\",\"main\",\"menu\",\"menuitem\",\"meta\",\"nav\",\"noframes\",\"ol\",\"optgroup\",\"option\",\"p\",\"param\",\"section\",\"source\",\"summary\",\"table\",\"tbody\",\"td\",\"tfoot\",\"th\",\"thead\",\"title\",\"tr\",\"track\",\"ul\"]},function(e,t,n){\"use strict\";e.exports=function(e,t){var n,r,i,o,a,s,u=t+1,c=e.md.block.ruler.getRules(\"paragraph\"),l=e.lineMax;for(s=e.parentType,e.parentType=\"paragraph\";u<l&&!e.isEmpty(u);u++)if(!(e.sCount[u]-e.blkIndent>3||e.sCount[u]<0)){for(r=!1,i=0,o=c.length;i<o;i++)if(c[i](e,u,l,!0)){r=!0;break}if(r)break}return n=e.getLines(t,u,e.blkIndent,!1).trim(),e.line=u,(a=e.push(\"paragraph_open\",\"p\",1)).map=[t,e.line],(a=e.push(\"inline\",\"\",0)).content=n,a.map=[t,e.line],a.children=[],a=e.push(\"paragraph_close\",\"p\",-1),e.parentType=s,!0}},function(e,t,n){\"use strict\";var r=n(123),i=n(22).isSpace;function o(e,t,n,r){var o,a,s,u,c,l,p,f;for(this.src=e,this.md=t,this.env=n,this.tokens=r,this.bMarks=[],this.eMarks=[],this.tShift=[],this.sCount=[],this.bsCount=[],this.blkIndent=0,this.line=0,this.lineMax=0,this.tight=!1,this.ddIndent=-1,this.parentType=\"root\",this.level=0,this.result=\"\",f=!1,s=u=l=p=0,c=(a=this.src).length;u<c;u++){if(o=a.charCodeAt(u),!f){if(i(o)){l++,9===o?p+=4-p%4:p++;continue}f=!0}10!==o&&u!==c-1||(10!==o&&u++,this.bMarks.push(s),this.eMarks.push(u),this.tShift.push(l),this.sCount.push(p),this.bsCount.push(0),f=!1,l=0,p=0,s=u+1)}this.bMarks.push(a.length),this.eMarks.push(a.length),this.tShift.push(0),this.sCount.push(0),this.bsCount.push(0),this.lineMax=this.bMarks.length-1}o.prototype.push=function(e,t,n){var i=new r(e,t,n);return i.block=!0,n<0&&this.level--,i.level=this.level,n>0&&this.level++,this.tokens.push(i),i},o.prototype.isEmpty=function(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]},o.prototype.skipEmptyLines=function(e){for(var t=this.lineMax;e<t&&!(this.bMarks[e]+this.tShift[e]<this.eMarks[e]);e++);return e},o.prototype.skipSpaces=function(e){for(var t,n=this.src.length;e<n&&(t=this.src.charCodeAt(e),i(t));e++);return e},o.prototype.skipSpacesBack=function(e,t){if(e<=t)return e;for(;e>t;)if(!i(this.src.charCodeAt(--e)))return e+1;return e},o.prototype.skipChars=function(e,t){for(var n=this.src.length;e<n&&this.src.charCodeAt(e)===t;e++);return e},o.prototype.skipCharsBack=function(e,t,n){if(e<=n)return e;for(;e>n;)if(t!==this.src.charCodeAt(--e))return e+1;return e},o.prototype.getLines=function(e,t,n,r){var o,a,s,u,c,l,p,f=e;if(e>=t)return\"\";for(l=new Array(t-e),o=0;f<t;f++,o++){for(a=0,p=u=this.bMarks[f],c=f+1<t||r?this.eMarks[f]+1:this.eMarks[f];u<c&&a<n;){if(s=this.src.charCodeAt(u),i(s))9===s?a+=4-(a+this.bsCount[f])%4:a++;else{if(!(u-p<this.tShift[f]))break;a++}u++}l[o]=a>n?new Array(a-n+1).join(\" \")+this.src.slice(u,c):this.src.slice(u,c)}return l.join(\"\")},o.prototype.Token=r,e.exports=o},function(e,t,n){\"use strict\";var r=n(122),i=[[\"text\",n(357)],[\"newline\",n(358)],[\"escape\",n(359)],[\"backticks\",n(360)],[\"strikethrough\",n(176).tokenize],[\"emphasis\",n(177).tokenize],[\"link\",n(361)],[\"image\",n(362)],[\"autolink\",n(363)],[\"html_inline\",n(364)],[\"entity\",n(365)]],o=[[\"balance_pairs\",n(366)],[\"strikethrough\",n(176).postProcess],[\"emphasis\",n(177).postProcess],[\"text_collapse\",n(367)]];function a(){var e;for(this.ruler=new r,e=0;e<i.length;e++)this.ruler.push(i[e][0],i[e][1]);for(this.ruler2=new r,e=0;e<o.length;e++)this.ruler2.push(o[e][0],o[e][1])}a.prototype.skipToken=function(e){var t,n,r=e.pos,i=this.ruler.getRules(\"\"),o=i.length,a=e.md.options.maxNesting,s=e.cache;if(void 0===s[r]){if(e.level<a)for(n=0;n<o&&(e.level++,t=i[n](e,!0),e.level--,!t);n++);else e.pos=e.posMax;t||e.pos++,s[r]=e.pos}else e.pos=s[r]},a.prototype.tokenize=function(e){for(var t,n,r=this.ruler.getRules(\"\"),i=r.length,o=e.posMax,a=e.md.options.maxNesting;e.pos<o;){if(e.level<a)for(n=0;n<i&&!(t=r[n](e,!1));n++);if(t){if(e.pos>=o)break}else e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()},a.prototype.parse=function(e,t,n,r){var i,o,a,s=new this.State(e,t,n,r);for(this.tokenize(s),a=(o=this.ruler2.getRules(\"\")).length,i=0;i<a;i++)o[i](s)},a.prototype.State=n(368),e.exports=a},function(e,t,n){\"use strict\";function r(e){switch(e){case 10:case 33:case 35:case 36:case 37:case 38:case 42:case 43:case 45:case 58:case 60:case 61:case 62:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 125:case 126:return!0;default:return!1}}e.exports=function(e,t){for(var n=e.pos;n<e.posMax&&!r(e.src.charCodeAt(n));)n++;return n!==e.pos&&(t||(e.pending+=e.src.slice(e.pos,n)),e.pos=n,!0)}},function(e,t,n){\"use strict\";var r=n(22).isSpace;e.exports=function(e,t){var n,i,o=e.pos;if(10!==e.src.charCodeAt(o))return!1;for(n=e.pending.length-1,i=e.posMax,t||(n>=0&&32===e.pending.charCodeAt(n)?n>=1&&32===e.pending.charCodeAt(n-1)?(e.pending=e.pending.replace(/ +$/,\"\"),e.push(\"hardbreak\",\"br\",0)):(e.pending=e.pending.slice(0,-1),e.push(\"softbreak\",\"br\",0)):e.push(\"softbreak\",\"br\",0)),o++;o<i&&r(e.src.charCodeAt(o));)o++;return e.pos=o,!0}},function(e,t,n){\"use strict\";for(var r=n(22).isSpace,i=[],o=0;o<256;o++)i.push(0);\"\\\\!\\\"#$%&'()*+,./:;<=>?@[]^_`{|}~-\".split(\"\").forEach((function(e){i[e.charCodeAt(0)]=1})),e.exports=function(e,t){var n,o=e.pos,a=e.posMax;if(92!==e.src.charCodeAt(o))return!1;if(++o<a){if((n=e.src.charCodeAt(o))<256&&0!==i[n])return t||(e.pending+=e.src[o]),e.pos+=2,!0;if(10===n){for(t||e.push(\"hardbreak\",\"br\",0),o++;o<a&&(n=e.src.charCodeAt(o),r(n));)o++;return e.pos=o,!0}}return t||(e.pending+=\"\\\\\"),e.pos++,!0}},function(e,t,n){\"use strict\";e.exports=function(e,t){var n,r,i,o,a,s,u=e.pos;if(96!==e.src.charCodeAt(u))return!1;for(n=u,u++,r=e.posMax;u<r&&96===e.src.charCodeAt(u);)u++;for(i=e.src.slice(n,u),o=a=u;-1!==(o=e.src.indexOf(\"`\",a));){for(a=o+1;a<r&&96===e.src.charCodeAt(a);)a++;if(a-o===i.length)return t||((s=e.push(\"code_inline\",\"code\",0)).markup=i,s.content=e.src.slice(u,o).replace(/[ \\n]+/g,\" \").trim()),e.pos=a,!0}return t||(e.pending+=i),e.pos+=i.length,!0}},function(e,t,n){\"use strict\";var r=n(22).normalizeReference,i=n(22).isSpace;e.exports=function(e,t){var n,o,a,s,u,c,l,p,f,d=\"\",h=e.pos,m=e.posMax,g=e.pos,y=!0;if(91!==e.src.charCodeAt(e.pos))return!1;if(u=e.pos+1,(s=e.md.helpers.parseLinkLabel(e,e.pos,!0))<0)return!1;if((c=s+1)<m&&40===e.src.charCodeAt(c)){for(y=!1,c++;c<m&&(o=e.src.charCodeAt(c),i(o)||10===o);c++);if(c>=m)return!1;for(g=c,(l=e.md.helpers.parseLinkDestination(e.src,c,e.posMax)).ok&&(d=e.md.normalizeLink(l.str),e.md.validateLink(d)?c=l.pos:d=\"\"),g=c;c<m&&(o=e.src.charCodeAt(c),i(o)||10===o);c++);if(l=e.md.helpers.parseLinkTitle(e.src,c,e.posMax),c<m&&g!==c&&l.ok)for(f=l.str,c=l.pos;c<m&&(o=e.src.charCodeAt(c),i(o)||10===o);c++);else f=\"\";(c>=m||41!==e.src.charCodeAt(c))&&(y=!0),c++}if(y){if(void 0===e.env.references)return!1;if(c<m&&91===e.src.charCodeAt(c)?(g=c+1,(c=e.md.helpers.parseLinkLabel(e,c))>=0?a=e.src.slice(g,c++):c=s+1):c=s+1,a||(a=e.src.slice(u,s)),!(p=e.env.references[r(a)]))return e.pos=h,!1;d=p.href,f=p.title}return t||(e.pos=u,e.posMax=s,e.push(\"link_open\",\"a\",1).attrs=n=[[\"href\",d]],f&&n.push([\"title\",f]),e.md.inline.tokenize(e),e.push(\"link_close\",\"a\",-1)),e.pos=c,e.posMax=m,!0}},function(e,t,n){\"use strict\";var r=n(22).normalizeReference,i=n(22).isSpace;e.exports=function(e,t){var n,o,a,s,u,c,l,p,f,d,h,m,g,y=\"\",v=e.pos,b=e.posMax;if(33!==e.src.charCodeAt(e.pos))return!1;if(91!==e.src.charCodeAt(e.pos+1))return!1;if(c=e.pos+2,(u=e.md.helpers.parseLinkLabel(e,e.pos+1,!1))<0)return!1;if((l=u+1)<b&&40===e.src.charCodeAt(l)){for(l++;l<b&&(o=e.src.charCodeAt(l),i(o)||10===o);l++);if(l>=b)return!1;for(g=l,(f=e.md.helpers.parseLinkDestination(e.src,l,e.posMax)).ok&&(y=e.md.normalizeLink(f.str),e.md.validateLink(y)?l=f.pos:y=\"\"),g=l;l<b&&(o=e.src.charCodeAt(l),i(o)||10===o);l++);if(f=e.md.helpers.parseLinkTitle(e.src,l,e.posMax),l<b&&g!==l&&f.ok)for(d=f.str,l=f.pos;l<b&&(o=e.src.charCodeAt(l),i(o)||10===o);l++);else d=\"\";if(l>=b||41!==e.src.charCodeAt(l))return e.pos=v,!1;l++}else{if(void 0===e.env.references)return!1;if(l<b&&91===e.src.charCodeAt(l)?(g=l+1,(l=e.md.helpers.parseLinkLabel(e,l))>=0?s=e.src.slice(g,l++):l=u+1):l=u+1,s||(s=e.src.slice(c,u)),!(p=e.env.references[r(s)]))return e.pos=v,!1;y=p.href,d=p.title}return t||(a=e.src.slice(c,u),e.md.inline.parse(a,e.md,e.env,m=[]),(h=e.push(\"image\",\"img\",0)).attrs=n=[[\"src\",y],[\"alt\",\"\"]],h.children=m,h.content=a,d&&n.push([\"title\",d])),e.pos=l,e.posMax=b,!0}},function(e,t,n){\"use strict\";var r=/^<([a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,i=/^<([a-zA-Z][a-zA-Z0-9+.\\-]{1,31}):([^<>\\x00-\\x20]*)>/;e.exports=function(e,t){var n,o,a,s,u,c,l=e.pos;return 60===e.src.charCodeAt(l)&&(!((n=e.src.slice(l)).indexOf(\">\")<0)&&(i.test(n)?(s=(o=n.match(i))[0].slice(1,-1),u=e.md.normalizeLink(s),!!e.md.validateLink(u)&&(t||((c=e.push(\"link_open\",\"a\",1)).attrs=[[\"href\",u]],c.markup=\"autolink\",c.info=\"auto\",(c=e.push(\"text\",\"\",0)).content=e.md.normalizeLinkText(s),(c=e.push(\"link_close\",\"a\",-1)).markup=\"autolink\",c.info=\"auto\"),e.pos+=o[0].length,!0)):!!r.test(n)&&(s=(a=n.match(r))[0].slice(1,-1),u=e.md.normalizeLink(\"mailto:\"+s),!!e.md.validateLink(u)&&(t||((c=e.push(\"link_open\",\"a\",1)).attrs=[[\"href\",u]],c.markup=\"autolink\",c.info=\"auto\",(c=e.push(\"text\",\"\",0)).content=e.md.normalizeLinkText(s),(c=e.push(\"link_close\",\"a\",-1)).markup=\"autolink\",c.info=\"auto\"),e.pos+=a[0].length,!0))))}},function(e,t,n){\"use strict\";var r=n(175).HTML_TAG_RE;e.exports=function(e,t){var n,i,o,a=e.pos;return!!e.md.options.html&&(o=e.posMax,!(60!==e.src.charCodeAt(a)||a+2>=o)&&(!(33!==(n=e.src.charCodeAt(a+1))&&63!==n&&47!==n&&!function(e){var t=32|e;return t>=97&&t<=122}(n))&&(!!(i=e.src.slice(a).match(r))&&(t||(e.push(\"html_inline\",\"\",0).content=e.src.slice(a,a+i[0].length)),e.pos+=i[0].length,!0))))}},function(e,t,n){\"use strict\";var r=n(170),i=n(22).has,o=n(22).isValidEntityCode,a=n(22).fromCodePoint,s=/^&#((?:x[a-f0-9]{1,8}|[0-9]{1,8}));/i,u=/^&([a-z][a-z0-9]{1,31});/i;e.exports=function(e,t){var n,c,l=e.pos,p=e.posMax;if(38!==e.src.charCodeAt(l))return!1;if(l+1<p)if(35===e.src.charCodeAt(l+1)){if(c=e.src.slice(l).match(s))return t||(n=\"x\"===c[1][0].toLowerCase()?parseInt(c[1].slice(1),16):parseInt(c[1],10),e.pending+=o(n)?a(n):a(65533)),e.pos+=c[0].length,!0}else if((c=e.src.slice(l).match(u))&&i(r,c[1]))return t||(e.pending+=r[c[1]]),e.pos+=c[0].length,!0;return t||(e.pending+=\"&\"),e.pos++,!0}},function(e,t,n){\"use strict\";e.exports=function(e){var t,n,r,i,o=e.delimiters,a=e.delimiters.length;for(t=0;t<a;t++)if((r=o[t]).close)for(n=t-r.jump-1;n>=0;){if((i=o[n]).open&&i.marker===r.marker&&i.end<0&&i.level===r.level)if(!((i.close||r.open)&&void 0!==i.length&&void 0!==r.length&&(i.length+r.length)%3==0)){r.jump=t-n,r.open=!1,i.end=t,i.jump=0;break}n-=i.jump+1}}},function(e,t,n){\"use strict\";e.exports=function(e){var t,n,r=0,i=e.tokens,o=e.tokens.length;for(t=n=0;t<o;t++)r+=i[t].nesting,i[t].level=r,\"text\"===i[t].type&&t+1<o&&\"text\"===i[t+1].type?i[t+1].content=i[t].content+i[t+1].content:(t!==n&&(i[n]=i[t]),n++);t!==n&&(i.length=n)}},function(e,t,n){\"use strict\";var r=n(123),i=n(22).isWhiteSpace,o=n(22).isPunctChar,a=n(22).isMdAsciiPunct;function s(e,t,n,r){this.src=e,this.env=n,this.md=t,this.tokens=r,this.pos=0,this.posMax=this.src.length,this.level=0,this.pending=\"\",this.pendingLevel=0,this.cache={},this.delimiters=[]}s.prototype.pushPending=function(){var e=new r(\"text\",\"\",0);return e.content=this.pending,e.level=this.pendingLevel,this.tokens.push(e),this.pending=\"\",e},s.prototype.push=function(e,t,n){this.pending&&this.pushPending();var i=new r(e,t,n);return n<0&&this.level--,i.level=this.level,n>0&&this.level++,this.pendingLevel=this.level,this.tokens.push(i),i},s.prototype.scanDelims=function(e,t){var n,r,s,u,c,l,p,f,d,h=e,m=!0,g=!0,y=this.posMax,v=this.src.charCodeAt(e);for(n=e>0?this.src.charCodeAt(e-1):32;h<y&&this.src.charCodeAt(h)===v;)h++;return s=h-e,r=h<y?this.src.charCodeAt(h):32,p=a(n)||o(String.fromCharCode(n)),d=a(r)||o(String.fromCharCode(r)),l=i(n),(f=i(r))?m=!1:d&&(l||p||(m=!1)),l?g=!1:p&&(f||d||(g=!1)),t?(u=m,c=g):(u=m&&(!g||p),c=g&&(!m||d)),{can_open:u,can_close:c,length:s}},s.prototype.Token=r,e.exports=s},function(e,t,n){\"use strict\";e.exports=function(e){var t={};t.src_Any=n(172).source,t.src_Cc=n(173).source,t.src_Z=n(174).source,t.src_P=n(104).source,t.src_ZPCc=[t.src_Z,t.src_P,t.src_Cc].join(\"|\"),t.src_ZCc=[t.src_Z,t.src_Cc].join(\"|\");return t.src_pseudo_letter=\"(?:(?![><｜]|\"+t.src_ZPCc+\")\"+t.src_Any+\")\",t.src_ip4=\"(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\",t.src_auth=\"(?:(?:(?!\"+t.src_ZCc+\"|[@/\\\\[\\\\]()]).)+@)?\",t.src_port=\"(?::(?:6(?:[0-4]\\\\d{3}|5(?:[0-4]\\\\d{2}|5(?:[0-2]\\\\d|3[0-5])))|[1-5]?\\\\d{1,4}))?\",t.src_host_terminator=\"(?=$|[><｜]|\"+t.src_ZPCc+\")(?!-|_|:\\\\d|\\\\.-|\\\\.(?!$|\"+t.src_ZPCc+\"))\",t.src_path=\"(?:[/?#](?:(?!\"+t.src_ZCc+\"|[><｜]|[()[\\\\]{}.,\\\"'?!\\\\-]).|\\\\[(?:(?!\"+t.src_ZCc+\"|\\\\]).)*\\\\]|\\\\((?:(?!\"+t.src_ZCc+\"|[)]).)*\\\\)|\\\\{(?:(?!\"+t.src_ZCc+'|[}]).)*\\\\}|\\\\\"(?:(?!'+t.src_ZCc+'|[\"]).)+\\\\\"|\\\\\\'(?:(?!'+t.src_ZCc+\"|[']).)+\\\\'|\\\\'(?=\"+t.src_pseudo_letter+\"|[-]).|\\\\.{2,4}[a-zA-Z0-9%/]|\\\\.(?!\"+t.src_ZCc+\"|[.]).|\"+(e&&e[\"---\"]?\"\\\\-(?!--(?:[^-]|$))(?:-*)|\":\"\\\\-+|\")+\"\\\\,(?!\"+t.src_ZCc+\").|\\\\!(?!\"+t.src_ZCc+\"|[!]).|\\\\?(?!\"+t.src_ZCc+\"|[?]).)+|\\\\/)?\",t.src_email_name='[\\\\-;:&=\\\\+\\\\$,\\\\.a-zA-Z0-9_][\\\\-;:&=\\\\+\\\\$,\\\\\"\\\\.a-zA-Z0-9_]*',t.src_xn=\"xn--[a-z0-9\\\\-]{1,59}\",t.src_domain_root=\"(?:\"+t.src_xn+\"|\"+t.src_pseudo_letter+\"{1,63})\",t.src_domain=\"(?:\"+t.src_xn+\"|(?:\"+t.src_pseudo_letter+\")|(?:\"+t.src_pseudo_letter+\"(?:-|\"+t.src_pseudo_letter+\"){0,61}\"+t.src_pseudo_letter+\"))\",t.src_host=\"(?:(?:(?:(?:\"+t.src_domain+\")\\\\.)*\"+t.src_domain+\"))\",t.tpl_host_fuzzy=\"(?:\"+t.src_ip4+\"|(?:(?:(?:\"+t.src_domain+\")\\\\.)+(?:%TLDS%)))\",t.tpl_host_no_ip_fuzzy=\"(?:(?:(?:\"+t.src_domain+\")\\\\.)+(?:%TLDS%))\",t.src_host_strict=t.src_host+t.src_host_terminator,t.tpl_host_fuzzy_strict=t.tpl_host_fuzzy+t.src_host_terminator,t.src_host_port_strict=t.src_host+t.src_port+t.src_host_terminator,t.tpl_host_port_fuzzy_strict=t.tpl_host_fuzzy+t.src_port+t.src_host_terminator,t.tpl_host_port_no_ip_fuzzy_strict=t.tpl_host_no_ip_fuzzy+t.src_port+t.src_host_terminator,t.tpl_host_fuzzy_test=\"localhost|www\\\\.|\\\\.\\\\d{1,3}\\\\.|(?:\\\\.(?:%TLDS%)(?:\"+t.src_ZPCc+\"|>|$))\",t.tpl_email_fuzzy='(^|[><｜]|\"|\\\\(|'+t.src_ZCc+\")(\"+t.src_email_name+\"@\"+t.tpl_host_fuzzy_strict+\")\",t.tpl_link_fuzzy=\"(^|(?![.:/\\\\-_@])(?:[$+<=>^`|｜]|\"+t.src_ZPCc+\"))((?![$+<=>^`|｜])\"+t.tpl_host_port_fuzzy_strict+t.src_path+\")\",t.tpl_link_no_ip_fuzzy=\"(^|(?![.:/\\\\-_@])(?:[$+<=>^`|｜]|\"+t.src_ZPCc+\"))((?![$+<=>^`|｜])\"+t.tpl_host_port_no_ip_fuzzy_strict+t.src_path+\")\",t}},function(e,t,n){\"use strict\";e.exports={options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:\"language-\",linkify:!1,typographer:!1,quotes:\"“”‘’\",highlight:null,maxNesting:100},components:{core:{},block:{},inline:{}}}},function(e,t,n){\"use strict\";e.exports={options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:\"language-\",linkify:!1,typographer:!1,quotes:\"“”‘’\",highlight:null,maxNesting:20},components:{core:{rules:[\"normalize\",\"block\",\"inline\"]},block:{rules:[\"paragraph\"]},inline:{rules:[\"text\"],rules2:[\"balance_pairs\",\"text_collapse\"]}}}},function(e,t,n){\"use strict\";e.exports={options:{html:!0,xhtmlOut:!0,breaks:!1,langPrefix:\"language-\",linkify:!1,typographer:!1,quotes:\"“”‘’\",highlight:null,maxNesting:20},components:{core:{rules:[\"normalize\",\"block\",\"inline\"]},block:{rules:[\"blockquote\",\"code\",\"fence\",\"heading\",\"hr\",\"html_block\",\"lheading\",\"list\",\"reference\",\"paragraph\"]},inline:{rules:[\"autolink\",\"backticks\",\"emphasis\",\"entity\",\"escape\",\"html_inline\",\"image\",\"link\",\"newline\",\"text\"],rules2:[\"balance_pairs\",\"emphasis\",\"text_collapse\"]}}}},function(e,t,n){const r=n(374),i=n(375),o=n(124),a=n(184),s=n(183),u=n(182),{merge:c,checkSanitizeDeprecation:l,escape:p}=n(76),{getDefaults:f,changeDefaults:d,defaults:h}=n(90);function m(e,t,n){if(null==e)throw new Error(\"marked(): input parameter is undefined or null\");if(\"string\"!=typeof e)throw new Error(\"marked(): input parameter is of type \"+Object.prototype.toString.call(e)+\", string expected\");if(n||\"function\"==typeof t){n||(n=t,t=null),t=c({},m.defaults,t||{}),l(t);const o=t.highlight;let a,s,u=0;try{a=r.lex(e,t)}catch(e){return n(e)}s=a.length;const p=function(e){if(e)return t.highlight=o,n(e);let r;try{r=i.parse(a,t)}catch(t){e=t}return t.highlight=o,e?n(e):n(null,r)};if(!o||o.length<3)return p();if(delete t.highlight,!s)return p();for(;u<a.length;u++)!function(e){\"code\"!==e.type?--s||p():o(e.text,e.lang,(function(t,n){return t?p(t):null==n||n===e.text?--s||p():(e.text=n,e.escaped=!0,void(--s||p()))}))}(a[u])}else try{return t=c({},m.defaults,t||{}),l(t),i.parse(r.lex(e,t),t)}catch(e){if(e.message+=\"\\nPlease report this to https://github.com/markedjs/marked.\",(t||m.defaults).silent)return\"<p>An error occurred:</p><pre>\"+p(e.message+\"\",!0)+\"</pre>\";throw e}}m.options=m.setOptions=function(e){return c(m.defaults,e),d(m.defaults),m},m.getDefaults=f,m.defaults=h,m.Parser=i,m.parser=i.parse,m.Renderer=o,m.TextRenderer=a,m.Lexer=r,m.lexer=r.lex,m.InlineLexer=s,m.inlineLexer=s.output,m.Slugger=u,m.parse=m,e.exports=m},function(e,t,n){const{defaults:r}=n(90),{block:i}=n(181),{rtrim:o,splitCells:a,escape:s}=n(76);e.exports=class e{constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||r,this.rules=i.normal,this.options.pedantic?this.rules=i.pedantic:this.options.gfm&&(this.rules=i.gfm)}static get rules(){return i}static lex(t,n){return new e(n).lex(t)}lex(e){return e=e.replace(/\\r\\n|\\r/g,\"\\n\").replace(/\\t/g,\"    \"),this.token(e,!0)}token(e,t){let n,r,u,c,l,p,f,d,h,m,g,y,v,b,E,x;for(e=e.replace(/^ +$/gm,\"\");e;)if((u=this.rules.newline.exec(e))&&(e=e.substring(u[0].length),u[0].length>1&&this.tokens.push({type:\"space\"})),u=this.rules.code.exec(e)){const t=this.tokens[this.tokens.length-1];e=e.substring(u[0].length),t&&\"paragraph\"===t.type?t.text+=\"\\n\"+u[0].trimRight():(u=u[0].replace(/^ {4}/gm,\"\"),this.tokens.push({type:\"code\",codeBlockStyle:\"indented\",text:this.options.pedantic?u:o(u,\"\\n\")}))}else if(u=this.rules.fences.exec(e))e=e.substring(u[0].length),this.tokens.push({type:\"code\",lang:u[2]?u[2].trim():u[2],text:u[3]||\"\"});else if(u=this.rules.heading.exec(e))e=e.substring(u[0].length),this.tokens.push({type:\"heading\",depth:u[1].length,text:u[2]});else if((u=this.rules.nptable.exec(e))&&(p={type:\"table\",header:a(u[1].replace(/^ *| *\\| *$/g,\"\")),align:u[2].replace(/^ *|\\| *$/g,\"\").split(/ *\\| */),cells:u[3]?u[3].replace(/\\n$/,\"\").split(\"\\n\"):[]},p.header.length===p.align.length)){for(e=e.substring(u[0].length),g=0;g<p.align.length;g++)/^ *-+: *$/.test(p.align[g])?p.align[g]=\"right\":/^ *:-+: *$/.test(p.align[g])?p.align[g]=\"center\":/^ *:-+ *$/.test(p.align[g])?p.align[g]=\"left\":p.align[g]=null;for(g=0;g<p.cells.length;g++)p.cells[g]=a(p.cells[g],p.header.length);this.tokens.push(p)}else if(u=this.rules.hr.exec(e))e=e.substring(u[0].length),this.tokens.push({type:\"hr\"});else if(u=this.rules.blockquote.exec(e))e=e.substring(u[0].length),this.tokens.push({type:\"blockquote_start\"}),u=u[0].replace(/^ *> ?/gm,\"\"),this.token(u,t),this.tokens.push({type:\"blockquote_end\"});else if(u=this.rules.list.exec(e)){for(e=e.substring(u[0].length),c=u[2],b=c.length>1,f={type:\"list_start\",ordered:b,start:b?+c:\"\",loose:!1},this.tokens.push(f),u=u[0].match(this.rules.item),d=[],n=!1,v=u.length,g=0;g<v;g++)p=u[g],m=p.length,p=p.replace(/^ *([*+-]|\\d+\\.) */,\"\"),~p.indexOf(\"\\n \")&&(m-=p.length,p=this.options.pedantic?p.replace(/^ {1,4}/gm,\"\"):p.replace(new RegExp(\"^ {1,\"+m+\"}\",\"gm\"),\"\")),g!==v-1&&(l=i.bullet.exec(u[g+1])[0],(c.length>1?1===l.length:l.length>1||this.options.smartLists&&l!==c)&&(e=u.slice(g+1).join(\"\\n\")+e,g=v-1)),r=n||/\\n\\n(?!\\s*$)/.test(p),g!==v-1&&(n=\"\\n\"===p.charAt(p.length-1),r||(r=n)),r&&(f.loose=!0),E=/^\\[[ xX]\\] /.test(p),x=void 0,E&&(x=\" \"!==p[1],p=p.replace(/^\\[[ xX]\\] +/,\"\")),h={type:\"list_item_start\",task:E,checked:x,loose:r},d.push(h),this.tokens.push(h),this.token(p,!1),this.tokens.push({type:\"list_item_end\"});if(f.loose)for(v=d.length,g=0;g<v;g++)d[g].loose=!0;this.tokens.push({type:\"list_end\"})}else if(u=this.rules.html.exec(e))e=e.substring(u[0].length),this.tokens.push({type:this.options.sanitize?\"paragraph\":\"html\",pre:!this.options.sanitizer&&(\"pre\"===u[1]||\"script\"===u[1]||\"style\"===u[1]),text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(u[0]):s(u[0]):u[0]});else if(t&&(u=this.rules.def.exec(e)))e=e.substring(u[0].length),u[3]&&(u[3]=u[3].substring(1,u[3].length-1)),y=u[1].toLowerCase().replace(/\\s+/g,\" \"),this.tokens.links[y]||(this.tokens.links[y]={href:u[2],title:u[3]});else if((u=this.rules.table.exec(e))&&(p={type:\"table\",header:a(u[1].replace(/^ *| *\\| *$/g,\"\")),align:u[2].replace(/^ *|\\| *$/g,\"\").split(/ *\\| */),cells:u[3]?u[3].replace(/\\n$/,\"\").split(\"\\n\"):[]},p.header.length===p.align.length)){for(e=e.substring(u[0].length),g=0;g<p.align.length;g++)/^ *-+: *$/.test(p.align[g])?p.align[g]=\"right\":/^ *:-+: *$/.test(p.align[g])?p.align[g]=\"center\":/^ *:-+ *$/.test(p.align[g])?p.align[g]=\"left\":p.align[g]=null;for(g=0;g<p.cells.length;g++)p.cells[g]=a(p.cells[g].replace(/^ *\\| *| *\\| *$/g,\"\"),p.header.length);this.tokens.push(p)}else if(u=this.rules.lheading.exec(e))e=e.substring(u[0].length),this.tokens.push({type:\"heading\",depth:\"=\"===u[2].charAt(0)?1:2,text:u[1]});else if(t&&(u=this.rules.paragraph.exec(e)))e=e.substring(u[0].length),this.tokens.push({type:\"paragraph\",text:\"\\n\"===u[1].charAt(u[1].length-1)?u[1].slice(0,-1):u[1]});else if(u=this.rules.text.exec(e))e=e.substring(u[0].length),this.tokens.push({type:\"text\",text:u[0]});else if(e)throw new Error(\"Infinite loop on byte: \"+e.charCodeAt(0));return this.tokens}}},function(e,t,n){const r=n(124),i=n(182),o=n(183),a=n(184),{defaults:s}=n(90),{merge:u,unescape:c}=n(76);e.exports=class e{constructor(e){this.tokens=[],this.token=null,this.options=e||s,this.options.renderer=this.options.renderer||new r,this.renderer=this.options.renderer,this.renderer.options=this.options,this.slugger=new i}static parse(t,n){return new e(n).parse(t)}parse(e){this.inline=new o(e.links,this.options),this.inlineText=new o(e.links,u({},this.options,{renderer:new a})),this.tokens=e.reverse();let t=\"\";for(;this.next();)t+=this.tok();return t}next(){return this.token=this.tokens.pop(),this.token}peek(){return this.tokens[this.tokens.length-1]||0}parseText(){let e=this.token.text;for(;\"text\"===this.peek().type;)e+=\"\\n\"+this.next().text;return this.inline.output(e)}tok(){let e=\"\";switch(this.token.type){case\"space\":return\"\";case\"hr\":return this.renderer.hr();case\"heading\":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,c(this.inlineText.output(this.token.text)),this.slugger);case\"code\":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case\"table\":{let t,n,r,i,o=\"\";for(r=\"\",t=0;t<this.token.header.length;t++)r+=this.renderer.tablecell(this.inline.output(this.token.header[t]),{header:!0,align:this.token.align[t]});for(o+=this.renderer.tablerow(r),t=0;t<this.token.cells.length;t++){for(n=this.token.cells[t],r=\"\",i=0;i<n.length;i++)r+=this.renderer.tablecell(this.inline.output(n[i]),{header:!1,align:this.token.align[i]});e+=this.renderer.tablerow(r)}return this.renderer.table(o,e)}case\"blockquote_start\":for(e=\"\";\"blockquote_end\"!==this.next().type;)e+=this.tok();return this.renderer.blockquote(e);case\"list_start\":{e=\"\";const t=this.token.ordered,n=this.token.start;for(;\"list_end\"!==this.next().type;)e+=this.tok();return this.renderer.list(e,t,n)}case\"list_item_start\":{e=\"\";const t=this.token.loose,n=this.token.checked,r=this.token.task;if(this.token.task)if(t)if(\"text\"===this.peek().type){const e=this.peek();e.text=this.renderer.checkbox(n)+\" \"+e.text}else this.tokens.push({type:\"text\",text:this.renderer.checkbox(n)});else e+=this.renderer.checkbox(n);for(;\"list_item_end\"!==this.next().type;)e+=t||\"text\"!==this.token.type?this.tok():this.parseText();return this.renderer.listitem(e,r,n)}case\"html\":return this.renderer.html(this.token.text);case\"paragraph\":return this.renderer.paragraph(this.inline.output(this.token.text));case\"text\":return this.renderer.paragraph(this.parseText());default:{const e='Token with \"'+this.token.type+'\" type was not found.';if(!this.options.silent)throw new Error(e);console.log(e)}}}}},function(e,t,n){!function(e){\"use strict\";function t(t,n,i,o){if(i&&i.call){var a=i;i=null}else a=r(t,i,\"rangeFinder\");\"number\"==typeof n&&(n=e.Pos(n,0));var s=r(t,i,\"minFoldSize\");function u(e){var r=a(t,n);if(!r||r.to.line-r.from.line<s)return null;for(var i=t.findMarksAt(r.from),u=0;u<i.length;++u)if(i[u].__isFold&&\"fold\"!==o){if(!e)return null;r.cleared=!0,i[u].clear()}return r}var c=u(!0);if(r(t,i,\"scanUp\"))for(;!c&&n.line>t.firstLine();)n=e.Pos(n.line-1,0),c=u(!1);if(c&&!c.cleared&&\"unfold\"!==o){var l=function(e,t,n){var i=r(e,t,\"widget\");if(\"function\"==typeof i&&(i=i(n.from,n.to)),\"string\"==typeof i){var o=document.createTextNode(i);(i=document.createElement(\"span\")).appendChild(o),i.className=\"CodeMirror-foldmarker\"}else i&&(i=i.cloneNode(!0));return i}(t,i,c);e.on(l,\"mousedown\",(function(t){p.clear(),e.e_preventDefault(t)}));var p=t.markText(c.from,c.to,{replacedWith:l,clearOnEnter:r(t,i,\"clearOnEnter\"),__isFold:!0});p.on(\"clear\",(function(n,r){e.signal(t,\"unfold\",t,n,r)})),e.signal(t,\"fold\",t,c.from,c.to)}}e.newFoldFunction=function(e,n){return function(r,i){t(r,i,{rangeFinder:e,widget:n})}},e.defineExtension(\"foldCode\",(function(e,n,r){t(this,e,n,r)})),e.defineExtension(\"isFolded\",(function(e){for(var t=this.findMarksAt(e),n=0;n<t.length;++n)if(t[n].__isFold)return!0})),e.commands.toggleFold=function(e){e.foldCode(e.getCursor())},e.commands.fold=function(e){e.foldCode(e.getCursor(),null,\"fold\")},e.commands.unfold=function(e){e.foldCode(e.getCursor(),null,\"unfold\")},e.commands.foldAll=function(t){t.operation((function(){for(var n=t.firstLine(),r=t.lastLine();n<=r;n++)t.foldCode(e.Pos(n,0),null,\"fold\")}))},e.commands.unfoldAll=function(t){t.operation((function(){for(var n=t.firstLine(),r=t.lastLine();n<=r;n++)t.foldCode(e.Pos(n,0),null,\"unfold\")}))},e.registerHelper(\"fold\",\"combine\",(function(){var e=Array.prototype.slice.call(arguments,0);return function(t,n){for(var r=0;r<e.length;++r){var i=e[r](t,n);if(i)return i}}})),e.registerHelper(\"fold\",\"auto\",(function(e,t){for(var n=e.getHelpers(t,\"fold\"),r=0;r<n.length;r++){var i=n[r](e,t);if(i)return i}}));var n={rangeFinder:e.fold.auto,widget:\"↔\",minFoldSize:0,scanUp:!1,clearOnEnter:!0};function r(e,t,r){if(t&&void 0!==t[r])return t[r];var i=e.options.foldOptions;return i&&void 0!==i[r]?i[r]:n[r]}e.defineOption(\"foldOptions\",null),e.defineExtension(\"foldOption\",(function(e,t){return r(this,e,t)}))}(n(16))},function(e,t,n){!function(e){\"use strict\";var t=[{keys:\"<Left>\",type:\"keyToKey\",toKeys:\"h\"},{keys:\"<Right>\",type:\"keyToKey\",toKeys:\"l\"},{keys:\"<Up>\",type:\"keyToKey\",toKeys:\"k\"},{keys:\"<Down>\",type:\"keyToKey\",toKeys:\"j\"},{keys:\"<Space>\",type:\"keyToKey\",toKeys:\"l\"},{keys:\"<BS>\",type:\"keyToKey\",toKeys:\"h\",context:\"normal\"},{keys:\"<Del>\",type:\"keyToKey\",toKeys:\"x\",context:\"normal\"},{keys:\"<C-Space>\",type:\"keyToKey\",toKeys:\"W\"},{keys:\"<C-BS>\",type:\"keyToKey\",toKeys:\"B\",context:\"normal\"},{keys:\"<S-Space>\",type:\"keyToKey\",toKeys:\"w\"},{keys:\"<S-BS>\",type:\"keyToKey\",toKeys:\"b\",context:\"normal\"},{keys:\"<C-n>\",type:\"keyToKey\",toKeys:\"j\"},{keys:\"<C-p>\",type:\"keyToKey\",toKeys:\"k\"},{keys:\"<C-[>\",type:\"keyToKey\",toKeys:\"<Esc>\"},{keys:\"<C-c>\",type:\"keyToKey\",toKeys:\"<Esc>\"},{keys:\"<C-[>\",type:\"keyToKey\",toKeys:\"<Esc>\",context:\"insert\"},{keys:\"<C-c>\",type:\"keyToKey\",toKeys:\"<Esc>\",context:\"insert\"},{keys:\"s\",type:\"keyToKey\",toKeys:\"cl\",context:\"normal\"},{keys:\"s\",type:\"keyToKey\",toKeys:\"c\",context:\"visual\"},{keys:\"S\",type:\"keyToKey\",toKeys:\"cc\",context:\"normal\"},{keys:\"S\",type:\"keyToKey\",toKeys:\"VdO\",context:\"visual\"},{keys:\"<Home>\",type:\"keyToKey\",toKeys:\"0\"},{keys:\"<End>\",type:\"keyToKey\",toKeys:\"$\"},{keys:\"<PageUp>\",type:\"keyToKey\",toKeys:\"<C-b>\"},{keys:\"<PageDown>\",type:\"keyToKey\",toKeys:\"<C-f>\"},{keys:\"<CR>\",type:\"keyToKey\",toKeys:\"j^\",context:\"normal\"},{keys:\"<Ins>\",type:\"action\",action:\"toggleOverwrite\",context:\"insert\"},{keys:\"H\",type:\"motion\",motion:\"moveToTopLine\",motionArgs:{linewise:!0,toJumplist:!0}},{keys:\"M\",type:\"motion\",motion:\"moveToMiddleLine\",motionArgs:{linewise:!0,toJumplist:!0}},{keys:\"L\",type:\"motion\",motion:\"moveToBottomLine\",motionArgs:{linewise:!0,toJumplist:!0}},{keys:\"h\",type:\"motion\",motion:\"moveByCharacters\",motionArgs:{forward:!1}},{keys:\"l\",type:\"motion\",motion:\"moveByCharacters\",motionArgs:{forward:!0}},{keys:\"j\",type:\"motion\",motion:\"moveByLines\",motionArgs:{forward:!0,linewise:!0}},{keys:\"k\",type:\"motion\",motion:\"moveByLines\",motionArgs:{forward:!1,linewise:!0}},{keys:\"gj\",type:\"motion\",motion:\"moveByDisplayLines\",motionArgs:{forward:!0}},{keys:\"gk\",type:\"motion\",motion:\"moveByDisplayLines\",motionArgs:{forward:!1}},{keys:\"w\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!0,wordEnd:!1}},{keys:\"W\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:\"e\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:\"E\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:\"b\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!1,wordEnd:!1}},{keys:\"B\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:\"ge\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:\"gE\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:\"{\",type:\"motion\",motion:\"moveByParagraph\",motionArgs:{forward:!1,toJumplist:!0}},{keys:\"}\",type:\"motion\",motion:\"moveByParagraph\",motionArgs:{forward:!0,toJumplist:!0}},{keys:\"(\",type:\"motion\",motion:\"moveBySentence\",motionArgs:{forward:!1}},{keys:\")\",type:\"motion\",motion:\"moveBySentence\",motionArgs:{forward:!0}},{keys:\"<C-f>\",type:\"motion\",motion:\"moveByPage\",motionArgs:{forward:!0}},{keys:\"<C-b>\",type:\"motion\",motion:\"moveByPage\",motionArgs:{forward:!1}},{keys:\"<C-d>\",type:\"motion\",motion:\"moveByScroll\",motionArgs:{forward:!0,explicitRepeat:!0}},{keys:\"<C-u>\",type:\"motion\",motion:\"moveByScroll\",motionArgs:{forward:!1,explicitRepeat:!0}},{keys:\"gg\",type:\"motion\",motion:\"moveToLineOrEdgeOfDocument\",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:\"G\",type:\"motion\",motion:\"moveToLineOrEdgeOfDocument\",motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:\"0\",type:\"motion\",motion:\"moveToStartOfLine\"},{keys:\"^\",type:\"motion\",motion:\"moveToFirstNonWhiteSpaceCharacter\"},{keys:\"+\",type:\"motion\",motion:\"moveByLines\",motionArgs:{forward:!0,toFirstChar:!0}},{keys:\"-\",type:\"motion\",motion:\"moveByLines\",motionArgs:{forward:!1,toFirstChar:!0}},{keys:\"_\",type:\"motion\",motion:\"moveByLines\",motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:\"$\",type:\"motion\",motion:\"moveToEol\",motionArgs:{inclusive:!0}},{keys:\"%\",type:\"motion\",motion:\"moveToMatchedSymbol\",motionArgs:{inclusive:!0,toJumplist:!0}},{keys:\"f<character>\",type:\"motion\",motion:\"moveToCharacter\",motionArgs:{forward:!0,inclusive:!0}},{keys:\"F<character>\",type:\"motion\",motion:\"moveToCharacter\",motionArgs:{forward:!1}},{keys:\"t<character>\",type:\"motion\",motion:\"moveTillCharacter\",motionArgs:{forward:!0,inclusive:!0}},{keys:\"T<character>\",type:\"motion\",motion:\"moveTillCharacter\",motionArgs:{forward:!1}},{keys:\";\",type:\"motion\",motion:\"repeatLastCharacterSearch\",motionArgs:{forward:!0}},{keys:\",\",type:\"motion\",motion:\"repeatLastCharacterSearch\",motionArgs:{forward:!1}},{keys:\"'<character>\",type:\"motion\",motion:\"goToMark\",motionArgs:{toJumplist:!0,linewise:!0}},{keys:\"`<character>\",type:\"motion\",motion:\"goToMark\",motionArgs:{toJumplist:!0}},{keys:\"]`\",type:\"motion\",motion:\"jumpToMark\",motionArgs:{forward:!0}},{keys:\"[`\",type:\"motion\",motion:\"jumpToMark\",motionArgs:{forward:!1}},{keys:\"]'\",type:\"motion\",motion:\"jumpToMark\",motionArgs:{forward:!0,linewise:!0}},{keys:\"['\",type:\"motion\",motion:\"jumpToMark\",motionArgs:{forward:!1,linewise:!0}},{keys:\"]p\",type:\"action\",action:\"paste\",isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:\"[p\",type:\"action\",action:\"paste\",isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:\"]<character>\",type:\"motion\",motion:\"moveToSymbol\",motionArgs:{forward:!0,toJumplist:!0}},{keys:\"[<character>\",type:\"motion\",motion:\"moveToSymbol\",motionArgs:{forward:!1,toJumplist:!0}},{keys:\"|\",type:\"motion\",motion:\"moveToColumn\"},{keys:\"o\",type:\"motion\",motion:\"moveToOtherHighlightedEnd\",context:\"visual\"},{keys:\"O\",type:\"motion\",motion:\"moveToOtherHighlightedEnd\",motionArgs:{sameLine:!0},context:\"visual\"},{keys:\"d\",type:\"operator\",operator:\"delete\"},{keys:\"y\",type:\"operator\",operator:\"yank\"},{keys:\"c\",type:\"operator\",operator:\"change\"},{keys:\"=\",type:\"operator\",operator:\"indentAuto\"},{keys:\">\",type:\"operator\",operator:\"indent\",operatorArgs:{indentRight:!0}},{keys:\"<\",type:\"operator\",operator:\"indent\",operatorArgs:{indentRight:!1}},{keys:\"g~\",type:\"operator\",operator:\"changeCase\"},{keys:\"gu\",type:\"operator\",operator:\"changeCase\",operatorArgs:{toLower:!0},isEdit:!0},{keys:\"gU\",type:\"operator\",operator:\"changeCase\",operatorArgs:{toLower:!1},isEdit:!0},{keys:\"n\",type:\"motion\",motion:\"findNext\",motionArgs:{forward:!0,toJumplist:!0}},{keys:\"N\",type:\"motion\",motion:\"findNext\",motionArgs:{forward:!1,toJumplist:!0}},{keys:\"x\",type:\"operatorMotion\",operator:\"delete\",motion:\"moveByCharacters\",motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:\"X\",type:\"operatorMotion\",operator:\"delete\",motion:\"moveByCharacters\",motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:\"D\",type:\"operatorMotion\",operator:\"delete\",motion:\"moveToEol\",motionArgs:{inclusive:!0},context:\"normal\"},{keys:\"D\",type:\"operator\",operator:\"delete\",operatorArgs:{linewise:!0},context:\"visual\"},{keys:\"Y\",type:\"operatorMotion\",operator:\"yank\",motion:\"expandToLine\",motionArgs:{linewise:!0},context:\"normal\"},{keys:\"Y\",type:\"operator\",operator:\"yank\",operatorArgs:{linewise:!0},context:\"visual\"},{keys:\"C\",type:\"operatorMotion\",operator:\"change\",motion:\"moveToEol\",motionArgs:{inclusive:!0},context:\"normal\"},{keys:\"C\",type:\"operator\",operator:\"change\",operatorArgs:{linewise:!0},context:\"visual\"},{keys:\"~\",type:\"operatorMotion\",operator:\"changeCase\",motion:\"moveByCharacters\",motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:\"normal\"},{keys:\"~\",type:\"operator\",operator:\"changeCase\",context:\"visual\"},{keys:\"<C-w>\",type:\"operatorMotion\",operator:\"delete\",motion:\"moveByWords\",motionArgs:{forward:!1,wordEnd:!1},context:\"insert\"},{keys:\"<C-w>\",type:\"idle\",context:\"normal\"},{keys:\"<C-i>\",type:\"action\",action:\"jumpListWalk\",actionArgs:{forward:!0}},{keys:\"<C-o>\",type:\"action\",action:\"jumpListWalk\",actionArgs:{forward:!1}},{keys:\"<C-e>\",type:\"action\",action:\"scroll\",actionArgs:{forward:!0,linewise:!0}},{keys:\"<C-y>\",type:\"action\",action:\"scroll\",actionArgs:{forward:!1,linewise:!0}},{keys:\"a\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{insertAt:\"charAfter\"},context:\"normal\"},{keys:\"A\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{insertAt:\"eol\"},context:\"normal\"},{keys:\"A\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{insertAt:\"endOfSelectedArea\"},context:\"visual\"},{keys:\"i\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{insertAt:\"inplace\"},context:\"normal\"},{keys:\"gi\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{insertAt:\"lastEdit\"},context:\"normal\"},{keys:\"I\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{insertAt:\"firstNonBlank\"},context:\"normal\"},{keys:\"gI\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{insertAt:\"bol\"},context:\"normal\"},{keys:\"I\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{insertAt:\"startOfSelectedArea\"},context:\"visual\"},{keys:\"o\",type:\"action\",action:\"newLineAndEnterInsertMode\",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:\"normal\"},{keys:\"O\",type:\"action\",action:\"newLineAndEnterInsertMode\",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:\"normal\"},{keys:\"v\",type:\"action\",action:\"toggleVisualMode\"},{keys:\"V\",type:\"action\",action:\"toggleVisualMode\",actionArgs:{linewise:!0}},{keys:\"<C-v>\",type:\"action\",action:\"toggleVisualMode\",actionArgs:{blockwise:!0}},{keys:\"<C-q>\",type:\"action\",action:\"toggleVisualMode\",actionArgs:{blockwise:!0}},{keys:\"gv\",type:\"action\",action:\"reselectLastSelection\"},{keys:\"J\",type:\"action\",action:\"joinLines\",isEdit:!0},{keys:\"gJ\",type:\"action\",action:\"joinLines\",actionArgs:{keepSpaces:!0},isEdit:!0},{keys:\"p\",type:\"action\",action:\"paste\",isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:\"P\",type:\"action\",action:\"paste\",isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:\"r<character>\",type:\"action\",action:\"replace\",isEdit:!0},{keys:\"@<character>\",type:\"action\",action:\"replayMacro\"},{keys:\"q<character>\",type:\"action\",action:\"enterMacroRecordMode\"},{keys:\"R\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{replace:!0},context:\"normal\"},{keys:\"R\",type:\"operator\",operator:\"change\",operatorArgs:{linewise:!0,fullLine:!0},context:\"visual\",exitVisualBlock:!0},{keys:\"u\",type:\"action\",action:\"undo\",context:\"normal\"},{keys:\"u\",type:\"operator\",operator:\"changeCase\",operatorArgs:{toLower:!0},context:\"visual\",isEdit:!0},{keys:\"U\",type:\"operator\",operator:\"changeCase\",operatorArgs:{toLower:!1},context:\"visual\",isEdit:!0},{keys:\"<C-r>\",type:\"action\",action:\"redo\"},{keys:\"m<character>\",type:\"action\",action:\"setMark\"},{keys:'\"<character>',type:\"action\",action:\"setRegister\"},{keys:\"zz\",type:\"action\",action:\"scrollToCursor\",actionArgs:{position:\"center\"}},{keys:\"z.\",type:\"action\",action:\"scrollToCursor\",actionArgs:{position:\"center\"},motion:\"moveToFirstNonWhiteSpaceCharacter\"},{keys:\"zt\",type:\"action\",action:\"scrollToCursor\",actionArgs:{position:\"top\"}},{keys:\"z<CR>\",type:\"action\",action:\"scrollToCursor\",actionArgs:{position:\"top\"},motion:\"moveToFirstNonWhiteSpaceCharacter\"},{keys:\"z-\",type:\"action\",action:\"scrollToCursor\",actionArgs:{position:\"bottom\"}},{keys:\"zb\",type:\"action\",action:\"scrollToCursor\",actionArgs:{position:\"bottom\"},motion:\"moveToFirstNonWhiteSpaceCharacter\"},{keys:\".\",type:\"action\",action:\"repeatLastEdit\"},{keys:\"<C-a>\",type:\"action\",action:\"incrementNumberToken\",isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:\"<C-x>\",type:\"action\",action:\"incrementNumberToken\",isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:\"<C-t>\",type:\"action\",action:\"indent\",actionArgs:{indentRight:!0},context:\"insert\"},{keys:\"<C-d>\",type:\"action\",action:\"indent\",actionArgs:{indentRight:!1},context:\"insert\"},{keys:\"a<character>\",type:\"motion\",motion:\"textObjectManipulation\"},{keys:\"i<character>\",type:\"motion\",motion:\"textObjectManipulation\",motionArgs:{textObjectInner:!0}},{keys:\"/\",type:\"search\",searchArgs:{forward:!0,querySrc:\"prompt\",toJumplist:!0}},{keys:\"?\",type:\"search\",searchArgs:{forward:!1,querySrc:\"prompt\",toJumplist:!0}},{keys:\"*\",type:\"search\",searchArgs:{forward:!0,querySrc:\"wordUnderCursor\",wholeWordOnly:!0,toJumplist:!0}},{keys:\"#\",type:\"search\",searchArgs:{forward:!1,querySrc:\"wordUnderCursor\",wholeWordOnly:!0,toJumplist:!0}},{keys:\"g*\",type:\"search\",searchArgs:{forward:!0,querySrc:\"wordUnderCursor\",toJumplist:!0}},{keys:\"g#\",type:\"search\",searchArgs:{forward:!1,querySrc:\"wordUnderCursor\",toJumplist:!0}},{keys:\":\",type:\"ex\"}],n=t.length,r=[{name:\"colorscheme\",shortName:\"colo\"},{name:\"map\"},{name:\"imap\",shortName:\"im\"},{name:\"nmap\",shortName:\"nm\"},{name:\"vmap\",shortName:\"vm\"},{name:\"unmap\"},{name:\"write\",shortName:\"w\"},{name:\"undo\",shortName:\"u\"},{name:\"redo\",shortName:\"red\"},{name:\"set\",shortName:\"se\"},{name:\"setlocal\",shortName:\"setl\"},{name:\"setglobal\",shortName:\"setg\"},{name:\"sort\",shortName:\"sor\"},{name:\"substitute\",shortName:\"s\",possiblyAsync:!0},{name:\"nohlsearch\",shortName:\"noh\"},{name:\"yank\",shortName:\"y\"},{name:\"delmarks\",shortName:\"delm\"},{name:\"registers\",shortName:\"reg\",excludeFromCommandHistory:!0},{name:\"global\",shortName:\"g\"}],i=e.Pos;e.Vim=function(){function o(t,n){this==e.keyMap.vim&&(e.rmClass(t.getWrapperElement(),\"cm-fat-cursor\"),\"contenteditable\"==t.getOption(\"inputStyle\")&&null!=document.body.style.caretColor&&(function(e){u(e),e.off(\"cursorActivity\",s),e.state.fatCursorMarks=null}(t),t.getInputField().style.caretColor=\"\")),n&&n.attach==a||function(t){t.setOption(\"disableInput\",!1),t.off(\"cursorActivity\",Ze),e.off(t.getInputField(),\"paste\",f(t)),t.state.vim=null}(t)}function a(t,n){this==e.keyMap.vim&&(e.addClass(t.getWrapperElement(),\"cm-fat-cursor\"),\"contenteditable\"==t.getOption(\"inputStyle\")&&null!=document.body.style.caretColor&&(function(e){e.state.fatCursorMarks=[],s(e),e.on(\"cursorActivity\",s)}(t),t.getInputField().style.caretColor=\"transparent\")),n&&n.attach==a||function(t){t.setOption(\"disableInput\",!0),t.setOption(\"showCursorWhenSelecting\",!1),e.signal(t,\"vim-mode-change\",{mode:\"normal\"}),t.on(\"cursorActivity\",Ze),P(t),e.on(t.getInputField(),\"paste\",f(t))}(t)}function s(e){if(e.state.fatCursorMarks){u(e);for(var t=e.listSelections(),n=[],r=0;r<t.length;r++){var o=t[r];if(o.empty()){var a=e.getLine(o.anchor.line).length;o.anchor.ch<a?n.push(e.markText(o.anchor,i(o.anchor.line,o.anchor.ch+1),{className:\"cm-fat-cursor-mark\"})):n.push(e.markText(i(o.anchor.line,a-1),i(o.anchor.line,a),{className:\"cm-fat-cursor-mark\"}))}}e.state.fatCursorMarks=n}}function u(e){var t=e.state.fatCursorMarks;if(t)for(var n=0;n<t.length;n++)t[n].clear()}function c(t,n){if(n){if(this[t])return this[t];var r=function(e){if(\"'\"==e.charAt(0))return e.charAt(1);var t=e.split(/-(?!$)/),n=t[t.length-1];if(1==t.length&&1==t[0].length)return!1;if(2==t.length&&\"Shift\"==t[0]&&1==n.length)return!1;for(var r=!1,i=0;i<t.length;i++){var o=t[i];o in l?t[i]=l[o]:r=!0,o in p&&(t[i]=p[o])}return!!r&&(w(n)&&(t[t.length-1]=n.toLowerCase()),\"<\"+t.join(\"-\")+\">\")}(t);if(!r)return!1;var i=e.Vim.findKey(n,r);return\"function\"==typeof i&&e.signal(n,\"vim-keypress\",r),i}}e.defineOption(\"vimMode\",!1,(function(t,n,r){n&&\"vim\"!=t.getOption(\"keyMap\")?t.setOption(\"keyMap\",\"vim\"):!n&&r!=e.Init&&/^vim/.test(t.getOption(\"keyMap\"))&&t.setOption(\"keyMap\",\"default\")}));var l={Shift:\"S\",Ctrl:\"C\",Alt:\"A\",Cmd:\"D\",Mod:\"A\"},p={Enter:\"CR\",Backspace:\"BS\",Delete:\"Del\",Insert:\"Ins\"};function f(e){var t=e.state.vim;return t.onPasteFn||(t.onPasteFn=function(){t.insertMode||(e.setCursor(X(e.getCursor(),0,1)),Q.enterInsertMode(e,{},t))}),t.onPasteFn}var d=/[\\d]/,h=[e.isWordChar,function(t){return t&&!e.isWordChar(t)&&!/\\s/.test(t)}],m=[function(e){return/\\S/.test(e)}];function g(e,t){for(var n=[],r=e;r<e+t;r++)n.push(String.fromCharCode(r));return n}var y=g(65,26),v=g(97,26),b=g(48,10),E=[].concat(y,v,b,[\"<\",\">\"]),x=[].concat(y,v,b,[\"-\",'\"',\".\",\":\",\"/\"]);function D(e,t){return t>=e.firstLine()&&t<=e.lastLine()}function C(e){return/^[a-z]$/.test(e)}function w(e){return/^[A-Z]$/.test(e)}function S(e){return/^\\s*$/.test(e)}function k(e){return-1!=\".?!\".indexOf(e)}function A(e,t){for(var n=0;n<t.length;n++)if(t[n]==e)return!0;return!1}var T={};function _(e,t,n,r,i){if(void 0===t&&!i)throw Error(\"defaultValue is required unless callback is provided\");if(n||(n=\"string\"),T[e]={type:n,defaultValue:t,callback:i},r)for(var o=0;o<r.length;o++)T[r[o]]=T[e];t&&O(e,t)}function O(e,t,n,r){var i=T[e],o=(r=r||{}).scope;if(!i)return new Error(\"Unknown option: \"+e);if(\"boolean\"==i.type){if(t&&!0!==t)return new Error(\"Invalid argument: \"+e+\"=\"+t);!1!==t&&(t=!0)}i.callback?(\"local\"!==o&&i.callback(t,void 0),\"global\"!==o&&n&&i.callback(t,n)):(\"local\"!==o&&(i.value=\"boolean\"==i.type?!!t:t),\"global\"!==o&&n&&(n.state.vim.options[e]={value:t}))}function F(e,t,n){var r=T[e],i=(n=n||{}).scope;if(!r)return new Error(\"Unknown option: \"+e);if(r.callback){var o=t&&r.callback(void 0,t);return\"global\"!==i&&void 0!==o?o:\"local\"!==i?r.callback():void 0}return((o=\"global\"!==i&&t&&t.state.vim.options[e])||\"local\"!==i&&r||{}).value}_(\"filetype\",void 0,\"string\",[\"ft\"],(function(e,t){if(void 0!==t){if(void 0===e)return\"null\"==(n=t.getOption(\"mode\"))?\"\":n;var n=\"\"==e?\"null\":e;t.setOption(\"mode\",n)}}));var N,I,M=function(){var e=-1,t=0,n=0,r=new Array(100);function i(i,o){(e+=o)>t?e=t:e<n&&(e=n);var a=r[(100+e)%100];if(a&&!a.find()){var s,u=o>0?1:-1,c=i.getCursor();do{if((a=r[(100+(e+=u))%100])&&(s=a.find())&&!ne(c,s))break}while(e<t&&e>n)}return a}return{cachedCursor:void 0,add:function(i,o,a){var s=r[e%100];function u(t){var n=++e%100,o=r[n];o&&o.clear(),r[n]=i.setBookmark(t)}if(s){var c=s.find();c&&!ne(c,o)&&u(o)}else u(o);u(a),t=e,(n=e-100+1)<0&&(n=0)},find:function(t,n){var r=e,o=i(t,n);return e=r,o&&o.find()},move:i}},j=function(e){return e?{changes:e.changes,expectCursorActivityForChange:e.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};function L(){this.latestRegister=void 0,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=void 0,this.lastInsertModeChanges=j()}function P(e){return e.state.vim||(e.state.vim={inputState:new U,lastEditInputState:void 0,lastEditActionCommand:void 0,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},fakeCursor:null,insertMode:!1,insertModeRepeat:void 0,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:null,sel:{},options:{}}),e.state.vim}function R(){for(var e in N={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:void 0,jumpList:M(),macroModeState:new L,lastCharacterSearch:{increment:0,forward:!0,selectedCharacter:\"\"},registerController:new q({}),searchHistoryController:new H,exCommandHistoryController:new H},T){var t=T[e];t.value=t.defaultValue}}L.prototype={exitMacroRecordMode:function(){var e=N.macroModeState;e.onRecordingDone&&e.onRecordingDone(),e.onRecordingDone=void 0,e.isRecording=!1},enterMacroRecordMode:function(e,t){var n=N.registerController.getRegister(t);n&&(n.clear(),this.latestRegister=t,e.openDialog&&(this.onRecordingDone=e.openDialog(\"(recording)[\"+t+\"]\",null,{bottom:!0})),this.isRecording=!0)}};var B={buildKeyMap:function(){},getRegisterController:function(){return N.registerController},resetVimGlobalState_:R,getVimGlobalState_:function(){return N},maybeInitVimState_:P,suppressErrorLogging:!1,InsertModeKey:nt,map:function(e,t,n){Je.map(e,t,n)},unmap:function(e,t){Je.unmap(e,t)},noremap:function(e,r,i){function o(e){return e?[e]:[\"normal\",\"insert\",\"visual\"]}for(var a=o(i),s=t.length,u=s-n;u<s&&a.length;u++){var c=t[u];if(!(c.keys!=r||i&&c.context&&c.context!==i||\"ex\"===c.type.substr(0,2)||\"key\"===c.type.substr(0,3))){var l={};for(var p in c)l[p]=c[p];l.keys=e,i&&!l.context&&(l.context=i),this._mapCommand(l);var f=o(c.context);a=a.filter((function(e){return-1===f.indexOf(e)}))}}},mapclear:function(e){var r=t.length,i=n,o=t.slice(0,r-i);if(t=t.slice(r-i),e)for(var a=o.length-1;a>=0;a--){var s=o[a];if(e!==s.context)if(s.context)this._mapCommand(s);else{var u=[\"normal\",\"insert\",\"visual\"];for(var c in u)if(u[c]!==e){var l={};for(var p in s)l[p]=s[p];l.context=u[c],this._mapCommand(l)}}}},setOption:O,getOption:F,defineOption:_,defineEx:function(e,t,n){if(t){if(0!==e.indexOf(t))throw new Error('(Vim.defineEx) \"'+t+'\" is not a prefix of \"'+e+'\", command not registered')}else t=e;Ke[e]=n,Je.commandMap_[t]={name:e,shortName:t,type:\"api\"}},handleKey:function(e,t,n){var r=this.findKey(e,t,n);if(\"function\"==typeof r)return r()},findKey:function(n,r,i){var o,a=P(n);function s(){var e=N.macroModeState;if(e.isRecording){if(\"q\"==r)return e.exitMacroRecordMode(),z(n),!0;\"mapping\"!=i&&function(e,t){if(!e.isPlaying){var n=e.latestRegister,r=N.registerController.getRegister(n);r&&r.pushText(t)}}(e,r)}}function u(){if(\"<Esc>\"==r)return z(n),a.visualMode?me(n):a.insertMode&&Qe(n),!0}return!1===(o=a.insertMode?function(){if(u())return!0;for(var e=a.inputState.keyBuffer=a.inputState.keyBuffer+r,i=1==r.length,o=W.matchCommand(e,t,a.inputState,\"insert\");e.length>1&&\"full\"!=o.type;){e=a.inputState.keyBuffer=e.slice(1);var s=W.matchCommand(e,t,a.inputState,\"insert\");\"none\"!=s.type&&(o=s)}if(\"none\"==o.type)return z(n),!1;if(\"partial\"==o.type)return I&&window.clearTimeout(I),I=window.setTimeout((function(){a.insertMode&&a.inputState.keyBuffer&&z(n)}),F(\"insertModeEscKeysTimeout\")),!i;if(I&&window.clearTimeout(I),i){for(var c=n.listSelections(),l=0;l<c.length;l++){var p=c[l].head;n.replaceRange(\"\",X(p,0,-(e.length-1)),p,\"+input\")}N.macroModeState.lastInsertModeChanges.changes.pop()}return z(n),o.command}():function(){if(s()||u())return!0;var e=a.inputState.keyBuffer=a.inputState.keyBuffer+r;if(/^[1-9]\\d*$/.test(e))return!0;if(!(i=/^(\\d*)(.*)$/.exec(e)))return z(n),!1;var i,o=a.visualMode?\"visual\":\"normal\",c=W.matchCommand(i[2]||i[1],t,a.inputState,o);return\"none\"==c.type?(z(n),!1):\"partial\"==c.type||(a.inputState.keyBuffer=\"\",(i=/^(\\d*)(.*)$/.exec(e))[1]&&\"0\"!=i[1]&&a.inputState.pushRepeatDigit(i[1]),c.command)}())?a.insertMode||1!==r.length?void 0:function(){return!0}:!0===o?function(){return!0}:function(){return n.operation((function(){n.curOp.isVimOp=!0;try{\"keyToKey\"==o.type?function(t){for(var i;t;)i=/<\\w+-.+?>|<\\w+>|./.exec(t),r=i[0],t=t.substring(i.index+r.length),e.Vim.handleKey(n,r,\"mapping\")}(o.toKeys):W.processCommand(n,a,o)}catch(t){throw n.state.vim=void 0,P(n),e.Vim.suppressErrorLogging||console.log(t),t}return!0}))}},handleEx:function(e,t){Je.processCommand(e,t)},defineMotion:function(e,t){G[e]=t},defineAction:function(e,t){Q[e]=t},defineOperator:function(e,t){J[e]=t},mapCommand:function(e,t,n,r,i){var o={keys:e,type:t};for(var a in o[t]=n,o[t+\"Args\"]=r,i)o[a]=i[a];Ye(o)},_mapCommand:Ye,defineRegister:function(e,t){var n=N.registerController.registers;if(!e||1!=e.length)throw Error(\"Register name must be 1 character\");if(n[e])throw Error(\"Register already defined \"+e);n[e]=t,x.push(e)},exitVisualMode:me,exitInsertMode:Qe};function U(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=null,this.operatorArgs=null,this.motion=null,this.motionArgs=null,this.keyBuffer=[],this.registerName=null}function z(t,n){t.state.vim.inputState=new U,e.signal(t,\"vim-command-done\",n)}function V(e,t,n){this.clear(),this.keyBuffer=[e||\"\"],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!!t,this.blockwise=!!n}function q(e){this.registers=e,this.unnamedRegister=e['\"']=new V,e[\".\"]=new V,e[\":\"]=new V,e[\"/\"]=new V}function H(){this.historyBuffer=[],this.iterator=0,this.initialPrefix=null}U.prototype.pushRepeatDigit=function(e){this.operator?this.motionRepeat=this.motionRepeat.concat(e):this.prefixRepeat=this.prefixRepeat.concat(e)},U.prototype.getRepeat=function(){var e=0;return(this.prefixRepeat.length>0||this.motionRepeat.length>0)&&(e=1,this.prefixRepeat.length>0&&(e*=parseInt(this.prefixRepeat.join(\"\"),10)),this.motionRepeat.length>0&&(e*=parseInt(this.motionRepeat.join(\"\"),10))),e},V.prototype={setText:function(e,t,n){this.keyBuffer=[e||\"\"],this.linewise=!!t,this.blockwise=!!n},pushText:function(e,t){t&&(this.linewise||this.keyBuffer.push(\"\\n\"),this.linewise=!0),this.keyBuffer.push(e)},pushInsertModeChanges:function(e){this.insertModeChanges.push(j(e))},pushSearchQuery:function(e){this.searchQueries.push(e)},clear:function(){this.keyBuffer=[],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!1},toString:function(){return this.keyBuffer.join(\"\")}},q.prototype={pushText:function(e,t,n,r,i){r&&\"\\n\"!==n.charAt(n.length-1)&&(n+=\"\\n\");var o=this.isValidRegister(e)?this.getRegister(e):null;if(o)w(e)?o.pushText(n,r):o.setText(n,r,i),this.unnamedRegister.setText(o.toString(),r);else{switch(t){case\"yank\":this.registers[0]=new V(n,r,i);break;case\"delete\":case\"change\":-1==n.indexOf(\"\\n\")?this.registers[\"-\"]=new V(n,r):(this.shiftNumericRegisters_(),this.registers[1]=new V(n,r))}this.unnamedRegister.setText(n,r,i)}},getRegister:function(e){return this.isValidRegister(e)?(e=e.toLowerCase(),this.registers[e]||(this.registers[e]=new V),this.registers[e]):this.unnamedRegister},isValidRegister:function(e){return e&&A(e,x)},shiftNumericRegisters_:function(){for(var e=9;e>=2;e--)this.registers[e]=this.getRegister(\"\"+(e-1))}},H.prototype={nextMatch:function(e,t){var n=this.historyBuffer,r=t?-1:1;null===this.initialPrefix&&(this.initialPrefix=e);for(var i=this.iterator+r;t?i>=0:i<n.length;i+=r)for(var o=n[i],a=0;a<=o.length;a++)if(this.initialPrefix==o.substring(0,a))return this.iterator=i,o;return i>=n.length?(this.iterator=n.length,this.initialPrefix):i<0?e:void 0},pushInput:function(e){var t=this.historyBuffer.indexOf(e);t>-1&&this.historyBuffer.splice(t,1),e.length&&this.historyBuffer.push(e)},reset:function(){this.initialPrefix=null,this.iterator=this.historyBuffer.length}};var W={matchCommand:function(e,t,n,r){var i,o=function(e,t,n,r){for(var i,o=[],a=[],s=0;s<t.length;s++){var u=t[s];\"insert\"==n&&\"insert\"!=u.context||u.context&&u.context!=n||r.operator&&\"action\"==u.type||!(i=Z(e,u.keys))||(\"partial\"==i&&o.push(u),\"full\"==i&&a.push(u))}return{partial:o.length&&o,full:a.length&&a}}(e,t,r,n);if(!o.full&&!o.partial)return{type:\"none\"};if(!o.full&&o.partial)return{type:\"partial\"};for(var a=0;a<o.full.length;a++){var s=o.full[a];i||(i=s)}if(\"<character>\"==i.keys.slice(-11)){var u=function(e){var t=/^.*(<[^>]+>)$/.exec(e),n=t?t[1]:e.slice(-1);if(n.length>1)switch(n){case\"<CR>\":n=\"\\n\";break;case\"<Space>\":n=\" \";break;default:n=\"\"}return n}(e);if(!u)return{type:\"none\"};n.selectedCharacter=u}return{type:\"full\",command:i}},processCommand:function(e,t,n){switch(t.inputState.repeatOverride=n.repeatOverride,n.type){case\"motion\":this.processMotion(e,t,n);break;case\"operator\":this.processOperator(e,t,n);break;case\"operatorMotion\":this.processOperatorMotion(e,t,n);break;case\"action\":this.processAction(e,t,n);break;case\"search\":this.processSearch(e,t,n);break;case\"ex\":case\"keyToEx\":this.processEx(e,t,n)}},processMotion:function(e,t,n){t.inputState.motion=n.motion,t.inputState.motionArgs=$(n.motionArgs),this.evalInput(e,t)},processOperator:function(e,t,n){var r=t.inputState;if(r.operator){if(r.operator==n.operator)return r.motion=\"expandToLine\",r.motionArgs={linewise:!0},void this.evalInput(e,t);z(e)}r.operator=n.operator,r.operatorArgs=$(n.operatorArgs),n.exitVisualBlock&&(t.visualBlock=!1,de(e)),t.visualMode&&this.evalInput(e,t)},processOperatorMotion:function(e,t,n){var r=t.visualMode,i=$(n.operatorMotionArgs);i&&r&&i.visualLine&&(t.visualLine=!0),this.processOperator(e,t,n),r||this.processMotion(e,t,n)},processAction:function(e,t,n){var r=t.inputState,i=r.getRepeat(),o=!!i,a=$(n.actionArgs)||{};r.selectedCharacter&&(a.selectedCharacter=r.selectedCharacter),n.operator&&this.processOperator(e,t,n),n.motion&&this.processMotion(e,t,n),(n.motion||n.operator)&&this.evalInput(e,t),a.repeat=i||1,a.repeatIsExplicit=o,a.registerName=r.registerName,z(e),t.lastMotion=null,n.isEdit&&this.recordLastEdit(t,r,n),Q[n.action](e,a,t)},processSearch:function(t,n,r){if(t.getSearchCursor){var i=r.searchArgs.forward,o=r.searchArgs.wholeWordOnly;Te(t).setReversed(!i);var a=i?\"/\":\"?\",s=Te(t).getQuery(),u=t.getScrollInfo();switch(r.searchArgs.querySrc){case\"prompt\":var c=N.macroModeState;c.isPlaying?d(f=c.replaySearchQueries.shift(),!0,!1):Pe(t,{onClose:function(e){t.scrollTo(u.left,u.top),d(e,!0,!0);var n=N.macroModeState;n.isRecording&&function(e,t){if(!e.isPlaying){var n=e.latestRegister,r=N.registerController.getRegister(n);r&&r.pushSearchQuery&&r.pushSearchQuery(t)}}(n,e)},prefix:a,desc:Le,onKeyUp:function(n,r,o){var a,s,c,l=e.keyName(n);\"Up\"==l||\"Down\"==l?(a=\"Up\"==l,s=n.target?n.target.selectionEnd:0,o(r=N.searchHistoryController.nextMatch(r,a)||\"\"),s&&n.target&&(n.target.selectionEnd=n.target.selectionStart=Math.min(s,n.target.value.length))):\"Left\"!=l&&\"Right\"!=l&&\"Ctrl\"!=l&&\"Alt\"!=l&&\"Shift\"!=l&&N.searchHistoryController.reset();try{c=Re(t,r,!0,!0)}catch(n){}c?t.scrollIntoView(ze(t,!i,c),30):(Ve(t),t.scrollTo(u.left,u.top))},onKeyDown:function(n,r,i){var o=e.keyName(n);\"Esc\"==o||\"Ctrl-C\"==o||\"Ctrl-[\"==o||\"Backspace\"==o&&\"\"==r?(N.searchHistoryController.pushInput(r),N.searchHistoryController.reset(),Re(t,s),Ve(t),t.scrollTo(u.left,u.top),e.e_stop(n),z(t),i(),t.focus()):\"Up\"==o||\"Down\"==o?e.e_stop(n):\"Ctrl-U\"==o&&(e.e_stop(n),i(\"\"))}});break;case\"wordUnderCursor\":var l=ye(t,!1,0,!1,!0),p=!0;if(l||(l=ye(t,!1,0,!1,!1),p=!1),!l)return;var f=t.getLine(l.start.line).substring(l.start.ch,l.end.ch);f=p&&o?\"\\\\b\"+f+\"\\\\b\":f.replace(/([.?*+$\\[\\]\\/\\\\(){}|\\-])/g,\"\\\\$1\"),N.jumpList.cachedCursor=t.getCursor(),t.setCursor(l.start),d(f,!0,!1)}}function d(e,i,o){N.searchHistoryController.pushInput(e),N.searchHistoryController.reset();try{Re(t,e,i,o)}catch(n){return je(t,\"Invalid regex: \"+e),void z(t)}W.processMotion(t,n,{type:\"motion\",motion:\"findNext\",motionArgs:{forward:!0,toJumplist:r.searchArgs.toJumplist}})}},processEx:function(t,n,r){function i(e){N.exCommandHistoryController.pushInput(e),N.exCommandHistoryController.reset(),Je.processCommand(t,e)}function o(n,r,i){var o,a,s=e.keyName(n);(\"Esc\"==s||\"Ctrl-C\"==s||\"Ctrl-[\"==s||\"Backspace\"==s&&\"\"==r)&&(N.exCommandHistoryController.pushInput(r),N.exCommandHistoryController.reset(),e.e_stop(n),z(t),i(),t.focus()),\"Up\"==s||\"Down\"==s?(e.e_stop(n),o=\"Up\"==s,a=n.target?n.target.selectionEnd:0,i(r=N.exCommandHistoryController.nextMatch(r,o)||\"\"),a&&n.target&&(n.target.selectionEnd=n.target.selectionStart=Math.min(a,n.target.value.length))):\"Ctrl-U\"==s?(e.e_stop(n),i(\"\")):\"Left\"!=s&&\"Right\"!=s&&\"Ctrl\"!=s&&\"Alt\"!=s&&\"Shift\"!=s&&N.exCommandHistoryController.reset()}\"keyToEx\"==r.type?Je.processCommand(t,r.exArgs.input):n.visualMode?Pe(t,{onClose:i,prefix:\":\",value:\"'<,'>\",onKeyDown:o,selectValueOnOpen:!1}):Pe(t,{onClose:i,prefix:\":\",onKeyDown:o})},evalInput:function(e,t){var n,r,o,a=t.inputState,s=a.motion,u=a.motionArgs||{},c=a.operator,l=a.operatorArgs||{},p=a.registerName,f=t.sel,d=te(t.visualMode?Y(e,f.head):e.getCursor(\"head\")),h=te(t.visualMode?Y(e,f.anchor):e.getCursor(\"anchor\")),m=te(d),g=te(h);if(c&&this.recordLastEdit(t,a),(o=void 0!==a.repeatOverride?a.repeatOverride:a.getRepeat())>0&&u.explicitRepeat?u.repeatIsExplicit=!0:(u.noRepeat||!u.explicitRepeat&&0===o)&&(o=1,u.repeatIsExplicit=!1),a.selectedCharacter&&(u.selectedCharacter=l.selectedCharacter=a.selectedCharacter),u.repeat=o,z(e),s){var y=G[s](e,d,u,t);if(t.lastMotion=G[s],!y)return;if(u.toJumplist){var v=N.jumpList,b=v.cachedCursor;b?(ve(e,b,y),delete v.cachedCursor):ve(e,d,y)}y instanceof Array?(r=y[0],n=y[1]):n=y,n||(n=te(d)),t.visualMode?(t.visualBlock&&n.ch===1/0||(n=Y(e,n)),r&&(r=Y(e,r)),r=r||g,f.anchor=r,f.head=n,de(e),we(e,t,\"<\",re(r,n)?r:n),we(e,t,\">\",re(r,n)?n:r)):c||(n=Y(e,n),e.setCursor(n.line,n.ch))}if(c){if(l.lastSel){r=g;var E=l.lastSel,x=Math.abs(E.head.line-E.anchor.line),D=Math.abs(E.head.ch-E.anchor.ch);n=E.visualLine?i(g.line+x,g.ch):E.visualBlock?i(g.line+x,g.ch+D):E.head.line==E.anchor.line?i(g.line,g.ch+D):i(g.line+x,g.ch),t.visualMode=!0,t.visualLine=E.visualLine,t.visualBlock=E.visualBlock,f=t.sel={anchor:r,head:n},de(e)}else t.visualMode&&(l.lastSel={anchor:te(f.anchor),head:te(f.head),visualBlock:t.visualBlock,visualLine:t.visualLine});var C,w,k,A,T;if(t.visualMode){if(C=ie(f.head,f.anchor),w=oe(f.head,f.anchor),k=t.visualLine||l.linewise,T=he(e,{anchor:C,head:w},A=t.visualBlock?\"block\":k?\"line\":\"char\"),k){var _=T.ranges;if(\"block\"==A)for(var O=0;O<_.length;O++)_[O].head.ch=se(e,_[O].head.line);else\"line\"==A&&(_[0].head=i(_[0].head.line+1,0))}}else{if(C=te(r||g),re(w=te(n||m),C)){var F=C;C=w,w=F}(k=u.linewise||l.linewise)?function(e,t,n){t.ch=0,n.ch=0,n.line++}(0,C,w):u.forward&&function(e,t,n){var r=e.getRange(t,n);if(/\\n\\s*$/.test(r)){var i=r.split(\"\\n\");i.pop();for(var o=i.pop();i.length>0&&o&&S(o);o=i.pop())n.line--,n.ch=0;o?(n.line--,n.ch=se(e,n.line)):n.ch=0}}(e,C,w),T=he(e,{anchor:C,head:w},A=\"char\",!u.inclusive||k)}e.setSelections(T.ranges,T.primary),t.lastMotion=null,l.repeat=o,l.registerName=p,l.linewise=k;var I=J[c](e,l,T.ranges,g,n);t.visualMode&&me(e,null!=I),I&&e.setCursor(I)}},recordLastEdit:function(e,t,n){var r=N.macroModeState;r.isPlaying||(e.lastEditInputState=t,e.lastEditActionCommand=n,r.lastInsertModeChanges.changes=[],r.lastInsertModeChanges.expectCursorActivityForChange=!1,r.lastInsertModeChanges.visualBlock=e.visualBlock?e.sel.head.line-e.sel.anchor.line:0)}},G={moveToTopLine:function(e,t,n){var r=qe(e).top+n.repeat-1;return i(r,ge(e.getLine(r)))},moveToMiddleLine:function(e){var t=qe(e),n=Math.floor(.5*(t.top+t.bottom));return i(n,ge(e.getLine(n)))},moveToBottomLine:function(e,t,n){var r=qe(e).bottom-n.repeat+1;return i(r,ge(e.getLine(r)))},expandToLine:function(e,t,n){return i(t.line+n.repeat-1,1/0)},findNext:function(e,t,n){var r=Te(e),i=r.getQuery();if(i){var o=!n.forward;return o=r.isReversed()?!o:o,Ue(e,i),ze(e,o,i,n.repeat)}},goToMark:function(e,t,n,r){var i=He(e,r,n.selectedCharacter);return i?n.linewise?{line:i.line,ch:ge(e.getLine(i.line))}:i:null},moveToOtherHighlightedEnd:function(e,t,n,r){if(r.visualBlock&&n.sameLine){var o=r.sel;return[Y(e,i(o.anchor.line,o.head.ch)),Y(e,i(o.head.line,o.anchor.ch))]}return[r.sel.head,r.sel.anchor]},jumpToMark:function(e,t,n,r){for(var o=t,a=0;a<n.repeat;a++){var s=o;for(var u in r.marks)if(C(u)){var c=r.marks[u].find();if(!((n.forward?re(c,s):re(s,c))||n.linewise&&c.line==s.line)){var l=ne(s,o),p=n.forward?ae(s,c,o):ae(o,c,s);(l||p)&&(o=c)}}}return n.linewise&&(o=i(o.line,ge(e.getLine(o.line)))),o},moveByCharacters:function(e,t,n){var r=t,o=n.repeat,a=n.forward?r.ch+o:r.ch-o;return i(r.line,a)},moveByLines:function(e,t,n,r){var o=t,a=o.ch;switch(r.lastMotion){case this.moveByLines:case this.moveByDisplayLines:case this.moveByScroll:case this.moveToColumn:case this.moveToEol:a=r.lastHPos;break;default:r.lastHPos=a}var s=n.repeat+(n.repeatOffset||0),u=n.forward?o.line+s:o.line-s,c=e.firstLine(),l=e.lastLine(),p=e.findPosV(o,n.forward?s:-s,\"line\",r.lastHSPos);return(n.forward?p.line>u:p.line<u)&&(u=p.line,a=p.ch),u<c&&o.line==c?this.moveToStartOfLine(e,t,n,r):u>l&&o.line==l?this.moveToEol(e,t,n,r,!0):(n.toFirstChar&&(a=ge(e.getLine(u)),r.lastHPos=a),r.lastHSPos=e.charCoords(i(u,a),\"div\").left,i(u,a))},moveByDisplayLines:function(e,t,n,r){var o=t;switch(r.lastMotion){case this.moveByDisplayLines:case this.moveByScroll:case this.moveByLines:case this.moveToColumn:case this.moveToEol:break;default:r.lastHSPos=e.charCoords(o,\"div\").left}var a=n.repeat;if((u=e.findPosV(o,n.forward?a:-a,\"line\",r.lastHSPos)).hitSide)if(n.forward)var s={top:e.charCoords(u,\"div\").top+8,left:r.lastHSPos},u=e.coordsChar(s,\"div\");else{var c=e.charCoords(i(e.firstLine(),0),\"div\");c.left=r.lastHSPos,u=e.coordsChar(c,\"div\")}return r.lastHPos=u.ch,u},moveByPage:function(e,t,n){var r=t,i=n.repeat;return e.findPosV(r,n.forward?i:-i,\"page\")},moveByParagraph:function(e,t,n){var r=n.forward?1:-1;return ke(e,t,n.repeat,r)},moveBySentence:function(e,t,n){var r=n.forward?1:-1;return function(e,t,n,r){function o(e,t){if(t.pos+t.dir<0||t.pos+t.dir>=t.line.length){if(t.ln+=t.dir,!D(e,t.ln))return t.line=null,t.ln=null,void(t.pos=null);t.line=e.getLine(t.ln),t.pos=t.dir>0?0:t.line.length-1}else t.pos+=t.dir}function a(e,t,n,r){var i=\"\"===(c=e.getLine(t)),a={line:c,ln:t,pos:n,dir:r},s={ln:a.ln,pos:a.pos},u=\"\"===a.line;for(o(e,a);null!==a.line;){if(s.ln=a.ln,s.pos=a.pos,\"\"===a.line&&!u)return{ln:a.ln,pos:a.pos};if(i&&\"\"!==a.line&&!S(a.line[a.pos]))return{ln:a.ln,pos:a.pos};!k(a.line[a.pos])||i||a.pos!==a.line.length-1&&!S(a.line[a.pos+1])||(i=!0),o(e,a)}var c=e.getLine(s.ln);s.pos=0;for(var l=c.length-1;l>=0;--l)if(!S(c[l])){s.pos=l;break}return s}function s(e,t,n,r){var i={line:u=e.getLine(t),ln:t,pos:n,dir:r},a={ln:i.ln,pos:null},s=\"\"===i.line;for(o(e,i);null!==i.line;){if(\"\"===i.line&&!s)return null!==a.pos?a:{ln:i.ln,pos:i.pos};if(k(i.line[i.pos])&&null!==a.pos&&(i.ln!==a.ln||i.pos+1!==a.pos))return a;\"\"===i.line||S(i.line[i.pos])||(s=!1,a={ln:i.ln,pos:i.pos}),o(e,i)}var u=e.getLine(a.ln);a.pos=0;for(var c=0;c<u.length;++c)if(!S(u[c])){a.pos=c;break}return a}for(var u={ln:t.line,pos:t.ch};n>0;)u=r<0?s(e,u.ln,u.pos,r):a(e,u.ln,u.pos,r),n--;return i(u.ln,u.pos)}(e,t,n.repeat,r)},moveByScroll:function(e,t,n,r){var i=e.getScrollInfo(),o=null,a=n.repeat;a||(a=i.clientHeight/(2*e.defaultTextHeight()));var s=e.charCoords(t,\"local\");if(n.repeat=a,!(o=G.moveByDisplayLines(e,t,n,r)))return null;var u=e.charCoords(o,\"local\");return e.scrollTo(null,i.top+u.top-s.top),o},moveByWords:function(e,t,n){return function(e,t,n,r,o,a){var s=te(t),u=[];(r&&!o||!r&&o)&&n++;for(var c=!(r&&o),l=0;l<n;l++){var p=De(e,t,r,a,c);if(!p){var f=se(e,e.lastLine());u.push(r?{line:e.lastLine(),from:f,to:f}:{line:0,from:0,to:0});break}u.push(p),t=i(p.line,r?p.to-1:p.from)}var d=u.length!=n,h=u[0],m=u.pop();return r&&!o?(d||h.from==s.ch&&h.line==s.line||(m=u.pop()),i(m.line,m.from)):r&&o?i(m.line,m.to-1):!r&&o?(d||h.to==s.ch&&h.line==s.line||(m=u.pop()),i(m.line,m.to)):i(m.line,m.from)}(e,t,n.repeat,!!n.forward,!!n.wordEnd,!!n.bigWord)},moveTillCharacter:function(e,t,n){var r=Ce(e,n.repeat,n.forward,n.selectedCharacter),i=n.forward?-1:1;return be(i,n),r?(r.ch+=i,r):null},moveToCharacter:function(e,t,n){var r=n.repeat;return be(0,n),Ce(e,r,n.forward,n.selectedCharacter)||t},moveToSymbol:function(e,t,n){return function(e,t,n,r){var o=te(e.getCursor()),a=n?1:-1,s=n?e.lineCount():-1,u=o.ch,c=o.line,l=e.getLine(c),p={lineText:l,nextCh:l.charAt(u),lastCh:null,index:u,symb:r,reverseSymb:(n?{\")\":\"(\",\"}\":\"{\"}:{\"(\":\")\",\"{\":\"}\"})[r],forward:n,depth:0,curMoveThrough:!1},f=Ee[r];if(!f)return o;var d=xe[f].init,h=xe[f].isComplete;for(d&&d(p);c!==s&&t;){if(p.index+=a,p.nextCh=p.lineText.charAt(p.index),!p.nextCh){if(c+=a,p.lineText=e.getLine(c)||\"\",a>0)p.index=0;else{var m=p.lineText.length;p.index=m>0?m-1:0}p.nextCh=p.lineText.charAt(p.index)}h(p)&&(o.line=c,o.ch=p.index,t--)}return p.nextCh||p.curMoveThrough?i(c,p.index):o}(e,n.repeat,n.forward,n.selectedCharacter)||t},moveToColumn:function(e,t,n,r){var o=n.repeat;return r.lastHPos=o-1,r.lastHSPos=e.charCoords(t,\"div\").left,function(e,t){var n=e.getCursor().line;return Y(e,i(n,t-1))}(e,o)},moveToEol:function(e,t,n,r,o){var a=i(t.line+n.repeat-1,1/0),s=e.clipPos(a);return s.ch--,o||(r.lastHPos=1/0,r.lastHSPos=e.charCoords(s,\"div\").left),a},moveToFirstNonWhiteSpaceCharacter:function(e,t){var n=t;return i(n.line,ge(e.getLine(n.line)))},moveToMatchedSymbol:function(e,t){for(var n,r=t,o=r.line,a=r.ch,s=e.getLine(o);a<s.length;a++)if((n=s.charAt(a))&&-1!=\"()[]{}\".indexOf(n)){var u=e.getTokenTypeAt(i(o,a+1));if(\"string\"!==u&&\"comment\"!==u)break}if(a<s.length){var c=\"<\"===a||\">\"===a?/[(){}[\\]<>]/:/[(){}[\\]]/;return e.findMatchingBracket(i(o,a),{bracketRegex:c}).to}return r},moveToStartOfLine:function(e,t){return i(t.line,0)},moveToLineOrEdgeOfDocument:function(e,t,n){var r=n.forward?e.lastLine():e.firstLine();return n.repeatIsExplicit&&(r=n.repeat-e.getOption(\"firstLineNumber\")),i(r,ge(e.getLine(r)))},textObjectManipulation:function(t,n,r,o){var a=r.selectedCharacter;\"b\"==a?a=\"(\":\"B\"==a&&(a=\"{\");var s,u=!r.textObjectInner;if({\"(\":\")\",\")\":\"(\",\"{\":\"}\",\"}\":\"{\",\"[\":\"]\",\"]\":\"[\",\"<\":\">\",\">\":\"<\"}[a])s=function(e,t,n,r){var o,a,s=t,u={\"(\":/[()]/,\")\":/[()]/,\"[\":/[[\\]]/,\"]\":/[[\\]]/,\"{\":/[{}]/,\"}\":/[{}]/,\"<\":/[<>]/,\">\":/[<>]/}[n],c={\"(\":\"(\",\")\":\"(\",\"[\":\"[\",\"]\":\"[\",\"{\":\"{\",\"}\":\"{\",\"<\":\"<\",\">\":\"<\"}[n],l=e.getLine(s.line).charAt(s.ch)===c?1:0;if(o=e.scanForBracket(i(s.line,s.ch+l),-1,void 0,{bracketRegex:u}),a=e.scanForBracket(i(s.line,s.ch+l),1,void 0,{bracketRegex:u}),!o||!a)return{start:s,end:s};if(o=o.pos,a=a.pos,o.line==a.line&&o.ch>a.ch||o.line>a.line){var p=o;o=a,a=p}return r?a.ch+=1:o.ch+=1,{start:o,end:a}}(t,n,a,u);else if({\"'\":!0,'\"':!0,\"`\":!0}[a])s=function(e,t,n,r){var o,a,s,u,c=te(t),l=e.getLine(c.line).split(\"\"),p=l.indexOf(n);if(c.ch<p?c.ch=p:p<c.ch&&l[c.ch]==n&&(a=c.ch,--c.ch),l[c.ch]!=n||a)for(s=c.ch;s>-1&&!o;s--)l[s]==n&&(o=s+1);else o=c.ch+1;if(o&&!a)for(s=o,u=l.length;s<u&&!a;s++)l[s]==n&&(a=s);return o&&a?(r&&(--o,++a),{start:i(c.line,o),end:i(c.line,a)}):{start:c,end:c}}(t,n,a,u);else if(\"W\"===a)s=ye(t,u,0,!0);else if(\"w\"===a)s=ye(t,u,0,!1);else if(\"p\"===a)if(s=ke(t,n,r.repeat,0,u),r.linewise=!0,o.visualMode)o.visualLine||(o.visualLine=!0);else{var c=o.inputState.operatorArgs;c&&(c.linewise=!0),s.end.line--}else{if(\"t\"!==a)return null;s=function(t,n,r){var i=n;if(!e.findMatchingTag||!e.findEnclosingTag)return{start:i,end:i};var o=e.findMatchingTag(t,n)||e.findEnclosingTag(t,n);return o&&o.open&&o.close?r?{start:o.open.from,end:o.close.to}:{start:o.open.to,end:o.close.from}:{start:i,end:i}}(t,n,u)}return t.state.vim.visualMode?function(e,t,n){var r,o=e.state.vim.sel,a=o.head,s=o.anchor;return re(n,t)&&(r=n,n=t,t=r),re(a,s)?(a=ie(t,a),s=oe(s,n)):(s=ie(t,s),-1==(a=X(a=oe(a,n),0,-1)).ch&&a.line!=e.firstLine()&&(a=i(a.line-1,se(e,a.line-1)))),[s,a]}(t,s.start,s.end):[s.start,s.end]},repeatLastCharacterSearch:function(e,t,n){var r=N.lastCharacterSearch,i=n.repeat,o=n.forward===r.forward,a=(r.increment?1:0)*(o?-1:1);e.moveH(-a,\"char\"),n.inclusive=!!o;var s=Ce(e,i,o,r.selectedCharacter);return s?(s.ch+=a,s):(e.moveH(a,\"char\"),t)}};function K(e,t){for(var n=[],r=0;r<t;r++)n.push(e);return n}var J={change:function(t,n,r){var o,a,s=t.state.vim,u=r[0].anchor,c=r[0].head;if(s.visualMode)if(n.fullLine)c.ch=Number.MAX_VALUE,c.line--,t.setSelection(u,c),a=t.getSelection(),t.replaceSelection(\"\"),o=u;else{a=t.getSelection();var l=K(\"\",r.length);t.replaceSelections(l),o=ie(r[0].head,r[0].anchor)}else{a=t.getRange(u,c);var p=s.lastEditInputState||{};if(\"moveByWords\"==p.motion&&!S(a)){var f=/\\s+$/.exec(a);f&&p.motionArgs&&p.motionArgs.forward&&(c=X(c,0,-f[0].length),a=a.slice(0,-f[0].length))}var d=new i(u.line-1,Number.MAX_VALUE),h=t.firstLine()==t.lastLine();c.line>t.lastLine()&&n.linewise&&!h?t.replaceRange(\"\",d,c):t.replaceRange(\"\",u,c),n.linewise&&(h||(t.setCursor(d),e.commands.newlineAndIndent(t)),u.ch=Number.MAX_VALUE),o=u}N.registerController.pushText(n.registerName,\"change\",a,n.linewise,r.length>1),Q.enterInsertMode(t,{head:o},t.state.vim)},delete:function(e,t,n){var r,o,a=e.state.vim;if(a.visualBlock){o=e.getSelection();var s=K(\"\",n.length);e.replaceSelections(s),r=n[0].anchor}else{var u=n[0].anchor,c=n[0].head;t.linewise&&c.line!=e.firstLine()&&u.line==e.lastLine()&&u.line==c.line-1&&(u.line==e.firstLine()?u.ch=0:u=i(u.line-1,se(e,u.line-1))),o=e.getRange(u,c),e.replaceRange(\"\",u,c),r=u,t.linewise&&(r=G.moveToFirstNonWhiteSpaceCharacter(e,u))}return N.registerController.pushText(t.registerName,\"delete\",o,t.linewise,a.visualBlock),Y(e,r)},indent:function(e,t,n){var r=e.state.vim,i=n[0].anchor.line,o=r.visualBlock?n[n.length-1].anchor.line:n[0].head.line,a=r.visualMode?t.repeat:1;t.linewise&&o--;for(var s=i;s<=o;s++)for(var u=0;u<a;u++)e.indentLine(s,t.indentRight);return G.moveToFirstNonWhiteSpaceCharacter(e,n[0].anchor)},indentAuto:function(e,t,n){return e.execCommand(\"indentAuto\"),G.moveToFirstNonWhiteSpaceCharacter(e,n[0].anchor)},changeCase:function(e,t,n,r,i){for(var o=e.getSelections(),a=[],s=t.toLower,u=0;u<o.length;u++){var c=o[u],l=\"\";if(!0===s)l=c.toLowerCase();else if(!1===s)l=c.toUpperCase();else for(var p=0;p<c.length;p++){var f=c.charAt(p);l+=w(f)?f.toLowerCase():f.toUpperCase()}a.push(l)}return e.replaceSelections(a),t.shouldMoveCursor?i:!e.state.vim.visualMode&&t.linewise&&n[0].anchor.line+1==n[0].head.line?G.moveToFirstNonWhiteSpaceCharacter(e,r):t.linewise?r:ie(n[0].anchor,n[0].head)},yank:function(e,t,n,r){var i=e.state.vim,o=e.getSelection(),a=i.visualMode?ie(i.sel.anchor,i.sel.head,n[0].head,n[0].anchor):r;return N.registerController.pushText(t.registerName,\"yank\",o,t.linewise,i.visualBlock),a}},Q={jumpListWalk:function(e,t,n){if(!n.visualMode){var r=t.repeat,i=t.forward,o=N.jumpList.move(e,i?r:-r),a=o?o.find():void 0;a=a||e.getCursor(),e.setCursor(a)}},scroll:function(e,t,n){if(!n.visualMode){var r=t.repeat||1,i=e.defaultTextHeight(),o=e.getScrollInfo().top,a=i*r,s=t.forward?o+a:o-a,u=te(e.getCursor()),c=e.charCoords(u,\"local\");if(t.forward)s>c.top?(u.line+=(s-c.top)/i,u.line=Math.ceil(u.line),e.setCursor(u),c=e.charCoords(u,\"local\"),e.scrollTo(null,c.top)):e.scrollTo(null,s);else{var l=s+e.getScrollInfo().clientHeight;l<c.bottom?(u.line-=(c.bottom-l)/i,u.line=Math.floor(u.line),e.setCursor(u),c=e.charCoords(u,\"local\"),e.scrollTo(null,c.bottom-e.getScrollInfo().clientHeight)):e.scrollTo(null,s)}}},scrollToCursor:function(e,t){var n=e.getCursor().line,r=e.charCoords(i(n,0),\"local\"),o=e.getScrollInfo().clientHeight,a=r.top,s=r.bottom-a;switch(t.position){case\"center\":a=a-o/2+s;break;case\"bottom\":a=a-o+s}e.scrollTo(null,a)},replayMacro:function(e,t,n){var r=t.selectedCharacter,i=t.repeat,o=N.macroModeState;for(\"@\"==r?r=o.latestRegister:o.latestRegister=r;i--;)$e(e,n,o,r)},enterMacroRecordMode:function(e,t){var n=N.macroModeState,r=t.selectedCharacter;N.registerController.isValidRegister(r)&&n.enterMacroRecordMode(e,r)},toggleOverwrite:function(t){t.state.overwrite?(t.toggleOverwrite(!1),t.setOption(\"keyMap\",\"vim-insert\"),e.signal(t,\"vim-mode-change\",{mode:\"insert\"})):(t.toggleOverwrite(!0),t.setOption(\"keyMap\",\"vim-replace\"),e.signal(t,\"vim-mode-change\",{mode:\"replace\"}))},enterInsertMode:function(t,n,r){if(!t.getOption(\"readOnly\")){r.insertMode=!0,r.insertModeRepeat=n&&n.repeat||1;var o=n?n.insertAt:null,a=r.sel,s=n.head||t.getCursor(\"head\"),u=t.listSelections().length;if(\"eol\"==o)s=i(s.line,se(t,s.line));else if(\"bol\"==o)s=i(s.line,0);else if(\"charAfter\"==o)s=X(s,0,1);else if(\"firstNonBlank\"==o)s=G.moveToFirstNonWhiteSpaceCharacter(t,s);else if(\"startOfSelectedArea\"==o){if(!r.visualMode)return;r.visualBlock?(s=i(Math.min(a.head.line,a.anchor.line),Math.min(a.head.ch,a.anchor.ch)),u=Math.abs(a.head.line-a.anchor.line)+1):s=a.head.line<a.anchor.line?a.head:i(a.anchor.line,0)}else if(\"endOfSelectedArea\"==o){if(!r.visualMode)return;r.visualBlock?(s=i(Math.min(a.head.line,a.anchor.line),Math.max(a.head.ch+1,a.anchor.ch)),u=Math.abs(a.head.line-a.anchor.line)+1):s=a.head.line>=a.anchor.line?X(a.head,0,1):i(a.anchor.line,0)}else if(\"inplace\"==o){if(r.visualMode)return}else\"lastEdit\"==o&&(s=We(t)||s);t.setOption(\"disableInput\",!1),n&&n.replace?(t.toggleOverwrite(!0),t.setOption(\"keyMap\",\"vim-replace\"),e.signal(t,\"vim-mode-change\",{mode:\"replace\"})):(t.toggleOverwrite(!1),t.setOption(\"keyMap\",\"vim-insert\"),e.signal(t,\"vim-mode-change\",{mode:\"insert\"})),N.macroModeState.isPlaying||(t.on(\"change\",Xe),e.on(t.getInputField(),\"keydown\",rt)),r.visualMode&&me(t),pe(t,s,u)}},toggleVisualMode:function(t,n,r){var o,a=n.repeat,s=t.getCursor();r.visualMode?r.visualLine^n.linewise||r.visualBlock^n.blockwise?(r.visualLine=!!n.linewise,r.visualBlock=!!n.blockwise,e.signal(t,\"vim-mode-change\",{mode:\"visual\",subMode:r.visualLine?\"linewise\":r.visualBlock?\"blockwise\":\"\"}),de(t)):me(t):(r.visualMode=!0,r.visualLine=!!n.linewise,r.visualBlock=!!n.blockwise,o=Y(t,i(s.line,s.ch+a-1)),r.sel={anchor:s,head:o},e.signal(t,\"vim-mode-change\",{mode:\"visual\",subMode:r.visualLine?\"linewise\":r.visualBlock?\"blockwise\":\"\"}),de(t),we(t,r,\"<\",ie(s,o)),we(t,r,\">\",oe(s,o)))},reselectLastSelection:function(t,n,r){var i=r.lastSelection;if(r.visualMode&&fe(t,r),i){var o=i.anchorMark.find(),a=i.headMark.find();if(!o||!a)return;r.sel={anchor:o,head:a},r.visualMode=!0,r.visualLine=i.visualLine,r.visualBlock=i.visualBlock,de(t),we(t,r,\"<\",ie(o,a)),we(t,r,\">\",oe(o,a)),e.signal(t,\"vim-mode-change\",{mode:\"visual\",subMode:r.visualLine?\"linewise\":r.visualBlock?\"blockwise\":\"\"})}},joinLines:function(e,t,n){var r,o;if(n.visualMode){if(r=e.getCursor(\"anchor\"),re(o=e.getCursor(\"head\"),r)){var a=o;o=r,r=a}o.ch=se(e,o.line)-1}else{var s=Math.max(t.repeat,2);r=e.getCursor(),o=Y(e,i(r.line+s-1,1/0))}for(var u=0,c=r.line;c<o.line;c++){u=se(e,r.line),a=i(r.line+1,se(e,r.line+1));var l=e.getRange(r,a);l=t.keepSpaces?l.replace(/\\n\\r?/g,\"\"):l.replace(/\\n\\s*/g,\" \"),e.replaceRange(l,r,a)}var p=i(r.line,u);n.visualMode&&me(e,!1),e.setCursor(p)},newLineAndEnterInsertMode:function(t,n,r){r.insertMode=!0;var o=te(t.getCursor());o.line!==t.firstLine()||n.after?(o.line=n.after?o.line:o.line-1,o.ch=se(t,o.line),t.setCursor(o),(e.commands.newlineAndIndentContinueComment||e.commands.newlineAndIndent)(t)):(t.replaceRange(\"\\n\",i(t.firstLine(),0)),t.setCursor(t.firstLine(),0)),this.enterInsertMode(t,{repeat:n.repeat},r)},paste:function(e,t,n){var r=te(e.getCursor()),o=N.registerController.getRegister(t.registerName);if(d=o.toString()){if(t.matchIndent){var a=e.getOption(\"tabSize\"),s=function(e){var t=e.split(\"\\t\").length-1,n=e.split(\" \").length-1;return t*a+1*n},u=e.getLine(e.getCursor().line),c=s(u.match(/^\\s*/)[0]),l=d.replace(/\\n$/,\"\"),p=d!==l,f=s(d.match(/^\\s*/)[0]),d=l.replace(/^\\s*/gm,(function(t){var n=c+(s(t)-f);if(n<0)return\"\";if(e.getOption(\"indentWithTabs\")){var r=Math.floor(n/a);return Array(r+1).join(\"\\t\")}return Array(n+1).join(\" \")}));d+=p?\"\\n\":\"\"}t.repeat>1&&(d=Array(t.repeat+1).join(d));var h,m,g=o.linewise,y=o.blockwise;if(y){d=d.split(\"\\n\"),g&&d.pop();for(var v=0;v<d.length;v++)d[v]=\"\"==d[v]?\" \":d[v];r.ch+=t.after?1:0,r.ch=Math.min(se(e,r.line),r.ch)}else g?n.visualMode?d=n.visualLine?d.slice(0,-1):\"\\n\"+d.slice(0,d.length-1)+\"\\n\":t.after?(d=\"\\n\"+d.slice(0,d.length-1),r.ch=se(e,r.line)):r.ch=0:r.ch+=t.after?1:0;if(n.visualMode){var b;n.lastPastedText=d;var E=function(e,t){var n=t.lastSelection;return t.visualMode?function(){var t=e.listSelections(),n=t[0],r=t[t.length-1];return[re(n.anchor,n.head)?n.anchor:n.head,re(r.anchor,r.head)?r.head:r.anchor]}():function(){var t=e.getCursor(),r=e.getCursor(),o=n.visualBlock;if(o){var a=o.width,s=o.height;r=i(t.line+s,t.ch+a);for(var u=[],c=t.line;c<r.line;c++){var l={anchor:i(c,t.ch),head:i(c,r.ch)};u.push(l)}e.setSelections(u)}else{var p=n.anchorMark.find(),f=n.headMark.find(),d=f.line-p.line,h=f.ch-p.ch;r={line:r.line+d,ch:d?r.ch:h+r.ch},n.visualLine&&(t=i(t.line,0),r=i(r.line,se(e,r.line))),e.setSelection(t,r)}return[t,r]}()}(e,n),x=E[0],D=E[1],C=e.getSelection(),w=e.listSelections(),S=new Array(w.length).join(\"1\").split(\"1\");n.lastSelection&&(b=n.lastSelection.headMark.find()),N.registerController.unnamedRegister.setText(C),y?(e.replaceSelections(S),D=i(x.line+d.length-1,x.ch),e.setCursor(x),le(e,D),e.replaceSelections(d),h=x):n.visualBlock?(e.replaceSelections(S),e.setCursor(x),e.replaceRange(d,x,x),h=x):(e.replaceRange(d,x,D),h=e.posFromIndex(e.indexFromPos(x)+d.length-1)),b&&(n.lastSelection.headMark=e.setBookmark(b)),g&&(h.ch=0)}else if(y){for(e.setCursor(r),v=0;v<d.length;v++){var k=r.line+v;k>e.lastLine()&&e.replaceRange(\"\\n\",i(k,0)),se(e,k)<r.ch&&ce(e,k,r.ch)}e.setCursor(r),le(e,i(r.line+d.length-1,r.ch)),e.replaceSelections(d),h=r}else e.replaceRange(d,r),g&&t.after?h=i(r.line+1,ge(e.getLine(r.line+1))):g&&!t.after?h=i(r.line,ge(e.getLine(r.line))):!g&&t.after?(m=e.indexFromPos(r),h=e.posFromIndex(m+d.length-1)):(m=e.indexFromPos(r),h=e.posFromIndex(m+d.length));n.visualMode&&me(e,!1),e.setCursor(h)}},undo:function(t,n){t.operation((function(){ee(t,e.commands.undo,n.repeat)(),t.setCursor(t.getCursor(\"anchor\"))}))},redo:function(t,n){ee(t,e.commands.redo,n.repeat)()},setRegister:function(e,t,n){n.inputState.registerName=t.selectedCharacter},setMark:function(e,t,n){we(e,n,t.selectedCharacter,e.getCursor())},replace:function(t,n,r){var o,a,s=n.selectedCharacter,u=t.getCursor(),c=t.listSelections();if(r.visualMode)u=t.getCursor(\"start\"),a=t.getCursor(\"end\");else{var l=t.getLine(u.line);(o=u.ch+n.repeat)>l.length&&(o=l.length),a=i(u.line,o)}if(\"\\n\"==s)r.visualMode||t.replaceRange(\"\",u,a),(e.commands.newlineAndIndentContinueComment||e.commands.newlineAndIndent)(t);else{var p=t.getRange(u,a);if(p=p.replace(/[^\\n]/g,s),r.visualBlock){var f=new Array(t.getOption(\"tabSize\")+1).join(\" \");p=(p=t.getSelection()).replace(/\\t/g,f).replace(/[^\\n]/g,s).split(\"\\n\"),t.replaceSelections(p)}else t.replaceRange(p,u,a);r.visualMode?(u=re(c[0].anchor,c[0].head)?c[0].anchor:c[0].head,t.setCursor(u),me(t,!1)):t.setCursor(X(a,0,-1))}},incrementNumberToken:function(e,t){for(var n,r,o,a,s=e.getCursor(),u=e.getLine(s.line),c=/(-?)(?:(0x)([\\da-f]+)|(0b|0|)(\\d+))/gi;null!==(n=c.exec(u))&&(o=(r=n.index)+n[0].length,!(s.ch<o)););if((t.backtrack||!(o<=s.ch))&&n){var l=n[2]||n[4],p=n[3]||n[5],f=t.increase?1:-1,d={\"0b\":2,0:8,\"\":10,\"0x\":16}[l.toLowerCase()];a=(parseInt(n[1]+p,d)+f*t.repeat).toString(d);var h=l?new Array(p.length-a.length+1+n[1].length).join(\"0\"):\"\";a=\"-\"===a.charAt(0)?\"-\"+l+h+a.substr(1):l+h+a;var m=i(s.line,r),g=i(s.line,o);e.replaceRange(a,m,g),e.setCursor(i(s.line,r+a.length-1))}},repeatLastEdit:function(e,t,n){if(n.lastEditInputState){var r=t.repeat;r&&t.repeatIsExplicit?n.lastEditInputState.repeatOverride=r:r=n.lastEditInputState.repeatOverride||r,it(e,n,r,!1)}},indent:function(e,t){e.indentLine(e.getCursor().line,t.indentRight)},exitInsertMode:Qe};function Y(e,t){var n=e.state.vim,r=n.insertMode||n.visualMode,o=Math.min(Math.max(e.firstLine(),t.line),e.lastLine()),a=se(e,o)-1+!!r,s=Math.min(Math.max(0,t.ch),a);return i(o,s)}function $(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function X(e,t,n){return\"object\"==typeof t&&(n=t.ch,t=t.line),i(e.line+t,e.ch+n)}function Z(e,t){if(\"<character>\"==t.slice(-11)){var n=t.length-11,r=e.slice(0,n),i=t.slice(0,n);return r==i&&e.length>n?\"full\":0==i.indexOf(r)&&\"partial\"}return e==t?\"full\":0==t.indexOf(e)&&\"partial\"}function ee(e,t,n){return function(){for(var r=0;r<n;r++)t(e)}}function te(e){return i(e.line,e.ch)}function ne(e,t){return e.ch==t.ch&&e.line==t.line}function re(e,t){return e.line<t.line||e.line==t.line&&e.ch<t.ch}function ie(e,t){return arguments.length>2&&(t=ie.apply(void 0,Array.prototype.slice.call(arguments,1))),re(e,t)?e:t}function oe(e,t){return arguments.length>2&&(t=oe.apply(void 0,Array.prototype.slice.call(arguments,1))),re(e,t)?t:e}function ae(e,t,n){var r=re(e,t),i=re(t,n);return r&&i}function se(e,t){return e.getLine(t).length}function ue(e){return e.trim?e.trim():e.replace(/^\\s+|\\s+$/g,\"\")}function ce(e,t,n){var r=se(e,t),o=new Array(n-r+1).join(\" \");e.setCursor(i(t,r)),e.replaceRange(o,e.getCursor())}function le(e,t){var n=[],r=e.listSelections(),o=te(e.clipPos(t)),a=!ne(t,o),s=function(e,t,n){for(var r=0;r<e.length;r++){var i=\"head\"!=n&&ne(e[r].anchor,t),o=\"anchor\"!=n&&ne(e[r].head,t);if(i||o)return r}return-1}(r,e.getCursor(\"head\")),u=ne(r[s].head,r[s].anchor),c=r.length-1,l=c-s>s?c:0,p=r[l].anchor,f=Math.min(p.line,o.line),d=Math.max(p.line,o.line),h=p.ch,m=o.ch,g=r[l].head.ch-h,y=m-h;g>0&&y<=0?(h++,a||m--):g<0&&y>=0?(h--,u||m++):g<0&&-1==y&&(h--,m++);for(var v=f;v<=d;v++){var b={anchor:new i(v,h),head:new i(v,m)};n.push(b)}return e.setSelections(n),t.ch=m,p.ch=h,p}function pe(e,t,n){for(var r=[],i=0;i<n;i++){var o=X(t,i,0);r.push({anchor:o,head:o})}e.setSelections(r,0)}function fe(e,t){var n=t.sel.anchor,r=t.sel.head;t.lastPastedText&&(r=e.posFromIndex(e.indexFromPos(n)+t.lastPastedText.length),t.lastPastedText=null),t.lastSelection={anchorMark:e.setBookmark(n),headMark:e.setBookmark(r),anchor:te(n),head:te(r),visualMode:t.visualMode,visualLine:t.visualLine,visualBlock:t.visualBlock}}function de(e,t,n){var r=e.state.vim,i=he(e,t=t||r.sel,n=n||r.visualLine?\"line\":r.visualBlock?\"block\":\"char\");e.setSelections(i.ranges,i.primary),et(e)}function he(e,t,n,r){var o=te(t.head),a=te(t.anchor);if(\"char\"==n){var s=r||re(t.head,t.anchor)?0:1,u=re(t.head,t.anchor)?1:0;return o=X(t.head,0,s),{ranges:[{anchor:a=X(t.anchor,0,u),head:o}],primary:0}}if(\"line\"==n){if(re(t.head,t.anchor))o.ch=0,a.ch=se(e,a.line);else{a.ch=0;var c=e.lastLine();o.line>c&&(o.line=c),o.ch=se(e,o.line)}return{ranges:[{anchor:a,head:o}],primary:0}}if(\"block\"==n){for(var l=Math.min(a.line,o.line),p=Math.min(a.ch,o.ch),f=Math.max(a.line,o.line),d=Math.max(a.ch,o.ch)+1,h=f-l+1,m=o.line==l?0:h-1,g=[],y=0;y<h;y++)g.push({anchor:i(l+y,p),head:i(l+y,d)});return{ranges:g,primary:m}}}function me(t,n){var r=t.state.vim;!1!==n&&t.setCursor(Y(t,r.sel.head)),fe(t,r),r.visualMode=!1,r.visualLine=!1,r.visualBlock=!1,r.insertMode||e.signal(t,\"vim-mode-change\",{mode:\"normal\"}),tt(r)}function ge(e){if(!e)return 0;var t=e.search(/\\S/);return-1==t?e.length:t}function ye(e,t,n,r,o){for(var a=function(e){var t=e.getCursor(\"head\");return 1==e.getSelection().length&&(t=ie(t,e.getCursor(\"anchor\"))),t}(e),s=e.getLine(a.line),u=a.ch,c=o?h[0]:m[0];!c(s.charAt(u));)if(++u>=s.length)return null;r?c=m[0]:(c=h[0])(s.charAt(u))||(c=h[1]);for(var l=u,p=u;c(s.charAt(l))&&l<s.length;)l++;for(;c(s.charAt(p))&&p>=0;)p--;if(p++,t){for(var f=l;/\\s/.test(s.charAt(l))&&l<s.length;)l++;if(f==l){for(var d=p;/\\s/.test(s.charAt(p-1))&&p>0;)p--;p||(p=d)}}return{start:i(a.line,p),end:i(a.line,l)}}function ve(e,t,n){ne(t,n)||N.jumpList.add(e,t,n)}function be(e,t){N.lastCharacterSearch.increment=e,N.lastCharacterSearch.forward=t.forward,N.lastCharacterSearch.selectedCharacter=t.selectedCharacter}var Ee={\"(\":\"bracket\",\")\":\"bracket\",\"{\":\"bracket\",\"}\":\"bracket\",\"[\":\"section\",\"]\":\"section\",\"*\":\"comment\",\"/\":\"comment\",m:\"method\",M:\"method\",\"#\":\"preprocess\"},xe={bracket:{isComplete:function(e){if(e.nextCh===e.symb){if(e.depth++,e.depth>=1)return!0}else e.nextCh===e.reverseSymb&&e.depth--;return!1}},section:{init:function(e){e.curMoveThrough=!0,e.symb=(e.forward?\"]\":\"[\")===e.symb?\"{\":\"}\"},isComplete:function(e){return 0===e.index&&e.nextCh===e.symb}},comment:{isComplete:function(e){var t=\"*\"===e.lastCh&&\"/\"===e.nextCh;return e.lastCh=e.nextCh,t}},method:{init:function(e){e.symb=\"m\"===e.symb?\"{\":\"}\",e.reverseSymb=\"{\"===e.symb?\"}\":\"{\"},isComplete:function(e){return e.nextCh===e.symb}},preprocess:{init:function(e){e.index=0},isComplete:function(e){if(\"#\"===e.nextCh){var t=e.lineText.match(/#(\\w+)/)[1];if(\"endif\"===t){if(e.forward&&0===e.depth)return!0;e.depth++}else if(\"if\"===t){if(!e.forward&&0===e.depth)return!0;e.depth--}if(\"else\"===t&&0===e.depth)return!0}return!1}}};function De(e,t,n,r,i){var o=t.line,a=t.ch,s=e.getLine(o),u=n?1:-1,c=r?m:h;if(i&&\"\"==s){if(o+=u,s=e.getLine(o),!D(e,o))return null;a=n?0:s.length}for(;;){if(i&&\"\"==s)return{from:0,to:0,line:o};for(var l=u>0?s.length:-1,p=l,f=l;a!=l;){for(var d=!1,g=0;g<c.length&&!d;++g)if(c[g](s.charAt(a))){for(p=a;a!=l&&c[g](s.charAt(a));)a+=u;if(d=p!=(f=a),p==t.ch&&o==t.line&&f==p+u)continue;return{from:Math.min(p,f+1),to:Math.max(p,f),line:o}}d||(a+=u)}if(!D(e,o+=u))return null;s=e.getLine(o),a=u>0?0:s.length}}function Ce(e,t,n,r){for(var o,a=e.getCursor(),s=a.ch,u=0;u<t;u++){if(-1==(o=Se(s,e.getLine(a.line),r,n,!0)))return null;s=o}return i(e.getCursor().line,o)}function we(e,t,n,r){A(n,E)&&(t.marks[n]&&t.marks[n].clear(),t.marks[n]=e.setBookmark(r))}function Se(e,t,n,r,i){var o;return r?-1==(o=t.indexOf(n,e+1))||i||(o-=1):-1==(o=t.lastIndexOf(n,e-1))||i||(o+=1),o}function ke(e,t,n,r,o){var a,s=t.line,u=e.firstLine(),c=e.lastLine(),l=s;function p(t){return!e.getLine(t)}function f(e,t,n){return n?p(e)!=p(e+t):!p(e)&&p(e+t)}if(r){for(;u<=l&&l<=c&&n>0;)f(l,r)&&n--,l+=r;return new i(l,0)}var d=e.state.vim;if(d.visualLine&&f(s,1,!0)){var h=d.sel.anchor;f(h.line,-1,!0)&&(o&&h.line==s||(s+=1))}var m=p(s);for(l=s;l<=c&&n;l++)f(l,1,!0)&&(o&&p(l)==m||n--);for(a=new i(l,0),l>c&&!m?m=!0:o=!1,l=s;l>u&&(o&&p(l)!=m&&l!=s||!f(l,-1,!0));l--);return{start:new i(l,0),end:a}}function Ae(){}function Te(e){var t=e.state.vim;return t.searchState_||(t.searchState_=new Ae)}function _e(e,t,n,r,i){e.openDialog?e.openDialog(t,r,{bottom:!0,value:i.value,onKeyDown:i.onKeyDown,onKeyUp:i.onKeyUp,selectValueOnOpen:!1}):r(prompt(n,\"\"))}function Oe(e,t){var n=Fe(e,t)||[];if(!n.length)return[];var r=[];if(0===n[0]){for(var i=0;i<n.length;i++)\"number\"==typeof n[i]&&r.push(e.substring(n[i]+1,n[i+1]));return r}}function Fe(e,t){t||(t=\"/\");for(var n=!1,r=[],i=0;i<e.length;i++){var o=e.charAt(i);n||o!=t||r.push(i),n=!n&&\"\\\\\"==o}return r}_(\"pcre\",!0,\"boolean\"),Ae.prototype={getQuery:function(){return N.query},setQuery:function(e){N.query=e},getOverlay:function(){return this.searchOverlay},setOverlay:function(e){this.searchOverlay=e},isReversed:function(){return N.isReversed},setReversed:function(e){N.isReversed=e},getScrollbarAnnotate:function(){return this.annotate},setScrollbarAnnotate:function(e){this.annotate=e}};var Ne={\"\\\\n\":\"\\n\",\"\\\\r\":\"\\r\",\"\\\\t\":\"\\t\"},Ie={\"\\\\/\":\"/\",\"\\\\\\\\\":\"\\\\\",\"\\\\n\":\"\\n\",\"\\\\r\":\"\\r\",\"\\\\t\":\"\\t\",\"\\\\&\":\"&\"};function Me(e,t,n){if(N.registerController.getRegister(\"/\").setText(e),e instanceof RegExp)return e;var r,i,o=Fe(e,\"/\");return o.length?(r=e.substring(0,o[0]),i=-1!=e.substring(o[0]).indexOf(\"i\")):r=e,r?(F(\"pcre\")||(r=function(e){for(var t=!1,n=[],r=-1;r<e.length;r++){var i=e.charAt(r)||\"\",o=e.charAt(r+1)||\"\",a=o&&-1!=\"|(){\".indexOf(o);t?(\"\\\\\"===i&&a||n.push(i),t=!1):\"\\\\\"===i?(t=!0,o&&-1!=\"}\".indexOf(o)&&(a=!0),a&&\"\\\\\"!==o||n.push(i)):(n.push(i),a&&\"\\\\\"!==o&&n.push(\"\\\\\"))}return n.join(\"\")}(r)),n&&(t=/^[^A-Z]*$/.test(r)),new RegExp(r,t||i?\"i\":void 0)):null}function je(e,t){e.openNotification?e.openNotification('<span style=\"color: red\">'+t+\"</span>\",{bottom:!0,duration:5e3}):alert(t)}var Le=\"(Javascript regexp)\";function Pe(e,t){var n,r,i,o=(t.prefix||\"\")+\" \"+(t.desc||\"\");_e(e,(n=t.prefix,r=t.desc,i='<span style=\"font-family: monospace; white-space: pre\">'+(n||\"\")+'<input type=\"text\" autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\"></span>',r&&(i+=' <span style=\"color: #888\">'+r+\"</span>\"),i),o,t.onClose,t)}function Re(e,t,n,r){if(t){var i=Te(e),o=Me(t,!!n,!!r);if(o)return Ue(e,o),function(e,t){if(e instanceof RegExp&&t instanceof RegExp){for(var n=[\"global\",\"multiline\",\"ignoreCase\",\"source\"],r=0;r<n.length;r++){var i=n[r];if(e[i]!==t[i])return!1}return!0}return!1}(o,i.getQuery())||i.setQuery(o),o}}var Be=0;function Ue(e,t){clearTimeout(Be),Be=setTimeout((function(){var n=Te(e),r=n.getOverlay();r&&t==r.query||(r&&e.removeOverlay(r),r=function(e){if(\"^\"==e.source.charAt(0))var t=!0;return{token:function(n){if(!t||n.sol()){var r=n.match(e,!1);if(r)return 0==r[0].length?(n.next(),\"searching\"):n.sol()||(n.backUp(1),e.exec(n.next()+r[0]))?(n.match(e),\"searching\"):(n.next(),null);for(;!n.eol()&&(n.next(),!n.match(e,!1)););}else n.skipToEnd()},query:e}}(t),e.addOverlay(r),e.showMatchesOnScrollbar&&(n.getScrollbarAnnotate()&&n.getScrollbarAnnotate().clear(),n.setScrollbarAnnotate(e.showMatchesOnScrollbar(t))),n.setOverlay(r))}),50)}function ze(e,t,n,r){return void 0===r&&(r=1),e.operation((function(){for(var o=e.getCursor(),a=e.getSearchCursor(n,o),s=0;s<r;s++){var u=a.find(t);if(0==s&&u&&ne(a.from(),o)&&(u=a.find(t)),!u&&!(a=e.getSearchCursor(n,t?i(e.lastLine()):i(e.firstLine(),0))).find(t))return}return a.from()}))}function Ve(e){var t=Te(e);e.removeOverlay(Te(e).getOverlay()),t.setOverlay(null),t.getScrollbarAnnotate()&&(t.getScrollbarAnnotate().clear(),t.setScrollbarAnnotate(null))}function qe(e){var t=e.getScrollInfo(),n=e.coordsChar({left:0,top:6+t.top},\"local\"),r=t.clientHeight-10+t.top,i=e.coordsChar({left:0,top:r},\"local\");return{top:n.line,bottom:i.line}}function He(e,t,n){if(\"'\"==n||\"`\"==n)return N.jumpList.find(e,-1)||i(0,0);if(\".\"==n)return We(e);var r=t.marks[n];return r&&r.find()}function We(e){for(var t=e.doc.history.done,n=t.length;n--;)if(t[n].changes)return te(t[n].changes[0].to)}var Ge=function(){this.buildCommandMap_()};Ge.prototype={processCommand:function(e,t,n){var r=this;e.operation((function(){e.curOp.isVimOp=!0,r._processCommand(e,t,n)}))},_processCommand:function(t,n,r){var i=t.state.vim,o=N.registerController.getRegister(\":\"),a=o.toString();i.visualMode&&me(t);var s=new e.StringStream(n);o.setText(n);var u,c,l=r||{};l.input=n;try{this.parseInput_(t,s,l)}catch(e){throw je(t,e),e}if(l.commandName){if(u=this.matchCommand_(l.commandName)){if(c=u.name,u.excludeFromCommandHistory&&o.setText(a),this.parseCommandArgs_(s,l,u),\"exToKey\"==u.type){for(var p=0;p<u.toKeys.length;p++)e.Vim.handleKey(t,u.toKeys[p],\"mapping\");return}if(\"exToEx\"==u.type)return void this.processCommand(t,u.toInput)}}else void 0!==l.line&&(c=\"move\");if(c)try{Ke[c](t,l),u&&u.possiblyAsync||!l.callback||l.callback()}catch(e){throw je(t,e),e}else je(t,'Not an editor command \":'+n+'\"')},parseInput_:function(e,t,n){t.eatWhile(\":\"),t.eat(\"%\")?(n.line=e.firstLine(),n.lineEnd=e.lastLine()):(n.line=this.parseLineSpec_(e,t),void 0!==n.line&&t.eat(\",\")&&(n.lineEnd=this.parseLineSpec_(e,t)));var r=t.match(/^(\\w+|!!|@@|[!#&*<=>@~])/);return n.commandName=r?r[1]:t.match(/.*/)[0],n},parseLineSpec_:function(e,t){var n=t.match(/^(\\d+)/);if(n)return parseInt(n[1],10)-1;switch(t.next()){case\".\":return this.parseLineSpecOffset_(t,e.getCursor().line);case\"$\":return this.parseLineSpecOffset_(t,e.lastLine());case\"'\":var r=t.next(),i=He(e,e.state.vim,r);if(!i)throw new Error(\"Mark not set\");return this.parseLineSpecOffset_(t,i.line);case\"-\":case\"+\":return t.backUp(1),this.parseLineSpecOffset_(t,e.getCursor().line);default:return void t.backUp(1)}},parseLineSpecOffset_:function(e,t){var n=e.match(/^([+-])?(\\d+)/);if(n){var r=parseInt(n[2],10);\"-\"==n[1]?t-=r:t+=r}return t},parseCommandArgs_:function(e,t,n){if(!e.eol()){t.argString=e.match(/.*/)[0];var r=n.argDelimiter||/\\s+/,i=ue(t.argString).split(r);i.length&&i[0]&&(t.args=i)}},matchCommand_:function(e){for(var t=e.length;t>0;t--){var n=e.substring(0,t);if(this.commandMap_[n]){var r=this.commandMap_[n];if(0===r.name.indexOf(e))return r}}return null},buildCommandMap_:function(){this.commandMap_={};for(var e=0;e<r.length;e++){var t=r[e],n=t.shortName||t.name;this.commandMap_[n]=t}},map:function(e,n,r){if(\":\"!=e&&\":\"==e.charAt(0)){if(r)throw Error(\"Mode not supported for ex mappings\");var i=e.substring(1);\":\"!=n&&\":\"==n.charAt(0)?this.commandMap_[i]={name:i,type:\"exToEx\",toInput:n.substring(1),user:!0}:this.commandMap_[i]={name:i,type:\"exToKey\",toKeys:n,user:!0}}else if(\":\"!=n&&\":\"==n.charAt(0)){var o={keys:e,type:\"keyToEx\",exArgs:{input:n.substring(1)}};r&&(o.context=r),t.unshift(o)}else o={keys:e,type:\"keyToKey\",toKeys:n},r&&(o.context=r),t.unshift(o)},unmap:function(e,n){if(\":\"!=e&&\":\"==e.charAt(0)){if(n)throw Error(\"Mode not supported for ex mappings\");var r=e.substring(1);if(this.commandMap_[r]&&this.commandMap_[r].user)return void delete this.commandMap_[r]}else for(var i=e,o=0;o<t.length;o++)if(i==t[o].keys&&t[o].context===n)return void t.splice(o,1);throw Error(\"No such mapping.\")}};var Ke={colorscheme:function(e,t){!t.args||t.args.length<1?je(e,e.getOption(\"theme\")):e.setOption(\"theme\",t.args[0])},map:function(e,t,n){var r=t.args;!r||r.length<2?e&&je(e,\"Invalid mapping: \"+t.input):Je.map(r[0],r[1],n)},imap:function(e,t){this.map(e,t,\"insert\")},nmap:function(e,t){this.map(e,t,\"normal\")},vmap:function(e,t){this.map(e,t,\"visual\")},unmap:function(e,t,n){var r=t.args;!r||r.length<1?e&&je(e,\"No such mapping: \"+t.input):Je.unmap(r[0],n)},move:function(e,t){W.processCommand(e,e.state.vim,{type:\"motion\",motion:\"moveToLineOrEdgeOfDocument\",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0},repeatOverride:t.line+1})},set:function(e,t){var n=t.args,r=t.setCfg||{};if(!n||n.length<1)e&&je(e,\"Invalid mapping: \"+t.input);else{var i=n[0].split(\"=\"),o=i[0],a=i[1],s=!1;if(\"?\"==o.charAt(o.length-1)){if(a)throw Error(\"Trailing characters: \"+t.argString);o=o.substring(0,o.length-1),s=!0}void 0===a&&\"no\"==o.substring(0,2)&&(o=o.substring(2),a=!1);var u=T[o]&&\"boolean\"==T[o].type;if(u&&null==a&&(a=!0),!u&&void 0===a||s){var c=F(o,e,r);c instanceof Error?je(e,c.message):je(e,!0===c||!1===c?\" \"+(c?\"\":\"no\")+o:\"  \"+o+\"=\"+c)}else{var l=O(o,a,e,r);l instanceof Error&&je(e,l.message)}}},setlocal:function(e,t){t.setCfg={scope:\"local\"},this.set(e,t)},setglobal:function(e,t){t.setCfg={scope:\"global\"},this.set(e,t)},registers:function(e,t){var n=t.args,r=N.registerController.registers,i=\"----------Registers----------<br><br>\";if(n){n=n.join(\"\");for(var o=0;o<n.length;o++)a=n.charAt(o),N.registerController.isValidRegister(a)&&(i+='\"'+a+\"    \"+(r[a]||new V).toString()+\"<br>\")}else for(var a in r){var s=r[a].toString();s.length&&(i+='\"'+a+\"    \"+s+\"<br>\")}je(e,i)},sort:function(t,n){var r,o,a,s,u,c=function(){if(n.argString){var t=new e.StringStream(n.argString);if(t.eat(\"!\")&&(r=!0),t.eol())return;if(!t.eatSpace())return\"Invalid arguments\";var i=t.match(/([dinuox]+)?\\s*(\\/.+\\/)?\\s*/);if(!i&&!t.eol())return\"Invalid arguments\";if(i[1]){o=-1!=i[1].indexOf(\"i\"),a=-1!=i[1].indexOf(\"u\");var c=-1!=i[1].indexOf(\"d\")||-1!=i[1].indexOf(\"n\")&&1,l=-1!=i[1].indexOf(\"x\")&&1,p=-1!=i[1].indexOf(\"o\")&&1;if(c+l+p>1)return\"Invalid arguments\";s=(c?\"decimal\":l&&\"hex\")||p&&\"octal\"}i[2]&&(u=new RegExp(i[2].substr(1,i[2].length-2),o?\"i\":\"\"))}}();if(c)je(t,c+\": \"+n.argString);else{var l=n.line||t.firstLine(),p=n.lineEnd||n.line||t.lastLine();if(l!=p){var f=i(l,0),d=i(p,se(t,p)),h=t.getRange(f,d).split(\"\\n\"),m=u||(\"decimal\"==s?/(-?)([\\d]+)/:\"hex\"==s?/(-?)(?:0x)?([0-9a-f]+)/i:\"octal\"==s?/([0-7]+)/:null),g=\"decimal\"==s?10:\"hex\"==s?16:\"octal\"==s?8:null,y=[],v=[];if(s||u)for(var b=0;b<h.length;b++){var E=u?h[b].match(u):null;E&&\"\"!=E[0]?y.push(E):!u&&m.exec(h[b])?y.push(h[b]):v.push(h[b])}else v=h;if(y.sort(u?function(e,t){var n;return r&&(n=e,e=t,t=n),o&&(e[0]=e[0].toLowerCase(),t[0]=t[0].toLowerCase()),e[0]<t[0]?-1:1}:C),u)for(b=0;b<y.length;b++)y[b]=y[b].input;else s||v.sort(C);if(h=r?y.concat(v):v.concat(y),a){var x,D=h;for(h=[],b=0;b<D.length;b++)D[b]!=x&&h.push(D[b]),x=D[b]}t.replaceRange(h.join(\"\\n\"),f,d)}}function C(e,t){var n;r&&(n=e,e=t,t=n),o&&(e=e.toLowerCase(),t=t.toLowerCase());var i=s&&m.exec(e),a=s&&m.exec(t);return i?(i=parseInt((i[1]+i[2]).toLowerCase(),g))-(a=parseInt((a[1]+a[2]).toLowerCase(),g)):e<t?-1:1}},global:function(e,t){var n=t.argString;if(n){var r,i=void 0!==t.line?t.line:e.firstLine(),o=t.lineEnd||t.line||e.lastLine(),a=function(e){return Oe(e,\"/\")}(n),s=n;if(a.length&&(s=a[0],r=a.slice(1,a.length).join(\"/\")),s)try{Re(e,s,!0,!0)}catch(t){return void je(e,\"Invalid regex: \"+s)}for(var u=Te(e).getQuery(),c=[],l=\"\",p=i;p<=o;p++)u.test(e.getLine(p))&&(c.push(p+1),l+=e.getLine(p)+\"<br>\");if(r){var f=0,d=function(){if(f<c.length){var t=c[f]+r;Je.processCommand(e,t,{callback:d})}f++};d()}else je(e,l)}else je(e,\"Regular Expression missing from global\")},substitute:function(t,n){if(!t.getSearchCursor)throw new Error(\"Search feature not available. Requires searchcursor.js or any other getSearchCursor implementation.\");var r,o,a,s,u=n.argString,c=u?Oe(u,u[0]):[],l=\"\",p=!1,f=!1;if(c.length)r=c[0],F(\"pcre\")&&\"\"!==r&&(r=new RegExp(r).source),l=c[1],r&&\"$\"===r[r.length-1]&&(r=r.slice(0,r.length-1)+\"\\\\n\",l=l?l+\"\\n\":\"\\n\"),void 0!==l&&(l=F(\"pcre\")?function(t){for(var n=new e.StringStream(t),r=[];!n.eol();){for(;n.peek()&&\"\\\\\"!=n.peek();)r.push(n.next());var i=!1;for(var o in Ie)if(n.match(o,!0)){i=!0,r.push(Ie[o]);break}i||r.push(n.next())}return r.join(\"\")}(l.replace(/([^\\\\])&/g,\"$1$$&\")):function(e){for(var t,n=!1,r=[],i=-1;i<e.length;i++){var o=e.charAt(i)||\"\",a=e.charAt(i+1)||\"\";Ne[o+a]?(r.push(Ne[o+a]),i++):n?(r.push(o),n=!1):\"\\\\\"===o?(n=!0,t=a,d.test(t)||\"$\"===a?r.push(\"$\"):\"/\"!==a&&\"\\\\\"!==a&&r.push(\"\\\\\")):(\"$\"===o&&r.push(\"$\"),r.push(o),\"/\"===a&&r.push(\"\\\\\"))}return r.join(\"\")}(l),N.lastSubstituteReplacePart=l),o=c[2]?c[2].split(\" \"):[];else if(u&&u.length)return void je(t,\"Substitutions should be of the form :s/pattern/replace/\");if(o&&(a=o[0],s=parseInt(o[1]),a&&(-1!=a.indexOf(\"c\")&&(p=!0,a.replace(\"c\",\"\")),-1!=a.indexOf(\"g\")&&(f=!0,a.replace(\"g\",\"\")),r=F(\"pcre\")?r+\"/\"+a:r.replace(/\\//g,\"\\\\/\")+\"/\"+a)),r)try{Re(t,r,!0,!0)}catch(e){return void je(t,\"Invalid regex: \"+r)}if(void 0!==(l=l||N.lastSubstituteReplacePart)){var h=Te(t).getQuery(),m=void 0!==n.line?n.line:t.getCursor().line,g=n.lineEnd||m;m==t.firstLine()&&g==t.lastLine()&&(g=1/0),s&&(g=(m=g)+s-1);var y=Y(t,i(m,0)),v=t.getSearchCursor(h,y);!function(t,n,r,i,o,a,s,u,c){t.state.vim.exMode=!0;var l=!1,p=a.from();function f(){t.operation((function(){for(;!l;)d(),h();m()}))}function d(){var e=t.getRange(a.from(),a.to()).replace(s,u);a.replace(e)}function h(){for(;a.findNext()&&(e=a.from(),n=i,s=o,\"number\"!=typeof e&&(e=e.line),n instanceof Array?A(e,n):s?e>=n&&e<=s:e==n);)if(r||!p||a.from().line!=p.line)return t.scrollIntoView(a.from(),30),t.setSelection(a.from(),a.to()),p=a.from(),void(l=!1);var e,n,s;l=!0}function m(e){if(e&&e(),t.focus(),p){t.setCursor(p);var n=t.state.vim;n.exMode=!1,n.lastHPos=n.lastHSPos=p.ch}c&&c()}if(h(),!l)return n?void Pe(t,{prefix:\"replace with <strong>\"+u+\"</strong> (y/n/a/q/l)\",onKeyDown:function(n,r,i){switch(e.e_stop(n),e.keyName(n)){case\"Y\":d(),h();break;case\"N\":h();break;case\"A\":var o=c;c=void 0,t.operation(f),c=o;break;case\"L\":d();case\"Q\":case\"Esc\":case\"Ctrl-C\":case\"Ctrl-[\":m(i)}return l&&m(i),!0}}):(f(),void(c&&c()));je(t,\"No matches for \"+s.source)}(t,p,f,m,g,v,h,l,n.callback)}else je(t,\"No previous substitute regular expression\")},redo:e.commands.redo,undo:e.commands.undo,write:function(t){e.commands.save?e.commands.save(t):t.save&&t.save()},nohlsearch:function(e){Ve(e)},yank:function(e){var t=te(e.getCursor()).line,n=e.getLine(t);N.registerController.pushText(\"0\",\"yank\",n,!0,!0)},delmarks:function(t,n){if(n.argString&&ue(n.argString))for(var r=t.state.vim,i=new e.StringStream(ue(n.argString));!i.eol();){i.eatSpace();var o=i.pos;if(!i.match(/[a-zA-Z]/,!1))return void je(t,\"Invalid argument: \"+n.argString.substring(o));var a=i.next();if(i.match(\"-\",!0)){if(!i.match(/[a-zA-Z]/,!1))return void je(t,\"Invalid argument: \"+n.argString.substring(o));var s=a,u=i.next();if(!(C(s)&&C(u)||w(s)&&w(u)))return void je(t,\"Invalid argument: \"+s+\"-\");var c=s.charCodeAt(0),l=u.charCodeAt(0);if(c>=l)return void je(t,\"Invalid argument: \"+n.argString.substring(o));for(var p=0;p<=l-c;p++){var f=String.fromCharCode(c+p);delete r.marks[f]}}else delete r.marks[a]}else je(t,\"Argument required\")}},Je=new Ge;function Qe(t){var n=t.state.vim,r=N.macroModeState,i=N.registerController.getRegister(\".\"),o=r.isPlaying,a=r.lastInsertModeChanges;o||(t.off(\"change\",Xe),e.off(t.getInputField(),\"keydown\",rt)),!o&&n.insertModeRepeat>1&&(it(t,n,n.insertModeRepeat-1,!0),n.lastEditInputState.repeatOverride=n.insertModeRepeat),delete n.insertModeRepeat,n.insertMode=!1,t.setCursor(t.getCursor().line,t.getCursor().ch-1),t.setOption(\"keyMap\",\"vim\"),t.setOption(\"disableInput\",!0),t.toggleOverwrite(!1),i.setText(a.changes.join(\"\")),e.signal(t,\"vim-mode-change\",{mode:\"normal\"}),r.isRecording&&function(e){if(!e.isPlaying){var t=e.latestRegister,n=N.registerController.getRegister(t);n&&n.pushInsertModeChanges&&n.pushInsertModeChanges(e.lastInsertModeChanges)}}(r)}function Ye(e){t.unshift(e)}function $e(t,n,r,i){var o=N.registerController.getRegister(i);if(\":\"==i)return o.keyBuffer[0]&&Je.processCommand(t,o.keyBuffer[0]),void(r.isPlaying=!1);var a=o.keyBuffer,s=0;r.isPlaying=!0,r.replaySearchQueries=o.searchQueries.slice(0);for(var u=0;u<a.length;u++)for(var c,l,p=a[u];p;)if(l=(c=/<\\w+-.+?>|<\\w+>|./.exec(p))[0],p=p.substring(c.index+l.length),e.Vim.handleKey(t,l,\"macro\"),n.insertMode){var f=o.insertModeChanges[s++].changes;N.macroModeState.lastInsertModeChanges.changes=f,ot(t,f,1),Qe(t)}r.isPlaying=!1}function Xe(e,t){var n=N.macroModeState,r=n.lastInsertModeChanges;if(!n.isPlaying)for(;t;){if(r.expectCursorActivityForChange=!0,r.ignoreCount>1)r.ignoreCount--;else if(\"+input\"==t.origin||\"paste\"==t.origin||void 0===t.origin){var i=e.listSelections().length;i>1&&(r.ignoreCount=i);var o=t.text.join(\"\\n\");r.maybeReset&&(r.changes=[],r.maybeReset=!1),o&&(e.state.overwrite&&!/\\n/.test(o)?r.changes.push([o]):r.changes.push(o))}t=t.next}}function Ze(t){var n=t.state.vim;if(n.insertMode){var r=N.macroModeState;if(r.isPlaying)return;var i=r.lastInsertModeChanges;i.expectCursorActivityForChange?i.expectCursorActivityForChange=!1:i.maybeReset=!0}else t.curOp.isVimOp||function(t,n){var r=t.getCursor(\"anchor\"),i=t.getCursor(\"head\");if(n.visualMode&&!t.somethingSelected()?me(t,!1):n.visualMode||n.insertMode||!t.somethingSelected()||(n.visualMode=!0,n.visualLine=!1,e.signal(t,\"vim-mode-change\",{mode:\"visual\"})),n.visualMode){var o=re(i,r)?0:-1,a=re(i,r)?-1:0;i=X(i,0,o),r=X(r,0,a),n.sel={anchor:r,head:i},we(t,n,\"<\",ie(i,r)),we(t,n,\">\",oe(i,r))}else n.insertMode||(n.lastHPos=t.getCursor().ch)}(t,n);n.visualMode&&et(t)}function et(e){var t=e.state.vim,n=Y(e,te(t.sel.head)),r=X(n,0,1);if(tt(t),n.ch==e.getLine(n.line).length){var i=document.createElement(\"span\");i.textContent=\" \",i.className=\"cm-animate-fat-cursor\",t.fakeCursorBookmark=e.setBookmark(n,{widget:i})}else t.fakeCursor=e.markText(n,r,{className:\"cm-animate-fat-cursor\"})}function tt(e){e.fakeCursor&&(e.fakeCursor.clear(),e.fakeCursor=null),e.fakeCursorBookmark&&(e.fakeCursorBookmark.clear(),e.fakeCursorBookmark=null)}function nt(e){this.keyName=e}function rt(t){var n=N.macroModeState.lastInsertModeChanges,r=e.keyName(t);r&&(-1==r.indexOf(\"Delete\")&&-1==r.indexOf(\"Backspace\")||e.lookupKey(r,\"vim-insert\",(function(){return n.maybeReset&&(n.changes=[],n.maybeReset=!1),n.changes.push(new nt(r)),!0})))}function it(e,t,n,r){var i=N.macroModeState;i.isPlaying=!0;var o=!!t.lastEditActionCommand,a=t.inputState;function s(){o?W.processAction(e,t,t.lastEditActionCommand):W.evalInput(e,t)}function u(n){if(i.lastInsertModeChanges.changes.length>0){n=t.lastEditActionCommand?n:1;var r=i.lastInsertModeChanges;ot(e,r.changes,n)}}if(t.inputState=t.lastEditInputState,o&&t.lastEditActionCommand.interlaceInsertRepeat)for(var c=0;c<n;c++)s(),u(1);else r||s(),u(n);t.inputState=a,t.insertMode&&!r&&Qe(e),i.isPlaying=!1}function ot(t,n,r){function i(n){return\"string\"==typeof n?e.commands[n](t):n(t),!0}var o=t.getCursor(\"head\"),a=N.macroModeState.lastInsertModeChanges.visualBlock;a&&(pe(t,o,a+1),r=t.listSelections().length,t.setCursor(o));for(var s=0;s<r;s++){a&&t.setCursor(X(o,s,0));for(var u=0;u<n.length;u++){var c=n[u];if(c instanceof nt)e.lookupKey(c.keyName,\"vim-insert\",i);else if(\"string\"==typeof c){var l=t.getCursor();t.replaceRange(c,l,l)}else{var p=t.getCursor(),f=X(p,0,c[0].length);t.replaceRange(c[0],p,f)}}}a&&t.setCursor(X(o,0,1))}return e.keyMap.vim={attach:a,detach:o,call:c},_(\"insertModeEscKeysTimeout\",200,\"number\"),e.keyMap[\"vim-insert\"]={fallthrough:[\"default\"],attach:a,detach:o,call:c},e.keyMap[\"vim-replace\"]={Backspace:\"goCharLeft\",fallthrough:[\"vim-insert\"],attach:a,detach:o,call:c},R(),B}()}(n(16),n(70),n(71),n(91))},function(e,t,n){\"use strict\";var r,i=(r=n(16))&&r.__esModule?r:{default:r},o=n(212),a=n(20);i.default.registerHelper(\"hint\",\"graphql\",(e,t)=>{const n=t.schema;if(!n)return;const r=e.getCursor(),s=e.getTokenAt(r),u=function(e,t,n){const r=\"Invalid\"===n.state.kind?n.state.prevState:n.state;if(!r)return[];const i=r.kind,s=r.step,u=(0,o.getTypeInfo)(e,n.state);if(\"Document\"===i)return(0,o.hintList)(n,[{label:\"query\"},{label:\"mutation\"},{label:\"subscription\"},{label:\"fragment\"},{label:\"{\"}]);if(\"SelectionSet\"===i||\"Field\"===i||\"AliasedField\"===i)return function(e,t,n){if(t.parentType){const r=t.parentType,i=(0,a.isObjectType)(r)&&\"getFields\"in r?(0,o.objectValues)(r.getFields()):[];return(0,a.isCompositeType)(r)&&i.push(a.TypeNameMetaFieldDef),r===n.getQueryType()&&i.push(a.SchemaMetaFieldDef,a.TypeMetaFieldDef),(0,o.hintList)(e,i.map(e=>{var t;return{label:e.name,type:e.type,documentation:null!==(t=e.description)&&void 0!==t?t:void 0,isDeprecated:e.isDeprecated,deprecationReason:e.deprecationReason}}))}return[]}(n,u,e);if(\"Arguments\"===i||\"Argument\"===i&&0===s){const e=u.argDefs;if(e)return(0,o.hintList)(n,e.map(e=>{var t;return{label:e.name,type:e.type,documentation:null!==(t=e.description)&&void 0!==t?t:void 0}}))}if((\"ObjectValue\"===i||\"ObjectField\"===i&&0===s)&&u.objectFieldDefs){const e=(0,o.objectValues)(u.objectFieldDefs);return(0,o.hintList)(n,e.map(e=>{var t;return{label:e.name,type:e.type,documentation:null!==(t=e.description)&&void 0!==t?t:void 0}}))}if(\"EnumValue\"===i||\"ListValue\"===i&&1===s||\"ObjectField\"===i&&2===s||\"Argument\"===i&&2===s)return function(e,t){const n=(0,a.getNamedType)(t.inputType);if(n instanceof a.GraphQLEnumType){const t=n.getValues();return(0,o.hintList)(e,t.map(e=>{var t;return{label:e.name,type:n,documentation:null!==(t=e.description)&&void 0!==t?t:void 0,isDeprecated:e.isDeprecated,deprecationReason:e.deprecationReason}}))}if(n===a.GraphQLBoolean)return(0,o.hintList)(e,[{label:\"true\",type:a.GraphQLBoolean,documentation:\"Not false.\"},{label:\"false\",type:a.GraphQLBoolean,documentation:\"Not true.\"}]);return[]}(n,u);if(\"TypeCondition\"===i&&1===s||\"NamedType\"===i&&null!=r.prevState&&\"TypeCondition\"===r.prevState.kind)return function(e,t,n){let r;if(t.parentType)if((0,a.isAbstractType)(t.parentType)){const e=(0,a.assertAbstractType)(t.parentType),i=n.getPossibleTypes(e),s=Object.create(null);i.forEach(e=>{e.getInterfaces().forEach(e=>{s[e.name]=e})}),r=i.concat((0,o.objectValues)(s))}else r=[t.parentType];else{const e=n.getTypeMap();r=(0,o.objectValues)(e).filter(a.isCompositeType)}return(0,o.hintList)(e,r.map(e=>{const t=(0,a.getNamedType)(e);return{label:String(e),documentation:t&&t.description||\"\"}}))}(n,u,e);if(\"FragmentSpread\"===i&&1===s)return function(e,t,n,r){const i=n.getTypeMap(),s=(0,o.getDefinitionState)(e.state),u=(0,o.getFragmentDefinitions)(r).filter(e=>i[e.typeCondition.name.value]&&!(s&&\"FragmentDefinition\"===s.kind&&s.name===e.name.value)&&(0,a.isCompositeType)(t.parentType)&&(0,a.isCompositeType)(i[e.typeCondition.name.value])&&(0,a.doTypesOverlap)(n,t.parentType,i[e.typeCondition.name.value]));return(0,o.hintList)(e,u.map(e=>({label:e.name.value,type:i[e.typeCondition.name.value],documentation:\"fragment \".concat(e.name.value,\" on \").concat(e.typeCondition.name.value)})))}(n,u,e,t);if(\"VariableDefinition\"===i&&2===s||\"ListType\"===i&&1===s||\"NamedType\"===i&&r.prevState&&(\"VariableDefinition\"===r.prevState.kind||\"ListType\"===r.prevState.kind))return function(e,t){const n=t.getTypeMap(),r=(0,o.objectValues)(n).filter(a.isInputType);return(0,o.hintList)(e,r.map(e=>({label:e.name,documentation:e.description})))}(n,e);if(\"Directive\"===i)return function(e,t,n){if(t.prevState&&t.prevState.kind){const r=n.getDirectives().filter(e=>(0,o.canUseDirective)(t.prevState,e));return(0,o.hintList)(e,r.map(e=>({label:e.name,documentation:e.description||\"\"})))}return[]}(n,r,e);return[]}(n,e.getValue(),s),c=null!==s.type&&/\"|\\w/.test(s.string[0])?s.start:s.end,l={list:u.map(e=>({text:e.label,type:e.type,description:e.documentation,isDeprecated:e.isDeprecated,deprecationReason:e.deprecationReason})),from:{line:r.line,column:c},to:{line:r.line,column:s.end}};return l&&l.list&&l.list.length>0&&(l.from=i.default.Pos(l.from.line,l.from.column),l.to=i.default.Pos(l.to.line,l.to.column),i.default.signal(e,\"hasCompletion\",e,l,s)),l})},function(e,t,n){(function(e){var r=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),n={},r=0;r<t.length;r++)n[t[r]]=Object.getOwnPropertyDescriptor(e,t[r]);return n},i=/%[sdj%]/g;t.format=function(e){if(!y(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(s(arguments[n]));return t.join(\" \")}n=1;for(var r=arguments,o=r.length,a=String(e).replace(i,(function(e){if(\"%%\"===e)return\"%\";if(n>=o)return e;switch(e){case\"%s\":return String(r[n++]);case\"%d\":return Number(r[n++]);case\"%j\":try{return JSON.stringify(r[n++])}catch(e){return\"[Circular]\"}default:return e}})),u=r[n];n<o;u=r[++n])m(u)||!E(u)?a+=\" \"+u:a+=\" \"+s(u);return a},t.deprecate=function(n,r){if(void 0!==e&&!0===e.noDeprecation)return n;if(void 0===e)return function(){return t.deprecate(n,r).apply(this,arguments)};var i=!1;return function(){if(!i){if(e.throwDeprecation)throw new Error(r);e.traceDeprecation?console.trace(r):console.error(r),i=!0}return n.apply(this,arguments)}};var o,a={};function s(e,n){var r={seen:[],stylize:c};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),h(n)?r.showHidden=n:n&&t._extend(r,n),v(r.showHidden)&&(r.showHidden=!1),v(r.depth)&&(r.depth=2),v(r.colors)&&(r.colors=!1),v(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=u),l(r,e,r.depth)}function u(e,t){var n=s.styles[t];return n?\"\u001b[\"+s.colors[n][0]+\"m\"+e+\"\u001b[\"+s.colors[n][1]+\"m\":e}function c(e,t){return e}function l(e,n,r){if(e.customInspect&&n&&C(n.inspect)&&n.inspect!==t.inspect&&(!n.constructor||n.constructor.prototype!==n)){var i=n.inspect(r,e);return y(i)||(i=l(e,i,r)),i}var o=function(e,t){if(v(t))return e.stylize(\"undefined\",\"undefined\");if(y(t)){var n=\"'\"+JSON.stringify(t).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(n,\"string\")}if(g(t))return e.stylize(\"\"+t,\"number\");if(h(t))return e.stylize(\"\"+t,\"boolean\");if(m(t))return e.stylize(\"null\",\"null\")}(e,n);if(o)return o;var a=Object.keys(n),s=function(e){var t={};return e.forEach((function(e,n){t[e]=!0})),t}(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(n)),D(n)&&(a.indexOf(\"message\")>=0||a.indexOf(\"description\")>=0))return p(n);if(0===a.length){if(C(n)){var u=n.name?\": \"+n.name:\"\";return e.stylize(\"[Function\"+u+\"]\",\"special\")}if(b(n))return e.stylize(RegExp.prototype.toString.call(n),\"regexp\");if(x(n))return e.stylize(Date.prototype.toString.call(n),\"date\");if(D(n))return p(n)}var c,E=\"\",w=!1,S=[\"{\",\"}\"];(d(n)&&(w=!0,S=[\"[\",\"]\"]),C(n))&&(E=\" [Function\"+(n.name?\": \"+n.name:\"\")+\"]\");return b(n)&&(E=\" \"+RegExp.prototype.toString.call(n)),x(n)&&(E=\" \"+Date.prototype.toUTCString.call(n)),D(n)&&(E=\" \"+p(n)),0!==a.length||w&&0!=n.length?r<0?b(n)?e.stylize(RegExp.prototype.toString.call(n),\"regexp\"):e.stylize(\"[Object]\",\"special\"):(e.seen.push(n),c=w?function(e,t,n,r,i){for(var o=[],a=0,s=t.length;a<s;++a)T(t,String(a))?o.push(f(e,t,n,r,String(a),!0)):o.push(\"\");return i.forEach((function(i){i.match(/^\\d+$/)||o.push(f(e,t,n,r,i,!0))})),o}(e,n,r,s,a):a.map((function(t){return f(e,n,r,s,t,w)})),e.seen.pop(),function(e,t,n){if(e.reduce((function(e,t){return t.indexOf(\"\\n\")>=0&&0,e+t.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1}),0)>60)return n[0]+(\"\"===t?\"\":t+\"\\n \")+\" \"+e.join(\",\\n  \")+\" \"+n[1];return n[0]+t+\" \"+e.join(\", \")+\" \"+n[1]}(c,E,S)):S[0]+E+S[1]}function p(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function f(e,t,n,r,i,o){var a,s,u;if((u=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?s=u.set?e.stylize(\"[Getter/Setter]\",\"special\"):e.stylize(\"[Getter]\",\"special\"):u.set&&(s=e.stylize(\"[Setter]\",\"special\")),T(r,i)||(a=\"[\"+i+\"]\"),s||(e.seen.indexOf(u.value)<0?(s=m(n)?l(e,u.value,null):l(e,u.value,n-1)).indexOf(\"\\n\")>-1&&(s=o?s.split(\"\\n\").map((function(e){return\"  \"+e})).join(\"\\n\").substr(2):\"\\n\"+s.split(\"\\n\").map((function(e){return\"   \"+e})).join(\"\\n\")):s=e.stylize(\"[Circular]\",\"special\")),v(a)){if(o&&i.match(/^\\d+$/))return s;(a=JSON.stringify(\"\"+i)).match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,\"name\")):(a=a.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),a=e.stylize(a,\"string\"))}return a+\": \"+s}function d(e){return Array.isArray(e)}function h(e){return\"boolean\"==typeof e}function m(e){return null===e}function g(e){return\"number\"==typeof e}function y(e){return\"string\"==typeof e}function v(e){return void 0===e}function b(e){return E(e)&&\"[object RegExp]\"===w(e)}function E(e){return\"object\"==typeof e&&null!==e}function x(e){return E(e)&&\"[object Date]\"===w(e)}function D(e){return E(e)&&(\"[object Error]\"===w(e)||e instanceof Error)}function C(e){return\"function\"==typeof e}function w(e){return Object.prototype.toString.call(e)}function S(e){return e<10?\"0\"+e.toString(10):e.toString(10)}t.debuglog=function(n){if(v(o)&&(o=Object({NODE_ENV:\"production\",PUBLIC_URL:\"\"}).NODE_DEBUG||\"\"),n=n.toUpperCase(),!a[n])if(new RegExp(\"\\\\b\"+n+\"\\\\b\",\"i\").test(o)){var r=e.pid;a[n]=function(){var e=t.format.apply(t,arguments);console.error(\"%s %d: %s\",n,r,e)}}else a[n]=function(){};return a[n]},t.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},t.isArray=d,t.isBoolean=h,t.isNull=m,t.isNullOrUndefined=function(e){return null==e},t.isNumber=g,t.isString=y,t.isSymbol=function(e){return\"symbol\"==typeof e},t.isUndefined=v,t.isRegExp=b,t.isObject=E,t.isDate=x,t.isError=D,t.isFunction=C,t.isPrimitive=function(e){return null===e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||\"symbol\"==typeof e||void 0===e},t.isBuffer=n(380);var k=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function A(){var e=new Date,t=[S(e.getHours()),S(e.getMinutes()),S(e.getSeconds())].join(\":\");return[e.getDate(),k[e.getMonth()],t].join(\" \")}function T(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){console.log(\"%s - %s\",A(),t.format.apply(t,arguments))},t.inherits=n(381),t._extend=function(e,t){if(!t||!E(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]];return e};var _=\"undefined\"!=typeof Symbol?Symbol(\"util.promisify.custom\"):void 0;function O(e,t){if(!e){var n=new Error(\"Promise was rejected with a falsy value\");n.reason=e,e=n}return t(e)}t.promisify=function(e){if(\"function\"!=typeof e)throw new TypeError('The \"original\" argument must be of type Function');if(_&&e[_]){var t;if(\"function\"!=typeof(t=e[_]))throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');return Object.defineProperty(t,_,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var t,n,r=new Promise((function(e,r){t=e,n=r})),i=[],o=0;o<arguments.length;o++)i.push(arguments[o]);i.push((function(e,r){e?n(e):t(r)}));try{e.apply(this,i)}catch(e){n(e)}return r}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),_&&Object.defineProperty(t,_,{value:t,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(t,r(e))},t.promisify.custom=_,t.callbackify=function(t){if(\"function\"!=typeof t)throw new TypeError('The \"original\" argument must be of type Function');function n(){for(var n=[],r=0;r<arguments.length;r++)n.push(arguments[r]);var i=n.pop();if(\"function\"!=typeof i)throw new TypeError(\"The last argument must be of type Function\");var o=this,a=function(){return i.apply(o,arguments)};t.apply(this,n).then((function(t){e.nextTick(a,null,t)}),(function(t){e.nextTick(O,t,a)}))}return Object.setPrototypeOf(n,Object.getPrototypeOf(t)),Object.defineProperties(n,r(t)),n}}).call(this,n(100))},function(e,t){e.exports=function(e){return e&&\"object\"==typeof e&&\"function\"==typeof e.copy&&\"function\"==typeof e.fill&&\"function\"==typeof e.readUInt8}},function(e,t){\"function\"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t,n){\"use strict\";var r,i=(r=n(16))&&r.__esModule?r:{default:r},o=n(212);const a=[\"error\",\"warning\",\"information\",\"hint\"],s={\"GraphQL: Validation\":\"validation\",\"GraphQL: Deprecation\":\"deprecation\",\"GraphQL: Syntax\":\"syntax\"};i.default.registerHelper(\"lint\",\"graphql\",(e,t)=>{const n=t.schema;return(0,o.getDiagnostics)(e,n).map(e=>({message:e.message,severity:a[e.severity-1],type:s[e.source],from:i.default.Pos(e.range.start.line,e.range.start.character),to:i.default.Pos(e.range.end.line,e.range.end.character)}))})},function(e,t,n){\"use strict\";var r=n(20),i=s(n(16)),o=s(n(187)),a=n(189);function s(e){return e&&e.__esModule?e:{default:e}}function u(e,t,n){const r=t.fieldDef.name;\"__\"!==r.slice(0,2)&&(p(e,t,n,t.parentType),d(e,\".\")),d(e,r,\"field-name\",n,(0,a.getFieldReference)(t))}function c(e,t,n){d(e,\"@\"+t.directiveDef.name,\"directive-name\",n,(0,a.getDirectiveReference)(t))}function l(e,t,n,r){d(e,\": \"),p(e,t,n,r)}function p(e,t,n,i){i instanceof r.GraphQLNonNull?(p(e,t,n,i.ofType),d(e,\"!\")):i instanceof r.GraphQLList?(d(e,\"[\"),p(e,t,n,i.ofType),d(e,\"]\")):d(e,i.name,\"type-name\",n,(0,a.getTypeReference)(t,i))}function f(e,t,n){const r=n.description;if(r){const n=document.createElement(\"div\");n.className=\"info-description\",t.renderDescription?n.innerHTML=t.renderDescription(r):n.appendChild(document.createTextNode(r)),e.appendChild(n)}!function(e,t,n){const r=n.deprecationReason;if(r){const n=document.createElement(\"div\");n.className=\"info-deprecation\",t.renderDescription?n.innerHTML=t.renderDescription(r):n.appendChild(document.createTextNode(r));const i=document.createElement(\"span\");i.className=\"info-deprecation-label\",i.appendChild(document.createTextNode(\"Deprecated: \")),n.insertBefore(i,n.firstChild),e.appendChild(n)}}(e,t,n)}function d(e,t,n,r={onClick:null},i){if(n){const o=r.onClick;let a;o?(a=document.createElement(\"a\"),a.href=\"javascript:void 0\",a.addEventListener(\"click\",e=>{o(i,e)})):a=document.createElement(\"span\"),a.className=n,a.appendChild(document.createTextNode(t)),e.appendChild(a)}else e.appendChild(document.createTextNode(t))}n(384),i.default.registerHelper(\"info\",\"graphql\",(e,t)=>{if(!t.schema||!e.state)return;const n=e.state,r=n.kind,i=n.step,s=(0,o.default)(t.schema,e.state);if(\"Field\"===r&&0===i&&s.fieldDef||\"AliasedField\"===r&&2===i&&s.fieldDef){const e=document.createElement(\"div\");return function(e,t,n){u(e,t,n),l(e,t,n,t.type)}(e,s,t),f(e,t,s.fieldDef),e}if(\"Directive\"===r&&1===i&&s.directiveDef){const e=document.createElement(\"div\");return c(e,s,t),f(e,t,s.directiveDef),e}if(\"Argument\"===r&&0===i&&s.argDef){const e=document.createElement(\"div\");return function(e,t,n){t.directiveDef?c(e,t,n):t.fieldDef&&u(e,t,n);const r=t.argDef.name;d(e,\"(\"),d(e,r,\"arg-name\",n,(0,a.getArgumentReference)(t)),l(e,t,n,t.inputType),d(e,\")\")}(e,s,t),f(e,t,s.argDef),e}if(\"EnumValue\"===r&&s.enumValue&&s.enumValue.description){const e=document.createElement(\"div\");return function(e,t,n){const r=t.enumValue.name;p(e,t,n,t.inputType),d(e,\".\"),d(e,r,\"enum-value\",n,(0,a.getEnumValueReference)(t))}(e,s,t),f(e,t,s.enumValue),e}if(\"NamedType\"===r&&s.type&&s.type.description){const e=document.createElement(\"div\");return p(e,s,t,s.type),f(e,t,s.type),e}})},function(e,t,n){\"use strict\";var r,i=(r=n(16))&&r.__esModule?r:{default:r};function o(e,t){const n=e.state.info,r=t.target||t.srcElement;if(\"SPAN\"!==r.nodeName||void 0!==n.hoverTimeout)return;const o=r.getBoundingClientRect(),a=function(){clearTimeout(n.hoverTimeout),n.hoverTimeout=setTimeout(u,c)},s=function(){i.default.off(document,\"mousemove\",a),i.default.off(e.getWrapperElement(),\"mouseout\",s),clearTimeout(n.hoverTimeout),n.hoverTimeout=void 0},u=function(){i.default.off(document,\"mousemove\",a),i.default.off(e.getWrapperElement(),\"mouseout\",s),n.hoverTimeout=void 0,function(e,t){const n=e.coordsChar({left:(t.left+t.right)/2,top:(t.top+t.bottom)/2}),r=e.state.info.options,o=r.render||e.getHelper(n,\"info\");if(o){const a=e.getTokenAt(n,!0);if(a){const s=o(a,r,e,n);s&&function(e,t,n){const r=document.createElement(\"div\");r.className=\"CodeMirror-info\",r.appendChild(n),document.body.appendChild(r);const o=r.getBoundingClientRect(),a=r.currentStyle||window.getComputedStyle(r),s=o.right-o.left+parseFloat(a.marginLeft)+parseFloat(a.marginRight),u=o.bottom-o.top+parseFloat(a.marginTop)+parseFloat(a.marginBottom);let c=t.bottom;u>window.innerHeight-t.bottom-15&&t.top>window.innerHeight-t.bottom&&(c=t.top-u);c<0&&(c=t.bottom);let l,p=Math.max(0,window.innerWidth-s-15);p>t.left&&(p=t.left);r.style.opacity=1,r.style.top=c+\"px\",r.style.left=p+\"px\";const f=function(){clearTimeout(l)},d=function(){clearTimeout(l),l=setTimeout(h,200)},h=function(){i.default.off(r,\"mouseover\",f),i.default.off(r,\"mouseout\",d),i.default.off(e.getWrapperElement(),\"mouseout\",d),r.style.opacity?(r.style.opacity=0,setTimeout(()=>{r.parentNode&&r.parentNode.removeChild(r)},600)):r.parentNode&&r.parentNode.removeChild(r)};i.default.on(r,\"mouseover\",f),i.default.on(r,\"mouseout\",d),i.default.on(e.getWrapperElement(),\"mouseout\",d)}(e,t,s)}}}(e,o)},c=function(e){const t=e.state.info.options;return t&&t.hoverTime||500}(e);n.hoverTimeout=setTimeout(u,c),i.default.on(document,\"mousemove\",a),i.default.on(e.getWrapperElement(),\"mouseout\",s)}i.default.defineOption(\"info\",!1,(e,t,n)=>{if(n&&n!==i.default.Init){const t=e.state.info.onMouseOver;i.default.off(e.getWrapperElement(),\"mouseover\",t),clearTimeout(e.state.info.hoverTimeout),delete e.state.info}if(t){const n=e.state.info=function(e){return{options:e instanceof Function?{render:e}:!0===e?{}:e}}(t);n.onMouseOver=o.bind(null,e),i.default.on(e.getWrapperElement(),\"mouseover\",n.onMouseOver)}})},function(e,t,n){\"use strict\";var r=a(n(16)),i=a(n(187)),o=n(189);function a(e){return e&&e.__esModule?e:{default:e}}n(386),r.default.registerHelper(\"jump\",\"graphql\",(e,t)=>{if(!t.schema||!t.onClick||!e.state)return;const n=e.state,r=n.kind,a=n.step,s=(0,i.default)(t.schema,n);return\"Field\"===r&&0===a&&s.fieldDef||\"AliasedField\"===r&&2===a&&s.fieldDef?(0,o.getFieldReference)(s):\"Directive\"===r&&1===a&&s.directiveDef?(0,o.getDirectiveReference)(s):\"Argument\"===r&&0===a&&s.argDef?(0,o.getArgumentReference)(s):\"EnumValue\"===r&&s.enumValue?(0,o.getEnumValueReference)(s):\"NamedType\"===r&&s.type?(0,o.getTypeReference)(s):void 0})},function(e,t,n){\"use strict\";var r,i=(r=n(16))&&r.__esModule?r:{default:r};function o(e,t){const n=t.target||t.srcElement;if(\"SPAN\"!==n.nodeName)return;const r=n.getBoundingClientRect(),i={left:(r.left+r.right)/2,top:(r.top+r.bottom)/2};e.state.jump.cursor=i,e.state.jump.isHoldingModifier&&c(e)}function a(e){e.state.jump.isHoldingModifier||!e.state.jump.cursor?e.state.jump.isHoldingModifier&&e.state.jump.marker&&l(e):e.state.jump.cursor=null}function s(e,t){if(e.state.jump.isHoldingModifier||t.key!==(u?\"Meta\":\"Control\"))return;e.state.jump.isHoldingModifier=!0,e.state.jump.cursor&&c(e);const n=a=>{a.code===t.code&&(e.state.jump.isHoldingModifier=!1,e.state.jump.marker&&l(e),i.default.off(document,\"keyup\",n),i.default.off(document,\"click\",r),e.off(\"mousedown\",o))},r=t=>{const n=e.state.jump.destination;n&&e.state.jump.options.onClick(n,t)},o=(t,n)=>{e.state.jump.destination&&(n.codemirrorIgnore=!0)};i.default.on(document,\"keyup\",n),i.default.on(document,\"click\",r),e.on(\"mousedown\",o)}i.default.defineOption(\"jump\",!1,(e,t,n)=>{if(n&&n!==i.default.Init){const t=e.state.jump.onMouseOver;i.default.off(e.getWrapperElement(),\"mouseover\",t);const n=e.state.jump.onMouseOut;i.default.off(e.getWrapperElement(),\"mouseout\",n),i.default.off(document,\"keydown\",e.state.jump.onKeyDown),delete e.state.jump}if(t){const n=e.state.jump={options:t,onMouseOver:o.bind(null,e),onMouseOut:a.bind(null,e),onKeyDown:s.bind(null,e)};i.default.on(e.getWrapperElement(),\"mouseover\",n.onMouseOver),i.default.on(e.getWrapperElement(),\"mouseout\",n.onMouseOut),i.default.on(document,\"keydown\",n.onKeyDown)}});const u=\"undefined\"!=typeof navigator&&navigator&&-1!==navigator.appVersion.indexOf(\"Mac\");function c(e){if(e.state.jump.marker)return;const t=e.state.jump.cursor,n=e.coordsChar(t),r=e.getTokenAt(n,!0),i=e.state.jump.options,o=i.getDestination||e.getHelper(n,\"jump\");if(o){const t=o(r,i,e);if(t){const i=e.markText({line:n.line,ch:r.start},{line:n.line,ch:r.end},{className:\"CodeMirror-jump-token\"});e.state.jump.marker=i,e.state.jump.destination=t}}}function l(e){const t=e.state.jump.marker;e.state.jump.marker=null,e.state.jump.destination=null,t.clear()}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;t.default=class{constructor(){this.sizes=[]}updateSizes(e){e.forEach((e,t)=>{const n=e.getClientHeight();t<=this.sizes.length&&n!==this.sizes[t]&&e.getCodeMirror().setSize(),this.sizes[t]=n})}}},function(e,t){e.exports=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,n=[],r=0;r<e.rangeCount;r++)n.push(e.getRangeAt(r));switch(t.tagName.toUpperCase()){case\"INPUT\":case\"TEXTAREA\":t.blur();break;default:t=null}return e.removeAllRanges(),function(){\"Caret\"===e.type&&e.removeAllRanges(),e.rangeCount||n.forEach((function(t){e.addRange(t)})),t&&t.focus()}}},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(3),s=n(52),u=n(390),c=n(391),l=n(253),p=n(392),f=n(11),d=n(30),h=n(28),m=n(164),g=n(119),y=function(e){function t(t){var n=e.call(this,t)||this;return n.share=function(){n.props.share()},n.renderAuthSharingWarning=function(){return n.props.isSharingAuthorization?a.createElement(_,null):null},n.toggleTooltip=function(){n.setState((function(e){return{open:!e.open}}))},n.state={open:!1},n}return i(t,e),t.prototype.render=function(){var e=this.state.open,t=this.props,n=t.allTabs,r=t.headers,i=t.history,o=t.shareUrl,f=t.reshare,d=t.theme;return a.createElement(I,null,a.createElement(j,null,a.createElement(\"div\",{onClick:this.toggleTooltip},this.props.children),e&&a.createElement(L,null,a.createElement(c.default,{open:e,onClose:this.toggleTooltip,anchorOrigin:{horizontal:\"right\",vertical:\"bottom\"},renderAfterContent:this.renderAuthSharingWarning},a.createElement(\"div\",null,a.createElement(P,null,a.createElement(M,{onClick:this.props.toggleShareAllTabs},\"Share all tabs\",\" \"),a.createElement(u.default,{checked:n,onChange:this.props.toggleShareAllTabs})),a.createElement(P,null,a.createElement(M,{onClick:this.props.toggleShareHeaders},\"HTTP headers\",\" \"),a.createElement(u.default,{checked:r,onChange:this.props.toggleShareHeaders})),a.createElement(P,null,a.createElement(M,{onClick:this.props.toggleShareHistory},\"History\",\" \"),a.createElement(u.default,{checked:i,onChange:this.props.toggleShareHistory})),o&&a.createElement(P,null,a.createElement(B,{value:o,disabled:!0}),a.createElement(R,null,a.createElement(p.default,{text:o},a.createElement(s.ShareIcon,{color:d.colours.darkBlue30,width:25,height:25,title:\"Copy URL to Clipboard\"})))),a.createElement(P,null,a.createElement(\"div\",null),a.createElement(l.Button,{hideArrow:!0,onClick:this.share},f&&o?\"Reshare\":\"Share\")))))))},t}(a.Component),v=h.createStructuredSelector({history:m.getSharingHistory,headers:m.getSharingHeaders,allTabs:m.getSharingAllTabs,shareUrl:m.getShareUrl});t.default=f.withTheme(d.connect(v,{toggleShareAllTabs:g.toggleShareAllTabs,toggleShareHeaders:g.toggleShareHeaders,toggleShareHistory:g.toggleShareHistory,share:g.share})(y));var b,E,x,D,C,w,S,k,A,T,_=function(){return a.createElement(F,null,a.createElement(N,null,\"Watch out!\"),\"You’re sharing your \",a.createElement(\"code\",null,\"Authorization\"),\" header with the world!\")},O=f.keyframes(b||(b=o([\"\\n  0% {\\n    transform: scale(1.04);\\n  }\\n\\n  100% {\\n    transform: scale(1);\\n  }\\n\"],[\"\\n  0% {\\n    transform: scale(1.04);\\n  }\\n\\n  100% {\\n    transform: scale(1);\\n  }\\n\"]))),F=f.styled.div(E||(E=o([\"\\n  padding: 12px 16px;\\n  margin-top: 10px;\\n\\n  font-size: 14px;\\n  letter-spacing: normal;\\n\\n  cursor: default;\\n  border-radius: 2px;\\n  background: #f3f4f4;\\n  box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.15);\\n\\n  animation: \",\" 0.7s ease-in-out infinite alternate;\\n\"],[\"\\n  padding: 12px 16px;\\n  margin-top: 10px;\\n\\n  font-size: 14px;\\n  letter-spacing: normal;\\n\\n  cursor: default;\\n  border-radius: 2px;\\n  background: #f3f4f4;\\n  box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.15);\\n\\n  animation: \",\" 0.7s ease-in-out infinite alternate;\\n\"])),O),N=f.styled.div(x||(x=o([\"\\n  margin-right: 3px;\\n  margin-bottom: 2px;\\n  font-weight: bold;\\n  color: #2a7ed2;\\n\"],[\"\\n  margin-right: 3px;\\n  margin-bottom: 2px;\\n  font-weight: bold;\\n  color: #2a7ed2;\\n\"]))),I=f.styled.div(D||(D=o([\"\\n  z-index: 1005;\\n  height: 100%;\\n  margin-left: 6px;\\n\"],[\"\\n  z-index: 1005;\\n  height: 100%;\\n  margin-left: 6px;\\n\"]))),M=f.styled.div(C||(C=o([\"\\n  margin-right: 10px;\\n\\n  font-size: \",\";\\n  font-weight: \",\";\\n  text-transform: uppercase;\\n  letter-spacing: 0.53px;\\n\\n  color: \",\";\\n\"],[\"\\n  margin-right: 10px;\\n\\n  font-size: \",\";\\n  font-weight: \",\";\\n  text-transform: uppercase;\\n  letter-spacing: 0.53px;\\n\\n  color: \",\";\\n\"])),(function(e){return e.theme.sizes.fontSmall}),(function(e){return e.theme.sizes.fontSemiBold}),(function(e){return e.theme.colours.darkBlue50})),j=f.styled.div(w||(w=o([\"\\n  position: relative;\\n  cursor: pointer;\\n\"],[\"\\n  position: relative;\\n  cursor: pointer;\\n\"]))),L=f.styled.div(S||(S=o([\"\\n  position: absolute;\\n  right: 0px;\\n\"],[\"\\n  position: absolute;\\n  right: 0px;\\n\"]))),P=f.styled.div(k||(k=o([\"\\n  position: relative;\\n  min-width: 245px;\\n  margin-top: \",\";\\n\\n  display: flex;\\n  align-items: center;\\n  justify-content: space-between;\\n\\n  &:first-child {\\n    margin-top: 0;\\n  }\\n\"],[\"\\n  position: relative;\\n  min-width: 245px;\\n  margin-top: \",\";\\n\\n  display: flex;\\n  align-items: center;\\n  justify-content: space-between;\\n\\n  &:first-child {\\n    margin-top: 0;\\n  }\\n\"])),(function(e){return e.theme.sizes.small16})),R=f.styled.div(A||(A=o([\"\\n  position: absolute;\\n  right: 0;\\n\\n  &:hover {\\n    svg {\\n      fill: \",\";\\n    }\\n  }\\n\"],[\"\\n  position: absolute;\\n  right: 0;\\n\\n  &:hover {\\n    svg {\\n      fill: \",\";\\n    }\\n  }\\n\"])),(function(e){return e.theme.colours.darkBlue60})),B=f.styled.input(T||(T=o([\"\\n  display: block;\\n  width: 100%;\\n  padding: \",\" \",\";\\n  padding-right: 25px;\\n\\n  font-weight: \",\";\\n  font-size: \",\";\\n\\n  border-radius: \",\";\\n  background: \",\";\\n  color: \",\";\\n\"],[\"\\n  display: block;\\n  width: 100%;\\n  padding: \",\" \",\";\\n  padding-right: 25px;\\n\\n  font-weight: \",\";\\n  font-size: \",\";\\n\\n  border-radius: \",\";\\n  background: \",\";\\n  color: \",\";\\n\"])),(function(e){return e.theme.sizes.small6}),(function(e){return e.theme.sizes.small10}),(function(e){return e.theme.sizes.fontSemiBold}),(function(e){return e.theme.sizes.fontTiny}),(function(e){return e.theme.sizes.smallRadius}),(function(e){return e.theme.colours.darkBlue10}),(function(e){return e.theme.colours.darkBlue}))},function(e,t,n){\"use strict\";var r=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(3),o=n(11);t.default=function(e){var t=e.checked,n=e.onChange,r=e.className;return i.createElement(c,{className:r,onClick:n},i.createElement(l,{type:\"checkbox\",checked:t,readOnly:!0}),i.createElement(p,{checked:t}))};var a,s,u,c=o.styled.div(a||(a=r([\"\\n  position: relative;\\n  display: inline-block;\\n\\n  width: 39px;\\n  height: 21px;\\n\"],[\"\\n  position: relative;\\n  display: inline-block;\\n\\n  width: 39px;\\n  height: 21px;\\n\"]))),l=o.styled.input(s||(s=r([\"\\n  display: none;\\n\"],[\"\\n  display: none;\\n\"]))),p=o.styled(\"div\")(u||(u=r([\"\\n  position: absolute;\\n  top: 0;\\n  left: 0;\\n  right: 0;\\n  bottom: 0;\\n\\n  transition: transform 70ms linear;\\n  border-radius: 23px;\\n  cursor: pointer;\\n\\n  background: \",\";\\n\\n  &:before {\\n    position: absolute;\\n    content: '';\\n    height: 23px;\\n    width: 23px;\\n    left: -1px;\\n    bottom: -1px;\\n    background-color: white;\\n    border-radius: 50%;\\n    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);\\n    transition: transform 70ms linear;\\n\\n    transform: \",\";\\n  }\\n\"],[\"\\n  position: absolute;\\n  top: 0;\\n  left: 0;\\n  right: 0;\\n  bottom: 0;\\n\\n  transition: transform 70ms linear;\\n  border-radius: 23px;\\n  cursor: pointer;\\n\\n  background: \",\";\\n\\n  &:before {\\n    position: absolute;\\n    content: '';\\n    height: 23px;\\n    width: 23px;\\n    left: -1px;\\n    bottom: -1px;\\n    background-color: white;\\n    border-radius: 50%;\\n    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);\\n    transition: transform 70ms linear;\\n\\n    transform: \",\";\\n  }\\n\"])),(function(e){return e.checked?e.theme.colours.green:e.theme.colours.black40}),(function(e){return e.checked?\"translateX(19px)\":\"\"}))},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(3),s=n(59),u=n(11),c=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.handleClickOutside=function(e){if(t.props.open)try{var n=s.findDOMNode(t);n&&n.contains(e.target)||void 0===t.props.onClose||t.props.onClose(e)}catch(e){}},t}return i(t,e),t.prototype.componentDidMount=function(){document.addEventListener(\"click\",this.handleClickOutside,!0)},t.prototype.componentWillUnmount=function(){document.removeEventListener(\"click\",this.handleClickOutside.bind(this),!0)},t.prototype.render=function(){var e=this.props,t=e.open,n=e.children,r=e.renderAfterContent,i=e.onClick,o=this.props.anchorOrigin;return a.createElement(E,{visible:t,anchorTop:\"top\"===o.vertical,anchorBottom:\"bottom\"===o.vertical,anchorLeft:\"left\"===o.horizontal,anchorRight:\"right\"===o.horizontal,anchorCenter:\"center\"===o.horizontal},a.createElement(x,{onClick:i},a.createElement(D,null),n),r&&r())},t.defaultProps={anchorOrigin:{vertical:\"top\",horizontal:\"center\"}},t}(a.PureComponent);t.default=c;var l,p,f,d,h,m,g,y,v,b,E=u.styled.div(y||(y=o([\"\\n  position: absolute;\\n  z-index: 9999;\\n\\n  text-align: left;\\n  transform: translateX(-50%);\\n\\n  transition: opacity ease-out 0.2s;\\n\\n  \",\" \",\" \",\" \",\" \",\" \",\";\\n\"],[\"\\n  position: absolute;\\n  z-index: 9999;\\n\\n  text-align: left;\\n  transform: translateX(-50%);\\n\\n  transition: opacity ease-out 0.2s;\\n\\n  \",\" \",\" \",\" \",\" \",\" \",\";\\n\"])),(function(e){return e.visible?u.css(l||(l=o([\"\\n          visibility: visible;\\n          opacity: 1;\\n        \"],[\"\\n          visibility: visible;\\n          opacity: 1;\\n        \"]))):u.css(p||(p=o([\"\\n          visibility: hidden;\\n          opacity: 0;\\n        \"],[\"\\n          visibility: hidden;\\n          opacity: 0;\\n        \"])))}),(function(e){return e.anchorTop?u.css(f||(f=o([\"\\n        bottom: 100%;\\n        margin-bottom: 16px;\\n\\n        \",\" {\\n          bottom: -10px;\\n        }\\n      \"],[\"\\n        bottom: 100%;\\n        margin-bottom: 16px;\\n\\n        \",\" {\\n          bottom: -10px;\\n        }\\n      \"])),D):\"\"}),(function(e){return e.anchorBottom?u.css(d||(d=o([\"\\n        top: 100%;\\n        margin-top: 16px;\\n\\n        \",\" {\\n          top: -10px;\\n          border-width: 0 10px 10px 10px;\\n          border-color: \",\" transparent\\n            \",\" transparent;\\n        }\\n      \"],[\"\\n        top: 100%;\\n        margin-top: 16px;\\n\\n        \",\" {\\n          top: -10px;\\n          border-width: 0 10px 10px 10px;\\n          border-color: \",\" transparent\\n            \",\" transparent;\\n        }\\n      \"])),D,(function(e){return e.theme.colours.paleGrey}),(function(e){return e.theme.colours.paleGrey})):\"\"}),(function(e){return e.anchorLeft?u.css(h||(h=o([\"\\n        left: 0;\\n        transform: none;\\n\\n        \",\" {\\n          left: 25px;\\n        }\\n      \"],[\"\\n        left: 0;\\n        transform: none;\\n\\n        \",\" {\\n          left: 25px;\\n        }\\n      \"])),D):\"\"}),(function(e){return e.anchorRight?u.css(m||(m=o([\"\\n        right: 0;\\n        transform: none;\\n\\n        \",\" {\\n          right: 25px;\\n        }\\n      \"],[\"\\n        right: 0;\\n        transform: none;\\n\\n        \",\" {\\n          right: 25px;\\n        }\\n      \"])),D):\"\"}),(function(e){return e.anchorCenter?u.css(g||(g=o([\"\\n        left: 50%;\\n\\n        \",\" {\\n          left: calc(50% - 10px);\\n        }\\n      \"],[\"\\n        left: 50%;\\n\\n        \",\" {\\n          left: calc(50% - 10px);\\n        }\\n      \"])),D):\"\"})),x=u.styled.div(v||(v=o([\"\\n  display: flex;\\n  align-items: center;\\n\\n  padding: \",\" \",\";\\n  white-space: nowrap;\\n\\n  box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.15);\\n  background-color: \",\";\\n  border-radius: \",\";\\n  color: \",\";\\n\"],[\"\\n  display: flex;\\n  align-items: center;\\n\\n  padding: \",\" \",\";\\n  white-space: nowrap;\\n\\n  box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.15);\\n  background-color: \",\";\\n  border-radius: \",\";\\n  color: \",\";\\n\"])),(function(e){return e.theme.sizes.small12}),(function(e){return e.theme.sizes.small16}),(function(e){return e.theme.colours.paleGrey}),(function(e){return e.theme.sizes.smallRadius}),(function(e){return e.theme.colours.paleText})),D=u.styled.div(b||(b=o([\"\\n  position: absolute;\\n  width: 0;\\n  height: 0;\\n\\n  border-style: solid;\\n  border-width: 10px 10px 0 10px;\\n  border-color: \",\" transparent transparent\\n    transparent;\\n\"],[\"\\n  position: absolute;\\n  width: 0;\\n  height: 0;\\n\\n  border-style: solid;\\n  border-width: 10px 10px 0 10px;\\n  border-color: \",\" transparent transparent\\n    transparent;\\n\"])),(function(e){return e.theme.colours.paleGrey}))},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(3),s=n(11),u=n(393),c=function(e){function t(t){var n=e.call(this,t)||this;return n.onCopy=function(){n.setState({copied:!0}),n.copyTimer=window.setTimeout((function(){return n.setState({copied:!1})}),500)},n.state={copied:!1},n}return i(t,e),t.prototype.componentWillUnmount=function(){clearTimeout(this.copyTimer)},t.prototype.render=function(){var e=this.props,t=e.text,n=e.color;return a.createElement(u,{text:t,onCopy:this.onCopy},a.createElement(f,null,this.state.copied&&a.createElement(d,{color:n},\"Copied\"),this.props.children))},t}(a.Component);t.default=c;var l,p,f=s.styled.div(l||(l=o([\"\\n  position: relative;\\n\"],[\"\\n  position: relative;\\n\"]))),d=s.styled.div(p||(p=o([\"\\n  position: absolute;\\n  top: -20px;\\n  left: 50%;\\n  transform: translate(-50%, 0);\\n  animation: copying 700ms linear;\\n  color: \",\";\\n\\n  @keyframes copying {\\n    0% {\\n      opacity: 0;\\n      transform: translate(-50%, 0);\\n    }\\n\\n    50% {\\n      opacity: 1;\\n    }\\n\\n    100% {\\n      opacity: 0;\\n      transform: translate(-50%, -50px);\\n    }\\n  }\\n\"],[\"\\n  position: absolute;\\n  top: -20px;\\n  left: 50%;\\n  transform: translate(-50%, 0);\\n  animation: copying 700ms linear;\\n  color: \",\";\\n\\n  @keyframes copying {\\n    0% {\\n      opacity: 0;\\n      transform: translate(-50%, 0);\\n    }\\n\\n    50% {\\n      opacity: 1;\\n    }\\n\\n    100% {\\n      opacity: 0;\\n      transform: translate(-50%, -50px);\\n    }\\n  }\\n\"])),(function(e){return e.color?e.color:e.theme.colours.darkBlue30}))},function(e,t,n){\"use strict\";var r=n(394).CopyToClipboard;r.CopyToClipboard=r,e.exports=r},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.CopyToClipboard=void 0;var r=o(n(3)),i=o(n(191));function o(e){return e&&e.__esModule?e:{default:e}}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 s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function u(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function c(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function l(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function p(e,t){return!t||\"object\"!==a(t)&&\"function\"!=typeof t?d(e):t}function f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function d(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||function(e,t){return e.__proto__=t,e})(e,t)}function m(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var g=function(e){function t(){var e,n;c(this,t);for(var o=arguments.length,a=new Array(o),s=0;s<o;s++)a[s]=arguments[s];return m(d(n=p(this,(e=f(t)).call.apply(e,[this].concat(a)))),\"onClick\",(function(e){var t=n.props,o=t.text,a=t.onCopy,s=t.children,u=t.options,c=r.default.Children.only(s),l=(0,i.default)(o,u);a&&a(o,l),c&&c.props&&\"function\"==typeof c.props.onClick&&c.props.onClick(e)})),n}var n,o,a;return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&h(e,t)}(t,e),n=t,(o=[{key:\"render\",value:function(){var e=this.props,t=(e.text,e.onCopy,e.options,e.children),n=u(e,[\"text\",\"onCopy\",\"options\",\"children\"]),i=r.default.Children.only(t);return r.default.cloneElement(i,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(n,!0).forEach((function(t){m(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},n,{onClick:this.onClick}))}}])&&l(n.prototype,o),a&&l(n,a),t}(r.default.PureComponent);t.CopyToClipboard=g,m(g,\"defaultProps\",{onCopy:void 0,options:void 0})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(3),i=n(396),o=n(398),a=n(28),s=n(32),u=n(30),c=a.createStructuredSelector({isReloadingSchema:s.getIsReloadingSchema});t.default=u.connect(c)((function(e){return e.isPollingSchema?r.createElement(o.default,{interval:e.settings[\"schema.polling.interval\"],onReloadSchema:e.onReloadSchema}):r.createElement(i.default,{isReloadingSchema:e.isReloadingSchema,onReloadSchema:e.onReloadSchema})}))},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(3),i=n(397);t.default=function(e){return r.createElement(i.default,{animate:e.isReloadingSchema,onClick:e.onReloadSchema})}},function(e,t,n){\"use strict\";var r=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(3),o=n(11),a=n(192);t.default=function(e){return i.createElement(g,{onClick:e.onClick,title:\"Reload Schema\",disabled:e.disabled},i.createElement(m,{viewBox:\"0 0 20 20\",disabled:e.disabled},i.createElement(y,{cx:\"9.5\",cy:\"10\",r:\"6\",strokeWidth:\"1.5\",fill:\"none\",strokeLinecap:\"round\",animate:e.animate}),i.createElement(v,{d:\"M4.83 4.86a6.92 6.92 0 0 1 11.3 2.97l.41-1.23c.13-.4.56-.6.95-.47.4.13.6.56.47.95l-1.13 3.33a.76.76 0 0 1-.7.5.72.72 0 0 1-.43-.12l-2.88-1.92a.76.76 0 0 1-.2-1.04.75.75 0 0 1 1.03-.2l1.06.7A5.34 5.34 0 0 0 9.75 4.5a5.44 5.44 0 0 0-5.64 5.22 5.42 5.42 0 0 0 5.24 5.62c.41 0 .74.36.72.78a.75.75 0 0 1-.75.72H9.3a6.9 6.9 0 0 1-6.68-7.18 6.88 6.88 0 0 1 2.22-4.81z\",animate:e.animate})))};var s,u,c,l,p,f,d,h=o.keyframes(s||(s=r([\"\\n0% {\\n  transform: rotate(0deg);\\n  stroke-dashoffset: 7.92;\\n}\\n\\n50% {\\n  transform: rotate(720deg);\\n  stroke-dashoffset: 37.68;\\n}\\n\\n100% {\\n  transform: rotate(1080deg);\\n  stroke-dashoffset: 7.92;\\n}\\n\"],[\"\\n0% {\\n  transform: rotate(0deg);\\n  stroke-dashoffset: 7.92;\\n}\\n\\n50% {\\n  transform: rotate(720deg);\\n  stroke-dashoffset: 37.68;\\n}\\n\\n100% {\\n  transform: rotate(1080deg);\\n  stroke-dashoffset: 7.92;\\n}\\n\"]))),m=o.styled.svg(l||(l=r([\"\\n  fill: \",\";\\n  transition: 0.1s linear all;\\n  \",\";\\n\"],[\"\\n  fill: \",\";\\n  transition: 0.1s linear all;\\n  \",\";\\n\"])),(function(e){return e.theme.editorColours.icon}),(function(e){return e.disabled?void 0:o.css(c||(c=r([\"\\n          &:hover {\\n            fill: \",\";\\n          }\\n        \"],[\"\\n          &:hover {\\n            fill: \",\";\\n          }\\n        \"])),(function(e){return e.theme.editorColours.iconHover}))})),g=o.styled(a.default)(p||(p=r([\"\\n  cursor: \",\";\\n  transform: rotateY(180deg);\\n\"],[\"\\n  cursor: \",\";\\n  transform: rotateY(180deg);\\n\"])),(function(e){var t=e.disabled;return void 0!==t&&t?\"auto\":\"pointer\"})),y=o.styled(\"circle\")(f||(f=r([\"\\n  fill: none;\\n  stroke: \",\";\\n  stroke-dasharray: 37.68;\\n  transition: opacity 0.3s ease-in-out;\\n  opacity: \",\";\\n  transform-origin: 9.5px 10px;\\n  animation: \",\" 2s linear \",\";\\n\"],[\"\\n  fill: none;\\n  stroke: \",\";\\n  stroke-dasharray: 37.68;\\n  transition: opacity 0.3s ease-in-out;\\n  opacity: \",\";\\n  transform-origin: 9.5px 10px;\\n  animation: \",\" 2s linear \",\";\\n\"])),(function(e){return e.theme.editorColours.icon}),(function(e){return e.animate?1:0}),h,(function(e){return e.animate?\"infinite\":\"\"})),v=o.styled(\"path\")(d||(d=r([\"\\n  transition: opacity 0.3s ease-in-out;\\n  opacity: \",\";\\n  transform-origin: 9.5px 10px;\\n  animation: \",\" 0.5s linear;\\n\"],[\"\\n  transition: opacity 0.3s ease-in-out;\\n  opacity: \",\";\\n  transform-origin: 9.5px 10px;\\n  animation: \",\" 0.5s linear;\\n\"])),(function(e){return e.animate?0:1}),(function(e){return o.keyframes(u||(u=r([\"\\n0% {\\n  transform: rotate(\",\"deg);\\n}\\n\\n100% {\\n  transform: rotate(\",\"deg);\\n}\"],[\"\\n0% {\\n  transform: rotate(\",\"deg);\\n}\\n\\n100% {\\n  transform: rotate(\",\"deg);\\n}\"])),e.animate?0:360,e.animate?360:720)}))},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(3),a=n(399),s=function(e){function t(t){var n=e.call(this,t)||this;return n.setWindowVisibility=function(){\"visible\"===document.visibilityState&&n.setState({windowVisible:!0},n.updatePolling),\"hidden\"===document.visibilityState&&n.setState({windowVisible:!1},n.updatePolling)},n.updatePolling=function(e){void 0===e&&(e=n.props),n.clearTimer(),n.state.windowVisible&&(n.timer=setInterval((function(){return e.onReloadSchema()}),e.interval))},n.state={windowVisible:!0},n}return i(t,e),t.prototype.componentDidMount=function(){this.updatePolling(),document.addEventListener(\"visibilitychange\",this.setWindowVisibility)},t.prototype.componentWillUnmount=function(){this.clearTimer(),document.removeEventListener(\"visibilitychange\",this.setWindowVisibility)},t.prototype.UNSAFE_componentWillReceiveProps=function(e){this.updatePolling(e)},t.prototype.render=function(){return o.createElement(a.default,{animate:this.state.windowVisible})},t.prototype.clearTimer=function(){this.timer&&(clearInterval(this.timer),this.timer=null)},t}(o.Component);t.default=s},function(e,t,n){\"use strict\";var r=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(3),o=n(11),a=n(192);t.default=function(e){return i.createElement(f,{onClick:e.onClick,title:\"Polling Schema\"},i.createElement(d,{animate:e.animate}))};var s,u,c,l,p=o.keyframes(s||(s=r([\"\\n0% {\\n  box-shadow: 0 0 0 0 rgba(139, 149, 156, 0.4);\\n}\\n70% {\\n  box-shadow: 0 0 0 10px rgba(139, 149, 156, 0);\\n}\\n100% {\\n  box-shadow: 0 0 0 0 rgba(139, 149, 156, 0);\\n}\\n\"],[\"\\n0% {\\n  box-shadow: 0 0 0 0 rgba(139, 149, 156, 0.4);\\n}\\n70% {\\n  box-shadow: 0 0 0 10px rgba(139, 149, 156, 0);\\n}\\n100% {\\n  box-shadow: 0 0 0 0 rgba(139, 149, 156, 0);\\n}\\n\"]))),f=o.styled(a.default)(u||(u=r([\"\\n  display: flex;\\n  justify-content: center;\\n  align-items: center;\\n\"],[\"\\n  display: flex;\\n  justify-content: center;\\n  align-items: center;\\n\"]))),d=o.styled.div(l||(l=r([\"\\n  display: block;\\n  width: 8px;\\n  height: 8px;\\n  border-radius: 50%;\\n  background: \",\";\\n  box-shadow: 0 0 0 \",\";\\n  \",\";\\n\"],[\"\\n  display: block;\\n  width: 8px;\\n  height: 8px;\\n  border-radius: 50%;\\n  background: \",\";\\n  box-shadow: 0 0 0 \",\";\\n  \",\";\\n\"])),(function(e){return e.theme.editorColours.pollingIcon}),(function(e){return e.theme.editorColours.pollingIconShadow}),(function(e){return e.animate?o.css(c||(c=r([\"\\n          animation: \",\" 2s infinite;\\n        \"],[\"\\n          animation: \",\" 2s infinite;\\n        \"])),p):void 0}))},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(3),s=n(180),u=n(30),c=n(38),l=n(32),p=n(28),f=n(11),d=function(e){function t(t){var n=e.call(this,t)||this;return n._onKeyUp=function(e,t){var r=t.keyCode;(r>=65&&r<=90||!t.shiftKey&&r>=48&&r<=57||t.shiftKey&&189===r||t.shiftKey&&222===r)&&n.editor.execCommand(\"autocomplete\")},n._onEdit=function(){n.ignoreChangeEvent||(n.cachedValue=n.editor.getValue(),n.props.onChange(n.cachedValue))},n._onHasCompletion=function(e,t){s.default(e,t,n.props.onHintInformationRender)},n.cachedValue=t.value||\"\",n.props.getRef&&n.props.getRef(n),n}return i(t,e),t.prototype.componentDidMount=function(){var e=this,t=n(16);n(125),n(91),n(126),n(92),n(106),n(127),n(70),n(107),n(71),n(108),n(193),n(194),n(195),this.editor=t(this._node,{value:this.props.value||\"\",lineNumbers:!0,tabSize:2,mode:\"graphql-variables\",theme:\"graphiql\",keyMap:\"sublime\",autoCloseBrackets:!0,matchBrackets:!0,showCursorWhenSelecting:!0,readOnly:!1,foldGutter:{minFoldSize:4},lint:{variableToType:this.props.variableToType?this.props.variableToType.toJS():void 0},hintOptions:{variableToType:this.props.variableToType?this.props.variableToType.toJS():void 0,closeOnUnfocus:!1,completeSingle:!1},gutters:[\"CodeMirror-linenumbers\",\"CodeMirror-foldgutter\"],extraKeys:{\"Cmd-Space\":function(){return e.editor.showHint({completeSingle:!1})},\"Ctrl-Space\":function(){return e.editor.showHint({completeSingle:!1})},\"Alt-Space\":function(){return e.editor.showHint({completeSingle:!1})},\"Shift-Space\":function(){return e.editor.showHint({completeSingle:!1})},\"Cmd-Enter\":function(){e.props.onRunQuery&&e.props.onRunQuery()},\"Ctrl-Enter\":function(){e.props.onRunQuery&&e.props.onRunQuery()},\"Shift-Ctrl-P\":function(){e.props.prettifyQuery&&e.props.prettifyQuery()},\"Cmd-F\":\"findPersistent\",\"Ctrl-F\":\"findPersistent\",\"Ctrl-Left\":\"goSubwordLeft\",\"Ctrl-Right\":\"goSubwordRight\",\"Alt-Left\":\"goGroupLeft\",\"Alt-Right\":\"goGroupRight\"}}),this.editor.on(\"change\",this._onEdit),this.editor.on(\"keyup\",this._onKeyUp),this.editor.on(\"hasCompletion\",this._onHasCompletion)},t.prototype.componentDidUpdate=function(e){var t=n(16);this.ignoreChangeEvent=!0,this.props.variableToType!==e.variableToType&&(this.editor.options.lint.variableToType=this.props.variableToType?this.props.variableToType.toJS():void 0,this.editor.options.hintOptions.variableToType=this.props.variableToType?this.props.variableToType.toJS():void 0,t.signal(this.editor,\"change\",this.editor)),this.props.value!==e.value&&this.props.value!==this.cachedValue&&(this.cachedValue=this.props.value,this.editor.setValue(this.props.value)),this.ignoreChangeEvent=!1},t.prototype.componentWillUnmount=function(){this.editor.off(\"change\",this._onEdit),this.editor.off(\"keyup\",this._onKeyUp),this.editor.off(\"hasCompletion\",this._onHasCompletion),this.editor=null},t.prototype.render=function(){var e=this;return a.createElement(y,{ref:function(t){e._node=t}})},t.prototype.getCodeMirror=function(){return this.editor},t.prototype.getClientHeight=function(){return this._node&&this._node.clientHeight},t}(a.PureComponent),h=p.createStructuredSelector({value:l.getVariables,variableToType:l.getVariableToType});t.VariableEditorComponent=u.connect(h,{onChange:c.editVariables})(d);var m=p.createStructuredSelector({value:l.getHeaders});t.HeadersEditorComponent=u.connect(m,{onChange:c.editHeaders})(d);var g,y=f.styled.div(g||(g=o([\"\\n  flex: 1;\\n  height: 100%;\\n  position: relative;\\n\"],[\"\\n  flex: 1;\\n  height: 100%;\\n  position: relative;\\n\"])))},function(e,t,n){\"use strict\";function r(e,t){const n=e.filter(t);return 0===n.length?e:n}function i(e){return e.toLowerCase().replace(/\\W/g,\"\")}function o(e,t){let n=function(e,t){let n,r;const i=[],o=e.length,a=t.length;for(n=0;n<=o;n++)i[n]=[n];for(r=1;r<=a;r++)i[0][r]=r;for(n=1;n<=o;n++)for(r=1;r<=a;r++){const o=e[n-1]===t[r-1]?0:1;i[n][r]=Math.min(i[n-1][r]+1,i[n][r-1]+1,i[n-1][r-1]+o),n>1&&r>1&&e[n-1]===t[r-2]&&e[n-2]===t[r-1]&&(i[n][r]=Math.min(i[n][r],i[n-2][r-2]+o))}return i[o][a]}(t,e);return e.length>t.length&&(n-=e.length-t.length-1,n+=0===e.indexOf(t)?0:.5),n}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t,n){const a=function(e,t){if(!t)return r(e,e=>!e.isDeprecated);return r(r(e.map(e=>({proximity:o(i(e.text),t),entry:e})),e=>e.proximity<=2),e=>!e.entry.isDeprecated).sort((e,t)=>(e.entry.isDeprecated?1:0)-(t.entry.isDeprecated?1:0)||e.proximity-t.proximity||e.entry.text.length-t.entry.text.length).map(e=>e.entry)}(n,i(t.string));if(!a)return;const s=null!==t.type&&/\"|\\w/.test(t.string[0])?t.start:t.end;return{list:a,from:{line:e.line,column:s},to:{line:e.line,column:t.end}}}},function(e,t,n){\"use strict\";let r,i,o,a,s,u,c;function l(){const e=o,t=[];if(h(\"{\"),!g(\"}\")){do{t.push(p())}while(g(\",\"));h(\"}\")}return{kind:\"Object\",start:e,end:s,members:t}}function p(){const e=o,t=\"String\"===c?d():null;h(\"String\"),h(\":\");const n=f();return{kind:\"Member\",start:e,end:s,key:t,value:n}}function f(){switch(c){case\"[\":return function(){const e=o,t=[];if(h(\"[\"),!g(\"]\")){do{t.push(f())}while(g(\",\"));h(\"]\")}return{kind:\"Array\",start:e,end:s,values:t}}();case\"{\":return l();case\"String\":case\"Number\":case\"Boolean\":case\"Null\":const e=d();return v(),e}return h(\"Value\")}function d(){return{kind:c,start:o,end:a,value:JSON.parse(r.slice(o,a))}}function h(e){if(c===e)return void v();let t;if(\"EOF\"===c)t=\"[end of file]\";else if(a-o>1)t=\"`\"+r.slice(o,a)+\"`\";else{const e=r.slice(o).match(/^.+?\\b/);t=\"`\"+(e?e[0]:r[o])+\"`\"}throw m(\"Expected \".concat(e,\" but found \").concat(t,\".\"))}function m(e){return{message:e,start:o,end:a}}function g(e){if(c===e)return v(),!0}function y(){a<i&&(a++,u=a===i?0:r.charCodeAt(a))}function v(){for(s=a;9===u||10===u||13===u||32===u;)y();if(0!==u){switch(o=a,u){case 34:return c=\"String\",function(){y();for(;34!==u&&u>31;)if(92===u)switch(y(),u){case 34:case 47:case 92:case 98:case 102:case 110:case 114:case 116:y();break;case 117:y(),b(),b(),b(),b();break;default:throw m(\"Bad character escape sequence.\")}else{if(a===i)throw m(\"Unterminated string.\");y()}if(34===u)return void y();throw m(\"Unterminated string.\")}();case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return c=\"Number\",function(){45===u&&y();48===u?y():E();46===u&&(y(),E());69!==u&&101!==u||(y(),43!==u&&45!==u||y(),E())}();case 102:if(\"false\"!==r.slice(o,o+5))break;return a+=4,y(),void(c=\"Boolean\");case 110:if(\"null\"!==r.slice(o,o+4))break;return a+=3,y(),void(c=\"Null\");case 116:if(\"true\"!==r.slice(o,o+4))break;return a+=3,y(),void(c=\"Boolean\")}c=r[o],y()}else c=\"EOF\"}function b(){if(u>=48&&u<=57||u>=65&&u<=70||u>=97&&u<=102)return y();throw m(\"Expected hexadecimal digit.\")}function E(){if(u<48||u>57)throw m(\"Expected decimal digit.\");do{y()}while(u>=48&&u<=57)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){r=e,i=e.length,o=a=s=-1,y(),v();const t=l();return h(\"EOF\"),t}},function(e,t,n){\"use strict\";var r=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(3),o=n(404),a=n(405),s=n(30),u=n(28),c=n(32),l=n(11),p=new(n(101).ResponseRecord)({date:\"\",time:new Date,resultID:\"default-id\"}),f=u.createStructuredSelector({responses:c.getResponses});t.default=s.connect(f)((function(e){var t=e.setRef,n=e.responses,r=n.get(0)||p,s=n.size>1;return i.createElement(v,{ref:t,isSubscription:s},n.size<=1?i.createElement(b,{key:\"first\",isSubscription:s},n.size>1&&r.time&&i.createElement(E,null,i.createElement(x,null,o.default(r.time))),i.createElement(D,{isSubscription:s},i.createElement(a.ResultViewer,{value:r.date,isSubscription:s}))):n.map((function(e){return i.createElement(b,{key:e.resultID||String(e.time),isSubscription:s},n.size>1&&e.time&&i.createElement(E,null,i.createElement(x,null,o.default(e.time))),i.createElement(D,{isSubscription:n.size>1},i.createElement(a.ResultViewer,{value:e.date,isSubscription:s})))})))}));var d,h,m,g,y,v=l.styled(\"div\")(d||(d=r([\"\\n  flex: 1;\\n  height: \",\";\\n  position: relative;\\n  overflow: \",\";\\n  max-height: none !important;\\n\\n  .cm-string {\\n    color: rgb(41, 185, 115);\\n  }\\n\\n  .cm-def {\\n    color: rgb(241, 143, 1);\\n  }\\n\\n  .cm-property {\\n    color: rgb(51, 147, 220);\\n  }\\n\\n  &::-webkit-scrollbar {\\n    display: none;\\n  }\\n\\n  .CodeMirror {\\n    background: \",\";\\n  }\\n  .CodeMirror-gutters {\\n    cursor: col-resize;\\n  }\\n  .CodeMirror-foldgutter,\\n  .CodeMirror-foldgutter-open:after,\\n  .CodeMirror-foldgutter-folded:after {\\n    padding-left: 3px;\\n  }\\n\"],[\"\\n  flex: 1;\\n  height: \",\";\\n  position: relative;\\n  overflow: \",\";\\n  max-height: none !important;\\n\\n  .cm-string {\\n    color: rgb(41, 185, 115);\\n  }\\n\\n  .cm-def {\\n    color: rgb(241, 143, 1);\\n  }\\n\\n  .cm-property {\\n    color: rgb(51, 147, 220);\\n  }\\n\\n  &::-webkit-scrollbar {\\n    display: none;\\n  }\\n\\n  .CodeMirror {\\n    background: \",\";\\n  }\\n  .CodeMirror-gutters {\\n    cursor: col-resize;\\n  }\\n  .CodeMirror-foldgutter,\\n  .CodeMirror-foldgutter-open:after,\\n  .CodeMirror-foldgutter-folded:after {\\n    padding-left: 3px;\\n  }\\n\"])),(function(e){return e.isSubscription?\"auto\":\"100%\"}),(function(e){return e.isSubscription?\"auto\":\"visible\"}),(function(e){return e.theme.editorColours.resultBackground})),b=l.styled(\"div\")(h||(h=r([\"\\n  position: relative;\\n  display: flex;\\n  flex: 1;\\n  height: \",\";\\n  flex-direction: column;\\n  &:not(:first-child):last-of-type {\\n    margin-bottom: 48px;\\n  }\\n\"],[\"\\n  position: relative;\\n  display: flex;\\n  flex: 1;\\n  height: \",\";\\n  flex-direction: column;\\n  &:not(:first-child):last-of-type {\\n    margin-bottom: 48px;\\n  }\\n\"])),(function(e){return e.isSubscription?\"auto\":\"100%\"})),E=l.styled.div(m||(m=r([\"\\n  position: relative;\\n  height: 17px;\\n  margin-top: 12px;\\n  margin-bottom: 4px;\\n  &:before {\\n    position: absolute;\\n    width: 100%;\\n    content: '';\\n    top: 9px;\\n    left: 95px;\\n    border-top: 1px solid\\n      \",\";\\n  }\\n\"],[\"\\n  position: relative;\\n  height: 17px;\\n  margin-top: 12px;\\n  margin-bottom: 4px;\\n  &:before {\\n    position: absolute;\\n    width: 100%;\\n    content: '';\\n    top: 9px;\\n    left: 95px;\\n    border-top: 1px solid\\n      \",\";\\n  }\\n\"])),(function(e){return e.theme.editorColours.subscriptionTimeBoaderTop})),x=l.styled.div(g||(g=r([\"\\n  font-size: 12px;\\n  color: \",\";\\n  padding-left: 15px;\\n\"],[\"\\n  font-size: 12px;\\n  color: \",\";\\n  padding-left: 15px;\\n\"])),(function(e){return e.theme.editorColours.subscriptionTimeText})),D=l.styled(\"div\")(y||(y=r([\"\\n  display: flex;\\n  flex: 1;\\n  height: \",\";\\n  position: \",\";\\n\"],[\"\\n  display: flex;\\n  flex: 1;\\n  height: \",\";\\n  position: \",\";\\n\"])),(function(e){return e.isSubscription?\"auto\":\"100%\"}),(function(e){return e.isSubscription?\"relative\":\"static\"}))},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){var t=new Date,n=Math.abs(e.getTime()-t.getTime()),r=Math.floor(n/864e5),i=Math.floor(n%864e5/36e5),o=Math.round(n%864e5%36e5/6e4);if(r>0)return r+\" days ago\";if(i>0)return i+\" h ago\";if(o>0)return o+\" min ago\";var a=Math.round(n/1e3);return a+\" sec\"+(a>1?\"s\":\"\")+\" ago\"}},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(3),s=n(11),u=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.setRef=function(e){t.node=e},t}return i(t,e),t.prototype.componentDidMount=function(){var e=n(16);n(106),n(92),n(71),n(186),n(70),n(107),n(108),n(406);var t=[];this.props.hideGutters||t.push(\"CodeMirror-foldgutter\");var r={};this.props.hideGutters||(r={minFoldSize:4});var i=this.props.value||\"\";this.viewer=e(this.node,{lineWrapping:!0,value:i,readOnly:!0,theme:\"graphiql\",mode:\"graphql-results\",keyMap:\"sublime\",foldGutter:r,gutters:t,extraKeys:{\"Cmd-F\":\"findPersistent\",\"Ctrl-F\":\"findPersistent\",\"Ctrl-Left\":\"goSubwordLeft\",\"Ctrl-Right\":\"goSubwordRight\",\"Alt-Left\":\"goGroupLeft\",\"Alt-Right\":\"goGroupRight\"}})},t.prototype.shouldComponentUpdate=function(e){return this.props.value!==e.value},t.prototype.componentDidUpdate=function(){var e=this.props.value||\"\";this.viewer.setValue(e)},t.prototype.componentWillUnmount=function(){this.viewer=null},t.prototype.render=function(){return a.createElement(l,{ref:this.setRef,isSubscription:this.props.isSubscription})},t.prototype.getCodeMirror=function(){return this.viewer},t.prototype.getClientHeight=function(){return this.node&&this.node.clientHeight},t}(a.Component);t.ResultViewer=u;var c,l=s.styled(\"div\")(c||(c=o([\"\\n  position: relative;\\n  display: flex;\\n  flex: 1;\\n  height: \",\";\\n  .CodeMirror {\\n    height: \",\";\\n    position: \",\";\\n    box-sizing: border-box;\\n    background: none;\\n    padding-left: 38px;\\n  }\\n  .CodeMirror-cursor {\\n    display: none !important;\\n  }\\n  .CodeMirror-scroll {\\n    overflow: scroll !important;\\n    margin-right: 10px;\\n  }\\n  .CodeMirror-sizer {\\n    margin-bottom: 0 !important;\\n  }\\n  .CodeMirror-lines {\\n    margin: 20px 0;\\n    padding: 0;\\n  }\\n  .cm-string {\\n    color: \",\" !important;\\n  }\\n\"],[\"\\n  position: relative;\\n  display: flex;\\n  flex: 1;\\n  height: \",\";\\n  .CodeMirror {\\n    height: \",\";\\n    position: \",\";\\n    box-sizing: border-box;\\n    background: none;\\n    padding-left: 38px;\\n  }\\n  .CodeMirror-cursor {\\n    display: none !important;\\n  }\\n  .CodeMirror-scroll {\\n    overflow: scroll !important;\\n    margin-right: 10px;\\n  }\\n  .CodeMirror-sizer {\\n    margin-bottom: 0 !important;\\n  }\\n  .CodeMirror-lines {\\n    margin: 20px 0;\\n    padding: 0;\\n  }\\n  .cm-string {\\n    color: \",\" !important;\\n  }\\n\"])),(function(e){return e.isSubscription?\"auto\":\"100%\"}),(function(e){return e.isSubscription?\"auto\":\"100%\"}),(function(e){return e.isSubscription?\"relative\":\"absolute%\"}),(function(e){return e.theme.editorColours.property}))},function(e,t,n){\"use strict\";var r,i=(r=n(16))&&r.__esModule?r:{default:r},o=n(135);function a(e,t){const n=e.levels;return(n&&0!==n.length?n[n.length-1]-(this.electricInput.test(t)?1:0):e.indentLevel)*this.config.indentUnit}i.default.defineMode(\"graphql-results\",e=>{const t=(0,o.onlineParser)({eatWhitespace:e=>e.eatSpace(),lexRules:s,parseRules:u,editorConfig:{tabSize:e.tabSize}});return{config:e,startState:t.startState,token:t.token,indent:a,electricInput:/^\\s*[}\\]]/,fold:\"brace\",closeBrackets:{pairs:'[]{}\"\"',explode:\"[]{}\"}}});const s={Punctuation:/^\\[|]|\\{|\\}|:|,/,Number:/^-?(?:0|(?:[1-9][0-9]*))(?:\\.[0-9]*)?(?:[eE][+-]?[0-9]+)?/,String:/^\"(?:[^\"\\\\]|\\\\(?:\"|\\/|\\\\|b|f|n|r|t|u[0-9a-fA-F]{4}))*\"?/,Keyword:/^true|false|null/},u={Document:[(0,o.p)(\"{\"),(0,o.list)(\"Entry\",(0,o.p)(\",\")),(0,o.p)(\"}\")],Entry:[(0,o.t)(\"String\",\"def\"),(0,o.p)(\":\"),\"Value\"],Value(e){switch(e.kind){case\"Number\":return\"NumberValue\";case\"String\":return\"StringValue\";case\"Punctuation\":switch(e.value){case\"[\":return\"ListValue\";case\"{\":return\"ObjectValue\"}return null;case\"Keyword\":switch(e.value){case\"true\":case\"false\":return\"BooleanValue\";case\"null\":return\"NullValue\"}return null}},NumberValue:[(0,o.t)(\"Number\",\"number\")],StringValue:[(0,o.t)(\"String\",\"string\")],BooleanValue:[(0,o.t)(\"Keyword\",\"builtin\")],NullValue:[(0,o.t)(\"Keyword\",\"keyword\")],ListValue:[(0,o.p)(\"[\"),(0,o.list)(\"Value\",(0,o.p)(\",\")),(0,o.p)(\"]\")],ObjectValue:[(0,o.p)(\"{\"),(0,o.list)(\"ObjectField\",(0,o.p)(\",\")),(0,o.p)(\"}\")],ObjectField:[(0,o.t)(\"String\",\"property\"),(0,o.p)(\":\"),\"Value\"]}},function(e,t,n){\"use strict\";var r,i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e},o=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,\"__esModule\",{value:!0});var a,s,u,c,l=n(3),p=n(408),f=n(103),d=n(28),h=n(32),m=n(30),g=f.default.div(a||(a=i([\"\\n  padding-top: 6px;\\n  padding-left: 25px;\\n  padding-right: 25px;\\n  color: \",\";\\n  overflow: auto;\\n  position: relative;\\n  height: 100%;\\n\"],[\"\\n  padding-top: 6px;\\n  padding-left: 25px;\\n  padding-right: 25px;\\n  color: \",\";\\n  overflow: auto;\\n  position: relative;\\n  height: 100%;\\n\"])),(function(e){return e.theme.editorColours.text})),y=f.default.div(s||(s=i([\"\\n  font-size: 14px;\\n\"],[\"\\n  font-size: 14px;\\n\"]))),v=f.default.div(u||(u=i([\"\\n  font-size: 14px;\\n  color: rgba(241, 143, 1, 1);\\n\"],[\"\\n  font-size: 14px;\\n  color: rgba(241, 143, 1, 1);\\n\"]))),b=f.default.div(c||(c=i([\"\\n  padding-left: 100px;\\n  padding-bottom: 100px;\\n  padding-top: 16px;\\n  position: absolute;\\n  overflow: auto;\\n  top: 0;\\n  left: 0;\\n  width: calc(100% + 100px);\\n  height: calc(100% + 116px);\\n\"],[\"\\n  padding-left: 100px;\\n  padding-bottom: 100px;\\n  padding-top: 16px;\\n  position: absolute;\\n  overflow: auto;\\n  top: 0;\\n  left: 0;\\n  width: calc(100% + 100px);\\n  height: calc(100% + 116px);\\n\"]))),E=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o(t,e),t.prototype.render=function(){var e=this.props,t=e.tracing,n=e.tracingSupported,r=e.startTime,i=e.endTime,o=e.open,a=t&&r?Math.abs(new Date(t.startTime).getTime()-r.getTime()):0,s=t&&i?Math.abs(i.getTime()-new Date(t.endTime).getTime()):0,u=1e6*a;return l.createElement(g,null,t&&o?l.createElement(b,null,l.createElement(p.default,{path:[\"Request\"],startOffset:0,duration:u}),t.execution.resolvers.map((function(e){return l.createElement(p.default,{key:e.path.join(\".\"),path:e.path,startOffset:e.startOffset+u,duration:e.duration})})),l.createElement(p.default,{path:[\"Response\"],startOffset:t.duration+u,duration:1e6*s})):n?l.createElement(y,null,this.props.queryRunning?\"Running query ...\":\"Please re-run the query to show tracing results.\"):l.createElement(v,null,\"This GraphQL server doesn’t support tracing. See the following page for instructions:\",l.createElement(\"br\",null),\"https://github.com/apollographql/apollo-tracing\"))},t}(l.PureComponent),x=d.createStructuredSelector({tracing:h.getTracing,startTime:h.getCurrentQueryStartTime,endTime:h.getCurrentQueryEndTime,tracingSupported:h.getTracingSupported,queryRunning:h.getQueryRunning});t.default=m.connect(x)(E)},function(e,t,n){\"use strict\";var r,i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e},o=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,\"__esModule\",{value:!0});var a,s,u,c,l,p=n(3),f=n(103),d=f.default.div(a||(a=i([\"\\n  position: relative;\\n  font-size: 12px;\\n  display: table;\\n  padding-right: 25px;\\n\\n  color: \",\";\\n\"],[\"\\n  position: relative;\\n  font-size: 12px;\\n  display: table;\\n  padding-right: 25px;\\n\\n  color: \",\";\\n\"])),(function(e){return e.theme.editorColours.text})),h=f.default.span(s||(s=i([\"\\n  display: inline-block;\\n  position: relative;\\n  margin: 0 10px;\\n  height: 1.5px;\\n  bottom: 4px;\\n\\n  background: \",\";\\n\"],[\"\\n  display: inline-block;\\n  position: relative;\\n  margin: 0 10px;\\n  height: 1.5px;\\n  bottom: 4px;\\n\\n  background: \",\";\\n\"])),(function(e){return e.theme.editorColours.text})),m=f.default.span(u||(u=i([\"\\n  font-size: 10px;\\n  color: \",\";\\n\"],[\"\\n  font-size: 10px;\\n  color: \",\";\\n\"])),(function(e){return e.theme.editorColours.textInactive})),g=f.default.span(c||(c=i([\"\\n  position: absolute;\\n  left: 0;\\n  transform: translateX(-100%);\\n  display: inline-flex;\\n  align-items: center;\\n\\n  text-align: right;\\n\"],[\"\\n  position: absolute;\\n  left: 0;\\n  transform: translateX(-100%);\\n  display: inline-flex;\\n  align-items: center;\\n\\n  text-align: right;\\n\"]))),y=f.default.span(l||(l=i([\"\\n  margin-left: 10px;\\n\"],[\"\\n  margin-left: 10px;\\n\"]))),v=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={collapsed:!1},t}return o(t,e),t.prototype.render=function(){var e=this.props,t=e.path,n=e.startOffset,r=e.duration,i=n/1e6,o=r/1e6;return p.createElement(d,{style:{transform:\"translateX(\"+i+\"px)\"}},p.createElement(g,null,p.createElement(y,null,t.slice(-2).map((function(e,n){return p.createElement(\"span\",{style:{opacity:n===t.slice(-2).length-1?1:.6},key:e},(n>0?\".\":\"\")+e)})))),p.createElement(h,{style:{width:Math.max(o,3)}}),p.createElement(m,null,this.printDuration(r)))},t.prototype.printDuration=function(e){var t=Math.round(e/1e3);return t>1e3?Math.round(t/1e3)+\" ms\":t+\" µs\"},t}(p.Component);t.default=v},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.fillLeafs=function(e,t,n){const a=[];if(!e)return{insertions:a,result:t};let s;try{s=(0,r.parse)(t)}catch(e){return{insertions:a,result:t}}const u=n||i,c=new r.TypeInfo(e);return(0,r.visit)(s,{leave(e){c.leave(e)},enter(e){if(c.enter(e),\"Field\"===e.kind&&!e.selectionSet){const n=function e(t,n){const i=(0,r.getNamedType)(t);if(!t||(0,r.isLeafType)(t))return;const o=n(i);if(!Array.isArray(o)||0===o.length)return;return{kind:\"SelectionSet\",selections:o.map(t=>{const r=i.getFields()[t],o=r?r.type:null;return{kind:\"Field\",name:{kind:\"Name\",value:t},selectionSet:e(o,n)}})}}(c.getType(),u);if(n){const i=function(e,t){let n=t,r=t;for(;n;){const t=e.charCodeAt(n-1);if(10===t||13===t||8232===t||8233===t)break;n--,9!==t&&11!==t&&12!==t&&32!==t&&160!==t&&(r=n)}return e.substring(n,r)}(t,e.loc.start);a.push({index:e.loc.end,string:\" \"+(0,r.print)(n).replace(/\\n/g,\"\\n\"+i)})}}}}),{insertions:a,result:o(t,a)}};var r=n(20);function i(e){if(!e.getFields)return[];const t=e.getFields();if(t.id)return[\"id\"];if(t.edges)return[\"edges\"];if(t.node)return[\"node\"];const n=[];return Object.keys(t).forEach(e=>{(0,r.isLeafType)(t[e].type)&&n.push(e)}),n}function o(e,t){if(0===t.length)return e;let n=\"\",r=0;return t.forEach(({index:t,string:i})=>{n+=e.slice(r,t)+i,r=t}),n+=e.slice(r),n}},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e},a=this&&this.__assign||function(){return(a=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};Object.defineProperty(t,\"__esModule\",{value:!0});var s=n(3),u=n(60),c=n(30),l=n(198),p=n(196),f=n(74),d=n(75),h=n(32),m=n(28),g=n(11),y=n(197),v=function(e){function t(t){var n=e.call(this,t)||this;return n.clientX=0,n.clientY=0,n.setRef=function(e){n.ref=e},n.setContentContainerRef=function(e){n.refContentContainer=e},n.handleTabClick=function(e){return function(){return n.props.docs.activeTabIdx===e?(n.props.setDocsVisible(n.props.sessionId,!1),n.props.setWidth()):n.props.docs.activeTabIdx!==e?(n.props.setDocsVisible(n.props.sessionId,!1,n.props.docs.activeTabIdx),n.props.setDocsVisible(n.props.sessionId,!0,e),n.props.setWidth()):(n.props.setDocsVisible(n.props.sessionId,!0,e),n.props.setWidth())}},n.handleKeyDown=function(e){if(!(e.target instanceof HTMLInputElement||e.metaKey||e.shiftKey||e.altKey||e.ctrlKey))switch(l(e)){case\"esc\":n.props.changeKeyMove(n.props.sessionId,!0),e.preventDefault(),n.props.setDocsVisible(n.props.sessionId,!1)}},n.handleDocsResizeStart=function(e){e.preventDefault();var t=n.props.docs.docsWidth,r=e.clientX-p.getLeft(e.target),i=function(e){if(0===e.buttons)return o();var t=n.ref,i=e.clientX-p.getLeft(t)-r,a=t.clientWidth-i,s=window.innerWidth-50,u=s<a?s:a;u<100?n.props.setDocsVisible(n.props.sessionId,!1,n.props.docs.activeTabIdx):(n.props.setDocsVisible(n.props.sessionId,!0,n.props.docs.activeTabIdx),n.props.changeWidthDocs(n.props.sessionId,u))},o=function(){n.props.docs.docsOpen||n.props.changeWidthDocs(n.props.sessionId,t),document.removeEventListener(\"mousemove\",i),document.removeEventListener(\"mouseup\",o),i=null,o=null};document.addEventListener(\"mousemove\",i),document.addEventListener(\"mouseup\",o)},n.handleMouseMove=function(e){n.clientX=e.clientX,n.clientY=e.clientY,n.props.docs.keyMove&&n.clientX!==e.clientX&&n.clientY!==e.clientY&&n.props.changeKeyMove(n.props.sessionId,!1)},window.d=n,n}return i(t,e),t.prototype.componentDidUpdate=function(e){!e.docs.activeTabIdx&&this.props.docs.activeTabIdx&&this.props.setDocsVisible(this.props.sessionId,!0,this.props.docs.activeTabIdx),e.activeTabIdx&&!this.props.docs.activeTabIdx&&this.props.setDocsVisible(this.props.sessionId,!1),this.props.setWidth(),this.props.docs.activeTabIdx!==e.docs.activeTabIdx&&this.refContentContainer&&this.refContentContainer.focus()},t.prototype.componentDidMount=function(){return this.props.docs.activeTabIdx||this.props.setDocsVisible(this.props.sessionId,!1),this.props.setWidth()},t.prototype.render=function(){var e=this,t=this.props.docs,n=t.docsOpen,r=t.docsWidth,i=t.activeTabIdx,o={width:n?r:0},u=n&&s.Children.toArray(this.props.children)[i];return s.createElement(k,{open:n,style:o,ref:this.setRef},s.createElement(_,null,s.Children.toArray(this.props.children).map((function(t,n){return s.cloneElement(t,a(a({},t.props),{key:n,onClick:e.handleTabClick(n),active:n===i}))}))),s.createElement(T,{onMouseDown:this.handleDocsResizeStart}),s.createElement(O,{index:i}),s.createElement(A,{onKeyDown:this.handleKeyDown,onMouseMove:this.handleMouseMove,tabIndex:i,color:u?u.props.activeColor:void 0,ref:this.setContentContainerRef},u&&s.cloneElement(u.props.children,a(a({},u.props),{ref:this.props.setActiveContentRef,setWidth:this.props.setWidth}))))},t}(s.Component),b=m.createStructuredSelector({docs:d.getSessionDocs,sessionId:h.getSelectedSessionIdFromRoot}),E=c.connect(b,(function(e){return u.bindActionCreators({addStack:f.addStack,toggleDocs:f.toggleDocs,changeKeyMove:f.changeKeyMove,setDocsVisible:f.setDocsVisible,changeWidthDocs:f.changeWidthDocs},e)}),null,{forwardRef:!0})(v);E.Tab=y.default,t.default=E;var x,D,C,w,S,k=g.styled(\"div\")(x||(x=o([\"\\n  background: white;\\n  outline: none;\\n  box-shadow: 0 0 8px rgba(0, 0, 0, 0.15);\\n  position: absolute;\\n  right: 0px;\\n  z-index: \",\";\\n  height: 100%;\\n  font-family: 'Open Sans', sans-serif;\\n  -webkit-font-smoothing: antialiased;\\n  .doc-type-description p {\\n    padding: 16px;\\n    font-size: 14px;\\n  }\\n  .field-name {\\n    color: #1f61a0;\\n  }\\n  .type-name {\\n    color: rgb(245, 160, 0);\\n  }\\n  .arg-name {\\n    color: #1f61a9;\\n  }\\n  code {\\n    font-family: 'Source Code Pro', monospace;\\n    border-radius: 2px;\\n    padding: 1px 2px;\\n    background: rgba(0, 0, 0, 0.06);\\n  }\\n\"],[\"\\n  background: white;\\n  outline: none;\\n  box-shadow: 0 0 8px rgba(0, 0, 0, 0.15);\\n  position: absolute;\\n  right: 0px;\\n  z-index: \",\";\\n  height: 100%;\\n  font-family: 'Open Sans', sans-serif;\\n  -webkit-font-smoothing: antialiased;\\n  .doc-type-description p {\\n    padding: 16px;\\n    font-size: 14px;\\n  }\\n  .field-name {\\n    color: #1f61a0;\\n  }\\n  .type-name {\\n    color: rgb(245, 160, 0);\\n  }\\n  .arg-name {\\n    color: #1f61a9;\\n  }\\n  code {\\n    font-family: 'Source Code Pro', monospace;\\n    border-radius: 2px;\\n    padding: 1px 2px;\\n    background: rgba(0, 0, 0, 0.06);\\n  }\\n\"])),(function(e){return e.open?2e3:3})),A=g.styled.div(D||(D=o([\"\\n  background: white;\\n  display: flex;\\n  position: relative;\\n  height: 100%;\\n  letter-spacing: 0.3px;\\n  box-shadow: -1px 1px 6px 0 rgba(0, 0, 0, 0.3);\\n  outline: none;\\n  &::before {\\n    top: 0;\\n    bottom: 0;\\n    background: \",\";\\n    position: absolute;\\n    z-index: 3;\\n    left: 0px;\\n    content: '';\\n    width: 6px;\\n  }\\n\"],[\"\\n  background: white;\\n  display: flex;\\n  position: relative;\\n  height: 100%;\\n  letter-spacing: 0.3px;\\n  box-shadow: -1px 1px 6px 0 rgba(0, 0, 0, 0.3);\\n  outline: none;\\n  &::before {\\n    top: 0;\\n    bottom: 0;\\n    background: \",\";\\n    position: absolute;\\n    z-index: 3;\\n    left: 0px;\\n    content: '';\\n    width: 6px;\\n  }\\n\"])),(function(e){return e.color?e.theme.colours[e.color]:\"#3D5866\"})),T=g.styled.div(C||(C=o([\"\\n  cursor: col-resize;\\n  outline: none !important;\\n  height: 100%;\\n  left: -5px;\\n  position: absolute;\\n  top: 0;\\n  bottom: 0;\\n  width: 10px;\\n  z-index: 10;\\n\"],[\"\\n  cursor: col-resize;\\n  outline: none !important;\\n  height: 100%;\\n  left: -5px;\\n  position: absolute;\\n  top: 0;\\n  bottom: 0;\\n  width: 10px;\\n  z-index: 10;\\n\"]))),_=g.styled.div(w||(w=o([\"\\n  position: absolute;\\n  outline: none !important;\\n  z-index: 2;\\n  height: 0;\\n  top: 129px;\\n\"],[\"\\n  position: absolute;\\n  outline: none !important;\\n  z-index: 2;\\n  height: 0;\\n  top: 129px;\\n\"]))),O=g.styled.div(S||(S=o([\"\\n  position: absolute;\\n  top: 0;\\n  bottom: 0;\\n  left: 0;\\n  width: 20px;\\n  z-index: 1;\\n  pointer-events: none;\\n  content: '';\\n  background: \",\";\\n\"],[\"\\n  position: absolute;\\n  top: 0;\\n  bottom: 0;\\n  left: 0;\\n  width: 20px;\\n  z-index: 1;\\n  pointer-events: none;\\n  content: '';\\n  background: \",\";\\n\"])),(function(e){return 0===e.index?\"linear-gradient(\\n\\t\\tto right,\\n\\t\\trgba(255, 255, 255, 1) 30%,\\n\\t\\trgba(255, 255, 255, 0))\":\"transparent\"}))},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(3),a=n(60),s=n(30),u=n(74),c=n(129),l=n(68),p=n(32),f=n(75),d=n(28),h=n(199),m=n(412),g=n(413),y=n(414),v=n(42),b=function(e){function t(t){var n=e.call(this,t)||this;return n.setRef=function(e){n.ref=e},window.d=n,n}return i(t,e),t.prototype.UNSAFE_componentWillReceiveProps=function(e){!this.props.schema&&e.schema&&this.setWidth(e)},t.prototype.setWidth=function(e){void 0===e&&(e=this.props),this.props.setWidth(e)},t.prototype.getWidth=function(e){return void 0===e&&(e=this.props),e.docs.docsWidth||l.columnWidth},t.prototype.componentDidMount=function(){this.setWidth()},t.prototype.render=function(){var e,t=this.props,n=t.schema,r=t.settings,i=t.isPollingSchema;return void 0===n?e=o.createElement(c.default,null):null===n&&(e=o.createElement(h.ErrorContainer,null,\"No Schema Available\")),o.createElement(m.SchemaExplorerContainer,{ref:this.setRef},e?o.createElement(m.SDLColumn,null,e):o.createElement(m.SDLColumn,{width:this.props.docs.docsWidth||l.columnWidth-1},o.createElement(g.default,{schema:n}),o.createElement(y.default,{schema:n,settings:r,isPollingSchema:i,width:this.props.docs.docsWidth||l.columnWidth})))},t}(o.Component),E=d.createStructuredSelector({settings:v.getSettings,docs:f.getSessionDocs,sessionId:p.getSelectedSessionIdFromRoot,isPollingSchema:p.getIsPollingSchema});t.default=s.connect(E,(function(e){return a.bindActionCreators({toggleDocs:u.toggleDocs,changeWidthDocs:u.changeWidthDocs,setDocsVisible:u.setDocsVisible},e)}),null,{forwardRef:!0})(b)},function(e,t,n){\"use strict\";var r=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(3),o=n(11),a=n(68);t.SchemaExplorerContainer=o.styled.div(s||(s=r([\"\\n  position: relative;\\n  height: 100%;\\n  width: 100%;\\n  display: flex;\\n  flex-direction: column;\\n  flex-wrap: wrap;\\n  align-items: stretch;\\n  padding: 0px 8px 8px 8px;\\n  background: \",\";\\n  font-family: \",\";\\n  font-size: \",\";\\n  outline: none !important;\\n\"],[\"\\n  position: relative;\\n  height: 100%;\\n  width: 100%;\\n  display: flex;\\n  flex-direction: column;\\n  flex-wrap: wrap;\\n  align-items: stretch;\\n  padding: 0px 8px 8px 8px;\\n  background: \",\";\\n  font-family: \",\";\\n  font-size: \",\";\\n  outline: none !important;\\n\"])),(function(e){return\"dark\"===e.theme.mode?e.theme.editorColours.editorBackground:\"white\"}),(function(e){return e.theme.settings[\"editor.fontFamily\"]}),(function(e){return e.theme.settings[\"editor.fontSize\"]+\"px\"}));t.SDLColumn=function(e){var t=e.children,n=e.width,r=void 0===n?a.columnWidth:n;return i.createElement(c,{style:{width:r}},t)};var s,u,c=o.styled(\"div\")(u||(u=r([\"\\n  display: flex;\\n  flex: 1 0 auto;\\n  flex-flow: column;\\n  padding-bottom: 20px;\\n  border-right: 1px solid \",\";\\n  overflow: hidden;\\n\"],[\"\\n  display: flex;\\n  flex: 1 0 auto;\\n  flex-flow: column;\\n  padding-bottom: 20px;\\n  border-right: 1px solid \",\";\\n  overflow: hidden;\\n\"])),(function(e){return e.theme.colours.black10}))},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(3),s=n(11),u=n(128),c=n(200),l=function(e){function t(t){var n=e.call(this,t)||this;return n.handleClick=function(e){if(!n.node.contains(e.target))return n.setState({open:!1})},n.showOptions=function(){n.setState({open:!n.state.open})},n.printSDL=function(){return c.downloadSchema(n.props.schema,\"sdl\")},n.printIntrospection=function(){return c.downloadSchema(n.props.schema,\"json\")},n.setRef=function(e){n.node=e},n.state={open:!1},n}return i(t,e),t.prototype.UNSAFE_componentWillMount=function(){document.addEventListener(\"mousedown\",this.handleClick,!1)},t.prototype.componentWillUnmount=function(){document.removeEventListener(\"mousedown\",this.handleClick,!1)},t.prototype.render=function(){var e=this.state.open;return a.createElement(g,{ref:this.setRef},a.createElement(v,null,\"Schema\"),a.createElement(y,null,a.createElement(b,{onClick:this.showOptions,open:e},\"Download\"),e&&a.createElement(a.Fragment,null,a.createElement(E,{onClick:this.printIntrospection},\"JSON\"),a.createElement(E,{onClick:this.printSDL},\"SDL\"))))},t}(a.Component);t.default=l;var p,f,d,h,m,g=s.styled.div(p||(p=o([\"\\n  display: flex;\\n  flex-direction: row;\\n  height: 64px;\\n  width: 100%;\\n  margin-right: 108px;\\n  align-items: center;\\n  justify-content: flex-start;\\n  outline: none;\\n  user-select: none;\\n\"],[\"\\n  display: flex;\\n  flex-direction: row;\\n  height: 64px;\\n  width: 100%;\\n  margin-right: 108px;\\n  align-items: center;\\n  justify-content: flex-start;\\n  outline: none;\\n  user-select: none;\\n\"]))),y=s.styled.div(f||(f=o([\"\\n  position: absolute;\\n  top: 16px;\\n  right: 2em;\\n  width: 108px;\\n  display: flex;\\n  flex-wrap: wrap;\\n  flex-direction: column;\\n\"],[\"\\n  position: absolute;\\n  top: 16px;\\n  right: 2em;\\n  width: 108px;\\n  display: flex;\\n  flex-wrap: wrap;\\n  flex-direction: column;\\n\"]))),v=s.styled.div(d||(d=o([\"\\n  color: \",\";\\n  cursor: default;\\n  font-size: 14px;\\n  font-weight: 600;\\n  text-transform: uppercase !important;\\n  font-family: 'Open Sans', sans-serif !important;\\n  letter-spacing: 1px;\\n  user-select: none !important;\\n  padding: 16px;\\n  padding-right: 5px;\\n\"],[\"\\n  color: \",\";\\n  cursor: default;\\n  font-size: 14px;\\n  font-weight: 600;\\n  text-transform: uppercase !important;\\n  font-family: 'Open Sans', sans-serif !important;\\n  letter-spacing: 1px;\\n  user-select: none !important;\\n  padding: 16px;\\n  padding-right: 5px;\\n\"])),(function(e){return x(e).title})),b=s.styled(u.Button)(h||(h=o([\"\\n  flex: 1;\\n  color: \",\";\\n  background: \",\";\\n  height: 32px;\\n  border-radius: 2px;\\n  &:hover {\\n    color: \",\";\\n    background-color: \",\";\\n  }\\n\"],[\"\\n  flex: 1;\\n  color: \",\";\\n  background: \",\";\\n  height: 32px;\\n  border-radius: 2px;\\n  &:hover {\\n    color: \",\";\\n    background-color: \",\";\\n  }\\n\"])),(function(e){return x(e).download.text}),(function(e){return x(e).download.button}),(function(e){return x(e).buttonTextHover}),(function(e){return x(e).buttonHover})),E=s.styled(b)(m||(m=o([\"\\n  text-align: left;\\n  width: 100%;\\n  margin-left: 0px;\\n  border-radius: 0px;\\n  z-index: 2000;\\n  background: \",\";\\n\"],[\"\\n  text-align: left;\\n  width: 100%;\\n  margin-left: 0px;\\n  border-radius: 0px;\\n  z-index: 2000;\\n  background: \",\";\\n\"])),(function(e){return x(e).button})),x=function(e){return\"dark\"===e.theme.mode?{title:\"white\",subtitle:\"#8B959C\",download:{text:e.open?\"#8B959C\":\"white\",button:e.theme.colours.darkBlue},buttonText:\"white\",button:e.theme.colours.darkBlue,buttonHover:\"#2B3C48\",buttonTextHover:\"white\"}:{title:e.theme.colours.darkBlue,subtitle:\"rgba(61, 88, 102, 0.5)\",download:{text:e.open?\"rgba(61, 88, 102, 0.5)\":e.theme.colours.darkBlue,button:\"#f6f6f6\"},buttonText:e.theme.colours.darkBlue,button:\"#f6f6f6\",buttonHover:\"#EDEDED\",buttonTextHover:e.theme.colours.darkBlue}}},function(e,t,n){\"use strict\";(function(e){var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(3),s=n(20),u=n(69),c=n(11),l=n(200),p=function(t){function r(e){var n=t.call(this,e)||this;return n.handleScroll=function(e){return e.doc.scrollTop>0?n.setState({overflowY:!0}):n.setState({overflowY:!1})},n.setRef=function(e){n.node=e},n.state={overflowY:!1},n.cachedValue=e.value||\"\",n.props.getRef&&n.props.getRef(n),n}return i(r,t),r.prototype.componentDidMount=function(){var t=n(16);n(92),n(185),n(190);var r=[];r.push(\"CodeMirror-linenumbers\"),this.editor=t(this.node,{autofocus:!1,value:l.getSDL(this.props.schema,this.props.settings[\"schema.disableComments\"])||\"\",lineNumbers:!1,showCursorWhenSelecting:!1,tabSize:1,mode:\"graphql\",theme:\"graphiql\",keyMap:\"sublime\",readOnly:!0,gutters:r}),e.editor=this.editor,this.editor.on(\"scroll\",this.handleScroll),this.editor.refresh()},r.prototype.componentDidUpdate=function(e){var t=n(16);if((this.props.schema&&s.printSchema(this.props.schema))!==(e.schema&&s.printSchema(e.schema))){var r=this.editor.getScrollInfo();this.cachedValue=l.getSDL(this.props.schema,this.props.settings[\"schema.disableComments\"])||\"\",this.editor.setValue(l.getSDL(this.props.schema,this.props.settings[\"schema.disableComments\"])),this.props.isPollingSchema&&this.editor.scrollTo(r.left,r.top),t.signal(this.editor,\"change\",this.editor)}this.props.width!==e.width&&this.editor.refresh(),this.props.settings[\"schema.disableComments\"]!==e.settings[\"schema.disableComments\"]&&this.editor.refresh()},r.prototype.UNSAFE_componentWillReceiveProps=function(e){this.props.sessionId!==e.sessionId&&this.editor.scrollTo(0,0)},r.prototype.componentWillUnmount=function(){this.editor&&(this.editor.off(\"scroll\"),this.editor=null)},r.prototype.render=function(){var e=this.state.overflowY;return a.createElement(u.default,null,e&&a.createElement(m,null),a.createElement(h,{ref:this.setRef}))},r.prototype.getCodeMirror=function(){return this.editor},r.prototype.getClientHeight=function(){return this.node&&this.node.clientHeight},r}(a.PureComponent);t.default=p;var f,d,h=c.styled.div(f||(f=o([\"\\n  flex: 1;\\n  height: auto;\\n  overflow-x: hidden;\\n  overflow-y: scroll;\\n  .CodeMirror {\\n    background: \",\";\\n    padding-left: 20px;\\n  }\\n\"],[\"\\n  flex: 1;\\n  height: auto;\\n  overflow-x: hidden;\\n  overflow-y: scroll;\\n  .CodeMirror {\\n    background: \",\";\\n    padding-left: 20px;\\n  }\\n\"])),(function(e){return\"dark\"===e.theme.mode?e.theme.editorColours.editorBackground:\"white\"})),m=c.styled.div(d||(d=o([\"\\n  position: fixed;\\n  top: 0;\\n  left: 0;\\n  right: 0;\\n  height: 1px;\\n  box-shadow: 0px 1px 3px rgba(17, 17, 17, 0.1);\\n  z-index: 1000;\\n\"],[\"\\n  position: fixed;\\n  top: 0;\\n  left: 0;\\n  right: 0;\\n  height: 1px;\\n  box-shadow: 0px 1px 3px rgba(17, 17, 17, 0.1);\\n  z-index: 1000;\\n\"])))}).call(this,n(43))},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(3),s=n(60),u=n(30),c=n(198),l=n(416),p=n(206),f=n(74),d=n(129),h=n(68),m=n(470),g=n(89),y=n(75),v=n(32),b=n(28),E=n(199),x=n(11),D=function(e){function t(t){var n=e.call(this,t)||this;return n.setRef=function(e){n.ref=e},n.showDocFromType=function(e){n.props.addStack(n.props.sessionId,e,0,0)},n.handleSearch=function(e){n.setState({searchValue:e})},n.handleKeyDown=function(e){if(!(e.target instanceof HTMLInputElement||e.metaKey||e.shiftKey||e.altKey||e.ctrlKey)){e.preventDefault(),n.props.changeKeyMove(n.props.sessionId,!0);var t=n.props.docs.navStack.length>0&&n.props.docs.navStack[n.props.docs.navStack.length-1],r=n.props.docs.navStack.length>0&&n.props.docs.navStack[n.props.docs.navStack.length-2],i=c(e);switch(i){case\"esc\":n.props.setDocsVisible(n.props.sessionId,!1);break;case\"left\":r&&n.props.addStack(n.props.sessionId,r.field,r.x,r.y);break;case\"right\":if(t){var o=g.serialize(n.props.schema,t.field),a=g.getElement(o,0);a&&n.props.addStack(n.props.sessionId,a,t.x+1,0)}else{o=g.serializeRoot(n.props.schema);(s=g.getElementRoot(o,0))&&n.props.addStack(n.props.sessionId,s,0,0)}break;case\"up\":case\"down\":if(r){o=g.serialize(n.props.schema,r.field);(s=g.getElement(o,\"up\"===i?t.y-1:t.y+1))&&n.props.addStack(n.props.sessionId,s,t.x,\"up\"===i?t.y-1:t.y+1)}else{o=g.serializeRoot(n.props.schema);var s,u=t?t.y:0;(s=g.getElementRoot(o,\"up\"===i?u-1:u+1))&&n.props.addStack(n.props.sessionId,s,0,\"up\"===i?u-1:u+1)}}}},n.state={searchValue:\"\",widthMap:{}},window.d=n,n}return i(t,e),t.prototype.UNSAFE_componentWillReceiveProps=function(e){(this.props.docs.navStack.length!==e.docs.navStack.length||this.props.docs.navStack.slice(-1)[0]!==e.docs.navStack.slice(-1)[0]||!this.props.schema&&e.schema)&&this.setWidth(e)},t.prototype.setWidth=function(e){void 0===e&&(e=this.props),this.props.setWidth(e)},t.prototype.getWidth=function(e){var t=this;void 0===e&&(e=this.props);var n=this.state.widthMap.root||h.columnWidth,r=e.docs.navStack.map((function(e){return t.state.widthMap[e.field.path]||h.columnWidth}));return[n].concat(r).reduce((function(e,t){return e+t}),0)},t.prototype.componentDidMount=function(){this.setWidth()},t.prototype.render=function(){var e,t=this,n=this.props.docs.navStack,r=this.props.schema;return void 0===r?e=a.createElement(d.default,null):null===r&&(e=a.createElement(E.ErrorContainer,null,\"No Schema Available\")),a.createElement(S,{onKeyDown:this.handleKeyDown,tabIndex:0,ref:this.setRef},e&&a.createElement(p.default,null,e),!e&&r&&a.createElement(m.default,{schema:r,width:this.state.widthMap.root||h.columnWidth-1,searchValue:this.state.searchValue,handleSearch:this.handleSearch,sessionId:this.props.sessionId}),n.map((function(e,n){return a.createElement(p.default,{key:n,width:t.state.widthMap[e.field.path]||h.columnWidth},a.createElement(l.default,{schema:r,field:e.field,level:n+1,sessionId:t.props.sessionId}))})))},t}(a.Component),C=b.createStructuredSelector({docs:y.getSessionDocs,sessionId:v.getSelectedSessionIdFromRoot});t.default=u.connect(C,(function(e){return s.bindActionCreators({addStack:f.addStack,toggleDocs:f.toggleDocs,changeWidthDocs:f.changeWidthDocs,changeKeyMove:f.changeKeyMove,setDocsVisible:f.setDocsVisible},e)}),null,{forwardRef:!0})(D);var w,S=x.styled.div(w||(w=o([\"\\n  display: flex;\\n  position: relative;\\n  height: 100%;\\n  width: 100%;\\n  overflow-x: auto;\\n  overflow-y: hidden;\\n  outline: none !important;\\n\"],[\"\\n  display: flex;\\n  position: relative;\\n  height: 100%;\\n  width: 100%;\\n  overflow-x: auto;\\n  overflow-y: hidden;\\n  outline: none !important;\\n\"])))},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(3),s=n(417),u=n(20),c=n(419),l=n(77),p=n(466),f=n(467),d=n(468),h=n(469),m=n(89),g=n(205),y=n(11),v=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={showDeprecated:!1},t.setRef=function(e){t.ref=e},t}return i(t,e),t.prototype.componentDidMount=function(){this.scrollToRight()},t.prototype.shouldComponentUpdate=function(e){return this.props.field!==e.field&&(this.scrollToRight(),!0)},t.prototype.scrollToRight=function(){var e=this.ref,t=e.parentNode&&e.parentNode.parentNode;x(t,t.scrollWidth,50)},t.prototype.render=function(){var e=this,t=this.props,n=t.schema,r=t.field,i=t.level,o=r.type||r,c=m.serialize(n,r);o=m.getDeeperType(o);var y,v=c.fields.length+c.interfaces.length,b=c.fields.length+c.interfaces.length+c.args.length;return y=o instanceof u.GraphQLInterfaceType?\"interface\":o instanceof u.GraphQLUnionType?\"union\":o instanceof u.GraphQLEnumType?\"enum\":\"type\",a.createElement(\"div\",{ref:this.setRef},a.createElement(D,null,a.createElement(l.default,{type:r,x:i,y:-1,clickable:!1,lastActive:!1})),a.createElement(C,{className:\"doc-type-description\",markdown:r.description||\"\"}),a.createElement(g.CategoryTitle,null,y+\" details\"),o.description&&o.description.length>0&&a.createElement(C,{markdown:o.description||\"\"}),o instanceof u.GraphQLScalarType&&a.createElement(f.default,{type:o}),o instanceof u.GraphQLEnumType&&a.createElement(d.default,{type:o}),o instanceof u.GraphQLUnionType&&a.createElement(h.default,{type:o,schema:n,level:i,sessionId:this.props.sessionId}),c.fields&&c.fields.length>0&&a.createElement(p.default,{type:o,fields:c.fields,interfaces:c.interfaces,level:i,sessionId:this.props.sessionId}),c.args&&c.args.length>0&&a.createElement(\"div\",null,a.createElement(g.CategoryTitle,null,\"arguments\"),c.args.map((function(t,n){return a.createElement(\"div\",{key:t.name},a.createElement(\"div\",null,a.createElement(s.default,{arg:t,x:i,y:n+v,sessionId:e.props.sessionId})))}))),c.implementations&&c.implementations.length>0&&a.createElement(\"div\",null,a.createElement(g.CategoryTitle,null,\"implementations\"),c.implementations.map((function(e,t){return a.createElement(l.default,{key:e.name,type:e,x:i,y:t+b,collapsable:!0,lastActive:!1})}))))},t}(a.Component);t.default=v;var b,E,x=function e(t,n,r){if(!(r<=0)){var i=(n-t.scrollLeft)/r*10;setTimeout((function(){t.scrollLeft=t.scrollLeft+i,t.scrollLeft!==n&&e(t,n,r-10)}),10)}},D=y.styled.div(b||(b=o([\"\\n  background: \",\";\\n  padding-top: 20px;\\n  padding-bottom: 10px;\\n\\n  .doc-category-item {\\n    font-size: 14px;\\n    font-weight: 600;\\n    word-wrap: break-word;\\n  }\\n  .doc-category-item .field-name {\\n    color: #f25c54;\\n  }\\n  div {\\n    background: transparent;\\n    pointer-events: none;\\n  }\\n\"],[\"\\n  background: \",\";\\n  padding-top: 20px;\\n  padding-bottom: 10px;\\n\\n  .doc-category-item {\\n    font-size: 14px;\\n    font-weight: 600;\\n    word-wrap: break-word;\\n  }\\n  .doc-category-item .field-name {\\n    color: #f25c54;\\n  }\\n  div {\\n    background: transparent;\\n    pointer-events: none;\\n  }\\n\"])),(function(e){return e.theme.colours.black02})),C=y.styled(c.default)(E||(E=o([\"\\n  font-size: 14px;\\n  padding: 0 16px 20px 16px;\\n  color: rgba(0, 0, 0, 0.5);\\n\"],[\"\\n  font-size: 14px;\\n  padding: 0 16px 20px 16px;\\n  color: rgba(0, 0, 0, 0.5);\\n\"])))},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(3),i=n(20),o=n(77);t.default=function(e){var t=e.arg,n=e.showDefaultValue,a=e.x,s=e.y;return r.createElement(\"span\",null,r.createElement(o.default,{type:t,x:a,y:s,lastActive:!1,afterNode:void 0!==t.defaultValue&&!1!==n&&r.createElement(\"span\",null,\" = \",r.createElement(\"span\",{className:\"arg-default-value\"},i.print(i.astFromValue(t.defaultValue,t.type))))}))}},function(e,t,n){\"use strict\";var r=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(3),o=n(20),a=n(11);t.default=function(e){var t=e.arg,n=e.showDefaultValue;return i.createElement(u,null,i.createElement(\"span\",{className:\"arg-name\"},t.name),\": \",i.createElement(\"span\",{className:\"type-name\"},function e(t){if(t instanceof o.GraphQLNonNull)return i.createElement(\"span\",null,e(t.ofType),\"!\");if(t instanceof o.GraphQLList)return i.createElement(\"span\",null,\"[\",e(t.ofType),\"]\");return i.createElement(\"span\",null,t.name)}(t.type)),void 0!==t.defaultValue&&!1!==n&&i.createElement(\"span\",null,\" = \",i.createElement(\"span\",{className:\"arg-default-value\"},o.print(o.astFromValue(t.defaultValue,t.type)))))};var s,u=a.styled.div(s||(s=r([\"\\n  margin-left: 16px;\\n\"],[\"\\n  margin-left: 16px;\\n\"])))},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var r=o(n(3)),i=o(n(7));function o(e){return e&&e.__esModule?e:{default:e}}const a=new(o(n(420)).default);class s extends r.default.Component{shouldComponentUpdate(e){return this.props.markdown!==e.markdown}render(){const e=this.props.markdown;return e?r.default.createElement(\"div\",{className:this.props.className,dangerouslySetInnerHTML:{__html:a.render(e)}}):r.default.createElement(\"div\",null)}}var u,c,l;t.default=s,u=s,c=\"propTypes\",l={markdown:i.default.string,className:i.default.string},c in u?Object.defineProperty(u,c,{value:l,enumerable:!0,configurable:!0,writable:!0}):u[c]=l},function(e,t,n){\"use strict\";e.exports=n(421)},function(e,t,n){\"use strict\";var r=n(23),i=n(423),o=n(427),a=n(428),s=n(436),u=n(450),c=n(178),l=n(105),p=n(179),f={default:n(463),zero:n(464),commonmark:n(465)},d=/^(vbscript|javascript|file|data):/,h=/^data:image\\/(gif|png|jpeg|webp);/;function m(e){var t=e.trim().toLowerCase();return!d.test(t)||!!h.test(t)}var g=[\"http:\",\"https:\",\"mailto:\"];function y(e){var t=l.parse(e,!0);if(t.hostname&&(!t.protocol||g.indexOf(t.protocol)>=0))try{t.hostname=p.toASCII(t.hostname)}catch(e){}return l.encode(l.format(t))}function v(e){var t=l.parse(e,!0);if(t.hostname&&(!t.protocol||g.indexOf(t.protocol)>=0))try{t.hostname=p.toUnicode(t.hostname)}catch(e){}return l.decode(l.format(t))}function b(e,t){if(!(this instanceof b))return new b(e,t);t||r.isString(e)||(t=e||{},e=\"default\"),this.inline=new u,this.block=new s,this.core=new a,this.renderer=new o,this.linkify=new c,this.validateLink=m,this.normalizeLink=y,this.normalizeLinkText=v,this.utils=r,this.helpers=r.assign({},i),this.options={},this.configure(e),t&&this.set(t)}b.prototype.set=function(e){return r.assign(this.options,e),this},b.prototype.configure=function(e){var t,n=this;if(r.isString(e)&&!(e=f[t=e]))throw new Error('Wrong `markdown-it` preset \"'+t+'\", check name');if(!e)throw new Error(\"Wrong `markdown-it` preset, can't be empty\");return e.options&&n.set(e.options),e.components&&Object.keys(e.components).forEach((function(t){e.components[t].rules&&n[t].ruler.enableOnly(e.components[t].rules),e.components[t].rules2&&n[t].ruler2.enableOnly(e.components[t].rules2)})),this},b.prototype.enable=function(e,t){var n=[];Array.isArray(e)||(e=[e]),[\"core\",\"block\",\"inline\"].forEach((function(t){n=n.concat(this[t].ruler.enable(e,!0))}),this),n=n.concat(this.inline.ruler2.enable(e,!0));var r=e.filter((function(e){return n.indexOf(e)<0}));if(r.length&&!t)throw new Error(\"MarkdownIt. Failed to enable unknown rule(s): \"+r);return this},b.prototype.disable=function(e,t){var n=[];Array.isArray(e)||(e=[e]),[\"core\",\"block\",\"inline\"].forEach((function(t){n=n.concat(this[t].ruler.disable(e,!0))}),this),n=n.concat(this.inline.ruler2.disable(e,!0));var r=e.filter((function(e){return n.indexOf(e)<0}));if(r.length&&!t)throw new Error(\"MarkdownIt. Failed to disable unknown rule(s): \"+r);return this},b.prototype.use=function(e){var t=[this].concat(Array.prototype.slice.call(arguments,1));return e.apply(e,t),this},b.prototype.parse=function(e,t){if(\"string\"!=typeof e)throw new Error(\"Input data should be a String\");var n=new this.core.State(e,this,t);return this.core.process(n),n.tokens},b.prototype.render=function(e,t){return t=t||{},this.renderer.render(this.parse(e,t),this.options,t)},b.prototype.parseInline=function(e,t){var n=new this.core.State(e,this,t);return n.inlineMode=!0,this.core.process(n),n.tokens},b.prototype.renderInline=function(e,t){return t=t||{},this.renderer.render(this.parseInline(e,t),this.options,t)},e.exports=b},function(e){e.exports=JSON.parse('{\"Aacute\":\"Á\",\"aacute\":\"á\",\"Abreve\":\"Ă\",\"abreve\":\"ă\",\"ac\":\"∾\",\"acd\":\"∿\",\"acE\":\"∾̳\",\"Acirc\":\"Â\",\"acirc\":\"â\",\"acute\":\"´\",\"Acy\":\"А\",\"acy\":\"а\",\"AElig\":\"Æ\",\"aelig\":\"æ\",\"af\":\"⁡\",\"Afr\":\"𝔄\",\"afr\":\"𝔞\",\"Agrave\":\"À\",\"agrave\":\"à\",\"alefsym\":\"ℵ\",\"aleph\":\"ℵ\",\"Alpha\":\"Α\",\"alpha\":\"α\",\"Amacr\":\"Ā\",\"amacr\":\"ā\",\"amalg\":\"⨿\",\"amp\":\"&\",\"AMP\":\"&\",\"andand\":\"⩕\",\"And\":\"⩓\",\"and\":\"∧\",\"andd\":\"⩜\",\"andslope\":\"⩘\",\"andv\":\"⩚\",\"ang\":\"∠\",\"ange\":\"⦤\",\"angle\":\"∠\",\"angmsdaa\":\"⦨\",\"angmsdab\":\"⦩\",\"angmsdac\":\"⦪\",\"angmsdad\":\"⦫\",\"angmsdae\":\"⦬\",\"angmsdaf\":\"⦭\",\"angmsdag\":\"⦮\",\"angmsdah\":\"⦯\",\"angmsd\":\"∡\",\"angrt\":\"∟\",\"angrtvb\":\"⊾\",\"angrtvbd\":\"⦝\",\"angsph\":\"∢\",\"angst\":\"Å\",\"angzarr\":\"⍼\",\"Aogon\":\"Ą\",\"aogon\":\"ą\",\"Aopf\":\"𝔸\",\"aopf\":\"𝕒\",\"apacir\":\"⩯\",\"ap\":\"≈\",\"apE\":\"⩰\",\"ape\":\"≊\",\"apid\":\"≋\",\"apos\":\"\\'\",\"ApplyFunction\":\"⁡\",\"approx\":\"≈\",\"approxeq\":\"≊\",\"Aring\":\"Å\",\"aring\":\"å\",\"Ascr\":\"𝒜\",\"ascr\":\"𝒶\",\"Assign\":\"≔\",\"ast\":\"*\",\"asymp\":\"≈\",\"asympeq\":\"≍\",\"Atilde\":\"Ã\",\"atilde\":\"ã\",\"Auml\":\"Ä\",\"auml\":\"ä\",\"awconint\":\"∳\",\"awint\":\"⨑\",\"backcong\":\"≌\",\"backepsilon\":\"϶\",\"backprime\":\"‵\",\"backsim\":\"∽\",\"backsimeq\":\"⋍\",\"Backslash\":\"∖\",\"Barv\":\"⫧\",\"barvee\":\"⊽\",\"barwed\":\"⌅\",\"Barwed\":\"⌆\",\"barwedge\":\"⌅\",\"bbrk\":\"⎵\",\"bbrktbrk\":\"⎶\",\"bcong\":\"≌\",\"Bcy\":\"Б\",\"bcy\":\"б\",\"bdquo\":\"„\",\"becaus\":\"∵\",\"because\":\"∵\",\"Because\":\"∵\",\"bemptyv\":\"⦰\",\"bepsi\":\"϶\",\"bernou\":\"ℬ\",\"Bernoullis\":\"ℬ\",\"Beta\":\"Β\",\"beta\":\"β\",\"beth\":\"ℶ\",\"between\":\"≬\",\"Bfr\":\"𝔅\",\"bfr\":\"𝔟\",\"bigcap\":\"⋂\",\"bigcirc\":\"◯\",\"bigcup\":\"⋃\",\"bigodot\":\"⨀\",\"bigoplus\":\"⨁\",\"bigotimes\":\"⨂\",\"bigsqcup\":\"⨆\",\"bigstar\":\"★\",\"bigtriangledown\":\"▽\",\"bigtriangleup\":\"△\",\"biguplus\":\"⨄\",\"bigvee\":\"⋁\",\"bigwedge\":\"⋀\",\"bkarow\":\"⤍\",\"blacklozenge\":\"⧫\",\"blacksquare\":\"▪\",\"blacktriangle\":\"▴\",\"blacktriangledown\":\"▾\",\"blacktriangleleft\":\"◂\",\"blacktriangleright\":\"▸\",\"blank\":\"␣\",\"blk12\":\"▒\",\"blk14\":\"░\",\"blk34\":\"▓\",\"block\":\"█\",\"bne\":\"=⃥\",\"bnequiv\":\"≡⃥\",\"bNot\":\"⫭\",\"bnot\":\"⌐\",\"Bopf\":\"𝔹\",\"bopf\":\"𝕓\",\"bot\":\"⊥\",\"bottom\":\"⊥\",\"bowtie\":\"⋈\",\"boxbox\":\"⧉\",\"boxdl\":\"┐\",\"boxdL\":\"╕\",\"boxDl\":\"╖\",\"boxDL\":\"╗\",\"boxdr\":\"┌\",\"boxdR\":\"╒\",\"boxDr\":\"╓\",\"boxDR\":\"╔\",\"boxh\":\"─\",\"boxH\":\"═\",\"boxhd\":\"┬\",\"boxHd\":\"╤\",\"boxhD\":\"╥\",\"boxHD\":\"╦\",\"boxhu\":\"┴\",\"boxHu\":\"╧\",\"boxhU\":\"╨\",\"boxHU\":\"╩\",\"boxminus\":\"⊟\",\"boxplus\":\"⊞\",\"boxtimes\":\"⊠\",\"boxul\":\"┘\",\"boxuL\":\"╛\",\"boxUl\":\"╜\",\"boxUL\":\"╝\",\"boxur\":\"└\",\"boxuR\":\"╘\",\"boxUr\":\"╙\",\"boxUR\":\"╚\",\"boxv\":\"│\",\"boxV\":\"║\",\"boxvh\":\"┼\",\"boxvH\":\"╪\",\"boxVh\":\"╫\",\"boxVH\":\"╬\",\"boxvl\":\"┤\",\"boxvL\":\"╡\",\"boxVl\":\"╢\",\"boxVL\":\"╣\",\"boxvr\":\"├\",\"boxvR\":\"╞\",\"boxVr\":\"╟\",\"boxVR\":\"╠\",\"bprime\":\"‵\",\"breve\":\"˘\",\"Breve\":\"˘\",\"brvbar\":\"¦\",\"bscr\":\"𝒷\",\"Bscr\":\"ℬ\",\"bsemi\":\"⁏\",\"bsim\":\"∽\",\"bsime\":\"⋍\",\"bsolb\":\"⧅\",\"bsol\":\"\\\\\\\\\",\"bsolhsub\":\"⟈\",\"bull\":\"•\",\"bullet\":\"•\",\"bump\":\"≎\",\"bumpE\":\"⪮\",\"bumpe\":\"≏\",\"Bumpeq\":\"≎\",\"bumpeq\":\"≏\",\"Cacute\":\"Ć\",\"cacute\":\"ć\",\"capand\":\"⩄\",\"capbrcup\":\"⩉\",\"capcap\":\"⩋\",\"cap\":\"∩\",\"Cap\":\"⋒\",\"capcup\":\"⩇\",\"capdot\":\"⩀\",\"CapitalDifferentialD\":\"ⅅ\",\"caps\":\"∩︀\",\"caret\":\"⁁\",\"caron\":\"ˇ\",\"Cayleys\":\"ℭ\",\"ccaps\":\"⩍\",\"Ccaron\":\"Č\",\"ccaron\":\"č\",\"Ccedil\":\"Ç\",\"ccedil\":\"ç\",\"Ccirc\":\"Ĉ\",\"ccirc\":\"ĉ\",\"Cconint\":\"∰\",\"ccups\":\"⩌\",\"ccupssm\":\"⩐\",\"Cdot\":\"Ċ\",\"cdot\":\"ċ\",\"cedil\":\"¸\",\"Cedilla\":\"¸\",\"cemptyv\":\"⦲\",\"cent\":\"¢\",\"centerdot\":\"·\",\"CenterDot\":\"·\",\"cfr\":\"𝔠\",\"Cfr\":\"ℭ\",\"CHcy\":\"Ч\",\"chcy\":\"ч\",\"check\":\"✓\",\"checkmark\":\"✓\",\"Chi\":\"Χ\",\"chi\":\"χ\",\"circ\":\"ˆ\",\"circeq\":\"≗\",\"circlearrowleft\":\"↺\",\"circlearrowright\":\"↻\",\"circledast\":\"⊛\",\"circledcirc\":\"⊚\",\"circleddash\":\"⊝\",\"CircleDot\":\"⊙\",\"circledR\":\"®\",\"circledS\":\"Ⓢ\",\"CircleMinus\":\"⊖\",\"CirclePlus\":\"⊕\",\"CircleTimes\":\"⊗\",\"cir\":\"○\",\"cirE\":\"⧃\",\"cire\":\"≗\",\"cirfnint\":\"⨐\",\"cirmid\":\"⫯\",\"cirscir\":\"⧂\",\"ClockwiseContourIntegral\":\"∲\",\"CloseCurlyDoubleQuote\":\"”\",\"CloseCurlyQuote\":\"’\",\"clubs\":\"♣\",\"clubsuit\":\"♣\",\"colon\":\":\",\"Colon\":\"∷\",\"Colone\":\"⩴\",\"colone\":\"≔\",\"coloneq\":\"≔\",\"comma\":\",\",\"commat\":\"@\",\"comp\":\"∁\",\"compfn\":\"∘\",\"complement\":\"∁\",\"complexes\":\"ℂ\",\"cong\":\"≅\",\"congdot\":\"⩭\",\"Congruent\":\"≡\",\"conint\":\"∮\",\"Conint\":\"∯\",\"ContourIntegral\":\"∮\",\"copf\":\"𝕔\",\"Copf\":\"ℂ\",\"coprod\":\"∐\",\"Coproduct\":\"∐\",\"copy\":\"©\",\"COPY\":\"©\",\"copysr\":\"℗\",\"CounterClockwiseContourIntegral\":\"∳\",\"crarr\":\"↵\",\"cross\":\"✗\",\"Cross\":\"⨯\",\"Cscr\":\"𝒞\",\"cscr\":\"𝒸\",\"csub\":\"⫏\",\"csube\":\"⫑\",\"csup\":\"⫐\",\"csupe\":\"⫒\",\"ctdot\":\"⋯\",\"cudarrl\":\"⤸\",\"cudarrr\":\"⤵\",\"cuepr\":\"⋞\",\"cuesc\":\"⋟\",\"cularr\":\"↶\",\"cularrp\":\"⤽\",\"cupbrcap\":\"⩈\",\"cupcap\":\"⩆\",\"CupCap\":\"≍\",\"cup\":\"∪\",\"Cup\":\"⋓\",\"cupcup\":\"⩊\",\"cupdot\":\"⊍\",\"cupor\":\"⩅\",\"cups\":\"∪︀\",\"curarr\":\"↷\",\"curarrm\":\"⤼\",\"curlyeqprec\":\"⋞\",\"curlyeqsucc\":\"⋟\",\"curlyvee\":\"⋎\",\"curlywedge\":\"⋏\",\"curren\":\"¤\",\"curvearrowleft\":\"↶\",\"curvearrowright\":\"↷\",\"cuvee\":\"⋎\",\"cuwed\":\"⋏\",\"cwconint\":\"∲\",\"cwint\":\"∱\",\"cylcty\":\"⌭\",\"dagger\":\"†\",\"Dagger\":\"‡\",\"daleth\":\"ℸ\",\"darr\":\"↓\",\"Darr\":\"↡\",\"dArr\":\"⇓\",\"dash\":\"‐\",\"Dashv\":\"⫤\",\"dashv\":\"⊣\",\"dbkarow\":\"⤏\",\"dblac\":\"˝\",\"Dcaron\":\"Ď\",\"dcaron\":\"ď\",\"Dcy\":\"Д\",\"dcy\":\"д\",\"ddagger\":\"‡\",\"ddarr\":\"⇊\",\"DD\":\"ⅅ\",\"dd\":\"ⅆ\",\"DDotrahd\":\"⤑\",\"ddotseq\":\"⩷\",\"deg\":\"°\",\"Del\":\"∇\",\"Delta\":\"Δ\",\"delta\":\"δ\",\"demptyv\":\"⦱\",\"dfisht\":\"⥿\",\"Dfr\":\"𝔇\",\"dfr\":\"𝔡\",\"dHar\":\"⥥\",\"dharl\":\"⇃\",\"dharr\":\"⇂\",\"DiacriticalAcute\":\"´\",\"DiacriticalDot\":\"˙\",\"DiacriticalDoubleAcute\":\"˝\",\"DiacriticalGrave\":\"`\",\"DiacriticalTilde\":\"˜\",\"diam\":\"⋄\",\"diamond\":\"⋄\",\"Diamond\":\"⋄\",\"diamondsuit\":\"♦\",\"diams\":\"♦\",\"die\":\"¨\",\"DifferentialD\":\"ⅆ\",\"digamma\":\"ϝ\",\"disin\":\"⋲\",\"div\":\"÷\",\"divide\":\"÷\",\"divideontimes\":\"⋇\",\"divonx\":\"⋇\",\"DJcy\":\"Ђ\",\"djcy\":\"ђ\",\"dlcorn\":\"⌞\",\"dlcrop\":\"⌍\",\"dollar\":\"$\",\"Dopf\":\"𝔻\",\"dopf\":\"𝕕\",\"Dot\":\"¨\",\"dot\":\"˙\",\"DotDot\":\"⃜\",\"doteq\":\"≐\",\"doteqdot\":\"≑\",\"DotEqual\":\"≐\",\"dotminus\":\"∸\",\"dotplus\":\"∔\",\"dotsquare\":\"⊡\",\"doublebarwedge\":\"⌆\",\"DoubleContourIntegral\":\"∯\",\"DoubleDot\":\"¨\",\"DoubleDownArrow\":\"⇓\",\"DoubleLeftArrow\":\"⇐\",\"DoubleLeftRightArrow\":\"⇔\",\"DoubleLeftTee\":\"⫤\",\"DoubleLongLeftArrow\":\"⟸\",\"DoubleLongLeftRightArrow\":\"⟺\",\"DoubleLongRightArrow\":\"⟹\",\"DoubleRightArrow\":\"⇒\",\"DoubleRightTee\":\"⊨\",\"DoubleUpArrow\":\"⇑\",\"DoubleUpDownArrow\":\"⇕\",\"DoubleVerticalBar\":\"∥\",\"DownArrowBar\":\"⤓\",\"downarrow\":\"↓\",\"DownArrow\":\"↓\",\"Downarrow\":\"⇓\",\"DownArrowUpArrow\":\"⇵\",\"DownBreve\":\"̑\",\"downdownarrows\":\"⇊\",\"downharpoonleft\":\"⇃\",\"downharpoonright\":\"⇂\",\"DownLeftRightVector\":\"⥐\",\"DownLeftTeeVector\":\"⥞\",\"DownLeftVectorBar\":\"⥖\",\"DownLeftVector\":\"↽\",\"DownRightTeeVector\":\"⥟\",\"DownRightVectorBar\":\"⥗\",\"DownRightVector\":\"⇁\",\"DownTeeArrow\":\"↧\",\"DownTee\":\"⊤\",\"drbkarow\":\"⤐\",\"drcorn\":\"⌟\",\"drcrop\":\"⌌\",\"Dscr\":\"𝒟\",\"dscr\":\"𝒹\",\"DScy\":\"Ѕ\",\"dscy\":\"ѕ\",\"dsol\":\"⧶\",\"Dstrok\":\"Đ\",\"dstrok\":\"đ\",\"dtdot\":\"⋱\",\"dtri\":\"▿\",\"dtrif\":\"▾\",\"duarr\":\"⇵\",\"duhar\":\"⥯\",\"dwangle\":\"⦦\",\"DZcy\":\"Џ\",\"dzcy\":\"џ\",\"dzigrarr\":\"⟿\",\"Eacute\":\"É\",\"eacute\":\"é\",\"easter\":\"⩮\",\"Ecaron\":\"Ě\",\"ecaron\":\"ě\",\"Ecirc\":\"Ê\",\"ecirc\":\"ê\",\"ecir\":\"≖\",\"ecolon\":\"≕\",\"Ecy\":\"Э\",\"ecy\":\"э\",\"eDDot\":\"⩷\",\"Edot\":\"Ė\",\"edot\":\"ė\",\"eDot\":\"≑\",\"ee\":\"ⅇ\",\"efDot\":\"≒\",\"Efr\":\"𝔈\",\"efr\":\"𝔢\",\"eg\":\"⪚\",\"Egrave\":\"È\",\"egrave\":\"è\",\"egs\":\"⪖\",\"egsdot\":\"⪘\",\"el\":\"⪙\",\"Element\":\"∈\",\"elinters\":\"⏧\",\"ell\":\"ℓ\",\"els\":\"⪕\",\"elsdot\":\"⪗\",\"Emacr\":\"Ē\",\"emacr\":\"ē\",\"empty\":\"∅\",\"emptyset\":\"∅\",\"EmptySmallSquare\":\"◻\",\"emptyv\":\"∅\",\"EmptyVerySmallSquare\":\"▫\",\"emsp13\":\" \",\"emsp14\":\" \",\"emsp\":\" \",\"ENG\":\"Ŋ\",\"eng\":\"ŋ\",\"ensp\":\" \",\"Eogon\":\"Ę\",\"eogon\":\"ę\",\"Eopf\":\"𝔼\",\"eopf\":\"𝕖\",\"epar\":\"⋕\",\"eparsl\":\"⧣\",\"eplus\":\"⩱\",\"epsi\":\"ε\",\"Epsilon\":\"Ε\",\"epsilon\":\"ε\",\"epsiv\":\"ϵ\",\"eqcirc\":\"≖\",\"eqcolon\":\"≕\",\"eqsim\":\"≂\",\"eqslantgtr\":\"⪖\",\"eqslantless\":\"⪕\",\"Equal\":\"⩵\",\"equals\":\"=\",\"EqualTilde\":\"≂\",\"equest\":\"≟\",\"Equilibrium\":\"⇌\",\"equiv\":\"≡\",\"equivDD\":\"⩸\",\"eqvparsl\":\"⧥\",\"erarr\":\"⥱\",\"erDot\":\"≓\",\"escr\":\"ℯ\",\"Escr\":\"ℰ\",\"esdot\":\"≐\",\"Esim\":\"⩳\",\"esim\":\"≂\",\"Eta\":\"Η\",\"eta\":\"η\",\"ETH\":\"Ð\",\"eth\":\"ð\",\"Euml\":\"Ë\",\"euml\":\"ë\",\"euro\":\"€\",\"excl\":\"!\",\"exist\":\"∃\",\"Exists\":\"∃\",\"expectation\":\"ℰ\",\"exponentiale\":\"ⅇ\",\"ExponentialE\":\"ⅇ\",\"fallingdotseq\":\"≒\",\"Fcy\":\"Ф\",\"fcy\":\"ф\",\"female\":\"♀\",\"ffilig\":\"ﬃ\",\"fflig\":\"ﬀ\",\"ffllig\":\"ﬄ\",\"Ffr\":\"𝔉\",\"ffr\":\"𝔣\",\"filig\":\"ﬁ\",\"FilledSmallSquare\":\"◼\",\"FilledVerySmallSquare\":\"▪\",\"fjlig\":\"fj\",\"flat\":\"♭\",\"fllig\":\"ﬂ\",\"fltns\":\"▱\",\"fnof\":\"ƒ\",\"Fopf\":\"𝔽\",\"fopf\":\"𝕗\",\"forall\":\"∀\",\"ForAll\":\"∀\",\"fork\":\"⋔\",\"forkv\":\"⫙\",\"Fouriertrf\":\"ℱ\",\"fpartint\":\"⨍\",\"frac12\":\"½\",\"frac13\":\"⅓\",\"frac14\":\"¼\",\"frac15\":\"⅕\",\"frac16\":\"⅙\",\"frac18\":\"⅛\",\"frac23\":\"⅔\",\"frac25\":\"⅖\",\"frac34\":\"¾\",\"frac35\":\"⅗\",\"frac38\":\"⅜\",\"frac45\":\"⅘\",\"frac56\":\"⅚\",\"frac58\":\"⅝\",\"frac78\":\"⅞\",\"frasl\":\"⁄\",\"frown\":\"⌢\",\"fscr\":\"𝒻\",\"Fscr\":\"ℱ\",\"gacute\":\"ǵ\",\"Gamma\":\"Γ\",\"gamma\":\"γ\",\"Gammad\":\"Ϝ\",\"gammad\":\"ϝ\",\"gap\":\"⪆\",\"Gbreve\":\"Ğ\",\"gbreve\":\"ğ\",\"Gcedil\":\"Ģ\",\"Gcirc\":\"Ĝ\",\"gcirc\":\"ĝ\",\"Gcy\":\"Г\",\"gcy\":\"г\",\"Gdot\":\"Ġ\",\"gdot\":\"ġ\",\"ge\":\"≥\",\"gE\":\"≧\",\"gEl\":\"⪌\",\"gel\":\"⋛\",\"geq\":\"≥\",\"geqq\":\"≧\",\"geqslant\":\"⩾\",\"gescc\":\"⪩\",\"ges\":\"⩾\",\"gesdot\":\"⪀\",\"gesdoto\":\"⪂\",\"gesdotol\":\"⪄\",\"gesl\":\"⋛︀\",\"gesles\":\"⪔\",\"Gfr\":\"𝔊\",\"gfr\":\"𝔤\",\"gg\":\"≫\",\"Gg\":\"⋙\",\"ggg\":\"⋙\",\"gimel\":\"ℷ\",\"GJcy\":\"Ѓ\",\"gjcy\":\"ѓ\",\"gla\":\"⪥\",\"gl\":\"≷\",\"glE\":\"⪒\",\"glj\":\"⪤\",\"gnap\":\"⪊\",\"gnapprox\":\"⪊\",\"gne\":\"⪈\",\"gnE\":\"≩\",\"gneq\":\"⪈\",\"gneqq\":\"≩\",\"gnsim\":\"⋧\",\"Gopf\":\"𝔾\",\"gopf\":\"𝕘\",\"grave\":\"`\",\"GreaterEqual\":\"≥\",\"GreaterEqualLess\":\"⋛\",\"GreaterFullEqual\":\"≧\",\"GreaterGreater\":\"⪢\",\"GreaterLess\":\"≷\",\"GreaterSlantEqual\":\"⩾\",\"GreaterTilde\":\"≳\",\"Gscr\":\"𝒢\",\"gscr\":\"ℊ\",\"gsim\":\"≳\",\"gsime\":\"⪎\",\"gsiml\":\"⪐\",\"gtcc\":\"⪧\",\"gtcir\":\"⩺\",\"gt\":\">\",\"GT\":\">\",\"Gt\":\"≫\",\"gtdot\":\"⋗\",\"gtlPar\":\"⦕\",\"gtquest\":\"⩼\",\"gtrapprox\":\"⪆\",\"gtrarr\":\"⥸\",\"gtrdot\":\"⋗\",\"gtreqless\":\"⋛\",\"gtreqqless\":\"⪌\",\"gtrless\":\"≷\",\"gtrsim\":\"≳\",\"gvertneqq\":\"≩︀\",\"gvnE\":\"≩︀\",\"Hacek\":\"ˇ\",\"hairsp\":\" \",\"half\":\"½\",\"hamilt\":\"ℋ\",\"HARDcy\":\"Ъ\",\"hardcy\":\"ъ\",\"harrcir\":\"⥈\",\"harr\":\"↔\",\"hArr\":\"⇔\",\"harrw\":\"↭\",\"Hat\":\"^\",\"hbar\":\"ℏ\",\"Hcirc\":\"Ĥ\",\"hcirc\":\"ĥ\",\"hearts\":\"♥\",\"heartsuit\":\"♥\",\"hellip\":\"…\",\"hercon\":\"⊹\",\"hfr\":\"𝔥\",\"Hfr\":\"ℌ\",\"HilbertSpace\":\"ℋ\",\"hksearow\":\"⤥\",\"hkswarow\":\"⤦\",\"hoarr\":\"⇿\",\"homtht\":\"∻\",\"hookleftarrow\":\"↩\",\"hookrightarrow\":\"↪\",\"hopf\":\"𝕙\",\"Hopf\":\"ℍ\",\"horbar\":\"―\",\"HorizontalLine\":\"─\",\"hscr\":\"𝒽\",\"Hscr\":\"ℋ\",\"hslash\":\"ℏ\",\"Hstrok\":\"Ħ\",\"hstrok\":\"ħ\",\"HumpDownHump\":\"≎\",\"HumpEqual\":\"≏\",\"hybull\":\"⁃\",\"hyphen\":\"‐\",\"Iacute\":\"Í\",\"iacute\":\"í\",\"ic\":\"⁣\",\"Icirc\":\"Î\",\"icirc\":\"î\",\"Icy\":\"И\",\"icy\":\"и\",\"Idot\":\"İ\",\"IEcy\":\"Е\",\"iecy\":\"е\",\"iexcl\":\"¡\",\"iff\":\"⇔\",\"ifr\":\"𝔦\",\"Ifr\":\"ℑ\",\"Igrave\":\"Ì\",\"igrave\":\"ì\",\"ii\":\"ⅈ\",\"iiiint\":\"⨌\",\"iiint\":\"∭\",\"iinfin\":\"⧜\",\"iiota\":\"℩\",\"IJlig\":\"Ĳ\",\"ijlig\":\"ĳ\",\"Imacr\":\"Ī\",\"imacr\":\"ī\",\"image\":\"ℑ\",\"ImaginaryI\":\"ⅈ\",\"imagline\":\"ℐ\",\"imagpart\":\"ℑ\",\"imath\":\"ı\",\"Im\":\"ℑ\",\"imof\":\"⊷\",\"imped\":\"Ƶ\",\"Implies\":\"⇒\",\"incare\":\"℅\",\"in\":\"∈\",\"infin\":\"∞\",\"infintie\":\"⧝\",\"inodot\":\"ı\",\"intcal\":\"⊺\",\"int\":\"∫\",\"Int\":\"∬\",\"integers\":\"ℤ\",\"Integral\":\"∫\",\"intercal\":\"⊺\",\"Intersection\":\"⋂\",\"intlarhk\":\"⨗\",\"intprod\":\"⨼\",\"InvisibleComma\":\"⁣\",\"InvisibleTimes\":\"⁢\",\"IOcy\":\"Ё\",\"iocy\":\"ё\",\"Iogon\":\"Į\",\"iogon\":\"į\",\"Iopf\":\"𝕀\",\"iopf\":\"𝕚\",\"Iota\":\"Ι\",\"iota\":\"ι\",\"iprod\":\"⨼\",\"iquest\":\"¿\",\"iscr\":\"𝒾\",\"Iscr\":\"ℐ\",\"isin\":\"∈\",\"isindot\":\"⋵\",\"isinE\":\"⋹\",\"isins\":\"⋴\",\"isinsv\":\"⋳\",\"isinv\":\"∈\",\"it\":\"⁢\",\"Itilde\":\"Ĩ\",\"itilde\":\"ĩ\",\"Iukcy\":\"І\",\"iukcy\":\"і\",\"Iuml\":\"Ï\",\"iuml\":\"ï\",\"Jcirc\":\"Ĵ\",\"jcirc\":\"ĵ\",\"Jcy\":\"Й\",\"jcy\":\"й\",\"Jfr\":\"𝔍\",\"jfr\":\"𝔧\",\"jmath\":\"ȷ\",\"Jopf\":\"𝕁\",\"jopf\":\"𝕛\",\"Jscr\":\"𝒥\",\"jscr\":\"𝒿\",\"Jsercy\":\"Ј\",\"jsercy\":\"ј\",\"Jukcy\":\"Є\",\"jukcy\":\"є\",\"Kappa\":\"Κ\",\"kappa\":\"κ\",\"kappav\":\"ϰ\",\"Kcedil\":\"Ķ\",\"kcedil\":\"ķ\",\"Kcy\":\"К\",\"kcy\":\"к\",\"Kfr\":\"𝔎\",\"kfr\":\"𝔨\",\"kgreen\":\"ĸ\",\"KHcy\":\"Х\",\"khcy\":\"х\",\"KJcy\":\"Ќ\",\"kjcy\":\"ќ\",\"Kopf\":\"𝕂\",\"kopf\":\"𝕜\",\"Kscr\":\"𝒦\",\"kscr\":\"𝓀\",\"lAarr\":\"⇚\",\"Lacute\":\"Ĺ\",\"lacute\":\"ĺ\",\"laemptyv\":\"⦴\",\"lagran\":\"ℒ\",\"Lambda\":\"Λ\",\"lambda\":\"λ\",\"lang\":\"⟨\",\"Lang\":\"⟪\",\"langd\":\"⦑\",\"langle\":\"⟨\",\"lap\":\"⪅\",\"Laplacetrf\":\"ℒ\",\"laquo\":\"«\",\"larrb\":\"⇤\",\"larrbfs\":\"⤟\",\"larr\":\"←\",\"Larr\":\"↞\",\"lArr\":\"⇐\",\"larrfs\":\"⤝\",\"larrhk\":\"↩\",\"larrlp\":\"↫\",\"larrpl\":\"⤹\",\"larrsim\":\"⥳\",\"larrtl\":\"↢\",\"latail\":\"⤙\",\"lAtail\":\"⤛\",\"lat\":\"⪫\",\"late\":\"⪭\",\"lates\":\"⪭︀\",\"lbarr\":\"⤌\",\"lBarr\":\"⤎\",\"lbbrk\":\"❲\",\"lbrace\":\"{\",\"lbrack\":\"[\",\"lbrke\":\"⦋\",\"lbrksld\":\"⦏\",\"lbrkslu\":\"⦍\",\"Lcaron\":\"Ľ\",\"lcaron\":\"ľ\",\"Lcedil\":\"Ļ\",\"lcedil\":\"ļ\",\"lceil\":\"⌈\",\"lcub\":\"{\",\"Lcy\":\"Л\",\"lcy\":\"л\",\"ldca\":\"⤶\",\"ldquo\":\"“\",\"ldquor\":\"„\",\"ldrdhar\":\"⥧\",\"ldrushar\":\"⥋\",\"ldsh\":\"↲\",\"le\":\"≤\",\"lE\":\"≦\",\"LeftAngleBracket\":\"⟨\",\"LeftArrowBar\":\"⇤\",\"leftarrow\":\"←\",\"LeftArrow\":\"←\",\"Leftarrow\":\"⇐\",\"LeftArrowRightArrow\":\"⇆\",\"leftarrowtail\":\"↢\",\"LeftCeiling\":\"⌈\",\"LeftDoubleBracket\":\"⟦\",\"LeftDownTeeVector\":\"⥡\",\"LeftDownVectorBar\":\"⥙\",\"LeftDownVector\":\"⇃\",\"LeftFloor\":\"⌊\",\"leftharpoondown\":\"↽\",\"leftharpoonup\":\"↼\",\"leftleftarrows\":\"⇇\",\"leftrightarrow\":\"↔\",\"LeftRightArrow\":\"↔\",\"Leftrightarrow\":\"⇔\",\"leftrightarrows\":\"⇆\",\"leftrightharpoons\":\"⇋\",\"leftrightsquigarrow\":\"↭\",\"LeftRightVector\":\"⥎\",\"LeftTeeArrow\":\"↤\",\"LeftTee\":\"⊣\",\"LeftTeeVector\":\"⥚\",\"leftthreetimes\":\"⋋\",\"LeftTriangleBar\":\"⧏\",\"LeftTriangle\":\"⊲\",\"LeftTriangleEqual\":\"⊴\",\"LeftUpDownVector\":\"⥑\",\"LeftUpTeeVector\":\"⥠\",\"LeftUpVectorBar\":\"⥘\",\"LeftUpVector\":\"↿\",\"LeftVectorBar\":\"⥒\",\"LeftVector\":\"↼\",\"lEg\":\"⪋\",\"leg\":\"⋚\",\"leq\":\"≤\",\"leqq\":\"≦\",\"leqslant\":\"⩽\",\"lescc\":\"⪨\",\"les\":\"⩽\",\"lesdot\":\"⩿\",\"lesdoto\":\"⪁\",\"lesdotor\":\"⪃\",\"lesg\":\"⋚︀\",\"lesges\":\"⪓\",\"lessapprox\":\"⪅\",\"lessdot\":\"⋖\",\"lesseqgtr\":\"⋚\",\"lesseqqgtr\":\"⪋\",\"LessEqualGreater\":\"⋚\",\"LessFullEqual\":\"≦\",\"LessGreater\":\"≶\",\"lessgtr\":\"≶\",\"LessLess\":\"⪡\",\"lesssim\":\"≲\",\"LessSlantEqual\":\"⩽\",\"LessTilde\":\"≲\",\"lfisht\":\"⥼\",\"lfloor\":\"⌊\",\"Lfr\":\"𝔏\",\"lfr\":\"𝔩\",\"lg\":\"≶\",\"lgE\":\"⪑\",\"lHar\":\"⥢\",\"lhard\":\"↽\",\"lharu\":\"↼\",\"lharul\":\"⥪\",\"lhblk\":\"▄\",\"LJcy\":\"Љ\",\"ljcy\":\"љ\",\"llarr\":\"⇇\",\"ll\":\"≪\",\"Ll\":\"⋘\",\"llcorner\":\"⌞\",\"Lleftarrow\":\"⇚\",\"llhard\":\"⥫\",\"lltri\":\"◺\",\"Lmidot\":\"Ŀ\",\"lmidot\":\"ŀ\",\"lmoustache\":\"⎰\",\"lmoust\":\"⎰\",\"lnap\":\"⪉\",\"lnapprox\":\"⪉\",\"lne\":\"⪇\",\"lnE\":\"≨\",\"lneq\":\"⪇\",\"lneqq\":\"≨\",\"lnsim\":\"⋦\",\"loang\":\"⟬\",\"loarr\":\"⇽\",\"lobrk\":\"⟦\",\"longleftarrow\":\"⟵\",\"LongLeftArrow\":\"⟵\",\"Longleftarrow\":\"⟸\",\"longleftrightarrow\":\"⟷\",\"LongLeftRightArrow\":\"⟷\",\"Longleftrightarrow\":\"⟺\",\"longmapsto\":\"⟼\",\"longrightarrow\":\"⟶\",\"LongRightArrow\":\"⟶\",\"Longrightarrow\":\"⟹\",\"looparrowleft\":\"↫\",\"looparrowright\":\"↬\",\"lopar\":\"⦅\",\"Lopf\":\"𝕃\",\"lopf\":\"𝕝\",\"loplus\":\"⨭\",\"lotimes\":\"⨴\",\"lowast\":\"∗\",\"lowbar\":\"_\",\"LowerLeftArrow\":\"↙\",\"LowerRightArrow\":\"↘\",\"loz\":\"◊\",\"lozenge\":\"◊\",\"lozf\":\"⧫\",\"lpar\":\"(\",\"lparlt\":\"⦓\",\"lrarr\":\"⇆\",\"lrcorner\":\"⌟\",\"lrhar\":\"⇋\",\"lrhard\":\"⥭\",\"lrm\":\"‎\",\"lrtri\":\"⊿\",\"lsaquo\":\"‹\",\"lscr\":\"𝓁\",\"Lscr\":\"ℒ\",\"lsh\":\"↰\",\"Lsh\":\"↰\",\"lsim\":\"≲\",\"lsime\":\"⪍\",\"lsimg\":\"⪏\",\"lsqb\":\"[\",\"lsquo\":\"‘\",\"lsquor\":\"‚\",\"Lstrok\":\"Ł\",\"lstrok\":\"ł\",\"ltcc\":\"⪦\",\"ltcir\":\"⩹\",\"lt\":\"<\",\"LT\":\"<\",\"Lt\":\"≪\",\"ltdot\":\"⋖\",\"lthree\":\"⋋\",\"ltimes\":\"⋉\",\"ltlarr\":\"⥶\",\"ltquest\":\"⩻\",\"ltri\":\"◃\",\"ltrie\":\"⊴\",\"ltrif\":\"◂\",\"ltrPar\":\"⦖\",\"lurdshar\":\"⥊\",\"luruhar\":\"⥦\",\"lvertneqq\":\"≨︀\",\"lvnE\":\"≨︀\",\"macr\":\"¯\",\"male\":\"♂\",\"malt\":\"✠\",\"maltese\":\"✠\",\"Map\":\"⤅\",\"map\":\"↦\",\"mapsto\":\"↦\",\"mapstodown\":\"↧\",\"mapstoleft\":\"↤\",\"mapstoup\":\"↥\",\"marker\":\"▮\",\"mcomma\":\"⨩\",\"Mcy\":\"М\",\"mcy\":\"м\",\"mdash\":\"—\",\"mDDot\":\"∺\",\"measuredangle\":\"∡\",\"MediumSpace\":\" \",\"Mellintrf\":\"ℳ\",\"Mfr\":\"𝔐\",\"mfr\":\"𝔪\",\"mho\":\"℧\",\"micro\":\"µ\",\"midast\":\"*\",\"midcir\":\"⫰\",\"mid\":\"∣\",\"middot\":\"·\",\"minusb\":\"⊟\",\"minus\":\"−\",\"minusd\":\"∸\",\"minusdu\":\"⨪\",\"MinusPlus\":\"∓\",\"mlcp\":\"⫛\",\"mldr\":\"…\",\"mnplus\":\"∓\",\"models\":\"⊧\",\"Mopf\":\"𝕄\",\"mopf\":\"𝕞\",\"mp\":\"∓\",\"mscr\":\"𝓂\",\"Mscr\":\"ℳ\",\"mstpos\":\"∾\",\"Mu\":\"Μ\",\"mu\":\"μ\",\"multimap\":\"⊸\",\"mumap\":\"⊸\",\"nabla\":\"∇\",\"Nacute\":\"Ń\",\"nacute\":\"ń\",\"nang\":\"∠⃒\",\"nap\":\"≉\",\"napE\":\"⩰̸\",\"napid\":\"≋̸\",\"napos\":\"ŉ\",\"napprox\":\"≉\",\"natural\":\"♮\",\"naturals\":\"ℕ\",\"natur\":\"♮\",\"nbsp\":\" \",\"nbump\":\"≎̸\",\"nbumpe\":\"≏̸\",\"ncap\":\"⩃\",\"Ncaron\":\"Ň\",\"ncaron\":\"ň\",\"Ncedil\":\"Ņ\",\"ncedil\":\"ņ\",\"ncong\":\"≇\",\"ncongdot\":\"⩭̸\",\"ncup\":\"⩂\",\"Ncy\":\"Н\",\"ncy\":\"н\",\"ndash\":\"–\",\"nearhk\":\"⤤\",\"nearr\":\"↗\",\"neArr\":\"⇗\",\"nearrow\":\"↗\",\"ne\":\"≠\",\"nedot\":\"≐̸\",\"NegativeMediumSpace\":\"​\",\"NegativeThickSpace\":\"​\",\"NegativeThinSpace\":\"​\",\"NegativeVeryThinSpace\":\"​\",\"nequiv\":\"≢\",\"nesear\":\"⤨\",\"nesim\":\"≂̸\",\"NestedGreaterGreater\":\"≫\",\"NestedLessLess\":\"≪\",\"NewLine\":\"\\\\n\",\"nexist\":\"∄\",\"nexists\":\"∄\",\"Nfr\":\"𝔑\",\"nfr\":\"𝔫\",\"ngE\":\"≧̸\",\"nge\":\"≱\",\"ngeq\":\"≱\",\"ngeqq\":\"≧̸\",\"ngeqslant\":\"⩾̸\",\"nges\":\"⩾̸\",\"nGg\":\"⋙̸\",\"ngsim\":\"≵\",\"nGt\":\"≫⃒\",\"ngt\":\"≯\",\"ngtr\":\"≯\",\"nGtv\":\"≫̸\",\"nharr\":\"↮\",\"nhArr\":\"⇎\",\"nhpar\":\"⫲\",\"ni\":\"∋\",\"nis\":\"⋼\",\"nisd\":\"⋺\",\"niv\":\"∋\",\"NJcy\":\"Њ\",\"njcy\":\"њ\",\"nlarr\":\"↚\",\"nlArr\":\"⇍\",\"nldr\":\"‥\",\"nlE\":\"≦̸\",\"nle\":\"≰\",\"nleftarrow\":\"↚\",\"nLeftarrow\":\"⇍\",\"nleftrightarrow\":\"↮\",\"nLeftrightarrow\":\"⇎\",\"nleq\":\"≰\",\"nleqq\":\"≦̸\",\"nleqslant\":\"⩽̸\",\"nles\":\"⩽̸\",\"nless\":\"≮\",\"nLl\":\"⋘̸\",\"nlsim\":\"≴\",\"nLt\":\"≪⃒\",\"nlt\":\"≮\",\"nltri\":\"⋪\",\"nltrie\":\"⋬\",\"nLtv\":\"≪̸\",\"nmid\":\"∤\",\"NoBreak\":\"⁠\",\"NonBreakingSpace\":\" \",\"nopf\":\"𝕟\",\"Nopf\":\"ℕ\",\"Not\":\"⫬\",\"not\":\"¬\",\"NotCongruent\":\"≢\",\"NotCupCap\":\"≭\",\"NotDoubleVerticalBar\":\"∦\",\"NotElement\":\"∉\",\"NotEqual\":\"≠\",\"NotEqualTilde\":\"≂̸\",\"NotExists\":\"∄\",\"NotGreater\":\"≯\",\"NotGreaterEqual\":\"≱\",\"NotGreaterFullEqual\":\"≧̸\",\"NotGreaterGreater\":\"≫̸\",\"NotGreaterLess\":\"≹\",\"NotGreaterSlantEqual\":\"⩾̸\",\"NotGreaterTilde\":\"≵\",\"NotHumpDownHump\":\"≎̸\",\"NotHumpEqual\":\"≏̸\",\"notin\":\"∉\",\"notindot\":\"⋵̸\",\"notinE\":\"⋹̸\",\"notinva\":\"∉\",\"notinvb\":\"⋷\",\"notinvc\":\"⋶\",\"NotLeftTriangleBar\":\"⧏̸\",\"NotLeftTriangle\":\"⋪\",\"NotLeftTriangleEqual\":\"⋬\",\"NotLess\":\"≮\",\"NotLessEqual\":\"≰\",\"NotLessGreater\":\"≸\",\"NotLessLess\":\"≪̸\",\"NotLessSlantEqual\":\"⩽̸\",\"NotLessTilde\":\"≴\",\"NotNestedGreaterGreater\":\"⪢̸\",\"NotNestedLessLess\":\"⪡̸\",\"notni\":\"∌\",\"notniva\":\"∌\",\"notnivb\":\"⋾\",\"notnivc\":\"⋽\",\"NotPrecedes\":\"⊀\",\"NotPrecedesEqual\":\"⪯̸\",\"NotPrecedesSlantEqual\":\"⋠\",\"NotReverseElement\":\"∌\",\"NotRightTriangleBar\":\"⧐̸\",\"NotRightTriangle\":\"⋫\",\"NotRightTriangleEqual\":\"⋭\",\"NotSquareSubset\":\"⊏̸\",\"NotSquareSubsetEqual\":\"⋢\",\"NotSquareSuperset\":\"⊐̸\",\"NotSquareSupersetEqual\":\"⋣\",\"NotSubset\":\"⊂⃒\",\"NotSubsetEqual\":\"⊈\",\"NotSucceeds\":\"⊁\",\"NotSucceedsEqual\":\"⪰̸\",\"NotSucceedsSlantEqual\":\"⋡\",\"NotSucceedsTilde\":\"≿̸\",\"NotSuperset\":\"⊃⃒\",\"NotSupersetEqual\":\"⊉\",\"NotTilde\":\"≁\",\"NotTildeEqual\":\"≄\",\"NotTildeFullEqual\":\"≇\",\"NotTildeTilde\":\"≉\",\"NotVerticalBar\":\"∤\",\"nparallel\":\"∦\",\"npar\":\"∦\",\"nparsl\":\"⫽⃥\",\"npart\":\"∂̸\",\"npolint\":\"⨔\",\"npr\":\"⊀\",\"nprcue\":\"⋠\",\"nprec\":\"⊀\",\"npreceq\":\"⪯̸\",\"npre\":\"⪯̸\",\"nrarrc\":\"⤳̸\",\"nrarr\":\"↛\",\"nrArr\":\"⇏\",\"nrarrw\":\"↝̸\",\"nrightarrow\":\"↛\",\"nRightarrow\":\"⇏\",\"nrtri\":\"⋫\",\"nrtrie\":\"⋭\",\"nsc\":\"⊁\",\"nsccue\":\"⋡\",\"nsce\":\"⪰̸\",\"Nscr\":\"𝒩\",\"nscr\":\"𝓃\",\"nshortmid\":\"∤\",\"nshortparallel\":\"∦\",\"nsim\":\"≁\",\"nsime\":\"≄\",\"nsimeq\":\"≄\",\"nsmid\":\"∤\",\"nspar\":\"∦\",\"nsqsube\":\"⋢\",\"nsqsupe\":\"⋣\",\"nsub\":\"⊄\",\"nsubE\":\"⫅̸\",\"nsube\":\"⊈\",\"nsubset\":\"⊂⃒\",\"nsubseteq\":\"⊈\",\"nsubseteqq\":\"⫅̸\",\"nsucc\":\"⊁\",\"nsucceq\":\"⪰̸\",\"nsup\":\"⊅\",\"nsupE\":\"⫆̸\",\"nsupe\":\"⊉\",\"nsupset\":\"⊃⃒\",\"nsupseteq\":\"⊉\",\"nsupseteqq\":\"⫆̸\",\"ntgl\":\"≹\",\"Ntilde\":\"Ñ\",\"ntilde\":\"ñ\",\"ntlg\":\"≸\",\"ntriangleleft\":\"⋪\",\"ntrianglelefteq\":\"⋬\",\"ntriangleright\":\"⋫\",\"ntrianglerighteq\":\"⋭\",\"Nu\":\"Ν\",\"nu\":\"ν\",\"num\":\"#\",\"numero\":\"№\",\"numsp\":\" \",\"nvap\":\"≍⃒\",\"nvdash\":\"⊬\",\"nvDash\":\"⊭\",\"nVdash\":\"⊮\",\"nVDash\":\"⊯\",\"nvge\":\"≥⃒\",\"nvgt\":\">⃒\",\"nvHarr\":\"⤄\",\"nvinfin\":\"⧞\",\"nvlArr\":\"⤂\",\"nvle\":\"≤⃒\",\"nvlt\":\"<⃒\",\"nvltrie\":\"⊴⃒\",\"nvrArr\":\"⤃\",\"nvrtrie\":\"⊵⃒\",\"nvsim\":\"∼⃒\",\"nwarhk\":\"⤣\",\"nwarr\":\"↖\",\"nwArr\":\"⇖\",\"nwarrow\":\"↖\",\"nwnear\":\"⤧\",\"Oacute\":\"Ó\",\"oacute\":\"ó\",\"oast\":\"⊛\",\"Ocirc\":\"Ô\",\"ocirc\":\"ô\",\"ocir\":\"⊚\",\"Ocy\":\"О\",\"ocy\":\"о\",\"odash\":\"⊝\",\"Odblac\":\"Ő\",\"odblac\":\"ő\",\"odiv\":\"⨸\",\"odot\":\"⊙\",\"odsold\":\"⦼\",\"OElig\":\"Œ\",\"oelig\":\"œ\",\"ofcir\":\"⦿\",\"Ofr\":\"𝔒\",\"ofr\":\"𝔬\",\"ogon\":\"˛\",\"Ograve\":\"Ò\",\"ograve\":\"ò\",\"ogt\":\"⧁\",\"ohbar\":\"⦵\",\"ohm\":\"Ω\",\"oint\":\"∮\",\"olarr\":\"↺\",\"olcir\":\"⦾\",\"olcross\":\"⦻\",\"oline\":\"‾\",\"olt\":\"⧀\",\"Omacr\":\"Ō\",\"omacr\":\"ō\",\"Omega\":\"Ω\",\"omega\":\"ω\",\"Omicron\":\"Ο\",\"omicron\":\"ο\",\"omid\":\"⦶\",\"ominus\":\"⊖\",\"Oopf\":\"𝕆\",\"oopf\":\"𝕠\",\"opar\":\"⦷\",\"OpenCurlyDoubleQuote\":\"“\",\"OpenCurlyQuote\":\"‘\",\"operp\":\"⦹\",\"oplus\":\"⊕\",\"orarr\":\"↻\",\"Or\":\"⩔\",\"or\":\"∨\",\"ord\":\"⩝\",\"order\":\"ℴ\",\"orderof\":\"ℴ\",\"ordf\":\"ª\",\"ordm\":\"º\",\"origof\":\"⊶\",\"oror\":\"⩖\",\"orslope\":\"⩗\",\"orv\":\"⩛\",\"oS\":\"Ⓢ\",\"Oscr\":\"𝒪\",\"oscr\":\"ℴ\",\"Oslash\":\"Ø\",\"oslash\":\"ø\",\"osol\":\"⊘\",\"Otilde\":\"Õ\",\"otilde\":\"õ\",\"otimesas\":\"⨶\",\"Otimes\":\"⨷\",\"otimes\":\"⊗\",\"Ouml\":\"Ö\",\"ouml\":\"ö\",\"ovbar\":\"⌽\",\"OverBar\":\"‾\",\"OverBrace\":\"⏞\",\"OverBracket\":\"⎴\",\"OverParenthesis\":\"⏜\",\"para\":\"¶\",\"parallel\":\"∥\",\"par\":\"∥\",\"parsim\":\"⫳\",\"parsl\":\"⫽\",\"part\":\"∂\",\"PartialD\":\"∂\",\"Pcy\":\"П\",\"pcy\":\"п\",\"percnt\":\"%\",\"period\":\".\",\"permil\":\"‰\",\"perp\":\"⊥\",\"pertenk\":\"‱\",\"Pfr\":\"𝔓\",\"pfr\":\"𝔭\",\"Phi\":\"Φ\",\"phi\":\"φ\",\"phiv\":\"ϕ\",\"phmmat\":\"ℳ\",\"phone\":\"☎\",\"Pi\":\"Π\",\"pi\":\"π\",\"pitchfork\":\"⋔\",\"piv\":\"ϖ\",\"planck\":\"ℏ\",\"planckh\":\"ℎ\",\"plankv\":\"ℏ\",\"plusacir\":\"⨣\",\"plusb\":\"⊞\",\"pluscir\":\"⨢\",\"plus\":\"+\",\"plusdo\":\"∔\",\"plusdu\":\"⨥\",\"pluse\":\"⩲\",\"PlusMinus\":\"±\",\"plusmn\":\"±\",\"plussim\":\"⨦\",\"plustwo\":\"⨧\",\"pm\":\"±\",\"Poincareplane\":\"ℌ\",\"pointint\":\"⨕\",\"popf\":\"𝕡\",\"Popf\":\"ℙ\",\"pound\":\"£\",\"prap\":\"⪷\",\"Pr\":\"⪻\",\"pr\":\"≺\",\"prcue\":\"≼\",\"precapprox\":\"⪷\",\"prec\":\"≺\",\"preccurlyeq\":\"≼\",\"Precedes\":\"≺\",\"PrecedesEqual\":\"⪯\",\"PrecedesSlantEqual\":\"≼\",\"PrecedesTilde\":\"≾\",\"preceq\":\"⪯\",\"precnapprox\":\"⪹\",\"precneqq\":\"⪵\",\"precnsim\":\"⋨\",\"pre\":\"⪯\",\"prE\":\"⪳\",\"precsim\":\"≾\",\"prime\":\"′\",\"Prime\":\"″\",\"primes\":\"ℙ\",\"prnap\":\"⪹\",\"prnE\":\"⪵\",\"prnsim\":\"⋨\",\"prod\":\"∏\",\"Product\":\"∏\",\"profalar\":\"⌮\",\"profline\":\"⌒\",\"profsurf\":\"⌓\",\"prop\":\"∝\",\"Proportional\":\"∝\",\"Proportion\":\"∷\",\"propto\":\"∝\",\"prsim\":\"≾\",\"prurel\":\"⊰\",\"Pscr\":\"𝒫\",\"pscr\":\"𝓅\",\"Psi\":\"Ψ\",\"psi\":\"ψ\",\"puncsp\":\" \",\"Qfr\":\"𝔔\",\"qfr\":\"𝔮\",\"qint\":\"⨌\",\"qopf\":\"𝕢\",\"Qopf\":\"ℚ\",\"qprime\":\"⁗\",\"Qscr\":\"𝒬\",\"qscr\":\"𝓆\",\"quaternions\":\"ℍ\",\"quatint\":\"⨖\",\"quest\":\"?\",\"questeq\":\"≟\",\"quot\":\"\\\\\"\",\"QUOT\":\"\\\\\"\",\"rAarr\":\"⇛\",\"race\":\"∽̱\",\"Racute\":\"Ŕ\",\"racute\":\"ŕ\",\"radic\":\"√\",\"raemptyv\":\"⦳\",\"rang\":\"⟩\",\"Rang\":\"⟫\",\"rangd\":\"⦒\",\"range\":\"⦥\",\"rangle\":\"⟩\",\"raquo\":\"»\",\"rarrap\":\"⥵\",\"rarrb\":\"⇥\",\"rarrbfs\":\"⤠\",\"rarrc\":\"⤳\",\"rarr\":\"→\",\"Rarr\":\"↠\",\"rArr\":\"⇒\",\"rarrfs\":\"⤞\",\"rarrhk\":\"↪\",\"rarrlp\":\"↬\",\"rarrpl\":\"⥅\",\"rarrsim\":\"⥴\",\"Rarrtl\":\"⤖\",\"rarrtl\":\"↣\",\"rarrw\":\"↝\",\"ratail\":\"⤚\",\"rAtail\":\"⤜\",\"ratio\":\"∶\",\"rationals\":\"ℚ\",\"rbarr\":\"⤍\",\"rBarr\":\"⤏\",\"RBarr\":\"⤐\",\"rbbrk\":\"❳\",\"rbrace\":\"}\",\"rbrack\":\"]\",\"rbrke\":\"⦌\",\"rbrksld\":\"⦎\",\"rbrkslu\":\"⦐\",\"Rcaron\":\"Ř\",\"rcaron\":\"ř\",\"Rcedil\":\"Ŗ\",\"rcedil\":\"ŗ\",\"rceil\":\"⌉\",\"rcub\":\"}\",\"Rcy\":\"Р\",\"rcy\":\"р\",\"rdca\":\"⤷\",\"rdldhar\":\"⥩\",\"rdquo\":\"”\",\"rdquor\":\"”\",\"rdsh\":\"↳\",\"real\":\"ℜ\",\"realine\":\"ℛ\",\"realpart\":\"ℜ\",\"reals\":\"ℝ\",\"Re\":\"ℜ\",\"rect\":\"▭\",\"reg\":\"®\",\"REG\":\"®\",\"ReverseElement\":\"∋\",\"ReverseEquilibrium\":\"⇋\",\"ReverseUpEquilibrium\":\"⥯\",\"rfisht\":\"⥽\",\"rfloor\":\"⌋\",\"rfr\":\"𝔯\",\"Rfr\":\"ℜ\",\"rHar\":\"⥤\",\"rhard\":\"⇁\",\"rharu\":\"⇀\",\"rharul\":\"⥬\",\"Rho\":\"Ρ\",\"rho\":\"ρ\",\"rhov\":\"ϱ\",\"RightAngleBracket\":\"⟩\",\"RightArrowBar\":\"⇥\",\"rightarrow\":\"→\",\"RightArrow\":\"→\",\"Rightarrow\":\"⇒\",\"RightArrowLeftArrow\":\"⇄\",\"rightarrowtail\":\"↣\",\"RightCeiling\":\"⌉\",\"RightDoubleBracket\":\"⟧\",\"RightDownTeeVector\":\"⥝\",\"RightDownVectorBar\":\"⥕\",\"RightDownVector\":\"⇂\",\"RightFloor\":\"⌋\",\"rightharpoondown\":\"⇁\",\"rightharpoonup\":\"⇀\",\"rightleftarrows\":\"⇄\",\"rightleftharpoons\":\"⇌\",\"rightrightarrows\":\"⇉\",\"rightsquigarrow\":\"↝\",\"RightTeeArrow\":\"↦\",\"RightTee\":\"⊢\",\"RightTeeVector\":\"⥛\",\"rightthreetimes\":\"⋌\",\"RightTriangleBar\":\"⧐\",\"RightTriangle\":\"⊳\",\"RightTriangleEqual\":\"⊵\",\"RightUpDownVector\":\"⥏\",\"RightUpTeeVector\":\"⥜\",\"RightUpVectorBar\":\"⥔\",\"RightUpVector\":\"↾\",\"RightVectorBar\":\"⥓\",\"RightVector\":\"⇀\",\"ring\":\"˚\",\"risingdotseq\":\"≓\",\"rlarr\":\"⇄\",\"rlhar\":\"⇌\",\"rlm\":\"‏\",\"rmoustache\":\"⎱\",\"rmoust\":\"⎱\",\"rnmid\":\"⫮\",\"roang\":\"⟭\",\"roarr\":\"⇾\",\"robrk\":\"⟧\",\"ropar\":\"⦆\",\"ropf\":\"𝕣\",\"Ropf\":\"ℝ\",\"roplus\":\"⨮\",\"rotimes\":\"⨵\",\"RoundImplies\":\"⥰\",\"rpar\":\")\",\"rpargt\":\"⦔\",\"rppolint\":\"⨒\",\"rrarr\":\"⇉\",\"Rrightarrow\":\"⇛\",\"rsaquo\":\"›\",\"rscr\":\"𝓇\",\"Rscr\":\"ℛ\",\"rsh\":\"↱\",\"Rsh\":\"↱\",\"rsqb\":\"]\",\"rsquo\":\"’\",\"rsquor\":\"’\",\"rthree\":\"⋌\",\"rtimes\":\"⋊\",\"rtri\":\"▹\",\"rtrie\":\"⊵\",\"rtrif\":\"▸\",\"rtriltri\":\"⧎\",\"RuleDelayed\":\"⧴\",\"ruluhar\":\"⥨\",\"rx\":\"℞\",\"Sacute\":\"Ś\",\"sacute\":\"ś\",\"sbquo\":\"‚\",\"scap\":\"⪸\",\"Scaron\":\"Š\",\"scaron\":\"š\",\"Sc\":\"⪼\",\"sc\":\"≻\",\"sccue\":\"≽\",\"sce\":\"⪰\",\"scE\":\"⪴\",\"Scedil\":\"Ş\",\"scedil\":\"ş\",\"Scirc\":\"Ŝ\",\"scirc\":\"ŝ\",\"scnap\":\"⪺\",\"scnE\":\"⪶\",\"scnsim\":\"⋩\",\"scpolint\":\"⨓\",\"scsim\":\"≿\",\"Scy\":\"С\",\"scy\":\"с\",\"sdotb\":\"⊡\",\"sdot\":\"⋅\",\"sdote\":\"⩦\",\"searhk\":\"⤥\",\"searr\":\"↘\",\"seArr\":\"⇘\",\"searrow\":\"↘\",\"sect\":\"§\",\"semi\":\";\",\"seswar\":\"⤩\",\"setminus\":\"∖\",\"setmn\":\"∖\",\"sext\":\"✶\",\"Sfr\":\"𝔖\",\"sfr\":\"𝔰\",\"sfrown\":\"⌢\",\"sharp\":\"♯\",\"SHCHcy\":\"Щ\",\"shchcy\":\"щ\",\"SHcy\":\"Ш\",\"shcy\":\"ш\",\"ShortDownArrow\":\"↓\",\"ShortLeftArrow\":\"←\",\"shortmid\":\"∣\",\"shortparallel\":\"∥\",\"ShortRightArrow\":\"→\",\"ShortUpArrow\":\"↑\",\"shy\":\"­\",\"Sigma\":\"Σ\",\"sigma\":\"σ\",\"sigmaf\":\"ς\",\"sigmav\":\"ς\",\"sim\":\"∼\",\"simdot\":\"⩪\",\"sime\":\"≃\",\"simeq\":\"≃\",\"simg\":\"⪞\",\"simgE\":\"⪠\",\"siml\":\"⪝\",\"simlE\":\"⪟\",\"simne\":\"≆\",\"simplus\":\"⨤\",\"simrarr\":\"⥲\",\"slarr\":\"←\",\"SmallCircle\":\"∘\",\"smallsetminus\":\"∖\",\"smashp\":\"⨳\",\"smeparsl\":\"⧤\",\"smid\":\"∣\",\"smile\":\"⌣\",\"smt\":\"⪪\",\"smte\":\"⪬\",\"smtes\":\"⪬︀\",\"SOFTcy\":\"Ь\",\"softcy\":\"ь\",\"solbar\":\"⌿\",\"solb\":\"⧄\",\"sol\":\"/\",\"Sopf\":\"𝕊\",\"sopf\":\"𝕤\",\"spades\":\"♠\",\"spadesuit\":\"♠\",\"spar\":\"∥\",\"sqcap\":\"⊓\",\"sqcaps\":\"⊓︀\",\"sqcup\":\"⊔\",\"sqcups\":\"⊔︀\",\"Sqrt\":\"√\",\"sqsub\":\"⊏\",\"sqsube\":\"⊑\",\"sqsubset\":\"⊏\",\"sqsubseteq\":\"⊑\",\"sqsup\":\"⊐\",\"sqsupe\":\"⊒\",\"sqsupset\":\"⊐\",\"sqsupseteq\":\"⊒\",\"square\":\"□\",\"Square\":\"□\",\"SquareIntersection\":\"⊓\",\"SquareSubset\":\"⊏\",\"SquareSubsetEqual\":\"⊑\",\"SquareSuperset\":\"⊐\",\"SquareSupersetEqual\":\"⊒\",\"SquareUnion\":\"⊔\",\"squarf\":\"▪\",\"squ\":\"□\",\"squf\":\"▪\",\"srarr\":\"→\",\"Sscr\":\"𝒮\",\"sscr\":\"𝓈\",\"ssetmn\":\"∖\",\"ssmile\":\"⌣\",\"sstarf\":\"⋆\",\"Star\":\"⋆\",\"star\":\"☆\",\"starf\":\"★\",\"straightepsilon\":\"ϵ\",\"straightphi\":\"ϕ\",\"strns\":\"¯\",\"sub\":\"⊂\",\"Sub\":\"⋐\",\"subdot\":\"⪽\",\"subE\":\"⫅\",\"sube\":\"⊆\",\"subedot\":\"⫃\",\"submult\":\"⫁\",\"subnE\":\"⫋\",\"subne\":\"⊊\",\"subplus\":\"⪿\",\"subrarr\":\"⥹\",\"subset\":\"⊂\",\"Subset\":\"⋐\",\"subseteq\":\"⊆\",\"subseteqq\":\"⫅\",\"SubsetEqual\":\"⊆\",\"subsetneq\":\"⊊\",\"subsetneqq\":\"⫋\",\"subsim\":\"⫇\",\"subsub\":\"⫕\",\"subsup\":\"⫓\",\"succapprox\":\"⪸\",\"succ\":\"≻\",\"succcurlyeq\":\"≽\",\"Succeeds\":\"≻\",\"SucceedsEqual\":\"⪰\",\"SucceedsSlantEqual\":\"≽\",\"SucceedsTilde\":\"≿\",\"succeq\":\"⪰\",\"succnapprox\":\"⪺\",\"succneqq\":\"⪶\",\"succnsim\":\"⋩\",\"succsim\":\"≿\",\"SuchThat\":\"∋\",\"sum\":\"∑\",\"Sum\":\"∑\",\"sung\":\"♪\",\"sup1\":\"¹\",\"sup2\":\"²\",\"sup3\":\"³\",\"sup\":\"⊃\",\"Sup\":\"⋑\",\"supdot\":\"⪾\",\"supdsub\":\"⫘\",\"supE\":\"⫆\",\"supe\":\"⊇\",\"supedot\":\"⫄\",\"Superset\":\"⊃\",\"SupersetEqual\":\"⊇\",\"suphsol\":\"⟉\",\"suphsub\":\"⫗\",\"suplarr\":\"⥻\",\"supmult\":\"⫂\",\"supnE\":\"⫌\",\"supne\":\"⊋\",\"supplus\":\"⫀\",\"supset\":\"⊃\",\"Supset\":\"⋑\",\"supseteq\":\"⊇\",\"supseteqq\":\"⫆\",\"supsetneq\":\"⊋\",\"supsetneqq\":\"⫌\",\"supsim\":\"⫈\",\"supsub\":\"⫔\",\"supsup\":\"⫖\",\"swarhk\":\"⤦\",\"swarr\":\"↙\",\"swArr\":\"⇙\",\"swarrow\":\"↙\",\"swnwar\":\"⤪\",\"szlig\":\"ß\",\"Tab\":\"\\\\t\",\"target\":\"⌖\",\"Tau\":\"Τ\",\"tau\":\"τ\",\"tbrk\":\"⎴\",\"Tcaron\":\"Ť\",\"tcaron\":\"ť\",\"Tcedil\":\"Ţ\",\"tcedil\":\"ţ\",\"Tcy\":\"Т\",\"tcy\":\"т\",\"tdot\":\"⃛\",\"telrec\":\"⌕\",\"Tfr\":\"𝔗\",\"tfr\":\"𝔱\",\"there4\":\"∴\",\"therefore\":\"∴\",\"Therefore\":\"∴\",\"Theta\":\"Θ\",\"theta\":\"θ\",\"thetasym\":\"ϑ\",\"thetav\":\"ϑ\",\"thickapprox\":\"≈\",\"thicksim\":\"∼\",\"ThickSpace\":\"  \",\"ThinSpace\":\" \",\"thinsp\":\" \",\"thkap\":\"≈\",\"thksim\":\"∼\",\"THORN\":\"Þ\",\"thorn\":\"þ\",\"tilde\":\"˜\",\"Tilde\":\"∼\",\"TildeEqual\":\"≃\",\"TildeFullEqual\":\"≅\",\"TildeTilde\":\"≈\",\"timesbar\":\"⨱\",\"timesb\":\"⊠\",\"times\":\"×\",\"timesd\":\"⨰\",\"tint\":\"∭\",\"toea\":\"⤨\",\"topbot\":\"⌶\",\"topcir\":\"⫱\",\"top\":\"⊤\",\"Topf\":\"𝕋\",\"topf\":\"𝕥\",\"topfork\":\"⫚\",\"tosa\":\"⤩\",\"tprime\":\"‴\",\"trade\":\"™\",\"TRADE\":\"™\",\"triangle\":\"▵\",\"triangledown\":\"▿\",\"triangleleft\":\"◃\",\"trianglelefteq\":\"⊴\",\"triangleq\":\"≜\",\"triangleright\":\"▹\",\"trianglerighteq\":\"⊵\",\"tridot\":\"◬\",\"trie\":\"≜\",\"triminus\":\"⨺\",\"TripleDot\":\"⃛\",\"triplus\":\"⨹\",\"trisb\":\"⧍\",\"tritime\":\"⨻\",\"trpezium\":\"⏢\",\"Tscr\":\"𝒯\",\"tscr\":\"𝓉\",\"TScy\":\"Ц\",\"tscy\":\"ц\",\"TSHcy\":\"Ћ\",\"tshcy\":\"ћ\",\"Tstrok\":\"Ŧ\",\"tstrok\":\"ŧ\",\"twixt\":\"≬\",\"twoheadleftarrow\":\"↞\",\"twoheadrightarrow\":\"↠\",\"Uacute\":\"Ú\",\"uacute\":\"ú\",\"uarr\":\"↑\",\"Uarr\":\"↟\",\"uArr\":\"⇑\",\"Uarrocir\":\"⥉\",\"Ubrcy\":\"Ў\",\"ubrcy\":\"ў\",\"Ubreve\":\"Ŭ\",\"ubreve\":\"ŭ\",\"Ucirc\":\"Û\",\"ucirc\":\"û\",\"Ucy\":\"У\",\"ucy\":\"у\",\"udarr\":\"⇅\",\"Udblac\":\"Ű\",\"udblac\":\"ű\",\"udhar\":\"⥮\",\"ufisht\":\"⥾\",\"Ufr\":\"𝔘\",\"ufr\":\"𝔲\",\"Ugrave\":\"Ù\",\"ugrave\":\"ù\",\"uHar\":\"⥣\",\"uharl\":\"↿\",\"uharr\":\"↾\",\"uhblk\":\"▀\",\"ulcorn\":\"⌜\",\"ulcorner\":\"⌜\",\"ulcrop\":\"⌏\",\"ultri\":\"◸\",\"Umacr\":\"Ū\",\"umacr\":\"ū\",\"uml\":\"¨\",\"UnderBar\":\"_\",\"UnderBrace\":\"⏟\",\"UnderBracket\":\"⎵\",\"UnderParenthesis\":\"⏝\",\"Union\":\"⋃\",\"UnionPlus\":\"⊎\",\"Uogon\":\"Ų\",\"uogon\":\"ų\",\"Uopf\":\"𝕌\",\"uopf\":\"𝕦\",\"UpArrowBar\":\"⤒\",\"uparrow\":\"↑\",\"UpArrow\":\"↑\",\"Uparrow\":\"⇑\",\"UpArrowDownArrow\":\"⇅\",\"updownarrow\":\"↕\",\"UpDownArrow\":\"↕\",\"Updownarrow\":\"⇕\",\"UpEquilibrium\":\"⥮\",\"upharpoonleft\":\"↿\",\"upharpoonright\":\"↾\",\"uplus\":\"⊎\",\"UpperLeftArrow\":\"↖\",\"UpperRightArrow\":\"↗\",\"upsi\":\"υ\",\"Upsi\":\"ϒ\",\"upsih\":\"ϒ\",\"Upsilon\":\"Υ\",\"upsilon\":\"υ\",\"UpTeeArrow\":\"↥\",\"UpTee\":\"⊥\",\"upuparrows\":\"⇈\",\"urcorn\":\"⌝\",\"urcorner\":\"⌝\",\"urcrop\":\"⌎\",\"Uring\":\"Ů\",\"uring\":\"ů\",\"urtri\":\"◹\",\"Uscr\":\"𝒰\",\"uscr\":\"𝓊\",\"utdot\":\"⋰\",\"Utilde\":\"Ũ\",\"utilde\":\"ũ\",\"utri\":\"▵\",\"utrif\":\"▴\",\"uuarr\":\"⇈\",\"Uuml\":\"Ü\",\"uuml\":\"ü\",\"uwangle\":\"⦧\",\"vangrt\":\"⦜\",\"varepsilon\":\"ϵ\",\"varkappa\":\"ϰ\",\"varnothing\":\"∅\",\"varphi\":\"ϕ\",\"varpi\":\"ϖ\",\"varpropto\":\"∝\",\"varr\":\"↕\",\"vArr\":\"⇕\",\"varrho\":\"ϱ\",\"varsigma\":\"ς\",\"varsubsetneq\":\"⊊︀\",\"varsubsetneqq\":\"⫋︀\",\"varsupsetneq\":\"⊋︀\",\"varsupsetneqq\":\"⫌︀\",\"vartheta\":\"ϑ\",\"vartriangleleft\":\"⊲\",\"vartriangleright\":\"⊳\",\"vBar\":\"⫨\",\"Vbar\":\"⫫\",\"vBarv\":\"⫩\",\"Vcy\":\"В\",\"vcy\":\"в\",\"vdash\":\"⊢\",\"vDash\":\"⊨\",\"Vdash\":\"⊩\",\"VDash\":\"⊫\",\"Vdashl\":\"⫦\",\"veebar\":\"⊻\",\"vee\":\"∨\",\"Vee\":\"⋁\",\"veeeq\":\"≚\",\"vellip\":\"⋮\",\"verbar\":\"|\",\"Verbar\":\"‖\",\"vert\":\"|\",\"Vert\":\"‖\",\"VerticalBar\":\"∣\",\"VerticalLine\":\"|\",\"VerticalSeparator\":\"❘\",\"VerticalTilde\":\"≀\",\"VeryThinSpace\":\" \",\"Vfr\":\"𝔙\",\"vfr\":\"𝔳\",\"vltri\":\"⊲\",\"vnsub\":\"⊂⃒\",\"vnsup\":\"⊃⃒\",\"Vopf\":\"𝕍\",\"vopf\":\"𝕧\",\"vprop\":\"∝\",\"vrtri\":\"⊳\",\"Vscr\":\"𝒱\",\"vscr\":\"𝓋\",\"vsubnE\":\"⫋︀\",\"vsubne\":\"⊊︀\",\"vsupnE\":\"⫌︀\",\"vsupne\":\"⊋︀\",\"Vvdash\":\"⊪\",\"vzigzag\":\"⦚\",\"Wcirc\":\"Ŵ\",\"wcirc\":\"ŵ\",\"wedbar\":\"⩟\",\"wedge\":\"∧\",\"Wedge\":\"⋀\",\"wedgeq\":\"≙\",\"weierp\":\"℘\",\"Wfr\":\"𝔚\",\"wfr\":\"𝔴\",\"Wopf\":\"𝕎\",\"wopf\":\"𝕨\",\"wp\":\"℘\",\"wr\":\"≀\",\"wreath\":\"≀\",\"Wscr\":\"𝒲\",\"wscr\":\"𝓌\",\"xcap\":\"⋂\",\"xcirc\":\"◯\",\"xcup\":\"⋃\",\"xdtri\":\"▽\",\"Xfr\":\"𝔛\",\"xfr\":\"𝔵\",\"xharr\":\"⟷\",\"xhArr\":\"⟺\",\"Xi\":\"Ξ\",\"xi\":\"ξ\",\"xlarr\":\"⟵\",\"xlArr\":\"⟸\",\"xmap\":\"⟼\",\"xnis\":\"⋻\",\"xodot\":\"⨀\",\"Xopf\":\"𝕏\",\"xopf\":\"𝕩\",\"xoplus\":\"⨁\",\"xotime\":\"⨂\",\"xrarr\":\"⟶\",\"xrArr\":\"⟹\",\"Xscr\":\"𝒳\",\"xscr\":\"𝓍\",\"xsqcup\":\"⨆\",\"xuplus\":\"⨄\",\"xutri\":\"△\",\"xvee\":\"⋁\",\"xwedge\":\"⋀\",\"Yacute\":\"Ý\",\"yacute\":\"ý\",\"YAcy\":\"Я\",\"yacy\":\"я\",\"Ycirc\":\"Ŷ\",\"ycirc\":\"ŷ\",\"Ycy\":\"Ы\",\"ycy\":\"ы\",\"yen\":\"¥\",\"Yfr\":\"𝔜\",\"yfr\":\"𝔶\",\"YIcy\":\"Ї\",\"yicy\":\"ї\",\"Yopf\":\"𝕐\",\"yopf\":\"𝕪\",\"Yscr\":\"𝒴\",\"yscr\":\"𝓎\",\"YUcy\":\"Ю\",\"yucy\":\"ю\",\"yuml\":\"ÿ\",\"Yuml\":\"Ÿ\",\"Zacute\":\"Ź\",\"zacute\":\"ź\",\"Zcaron\":\"Ž\",\"zcaron\":\"ž\",\"Zcy\":\"З\",\"zcy\":\"з\",\"Zdot\":\"Ż\",\"zdot\":\"ż\",\"zeetrf\":\"ℨ\",\"ZeroWidthSpace\":\"​\",\"Zeta\":\"Ζ\",\"zeta\":\"ζ\",\"zfr\":\"𝔷\",\"Zfr\":\"ℨ\",\"ZHcy\":\"Ж\",\"zhcy\":\"ж\",\"zigrarr\":\"⇝\",\"zopf\":\"𝕫\",\"Zopf\":\"ℤ\",\"Zscr\":\"𝒵\",\"zscr\":\"𝓏\",\"zwj\":\"‍\",\"zwnj\":\"‌\"}')},function(e,t,n){\"use strict\";t.parseLinkLabel=n(424),t.parseLinkDestination=n(425),t.parseLinkTitle=n(426)},function(e,t,n){\"use strict\";e.exports=function(e,t,n){var r,i,o,a,s=-1,u=e.posMax,c=e.pos;for(e.pos=t+1,r=1;e.pos<u;){if(93===(o=e.src.charCodeAt(e.pos))&&0===--r){i=!0;break}if(a=e.pos,e.md.inline.skipToken(e),91===o)if(a===e.pos-1)r++;else if(n)return e.pos=c,-1}return i&&(s=e.pos),e.pos=c,s}},function(e,t,n){\"use strict\";var r=n(23).unescapeAll;e.exports=function(e,t,n){var i,o,a=t,s={ok:!1,pos:0,lines:0,str:\"\"};if(60===e.charCodeAt(t)){for(t++;t<n;){if(10===(i=e.charCodeAt(t)))return s;if(62===i)return s.pos=t+1,s.str=r(e.slice(a+1,t)),s.ok=!0,s;92===i&&t+1<n?t+=2:t++}return s}for(o=0;t<n&&32!==(i=e.charCodeAt(t))&&!(i<32||127===i);)if(92===i&&t+1<n)t+=2;else{if(40===i&&o++,41===i){if(0===o)break;o--}t++}return a===t||0!==o||(s.str=r(e.slice(a,t)),s.lines=0,s.pos=t,s.ok=!0),s}},function(e,t,n){\"use strict\";var r=n(23).unescapeAll;e.exports=function(e,t,n){var i,o,a=0,s=t,u={ok:!1,pos:0,lines:0,str:\"\"};if(t>=n)return u;if(34!==(o=e.charCodeAt(t))&&39!==o&&40!==o)return u;for(t++,40===o&&(o=41);t<n;){if((i=e.charCodeAt(t))===o)return u.pos=t+1,u.lines=a,u.str=r(e.slice(s+1,t)),u.ok=!0,u;10===i?a++:92===i&&t+1<n&&(t++,10===e.charCodeAt(t)&&a++),t++}return u}},function(e,t,n){\"use strict\";var r=n(23).assign,i=n(23).unescapeAll,o=n(23).escapeHtml,a={};function s(){this.rules=r({},a)}a.code_inline=function(e,t,n,r,i){var a=e[t];return\"<code\"+i.renderAttrs(a)+\">\"+o(e[t].content)+\"</code>\"},a.code_block=function(e,t,n,r,i){var a=e[t];return\"<pre\"+i.renderAttrs(a)+\"><code>\"+o(e[t].content)+\"</code></pre>\\n\"},a.fence=function(e,t,n,r,a){var s,u,c,l,p=e[t],f=p.info?i(p.info).trim():\"\",d=\"\";return f&&(d=f.split(/\\s+/g)[0]),0===(s=n.highlight&&n.highlight(p.content,d)||o(p.content)).indexOf(\"<pre\")?s+\"\\n\":f?(u=p.attrIndex(\"class\"),c=p.attrs?p.attrs.slice():[],u<0?c.push([\"class\",n.langPrefix+d]):c[u][1]+=\" \"+n.langPrefix+d,l={attrs:c},\"<pre><code\"+a.renderAttrs(l)+\">\"+s+\"</code></pre>\\n\"):\"<pre><code\"+a.renderAttrs(p)+\">\"+s+\"</code></pre>\\n\"},a.image=function(e,t,n,r,i){var o=e[t];return o.attrs[o.attrIndex(\"alt\")][1]=i.renderInlineAsText(o.children,n,r),i.renderToken(e,t,n)},a.hardbreak=function(e,t,n){return n.xhtmlOut?\"<br />\\n\":\"<br>\\n\"},a.softbreak=function(e,t,n){return n.breaks?n.xhtmlOut?\"<br />\\n\":\"<br>\\n\":\"\\n\"},a.text=function(e,t){return o(e[t].content)},a.html_block=function(e,t){return e[t].content},a.html_inline=function(e,t){return e[t].content},s.prototype.renderAttrs=function(e){var t,n,r;if(!e.attrs)return\"\";for(r=\"\",t=0,n=e.attrs.length;t<n;t++)r+=\" \"+o(e.attrs[t][0])+'=\"'+o(e.attrs[t][1])+'\"';return r},s.prototype.renderToken=function(e,t,n){var r,i=\"\",o=!1,a=e[t];return a.hidden?\"\":(a.block&&-1!==a.nesting&&t&&e[t-1].hidden&&(i+=\"\\n\"),i+=(-1===a.nesting?\"</\":\"<\")+a.tag,i+=this.renderAttrs(a),0===a.nesting&&n.xhtmlOut&&(i+=\" /\"),a.block&&(o=!0,1===a.nesting&&t+1<e.length&&(\"inline\"===(r=e[t+1]).type||r.hidden||-1===r.nesting&&r.tag===a.tag)&&(o=!1)),i+=o?\">\\n\":\">\")},s.prototype.renderInline=function(e,t,n){for(var r,i=\"\",o=this.rules,a=0,s=e.length;a<s;a++)void 0!==o[r=e[a].type]?i+=o[r](e,a,t,n,this):i+=this.renderToken(e,a,t);return i},s.prototype.renderInlineAsText=function(e,t,n){for(var r=\"\",i=0,o=e.length;i<o;i++)\"text\"===e[i].type?r+=e[i].content:\"image\"===e[i].type&&(r+=this.renderInlineAsText(e[i].children,t,n));return r},s.prototype.render=function(e,t,n){var r,i,o,a=\"\",s=this.rules;for(r=0,i=e.length;r<i;r++)\"inline\"===(o=e[r].type)?a+=this.renderInline(e[r].children,t,n):void 0!==s[o]?a+=s[e[r].type](e,r,t,n,this):a+=this.renderToken(e,r,t,n);return a},e.exports=s},function(e,t,n){\"use strict\";var r=n(130),i=[[\"normalize\",n(429)],[\"block\",n(430)],[\"inline\",n(431)],[\"linkify\",n(432)],[\"replacements\",n(433)],[\"smartquotes\",n(434)]];function o(){this.ruler=new r;for(var e=0;e<i.length;e++)this.ruler.push(i[e][0],i[e][1])}o.prototype.process=function(e){var t,n,r;for(t=0,n=(r=this.ruler.getRules(\"\")).length;t<n;t++)r[t](e)},o.prototype.State=n(435),e.exports=o},function(e,t,n){\"use strict\";var r=/\\r\\n?|\\n/g,i=/\\0/g;e.exports=function(e){var t;t=(t=e.src.replace(r,\"\\n\")).replace(i,\"�\"),e.src=t}},function(e,t,n){\"use strict\";e.exports=function(e){var t;e.inlineMode?((t=new e.Token(\"inline\",\"\",0)).content=e.src,t.map=[0,1],t.children=[],e.tokens.push(t)):e.md.block.parse(e.src,e.md,e.env,e.tokens)}},function(e,t,n){\"use strict\";e.exports=function(e){var t,n,r,i=e.tokens;for(n=0,r=i.length;n<r;n++)\"inline\"===(t=i[n]).type&&e.md.inline.parse(t.content,e.md,e.env,t.children)}},function(e,t,n){\"use strict\";var r=n(23).arrayReplaceAt;function i(e){return/^<\\/a\\s*>/i.test(e)}e.exports=function(e){var t,n,o,a,s,u,c,l,p,f,d,h,m,g,y,v,b,E,x=e.tokens;if(e.md.options.linkify)for(n=0,o=x.length;n<o;n++)if(\"inline\"===x[n].type&&e.md.linkify.pretest(x[n].content))for(m=0,t=(a=x[n].children).length-1;t>=0;t--)if(\"link_close\"!==(u=a[t]).type){if(\"html_inline\"===u.type&&(E=u.content,/^<a[>\\s]/i.test(E)&&m>0&&m--,i(u.content)&&m++),!(m>0)&&\"text\"===u.type&&e.md.linkify.test(u.content)){for(p=u.content,b=e.md.linkify.match(p),c=[],h=u.level,d=0,l=0;l<b.length;l++)g=b[l].url,y=e.md.normalizeLink(g),e.md.validateLink(y)&&(v=b[l].text,v=b[l].schema?\"mailto:\"!==b[l].schema||/^mailto:/i.test(v)?e.md.normalizeLinkText(v):e.md.normalizeLinkText(\"mailto:\"+v).replace(/^mailto:/,\"\"):e.md.normalizeLinkText(\"http://\"+v).replace(/^http:\\/\\//,\"\"),(f=b[l].index)>d&&((s=new e.Token(\"text\",\"\",0)).content=p.slice(d,f),s.level=h,c.push(s)),(s=new e.Token(\"link_open\",\"a\",1)).attrs=[[\"href\",y]],s.level=h++,s.markup=\"linkify\",s.info=\"auto\",c.push(s),(s=new e.Token(\"text\",\"\",0)).content=v,s.level=h,c.push(s),(s=new e.Token(\"link_close\",\"a\",-1)).level=--h,s.markup=\"linkify\",s.info=\"auto\",c.push(s),d=b[l].lastIndex);d<p.length&&((s=new e.Token(\"text\",\"\",0)).content=p.slice(d),s.level=h,c.push(s)),x[n].children=a=r(a,t,c)}}else for(t--;a[t].level!==u.level&&\"link_open\"!==a[t].type;)t--}},function(e,t,n){\"use strict\";var r=/\\+-|\\.\\.|\\?\\?\\?\\?|!!!!|,,|--/,i=/\\((c|tm|r|p)\\)/i,o=/\\((c|tm|r|p)\\)/gi,a={c:\"©\",r:\"®\",p:\"§\",tm:\"™\"};function s(e,t){return a[t.toLowerCase()]}function u(e){var t,n,r=0;for(t=e.length-1;t>=0;t--)\"text\"!==(n=e[t]).type||r||(n.content=n.content.replace(o,s)),\"link_open\"===n.type&&\"auto\"===n.info&&r--,\"link_close\"===n.type&&\"auto\"===n.info&&r++}function c(e){var t,n,i=0;for(t=e.length-1;t>=0;t--)\"text\"!==(n=e[t]).type||i||r.test(n.content)&&(n.content=n.content.replace(/\\+-/g,\"±\").replace(/\\.{2,}/g,\"…\").replace(/([?!])…/g,\"$1..\").replace(/([?!]){4,}/g,\"$1$1$1\").replace(/,{2,}/g,\",\").replace(/(^|[^-])---([^-]|$)/gm,\"$1—$2\").replace(/(^|\\s)--(\\s|$)/gm,\"$1–$2\").replace(/(^|[^-\\s])--([^-\\s]|$)/gm,\"$1–$2\")),\"link_open\"===n.type&&\"auto\"===n.info&&i--,\"link_close\"===n.type&&\"auto\"===n.info&&i++}e.exports=function(e){var t;if(e.md.options.typographer)for(t=e.tokens.length-1;t>=0;t--)\"inline\"===e.tokens[t].type&&(i.test(e.tokens[t].content)&&u(e.tokens[t].children),r.test(e.tokens[t].content)&&c(e.tokens[t].children))}},function(e,t,n){\"use strict\";var r=n(23).isWhiteSpace,i=n(23).isPunctChar,o=n(23).isMdAsciiPunct,a=/['\"]/,s=/['\"]/g;function u(e,t,n){return e.substr(0,t)+n+e.substr(t+1)}function c(e,t){var n,a,c,l,p,f,d,h,m,g,y,v,b,E,x,D,C,w,S,k,A;for(S=[],n=0;n<e.length;n++){for(a=e[n],d=e[n].level,C=S.length-1;C>=0&&!(S[C].level<=d);C--);if(S.length=C+1,\"text\"===a.type){p=0,f=(c=a.content).length;e:for(;p<f&&(s.lastIndex=p,l=s.exec(c));){if(x=D=!0,p=l.index+1,w=\"'\"===l[0],m=32,l.index-1>=0)m=c.charCodeAt(l.index-1);else for(C=n-1;C>=0&&(\"softbreak\"!==e[C].type&&\"hardbreak\"!==e[C].type);C--)if(\"text\"===e[C].type){m=e[C].content.charCodeAt(e[C].content.length-1);break}if(g=32,p<f)g=c.charCodeAt(p);else for(C=n+1;C<e.length&&(\"softbreak\"!==e[C].type&&\"hardbreak\"!==e[C].type);C++)if(\"text\"===e[C].type){g=e[C].content.charCodeAt(0);break}if(y=o(m)||i(String.fromCharCode(m)),v=o(g)||i(String.fromCharCode(g)),b=r(m),(E=r(g))?x=!1:v&&(b||y||(x=!1)),b?D=!1:y&&(E||v||(D=!1)),34===g&&'\"'===l[0]&&m>=48&&m<=57&&(D=x=!1),x&&D&&(x=!1,D=v),x||D){if(D)for(C=S.length-1;C>=0&&(h=S[C],!(S[C].level<d));C--)if(h.single===w&&S[C].level===d){h=S[C],w?(k=t.md.options.quotes[2],A=t.md.options.quotes[3]):(k=t.md.options.quotes[0],A=t.md.options.quotes[1]),a.content=u(a.content,l.index,A),e[h.token].content=u(e[h.token].content,h.pos,k),p+=A.length-1,h.token===n&&(p+=k.length-1),f=(c=a.content).length,S.length=C;continue e}x?S.push({token:n,pos:l.index,single:w,level:d}):D&&w&&(a.content=u(a.content,l.index,\"’\"))}else w&&(a.content=u(a.content,l.index,\"’\"))}}}}e.exports=function(e){var t;if(e.md.options.typographer)for(t=e.tokens.length-1;t>=0;t--)\"inline\"===e.tokens[t].type&&a.test(e.tokens[t].content)&&c(e.tokens[t].children,e)}},function(e,t,n){\"use strict\";var r=n(131);function i(e,t,n){this.src=e,this.env=n,this.tokens=[],this.inlineMode=!1,this.md=t}i.prototype.Token=r,e.exports=i},function(e,t,n){\"use strict\";var r=n(130),i=[[\"table\",n(437),[\"paragraph\",\"reference\"]],[\"code\",n(438)],[\"fence\",n(439),[\"paragraph\",\"reference\",\"blockquote\",\"list\"]],[\"blockquote\",n(440),[\"paragraph\",\"reference\",\"blockquote\",\"list\"]],[\"hr\",n(441),[\"paragraph\",\"reference\",\"blockquote\",\"list\"]],[\"list\",n(442),[\"paragraph\",\"reference\",\"blockquote\"]],[\"reference\",n(443)],[\"heading\",n(444),[\"paragraph\",\"reference\",\"blockquote\"]],[\"lheading\",n(445)],[\"html_block\",n(446),[\"paragraph\",\"reference\",\"blockquote\"]],[\"paragraph\",n(448)]];function o(){this.ruler=new r;for(var e=0;e<i.length;e++)this.ruler.push(i[e][0],i[e][1],{alt:(i[e][2]||[]).slice()})}o.prototype.tokenize=function(e,t,n){for(var r,i=this.ruler.getRules(\"\"),o=i.length,a=t,s=!1,u=e.md.options.maxNesting;a<n&&(e.line=a=e.skipEmptyLines(a),!(a>=n))&&!(e.sCount[a]<e.blkIndent);){if(e.level>=u){e.line=n;break}for(r=0;r<o&&!i[r](e,a,n,!1);r++);e.tight=!s,e.isEmpty(e.line-1)&&(s=!0),(a=e.line)<n&&e.isEmpty(a)&&(s=!0,a++,e.line=a)}},o.prototype.parse=function(e,t,n,r){var i;e&&(i=new this.State(e,t,n,r),this.tokenize(i,i.line,i.lineMax))},o.prototype.State=n(449),e.exports=o},function(e,t,n){\"use strict\";var r=n(23).isSpace;function i(e,t){var n=e.bMarks[t]+e.blkIndent,r=e.eMarks[t];return e.src.substr(n,r-n)}function o(e){var t,n=[],r=0,i=e.length,o=0,a=0,s=!1,u=0;for(t=e.charCodeAt(r);r<i;)96===t?s?(s=!1,u=r):o%2==0&&(s=!0,u=r):124!==t||o%2!=0||s||(n.push(e.substring(a,r)),a=r+1),92===t?o++:o=0,++r===i&&s&&(s=!1,r=u+1),t=e.charCodeAt(r);return n.push(e.substring(a)),n}e.exports=function(e,t,n,a){var s,u,c,l,p,f,d,h,m,g,y,v;if(t+2>n)return!1;if(p=t+1,e.sCount[p]<e.blkIndent)return!1;if(e.sCount[p]-e.blkIndent>=4)return!1;if((c=e.bMarks[p]+e.tShift[p])>=e.eMarks[p])return!1;if(124!==(s=e.src.charCodeAt(c++))&&45!==s&&58!==s)return!1;for(;c<e.eMarks[p];){if(124!==(s=e.src.charCodeAt(c))&&45!==s&&58!==s&&!r(s))return!1;c++}for(f=(u=i(e,t+1)).split(\"|\"),m=[],l=0;l<f.length;l++){if(!(g=f[l].trim())){if(0===l||l===f.length-1)continue;return!1}if(!/^:?-+:?$/.test(g))return!1;58===g.charCodeAt(g.length-1)?m.push(58===g.charCodeAt(0)?\"center\":\"right\"):58===g.charCodeAt(0)?m.push(\"left\"):m.push(\"\")}if(-1===(u=i(e,t).trim()).indexOf(\"|\"))return!1;if(e.sCount[t]-e.blkIndent>=4)return!1;if((d=(f=o(u.replace(/^\\||\\|$/g,\"\"))).length)>m.length)return!1;if(a)return!0;for((h=e.push(\"table_open\",\"table\",1)).map=y=[t,0],(h=e.push(\"thead_open\",\"thead\",1)).map=[t,t+1],(h=e.push(\"tr_open\",\"tr\",1)).map=[t,t+1],l=0;l<f.length;l++)(h=e.push(\"th_open\",\"th\",1)).map=[t,t+1],m[l]&&(h.attrs=[[\"style\",\"text-align:\"+m[l]]]),(h=e.push(\"inline\",\"\",0)).content=f[l].trim(),h.map=[t,t+1],h.children=[],h=e.push(\"th_close\",\"th\",-1);for(h=e.push(\"tr_close\",\"tr\",-1),h=e.push(\"thead_close\",\"thead\",-1),(h=e.push(\"tbody_open\",\"tbody\",1)).map=v=[t+2,0],p=t+2;p<n&&!(e.sCount[p]<e.blkIndent)&&-1!==(u=i(e,p).trim()).indexOf(\"|\")&&!(e.sCount[p]-e.blkIndent>=4);p++){for(f=o(u.replace(/^\\||\\|$/g,\"\")),h=e.push(\"tr_open\",\"tr\",1),l=0;l<d;l++)h=e.push(\"td_open\",\"td\",1),m[l]&&(h.attrs=[[\"style\",\"text-align:\"+m[l]]]),(h=e.push(\"inline\",\"\",0)).content=f[l]?f[l].trim():\"\",h.children=[],h=e.push(\"td_close\",\"td\",-1);h=e.push(\"tr_close\",\"tr\",-1)}return h=e.push(\"tbody_close\",\"tbody\",-1),h=e.push(\"table_close\",\"table\",-1),y[1]=v[1]=p,e.line=p,!0}},function(e,t,n){\"use strict\";e.exports=function(e,t,n){var r,i,o;if(e.sCount[t]-e.blkIndent<4)return!1;for(i=r=t+1;r<n;)if(e.isEmpty(r))r++;else{if(!(e.sCount[r]-e.blkIndent>=4))break;i=++r}return e.line=i,(o=e.push(\"code_block\",\"code\",0)).content=e.getLines(t,i,4+e.blkIndent,!0),o.map=[t,e.line],!0}},function(e,t,n){\"use strict\";e.exports=function(e,t,n,r){var i,o,a,s,u,c,l,p=!1,f=e.bMarks[t]+e.tShift[t],d=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;if(f+3>d)return!1;if(126!==(i=e.src.charCodeAt(f))&&96!==i)return!1;if(u=f,(o=(f=e.skipChars(f,i))-u)<3)return!1;if(l=e.src.slice(u,f),a=e.src.slice(f,d),96===i&&a.indexOf(String.fromCharCode(i))>=0)return!1;if(r)return!0;for(s=t;!(++s>=n)&&!((f=u=e.bMarks[s]+e.tShift[s])<(d=e.eMarks[s])&&e.sCount[s]<e.blkIndent);)if(e.src.charCodeAt(f)===i&&!(e.sCount[s]-e.blkIndent>=4||(f=e.skipChars(f,i))-u<o||(f=e.skipSpaces(f))<d)){p=!0;break}return o=e.sCount[t],e.line=s+(p?1:0),(c=e.push(\"fence\",\"code\",0)).info=a,c.content=e.getLines(t+1,s,o,!0),c.markup=l,c.map=[t,e.line],!0}},function(e,t,n){\"use strict\";var r=n(23).isSpace;e.exports=function(e,t,n,i){var o,a,s,u,c,l,p,f,d,h,m,g,y,v,b,E,x,D,C,w,S=e.lineMax,k=e.bMarks[t]+e.tShift[t],A=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;if(62!==e.src.charCodeAt(k++))return!1;if(i)return!0;for(u=d=e.sCount[t]+k-(e.bMarks[t]+e.tShift[t]),32===e.src.charCodeAt(k)?(k++,u++,d++,o=!1,E=!0):9===e.src.charCodeAt(k)?(E=!0,(e.bsCount[t]+d)%4==3?(k++,u++,d++,o=!1):o=!0):E=!1,h=[e.bMarks[t]],e.bMarks[t]=k;k<A&&(a=e.src.charCodeAt(k),r(a));)9===a?d+=4-(d+e.bsCount[t]+(o?1:0))%4:d++,k++;for(m=[e.bsCount[t]],e.bsCount[t]=e.sCount[t]+1+(E?1:0),l=k>=A,v=[e.sCount[t]],e.sCount[t]=d-u,b=[e.tShift[t]],e.tShift[t]=k-e.bMarks[t],D=e.md.block.ruler.getRules(\"blockquote\"),y=e.parentType,e.parentType=\"blockquote\",w=!1,f=t+1;f<n&&(e.sCount[f]<e.blkIndent&&(w=!0),!((k=e.bMarks[f]+e.tShift[f])>=(A=e.eMarks[f])));f++)if(62!==e.src.charCodeAt(k++)||w){if(l)break;for(x=!1,s=0,c=D.length;s<c;s++)if(D[s](e,f,n,!0)){x=!0;break}if(x){e.lineMax=f,0!==e.blkIndent&&(h.push(e.bMarks[f]),m.push(e.bsCount[f]),b.push(e.tShift[f]),v.push(e.sCount[f]),e.sCount[f]-=e.blkIndent);break}h.push(e.bMarks[f]),m.push(e.bsCount[f]),b.push(e.tShift[f]),v.push(e.sCount[f]),e.sCount[f]=-1}else{for(u=d=e.sCount[f]+k-(e.bMarks[f]+e.tShift[f]),32===e.src.charCodeAt(k)?(k++,u++,d++,o=!1,E=!0):9===e.src.charCodeAt(k)?(E=!0,(e.bsCount[f]+d)%4==3?(k++,u++,d++,o=!1):o=!0):E=!1,h.push(e.bMarks[f]),e.bMarks[f]=k;k<A&&(a=e.src.charCodeAt(k),r(a));)9===a?d+=4-(d+e.bsCount[f]+(o?1:0))%4:d++,k++;l=k>=A,m.push(e.bsCount[f]),e.bsCount[f]=e.sCount[f]+1+(E?1:0),v.push(e.sCount[f]),e.sCount[f]=d-u,b.push(e.tShift[f]),e.tShift[f]=k-e.bMarks[f]}for(g=e.blkIndent,e.blkIndent=0,(C=e.push(\"blockquote_open\",\"blockquote\",1)).markup=\">\",C.map=p=[t,0],e.md.block.tokenize(e,t,f),(C=e.push(\"blockquote_close\",\"blockquote\",-1)).markup=\">\",e.lineMax=S,e.parentType=y,p[1]=e.line,s=0;s<b.length;s++)e.bMarks[s+t]=h[s],e.tShift[s+t]=b[s],e.sCount[s+t]=v[s],e.bsCount[s+t]=m[s];return e.blkIndent=g,!0}},function(e,t,n){\"use strict\";var r=n(23).isSpace;e.exports=function(e,t,n,i){var o,a,s,u,c=e.bMarks[t]+e.tShift[t],l=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;if(42!==(o=e.src.charCodeAt(c++))&&45!==o&&95!==o)return!1;for(a=1;c<l;){if((s=e.src.charCodeAt(c++))!==o&&!r(s))return!1;s===o&&a++}return!(a<3)&&(i||(e.line=t+1,(u=e.push(\"hr\",\"hr\",0)).map=[t,e.line],u.markup=Array(a+1).join(String.fromCharCode(o))),!0)}},function(e,t,n){\"use strict\";var r=n(23).isSpace;function i(e,t){var n,i,o,a;return i=e.bMarks[t]+e.tShift[t],o=e.eMarks[t],42!==(n=e.src.charCodeAt(i++))&&45!==n&&43!==n||i<o&&(a=e.src.charCodeAt(i),!r(a))?-1:i}function o(e,t){var n,i=e.bMarks[t]+e.tShift[t],o=i,a=e.eMarks[t];if(o+1>=a)return-1;if((n=e.src.charCodeAt(o++))<48||n>57)return-1;for(;;){if(o>=a)return-1;if(!((n=e.src.charCodeAt(o++))>=48&&n<=57)){if(41===n||46===n)break;return-1}if(o-i>=10)return-1}return o<a&&(n=e.src.charCodeAt(o),!r(n))?-1:o}e.exports=function(e,t,n,r){var a,s,u,c,l,p,f,d,h,m,g,y,v,b,E,x,D,C,w,S,k,A,T,_,O,F,N,I,M=!1,j=!0;if(e.sCount[t]-e.blkIndent>=4)return!1;if(e.listIndent>=0&&e.sCount[t]-e.listIndent>=4&&e.sCount[t]<e.blkIndent)return!1;if(r&&\"paragraph\"===e.parentType&&e.tShift[t]>=e.blkIndent&&(M=!0),(T=o(e,t))>=0){if(f=!0,O=e.bMarks[t]+e.tShift[t],v=Number(e.src.substr(O,T-O-1)),M&&1!==v)return!1}else{if(!((T=i(e,t))>=0))return!1;f=!1}if(M&&e.skipSpaces(T)>=e.eMarks[t])return!1;if(y=e.src.charCodeAt(T-1),r)return!0;for(g=e.tokens.length,f?(I=e.push(\"ordered_list_open\",\"ol\",1),1!==v&&(I.attrs=[[\"start\",v]])):I=e.push(\"bullet_list_open\",\"ul\",1),I.map=m=[t,0],I.markup=String.fromCharCode(y),E=t,_=!1,N=e.md.block.ruler.getRules(\"list\"),C=e.parentType,e.parentType=\"list\";E<n;){for(A=T,b=e.eMarks[E],p=x=e.sCount[E]+T-(e.bMarks[t]+e.tShift[t]);A<b;){if(9===(a=e.src.charCodeAt(A)))x+=4-(x+e.bsCount[E])%4;else{if(32!==a)break;x++}A++}if((l=(s=A)>=b?1:x-p)>4&&(l=1),c=p+l,(I=e.push(\"list_item_open\",\"li\",1)).markup=String.fromCharCode(y),I.map=d=[t,0],k=e.tight,S=e.tShift[t],w=e.sCount[t],D=e.listIndent,e.listIndent=e.blkIndent,e.blkIndent=c,e.tight=!0,e.tShift[t]=s-e.bMarks[t],e.sCount[t]=x,s>=b&&e.isEmpty(t+1)?e.line=Math.min(e.line+2,n):e.md.block.tokenize(e,t,n,!0),e.tight&&!_||(j=!1),_=e.line-t>1&&e.isEmpty(e.line-1),e.blkIndent=e.listIndent,e.listIndent=D,e.tShift[t]=S,e.sCount[t]=w,e.tight=k,(I=e.push(\"list_item_close\",\"li\",-1)).markup=String.fromCharCode(y),E=t=e.line,d[1]=E,s=e.bMarks[t],E>=n)break;if(e.sCount[E]<e.blkIndent)break;if(e.sCount[t]-e.blkIndent>=4)break;for(F=!1,u=0,h=N.length;u<h;u++)if(N[u](e,E,n,!0)){F=!0;break}if(F)break;if(f){if((T=o(e,E))<0)break}else if((T=i(e,E))<0)break;if(y!==e.src.charCodeAt(T-1))break}return(I=f?e.push(\"ordered_list_close\",\"ol\",-1):e.push(\"bullet_list_close\",\"ul\",-1)).markup=String.fromCharCode(y),m[1]=E,e.line=E,e.parentType=C,j&&function(e,t){var n,r,i=e.level+2;for(n=t+2,r=e.tokens.length-2;n<r;n++)e.tokens[n].level===i&&\"paragraph_open\"===e.tokens[n].type&&(e.tokens[n+2].hidden=!0,e.tokens[n].hidden=!0,n+=2)}(e,g),!0}},function(e,t,n){\"use strict\";var r=n(23).normalizeReference,i=n(23).isSpace;e.exports=function(e,t,n,o){var a,s,u,c,l,p,f,d,h,m,g,y,v,b,E,x,D=0,C=e.bMarks[t]+e.tShift[t],w=e.eMarks[t],S=t+1;if(e.sCount[t]-e.blkIndent>=4)return!1;if(91!==e.src.charCodeAt(C))return!1;for(;++C<w;)if(93===e.src.charCodeAt(C)&&92!==e.src.charCodeAt(C-1)){if(C+1===w)return!1;if(58!==e.src.charCodeAt(C+1))return!1;break}for(c=e.lineMax,E=e.md.block.ruler.getRules(\"reference\"),m=e.parentType,e.parentType=\"reference\";S<c&&!e.isEmpty(S);S++)if(!(e.sCount[S]-e.blkIndent>3||e.sCount[S]<0)){for(b=!1,p=0,f=E.length;p<f;p++)if(E[p](e,S,c,!0)){b=!0;break}if(b)break}for(w=(v=e.getLines(t,S,e.blkIndent,!1).trim()).length,C=1;C<w;C++){if(91===(a=v.charCodeAt(C)))return!1;if(93===a){h=C;break}(10===a||92===a&&++C<w&&10===v.charCodeAt(C))&&D++}if(h<0||58!==v.charCodeAt(h+1))return!1;for(C=h+2;C<w;C++)if(10===(a=v.charCodeAt(C)))D++;else if(!i(a))break;if(!(g=e.md.helpers.parseLinkDestination(v,C,w)).ok)return!1;if(l=e.md.normalizeLink(g.str),!e.md.validateLink(l))return!1;for(s=C=g.pos,u=D+=g.lines,y=C;C<w;C++)if(10===(a=v.charCodeAt(C)))D++;else if(!i(a))break;for(g=e.md.helpers.parseLinkTitle(v,C,w),C<w&&y!==C&&g.ok?(x=g.str,C=g.pos,D+=g.lines):(x=\"\",C=s,D=u);C<w&&(a=v.charCodeAt(C),i(a));)C++;if(C<w&&10!==v.charCodeAt(C)&&x)for(x=\"\",C=s,D=u;C<w&&(a=v.charCodeAt(C),i(a));)C++;return!(C<w&&10!==v.charCodeAt(C))&&(!!(d=r(v.slice(1,h)))&&(o||(void 0===e.env.references&&(e.env.references={}),void 0===e.env.references[d]&&(e.env.references[d]={title:x,href:l}),e.parentType=m,e.line=t+D+1),!0))}},function(e,t,n){\"use strict\";var r=n(23).isSpace;e.exports=function(e,t,n,i){var o,a,s,u,c=e.bMarks[t]+e.tShift[t],l=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;if(35!==(o=e.src.charCodeAt(c))||c>=l)return!1;for(a=1,o=e.src.charCodeAt(++c);35===o&&c<l&&a<=6;)a++,o=e.src.charCodeAt(++c);return!(a>6||c<l&&!r(o))&&(i||(l=e.skipSpacesBack(l,c),(s=e.skipCharsBack(l,35,c))>c&&r(e.src.charCodeAt(s-1))&&(l=s),e.line=t+1,(u=e.push(\"heading_open\",\"h\"+String(a),1)).markup=\"########\".slice(0,a),u.map=[t,e.line],(u=e.push(\"inline\",\"\",0)).content=e.src.slice(c,l).trim(),u.map=[t,e.line],u.children=[],(u=e.push(\"heading_close\",\"h\"+String(a),-1)).markup=\"########\".slice(0,a)),!0)}},function(e,t,n){\"use strict\";e.exports=function(e,t,n){var r,i,o,a,s,u,c,l,p,f,d=t+1,h=e.md.block.ruler.getRules(\"paragraph\");if(e.sCount[t]-e.blkIndent>=4)return!1;for(f=e.parentType,e.parentType=\"paragraph\";d<n&&!e.isEmpty(d);d++)if(!(e.sCount[d]-e.blkIndent>3)){if(e.sCount[d]>=e.blkIndent&&(u=e.bMarks[d]+e.tShift[d])<(c=e.eMarks[d])&&(45===(p=e.src.charCodeAt(u))||61===p)&&(u=e.skipChars(u,p),(u=e.skipSpaces(u))>=c)){l=61===p?1:2;break}if(!(e.sCount[d]<0)){for(i=!1,o=0,a=h.length;o<a;o++)if(h[o](e,d,n,!0)){i=!0;break}if(i)break}}return!!l&&(r=e.getLines(t,d,e.blkIndent,!1).trim(),e.line=d+1,(s=e.push(\"heading_open\",\"h\"+String(l),1)).markup=String.fromCharCode(p),s.map=[t,e.line],(s=e.push(\"inline\",\"\",0)).content=r,s.map=[t,e.line-1],s.children=[],(s=e.push(\"heading_close\",\"h\"+String(l),-1)).markup=String.fromCharCode(p),e.parentType=f,!0)}},function(e,t,n){\"use strict\";var r=n(447),i=n(202).HTML_OPEN_CLOSE_TAG_RE,o=[[/^<(script|pre|style)(?=(\\s|>|$))/i,/<\\/(script|pre|style)>/i,!0],[/^<!--/,/-->/,!0],[/^<\\?/,/\\?>/,!0],[/^<![A-Z]/,/>/,!0],[/^<!\\[CDATA\\[/,/\\]\\]>/,!0],[new RegExp(\"^</?(\"+r.join(\"|\")+\")(?=(\\\\s|/?>|$))\",\"i\"),/^$/,!0],[new RegExp(i.source+\"\\\\s*$\"),/^$/,!1]];e.exports=function(e,t,n,r){var i,a,s,u,c=e.bMarks[t]+e.tShift[t],l=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;if(!e.md.options.html)return!1;if(60!==e.src.charCodeAt(c))return!1;for(u=e.src.slice(c,l),i=0;i<o.length&&!o[i][0].test(u);i++);if(i===o.length)return!1;if(r)return o[i][2];if(a=t+1,!o[i][1].test(u))for(;a<n&&!(e.sCount[a]<e.blkIndent);a++)if(c=e.bMarks[a]+e.tShift[a],l=e.eMarks[a],u=e.src.slice(c,l),o[i][1].test(u)){0!==u.length&&a++;break}return e.line=a,(s=e.push(\"html_block\",\"\",0)).map=[t,a],s.content=e.getLines(t,a,e.blkIndent,!0),!0}},function(e,t,n){\"use strict\";e.exports=[\"address\",\"article\",\"aside\",\"base\",\"basefont\",\"blockquote\",\"body\",\"caption\",\"center\",\"col\",\"colgroup\",\"dd\",\"details\",\"dialog\",\"dir\",\"div\",\"dl\",\"dt\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"frame\",\"frameset\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hr\",\"html\",\"iframe\",\"legend\",\"li\",\"link\",\"main\",\"menu\",\"menuitem\",\"meta\",\"nav\",\"noframes\",\"ol\",\"optgroup\",\"option\",\"p\",\"param\",\"section\",\"source\",\"summary\",\"table\",\"tbody\",\"td\",\"tfoot\",\"th\",\"thead\",\"title\",\"tr\",\"track\",\"ul\"]},function(e,t,n){\"use strict\";e.exports=function(e,t){var n,r,i,o,a,s,u=t+1,c=e.md.block.ruler.getRules(\"paragraph\"),l=e.lineMax;for(s=e.parentType,e.parentType=\"paragraph\";u<l&&!e.isEmpty(u);u++)if(!(e.sCount[u]-e.blkIndent>3||e.sCount[u]<0)){for(r=!1,i=0,o=c.length;i<o;i++)if(c[i](e,u,l,!0)){r=!0;break}if(r)break}return n=e.getLines(t,u,e.blkIndent,!1).trim(),e.line=u,(a=e.push(\"paragraph_open\",\"p\",1)).map=[t,e.line],(a=e.push(\"inline\",\"\",0)).content=n,a.map=[t,e.line],a.children=[],a=e.push(\"paragraph_close\",\"p\",-1),e.parentType=s,!0}},function(e,t,n){\"use strict\";var r=n(131),i=n(23).isSpace;function o(e,t,n,r){var o,a,s,u,c,l,p,f;for(this.src=e,this.md=t,this.env=n,this.tokens=r,this.bMarks=[],this.eMarks=[],this.tShift=[],this.sCount=[],this.bsCount=[],this.blkIndent=0,this.line=0,this.lineMax=0,this.tight=!1,this.ddIndent=-1,this.listIndent=-1,this.parentType=\"root\",this.level=0,this.result=\"\",f=!1,s=u=l=p=0,c=(a=this.src).length;u<c;u++){if(o=a.charCodeAt(u),!f){if(i(o)){l++,9===o?p+=4-p%4:p++;continue}f=!0}10!==o&&u!==c-1||(10!==o&&u++,this.bMarks.push(s),this.eMarks.push(u),this.tShift.push(l),this.sCount.push(p),this.bsCount.push(0),f=!1,l=0,p=0,s=u+1)}this.bMarks.push(a.length),this.eMarks.push(a.length),this.tShift.push(0),this.sCount.push(0),this.bsCount.push(0),this.lineMax=this.bMarks.length-1}o.prototype.push=function(e,t,n){var i=new r(e,t,n);return i.block=!0,n<0&&this.level--,i.level=this.level,n>0&&this.level++,this.tokens.push(i),i},o.prototype.isEmpty=function(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]},o.prototype.skipEmptyLines=function(e){for(var t=this.lineMax;e<t&&!(this.bMarks[e]+this.tShift[e]<this.eMarks[e]);e++);return e},o.prototype.skipSpaces=function(e){for(var t,n=this.src.length;e<n&&(t=this.src.charCodeAt(e),i(t));e++);return e},o.prototype.skipSpacesBack=function(e,t){if(e<=t)return e;for(;e>t;)if(!i(this.src.charCodeAt(--e)))return e+1;return e},o.prototype.skipChars=function(e,t){for(var n=this.src.length;e<n&&this.src.charCodeAt(e)===t;e++);return e},o.prototype.skipCharsBack=function(e,t,n){if(e<=n)return e;for(;e>n;)if(t!==this.src.charCodeAt(--e))return e+1;return e},o.prototype.getLines=function(e,t,n,r){var o,a,s,u,c,l,p,f=e;if(e>=t)return\"\";for(l=new Array(t-e),o=0;f<t;f++,o++){for(a=0,p=u=this.bMarks[f],c=f+1<t||r?this.eMarks[f]+1:this.eMarks[f];u<c&&a<n;){if(s=this.src.charCodeAt(u),i(s))9===s?a+=4-(a+this.bsCount[f])%4:a++;else{if(!(u-p<this.tShift[f]))break;a++}u++}l[o]=a>n?new Array(a-n+1).join(\" \")+this.src.slice(u,c):this.src.slice(u,c)}return l.join(\"\")},o.prototype.Token=r,e.exports=o},function(e,t,n){\"use strict\";var r=n(130),i=[[\"text\",n(451)],[\"newline\",n(452)],[\"escape\",n(453)],[\"backticks\",n(454)],[\"strikethrough\",n(203).tokenize],[\"emphasis\",n(204).tokenize],[\"link\",n(455)],[\"image\",n(456)],[\"autolink\",n(457)],[\"html_inline\",n(458)],[\"entity\",n(459)]],o=[[\"balance_pairs\",n(460)],[\"strikethrough\",n(203).postProcess],[\"emphasis\",n(204).postProcess],[\"text_collapse\",n(461)]];function a(){var e;for(this.ruler=new r,e=0;e<i.length;e++)this.ruler.push(i[e][0],i[e][1]);for(this.ruler2=new r,e=0;e<o.length;e++)this.ruler2.push(o[e][0],o[e][1])}a.prototype.skipToken=function(e){var t,n,r=e.pos,i=this.ruler.getRules(\"\"),o=i.length,a=e.md.options.maxNesting,s=e.cache;if(void 0===s[r]){if(e.level<a)for(n=0;n<o&&(e.level++,t=i[n](e,!0),e.level--,!t);n++);else e.pos=e.posMax;t||e.pos++,s[r]=e.pos}else e.pos=s[r]},a.prototype.tokenize=function(e){for(var t,n,r=this.ruler.getRules(\"\"),i=r.length,o=e.posMax,a=e.md.options.maxNesting;e.pos<o;){if(e.level<a)for(n=0;n<i&&!(t=r[n](e,!1));n++);if(t){if(e.pos>=o)break}else e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()},a.prototype.parse=function(e,t,n,r){var i,o,a,s=new this.State(e,t,n,r);for(this.tokenize(s),a=(o=this.ruler2.getRules(\"\")).length,i=0;i<a;i++)o[i](s)},a.prototype.State=n(462),e.exports=a},function(e,t,n){\"use strict\";function r(e){switch(e){case 10:case 33:case 35:case 36:case 37:case 38:case 42:case 43:case 45:case 58:case 60:case 61:case 62:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 125:case 126:return!0;default:return!1}}e.exports=function(e,t){for(var n=e.pos;n<e.posMax&&!r(e.src.charCodeAt(n));)n++;return n!==e.pos&&(t||(e.pending+=e.src.slice(e.pos,n)),e.pos=n,!0)}},function(e,t,n){\"use strict\";var r=n(23).isSpace;e.exports=function(e,t){var n,i,o=e.pos;if(10!==e.src.charCodeAt(o))return!1;for(n=e.pending.length-1,i=e.posMax,t||(n>=0&&32===e.pending.charCodeAt(n)?n>=1&&32===e.pending.charCodeAt(n-1)?(e.pending=e.pending.replace(/ +$/,\"\"),e.push(\"hardbreak\",\"br\",0)):(e.pending=e.pending.slice(0,-1),e.push(\"softbreak\",\"br\",0)):e.push(\"softbreak\",\"br\",0)),o++;o<i&&r(e.src.charCodeAt(o));)o++;return e.pos=o,!0}},function(e,t,n){\"use strict\";for(var r=n(23).isSpace,i=[],o=0;o<256;o++)i.push(0);\"\\\\!\\\"#$%&'()*+,./:;<=>?@[]^_`{|}~-\".split(\"\").forEach((function(e){i[e.charCodeAt(0)]=1})),e.exports=function(e,t){var n,o=e.pos,a=e.posMax;if(92!==e.src.charCodeAt(o))return!1;if(++o<a){if((n=e.src.charCodeAt(o))<256&&0!==i[n])return t||(e.pending+=e.src[o]),e.pos+=2,!0;if(10===n){for(t||e.push(\"hardbreak\",\"br\",0),o++;o<a&&(n=e.src.charCodeAt(o),r(n));)o++;return e.pos=o,!0}}return t||(e.pending+=\"\\\\\"),e.pos++,!0}},function(e,t,n){\"use strict\";e.exports=function(e,t){var n,r,i,o,a,s,u=e.pos;if(96!==e.src.charCodeAt(u))return!1;for(n=u,u++,r=e.posMax;u<r&&96===e.src.charCodeAt(u);)u++;for(i=e.src.slice(n,u),o=a=u;-1!==(o=e.src.indexOf(\"`\",a));){for(a=o+1;a<r&&96===e.src.charCodeAt(a);)a++;if(a-o===i.length)return t||((s=e.push(\"code_inline\",\"code\",0)).markup=i,s.content=e.src.slice(u,o).replace(/\\n/g,\" \").replace(/^ (.+) $/,\"$1\")),e.pos=a,!0}return t||(e.pending+=i),e.pos+=i.length,!0}},function(e,t,n){\"use strict\";var r=n(23).normalizeReference,i=n(23).isSpace;e.exports=function(e,t){var n,o,a,s,u,c,l,p,f,d=\"\",h=e.pos,m=e.posMax,g=e.pos,y=!0;if(91!==e.src.charCodeAt(e.pos))return!1;if(u=e.pos+1,(s=e.md.helpers.parseLinkLabel(e,e.pos,!0))<0)return!1;if((c=s+1)<m&&40===e.src.charCodeAt(c)){for(y=!1,c++;c<m&&(o=e.src.charCodeAt(c),i(o)||10===o);c++);if(c>=m)return!1;for(g=c,(l=e.md.helpers.parseLinkDestination(e.src,c,e.posMax)).ok&&(d=e.md.normalizeLink(l.str),e.md.validateLink(d)?c=l.pos:d=\"\"),g=c;c<m&&(o=e.src.charCodeAt(c),i(o)||10===o);c++);if(l=e.md.helpers.parseLinkTitle(e.src,c,e.posMax),c<m&&g!==c&&l.ok)for(f=l.str,c=l.pos;c<m&&(o=e.src.charCodeAt(c),i(o)||10===o);c++);else f=\"\";(c>=m||41!==e.src.charCodeAt(c))&&(y=!0),c++}if(y){if(void 0===e.env.references)return!1;if(c<m&&91===e.src.charCodeAt(c)?(g=c+1,(c=e.md.helpers.parseLinkLabel(e,c))>=0?a=e.src.slice(g,c++):c=s+1):c=s+1,a||(a=e.src.slice(u,s)),!(p=e.env.references[r(a)]))return e.pos=h,!1;d=p.href,f=p.title}return t||(e.pos=u,e.posMax=s,e.push(\"link_open\",\"a\",1).attrs=n=[[\"href\",d]],f&&n.push([\"title\",f]),e.md.inline.tokenize(e),e.push(\"link_close\",\"a\",-1)),e.pos=c,e.posMax=m,!0}},function(e,t,n){\"use strict\";var r=n(23).normalizeReference,i=n(23).isSpace;e.exports=function(e,t){var n,o,a,s,u,c,l,p,f,d,h,m,g,y=\"\",v=e.pos,b=e.posMax;if(33!==e.src.charCodeAt(e.pos))return!1;if(91!==e.src.charCodeAt(e.pos+1))return!1;if(c=e.pos+2,(u=e.md.helpers.parseLinkLabel(e,e.pos+1,!1))<0)return!1;if((l=u+1)<b&&40===e.src.charCodeAt(l)){for(l++;l<b&&(o=e.src.charCodeAt(l),i(o)||10===o);l++);if(l>=b)return!1;for(g=l,(f=e.md.helpers.parseLinkDestination(e.src,l,e.posMax)).ok&&(y=e.md.normalizeLink(f.str),e.md.validateLink(y)?l=f.pos:y=\"\"),g=l;l<b&&(o=e.src.charCodeAt(l),i(o)||10===o);l++);if(f=e.md.helpers.parseLinkTitle(e.src,l,e.posMax),l<b&&g!==l&&f.ok)for(d=f.str,l=f.pos;l<b&&(o=e.src.charCodeAt(l),i(o)||10===o);l++);else d=\"\";if(l>=b||41!==e.src.charCodeAt(l))return e.pos=v,!1;l++}else{if(void 0===e.env.references)return!1;if(l<b&&91===e.src.charCodeAt(l)?(g=l+1,(l=e.md.helpers.parseLinkLabel(e,l))>=0?s=e.src.slice(g,l++):l=u+1):l=u+1,s||(s=e.src.slice(c,u)),!(p=e.env.references[r(s)]))return e.pos=v,!1;y=p.href,d=p.title}return t||(a=e.src.slice(c,u),e.md.inline.parse(a,e.md,e.env,m=[]),(h=e.push(\"image\",\"img\",0)).attrs=n=[[\"src\",y],[\"alt\",\"\"]],h.children=m,h.content=a,d&&n.push([\"title\",d])),e.pos=l,e.posMax=b,!0}},function(e,t,n){\"use strict\";var r=/^<([a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,i=/^<([a-zA-Z][a-zA-Z0-9+.\\-]{1,31}):([^<>\\x00-\\x20]*)>/;e.exports=function(e,t){var n,o,a,s,u,c,l=e.pos;return 60===e.src.charCodeAt(l)&&(!((n=e.src.slice(l)).indexOf(\">\")<0)&&(i.test(n)?(s=(o=n.match(i))[0].slice(1,-1),u=e.md.normalizeLink(s),!!e.md.validateLink(u)&&(t||((c=e.push(\"link_open\",\"a\",1)).attrs=[[\"href\",u]],c.markup=\"autolink\",c.info=\"auto\",(c=e.push(\"text\",\"\",0)).content=e.md.normalizeLinkText(s),(c=e.push(\"link_close\",\"a\",-1)).markup=\"autolink\",c.info=\"auto\"),e.pos+=o[0].length,!0)):!!r.test(n)&&(s=(a=n.match(r))[0].slice(1,-1),u=e.md.normalizeLink(\"mailto:\"+s),!!e.md.validateLink(u)&&(t||((c=e.push(\"link_open\",\"a\",1)).attrs=[[\"href\",u]],c.markup=\"autolink\",c.info=\"auto\",(c=e.push(\"text\",\"\",0)).content=e.md.normalizeLinkText(s),(c=e.push(\"link_close\",\"a\",-1)).markup=\"autolink\",c.info=\"auto\"),e.pos+=a[0].length,!0))))}},function(e,t,n){\"use strict\";var r=n(202).HTML_TAG_RE;e.exports=function(e,t){var n,i,o,a=e.pos;return!!e.md.options.html&&(o=e.posMax,!(60!==e.src.charCodeAt(a)||a+2>=o)&&(!(33!==(n=e.src.charCodeAt(a+1))&&63!==n&&47!==n&&!function(e){var t=32|e;return t>=97&&t<=122}(n))&&(!!(i=e.src.slice(a).match(r))&&(t||(e.push(\"html_inline\",\"\",0).content=e.src.slice(a,a+i[0].length)),e.pos+=i[0].length,!0))))}},function(e,t,n){\"use strict\";var r=n(201),i=n(23).has,o=n(23).isValidEntityCode,a=n(23).fromCodePoint,s=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,u=/^&([a-z][a-z0-9]{1,31});/i;e.exports=function(e,t){var n,c,l=e.pos,p=e.posMax;if(38!==e.src.charCodeAt(l))return!1;if(l+1<p)if(35===e.src.charCodeAt(l+1)){if(c=e.src.slice(l).match(s))return t||(n=\"x\"===c[1][0].toLowerCase()?parseInt(c[1].slice(1),16):parseInt(c[1],10),e.pending+=o(n)?a(n):a(65533)),e.pos+=c[0].length,!0}else if((c=e.src.slice(l).match(u))&&i(r,c[1]))return t||(e.pending+=r[c[1]]),e.pos+=c[0].length,!0;return t||(e.pending+=\"&\"),e.pos++,!0}},function(e,t,n){\"use strict\";function r(e,t){var n,r,i,o,a,s,u,c,l={},p=t.length;for(n=0;n<p;n++)if((i=t[n]).length=i.length||0,i.close){for(l.hasOwnProperty(i.marker)||(l[i.marker]=[-1,-1,-1]),a=l[i.marker][i.length%3],s=-1,r=n-i.jump-1;r>a;r-=o.jump+1)if((o=t[r]).marker===i.marker&&(-1===s&&(s=r),o.open&&o.end<0&&o.level===i.level&&(u=!1,(o.close||i.open)&&(o.length+i.length)%3==0&&(o.length%3==0&&i.length%3==0||(u=!0)),!u))){c=r>0&&!t[r-1].open?t[r-1].jump+1:0,i.jump=n-r+c,i.open=!1,o.end=n,o.jump=c,o.close=!1,s=-1;break}-1!==s&&(l[i.marker][(i.length||0)%3]=s)}}e.exports=function(e){var t,n=e.tokens_meta,i=e.tokens_meta.length;for(r(0,e.delimiters),t=0;t<i;t++)n[t]&&n[t].delimiters&&r(0,n[t].delimiters)}},function(e,t,n){\"use strict\";e.exports=function(e){var t,n,r=0,i=e.tokens,o=e.tokens.length;for(t=n=0;t<o;t++)i[t].nesting<0&&r--,i[t].level=r,i[t].nesting>0&&r++,\"text\"===i[t].type&&t+1<o&&\"text\"===i[t+1].type?i[t+1].content=i[t].content+i[t+1].content:(t!==n&&(i[n]=i[t]),n++);t!==n&&(i.length=n)}},function(e,t,n){\"use strict\";var r=n(131),i=n(23).isWhiteSpace,o=n(23).isPunctChar,a=n(23).isMdAsciiPunct;function s(e,t,n,r){this.src=e,this.env=n,this.md=t,this.tokens=r,this.tokens_meta=Array(r.length),this.pos=0,this.posMax=this.src.length,this.level=0,this.pending=\"\",this.pendingLevel=0,this.cache={},this.delimiters=[],this._prev_delimiters=[]}s.prototype.pushPending=function(){var e=new r(\"text\",\"\",0);return e.content=this.pending,e.level=this.pendingLevel,this.tokens.push(e),this.pending=\"\",e},s.prototype.push=function(e,t,n){this.pending&&this.pushPending();var i=new r(e,t,n),o=null;return n<0&&(this.level--,this.delimiters=this._prev_delimiters.pop()),i.level=this.level,n>0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],o={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(i),this.tokens_meta.push(o),i},s.prototype.scanDelims=function(e,t){var n,r,s,u,c,l,p,f,d,h=e,m=!0,g=!0,y=this.posMax,v=this.src.charCodeAt(e);for(n=e>0?this.src.charCodeAt(e-1):32;h<y&&this.src.charCodeAt(h)===v;)h++;return s=h-e,r=h<y?this.src.charCodeAt(h):32,p=a(n)||o(String.fromCharCode(n)),d=a(r)||o(String.fromCharCode(r)),l=i(n),(f=i(r))?m=!1:d&&(l||p||(m=!1)),l?g=!1:p&&(f||d||(g=!1)),t?(u=m,c=g):(u=m&&(!g||p),c=g&&(!m||d)),{can_open:u,can_close:c,length:s}},s.prototype.Token=r,e.exports=s},function(e,t,n){\"use strict\";e.exports={options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:\"language-\",linkify:!1,typographer:!1,quotes:\"“”‘’\",highlight:null,maxNesting:100},components:{core:{},block:{},inline:{}}}},function(e,t,n){\"use strict\";e.exports={options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:\"language-\",linkify:!1,typographer:!1,quotes:\"“”‘’\",highlight:null,maxNesting:20},components:{core:{rules:[\"normalize\",\"block\",\"inline\"]},block:{rules:[\"paragraph\"]},inline:{rules:[\"text\"],rules2:[\"balance_pairs\",\"text_collapse\"]}}}},function(e,t,n){\"use strict\";e.exports={options:{html:!0,xhtmlOut:!0,breaks:!1,langPrefix:\"language-\",linkify:!1,typographer:!1,quotes:\"“”‘’\",highlight:null,maxNesting:20},components:{core:{rules:[\"normalize\",\"block\",\"inline\"]},block:{rules:[\"blockquote\",\"code\",\"fence\",\"heading\",\"hr\",\"html_block\",\"lheading\",\"list\",\"reference\",\"paragraph\"]},inline:{rules:[\"autolink\",\"backticks\",\"emphasis\",\"entity\",\"escape\",\"html_inline\",\"image\",\"link\",\"newline\",\"text\"],rules2:[\"balance_pairs\",\"emphasis\",\"text_collapse\"]}}}},function(e,t,n){\"use strict\";var r=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(20),o=n(3),a=n(77),s=n(11);t.default=function(e){var t=e.type,n=e.fields,r=e.interfaces,s=e.level,u=n.filter((function(e){return!e.isDeprecated})),c=n.filter((function(e){return e.isDeprecated})),l=t instanceof i.GraphQLInterfaceType?\"interface \":\"type\";return o.createElement(h,null,o.createElement(m,null,o.createElement(\"span\",{className:\"field-name\"},l),\" \",o.createElement(g,null,t.name),\" \",0===r.length&&o.createElement(b,null,\"{\")),r.map((function(e,t){return o.createElement(y,{key:e.name,type:e,x:s,y:t,collapsable:!0,beforeNode:o.createElement(\"span\",{className:\"field-name\"},\"implements\"),afterNode:t===r.length-1?o.createElement(b,null,\"{\"):null,lastActive:!1})})),u.map((function(e,t){return o.createElement(a.default,{key:e.name,type:e,x:s,y:t+r.length,collapsable:!0,lastActive:!1})})),c.length>0&&o.createElement(\"br\",null),c.map((function(e,t){return o.createElement(\"div\",{key:e.name},o.createElement(v,null,\"# Deprecated: \",e.deprecationReason),o.createElement(a.default,{type:e,x:s,y:t+u.length+r.length,collapsable:!0,lastActive:!1}))})),o.createElement(m,null,o.createElement(b,null,\"}\")))};var u,c,l,p,f,d,h=s.styled.div(u||(u=r([\"\\n  font-size: 14px;\\n  overflow: auto;\\n  .doc-category-item {\\n    padding-left: 32px;\\n  }\\n\"],[\"\\n  font-size: 14px;\\n  overflow: auto;\\n  .doc-category-item {\\n    padding-left: 32px;\\n  }\\n\"]))),m=s.styled.div(c||(c=r([\"\\n  padding: 6px 16px;\\n  white-space: nowrap;\\n\"],[\"\\n  padding: 6px 16px;\\n  white-space: nowrap;\\n\"]))),g=s.styled.span(l||(l=r([\"\\n  color: #f25c54;\\n\"],[\"\\n  color: #f25c54;\\n\"]))),y=s.styled(a.default)(p||(p=r([\"\\n  padding-left: 16px;\\n  .field-name {\\n    color: rgb(245, 160, 0);\\n  }\\n  .type-name {\\n    color: #f25c54;\\n  }\\n\"],[\"\\n  padding-left: 16px;\\n  .field-name {\\n    color: rgb(245, 160, 0);\\n  }\\n  .type-name {\\n    color: #f25c54;\\n  }\\n\"]))),v=s.styled.p(f||(f=r([\"\\n  color: \",\";\\n  padding-right: 16px;\\n  padding-left: 32px;\\n\"],[\"\\n  color: \",\";\\n  padding-right: 16px;\\n  padding-left: 32px;\\n\"])),(function(e){return e.theme.colours.black50})),b=s.styled.span(d||(d=r([\"\\n  font-weight: 600;\\n  color: \",\";\\n\"],[\"\\n  font-weight: 600;\\n  color: \",\";\\n\"])),(function(e){return e.theme.colours.darkBlue50}))},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(3),i=n(132);t.default=function(e){var t=e.type;return r.createElement(i.DocType,{className:\"doc-type-schema\"},r.createElement(\"span\",{className:\"field-name\"},\"scalar\"),\" \",r.createElement(\"span\",{className:\"type-name\"},t.name))}},function(e,t,n){\"use strict\";var r=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(3),o=n(11),a=n(132);t.default=function(e){var t=e.type,n=e.sdlType?t._values:t.getValues(),r=n.filter((function(e){return e.isDeprecated}));return i.createElement(a.DocType,{className:\"doc-type-schema\"},i.createElement(\"span\",{className:\"field-name\"},\"enum\"),\" \",i.createElement(\"span\",{className:\"type-name\"},t.name),\" \",i.createElement(\"span\",{className:\"brace\"},\"{\"),n.filter((function(e){return!e.isDeprecated})).map((function(e,t){return i.createElement(c,{key:e.name,first:0===t,value:e})})),r.length>0&&i.createElement(\"br\",null),r.map((function(e,t){return i.createElement(c,{first:0===t,key:e.name,value:e,isDeprecated:!0})})),i.createElement(\"span\",{className:\"brace\"},\"}\"))};var s,u,c=function(e){var t=e.value,n=e.isDeprecated,r=e.first;return i.createElement(l,{first:r},i.createElement(\"div\",{className:\"field-name\"},t.name),t.description&&i.createElement(p,null,t.description),n&&i.createElement(p,null,\"Deprecated: \",t.deprecationReason))},l=o.styled(\"div\")(s||(s=r([\"\\n  margin-top: \",\"px;\\n  .field-name {\\n    padding: 0 16px;\\n    color: red;\\n  }\\n\"],[\"\\n  margin-top: \",\"px;\\n  .field-name {\\n    padding: 0 16px;\\n    color: red;\\n  }\\n\"])),(function(e){return e.first?0:6})),p=o.styled.div(u||(u=r([\"\\n  padding: 0 16px;\\n  color: \",\";\\n\"],[\"\\n  padding: 0 16px;\\n  color: \",\";\\n\"])),(function(e){return e.theme.colours.black50}))},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(77),i=n(3),o=n(132);t.default=function(e){var t=e.schema,n=e.type,a=e.level,s=e.sessionId,u=t.getPossibleTypes(n);return i.createElement(o.DocType,{className:\"doc-type-schema\"},i.createElement(\"span\",{className:\"field-name\"},\"union\"),\" \",i.createElement(\"span\",{className:\"type-name\"},n.name),\" = \",u.map((function(e,t){return i.createElement(r.default,{key:e.name,type:e,x:a,y:t+1,collapsable:!0,sessionId:s,lastActive:!1})})))}},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(3),s=n(206),u=n(471),c=n(472),l=n(207),p=n(11),f=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.render=function(){var e=this.props,t=e.searchValue,n=e.schema,r=e.width,i=e.sessionId,o=e.handleSearch;return a.createElement(s.default,{width:r,overflow:!1},a.createElement(l.default,{onSearch:o}),a.createElement(h,null,t&&a.createElement(u.default,{searchValue:t,schema:n,level:0,sessionId:i}),!t&&a.createElement(c.default,{schema:n,sessionId:i})))},t}(a.PureComponent);t.default=f;var d,h=p.styled.div(d||(d=o([\"\\n  overflow: auto;\\n\"],[\"\\n  overflow: auto;\\n\"])))},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(3),s=n(11),u=n(77),c=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.shouldComponentUpdate=function(e){return this.props.schema!==e.schema||this.props.searchValue!==e.searchValue},t.prototype.render=function(){var e=this.props.level,t=this.props.searchValue,n=this.props.withinType,r=this.props.schema,i=[],o=[],s=[],c=r.getTypeMap(),p=Object.keys(c);n&&(p=p.filter((function(e){return e!==n.name}))).unshift(n.name);for(var d=0,h=function(r){if(i.length+o.length+s.length>=100)return\"break\";var p=c[r];if(n!==p&&l(r,t)&&o.push(a.createElement(\"div\",{className:\"doc-category-item\",key:r},a.createElement(u.default,{type:p,x:e,y:d++,lastActive:!1}))),p.getFields){var f=p.getFields();Object.keys(f).forEach((function(o){var c=f[o];if(c.parent=p,!l(o,t)){if(!c.args||!c.args.length)return;if(0===c.args.filter((function(e){return l(e.name,t)})).length)return}var h=a.createElement(\"div\",{className:\"doc-category-item\",key:r+\".\"+o},a.createElement(u.default,{key:\"type\",type:c,x:e,y:d++,showParentName:!0,lastActive:!1}));n===p?i.push(h):s.push(h)}))}},m=0,g=p;m<g.length;m++){if(\"break\"===h(g[m]))break}return i.length+o.length+s.length===0?a.createElement(f,null,\"No results found.\"):n&&o.length+s.length>0?a.createElement(\"div\",null,i,a.createElement(\"div\",{className:\"doc-category\"},a.createElement(\"div\",{className:\"doc-category-title\"},\"other results\"),o,s)):a.createElement(\"div\",null,i,o,s)},t}(a.Component);function l(e,t){try{var n=t.replace(/[^_0-9A-Za-z]/g,(function(e){return\"\\\\\"+e}));return-1!==e.search(new RegExp(n,\"i\"))}catch(n){return-1!==e.toLowerCase().indexOf(t.toLowerCase())}}t.default=c;var p,f=s.styled.span(p||(p=o([\"\\n  display: block;\\n  margin-top: 16px;\\n  margin-left: 16px;\\n\"],[\"\\n  display: block;\\n  margin-top: 16px;\\n  margin-left: 16px;\\n\"])))},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(3),s=n(77),u=n(89),c=n(205),l=n(11),p=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.render=function(){var e=this.props,t=e.schema,n=e.sessionId,r=u.serializeRoot(t);return a.createElement(m,{className:\"doc-root\"},a.createElement(f,{name:\"Queries\",fields:r.queries,offset:0,sessionId:n}),r.mutations.length>0&&a.createElement(f,{name:\"Mutations\",fields:r.mutations,offset:r.queries.length,sessionId:n}),r.subscriptions.length>0&&a.createElement(f,{name:\"Subscriptions\",fields:r.subscriptions,offset:r.queries.length+r.mutations.length,sessionId:n}))},t}(a.PureComponent);function f(e){var t=e.name,n=e.fields,r=e.offset,i=n.filter((function(e){return!e.isDeprecated})),o=n.filter((function(e){return e.isDeprecated}));return a.createElement(\"div\",null,a.createElement(c.CategoryTitle,null,t),i.map((function(e,t){return a.createElement(s.default,{key:e.name,type:e,x:0,y:r+t,collapsable:!0,lastActive:!1})})),o.length>0&&a.createElement(\"br\",null),o.map((function(e,t){return a.createElement(\"div\",{key:e.name},a.createElement(g,null,\"# Deprecated: \",e.deprecationReason),a.createElement(s.default,{type:e,x:0,y:r+t+i.length,collapsable:!0,lastActive:!1}))})))}t.default=p;var d,h,m=l.styled.div(d||(d=o([\"\\n  padding-left: 6px;\\n\\n  .doc-category-item .field-name {\\n    color: #f25c54;\\n  }\\n\"],[\"\\n  padding-left: 6px;\\n\\n  .doc-category-item .field-name {\\n    color: #f25c54;\\n  }\\n\"]))),g=l.styled.p(h||(h=o([\"\\n  color: \",\";\\n  padding-right: 16px;\\n  padding-left: 16px;\\n\"],[\"\\n  color: \",\";\\n  padding-right: 16px;\\n  padding-left: 16px;\\n\"])),(function(e){return e.theme.colours.black50}))},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t){let n;return function(){clearTimeout(n),n=setTimeout(()=>{n=null,t.apply(this,arguments)},e)}}},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(3),s=n(11),u=n(52),c=n(475),l=n(30),p=n(28),f=n(32),d=n(38),h=n(157),m=h.SortableElement(c.default),g=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={sorting:!1},t.onSortStart=function(e){e.index;t.setState({sorting:!0})},t.onSortEnd=function(e){var n=e.oldIndex,r=e.newIndex;t.props.reorderTabs(n,r),t.setState({sorting:!1})},t.getHelperDimensions=function(e){var t=e.node.getBoundingClientRect();return{width:t.width,height:t.height}},t}return i(t,e),t.prototype.render=function(){var e=this.props,t=e.sessions,n=e.isApp,r=e.selectedSessionId,i=e.onNewSession,o=this.state.sorting;return a.createElement(D,{onSortStart:this.onSortStart,onSortEnd:this.onSortEnd,getHelperDimensions:this.getHelperDimensions,axis:\"x\",lockAxis:\"x\",lockToContainerEdges:!0,distance:10,transitionDuration:200},a.createElement(C,{isApp:n},t.map((function(e,t){return a.createElement(m,{key:e.id,session:e,selectedSessionId:r,index:t})})),a.createElement(w,{onClick:i,sorting:o},a.createElement(u.AddIcon,{width:34,height:34,strokeWidth:4,title:\"Opens a New Tab\"}))))},t}(a.PureComponent),y=p.createStructuredSelector({sessions:f.getSessionsArray,selectedSessionId:f.getSelectedSessionIdFromRoot});t.default=l.connect(y,{reorderTabs:d.reorderTabs})(g);var v,b,E,x=s.styled.div(v||(v=o([\"\\n  color: white;\\n  height: 57px;\\n  background: \",\";\\n  overflow: hidden;\\n  -webkit-app-region: drag;\\n  &:hover {\\n    overflow-x: overlay;\\n  }\\n\"],[\"\\n  color: white;\\n  height: 57px;\\n  background: \",\";\\n  overflow: hidden;\\n  -webkit-app-region: drag;\\n  &:hover {\\n    overflow-x: overlay;\\n  }\\n\"])),(function(e){return e.theme.editorColours.background})),D=h.SortableContainer(x),C=s.styled(\"div\")(b||(b=o([\"\\n  display: flex;\\n  align-items: center;\\n  margin-top: 16px;\\n  padding-left: \",\";\\n\"],[\"\\n  display: flex;\\n  align-items: center;\\n  margin-top: 16px;\\n  padding-left: \",\";\\n\"])),(function(e){return e.isApp?\"43px\":\"0\"})),w=s.styled(\"div\")(E||(E=o([\"\\n  -webkit-app-region: no-drag;\\n  box-sizing: border-box;\\n  display: flex;\\n  visibility: \",\"\\n  height: 43px;\\n  width: 43px;\\n  border-radius: 2px;\\n  border-bottom: 2px solid \",\";\\n  background: \",\";\\n  justify-content: center;\\n  align-items: center;\\n  svg {\\n    stroke: \",\";\\n  }\\n  &:hover {\\n    background: \",\";\\n  }\\n\"],[\"\\n  -webkit-app-region: no-drag;\\n  box-sizing: border-box;\\n  display: flex;\\n  visibility: \",\"\\n  height: 43px;\\n  width: 43px;\\n  border-radius: 2px;\\n  border-bottom: 2px solid \",\";\\n  background: \",\";\\n  justify-content: center;\\n  align-items: center;\\n  svg {\\n    stroke: \",\";\\n  }\\n  &:hover {\\n    background: \",\";\\n  }\\n\"])),(function(e){return e.sorting?\"hidden\":\"visible\"}),(function(e){return e.theme.editorColours.navigationBar}),(function(e){return e.theme.editorColours.tabInactive}),(function(e){return e.theme.editorColours.icon}),(function(e){return e.theme.editorColours.tab}))},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(3),s=n(52),u=n(30),c=n(38),l=n(11),p=n(476),f=function(e){function t(t){var n=e.call(this,t)||this;return n.startEditName=function(){n.setState({editingName:!0})},n.stopEditName=function(){n.setState({editingName:!1})},n.handleKeyDown=function(e){13===e.keyCode&&n.setState({editingName:!1})},n.handleMouseOverCross=function(){n.setState({overCross:!0})},n.handleMouseOutCross=function(){n.setState({overCross:!1})},n.handleSelectSession=function(){n.props.selectTab(n.props.session.id)},n.handleCloseSession=function(e){e.stopPropagation(),n.props.closeTab(n.props.session.id)},n.handleEditName=function(e){n.props.editName(e.target.value)},n.state={overCross:!1,editingName:!1},n}return i(t,e),t.prototype.render=function(){var e=this.props,t=e.session,n=e.selectedSessionId,r=t.queryTypes,i=t.id===n,o=t.name||t.operationName||r.firstOperationName||\"New Tab\";return a.createElement(S,{active:i,onMouseDown:this.handleSelectSession},a.createElement(T,{active:i},t.subscriptionActive&&a.createElement(M,null),a.createElement(_,null,r.query&&a.createElement(F,null,\"Q\"),(t.isSettingsTab||t.isConfigTab)&&a.createElement(F,null,a.createElement(s.SettingsIcon,{width:12,height:12,fill:\"white\"})),r.mutation&&a.createElement(N,null,\"M\"),r.subscription&&a.createElement(I,null,\"S\"))),this.state.editingName?a.createElement(A,{value:t.name||\"\",onChange:this.handleEditName,onBlur:this.stopEditName,onKeyDown:this.handleKeyDown,autoFocus:!0}):a.createElement(k,{active:i,onDoubleClick:this.startEditName},o),a.createElement(L,{className:\"close\",active:i,hasCircle:t.isFile&&t.changed&&!this.state.overCross,onClick:this.handleCloseSession,onMouseEnter:this.handleMouseOverCross,onMouseLeave:this.handleMouseOutCross},t.isFile&&t.changed&&!this.state.overCross?a.createElement(j,null,\"⬤\"):a.createElement(s.CrossIcon,{width:12,height:11,strokeWidth:7,title:\"Close Tab\"})))},t}(a.PureComponent);t.default=u.connect(null,{closeTab:c.closeTab,selectTab:c.selectTab,editName:c.editName})(f);var d,h,m,g,y,v,b,E,x,D,C,w,S=l.styled(\"div\")(d||(d=o([\"\\n  -webkit-app-region: no-drag;\\n  flex: 0 0 auto;\\n  display: flex;\\n  align-items: center;\\n  height: 43px;\\n  padding: 10px;\\n  padding-top: 9px;\\n  margin-right: 10px;\\n  font-size: 14px;\\n  border-radius: 2px;\\n  border-bottom: 2px solid \",\";\\n  box-sizing: border-box;\\n  cursor: pointer;\\n  user-select: none;\\n  background: \",\";\\n  &:hover {\\n    background: \",\";\\n    .close {\\n      opacity: 1;\\n    }\\n  }\\n\"],[\"\\n  -webkit-app-region: no-drag;\\n  flex: 0 0 auto;\\n  display: flex;\\n  align-items: center;\\n  height: 43px;\\n  padding: 10px;\\n  padding-top: 9px;\\n  margin-right: 10px;\\n  font-size: 14px;\\n  border-radius: 2px;\\n  border-bottom: 2px solid \",\";\\n  box-sizing: border-box;\\n  cursor: pointer;\\n  user-select: none;\\n  background: \",\";\\n  &:hover {\\n    background: \",\";\\n    .close {\\n      opacity: 1;\\n    }\\n  }\\n\"])),(function(e){return e.theme.editorColours.navigationBar}),(function(e){return e.active?e.theme.editorColours.tab:e.theme.editorColours.tabInactive}),(function(e){return e.theme.editorColours.tab})),k=l.styled(\"div\")(h||(h=o([\"\\n  opacity: \",\";\\n  background: transparent;\\n  color: \",\";\\n  font-size: 14px;\\n  margin-left: 2px;\\n  display: inline;\\n  letter-spacing: 0.53px;\\n\"],[\"\\n  opacity: \",\";\\n  background: transparent;\\n  color: \",\";\\n  font-size: 14px;\\n  margin-left: 2px;\\n  display: inline;\\n  letter-spacing: 0.53px;\\n\"])),(function(e){return e.active?1:.5}),(function(e){return e.theme.editorColours.tabText})),A=l.styled(p.default)(m||(m=o([\"\\n  input {\\n    background: transparent;\\n    color: \",\";\\n    font-size: 14px;\\n    margin-left: 2px;\\n    display: inline;\\n    letter-spacing: 0.53px;\\n  }\\n\"],[\"\\n  input {\\n    background: transparent;\\n    color: \",\";\\n    font-size: 14px;\\n    margin-left: 2px;\\n    display: inline;\\n    letter-spacing: 0.53px;\\n  }\\n\"])),(function(e){return e.theme.editorColours.tabText})),T=l.styled(\"div\")(g||(g=o([\"\\n  display: flex;\\n  align-items: center;\\n  opacity: \",\";\\n\"],[\"\\n  display: flex;\\n  align-items: center;\\n  opacity: \",\";\\n\"])),(function(e){return e.active?1:.5})),_=l.styled.div(y||(y=o([\"\\n  display: flex;\\n  color: white;\\n\"],[\"\\n  display: flex;\\n  color: white;\\n\"]))),O=l.styled.div(v||(v=o([\"\\n  height: 22px;\\n  width: 22px;\\n  display: flex;\\n  align-items: center;\\n  justify-content: center;\\n  margin-right: 4px;\\n  font-size: 12px;\\n  font-weight: 700;\\n  border-radius: 2px;\\n\"],[\"\\n  height: 22px;\\n  width: 22px;\\n  display: flex;\\n  align-items: center;\\n  justify-content: center;\\n  margin-right: 4px;\\n  font-size: 12px;\\n  font-weight: 700;\\n  border-radius: 2px;\\n\"]))),F=l.styled(O)(b||(b=o([\"\\n  background: \",\";\\n\"],[\"\\n  background: \",\";\\n\"])),(function(e){return e.theme.colours.blue})),N=l.styled(O)(E||(E=o([\"\\n  background: \",\";\\n\"],[\"\\n  background: \",\";\\n\"])),(function(e){return e.theme.colours.orange})),I=l.styled(O)(x||(x=o([\"\\n  background: \",\";\\n\"],[\"\\n  background: \",\";\\n\"])),(function(e){return e.theme.colours.purple})),M=l.styled.div(D||(D=o([\"\\n  width: 7px;\\n  height: 7px;\\n  background: rgba(242, 92, 84, 1);\\n  border-radius: 100%;\\n  margin-right: 10px;\\n\"],[\"\\n  width: 7px;\\n  height: 7px;\\n  background: rgba(242, 92, 84, 1);\\n  border-radius: 100%;\\n  margin-right: 10px;\\n\"]))),j=l.styled.div(C||(C=o([\"\\n  position: relative;\\n  top: -2px;\\n  font-size: 9px;\\n  background: \",\";\\n\"],[\"\\n  position: relative;\\n  top: -2px;\\n  font-size: 9px;\\n  background: \",\";\\n\"])),(function(e){return e.theme.editorColours.circle})),L=l.styled(\"div\")(w||(w=o([\"\\n  position: relative;\\n  display: flex;\\n  margin-left: 10px;\\n  top: 1px;\\n  height: 13px;\\n  width: 13px;\\n  opacity: \",\";\\n  svg {\\n    stroke: \",\";\\n  }\\n\"],[\"\\n  position: relative;\\n  display: flex;\\n  margin-left: 10px;\\n  top: 1px;\\n  height: 13px;\\n  width: 13px;\\n  opacity: \",\";\\n  svg {\\n    stroke: \",\";\\n  }\\n\"])),(function(e){return e.active||e.hasCircle?1:0}),(function(e){return e.theme.editorColours.icon}))},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(3),a=u(o),s=u(n(7));function u(e){return e&&e.__esModule?e:{default:e}}var c={position:\"absolute\",top:0,left:0,visibility:\"hidden\",height:0,overflow:\"scroll\",whiteSpace:\"pre\"},l=[\"extraWidth\",\"injectStyles\",\"inputClassName\",\"inputRef\",\"inputStyle\",\"minWidth\",\"onAutosize\",\"placeholderIsMinWidth\"],p=function(e,t){t.style.fontSize=e.fontSize,t.style.fontFamily=e.fontFamily,t.style.fontWeight=e.fontWeight,t.style.fontStyle=e.fontStyle,t.style.letterSpacing=e.letterSpacing,t.style.textTransform=e.textTransform},f=!(\"undefined\"==typeof window||!window.navigator)&&/MSIE |Trident\\/|Edge\\//.test(window.navigator.userAgent),d=function(){return f?\"_\"+Math.random().toString(36).substr(2,12):void 0},h=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.inputRef=function(e){n.input=e,\"function\"==typeof n.props.inputRef&&n.props.inputRef(e)},n.placeHolderSizerRef=function(e){n.placeHolderSizer=e},n.sizerRef=function(e){n.sizer=e},n.state={inputWidth:e.minWidth,inputId:e.id||d()},n}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:\"componentDidMount\",value:function(){this.mounted=!0,this.copyInputStyles(),this.updateInputWidth()}},{key:\"UNSAFE_componentWillReceiveProps\",value:function(e){var t=e.id;t!==this.props.id&&this.setState({inputId:t||d()})}},{key:\"componentDidUpdate\",value:function(e,t){t.inputWidth!==this.state.inputWidth&&\"function\"==typeof this.props.onAutosize&&this.props.onAutosize(this.state.inputWidth),this.updateInputWidth()}},{key:\"componentWillUnmount\",value:function(){this.mounted=!1}},{key:\"copyInputStyles\",value:function(){if(this.mounted&&window.getComputedStyle){var e=this.input&&window.getComputedStyle(this.input);e&&(p(e,this.sizer),this.placeHolderSizer&&p(e,this.placeHolderSizer))}}},{key:\"updateInputWidth\",value:function(){if(this.mounted&&this.sizer&&void 0!==this.sizer.scrollWidth){var e=void 0;e=this.props.placeholder&&(!this.props.value||this.props.value&&this.props.placeholderIsMinWidth)?Math.max(this.sizer.scrollWidth,this.placeHolderSizer.scrollWidth)+2:this.sizer.scrollWidth+2,(e+=\"number\"===this.props.type&&void 0===this.props.extraWidth?16:parseInt(this.props.extraWidth)||0)<this.props.minWidth&&(e=this.props.minWidth),e!==this.state.inputWidth&&this.setState({inputWidth:e})}}},{key:\"getInput\",value:function(){return this.input}},{key:\"focus\",value:function(){this.input.focus()}},{key:\"blur\",value:function(){this.input.blur()}},{key:\"select\",value:function(){this.input.select()}},{key:\"renderStyles\",value:function(){var e=this.props.injectStyles;return f&&e?a.default.createElement(\"style\",{dangerouslySetInnerHTML:{__html:\"input#\"+this.state.inputId+\"::-ms-clear {display: none;}\"}}):null}},{key:\"render\",value:function(){var e=[this.props.defaultValue,this.props.value,\"\"].reduce((function(e,t){return null!=e?e:t})),t=r({},this.props.style);t.display||(t.display=\"inline-block\");var n=r({boxSizing:\"content-box\",width:this.state.inputWidth+\"px\"},this.props.inputStyle),i=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(this.props,[]);return function(e){l.forEach((function(t){return delete e[t]}))}(i),i.className=this.props.inputClassName,i.id=this.state.inputId,i.style=n,a.default.createElement(\"div\",{className:this.props.className,style:t},this.renderStyles(),a.default.createElement(\"input\",r({},i,{ref:this.inputRef})),a.default.createElement(\"div\",{ref:this.sizerRef,style:c},e),this.props.placeholder?a.default.createElement(\"div\",{ref:this.placeHolderSizerRef,style:c},this.props.placeholder):null)}}]),t}(o.Component);h.propTypes={className:s.default.string,defaultValue:s.default.any,extraWidth:s.default.oneOfType([s.default.number,s.default.string]),id:s.default.string,injectStyles:s.default.bool,inputClassName:s.default.string,inputRef:s.default.func,inputStyle:s.default.object,minWidth:s.default.oneOfType([s.default.number,s.default.string]),onAutosize:s.default.func,onChange:s.default.func,placeholder:s.default.string,placeholderIsMinWidth:s.default.bool,style:s.default.object,value:s.default.any},h.defaultProps={minWidth:1,injectStyles:!0},t.default=h},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(3),s=n(252),u=n(478),c=n(480),l=n(68),p=n(121),f=n(11),d=n(30),h=n(28),m=n(481),g=n(109),y=n(98),v=n(38),b=n(118),E=n(69),x=n(52),D=function(e){function t(t){var n=e.call(this,t)||this;n.handleClickUse=function(){var e=n.props.items.get(n.state.selectedItemIndex);n.props.duplicateSession(e),n.props.closeHistory()},n.handleItemSelect=function(e){n.setState({selectedItemIndex:e})},n.handleSelectFilter=function(e){n.setState({selectedFilter:e})},n.handleSearch=function(e){n.setState({searchTerm:e})};var r=t.items.keySeq().first()||\"\";return n.state={selectedFilter:\"HISTORY\",selectedItemIndex:r,searchTerm:\"\"},n}return i(t,e),t.prototype.render=function(){var e=this.state,t=e.searchTerm,n=e.selectedFilter,r=this.props.items.filter((function(e){return\"STARRED\"===n?e.starred:!(t&&t.length>0)||e.query.toLowerCase().includes(t.toLowerCase())})),i=this.props.items.get(this.state.selectedItemIndex);return i=i&&i.toJS?i.toJS():void 0,a.createElement(s,{isOpen:this.props.isOpen,onRequestClose:this.props.closeHistory,contentLabel:\"GraphiQL Session History\",style:l.modalStyle,ariaHideApp:!1},a.createElement(L,null,a.createElement(P,null,a.createElement(u.default,{onSelectFilter:this.handleSelectFilter,selectedFilter:this.state.selectedFilter,onSearch:this.handleSearch}),a.createElement(c.default,{items:r,selectedItemIndex:this.state.selectedItemIndex,searchTerm:this.state.searchTerm,onItemSelect:this.handleItemSelect,onItemStarToggled:this.props.toggleHistoryItemStarring})),Boolean(i)?a.createElement(R,null,a.createElement(B,null,a.createElement(V,null),a.createElement(q,{onClick:this.handleClickUse},a.createElement(H,null,\"Use\"),a.createElement(x.ArrowRight,{color:\"white\",width:13,height:13}))),a.createElement(W,null,a.createElement(G,null,a.createElement(E.Container,null,a.createElement(K,null,a.createElement(p.QueryEditor,{value:i.query})))))):a.createElement(R,null,a.createElement(U,null,a.createElement(z,null,\"No History yet\")))))},t}(a.Component),C=h.createStructuredSelector({items:m.getHistory,isOpen:g.getHistoryOpen});t.default=d.connect(C,{closeHistory:y.closeHistory,openHistory:y.openHistory,duplicateSession:v.duplicateSession,toggleHistoryItemStarring:b.toggleHistoryItemStarring})(D);var w,S,k,A,T,_,O,F,N,I,M,j,L=f.styled.div(w||(w=o([\"\\n  display: flex;\\n  min-height: 500px;\\n\"],[\"\\n  display: flex;\\n  min-height: 500px;\\n\"]))),P=f.styled.div(S||(S=o([\"\\n  flex: 1;\\n\\n  background: white;\\n\"],[\"\\n  flex: 1;\\n\\n  background: white;\\n\"]))),R=f.styled.div(k||(k=o([\"\\n  flex: 0 0 464px;\\n  z-index: 2;\\n\"],[\"\\n  flex: 0 0 464px;\\n  z-index: 2;\\n\"]))),B=f.styled.div(A||(A=o([\"\\n  display: flex;\\n  justify-content: space-between;\\n  align-items: center;\\n\\n  padding-left: \",\";\\n  padding-right: \",\";\\n  padding-top: 20px;\\n  padding-bottom: 20px;\\n\\n  background: \",\";\\n\"],[\"\\n  display: flex;\\n  justify-content: space-between;\\n  align-items: center;\\n\\n  padding-left: \",\";\\n  padding-right: \",\";\\n  padding-top: 20px;\\n  padding-bottom: 20px;\\n\\n  background: \",\";\\n\"])),(function(e){return e.theme.sizes.medium25}),(function(e){return e.theme.sizes.medium25}),(function(e){return e.theme.editorColours.resultBackground})),U=f.styled.div(T||(T=o([\"\\n  height: 100%;\\n  display: flex;\\n  justify-content: center;\\n  align-items: center;\\n\\n  background: \",\";\\n\"],[\"\\n  height: 100%;\\n  display: flex;\\n  justify-content: center;\\n  align-items: center;\\n\\n  background: \",\";\\n\"])),(function(e){return e.theme.editorColours.resultBackground})),z=f.styled.div(_||(_=o([\"\\n  font-size: 16px;\\n  color: \",\";\\n\"],[\"\\n  font-size: 16px;\\n  color: \",\";\\n\"])),(function(e){return e.theme.editorColours.text})),V=f.styled.div(O||(O=o([\"\\n  font-size: \",\";\\n  font-weight: \",\";\\n  text-transform: uppercase;\\n  color: rgba(255, 255, 255, 0.4);\\n\"],[\"\\n  font-size: \",\";\\n  font-weight: \",\";\\n  text-transform: uppercase;\\n  color: rgba(255, 255, 255, 0.4);\\n\"])),(function(e){return e.theme.sizes.fontSmall}),(function(e){return e.theme.sizes.fontSemiBold})),q=f.styled.div(F||(F=o([\"\\n  display: flex;\\n  align-items: center;\\n\\n  padding-top: \",\";\\n  padding-bottom: \",\";\\n  padding-left: \",\";\\n  padding-right: \",\";\\n\\n  font-size: \",\";\\n  font-weight: \",\";\\n\\n  border-radius: \",\";\\n  background: \",\";\\n  cursor: pointer;\\n\"],[\"\\n  display: flex;\\n  align-items: center;\\n\\n  padding-top: \",\";\\n  padding-bottom: \",\";\\n  padding-left: \",\";\\n  padding-right: \",\";\\n\\n  font-size: \",\";\\n  font-weight: \",\";\\n\\n  border-radius: \",\";\\n  background: \",\";\\n  cursor: pointer;\\n\"])),(function(e){return e.theme.sizes.small10}),(function(e){return e.theme.sizes.small10}),(function(e){return e.theme.sizes.small16}),(function(e){return e.theme.sizes.small16}),(function(e){return e.theme.sizes.fontSmall}),(function(e){return e.theme.sizes.fontSemiBold}),(function(e){return e.theme.sizes.smallRadius}),(function(e){return e.theme.colours.green})),H=f.styled.div(N||(N=o([\"\\n  margin-right: \",\";\\n  color: white;\\n\"],[\"\\n  margin-right: \",\";\\n  color: white;\\n\"])),(function(e){return e.theme.sizes.small6})),W=f.styled.div(I||(I=o([\"\\n  height: calc(100% - 81px);\\n  display: flex;\\n  flex: 1 1 auto;\\n\"],[\"\\n  height: calc(100% - 81px);\\n  display: flex;\\n  flex: 1 1 auto;\\n\"]))),G=f.styled(W)(M||(M=o([\"\\n  width: 100%;\\n  height: 100%;\\n  position: relative;\\n  display: flex;\\n  flex: 1 1 auto;\\n\"],[\"\\n  width: 100%;\\n  height: 100%;\\n  position: relative;\\n  display: flex;\\n  flex: 1 1 auto;\\n\"]))),K=f.styled.div(j||(j=o([\"\\n  display: flex;\\n  flex-direction: column;\\n  flex: 1;\\n\"],[\"\\n  display: flex;\\n  flex-direction: column;\\n  flex: 1;\\n\"])))},function(e,t,n){\"use strict\";var r=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(3),o=n(479),a=n(11),s=n(207);t.default=function(e){return i.createElement(c,null,i.createElement(o.default,{onSelectFilter:e.onSelectFilter,selectedFilter:e.selectedFilter}),i.createElement(s.default,{placeholder:\"Search the history...\",onSearch:e.onSearch,clean:!0}))};var u,c=a.styled.div(u||(u=r([\"\\n  display: flex;\\n  justify-content: space-between;\\n  align-items: center;\\n  padding: 16px;\\n  background: \",\";\\n\"],[\"\\n  display: flex;\\n  justify-content: space-between;\\n  align-items: center;\\n  padding: 16px;\\n  background: \",\";\\n\"])),(function(e){return e.theme.colours.black02}))},function(e,t,n){\"use strict\";var r=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(3),o=n(11),a=n(52);t.default=o.withTheme((function(e){var t=e.selectedFilter,n=e.onSelectFilter,r=e.theme;return i.createElement(l,null,i.createElement(p,{active:\"HISTORY\"===t,onClick:function(){return n(\"HISTORY\")}},i.createElement(a.History,{color:\"HISTORY\"===t?r.colours.white:r.colours.black30,strokeWidth:3,width:25,height:25}),i.createElement(f,null,\"History\")),i.createElement(p,{active:\"STARRED\"===t,onClick:function(){return n(\"STARRED\")}},i.createElement(a.Star,{color:\"STARRED\"===t?r.colours.white:r.colours.black30,width:16,height:16}),i.createElement(f,null,\"Starred\")))}));var s,u,c,l=o.styled.div(s||(s=r([\"\\n  display: flex;\\n  align-items: center;\\n\"],[\"\\n  display: flex;\\n  align-items: center;\\n\"]))),p=o.styled(\"div\")(u||(u=r([\"\\n  box-sizing: content-box;\\n  height: 24px;\\n  z-index: \",\";\\n  display: flex;\\n  align-items: center;\\n  margin: 0 -2px;\\n  padding: \",\";\\n  background: \",\";\\n\\n  color: \",\";\\n  font-size: 14px;\\n  font-weight: 600;\\n  text-transform: uppercase;\\n  border-radius: 2px;\\n  cursor: pointer;\\n\"],[\"\\n  box-sizing: content-box;\\n  height: 24px;\\n  z-index: \",\";\\n  display: flex;\\n  align-items: center;\\n  margin: 0 -2px;\\n  padding: \",\";\\n  background: \",\";\\n\\n  color: \",\";\\n  font-size: 14px;\\n  font-weight: 600;\\n  text-transform: uppercase;\\n  border-radius: 2px;\\n  cursor: pointer;\\n\"])),(function(e){return e.active?2:0}),(function(e){return e.active?\"7px 9px 8px 9px\":\"5px 13px 6px 13px\"}),(function(e){return e.active?e.theme.colours.green:e.theme.colours.black07}),(function(e){return e.active?e.theme.colours.white:e.theme.colours.black30})),f=o.styled.p(c||(c=r([\"\\n  margin-left: 6px;\\n\"],[\"\\n  margin-left: 6px;\\n\"])))},function(e,t,n){\"use strict\";var r=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(3),o=n(52),a=n(11);t.default=a.withTheme((function(e){var t=e.items,n=e.onItemSelect,r=e.selectedItemIndex,a=e.onItemStarToggled;e.theme;return i.createElement(y,null,t.map((function(e,t){return i.createElement(v,{key:e.id,active:r===t,onClick:function(){return n(t)}},i.createElement(E,null,i.createElement(o.Star,{onClick:function(){return a(e.id)},stroke:e.starred?void 0:\"rgb(221,171,0)\",fill:e.starred?\"rgb(221,171,0)\":void 0,strokeWidth:.5,width:25,height:25}),i.createElement(b,null,i.createElement(x,null,e.operationName||e.queryTypes.firstOperationName||\"New Session\"),e.queryTypes.query&&i.createElement(C,null,\"Q\"),e.queryTypes.mutation&&i.createElement(w,null,\"M\"),e.queryTypes.subscription&&i.createElement(S,null,\"S\"))),i.createElement(E,null,e.date&&i.createElement(k,null,\"function\"==typeof e.date.getMonth&&e.date.getMonth()+1,\"/\",e.date.getDate(),\"/\",e.date.getFullYear().toString().slice(2,4))))})).toArray().map((function(e){return e[1]})))}));var s,u,c,l,p,f,d,h,m,g,y=a.styled.div(s||(s=r([\"\\n  overflow-y: scroll;\\n  max-height: calc(100vh - 121px);\\n\"],[\"\\n  overflow-y: scroll;\\n  max-height: calc(100vh - 121px);\\n\"]))),v=a.styled(\"div\")(u||(u=r([\"\\n  display: flex;\\n  align-items: center;\\n  justify-content: space-between;\\n  padding: 25px 20px;\\n  cursor: pointer;\\n  border-bottom: 1px solid;\\n  border-color: \",\";\\n  background: \",\";\\n\"],[\"\\n  display: flex;\\n  align-items: center;\\n  justify-content: space-between;\\n  padding: 25px 20px;\\n  cursor: pointer;\\n  border-bottom: 1px solid;\\n  border-color: \",\";\\n  background: \",\";\\n\"])),(function(e){return e.theme.colours.black10}),(function(e){return e.active?e.theme.colours.black04:e.theme.colours.white})),b=a.styled.div(c||(c=r([\"\\n  display: flex;\\n  align-items: center;\\n  margin-left: 20px;\\n\"],[\"\\n  display: flex;\\n  align-items: center;\\n  margin-left: 20px;\\n\"]))),E=a.styled.div(l||(l=r([\"\\n  display: flex;\\n  align-items: center;\\n\"],[\"\\n  display: flex;\\n  align-items: center;\\n\"]))),x=a.styled.p(p||(p=r([\"\\n  font-weight: 300;\\n  font-size: 20px;\\n  margin-right: 16px;\\n\"],[\"\\n  font-weight: 300;\\n  font-size: 20px;\\n  margin-right: 16px;\\n\"]))),D=a.styled.div(f||(f=r([\"\\n  height: 21px;\\n  width: 21px;\\n  display: flex;\\n  justify-content: center;\\n  align-items: center;\\n  margin-right: 4px;\\n  border-radius: 2px;\\n  font-weight: 700;\\n  font-size: 12px;\\n  color: \",\";\\n\"],[\"\\n  height: 21px;\\n  width: 21px;\\n  display: flex;\\n  justify-content: center;\\n  align-items: center;\\n  margin-right: 4px;\\n  border-radius: 2px;\\n  font-weight: 700;\\n  font-size: 12px;\\n  color: \",\";\\n\"])),(function(e){return e.theme.colours.white})),C=a.styled(D)(d||(d=r([\"\\n  background: \",\";\\n\"],[\"\\n  background: \",\";\\n\"])),(function(e){return e.theme.colours.blue})),w=a.styled(D)(h||(h=r([\"\\n  background: \",\";\\n\"],[\"\\n  background: \",\";\\n\"])),(function(e){return e.theme.colours.orange})),S=a.styled(D)(m||(m=r([\"\\n  background: \",\";\\n\"],[\"\\n  background: \",\";\\n\"])),(function(e){return e.theme.colours.purple})),k=a.styled.time(g||(g=r([\"\\n  color: \",\";\\n  font-size: 14px;\\n  margin-left: 16px;\\n\"],[\"\\n  color: \",\";\\n  font-size: 14px;\\n  margin-left: 16px;\\n\"])),(function(e){return e.theme.colours.black40}))},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(28),i=n(42);t.getHistory=r.createSelector([i.getSelectedWorkspace],(function(e){return e.history}))},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(3),s=n(52),u=n(11),c=n(38),l=n(30),p=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.render=function(){return a.createElement(h,null,a.createElement(m,null,a.createElement(s.SettingsIcon,{width:23,height:23,onClick:this.props.onClick,title:\"Settings\"})))},t}(a.Component);t.default=l.connect(null,{onClick:c.openSettingsTab})(p);var f,d,h=u.styled.div(f||(f=o([\"\\n  position: absolute;\\n  z-index: 1005;\\n  right: 20px;\\n  top: 17px;\\n\"],[\"\\n  position: absolute;\\n  z-index: 1005;\\n  right: 20px;\\n  top: 17px;\\n\"]))),m=u.styled.div(d||(d=o([\"\\n  position: relative;\\n  cursor: pointer;\\n\\n  svg {\\n    fill: \",\";\\n    transition: 0.1s linear fill;\\n  }\\n\\n  &:hover {\\n    svg {\\n      fill: \",\";\\n    }\\n  }\\n\"],[\"\\n  position: relative;\\n  cursor: pointer;\\n\\n  svg {\\n    fill: \",\";\\n    transition: 0.1s linear fill;\\n  }\\n\\n  &:hover {\\n    svg {\\n      fill: \",\";\\n    }\\n  }\\n\"])),(function(e){return e.theme.editorColours.icon}),(function(e){return e.theme.editorColours.iconHover}))},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(3),s=n(11),u=n(128),c=n(484),l=n(30),p=n(28),f=n(109),d=n(98),h=n(38),m=n(42),g=n(69),y=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.handleKeydown=function(e){\"s\"===e.key&&e.metaKey&&(e.preventDefault(),t.props.onSave())},t}return i(t,e),t.prototype.componentDidMount=function(){window.addEventListener(\"keydown\",this.handleKeydown,!0)},t.prototype.render=function(){var e=this.props.isConfig;return a.createElement(g.Container,null,a.createElement(w,null,a.createElement(g.default,null,a.createElement(c.ConfigEditor,{value:this.props.value,onEdit:this.props.onChange,onRunQuery:this.props.onSave,isYaml:this.props.isYaml,readOnly:this.props.readOnly}),a.createElement(k,null,window.version)),!this.props.readOnly&&a.createElement(S,null,a.createElement(u.Button,{onClick:this.props.onSave},\"Save \",e?\"Config\":\"Settings\"))))},t}(a.Component);t.SettingsEditor=y;var v=p.createStructuredSelector({value:m.getSettingsString}),b=function(e){function t(t){var n=e.call(this,t)||this;return n.handleChange=function(e){n.setState({value:e}),n.props.editSettings()},n.handleSave=function(){n.props.onChange(n.state.value),n.props.saveSettings()},n.state={value:t.value},n}return i(t,e),t.prototype.UNSAFE_componentWillReceiveProps=function(e){e.value!==this.props.value&&this.setState({value:e.value})},t.prototype.render=function(){return a.createElement(y,{value:this.state.value,onChange:this.handleChange,onSave:this.handleSave})},t}(a.Component);t.PlaygroundSettingsEditor=l.connect(v,{onChange:d.setSettingsString,editSettings:h.editSettings,saveSettings:h.saveSettings})(b);var E=p.createStructuredSelector({value:f.getConfigString});t.GraphQLConfigEditor=l.connect(E,{onChange:d.setConfigString})(y);var x,D,C,w=s.styled.div(x||(x=o([\"\\n  background: \",\";\\n  position: relative;\\n  display: flex;\\n  flex-flow: column;\\n  flex: 1 1 0;\\n\\n  .CodeMirror {\\n    background: \",\";\\n    .CodeMirror-code {\\n      color: rgba(255, 255, 255, 0.7);\\n    }\\n    .cm-atom {\\n      color: rgba(42, 126, 210, 1);\\n    }\\n  }\\n\"],[\"\\n  background: \",\";\\n  position: relative;\\n  display: flex;\\n  flex-flow: column;\\n  flex: 1 1 0;\\n\\n  .CodeMirror {\\n    background: \",\";\\n    .CodeMirror-code {\\n      color: rgba(255, 255, 255, 0.7);\\n    }\\n    .cm-atom {\\n      color: rgba(42, 126, 210, 1);\\n    }\\n  }\\n\"])),(function(e){return e.theme.editorColours.resultBackground}),(function(e){return e.theme.editorColours.resultBackground})),S=s.styled.div(D||(D=o([\"\\n  position: absolute;\\n  top: 16px;\\n  right: 16px;\\n  z-index: 2;\\n\"],[\"\\n  position: absolute;\\n  top: 16px;\\n  right: 16px;\\n  z-index: 2;\\n\"]))),k=s.styled.span(C||(C=o([\"\\n  position: absolute;\\n  right: 20px;\\n  bottom: 17px;\\n  color: \",\";\\n  font-weight: 700;\\n  margin-right: 14px;\\n\"],[\"\\n  position: absolute;\\n  right: 20px;\\n  bottom: 17px;\\n  color: \",\";\\n  font-weight: 700;\\n  margin-right: 14px;\\n\"])),(function(e){return e.theme.editorColours.textInactive}))},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(3),s=n(69),u=n(11),c=function(e){function t(t){var n=e.call(this,t)||this;return n.setNode=function(e){n.node=e},n.onKeyUp=function(e,t){var r=t.keyCode;(r>=65&&r<=90||!t.shiftKey&&r>=48&&r<=57||t.shiftKey&&189===r||t.shiftKey&&222===r)&&n.editor.execCommand(\"autocomplete\")},n.onEdit=function(){n.ignoreChangeEvent||(n.cachedValue=n.editor.getValue(),n.props.onEdit&&n.props.onEdit(n.cachedValue))},n.cachedValue=t.value||\"\",n}return i(t,e),t.prototype.componentDidMount=function(){var e=this,t=n(16);n(125),n(91),n(126),n(92),n(106),n(127),n(70),n(107),n(71),n(108),n(485),n(193),n(194),n(195),this.editor=t(this.node,{value:this.props.value||\"\",lineNumbers:!0,tabSize:2,mode:this.props.isYaml?\"yaml\":\"graphql-variables\",theme:this.props.editorTheme||\"graphiql\",keyMap:\"sublime\",autoCloseBrackets:!0,matchBrackets:!0,showCursorWhenSelecting:!0,readOnly:!!this.props.readOnly&&\"nocursor\",foldGutter:{minFoldSize:4},gutters:[\"CodeMirror-linenumbers\",\"CodeMirror-foldgutter\"],extraKeys:{\"Cmd-Space\":function(){return e.editor.showHint({completeSingle:!1})},\"Ctrl-Space\":function(){return e.editor.showHint({completeSingle:!1})},\"Alt-Space\":function(){return e.editor.showHint({completeSingle:!1})},\"Shift-Space\":function(){return e.editor.showHint({completeSingle:!1})},\"Cmd-Enter\":function(){e.props.onRunQuery&&e.props.onRunQuery()},\"Ctrl-Enter\":function(){e.props.onRunQuery&&e.props.onRunQuery()},\"Shift-Ctrl-P\":function(){e.props.onPrettifyQuery&&e.props.onPrettifyQuery()},\"Cmd-F\":\"findPersistent\",\"Ctrl-F\":\"findPersistent\",\"Ctrl-Left\":\"goSubwordLeft\",\"Ctrl-Right\":\"goSubwordRight\",\"Alt-Left\":\"goGroupLeft\",\"Alt-Right\":\"goGroupRight\"}}),this.editor.on(\"change\",this.onEdit),this.editor.on(\"keyup\",this.onKeyUp)},t.prototype.componentDidUpdate=function(e){this.ignoreChangeEvent=!0,this.props.value!==e.value&&this.props.value!==this.cachedValue&&(this.cachedValue=this.props.value,this.editor.setValue(this.props.value)),this.ignoreChangeEvent=!1},t.prototype.componentWillUnmount=function(){this.editor.off(\"change\",this.onEdit),this.editor.off(\"keyup\",this.onKeyUp),this.editor=null},t.prototype.render=function(){return a.createElement(s.default,null,a.createElement(p,{ref:this.setNode}))},t.prototype.getCodeMirror=function(){return this.editor},t.prototype.getClientHeight=function(){return this.node&&this.node.clientHeight},t}(a.Component);t.ConfigEditor=c;var l,p=u.styled.div(l||(l=o([\"\\n  flex: 1;\\n  height: 100%;\\n  position: relative;\\n  .CodeMirror-linenumbers {\\n    background: \",\";\\n  }\\n\"],[\"\\n  flex: 1;\\n  height: 100%;\\n  position: relative;\\n  .CodeMirror-linenumbers {\\n    background: \",\";\\n  }\\n\"])),(function(e){return e.theme.editorColours.resultBackground}))},function(e,t,n){!function(e){\"use strict\";e.defineMode(\"yaml\",(function(){var e=new RegExp(\"\\\\b((\"+[\"true\",\"false\",\"on\",\"off\",\"yes\",\"no\"].join(\")|(\")+\"))$\",\"i\");return{token:function(t,n){var r=t.peek(),i=n.escaped;if(n.escaped=!1,\"#\"==r&&(0==t.pos||/\\s/.test(t.string.charAt(t.pos-1))))return t.skipToEnd(),\"comment\";if(t.match(/^('([^']|\\\\.)*'?|\"([^\"]|\\\\.)*\"?)/))return\"string\";if(n.literal&&t.indentation()>n.keyCol)return t.skipToEnd(),\"string\";if(n.literal&&(n.literal=!1),t.sol()){if(n.keyCol=0,n.pair=!1,n.pairStart=!1,t.match(/---/))return\"def\";if(t.match(/\\.\\.\\./))return\"def\";if(t.match(/\\s*-\\s+/))return\"meta\"}if(t.match(/^(\\{|\\}|\\[|\\])/))return\"{\"==r?n.inlinePairs++:\"}\"==r?n.inlinePairs--:\"[\"==r?n.inlineList++:n.inlineList--,\"meta\";if(n.inlineList>0&&!i&&\",\"==r)return t.next(),\"meta\";if(n.inlinePairs>0&&!i&&\",\"==r)return n.keyCol=0,n.pair=!1,n.pairStart=!1,t.next(),\"meta\";if(n.pairStart){if(t.match(/^\\s*(\\||\\>)\\s*/))return n.literal=!0,\"meta\";if(t.match(/^\\s*(\\&|\\*)[a-z0-9\\._-]+\\b/i))return\"variable-2\";if(0==n.inlinePairs&&t.match(/^\\s*-?[0-9\\.\\,]+\\s?$/))return\"number\";if(n.inlinePairs>0&&t.match(/^\\s*-?[0-9\\.\\,]+\\s?(?=(,|}))/))return\"number\";if(t.match(e))return\"keyword\"}return!n.pair&&t.match(/^\\s*(?:[,\\[\\]{}&*!|>'\"%@`][^\\s'\":]|[^,\\[\\]{}#&*!|>'\"%@`])[^#]*?(?=\\s*:($|\\s))/)?(n.pair=!0,n.keyCol=t.indentation(),\"atom\"):n.pair&&t.match(/^:\\s*/)?(n.pairStart=!0,\"meta\"):(n.pairStart=!1,n.escaped=\"\\\\\"==r,t.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},lineComment:\"#\",fold:\"indent\"}})),e.defineMIME(\"text/x-yaml\",\"yaml\"),e.defineMIME(\"text/yaml\",\"yaml\")}(n(16))},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(3),s=n(11),u=n(121),c=n(28),l=n(32),p=n(38),f=n(69),d=n(30),h=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.render=function(){return a.createElement(f.Container,null,a.createElement(v,null,a.createElement(f.default,null,a.createElement(b,null,a.createElement(u.QueryEditor,{value:this.props.value,onChange:this.props.onChange})))))},t}(a.Component),m=c.createStructuredSelector({value:l.getFile});t.default=d.connect(m,{onChange:p.editFile})(h);var g,y,v=s.styled.div(g||(g=o([\"\\n  background: \",\";\\n  position: relative;\\n  .variable-editor {\\n    height: 100% !important;\\n  }\\n  .CodeMirror {\\n    background: none !important;\\n    .CodeMirror-code {\\n      color: rgba(255, 255, 255, 0.7);\\n    }\\n    .cm-atom {\\n      color: rgba(42, 126, 210, 1);\\n    }\\n  }\\n\"],[\"\\n  background: \",\";\\n  position: relative;\\n  .variable-editor {\\n    height: 100% !important;\\n  }\\n  .CodeMirror {\\n    background: none !important;\\n    .CodeMirror-code {\\n      color: rgba(255, 255, 255, 0.7);\\n    }\\n    .cm-atom {\\n      color: rgba(42, 126, 210, 1);\\n    }\\n  }\\n\"])),(function(e){return e.theme.editorColours.resultBackground})),b=s.styled.div(y||(y=o([\"\\n  display: flex;\\n  flex-direction: column;\\n  flex: 1;\\n\"],[\"\\n  display: flex;\\n  flex-direction: column;\\n  flex: 1;\\n\"])))},function(e){e.exports=JSON.parse('{\"name\":\"graphql-playground-react\",\"version\":\"1.7.26\",\"main\":\"./lib/lib.js\",\"typings\":\"./lib/lib.d.ts\",\"description\":\"GraphQL IDE for better development workflows (GraphQL Subscriptions, interactive docs & collaboration).\",\"contributors\":[\"Tim Suchanek <tim@graph.cool>\",\"Johannes Schickling <johannes@graph.cool>\",\"Lukas Huvar <lukas@huvar.cz>\"],\"repository\":{\"type\":\"git\",\"url\":\"http://github.com/graphcool/graphql-playground.git\"},\"license\":\"MIT\",\"scripts\":{\"start\":\"node scripts/start.js\",\"start:analyze\":\"ANALYZE_BUNDLE=true node scripts/start.js\",\"start:graphql-bin\":\"ACTIVE_APP=graphqlbin node scripts/start.js\",\"prepublishOnly\":\"yarn build\",\"build\":\"rimraf dist build dist && yarn build-app && yarn build-package\",\"tsc\":\"tsc -p tsconfig.build.json\",\"build-package\":\"rimraf lib build/dist && npm run tsc && babel lib -d lib && cp -r ./src/assets/ ./lib/assets/ && cd lib && rimraf *.jsx;\",\"build-app\":\"node scripts/build.js\",\"test\":\"jest\",\"bundlesize\":\"bundlesize\",\"bump\":\"npm version patch --no-git-tag-version && git add package.json\",\"graphql-faker\":\"graphql-faker ./tests/schema.faker.graphql\",\"lint\":\"tslint \\\\\"src/**/*.ts{,x}\\\\\"\",\"precommit\":\"lint-staged\",\"prettier\":\"prettier --single-quote --no-semi --trailing-comma all --write *.{ts,tsx} \\'src/**/*.{ts,tsx}\\'\"},\"files\":[\"build\",\"lib\",\"playground.css\"],\"bundlesize\":[{\"path\":\"build/static/js/index.js\",\"maxSize\":\"674 kB\"}],\"devDependencies\":{\"@babel/cli\":\"^7.0.0\",\"@babel/core\":\"^7.0.0\",\"@babel/plugin-proposal-class-properties\":\"^7.0.0\",\"@babel/plugin-proposal-json-strings\":\"^7.0.0\",\"@babel/plugin-syntax-dynamic-import\":\"^7.0.0\",\"@babel/plugin-syntax-import-meta\":\"^7.0.0\",\"@babel/preset-env\":\"^7.0.0\",\"@babel/preset-react\":\"^7.0.0\",\"@types/deasync\":\"0.1.0\",\"@types/jest\":\"22.2.3\",\"@types/node\":\"12.12.34\",\"@types/react\":\"16.9.32\",\"@types/zen-observable\":\"^0.5.3\",\"babel-core\":\"^7.0.0-bridge.0\",\"babel-jest\":\"^23.4.2\",\"babel-loader\":\"^8.0.0\",\"babel-plugin-styled-components\":\"^1.8.0\",\"bundlesize\":\"^0.17.0\",\"case-sensitive-paths-webpack-plugin\":\"2.3.0\",\"chalk\":\"2.4.1\",\"connect-history-api-fallback\":\"1.5.0\",\"cross-spawn\":\"6.0.5\",\"css-loader\":\"3.4.2\",\"detect-port\":\"1.2.3\",\"dotenv\":\"5.0.1\",\"enzyme\":\"^3.3.0\",\"enzyme-adapter-react-16\":\"^1.1.1\",\"enzyme-to-json\":\"^3.3.4\",\"extract-text-webpack-plugin\":\"4.0.0-beta.0\",\"file-loader\":\"6.0.0\",\"filesize\":\"6.1.0\",\"fs-extra\":\"5.0.0\",\"graphql-playground-html\":\"1.5.6\",\"gzip-size\":\"4.1.0\",\"html-webpack-plugin\":\"4.0.4\",\"http-proxy-middleware\":\"0.17.4\",\"husky\":\"0.14.3\",\"jest\":\"22.1.4\",\"jest-localstorage-mock\":\"^2.2.0\",\"json-loader\":\"0.5.7\",\"lint-staged\":\"6.1.0\",\"node-noop\":\"1.0.0\",\"object-assign\":\"4.1.1\",\"promise\":\"8.0.1\",\"raw-loader\":\"4.0.0\",\"react-dev-utils\":\"10.1.0\",\"recursive-readdir\":\"2.2.2\",\"rimraf\":\"3.0.2\",\"source-map-loader\":\"0.2.4\",\"strip-ansi\":\"4.0.0\",\"style-loader\":\"1.1.3\",\"svg-inline-loader\":\"0.8.2\",\"sw-precache-webpack-plugin\":\"1.0.0\",\"ts-loader\":\"6.2.2\",\"tslint\":\"5.10.0\",\"tslint-graphcool-frontend\":\"0.0.3\",\"tslint-loader\":\"3.6.0\",\"typescript\":\"3.8.3\",\"typescript-styled-plugin\":\"^0.11.0\",\"url-loader\":\"4.0.0\",\"webpack\":\"4.44.1\",\"webpack-dev-server\":\"3.11.0\",\"webpack-manifest-plugin\":\"2.2.0\",\"why-did-you-update\":\"0.1.1\"},\"dependencies\":{\"@types/lru-cache\":\"^4.1.1\",\"apollo-link\":\"^1.2.13\",\"apollo-link-http\":\"^1.5.16\",\"apollo-link-ws\":\"^1.0.19\",\"calculate-size\":\"^1.1.1\",\"codemirror\":\"^5.52.2\",\"codemirror-graphql\":\"^0.12.0-alpha.8\",\"copy-to-clipboard\":\"^3.0.8\",\"cryptiles\":\"4.1.2\",\"cuid\":\"^1.3.8\",\"graphiql\":\"^0.17.5\",\"graphql\":\"^15.3.0\",\"immutable\":\"^4.0.0-rc.9\",\"isomorphic-fetch\":\"^2.2.1\",\"js-yaml\":\"^3.10.0\",\"json-stable-stringify\":\"^1.0.1\",\"keycode\":\"^2.1.9\",\"lodash\":\"^4.17.11\",\"lodash.debounce\":\"^4.0.8\",\"markdown-it\":\"^8.4.1\",\"marked\":\"^0.8.2\",\"prettier\":\"2.0.2\",\"prop-types\":\"^15.7.2\",\"query-string\":\"5\",\"react\":\"16.13.1\",\"react-addons-shallow-compare\":\"^15.6.2\",\"react-codemirror\":\"^1.0.0\",\"react-copy-to-clipboard\":\"^5.0.1\",\"react-display-name\":\"^0.2.3\",\"react-dom\":\"^16.13.1\",\"react-helmet\":\"^5.2.0\",\"react-input-autosize\":\"^2.2.1\",\"react-modal\":\"^3.1.11\",\"react-redux\":\"^7.2.0\",\"react-router-dom\":\"^4.2.2\",\"react-sortable-hoc\":\"^0.8.3\",\"react-transition-group\":\"^2.2.1\",\"react-virtualized\":\"^9.12.0\",\"redux\":\"^4.0.5\",\"redux-actions\":\"^2.6.5\",\"redux-immutable\":\"^4.0.0\",\"redux-localstorage\":\"^1.0.0-rc5\",\"redux-localstorage-debounce\":\"^0.1.0\",\"redux-localstorage-filter\":\"^0.1.1\",\"redux-saga\":\"^1.1.3\",\"reselect\":\"^4.0.0\",\"seamless-immutable\":\"^7.0.1\",\"styled-components\":\"^4.0.0\",\"subscriptions-transport-ws\":\"^0.9.5\",\"utility-types\":\"^1.0.0\",\"webpack-bundle-analyzer\":\"^3.3.2\",\"zen-observable\":\"^0.7.1\"},\"lint-staged\":{\"*.{ts,tsx}\":[\"prettier --single-quote --no-semi --write\",\"tslint\",\"git add\"],\"gitDir\":\"../../\"},\"jest\":{\"collectCoverageFrom\":[\"src/**/*.{ts,tsx}\"],\"setupFiles\":[\"<rootDir>/config/polyfills.js\"],\"testPathIgnorePatterns\":[\"<rootDir>[/\\\\\\\\\\\\\\\\](build|docs|node_modules)[/\\\\\\\\\\\\\\\\]\"],\"testEnvironment\":\"node\",\"testURL\":\"http://localhost\",\"transform\":{\"^.+\\\\\\\\.css$\":\"<rootDir>/config/jest/cssTransform.js\",\"^.+\\\\\\\\.tsx?$\":\"<rootDir>/config/jest/typescriptTransform.js\",\"^(?!.*\\\\\\\\.(css|json)$)\":\"<rootDir>/config/jest/fileTransform.js\"},\"transformIgnorePatterns\":[\"[/\\\\\\\\\\\\\\\\]node_modules[/\\\\\\\\\\\\\\\\].+\\\\\\\\.(js|jsx)$\"],\"moduleNameMapper\":{\"^react-native$\":\"react-native-web\"},\"moduleFileExtensions\":[\"ts\",\"tsx\",\"js\"],\"testRegex\":\"(/__tests__/.*|\\\\\\\\.(test|spec))\\\\\\\\.(ts|tsx|js)$\"}}')},function(e,t,n){\"use strict\";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},\"function\"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError(\"Generator is already executing.\");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){a.label=o[1];break}if(6===o[0]&&a.label<i[1]){a.label=i[1],i=o;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(o);break}i[2]&&a.ops.pop(),a.trys.pop();continue}o=t.call(e,a)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}};Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(97).memoize((function(e){return e<=1?1:o(e-1)+o(e-2)})),a=function(){function e(e){var t=this;this.count=1,this.running=!0,this.maxRetries=20,this.stop=function(){t.running=!1,clearTimeout(t.timeout)},this.cb=e}return e.prototype.start=function(){return r(this,void 0,void 0,(function(){var e,t=this;return i(this,(function(n){return(e=function(){return r(t,void 0,void 0,(function(){return i(this,(function(t){switch(t.label){case 0:return[4,this.cb()];case 1:return t.sent(),this.count++,this.running&&this.count<this.maxRetries&&(this.timeout=setTimeout(e,1e3*(this.count<3?5:o(this.count-5)))),[2]}}))}))})(),[2]}))}))},e}();t.Backoff=a},function(e,t,n){t.__esModule=!0,t.Helmet=void 0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=p(n(3)),a=p(n(7)),s=p(n(490)),u=p(n(492)),c=n(493),l=n(209);function p(e){return e&&e.__esModule?e:{default:e}}function f(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function d(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function h(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}var m,g,y,v=(0,s.default)(c.reducePropsToState,c.handleClientStateChange,c.mapStateOnServer)((function(){return null})),b=(m=v,y=g=function(e){function t(){return d(this,t),h(this,e.apply(this,arguments))}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.shouldComponentUpdate=function(e){return!(0,u.default)(this.props,e)},t.prototype.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case l.TAG_NAMES.SCRIPT:case l.TAG_NAMES.NOSCRIPT:return{innerHTML:t};case l.TAG_NAMES.STYLE:return{cssText:t}}throw new Error(\"<\"+e.type+\" /> elements are self-closing and can not contain children. Refer to our API for more information.\")},t.prototype.flattenArrayTypeChildren=function(e){var t,n=e.child,i=e.arrayTypeChildren,o=e.newChildProps,a=e.nestedChildren;return r({},i,((t={})[n.type]=[].concat(i[n.type]||[],[r({},o,this.mapNestedChildrenToProps(n,a))]),t))},t.prototype.mapObjectTypeChildren=function(e){var t,n,i=e.child,o=e.newProps,a=e.newChildProps,s=e.nestedChildren;switch(i.type){case l.TAG_NAMES.TITLE:return r({},o,((t={})[i.type]=s,t.titleAttributes=r({},a),t));case l.TAG_NAMES.BODY:return r({},o,{bodyAttributes:r({},a)});case l.TAG_NAMES.HTML:return r({},o,{htmlAttributes:r({},a)})}return r({},o,((n={})[i.type]=r({},a),n))},t.prototype.mapArrayTypeChildrenToProps=function(e,t){var n=r({},t);return Object.keys(e).forEach((function(t){var i;n=r({},n,((i={})[t]=e[t],i))})),n},t.prototype.warnOnInvalidChildren=function(e,t){return!0},t.prototype.mapChildrenToProps=function(e,t){var n=this,r={};return o.default.Children.forEach(e,(function(e){if(e&&e.props){var i=e.props,o=i.children,a=f(i,[\"children\"]),s=(0,c.convertReactPropstoHtmlAttributes)(a);switch(n.warnOnInvalidChildren(e,o),e.type){case l.TAG_NAMES.LINK:case l.TAG_NAMES.META:case l.TAG_NAMES.NOSCRIPT:case l.TAG_NAMES.SCRIPT:case l.TAG_NAMES.STYLE:r=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:r,newChildProps:s,nestedChildren:o});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:s,nestedChildren:o})}}})),t=this.mapArrayTypeChildrenToProps(r,t)},t.prototype.render=function(){var e=this.props,t=e.children,n=f(e,[\"children\"]),i=r({},n);return t&&(i=this.mapChildrenToProps(t,i)),o.default.createElement(m,i)},i(t,null,[{key:\"canUseDOM\",set:function(e){m.canUseDOM=e}}]),t}(o.default.Component),g.propTypes={base:a.default.object,bodyAttributes:a.default.object,children:a.default.oneOfType([a.default.arrayOf(a.default.node),a.default.node]),defaultTitle:a.default.string,defer:a.default.bool,encodeSpecialCharacters:a.default.bool,htmlAttributes:a.default.object,link:a.default.arrayOf(a.default.object),meta:a.default.arrayOf(a.default.object),noscript:a.default.arrayOf(a.default.object),onChangeClientState:a.default.func,script:a.default.arrayOf(a.default.object),style:a.default.arrayOf(a.default.object),title:a.default.string,titleAttributes:a.default.object,titleTemplate:a.default.string},g.defaultProps={defer:!0,encodeSpecialCharacters:!0},g.peek=m.peek,g.rewind=function(){var e=m.rewind();return e||(e=(0,c.mapStateOnServer)({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:\"\",titleAttributes:{}})),e},y);b.renderStatic=b.rewind,t.Helmet=b,t.default=b},function(e,t,n){\"use strict\";function r(e){return e&&\"object\"==typeof e&&\"default\"in e?e.default:e}var i=n(3),o=r(i),a=r(n(491));function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var u=!(\"undefined\"==typeof window||!window.document||!window.document.createElement);e.exports=function(e,t,n){if(\"function\"!=typeof e)throw new Error(\"Expected reducePropsToState to be a function.\");if(\"function\"!=typeof t)throw new Error(\"Expected handleStateChangeOnClient to be a function.\");if(void 0!==n&&\"function\"!=typeof n)throw new Error(\"Expected mapStateOnServer to either be undefined or a function.\");return function(r){if(\"function\"!=typeof r)throw new Error(\"Expected WrappedComponent to be a React component.\");var c,l=[];function p(){c=e(l.map((function(e){return e.props}))),f.canUseDOM?t(c):n&&(c=n(c))}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,t.__proto__=n,i.peek=function(){return c},i.rewind=function(){if(i.canUseDOM)throw new Error(\"You may only call rewind() on the server. Call peek() to read the current state.\");var e=c;return c=void 0,l=[],e};var s=i.prototype;return s.shouldComponentUpdate=function(e){return!a(e,this.props)},s.componentWillMount=function(){l.push(this),p()},s.componentDidUpdate=function(){p()},s.componentWillUnmount=function(){var e=l.indexOf(this);l.splice(e,1),p()},s.render=function(){return o.createElement(r,this.props)},i}(i.Component);return s(f,\"displayName\",\"SideEffect(\"+function(e){return e.displayName||e.name||\"Component\"}(r)+\")\"),s(f,\"canUseDOM\",u),f}}},function(e,t){e.exports=function(e,t,n,r){var i=n?n.call(r,e,t):void 0;if(void 0!==i)return!!i;if(e===t)return!0;if(\"object\"!=typeof e||!e||\"object\"!=typeof t||!t)return!1;var o=Object.keys(e),a=Object.keys(t);if(o.length!==a.length)return!1;for(var s=Object.prototype.hasOwnProperty.bind(t),u=0;u<o.length;u++){var c=o[u];if(!s(c))return!1;var l=e[c],p=t[c];if(!1===(i=n?n.call(r,l,p,c):void 0)||void 0===i&&l!==p)return!1}return!0}},function(e,t,n){\"use strict\";var r=Array.isArray,i=Object.keys,o=Object.prototype.hasOwnProperty,a=\"undefined\"!=typeof Element;e.exports=function(e,t){try{return function e(t,n){if(t===n)return!0;if(t&&n&&\"object\"==typeof t&&\"object\"==typeof n){var s,u,c,l=r(t),p=r(n);if(l&&p){if((u=t.length)!=n.length)return!1;for(s=u;0!=s--;)if(!e(t[s],n[s]))return!1;return!0}if(l!=p)return!1;var f=t instanceof Date,d=n instanceof Date;if(f!=d)return!1;if(f&&d)return t.getTime()==n.getTime();var h=t instanceof RegExp,m=n instanceof RegExp;if(h!=m)return!1;if(h&&m)return t.toString()==n.toString();var g=i(t);if((u=g.length)!==i(n).length)return!1;for(s=u;0!=s--;)if(!o.call(n,g[s]))return!1;if(a&&t instanceof Element&&n instanceof Element)return t===n;for(s=u;0!=s--;)if(!(\"_owner\"===(c=g[s])&&t.$$typeof||e(t[c],n[c])))return!1;return!0}return t!=t&&n!=n}(e,t)}catch(e){if(e.message&&e.message.match(/stack|recursion/i)||-2146828260===e.number)return console.warn(\"Warning: react-fast-compare does not handle circular references.\",e.name,e.message),!1;throw e}}},function(e,t,n){(function(e){t.__esModule=!0,t.warn=t.requestAnimationFrame=t.reducePropsToState=t.mapStateOnServer=t.handleClientStateChange=t.convertReactPropstoHtmlAttributes=void 0;var 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},i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=u(n(3)),a=u(n(73)),s=n(209);function u(e){return e&&e.__esModule?e:{default:e}}var c,l=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return!1===t?String(e):String(e).replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\"/g,\"&quot;\").replace(/'/g,\"&#x27;\")},p=function(e){var t=g(e,s.TAG_NAMES.TITLE),n=g(e,s.HELMET_PROPS.TITLE_TEMPLATE);if(n&&t)return n.replace(/%s/g,(function(){return t}));var r=g(e,s.HELMET_PROPS.DEFAULT_TITLE);return t||r||void 0},f=function(e){return g(e,s.HELMET_PROPS.ON_CHANGE_CLIENT_STATE)||function(){}},d=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return i({},e,t)}),{})},h=function(e,t){return t.filter((function(e){return void 0!==e[s.TAG_NAMES.BASE]})).map((function(e){return e[s.TAG_NAMES.BASE]})).reverse().reduce((function(t,n){if(!t.length)for(var r=Object.keys(n),i=0;i<r.length;i++){var o=r[i].toLowerCase();if(-1!==e.indexOf(o)&&n[o])return t.concat(n)}return t}),[])},m=function(e,t,n){var i={};return n.filter((function(t){return!!Array.isArray(t[e])||(void 0!==t[e]&&x(\"Helmet: \"+e+' should be of type \"Array\". Instead found type \"'+r(t[e])+'\"'),!1)})).map((function(t){return t[e]})).reverse().reduce((function(e,n){var r={};n.filter((function(e){for(var n=void 0,o=Object.keys(e),a=0;a<o.length;a++){var u=o[a],c=u.toLowerCase();-1===t.indexOf(c)||n===s.TAG_PROPERTIES.REL&&\"canonical\"===e[n].toLowerCase()||c===s.TAG_PROPERTIES.REL&&\"stylesheet\"===e[c].toLowerCase()||(n=c),-1===t.indexOf(u)||u!==s.TAG_PROPERTIES.INNER_HTML&&u!==s.TAG_PROPERTIES.CSS_TEXT&&u!==s.TAG_PROPERTIES.ITEM_PROP||(n=u)}if(!n||!e[n])return!1;var l=e[n].toLowerCase();return i[n]||(i[n]={}),r[n]||(r[n]={}),!i[n][l]&&(r[n][l]=!0,!0)})).reverse().forEach((function(t){return e.push(t)}));for(var o=Object.keys(r),u=0;u<o.length;u++){var c=o[u],l=(0,a.default)({},i[c],r[c]);i[c]=l}return e}),[]).reverse()},g=function(e,t){for(var n=e.length-1;n>=0;n--){var r=e[n];if(r.hasOwnProperty(t))return r[t]}return null},y=(c=Date.now(),function(e){var t=Date.now();t-c>16?(c=t,e(t)):setTimeout((function(){y(e)}),0)}),v=function(e){return clearTimeout(e)},b=\"undefined\"!=typeof window?window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||y:e.requestAnimationFrame||y,E=\"undefined\"!=typeof window?window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||v:e.cancelAnimationFrame||v,x=function(e){return console&&\"function\"==typeof console.warn&&console.warn(e)},D=null,C=function(e,t){var n=e.baseTag,r=e.bodyAttributes,i=e.htmlAttributes,o=e.linkTags,a=e.metaTags,u=e.noscriptTags,c=e.onChangeClientState,l=e.scriptTags,p=e.styleTags,f=e.title,d=e.titleAttributes;k(s.TAG_NAMES.BODY,r),k(s.TAG_NAMES.HTML,i),S(f,d);var h={baseTag:A(s.TAG_NAMES.BASE,n),linkTags:A(s.TAG_NAMES.LINK,o),metaTags:A(s.TAG_NAMES.META,a),noscriptTags:A(s.TAG_NAMES.NOSCRIPT,u),scriptTags:A(s.TAG_NAMES.SCRIPT,l),styleTags:A(s.TAG_NAMES.STYLE,p)},m={},g={};Object.keys(h).forEach((function(e){var t=h[e],n=t.newTags,r=t.oldTags;n.length&&(m[e]=n),r.length&&(g[e]=h[e].oldTags)})),t&&t(),c(e,m,g)},w=function(e){return Array.isArray(e)?e.join(\"\"):e},S=function(e,t){void 0!==e&&document.title!==e&&(document.title=w(e)),k(s.TAG_NAMES.TITLE,t)},k=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute(s.HELMET_ATTRIBUTE),i=r?r.split(\",\"):[],o=[].concat(i),a=Object.keys(t),u=0;u<a.length;u++){var c=a[u],l=t[c]||\"\";n.getAttribute(c)!==l&&n.setAttribute(c,l),-1===i.indexOf(c)&&i.push(c);var p=o.indexOf(c);-1!==p&&o.splice(p,1)}for(var f=o.length-1;f>=0;f--)n.removeAttribute(o[f]);i.length===o.length?n.removeAttribute(s.HELMET_ATTRIBUTE):n.getAttribute(s.HELMET_ATTRIBUTE)!==a.join(\",\")&&n.setAttribute(s.HELMET_ATTRIBUTE,a.join(\",\"))}},A=function(e,t){var n=document.head||document.querySelector(s.TAG_NAMES.HEAD),r=n.querySelectorAll(e+\"[\"+s.HELMET_ATTRIBUTE+\"]\"),i=Array.prototype.slice.call(r),o=[],a=void 0;return t&&t.length&&t.forEach((function(t){var n=document.createElement(e);for(var r in t)if(t.hasOwnProperty(r))if(r===s.TAG_PROPERTIES.INNER_HTML)n.innerHTML=t.innerHTML;else if(r===s.TAG_PROPERTIES.CSS_TEXT)n.styleSheet?n.styleSheet.cssText=t.cssText:n.appendChild(document.createTextNode(t.cssText));else{var u=void 0===t[r]?\"\":t[r];n.setAttribute(r,u)}n.setAttribute(s.HELMET_ATTRIBUTE,\"true\"),i.some((function(e,t){return a=t,n.isEqualNode(e)}))?i.splice(a,1):o.push(n)})),i.forEach((function(e){return e.parentNode.removeChild(e)})),o.forEach((function(e){return n.appendChild(e)})),{oldTags:i,newTags:o}},T=function(e){return Object.keys(e).reduce((function(t,n){var r=void 0!==e[n]?n+'=\"'+e[n]+'\"':\"\"+n;return t?t+\" \"+r:r}),\"\")},_=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).reduce((function(t,n){return t[s.REACT_TAG_MAP[n]||n]=e[n],t}),t)},O=function(e,t,n){switch(e){case s.TAG_NAMES.TITLE:return{toComponent:function(){return e=t.title,n=t.titleAttributes,(r={key:e})[s.HELMET_ATTRIBUTE]=!0,i=_(n,r),[o.default.createElement(s.TAG_NAMES.TITLE,i,e)];var e,n,r,i},toString:function(){return function(e,t,n,r){var i=T(n),o=w(t);return i?\"<\"+e+\" \"+s.HELMET_ATTRIBUTE+'=\"true\" '+i+\">\"+l(o,r)+\"</\"+e+\">\":\"<\"+e+\" \"+s.HELMET_ATTRIBUTE+'=\"true\">'+l(o,r)+\"</\"+e+\">\"}(e,t.title,t.titleAttributes,n)}};case s.ATTRIBUTE_NAMES.BODY:case s.ATTRIBUTE_NAMES.HTML:return{toComponent:function(){return _(t)},toString:function(){return T(t)}};default:return{toComponent:function(){return function(e,t){return t.map((function(t,n){var r,i=((r={key:n})[s.HELMET_ATTRIBUTE]=!0,r);return Object.keys(t).forEach((function(e){var n=s.REACT_TAG_MAP[e]||e;if(n===s.TAG_PROPERTIES.INNER_HTML||n===s.TAG_PROPERTIES.CSS_TEXT){var r=t.innerHTML||t.cssText;i.dangerouslySetInnerHTML={__html:r}}else i[n]=t[e]})),o.default.createElement(e,i)}))}(e,t)},toString:function(){return function(e,t,n){return t.reduce((function(t,r){var i=Object.keys(r).filter((function(e){return!(e===s.TAG_PROPERTIES.INNER_HTML||e===s.TAG_PROPERTIES.CSS_TEXT)})).reduce((function(e,t){var i=void 0===r[t]?t:t+'=\"'+l(r[t],n)+'\"';return e?e+\" \"+i:i}),\"\"),o=r.innerHTML||r.cssText||\"\",a=-1===s.SELF_CLOSING_TAGS.indexOf(e);return t+\"<\"+e+\" \"+s.HELMET_ATTRIBUTE+'=\"true\" '+i+(a?\"/>\":\">\"+o+\"</\"+e+\">\")}),\"\")}(e,t,n)}}}};t.convertReactPropstoHtmlAttributes=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).reduce((function(t,n){return t[s.HTML_TAG_MAP[n]||n]=e[n],t}),t)},t.handleClientStateChange=function(e){D&&E(D),e.defer?D=b((function(){C(e,(function(){D=null}))})):(C(e),D=null)},t.mapStateOnServer=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,i=e.htmlAttributes,o=e.linkTags,a=e.metaTags,u=e.noscriptTags,c=e.scriptTags,l=e.styleTags,p=e.title,f=void 0===p?\"\":p,d=e.titleAttributes;return{base:O(s.TAG_NAMES.BASE,t,r),bodyAttributes:O(s.ATTRIBUTE_NAMES.BODY,n,r),htmlAttributes:O(s.ATTRIBUTE_NAMES.HTML,i,r),link:O(s.TAG_NAMES.LINK,o,r),meta:O(s.TAG_NAMES.META,a,r),noscript:O(s.TAG_NAMES.NOSCRIPT,u,r),script:O(s.TAG_NAMES.SCRIPT,c,r),style:O(s.TAG_NAMES.STYLE,l,r),title:O(s.TAG_NAMES.TITLE,{title:f,titleAttributes:d},r)}},t.reducePropsToState=function(e){return{baseTag:h([s.TAG_PROPERTIES.HREF],e),bodyAttributes:d(s.ATTRIBUTE_NAMES.BODY,e),defer:g(e,s.HELMET_PROPS.DEFER),encode:g(e,s.HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),htmlAttributes:d(s.ATTRIBUTE_NAMES.HTML,e),linkTags:m(s.TAG_NAMES.LINK,[s.TAG_PROPERTIES.REL,s.TAG_PROPERTIES.HREF],e),metaTags:m(s.TAG_NAMES.META,[s.TAG_PROPERTIES.NAME,s.TAG_PROPERTIES.CHARSET,s.TAG_PROPERTIES.HTTPEQUIV,s.TAG_PROPERTIES.PROPERTY,s.TAG_PROPERTIES.ITEM_PROP],e),noscriptTags:m(s.TAG_NAMES.NOSCRIPT,[s.TAG_PROPERTIES.INNER_HTML],e),onChangeClientState:f(e),scriptTags:m(s.TAG_NAMES.SCRIPT,[s.TAG_PROPERTIES.SRC,s.TAG_PROPERTIES.INNER_HTML],e),styleTags:m(s.TAG_NAMES.STYLE,[s.TAG_PROPERTIES.CSS_TEXT],e),title:p(e),titleAttributes:d(s.ATTRIBUTE_NAMES.TITLE,e)}},t.requestAnimationFrame=b,t.warn=x}).call(this,n(43))},function(e,t,n){\"use strict\";var r=n(495);e.exports=r},function(e,t,n){\"use strict\";var r=n(496),i=n(519);function o(e){return function(){throw new Error(\"Function \"+e+\" is deprecated and cannot be used.\")}}e.exports.Type=n(35),e.exports.Schema=n(79),e.exports.FAILSAFE_SCHEMA=n(134),e.exports.JSON_SCHEMA=n(211),e.exports.CORE_SCHEMA=n(210),e.exports.DEFAULT_SAFE_SCHEMA=n(94),e.exports.DEFAULT_FULL_SCHEMA=n(110),e.exports.load=r.load,e.exports.loadAll=r.loadAll,e.exports.safeLoad=r.safeLoad,e.exports.safeLoadAll=r.safeLoadAll,e.exports.dump=i.dump,e.exports.safeDump=i.safeDump,e.exports.YAMLException=n(93),e.exports.MINIMAL_SCHEMA=n(134),e.exports.SAFE_SCHEMA=n(94),e.exports.DEFAULT_SCHEMA=n(110),e.exports.scan=o(\"scan\"),e.exports.parse=o(\"parse\"),e.exports.compose=o(\"compose\"),e.exports.addConstructor=o(\"addConstructor\")},function(e,t,n){\"use strict\";var r=n(78),i=n(93),o=n(497),a=n(94),s=n(110),u=Object.prototype.hasOwnProperty,c=/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F-\\x84\\x86-\\x9F\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/,l=/[\\x85\\u2028\\u2029]/,p=/[,\\[\\]\\{\\}]/,f=/^(?:!|!!|![a-z\\-]+!)$/i,d=/^(?:!|[^,\\[\\]\\{\\}])(?:%[0-9a-f]{2}|[0-9a-z\\-#;\\/\\?:@&=\\+\\$,_\\.!~\\*'\\(\\)\\[\\]])*$/i;function h(e){return Object.prototype.toString.call(e)}function m(e){return 10===e||13===e}function g(e){return 9===e||32===e}function y(e){return 9===e||32===e||10===e||13===e}function v(e){return 44===e||91===e||93===e||123===e||125===e}function b(e){var t;return 48<=e&&e<=57?e-48:97<=(t=32|e)&&t<=102?t-97+10:-1}function E(e){return 48===e?\"\\0\":97===e?\"\u0007\":98===e?\"\\b\":116===e||9===e?\"\\t\":110===e?\"\\n\":118===e?\"\\v\":102===e?\"\\f\":114===e?\"\\r\":101===e?\"\u001b\":32===e?\" \":34===e?'\"':47===e?\"/\":92===e?\"\\\\\":78===e?\"\":95===e?\" \":76===e?\"\\u2028\":80===e?\"\\u2029\":\"\"}function x(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10),56320+(e-65536&1023))}for(var D=new Array(256),C=new Array(256),w=0;w<256;w++)D[w]=E(w)?1:0,C[w]=E(w);function S(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||s,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function k(e,t){return new i(t,new o(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function A(e,t){throw k(e,t)}function T(e,t){e.onWarning&&e.onWarning.call(null,k(e,t))}var _={YAML:function(e,t,n){var r,i,o;null!==e.version&&A(e,\"duplication of %YAML directive\"),1!==n.length&&A(e,\"YAML directive accepts exactly one argument\"),null===(r=/^([0-9]+)\\.([0-9]+)$/.exec(n[0]))&&A(e,\"ill-formed argument of the YAML directive\"),i=parseInt(r[1],10),o=parseInt(r[2],10),1!==i&&A(e,\"unacceptable YAML version of the document\"),e.version=n[0],e.checkLineBreaks=o<2,1!==o&&2!==o&&T(e,\"unsupported YAML version of the document\")},TAG:function(e,t,n){var r,i;2!==n.length&&A(e,\"TAG directive accepts exactly two arguments\"),r=n[0],i=n[1],f.test(r)||A(e,\"ill-formed tag handle (first argument) of the TAG directive\"),u.call(e.tagMap,r)&&A(e,'there is a previously declared suffix for \"'+r+'\" tag handle'),d.test(i)||A(e,\"ill-formed tag prefix (second argument) of the TAG directive\"),e.tagMap[r]=i}};function O(e,t,n,r){var i,o,a,s;if(t<n){if(s=e.input.slice(t,n),r)for(i=0,o=s.length;i<o;i+=1)9===(a=s.charCodeAt(i))||32<=a&&a<=1114111||A(e,\"expected valid JSON character\");else c.test(s)&&A(e,\"the stream contains non-printable characters\");e.result+=s}}function F(e,t,n,i){var o,a,s,c;for(r.isObject(n)||A(e,\"cannot merge mappings; the provided source object is unacceptable\"),s=0,c=(o=Object.keys(n)).length;s<c;s+=1)a=o[s],u.call(t,a)||(t[a]=n[a],i[a]=!0)}function N(e,t,n,r,i,o,a,s){var c,l;if(Array.isArray(i))for(c=0,l=(i=Array.prototype.slice.call(i)).length;c<l;c+=1)Array.isArray(i[c])&&A(e,\"nested arrays are not supported inside keys\"),\"object\"==typeof i&&\"[object Object]\"===h(i[c])&&(i[c]=\"[object Object]\");if(\"object\"==typeof i&&\"[object Object]\"===h(i)&&(i=\"[object Object]\"),i=String(i),null===t&&(t={}),\"tag:yaml.org,2002:merge\"===r)if(Array.isArray(o))for(c=0,l=o.length;c<l;c+=1)F(e,t,o[c],n);else F(e,t,o,n);else e.json||u.call(n,i)||!u.call(t,i)||(e.line=a||e.line,e.position=s||e.position,A(e,\"duplicated mapping key\")),t[i]=o,delete n[i];return t}function I(e){var t;10===(t=e.input.charCodeAt(e.position))?e.position++:13===t?(e.position++,10===e.input.charCodeAt(e.position)&&e.position++):A(e,\"a line break is expected\"),e.line+=1,e.lineStart=e.position}function M(e,t,n){for(var r=0,i=e.input.charCodeAt(e.position);0!==i;){for(;g(i);)i=e.input.charCodeAt(++e.position);if(t&&35===i)do{i=e.input.charCodeAt(++e.position)}while(10!==i&&13!==i&&0!==i);if(!m(i))break;for(I(e),i=e.input.charCodeAt(e.position),r++,e.lineIndent=0;32===i;)e.lineIndent++,i=e.input.charCodeAt(++e.position)}return-1!==n&&0!==r&&e.lineIndent<n&&T(e,\"deficient indentation\"),r}function j(e){var t,n=e.position;return!(45!==(t=e.input.charCodeAt(n))&&46!==t||t!==e.input.charCodeAt(n+1)||t!==e.input.charCodeAt(n+2)||(n+=3,0!==(t=e.input.charCodeAt(n))&&!y(t)))}function L(e,t){1===t?e.result+=\" \":t>1&&(e.result+=r.repeat(\"\\n\",t-1))}function P(e,t){var n,r,i=e.tag,o=e.anchor,a=[],s=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=a),r=e.input.charCodeAt(e.position);0!==r&&45===r&&y(e.input.charCodeAt(e.position+1));)if(s=!0,e.position++,M(e,!0,-1)&&e.lineIndent<=t)a.push(null),r=e.input.charCodeAt(e.position);else if(n=e.line,U(e,t,3,!1,!0),a.push(e.result),M(e,!0,-1),r=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==r)A(e,\"bad indentation of a sequence entry\");else if(e.lineIndent<t)break;return!!s&&(e.tag=i,e.anchor=o,e.kind=\"sequence\",e.result=a,!0)}function R(e){var t,n,r,i,o=!1,a=!1;if(33!==(i=e.input.charCodeAt(e.position)))return!1;if(null!==e.tag&&A(e,\"duplication of a tag property\"),60===(i=e.input.charCodeAt(++e.position))?(o=!0,i=e.input.charCodeAt(++e.position)):33===i?(a=!0,n=\"!!\",i=e.input.charCodeAt(++e.position)):n=\"!\",t=e.position,o){do{i=e.input.charCodeAt(++e.position)}while(0!==i&&62!==i);e.position<e.length?(r=e.input.slice(t,e.position),i=e.input.charCodeAt(++e.position)):A(e,\"unexpected end of the stream within a verbatim tag\")}else{for(;0!==i&&!y(i);)33===i&&(a?A(e,\"tag suffix cannot contain exclamation marks\"):(n=e.input.slice(t-1,e.position+1),f.test(n)||A(e,\"named tag handle cannot contain such characters\"),a=!0,t=e.position+1)),i=e.input.charCodeAt(++e.position);r=e.input.slice(t,e.position),p.test(r)&&A(e,\"tag suffix cannot contain flow indicator characters\")}return r&&!d.test(r)&&A(e,\"tag name cannot contain such characters: \"+r),o?e.tag=r:u.call(e.tagMap,n)?e.tag=e.tagMap[n]+r:\"!\"===n?e.tag=\"!\"+r:\"!!\"===n?e.tag=\"tag:yaml.org,2002:\"+r:A(e,'undeclared tag handle \"'+n+'\"'),!0}function B(e){var t,n;if(38!==(n=e.input.charCodeAt(e.position)))return!1;for(null!==e.anchor&&A(e,\"duplication of an anchor property\"),n=e.input.charCodeAt(++e.position),t=e.position;0!==n&&!y(n)&&!v(n);)n=e.input.charCodeAt(++e.position);return e.position===t&&A(e,\"name of an anchor node must contain at least one character\"),e.anchor=e.input.slice(t,e.position),!0}function U(e,t,n,i,o){var a,s,c,l,p,f,d,h,E=1,w=!1,S=!1;if(null!==e.listener&&e.listener(\"open\",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,a=s=c=4===n||3===n,i&&M(e,!0,-1)&&(w=!0,e.lineIndent>t?E=1:e.lineIndent===t?E=0:e.lineIndent<t&&(E=-1)),1===E)for(;R(e)||B(e);)M(e,!0,-1)?(w=!0,c=a,e.lineIndent>t?E=1:e.lineIndent===t?E=0:e.lineIndent<t&&(E=-1)):c=!1;if(c&&(c=w||o),1!==E&&4!==n||(d=1===n||2===n?t:t+1,h=e.position-e.lineStart,1===E?c&&(P(e,h)||function(e,t,n){var r,i,o,a,s,u=e.tag,c=e.anchor,l={},p={},f=null,d=null,h=null,m=!1,v=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=l),s=e.input.charCodeAt(e.position);0!==s;){if(r=e.input.charCodeAt(e.position+1),o=e.line,a=e.position,63!==s&&58!==s||!y(r)){if(!U(e,n,2,!1,!0))break;if(e.line===o){for(s=e.input.charCodeAt(e.position);g(s);)s=e.input.charCodeAt(++e.position);if(58===s)y(s=e.input.charCodeAt(++e.position))||A(e,\"a whitespace character is expected after the key-value separator within a block mapping\"),m&&(N(e,l,p,f,d,null),f=d=h=null),v=!0,m=!1,i=!1,f=e.tag,d=e.result;else{if(!v)return e.tag=u,e.anchor=c,!0;A(e,\"can not read an implicit mapping pair; a colon is missed\")}}else{if(!v)return e.tag=u,e.anchor=c,!0;A(e,\"can not read a block mapping entry; a multiline key may not be an implicit key\")}}else 63===s?(m&&(N(e,l,p,f,d,null),f=d=h=null),v=!0,m=!0,i=!0):m?(m=!1,i=!0):A(e,\"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line\"),e.position+=1,s=r;if((e.line===o||e.lineIndent>t)&&(U(e,t,4,!0,i)&&(m?d=e.result:h=e.result),m||(N(e,l,p,f,d,h,o,a),f=d=h=null),M(e,!0,-1),s=e.input.charCodeAt(e.position)),e.lineIndent>t&&0!==s)A(e,\"bad indentation of a mapping entry\");else if(e.lineIndent<t)break}return m&&N(e,l,p,f,d,null),v&&(e.tag=u,e.anchor=c,e.kind=\"mapping\",e.result=l),v}(e,h,d))||function(e,t){var n,r,i,o,a,s,u,c,l,p,f=!0,d=e.tag,h=e.anchor,m={};if(91===(p=e.input.charCodeAt(e.position)))i=93,s=!1,r=[];else{if(123!==p)return!1;i=125,s=!0,r={}}for(null!==e.anchor&&(e.anchorMap[e.anchor]=r),p=e.input.charCodeAt(++e.position);0!==p;){if(M(e,!0,t),(p=e.input.charCodeAt(e.position))===i)return e.position++,e.tag=d,e.anchor=h,e.kind=s?\"mapping\":\"sequence\",e.result=r,!0;f||A(e,\"missed comma between flow collection entries\"),l=null,o=a=!1,63===p&&y(e.input.charCodeAt(e.position+1))&&(o=a=!0,e.position++,M(e,!0,t)),n=e.line,U(e,t,1,!1,!0),c=e.tag,u=e.result,M(e,!0,t),p=e.input.charCodeAt(e.position),!a&&e.line!==n||58!==p||(o=!0,p=e.input.charCodeAt(++e.position),M(e,!0,t),U(e,t,1,!1,!0),l=e.result),s?N(e,r,m,c,u,l):o?r.push(N(e,null,m,c,u,l)):r.push(u),M(e,!0,t),44===(p=e.input.charCodeAt(e.position))?(f=!0,p=e.input.charCodeAt(++e.position)):f=!1}A(e,\"unexpected end of the stream within a flow collection\")}(e,d)?S=!0:(s&&function(e,t){var n,i,o,a,s,u=1,c=!1,l=!1,p=t,f=0,d=!1;if(124===(a=e.input.charCodeAt(e.position)))i=!1;else{if(62!==a)return!1;i=!0}for(e.kind=\"scalar\",e.result=\"\";0!==a;)if(43===(a=e.input.charCodeAt(++e.position))||45===a)1===u?u=43===a?3:2:A(e,\"repeat of a chomping mode identifier\");else{if(!((o=48<=(s=a)&&s<=57?s-48:-1)>=0))break;0===o?A(e,\"bad explicit indentation width of a block scalar; it cannot be less than one\"):l?A(e,\"repeat of an indentation width identifier\"):(p=t+o-1,l=!0)}if(g(a)){do{a=e.input.charCodeAt(++e.position)}while(g(a));if(35===a)do{a=e.input.charCodeAt(++e.position)}while(!m(a)&&0!==a)}for(;0!==a;){for(I(e),e.lineIndent=0,a=e.input.charCodeAt(e.position);(!l||e.lineIndent<p)&&32===a;)e.lineIndent++,a=e.input.charCodeAt(++e.position);if(!l&&e.lineIndent>p&&(p=e.lineIndent),m(a))f++;else{if(e.lineIndent<p){3===u?e.result+=r.repeat(\"\\n\",c?1+f:f):1===u&&c&&(e.result+=\"\\n\");break}for(i?g(a)?(d=!0,e.result+=r.repeat(\"\\n\",c?1+f:f)):d?(d=!1,e.result+=r.repeat(\"\\n\",f+1)):0===f?c&&(e.result+=\" \"):e.result+=r.repeat(\"\\n\",f):e.result+=r.repeat(\"\\n\",c?1+f:f),c=!0,l=!0,f=0,n=e.position;!m(a)&&0!==a;)a=e.input.charCodeAt(++e.position);O(e,n,e.position,!1)}}return!0}(e,d)||function(e,t){var n,r,i;if(39!==(n=e.input.charCodeAt(e.position)))return!1;for(e.kind=\"scalar\",e.result=\"\",e.position++,r=i=e.position;0!==(n=e.input.charCodeAt(e.position));)if(39===n){if(O(e,r,e.position,!0),39!==(n=e.input.charCodeAt(++e.position)))return!0;r=e.position,e.position++,i=e.position}else m(n)?(O(e,r,i,!0),L(e,M(e,!1,t)),r=i=e.position):e.position===e.lineStart&&j(e)?A(e,\"unexpected end of the document within a single quoted scalar\"):(e.position++,i=e.position);A(e,\"unexpected end of the stream within a single quoted scalar\")}(e,d)||function(e,t){var n,r,i,o,a,s,u;if(34!==(s=e.input.charCodeAt(e.position)))return!1;for(e.kind=\"scalar\",e.result=\"\",e.position++,n=r=e.position;0!==(s=e.input.charCodeAt(e.position));){if(34===s)return O(e,n,e.position,!0),e.position++,!0;if(92===s){if(O(e,n,e.position,!0),m(s=e.input.charCodeAt(++e.position)))M(e,!1,t);else if(s<256&&D[s])e.result+=C[s],e.position++;else if((a=120===(u=s)?2:117===u?4:85===u?8:0)>0){for(i=a,o=0;i>0;i--)(a=b(s=e.input.charCodeAt(++e.position)))>=0?o=(o<<4)+a:A(e,\"expected hexadecimal character\");e.result+=x(o),e.position++}else A(e,\"unknown escape sequence\");n=r=e.position}else m(s)?(O(e,n,r,!0),L(e,M(e,!1,t)),n=r=e.position):e.position===e.lineStart&&j(e)?A(e,\"unexpected end of the document within a double quoted scalar\"):(e.position++,r=e.position)}A(e,\"unexpected end of the stream within a double quoted scalar\")}(e,d)?S=!0:!function(e){var t,n,r;if(42!==(r=e.input.charCodeAt(e.position)))return!1;for(r=e.input.charCodeAt(++e.position),t=e.position;0!==r&&!y(r)&&!v(r);)r=e.input.charCodeAt(++e.position);return e.position===t&&A(e,\"name of an alias node must contain at least one character\"),n=e.input.slice(t,e.position),e.anchorMap.hasOwnProperty(n)||A(e,'unidentified alias \"'+n+'\"'),e.result=e.anchorMap[n],M(e,!0,-1),!0}(e)?function(e,t,n){var r,i,o,a,s,u,c,l,p=e.kind,f=e.result;if(y(l=e.input.charCodeAt(e.position))||v(l)||35===l||38===l||42===l||33===l||124===l||62===l||39===l||34===l||37===l||64===l||96===l)return!1;if((63===l||45===l)&&(y(r=e.input.charCodeAt(e.position+1))||n&&v(r)))return!1;for(e.kind=\"scalar\",e.result=\"\",i=o=e.position,a=!1;0!==l;){if(58===l){if(y(r=e.input.charCodeAt(e.position+1))||n&&v(r))break}else if(35===l){if(y(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&j(e)||n&&v(l))break;if(m(l)){if(s=e.line,u=e.lineStart,c=e.lineIndent,M(e,!1,-1),e.lineIndent>=t){a=!0,l=e.input.charCodeAt(e.position);continue}e.position=o,e.line=s,e.lineStart=u,e.lineIndent=c;break}}a&&(O(e,i,o,!1),L(e,e.line-s),i=o=e.position,a=!1),g(l)||(o=e.position+1),l=e.input.charCodeAt(++e.position)}return O(e,i,o,!1),!!e.result||(e.kind=p,e.result=f,!1)}(e,d,1===n)&&(S=!0,null===e.tag&&(e.tag=\"?\")):(S=!0,null===e.tag&&null===e.anchor||A(e,\"alias node should not have any properties\")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===E&&(S=c&&P(e,h))),null!==e.tag&&\"!\"!==e.tag)if(\"?\"===e.tag){for(l=0,p=e.implicitTypes.length;l<p;l+=1)if((f=e.implicitTypes[l]).resolve(e.result)){e.result=f.construct(e.result),e.tag=f.tag,null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);break}}else u.call(e.typeMap[e.kind||\"fallback\"],e.tag)?(f=e.typeMap[e.kind||\"fallback\"][e.tag],null!==e.result&&f.kind!==e.kind&&A(e,\"unacceptable node kind for !<\"+e.tag+'> tag; it should be \"'+f.kind+'\", not \"'+e.kind+'\"'),f.resolve(e.result)?(e.result=f.construct(e.result),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):A(e,\"cannot resolve a node with !<\"+e.tag+\"> explicit tag\")):A(e,\"unknown tag !<\"+e.tag+\">\");return null!==e.listener&&e.listener(\"close\",e),null!==e.tag||null!==e.anchor||S}function z(e){var t,n,r,i,o=e.position,a=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};0!==(i=e.input.charCodeAt(e.position))&&(M(e,!0,-1),i=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==i));){for(a=!0,i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!y(i);)i=e.input.charCodeAt(++e.position);for(r=[],(n=e.input.slice(t,e.position)).length<1&&A(e,\"directive name must not be less than one character in length\");0!==i;){for(;g(i);)i=e.input.charCodeAt(++e.position);if(35===i){do{i=e.input.charCodeAt(++e.position)}while(0!==i&&!m(i));break}if(m(i))break;for(t=e.position;0!==i&&!y(i);)i=e.input.charCodeAt(++e.position);r.push(e.input.slice(t,e.position))}0!==i&&I(e),u.call(_,n)?_[n](e,n,r):T(e,'unknown document directive \"'+n+'\"')}M(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,M(e,!0,-1)):a&&A(e,\"directives end mark is expected\"),U(e,e.lineIndent-1,4,!1,!0),M(e,!0,-1),e.checkLineBreaks&&l.test(e.input.slice(o,e.position))&&T(e,\"non-ASCII line breaks are interpreted as content\"),e.documents.push(e.result),e.position===e.lineStart&&j(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,M(e,!0,-1)):e.position<e.length-1&&A(e,\"end of the stream or a document separator is expected\")}function V(e,t){t=t||{},0!==(e=String(e)).length&&(10!==e.charCodeAt(e.length-1)&&13!==e.charCodeAt(e.length-1)&&(e+=\"\\n\"),65279===e.charCodeAt(0)&&(e=e.slice(1)));var n=new S(e,t);for(n.input+=\"\\0\";32===n.input.charCodeAt(n.position);)n.lineIndent+=1,n.position+=1;for(;n.position<n.length-1;)z(n);return n.documents}function q(e,t,n){var r,i,o=V(e,n);if(\"function\"!=typeof t)return o;for(r=0,i=o.length;r<i;r+=1)t(o[r])}function H(e,t){var n=V(e,t);if(0!==n.length){if(1===n.length)return n[0];throw new i(\"expected a single document in the stream, but found more\")}}e.exports.loadAll=q,e.exports.load=H,e.exports.safeLoadAll=function(e,t,n){if(\"function\"!=typeof t)return q(e,r.extend({schema:a},n));q(e,t,r.extend({schema:a},n))},e.exports.safeLoad=function(e,t){return H(e,r.extend({schema:a},t))}},function(e,t,n){\"use strict\";var r=n(78);function i(e,t,n,r,i){this.name=e,this.buffer=t,this.position=n,this.line=r,this.column=i}i.prototype.getSnippet=function(e,t){var n,i,o,a,s;if(!this.buffer)return null;for(e=e||4,t=t||75,n=\"\",i=this.position;i>0&&-1===\"\\0\\r\\n\\u2028\\u2029\".indexOf(this.buffer.charAt(i-1));)if(i-=1,this.position-i>t/2-1){n=\" ... \",i+=5;break}for(o=\"\",a=this.position;a<this.buffer.length&&-1===\"\\0\\r\\n\\u2028\\u2029\".indexOf(this.buffer.charAt(a));)if((a+=1)-this.position>t/2-1){o=\" ... \",a-=5;break}return s=this.buffer.slice(i,a),r.repeat(\" \",e)+n+s+o+\"\\n\"+r.repeat(\" \",e+this.position-i+n.length)+\"^\"},i.prototype.toString=function(e){var t,n=\"\";return this.name&&(n+='in \"'+this.name+'\" '),n+=\"at line \"+(this.line+1)+\", column \"+(this.column+1),e||(t=this.getSnippet())&&(n+=\":\\n\"+t),n},e.exports=i},function(e,t,n){\"use strict\";var r=n(35);e.exports=new r(\"tag:yaml.org,2002:str\",{kind:\"scalar\",construct:function(e){return null!==e?e:\"\"}})},function(e,t,n){\"use strict\";var r=n(35);e.exports=new r(\"tag:yaml.org,2002:seq\",{kind:\"sequence\",construct:function(e){return null!==e?e:[]}})},function(e,t,n){\"use strict\";var r=n(35);e.exports=new r(\"tag:yaml.org,2002:map\",{kind:\"mapping\",construct:function(e){return null!==e?e:{}}})},function(e,t,n){\"use strict\";var r=n(35);e.exports=new r(\"tag:yaml.org,2002:null\",{kind:\"scalar\",resolve:function(e){if(null===e)return!0;var t=e.length;return 1===t&&\"~\"===e||4===t&&(\"null\"===e||\"Null\"===e||\"NULL\"===e)},construct:function(){return null},predicate:function(e){return null===e},represent:{canonical:function(){return\"~\"},lowercase:function(){return\"null\"},uppercase:function(){return\"NULL\"},camelcase:function(){return\"Null\"}},defaultStyle:\"lowercase\"})},function(e,t,n){\"use strict\";var r=n(35);e.exports=new r(\"tag:yaml.org,2002:bool\",{kind:\"scalar\",resolve:function(e){if(null===e)return!1;var t=e.length;return 4===t&&(\"true\"===e||\"True\"===e||\"TRUE\"===e)||5===t&&(\"false\"===e||\"False\"===e||\"FALSE\"===e)},construct:function(e){return\"true\"===e||\"True\"===e||\"TRUE\"===e},predicate:function(e){return\"[object Boolean]\"===Object.prototype.toString.call(e)},represent:{lowercase:function(e){return e?\"true\":\"false\"},uppercase:function(e){return e?\"TRUE\":\"FALSE\"},camelcase:function(e){return e?\"True\":\"False\"}},defaultStyle:\"lowercase\"})},function(e,t,n){\"use strict\";var r=n(78),i=n(35);function o(e){return 48<=e&&e<=55}function a(e){return 48<=e&&e<=57}e.exports=new i(\"tag:yaml.org,2002:int\",{kind:\"scalar\",resolve:function(e){if(null===e)return!1;var t,n,r=e.length,i=0,s=!1;if(!r)return!1;if(\"-\"!==(t=e[i])&&\"+\"!==t||(t=e[++i]),\"0\"===t){if(i+1===r)return!0;if(\"b\"===(t=e[++i])){for(i++;i<r;i++)if(\"_\"!==(t=e[i])){if(\"0\"!==t&&\"1\"!==t)return!1;s=!0}return s&&\"_\"!==t}if(\"x\"===t){for(i++;i<r;i++)if(\"_\"!==(t=e[i])){if(!(48<=(n=e.charCodeAt(i))&&n<=57||65<=n&&n<=70||97<=n&&n<=102))return!1;s=!0}return s&&\"_\"!==t}for(;i<r;i++)if(\"_\"!==(t=e[i])){if(!o(e.charCodeAt(i)))return!1;s=!0}return s&&\"_\"!==t}if(\"_\"===t)return!1;for(;i<r;i++)if(\"_\"!==(t=e[i])){if(\":\"===t)break;if(!a(e.charCodeAt(i)))return!1;s=!0}return!(!s||\"_\"===t)&&(\":\"!==t||/^(:[0-5]?[0-9])+$/.test(e.slice(i)))},construct:function(e){var t,n,r=e,i=1,o=[];return-1!==r.indexOf(\"_\")&&(r=r.replace(/_/g,\"\")),\"-\"!==(t=r[0])&&\"+\"!==t||(\"-\"===t&&(i=-1),t=(r=r.slice(1))[0]),\"0\"===r?0:\"0\"===t?\"b\"===r[1]?i*parseInt(r.slice(2),2):\"x\"===r[1]?i*parseInt(r,16):i*parseInt(r,8):-1!==r.indexOf(\":\")?(r.split(\":\").forEach((function(e){o.unshift(parseInt(e,10))})),r=0,n=1,o.forEach((function(e){r+=e*n,n*=60})),i*r):i*parseInt(r,10)},predicate:function(e){return\"[object Number]\"===Object.prototype.toString.call(e)&&e%1==0&&!r.isNegativeZero(e)},represent:{binary:function(e){return e>=0?\"0b\"+e.toString(2):\"-0b\"+e.toString(2).slice(1)},octal:function(e){return e>=0?\"0\"+e.toString(8):\"-0\"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?\"0x\"+e.toString(16).toUpperCase():\"-0x\"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:\"decimal\",styleAliases:{binary:[2,\"bin\"],octal:[8,\"oct\"],decimal:[10,\"dec\"],hexadecimal:[16,\"hex\"]}})},function(e,t,n){\"use strict\";var r=n(78),i=n(35),o=new RegExp(\"^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\.[0-9_]*|[-+]?\\\\.(?:inf|Inf|INF)|\\\\.(?:nan|NaN|NAN))$\");var a=/^[-+]?[0-9]+e/;e.exports=new i(\"tag:yaml.org,2002:float\",{kind:\"scalar\",resolve:function(e){return null!==e&&!(!o.test(e)||\"_\"===e[e.length-1])},construct:function(e){var t,n,r,i;return n=\"-\"===(t=e.replace(/_/g,\"\").toLowerCase())[0]?-1:1,i=[],\"+-\".indexOf(t[0])>=0&&(t=t.slice(1)),\".inf\"===t?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:\".nan\"===t?NaN:t.indexOf(\":\")>=0?(t.split(\":\").forEach((function(e){i.unshift(parseFloat(e,10))})),t=0,r=1,i.forEach((function(e){t+=e*r,r*=60})),n*t):n*parseFloat(t,10)},predicate:function(e){return\"[object Number]\"===Object.prototype.toString.call(e)&&(e%1!=0||r.isNegativeZero(e))},represent:function(e,t){var n;if(isNaN(e))switch(t){case\"lowercase\":return\".nan\";case\"uppercase\":return\".NAN\";case\"camelcase\":return\".NaN\"}else if(Number.POSITIVE_INFINITY===e)switch(t){case\"lowercase\":return\".inf\";case\"uppercase\":return\".INF\";case\"camelcase\":return\".Inf\"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case\"lowercase\":return\"-.inf\";case\"uppercase\":return\"-.INF\";case\"camelcase\":return\"-.Inf\"}else if(r.isNegativeZero(e))return\"-0.0\";return n=e.toString(10),a.test(n)?n.replace(\"e\",\".e\"):n},defaultStyle:\"lowercase\"})},function(e,t,n){\"use strict\";var r=n(35),i=new RegExp(\"^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$\"),o=new RegExp(\"^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\\\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\\\.([0-9]*))?(?:[ \\\\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$\");e.exports=new r(\"tag:yaml.org,2002:timestamp\",{kind:\"scalar\",resolve:function(e){return null!==e&&(null!==i.exec(e)||null!==o.exec(e))},construct:function(e){var t,n,r,a,s,u,c,l,p=0,f=null;if(null===(t=i.exec(e))&&(t=o.exec(e)),null===t)throw new Error(\"Date resolve error\");if(n=+t[1],r=+t[2]-1,a=+t[3],!t[4])return new Date(Date.UTC(n,r,a));if(s=+t[4],u=+t[5],c=+t[6],t[7]){for(p=t[7].slice(0,3);p.length<3;)p+=\"0\";p=+p}return t[9]&&(f=6e4*(60*+t[10]+ +(t[11]||0)),\"-\"===t[9]&&(f=-f)),l=new Date(Date.UTC(n,r,a,s,u,c,p)),f&&l.setTime(l.getTime()-f),l},instanceOf:Date,represent:function(e){return e.toISOString()}})},function(e,t,n){\"use strict\";var r=n(35);e.exports=new r(\"tag:yaml.org,2002:merge\",{kind:\"scalar\",resolve:function(e){return\"<<\"===e||null===e}})},function(e,t,n){\"use strict\";var r;try{r=n(508).Buffer}catch(e){}var i=n(35),o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\\n\\r\";e.exports=new i(\"tag:yaml.org,2002:binary\",{kind:\"scalar\",resolve:function(e){if(null===e)return!1;var t,n,r=0,i=e.length,a=o;for(n=0;n<i;n++)if(!((t=a.indexOf(e.charAt(n)))>64)){if(t<0)return!1;r+=6}return r%8==0},construct:function(e){var t,n,i=e.replace(/[\\r\\n=]/g,\"\"),a=i.length,s=o,u=0,c=[];for(t=0;t<a;t++)t%4==0&&t&&(c.push(u>>16&255),c.push(u>>8&255),c.push(255&u)),u=u<<6|s.indexOf(i.charAt(t));return 0===(n=a%4*6)?(c.push(u>>16&255),c.push(u>>8&255),c.push(255&u)):18===n?(c.push(u>>10&255),c.push(u>>2&255)):12===n&&c.push(u>>4&255),r?r.from?r.from(c):new r(c):c},predicate:function(e){return r&&r.isBuffer(e)},represent:function(e){var t,n,r=\"\",i=0,a=e.length,s=o;for(t=0;t<a;t++)t%3==0&&t&&(r+=s[i>>18&63],r+=s[i>>12&63],r+=s[i>>6&63],r+=s[63&i]),i=(i<<8)+e[t];return 0===(n=a%3)?(r+=s[i>>18&63],r+=s[i>>12&63],r+=s[i>>6&63],r+=s[63&i]):2===n?(r+=s[i>>10&63],r+=s[i>>4&63],r+=s[i<<2&63],r+=s[64]):1===n&&(r+=s[i>>2&63],r+=s[i<<4&63],r+=s[64],r+=s[64]),r}})},function(e,t,n){\"use strict\";(function(e){\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author   Feross Aboukhadijeh <http://feross.org>\n * @license  MIT\n */\nvar r=n(509),i=n(510),o=n(511);function a(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,t){if(a()<t)throw new RangeError(\"Invalid typed array length\");return u.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=u.prototype:(null===e&&(e=new u(t)),e.length=t),e}function u(e,t,n){if(!(u.TYPED_ARRAY_SUPPORT||this instanceof u))return new u(e,t,n);if(\"number\"==typeof e){if(\"string\"==typeof t)throw new Error(\"If encoding is specified then the first argument must be a string\");return p(this,e)}return c(this,e,t,n)}function c(e,t,n,r){if(\"number\"==typeof t)throw new TypeError('\"value\" argument must not be a number');return\"undefined\"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,r){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError(\"'offset' is out of bounds\");if(t.byteLength<n+(r||0))throw new RangeError(\"'length' is out of bounds\");t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r);u.TYPED_ARRAY_SUPPORT?(e=t).__proto__=u.prototype:e=f(e,t);return e}(e,t,n,r):\"string\"==typeof t?function(e,t,n){\"string\"==typeof n&&\"\"!==n||(n=\"utf8\");if(!u.isEncoding(n))throw new TypeError('\"encoding\" must be a valid string encoding');var r=0|h(t,n),i=(e=s(e,r)).write(t,n);i!==r&&(e=e.slice(0,i));return e}(e,t,n):function(e,t){if(u.isBuffer(t)){var n=0|d(t.length);return 0===(e=s(e,n)).length||t.copy(e,0,0,n),e}if(t){if(\"undefined\"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||\"length\"in t)return\"number\"!=typeof t.length||(r=t.length)!=r?s(e,0):f(e,t);if(\"Buffer\"===t.type&&o(t.data))return f(e,t.data)}var r;throw new TypeError(\"First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.\")}(e,t)}function l(e){if(\"number\"!=typeof e)throw new TypeError('\"size\" argument must be a number');if(e<0)throw new RangeError('\"size\" argument must not be negative')}function p(e,t){if(l(t),e=s(e,t<0?0:0|d(t)),!u.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function f(e,t){var n=t.length<0?0:0|d(t.length);e=s(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function d(e){if(e>=a())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+a().toString(16)+\" bytes\");return 0|e}function h(e,t){if(u.isBuffer(e))return e.length;if(\"undefined\"!=typeof ArrayBuffer&&\"function\"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;\"string\"!=typeof e&&(e=\"\"+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case\"ascii\":case\"latin1\":case\"binary\":return n;case\"utf8\":case\"utf-8\":case void 0:return U(e).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*n;case\"hex\":return n>>>1;case\"base64\":return z(e).length;default:if(r)return U(e).length;t=(\"\"+t).toLowerCase(),r=!0}}function m(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return\"\";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return\"\";if((n>>>=0)<=(t>>>=0))return\"\";for(e||(e=\"utf8\");;)switch(e){case\"hex\":return _(this,t,n);case\"utf8\":case\"utf-8\":return k(this,t,n);case\"ascii\":return A(this,t,n);case\"latin1\":case\"binary\":return T(this,t,n);case\"base64\":return S(this,t,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return O(this,t,n);default:if(r)throw new TypeError(\"Unknown encoding: \"+e);e=(e+\"\").toLowerCase(),r=!0}}function g(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function y(e,t,n,r,i){if(0===e.length)return-1;if(\"string\"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if(\"string\"==typeof t&&(t=u.from(t,r)),u.isBuffer(t))return 0===t.length?-1:v(e,t,n,r,i);if(\"number\"==typeof t)return t&=255,u.TYPED_ARRAY_SUPPORT&&\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):v(e,[t],n,r,i);throw new TypeError(\"val must be string, number or Buffer\")}function v(e,t,n,r,i){var o,a=1,s=e.length,u=t.length;if(void 0!==r&&(\"ucs2\"===(r=String(r).toLowerCase())||\"ucs-2\"===r||\"utf16le\"===r||\"utf-16le\"===r)){if(e.length<2||t.length<2)return-1;a=2,s/=2,u/=2,n/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){var l=-1;for(o=n;o<s;o++)if(c(e,o)===c(t,-1===l?0:o-l)){if(-1===l&&(l=o),o-l+1===u)return l*a}else-1!==l&&(o-=o-l),l=-1}else for(n+u>s&&(n=s-u),o=n;o>=0;o--){for(var p=!0,f=0;f<u;f++)if(c(e,o+f)!==c(t,f)){p=!1;break}if(p)return o}return-1}function b(e,t,n,r){n=Number(n)||0;var i=e.length-n;r?(r=Number(r))>i&&(r=i):r=i;var o=t.length;if(o%2!=0)throw new TypeError(\"Invalid hex string\");r>o/2&&(r=o/2);for(var a=0;a<r;++a){var s=parseInt(t.substr(2*a,2),16);if(isNaN(s))return a;e[n+a]=s}return a}function E(e,t,n,r){return V(U(t,e.length-n),e,n,r)}function x(e,t,n,r){return V(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function D(e,t,n,r){return x(e,t,n,r)}function C(e,t,n,r){return V(z(t),e,n,r)}function w(e,t,n,r){return V(function(e,t){for(var n,r,i,o=[],a=0;a<e.length&&!((t-=2)<0);++a)n=e.charCodeAt(a),r=n>>8,i=n%256,o.push(i),o.push(r);return o}(t,e.length-n),e,n,r)}function S(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function k(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i<n;){var o,a,s,u,c=e[i],l=null,p=c>239?4:c>223?3:c>191?2:1;if(i+p<=n)switch(p){case 1:c<128&&(l=c);break;case 2:128==(192&(o=e[i+1]))&&(u=(31&c)<<6|63&o)>127&&(l=u);break;case 3:o=e[i+1],a=e[i+2],128==(192&o)&&128==(192&a)&&(u=(15&c)<<12|(63&o)<<6|63&a)>2047&&(u<55296||u>57343)&&(l=u);break;case 4:o=e[i+1],a=e[i+2],s=e[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(u=(15&c)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(l=u)}null===l?(l=65533,p=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),i+=p}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var n=\"\",r=0;for(;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=4096));return n}(r)}t.Buffer=u,t.SlowBuffer=function(e){+e!=e&&(e=0);return u.alloc(+e)},t.INSPECT_MAX_BYTES=50,u.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&\"function\"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=a(),u.poolSize=8192,u._augment=function(e){return e.__proto__=u.prototype,e},u.from=function(e,t,n){return c(null,e,t,n)},u.TYPED_ARRAY_SUPPORT&&(u.prototype.__proto__=Uint8Array.prototype,u.__proto__=Uint8Array,\"undefined\"!=typeof Symbol&&Symbol.species&&u[Symbol.species]===u&&Object.defineProperty(u,Symbol.species,{value:null,configurable:!0})),u.alloc=function(e,t,n){return function(e,t,n,r){return l(t),t<=0?s(e,t):void 0!==n?\"string\"==typeof r?s(e,t).fill(n,r):s(e,t).fill(n):s(e,t)}(null,e,t,n)},u.allocUnsafe=function(e){return p(null,e)},u.allocUnsafeSlow=function(e){return p(null,e)},u.isBuffer=function(e){return!(null==e||!e._isBuffer)},u.compare=function(e,t){if(!u.isBuffer(e)||!u.isBuffer(t))throw new TypeError(\"Arguments must be Buffers\");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,o=Math.min(n,r);i<o;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:r<n?1:0},u.isEncoding=function(e){switch(String(e).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},u.concat=function(e,t){if(!o(e))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===e.length)return u.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=u.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){var a=e[n];if(!u.isBuffer(a))throw new TypeError('\"list\" argument must be an Array of Buffers');a.copy(r,i),i+=a.length}return r},u.byteLength=h,u.prototype._isBuffer=!0,u.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var t=0;t<e;t+=2)g(this,t,t+1);return this},u.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var t=0;t<e;t+=4)g(this,t,t+3),g(this,t+1,t+2);return this},u.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var t=0;t<e;t+=8)g(this,t,t+7),g(this,t+1,t+6),g(this,t+2,t+5),g(this,t+3,t+4);return this},u.prototype.toString=function(){var e=0|this.length;return 0===e?\"\":0===arguments.length?k(this,0,e):m.apply(this,arguments)},u.prototype.equals=function(e){if(!u.isBuffer(e))throw new TypeError(\"Argument must be a Buffer\");return this===e||0===u.compare(this,e)},u.prototype.inspect=function(){var e=\"\",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString(\"hex\",0,n).match(/.{2}/g).join(\" \"),this.length>n&&(e+=\" ... \")),\"<Buffer \"+e+\">\"},u.prototype.compare=function(e,t,n,r,i){if(!u.isBuffer(e))throw new TypeError(\"Argument must be a Buffer\");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError(\"out of range index\");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var o=(i>>>=0)-(r>>>=0),a=(n>>>=0)-(t>>>=0),s=Math.min(o,a),c=this.slice(r,i),l=e.slice(t,n),p=0;p<s;++p)if(c[p]!==l[p]){o=c[p],a=l[p];break}return o<a?-1:a<o?1:0},u.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},u.prototype.indexOf=function(e,t,n){return y(this,e,t,n,!0)},u.prototype.lastIndexOf=function(e,t,n){return y(this,e,t,n,!1)},u.prototype.write=function(e,t,n,r){if(void 0===t)r=\"utf8\",n=this.length,t=0;else if(void 0===n&&\"string\"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");t|=0,isFinite(n)?(n|=0,void 0===r&&(r=\"utf8\")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");r||(r=\"utf8\");for(var o=!1;;)switch(r){case\"hex\":return b(this,e,t,n);case\"utf8\":case\"utf-8\":return E(this,e,t,n);case\"ascii\":return x(this,e,t,n);case\"latin1\":case\"binary\":return D(this,e,t,n);case\"base64\":return C(this,e,t,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return w(this,e,t,n);default:if(o)throw new TypeError(\"Unknown encoding: \"+r);r=(\"\"+r).toLowerCase(),o=!0}},u.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};function A(e,t,n){var r=\"\";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(127&e[i]);return r}function T(e,t,n){var r=\"\";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(e[i]);return r}function _(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var i=\"\",o=t;o<n;++o)i+=B(e[o]);return i}function O(e,t,n){for(var r=e.slice(t,n),i=\"\",o=0;o<r.length;o+=2)i+=String.fromCharCode(r[o]+256*r[o+1]);return i}function F(e,t,n){if(e%1!=0||e<0)throw new RangeError(\"offset is not uint\");if(e+t>n)throw new RangeError(\"Trying to access beyond buffer length\")}function N(e,t,n,r,i,o){if(!u.isBuffer(e))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(t>i||t<o)throw new RangeError('\"value\" argument is out of bounds');if(n+r>e.length)throw new RangeError(\"Index out of range\")}function I(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-n,2);i<o;++i)e[n+i]=(t&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function M(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-n,4);i<o;++i)e[n+i]=t>>>8*(r?i:3-i)&255}function j(e,t,n,r,i,o){if(n+r>e.length)throw new RangeError(\"Index out of range\");if(n<0)throw new RangeError(\"Index out of range\")}function L(e,t,n,r,o){return o||j(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function P(e,t,n,r,o){return o||j(e,0,n,8),i.write(e,t,n,r,52,8),n+8}u.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e),u.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=u.prototype;else{var i=t-e;n=new u(i,void 0);for(var o=0;o<i;++o)n[o]=this[o+e]}return n},u.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||F(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return r},u.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||F(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},u.prototype.readUInt8=function(e,t){return t||F(e,1,this.length),this[e]},u.prototype.readUInt16LE=function(e,t){return t||F(e,2,this.length),this[e]|this[e+1]<<8},u.prototype.readUInt16BE=function(e,t){return t||F(e,2,this.length),this[e]<<8|this[e+1]},u.prototype.readUInt32LE=function(e,t){return t||F(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},u.prototype.readUInt32BE=function(e,t){return t||F(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},u.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||F(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*t)),r},u.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||F(e,t,this.length);for(var r=t,i=1,o=this[e+--r];r>0&&(i*=256);)o+=this[e+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*t)),o},u.prototype.readInt8=function(e,t){return t||F(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},u.prototype.readInt16LE=function(e,t){t||F(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt16BE=function(e,t){t||F(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt32LE=function(e,t){return t||F(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},u.prototype.readInt32BE=function(e,t){return t||F(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},u.prototype.readFloatLE=function(e,t){return t||F(e,4,this.length),i.read(this,e,!0,23,4)},u.prototype.readFloatBE=function(e,t){return t||F(e,4,this.length),i.read(this,e,!1,23,4)},u.prototype.readDoubleLE=function(e,t){return t||F(e,8,this.length),i.read(this,e,!0,52,8)},u.prototype.readDoubleBE=function(e,t){return t||F(e,8,this.length),i.read(this,e,!1,52,8)},u.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||N(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,o=0;for(this[t]=255&e;++o<n&&(i*=256);)this[t+o]=e/i&255;return t+n},u.prototype.writeUIntBE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||N(this,e,t,n,Math.pow(2,8*n)-1,0);var i=n-1,o=1;for(this[t+i]=255&e;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+n},u.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,1,255,0),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},u.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):I(this,e,t,!0),t+2},u.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):I(this,e,t,!1),t+2},u.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):M(this,e,t,!0),t+4},u.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):M(this,e,t,!1),t+4},u.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);N(this,e,t,n,i-1,-i)}var o=0,a=1,s=0;for(this[t]=255&e;++o<n&&(a*=256);)e<0&&0===s&&0!==this[t+o-1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+n},u.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);N(this,e,t,n,i-1,-i)}var o=n-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+n},u.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,1,127,-128),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},u.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):I(this,e,t,!0),t+2},u.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):I(this,e,t,!1),t+2},u.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):M(this,e,t,!0),t+4},u.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):M(this,e,t,!1),t+4},u.prototype.writeFloatLE=function(e,t,n){return L(this,e,t,!0,n)},u.prototype.writeFloatBE=function(e,t,n){return L(this,e,t,!1,n)},u.prototype.writeDoubleLE=function(e,t,n){return P(this,e,t,!0,n)},u.prototype.writeDoubleBE=function(e,t,n){return P(this,e,t,!1,n)},u.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError(\"targetStart out of bounds\");if(n<0||n>=this.length)throw new RangeError(\"sourceStart out of bounds\");if(r<0)throw new RangeError(\"sourceEnd out of bounds\");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var i,o=r-n;if(this===e&&n<t&&t<r)for(i=o-1;i>=0;--i)e[i+t]=this[i+n];else if(o<1e3||!u.TYPED_ARRAY_SUPPORT)for(i=0;i<o;++i)e[i+t]=this[i+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+o),t);return o},u.prototype.fill=function(e,t,n,r){if(\"string\"==typeof e){if(\"string\"==typeof t?(r=t,t=0,n=this.length):\"string\"==typeof n&&(r=n,n=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==r&&\"string\"!=typeof r)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof r&&!u.isEncoding(r))throw new TypeError(\"Unknown encoding: \"+r)}else\"number\"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError(\"Out of range index\");if(n<=t)return this;var o;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),\"number\"==typeof e)for(o=t;o<n;++o)this[o]=e;else{var a=u.isBuffer(e)?e:U(new u(e,r).toString()),s=a.length;for(o=0;o<n-t;++o)this[o+t]=a[o%s]}return this};var R=/[^+\\/0-9A-Za-z-_]/g;function B(e){return e<16?\"0\"+e.toString(16):e.toString(16)}function U(e,t){var n;t=t||1/0;for(var r=e.length,i=null,o=[],a=0;a<r;++a){if((n=e.charCodeAt(a))>55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error(\"Invalid code point\");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function z(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\\s+|\\s+$/g,\"\")}(e).replace(R,\"\")).length<2)return\"\";for(;e.length%4!=0;)e+=\"=\";return e}(e))}function V(e,t,n,r){for(var i=0;i<r&&!(i+n>=t.length||i>=e.length);++i)t[i+n]=e[i];return i}}).call(this,n(43))},function(e,t,n){\"use strict\";t.byteLength=function(e){var t=c(e),n=t[0],r=t[1];return 3*(n+r)/4-r},t.toByteArray=function(e){var t,n,r=c(e),a=r[0],s=r[1],u=new o(function(e,t,n){return 3*(t+n)/4-n}(0,a,s)),l=0,p=s>0?a-4:a;for(n=0;n<p;n+=4)t=i[e.charCodeAt(n)]<<18|i[e.charCodeAt(n+1)]<<12|i[e.charCodeAt(n+2)]<<6|i[e.charCodeAt(n+3)],u[l++]=t>>16&255,u[l++]=t>>8&255,u[l++]=255&t;2===s&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,u[l++]=255&t);1===s&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,u[l++]=t>>8&255,u[l++]=255&t);return u},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,o=[],a=0,s=n-i;a<s;a+=16383)o.push(l(e,a,a+16383>s?s:a+16383));1===i?(t=e[n-1],o.push(r[t>>2]+r[t<<4&63]+\"==\")):2===i&&(t=(e[n-2]<<8)+e[n-1],o.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+\"=\"));return o.join(\"\")};for(var r=[],i=[],o=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,a=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",s=0,u=a.length;s<u;++s)r[s]=a[s],i[a.charCodeAt(s)]=s;function c(e){var t=e.length;if(t%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var n=e.indexOf(\"=\");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function l(e,t,n){for(var i,o,a=[],s=t;s<n;s+=3)i=(e[s]<<16&16711680)+(e[s+1]<<8&65280)+(255&e[s+2]),a.push(r[(o=i)>>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return a.join(\"\")}i[\"-\".charCodeAt(0)]=62,i[\"_\".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,n,r,i){var o,a,s=8*i-r-1,u=(1<<s)-1,c=u>>1,l=-7,p=n?i-1:0,f=n?-1:1,d=e[t+p];for(p+=f,o=d&(1<<-l)-1,d>>=-l,l+=s;l>0;o=256*o+e[t+p],p+=f,l-=8);for(a=o&(1<<-l)-1,o>>=-l,l+=r;l>0;a=256*a+e[t+p],p+=f,l-=8);if(0===o)o=1-c;else{if(o===u)return a?NaN:1/0*(d?-1:1);a+=Math.pow(2,r),o-=c}return(d?-1:1)*a*Math.pow(2,o-r)},t.write=function(e,t,n,r,i,o){var a,s,u,c=8*o-i-1,l=(1<<c)-1,p=l>>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:o-1,h=r?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),(t+=a+p>=1?f/u:f*Math.pow(2,1-p))*u>=2&&(a++,u/=2),a+p>=l?(s=0,a=l):a+p>=1?(s=(t*u-1)*Math.pow(2,i),a+=p):(s=t*Math.pow(2,p-1)*Math.pow(2,i),a=0));i>=8;e[n+d]=255&s,d+=h,s/=256,i-=8);for(a=a<<i|s,c+=i;c>0;e[n+d]=255&a,d+=h,a/=256,c-=8);e[n+d-h]|=128*m}},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return\"[object Array]\"==n.call(e)}},function(e,t,n){\"use strict\";var r=n(35),i=Object.prototype.hasOwnProperty,o=Object.prototype.toString;e.exports=new r(\"tag:yaml.org,2002:omap\",{kind:\"sequence\",resolve:function(e){if(null===e)return!0;var t,n,r,a,s,u=[],c=e;for(t=0,n=c.length;t<n;t+=1){if(r=c[t],s=!1,\"[object Object]\"!==o.call(r))return!1;for(a in r)if(i.call(r,a)){if(s)return!1;s=!0}if(!s)return!1;if(-1!==u.indexOf(a))return!1;u.push(a)}return!0},construct:function(e){return null!==e?e:[]}})},function(e,t,n){\"use strict\";var r=n(35),i=Object.prototype.toString;e.exports=new r(\"tag:yaml.org,2002:pairs\",{kind:\"sequence\",resolve:function(e){if(null===e)return!0;var t,n,r,o,a,s=e;for(a=new Array(s.length),t=0,n=s.length;t<n;t+=1){if(r=s[t],\"[object Object]\"!==i.call(r))return!1;if(1!==(o=Object.keys(r)).length)return!1;a[t]=[o[0],r[o[0]]]}return!0},construct:function(e){if(null===e)return[];var t,n,r,i,o,a=e;for(o=new Array(a.length),t=0,n=a.length;t<n;t+=1)r=a[t],i=Object.keys(r),o[t]=[i[0],r[i[0]]];return o}})},function(e,t,n){\"use strict\";var r=n(35),i=Object.prototype.hasOwnProperty;e.exports=new r(\"tag:yaml.org,2002:set\",{kind:\"mapping\",resolve:function(e){if(null===e)return!0;var t,n=e;for(t in n)if(i.call(n,t)&&null!==n[t])return!1;return!0},construct:function(e){return null!==e?e:{}}})},function(e,t,n){\"use strict\";var r=n(35);e.exports=new r(\"tag:yaml.org,2002:js/undefined\",{kind:\"scalar\",resolve:function(){return!0},construct:function(){},predicate:function(e){return void 0===e},represent:function(){return\"\"}})},function(e,t,n){\"use strict\";var r=n(35);e.exports=new r(\"tag:yaml.org,2002:js/regexp\",{kind:\"scalar\",resolve:function(e){if(null===e)return!1;if(0===e.length)return!1;var t=e,n=/\\/([gim]*)$/.exec(e),r=\"\";if(\"/\"===t[0]){if(n&&(r=n[1]),r.length>3)return!1;if(\"/\"!==t[t.length-r.length-1])return!1}return!0},construct:function(e){var t=e,n=/\\/([gim]*)$/.exec(e),r=\"\";return\"/\"===t[0]&&(n&&(r=n[1]),t=t.slice(1,t.length-r.length-1)),new RegExp(t,r)},predicate:function(e){return\"[object RegExp]\"===Object.prototype.toString.call(e)},represent:function(e){var t=\"/\"+e.source+\"/\";return e.global&&(t+=\"g\"),e.multiline&&(t+=\"m\"),e.ignoreCase&&(t+=\"i\"),t}})},function(e,t,n){\"use strict\";var r;try{r=n(518)}catch(e){\"undefined\"!=typeof window&&(r=window.esprima)}var i=n(35);e.exports=new i(\"tag:yaml.org,2002:js/function\",{kind:\"scalar\",resolve:function(e){if(null===e)return!1;try{var t=\"(\"+e+\")\",n=r.parse(t,{range:!0});return\"Program\"===n.type&&1===n.body.length&&\"ExpressionStatement\"===n.body[0].type&&(\"ArrowFunctionExpression\"===n.body[0].expression.type||\"FunctionExpression\"===n.body[0].expression.type)}catch(e){return!1}},construct:function(e){var t,n=\"(\"+e+\")\",i=r.parse(n,{range:!0}),o=[];if(\"Program\"!==i.type||1!==i.body.length||\"ExpressionStatement\"!==i.body[0].type||\"ArrowFunctionExpression\"!==i.body[0].expression.type&&\"FunctionExpression\"!==i.body[0].expression.type)throw new Error(\"Failed to resolve function\");return i.body[0].expression.params.forEach((function(e){o.push(e.name)})),t=i.body[0].expression.body.range,\"BlockStatement\"===i.body[0].expression.body.type?new Function(o,n.slice(t[0]+1,t[1]-1)):new Function(o,\"return \"+n.slice(t[0],t[1]))},predicate:function(e){return\"[object Function]\"===Object.prototype.toString.call(e)},represent:function(e){return e.toString()}})},function(e,t,n){var r;r=function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,n),i.loaded=!0,i.exports}return n.m=e,n.c=t,n.p=\"\",n(0)}([function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(1),i=n(3),o=n(8),a=n(15);function s(e,t,n){var a=null,s=function(e,t){n&&n(e,t),a&&a.visit(e,t)},u=\"function\"==typeof n?s:null,c=!1;if(t){c=\"boolean\"==typeof t.comment&&t.comment;var l=\"boolean\"==typeof t.attachComment&&t.attachComment;(c||l)&&((a=new r.CommentHandler).attach=l,t.comment=!0,u=s)}var p,f=!1;t&&\"string\"==typeof t.sourceType&&(f=\"module\"===t.sourceType),p=t&&\"boolean\"==typeof t.jsx&&t.jsx?new i.JSXParser(e,t,u):new o.Parser(e,t,u);var d=f?p.parseModule():p.parseScript();return c&&a&&(d.comments=a.comments),p.config.tokens&&(d.tokens=p.tokens),p.config.tolerant&&(d.errors=p.errorHandler.errors),d}t.parse=s,t.parseModule=function(e,t,n){var r=t||{};return r.sourceType=\"module\",s(e,r,n)},t.parseScript=function(e,t,n){var r=t||{};return r.sourceType=\"script\",s(e,r,n)},t.tokenize=function(e,t,n){var r,i=new a.Tokenizer(e,t);r=[];try{for(;;){var o=i.getNextToken();if(!o)break;n&&(o=n(o)),r.push(o)}}catch(e){i.errorHandler.tolerate(e)}return i.errorHandler.tolerant&&(r.errors=i.errors()),r};var u=n(2);t.Syntax=u.Syntax,t.version=\"4.0.1\"},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(2),i=function(){function e(){this.attach=!1,this.comments=[],this.stack=[],this.leading=[],this.trailing=[]}return e.prototype.insertInnerComments=function(e,t){if(e.type===r.Syntax.BlockStatement&&0===e.body.length){for(var n=[],i=this.leading.length-1;i>=0;--i){var o=this.leading[i];t.end.offset>=o.start&&(n.unshift(o.comment),this.leading.splice(i,1),this.trailing.splice(i,1))}n.length&&(e.innerComments=n)}},e.prototype.findTrailingComments=function(e){var t=[];if(this.trailing.length>0){for(var n=this.trailing.length-1;n>=0;--n){var r=this.trailing[n];r.start>=e.end.offset&&t.unshift(r.comment)}return this.trailing.length=0,t}var i=this.stack[this.stack.length-1];if(i&&i.node.trailingComments){var o=i.node.trailingComments[0];o&&o.range[0]>=e.end.offset&&(t=i.node.trailingComments,delete i.node.trailingComments)}return t},e.prototype.findLeadingComments=function(e){for(var t,n=[];this.stack.length>0&&((o=this.stack[this.stack.length-1])&&o.start>=e.start.offset);)t=o.node,this.stack.pop();if(t){for(var r=(t.leadingComments?t.leadingComments.length:0)-1;r>=0;--r){var i=t.leadingComments[r];i.range[1]<=e.start.offset&&(n.unshift(i),t.leadingComments.splice(r,1))}return t.leadingComments&&0===t.leadingComments.length&&delete t.leadingComments,n}for(r=this.leading.length-1;r>=0;--r){var o;(o=this.leading[r]).start<=e.start.offset&&(n.unshift(o.comment),this.leading.splice(r,1))}return n},e.prototype.visitNode=function(e,t){if(!(e.type===r.Syntax.Program&&e.body.length>0)){this.insertInnerComments(e,t);var n=this.findTrailingComments(t),i=this.findLeadingComments(t);i.length>0&&(e.leadingComments=i),n.length>0&&(e.trailingComments=n),this.stack.push({node:e,start:t.start.offset})}},e.prototype.visitComment=function(e,t){var n=\"L\"===e.type[0]?\"Line\":\"Block\",r={type:n,value:e.value};if(e.range&&(r.range=e.range),e.loc&&(r.loc=e.loc),this.comments.push(r),this.attach){var i={comment:{type:n,value:e.value,range:[t.start.offset,t.end.offset]},start:t.start.offset};e.loc&&(i.comment.loc=e.loc),e.type=n,this.leading.push(i),this.trailing.push(i)}},e.prototype.visit=function(e,t){\"LineComment\"===e.type||\"BlockComment\"===e.type?this.visitComment(e,t):this.attach&&this.visitNode(e,t)},e}();t.CommentHandler=i},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Syntax={AssignmentExpression:\"AssignmentExpression\",AssignmentPattern:\"AssignmentPattern\",ArrayExpression:\"ArrayExpression\",ArrayPattern:\"ArrayPattern\",ArrowFunctionExpression:\"ArrowFunctionExpression\",AwaitExpression:\"AwaitExpression\",BlockStatement:\"BlockStatement\",BinaryExpression:\"BinaryExpression\",BreakStatement:\"BreakStatement\",CallExpression:\"CallExpression\",CatchClause:\"CatchClause\",ClassBody:\"ClassBody\",ClassDeclaration:\"ClassDeclaration\",ClassExpression:\"ClassExpression\",ConditionalExpression:\"ConditionalExpression\",ContinueStatement:\"ContinueStatement\",DoWhileStatement:\"DoWhileStatement\",DebuggerStatement:\"DebuggerStatement\",EmptyStatement:\"EmptyStatement\",ExportAllDeclaration:\"ExportAllDeclaration\",ExportDefaultDeclaration:\"ExportDefaultDeclaration\",ExportNamedDeclaration:\"ExportNamedDeclaration\",ExportSpecifier:\"ExportSpecifier\",ExpressionStatement:\"ExpressionStatement\",ForStatement:\"ForStatement\",ForOfStatement:\"ForOfStatement\",ForInStatement:\"ForInStatement\",FunctionDeclaration:\"FunctionDeclaration\",FunctionExpression:\"FunctionExpression\",Identifier:\"Identifier\",IfStatement:\"IfStatement\",ImportDeclaration:\"ImportDeclaration\",ImportDefaultSpecifier:\"ImportDefaultSpecifier\",ImportNamespaceSpecifier:\"ImportNamespaceSpecifier\",ImportSpecifier:\"ImportSpecifier\",Literal:\"Literal\",LabeledStatement:\"LabeledStatement\",LogicalExpression:\"LogicalExpression\",MemberExpression:\"MemberExpression\",MetaProperty:\"MetaProperty\",MethodDefinition:\"MethodDefinition\",NewExpression:\"NewExpression\",ObjectExpression:\"ObjectExpression\",ObjectPattern:\"ObjectPattern\",Program:\"Program\",Property:\"Property\",RestElement:\"RestElement\",ReturnStatement:\"ReturnStatement\",SequenceExpression:\"SequenceExpression\",SpreadElement:\"SpreadElement\",Super:\"Super\",SwitchCase:\"SwitchCase\",SwitchStatement:\"SwitchStatement\",TaggedTemplateExpression:\"TaggedTemplateExpression\",TemplateElement:\"TemplateElement\",TemplateLiteral:\"TemplateLiteral\",ThisExpression:\"ThisExpression\",ThrowStatement:\"ThrowStatement\",TryStatement:\"TryStatement\",UnaryExpression:\"UnaryExpression\",UpdateExpression:\"UpdateExpression\",VariableDeclaration:\"VariableDeclaration\",VariableDeclarator:\"VariableDeclarator\",WhileStatement:\"WhileStatement\",WithStatement:\"WithStatement\",YieldExpression:\"YieldExpression\"}},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(4),a=n(5),s=n(6),u=n(7),c=n(8),l=n(13),p=n(14);function f(e){var t;switch(e.type){case s.JSXSyntax.JSXIdentifier:t=e.name;break;case s.JSXSyntax.JSXNamespacedName:var n=e;t=f(n.namespace)+\":\"+f(n.name);break;case s.JSXSyntax.JSXMemberExpression:var r=e;t=f(r.object)+\".\"+f(r.property)}return t}l.TokenName[100]=\"JSXIdentifier\",l.TokenName[101]=\"JSXText\";var d=function(e){function t(t,n,r){return e.call(this,t,n,r)||this}return i(t,e),t.prototype.parsePrimaryExpression=function(){return this.match(\"<\")?this.parseJSXRoot():e.prototype.parsePrimaryExpression.call(this)},t.prototype.startJSX=function(){this.scanner.index=this.startMarker.index,this.scanner.lineNumber=this.startMarker.line,this.scanner.lineStart=this.startMarker.index-this.startMarker.column},t.prototype.finishJSX=function(){this.nextToken()},t.prototype.reenterJSX=function(){this.startJSX(),this.expectJSX(\"}\"),this.config.tokens&&this.tokens.pop()},t.prototype.createJSXNode=function(){return this.collectComments(),{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}},t.prototype.createJSXChildNode=function(){return{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}},t.prototype.scanXHTMLEntity=function(e){for(var t=\"&\",n=!0,r=!1,i=!1,a=!1;!this.scanner.eof()&&n&&!r;){var s=this.scanner.source[this.scanner.index];if(s===e)break;if(r=\";\"===s,t+=s,++this.scanner.index,!r)switch(t.length){case 2:i=\"#\"===s;break;case 3:i&&(n=(a=\"x\"===s)||o.Character.isDecimalDigit(s.charCodeAt(0)),i=i&&!a);break;default:n=(n=n&&!(i&&!o.Character.isDecimalDigit(s.charCodeAt(0))))&&!(a&&!o.Character.isHexDigit(s.charCodeAt(0)))}}if(n&&r&&t.length>2){var u=t.substr(1,t.length-2);i&&u.length>1?t=String.fromCharCode(parseInt(u.substr(1),10)):a&&u.length>2?t=String.fromCharCode(parseInt(\"0\"+u.substr(1),16)):i||a||!p.XHTMLEntities[u]||(t=p.XHTMLEntities[u])}return t},t.prototype.lexJSX=function(){var e=this.scanner.source.charCodeAt(this.scanner.index);if(60===e||62===e||47===e||58===e||61===e||123===e||125===e)return{type:7,value:s=this.scanner.source[this.scanner.index++],lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index-1,end:this.scanner.index};if(34===e||39===e){for(var t=this.scanner.index,n=this.scanner.source[this.scanner.index++],r=\"\";!this.scanner.eof()&&(u=this.scanner.source[this.scanner.index++])!==n;)r+=\"&\"===u?this.scanXHTMLEntity(n):u;return{type:8,value:r,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}if(46===e){var i=this.scanner.source.charCodeAt(this.scanner.index+1),a=this.scanner.source.charCodeAt(this.scanner.index+2),s=46===i&&46===a?\"...\":\".\";return t=this.scanner.index,this.scanner.index+=s.length,{type:7,value:s,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}if(96===e)return{type:10,value:\"\",lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index,end:this.scanner.index};if(o.Character.isIdentifierStart(e)&&92!==e){for(t=this.scanner.index,++this.scanner.index;!this.scanner.eof();){var u=this.scanner.source.charCodeAt(this.scanner.index);if(o.Character.isIdentifierPart(u)&&92!==u)++this.scanner.index;else{if(45!==u)break;++this.scanner.index}}return{type:100,value:this.scanner.source.slice(t,this.scanner.index),lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}return this.scanner.lex()},t.prototype.nextJSXToken=function(){this.collectComments(),this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;var e=this.lexJSX();return this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.config.tokens&&this.tokens.push(this.convertToken(e)),e},t.prototype.nextJSXText=function(){this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;for(var e=this.scanner.index,t=\"\";!this.scanner.eof();){var n=this.scanner.source[this.scanner.index];if(\"{\"===n||\"<\"===n)break;++this.scanner.index,t+=n,o.Character.isLineTerminator(n.charCodeAt(0))&&(++this.scanner.lineNumber,\"\\r\"===n&&\"\\n\"===this.scanner.source[this.scanner.index]&&++this.scanner.index,this.scanner.lineStart=this.scanner.index)}this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart;var r={type:101,value:t,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:e,end:this.scanner.index};return t.length>0&&this.config.tokens&&this.tokens.push(this.convertToken(r)),r},t.prototype.peekJSXToken=function(){var e=this.scanner.saveState();this.scanner.scanComments();var t=this.lexJSX();return this.scanner.restoreState(e),t},t.prototype.expectJSX=function(e){var t=this.nextJSXToken();7===t.type&&t.value===e||this.throwUnexpectedToken(t)},t.prototype.matchJSX=function(e){var t=this.peekJSXToken();return 7===t.type&&t.value===e},t.prototype.parseJSXIdentifier=function(){var e=this.createJSXNode(),t=this.nextJSXToken();return 100!==t.type&&this.throwUnexpectedToken(t),this.finalize(e,new a.JSXIdentifier(t.value))},t.prototype.parseJSXElementName=function(){var e=this.createJSXNode(),t=this.parseJSXIdentifier();if(this.matchJSX(\":\")){var n=t;this.expectJSX(\":\");var r=this.parseJSXIdentifier();t=this.finalize(e,new a.JSXNamespacedName(n,r))}else if(this.matchJSX(\".\"))for(;this.matchJSX(\".\");){var i=t;this.expectJSX(\".\");var o=this.parseJSXIdentifier();t=this.finalize(e,new a.JSXMemberExpression(i,o))}return t},t.prototype.parseJSXAttributeName=function(){var e,t=this.createJSXNode(),n=this.parseJSXIdentifier();if(this.matchJSX(\":\")){var r=n;this.expectJSX(\":\");var i=this.parseJSXIdentifier();e=this.finalize(t,new a.JSXNamespacedName(r,i))}else e=n;return e},t.prototype.parseJSXStringLiteralAttribute=function(){var e=this.createJSXNode(),t=this.nextJSXToken();8!==t.type&&this.throwUnexpectedToken(t);var n=this.getTokenRaw(t);return this.finalize(e,new u.Literal(t.value,n))},t.prototype.parseJSXExpressionAttribute=function(){var e=this.createJSXNode();this.expectJSX(\"{\"),this.finishJSX(),this.match(\"}\")&&this.tolerateError(\"JSX attributes must only be assigned a non-empty expression\");var t=this.parseAssignmentExpression();return this.reenterJSX(),this.finalize(e,new a.JSXExpressionContainer(t))},t.prototype.parseJSXAttributeValue=function(){return this.matchJSX(\"{\")?this.parseJSXExpressionAttribute():this.matchJSX(\"<\")?this.parseJSXElement():this.parseJSXStringLiteralAttribute()},t.prototype.parseJSXNameValueAttribute=function(){var e=this.createJSXNode(),t=this.parseJSXAttributeName(),n=null;return this.matchJSX(\"=\")&&(this.expectJSX(\"=\"),n=this.parseJSXAttributeValue()),this.finalize(e,new a.JSXAttribute(t,n))},t.prototype.parseJSXSpreadAttribute=function(){var e=this.createJSXNode();this.expectJSX(\"{\"),this.expectJSX(\"...\"),this.finishJSX();var t=this.parseAssignmentExpression();return this.reenterJSX(),this.finalize(e,new a.JSXSpreadAttribute(t))},t.prototype.parseJSXAttributes=function(){for(var e=[];!this.matchJSX(\"/\")&&!this.matchJSX(\">\");){var t=this.matchJSX(\"{\")?this.parseJSXSpreadAttribute():this.parseJSXNameValueAttribute();e.push(t)}return e},t.prototype.parseJSXOpeningElement=function(){var e=this.createJSXNode();this.expectJSX(\"<\");var t=this.parseJSXElementName(),n=this.parseJSXAttributes(),r=this.matchJSX(\"/\");return r&&this.expectJSX(\"/\"),this.expectJSX(\">\"),this.finalize(e,new a.JSXOpeningElement(t,r,n))},t.prototype.parseJSXBoundaryElement=function(){var e=this.createJSXNode();if(this.expectJSX(\"<\"),this.matchJSX(\"/\")){this.expectJSX(\"/\");var t=this.parseJSXElementName();return this.expectJSX(\">\"),this.finalize(e,new a.JSXClosingElement(t))}var n=this.parseJSXElementName(),r=this.parseJSXAttributes(),i=this.matchJSX(\"/\");return i&&this.expectJSX(\"/\"),this.expectJSX(\">\"),this.finalize(e,new a.JSXOpeningElement(n,i,r))},t.prototype.parseJSXEmptyExpression=function(){var e=this.createJSXChildNode();return this.collectComments(),this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.finalize(e,new a.JSXEmptyExpression)},t.prototype.parseJSXExpressionContainer=function(){var e,t=this.createJSXNode();return this.expectJSX(\"{\"),this.matchJSX(\"}\")?(e=this.parseJSXEmptyExpression(),this.expectJSX(\"}\")):(this.finishJSX(),e=this.parseAssignmentExpression(),this.reenterJSX()),this.finalize(t,new a.JSXExpressionContainer(e))},t.prototype.parseJSXChildren=function(){for(var e=[];!this.scanner.eof();){var t=this.createJSXChildNode(),n=this.nextJSXText();if(n.start<n.end){var r=this.getTokenRaw(n),i=this.finalize(t,new a.JSXText(n.value,r));e.push(i)}if(\"{\"!==this.scanner.source[this.scanner.index])break;var o=this.parseJSXExpressionContainer();e.push(o)}return e},t.prototype.parseComplexJSXElement=function(e){for(var t=[];!this.scanner.eof();){e.children=e.children.concat(this.parseJSXChildren());var n=this.createJSXChildNode(),r=this.parseJSXBoundaryElement();if(r.type===s.JSXSyntax.JSXOpeningElement){var i=r;if(i.selfClosing){var o=this.finalize(n,new a.JSXElement(i,[],null));e.children.push(o)}else t.push(e),e={node:n,opening:i,closing:null,children:[]}}if(r.type===s.JSXSyntax.JSXClosingElement){e.closing=r;var u=f(e.opening.name);if(u!==f(e.closing.name)&&this.tolerateError(\"Expected corresponding JSX closing tag for %0\",u),!(t.length>0))break;o=this.finalize(e.node,new a.JSXElement(e.opening,e.children,e.closing)),(e=t[t.length-1]).children.push(o),t.pop()}}return e},t.prototype.parseJSXElement=function(){var e=this.createJSXNode(),t=this.parseJSXOpeningElement(),n=[],r=null;if(!t.selfClosing){var i=this.parseComplexJSXElement({node:e,opening:t,closing:r,children:n});n=i.children,r=i.closing}return this.finalize(e,new a.JSXElement(t,n,r))},t.prototype.parseJSXRoot=function(){this.config.tokens&&this.tokens.pop(),this.startJSX();var e=this.parseJSXElement();return this.finishJSX(),e},t.prototype.isStartOfExpression=function(){return e.prototype.isStartOfExpression.call(this)||this.match(\"<\")},t}(c.Parser);t.JSXParser=d},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AD\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AD\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/};t.Character={fromCodePoint:function(e){return e<65536?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10))+String.fromCharCode(56320+(e-65536&1023))},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStart:function(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||92===e||e>=128&&n.NonAsciiIdentifierStart.test(t.Character.fromCodePoint(e))},isIdentifierPart:function(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||92===e||e>=128&&n.NonAsciiIdentifierPart.test(t.Character.fromCodePoint(e))},isDecimalDigit:function(e){return e>=48&&e<=57},isHexDigit:function(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102},isOctalDigit:function(e){return e>=48&&e<=55}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(6),i=function(e){this.type=r.JSXSyntax.JSXClosingElement,this.name=e};t.JSXClosingElement=i;var o=function(e,t,n){this.type=r.JSXSyntax.JSXElement,this.openingElement=e,this.children=t,this.closingElement=n};t.JSXElement=o;var a=function(){this.type=r.JSXSyntax.JSXEmptyExpression};t.JSXEmptyExpression=a;var s=function(e){this.type=r.JSXSyntax.JSXExpressionContainer,this.expression=e};t.JSXExpressionContainer=s;var u=function(e){this.type=r.JSXSyntax.JSXIdentifier,this.name=e};t.JSXIdentifier=u;var c=function(e,t){this.type=r.JSXSyntax.JSXMemberExpression,this.object=e,this.property=t};t.JSXMemberExpression=c;var l=function(e,t){this.type=r.JSXSyntax.JSXAttribute,this.name=e,this.value=t};t.JSXAttribute=l;var p=function(e,t){this.type=r.JSXSyntax.JSXNamespacedName,this.namespace=e,this.name=t};t.JSXNamespacedName=p;var f=function(e,t,n){this.type=r.JSXSyntax.JSXOpeningElement,this.name=e,this.selfClosing=t,this.attributes=n};t.JSXOpeningElement=f;var d=function(e){this.type=r.JSXSyntax.JSXSpreadAttribute,this.argument=e};t.JSXSpreadAttribute=d;var h=function(e,t){this.type=r.JSXSyntax.JSXText,this.value=e,this.raw=t};t.JSXText=h},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.JSXSyntax={JSXAttribute:\"JSXAttribute\",JSXClosingElement:\"JSXClosingElement\",JSXElement:\"JSXElement\",JSXEmptyExpression:\"JSXEmptyExpression\",JSXExpressionContainer:\"JSXExpressionContainer\",JSXIdentifier:\"JSXIdentifier\",JSXMemberExpression:\"JSXMemberExpression\",JSXNamespacedName:\"JSXNamespacedName\",JSXOpeningElement:\"JSXOpeningElement\",JSXSpreadAttribute:\"JSXSpreadAttribute\",JSXText:\"JSXText\"}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(2),i=function(e){this.type=r.Syntax.ArrayExpression,this.elements=e};t.ArrayExpression=i;var o=function(e){this.type=r.Syntax.ArrayPattern,this.elements=e};t.ArrayPattern=o;var a=function(e,t,n){this.type=r.Syntax.ArrowFunctionExpression,this.id=null,this.params=e,this.body=t,this.generator=!1,this.expression=n,this.async=!1};t.ArrowFunctionExpression=a;var s=function(e,t,n){this.type=r.Syntax.AssignmentExpression,this.operator=e,this.left=t,this.right=n};t.AssignmentExpression=s;var u=function(e,t){this.type=r.Syntax.AssignmentPattern,this.left=e,this.right=t};t.AssignmentPattern=u;var c=function(e,t,n){this.type=r.Syntax.ArrowFunctionExpression,this.id=null,this.params=e,this.body=t,this.generator=!1,this.expression=n,this.async=!0};t.AsyncArrowFunctionExpression=c;var l=function(e,t,n){this.type=r.Syntax.FunctionDeclaration,this.id=e,this.params=t,this.body=n,this.generator=!1,this.expression=!1,this.async=!0};t.AsyncFunctionDeclaration=l;var p=function(e,t,n){this.type=r.Syntax.FunctionExpression,this.id=e,this.params=t,this.body=n,this.generator=!1,this.expression=!1,this.async=!0};t.AsyncFunctionExpression=p;var f=function(e){this.type=r.Syntax.AwaitExpression,this.argument=e};t.AwaitExpression=f;var d=function(e,t,n){var i=\"||\"===e||\"&&\"===e;this.type=i?r.Syntax.LogicalExpression:r.Syntax.BinaryExpression,this.operator=e,this.left=t,this.right=n};t.BinaryExpression=d;var h=function(e){this.type=r.Syntax.BlockStatement,this.body=e};t.BlockStatement=h;var m=function(e){this.type=r.Syntax.BreakStatement,this.label=e};t.BreakStatement=m;var g=function(e,t){this.type=r.Syntax.CallExpression,this.callee=e,this.arguments=t};t.CallExpression=g;var y=function(e,t){this.type=r.Syntax.CatchClause,this.param=e,this.body=t};t.CatchClause=y;var v=function(e){this.type=r.Syntax.ClassBody,this.body=e};t.ClassBody=v;var b=function(e,t,n){this.type=r.Syntax.ClassDeclaration,this.id=e,this.superClass=t,this.body=n};t.ClassDeclaration=b;var E=function(e,t,n){this.type=r.Syntax.ClassExpression,this.id=e,this.superClass=t,this.body=n};t.ClassExpression=E;var x=function(e,t){this.type=r.Syntax.MemberExpression,this.computed=!0,this.object=e,this.property=t};t.ComputedMemberExpression=x;var D=function(e,t,n){this.type=r.Syntax.ConditionalExpression,this.test=e,this.consequent=t,this.alternate=n};t.ConditionalExpression=D;var C=function(e){this.type=r.Syntax.ContinueStatement,this.label=e};t.ContinueStatement=C;var w=function(){this.type=r.Syntax.DebuggerStatement};t.DebuggerStatement=w;var S=function(e,t){this.type=r.Syntax.ExpressionStatement,this.expression=e,this.directive=t};t.Directive=S;var k=function(e,t){this.type=r.Syntax.DoWhileStatement,this.body=e,this.test=t};t.DoWhileStatement=k;var A=function(){this.type=r.Syntax.EmptyStatement};t.EmptyStatement=A;var T=function(e){this.type=r.Syntax.ExportAllDeclaration,this.source=e};t.ExportAllDeclaration=T;var _=function(e){this.type=r.Syntax.ExportDefaultDeclaration,this.declaration=e};t.ExportDefaultDeclaration=_;var O=function(e,t,n){this.type=r.Syntax.ExportNamedDeclaration,this.declaration=e,this.specifiers=t,this.source=n};t.ExportNamedDeclaration=O;var F=function(e,t){this.type=r.Syntax.ExportSpecifier,this.exported=t,this.local=e};t.ExportSpecifier=F;var N=function(e){this.type=r.Syntax.ExpressionStatement,this.expression=e};t.ExpressionStatement=N;var I=function(e,t,n){this.type=r.Syntax.ForInStatement,this.left=e,this.right=t,this.body=n,this.each=!1};t.ForInStatement=I;var M=function(e,t,n){this.type=r.Syntax.ForOfStatement,this.left=e,this.right=t,this.body=n};t.ForOfStatement=M;var j=function(e,t,n,i){this.type=r.Syntax.ForStatement,this.init=e,this.test=t,this.update=n,this.body=i};t.ForStatement=j;var L=function(e,t,n,i){this.type=r.Syntax.FunctionDeclaration,this.id=e,this.params=t,this.body=n,this.generator=i,this.expression=!1,this.async=!1};t.FunctionDeclaration=L;var P=function(e,t,n,i){this.type=r.Syntax.FunctionExpression,this.id=e,this.params=t,this.body=n,this.generator=i,this.expression=!1,this.async=!1};t.FunctionExpression=P;var R=function(e){this.type=r.Syntax.Identifier,this.name=e};t.Identifier=R;var B=function(e,t,n){this.type=r.Syntax.IfStatement,this.test=e,this.consequent=t,this.alternate=n};t.IfStatement=B;var U=function(e,t){this.type=r.Syntax.ImportDeclaration,this.specifiers=e,this.source=t};t.ImportDeclaration=U;var z=function(e){this.type=r.Syntax.ImportDefaultSpecifier,this.local=e};t.ImportDefaultSpecifier=z;var V=function(e){this.type=r.Syntax.ImportNamespaceSpecifier,this.local=e};t.ImportNamespaceSpecifier=V;var q=function(e,t){this.type=r.Syntax.ImportSpecifier,this.local=e,this.imported=t};t.ImportSpecifier=q;var H=function(e,t){this.type=r.Syntax.LabeledStatement,this.label=e,this.body=t};t.LabeledStatement=H;var W=function(e,t){this.type=r.Syntax.Literal,this.value=e,this.raw=t};t.Literal=W;var G=function(e,t){this.type=r.Syntax.MetaProperty,this.meta=e,this.property=t};t.MetaProperty=G;var K=function(e,t,n,i,o){this.type=r.Syntax.MethodDefinition,this.key=e,this.computed=t,this.value=n,this.kind=i,this.static=o};t.MethodDefinition=K;var J=function(e){this.type=r.Syntax.Program,this.body=e,this.sourceType=\"module\"};t.Module=J;var Q=function(e,t){this.type=r.Syntax.NewExpression,this.callee=e,this.arguments=t};t.NewExpression=Q;var Y=function(e){this.type=r.Syntax.ObjectExpression,this.properties=e};t.ObjectExpression=Y;var $=function(e){this.type=r.Syntax.ObjectPattern,this.properties=e};t.ObjectPattern=$;var X=function(e,t,n,i,o,a){this.type=r.Syntax.Property,this.key=t,this.computed=n,this.value=i,this.kind=e,this.method=o,this.shorthand=a};t.Property=X;var Z=function(e,t,n,i){this.type=r.Syntax.Literal,this.value=e,this.raw=t,this.regex={pattern:n,flags:i}};t.RegexLiteral=Z;var ee=function(e){this.type=r.Syntax.RestElement,this.argument=e};t.RestElement=ee;var te=function(e){this.type=r.Syntax.ReturnStatement,this.argument=e};t.ReturnStatement=te;var ne=function(e){this.type=r.Syntax.Program,this.body=e,this.sourceType=\"script\"};t.Script=ne;var re=function(e){this.type=r.Syntax.SequenceExpression,this.expressions=e};t.SequenceExpression=re;var ie=function(e){this.type=r.Syntax.SpreadElement,this.argument=e};t.SpreadElement=ie;var oe=function(e,t){this.type=r.Syntax.MemberExpression,this.computed=!1,this.object=e,this.property=t};t.StaticMemberExpression=oe;var ae=function(){this.type=r.Syntax.Super};t.Super=ae;var se=function(e,t){this.type=r.Syntax.SwitchCase,this.test=e,this.consequent=t};t.SwitchCase=se;var ue=function(e,t){this.type=r.Syntax.SwitchStatement,this.discriminant=e,this.cases=t};t.SwitchStatement=ue;var ce=function(e,t){this.type=r.Syntax.TaggedTemplateExpression,this.tag=e,this.quasi=t};t.TaggedTemplateExpression=ce;var le=function(e,t){this.type=r.Syntax.TemplateElement,this.value=e,this.tail=t};t.TemplateElement=le;var pe=function(e,t){this.type=r.Syntax.TemplateLiteral,this.quasis=e,this.expressions=t};t.TemplateLiteral=pe;var fe=function(){this.type=r.Syntax.ThisExpression};t.ThisExpression=fe;var de=function(e){this.type=r.Syntax.ThrowStatement,this.argument=e};t.ThrowStatement=de;var he=function(e,t,n){this.type=r.Syntax.TryStatement,this.block=e,this.handler=t,this.finalizer=n};t.TryStatement=he;var me=function(e,t){this.type=r.Syntax.UnaryExpression,this.operator=e,this.argument=t,this.prefix=!0};t.UnaryExpression=me;var ge=function(e,t,n){this.type=r.Syntax.UpdateExpression,this.operator=e,this.argument=t,this.prefix=n};t.UpdateExpression=ge;var ye=function(e,t){this.type=r.Syntax.VariableDeclaration,this.declarations=e,this.kind=t};t.VariableDeclaration=ye;var ve=function(e,t){this.type=r.Syntax.VariableDeclarator,this.id=e,this.init=t};t.VariableDeclarator=ve;var be=function(e,t){this.type=r.Syntax.WhileStatement,this.test=e,this.body=t};t.WhileStatement=be;var Ee=function(e,t){this.type=r.Syntax.WithStatement,this.object=e,this.body=t};t.WithStatement=Ee;var xe=function(e,t){this.type=r.Syntax.YieldExpression,this.argument=e,this.delegate=t};t.YieldExpression=xe},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(9),i=n(10),o=n(11),a=n(7),s=n(12),u=n(2),c=n(13),l=function(){function e(e,t,n){void 0===t&&(t={}),this.config={range:\"boolean\"==typeof t.range&&t.range,loc:\"boolean\"==typeof t.loc&&t.loc,source:null,tokens:\"boolean\"==typeof t.tokens&&t.tokens,comment:\"boolean\"==typeof t.comment&&t.comment,tolerant:\"boolean\"==typeof t.tolerant&&t.tolerant},this.config.loc&&t.source&&null!==t.source&&(this.config.source=String(t.source)),this.delegate=n,this.errorHandler=new i.ErrorHandler,this.errorHandler.tolerant=this.config.tolerant,this.scanner=new s.Scanner(e,this.errorHandler),this.scanner.trackComment=this.config.comment,this.operatorPrecedence={\")\":0,\";\":0,\",\":0,\"=\":0,\"]\":0,\"||\":1,\"&&\":2,\"|\":3,\"^\":4,\"&\":5,\"==\":6,\"!=\":6,\"===\":6,\"!==\":6,\"<\":7,\">\":7,\"<=\":7,\">=\":7,\"<<\":8,\">>\":8,\">>>\":8,\"+\":9,\"-\":9,\"*\":11,\"/\":11,\"%\":11},this.lookahead={type:2,value:\"\",lineNumber:this.scanner.lineNumber,lineStart:0,start:0,end:0},this.hasLineTerminator=!1,this.context={isModule:!1,await:!1,allowIn:!0,allowStrictDirective:!0,allowYield:!0,firstCoverInitializedNameError:null,isAssignmentTarget:!1,isBindingElement:!1,inFunctionBody:!1,inIteration:!1,inSwitch:!1,labelSet:{},strict:!1},this.tokens=[],this.startMarker={index:0,line:this.scanner.lineNumber,column:0},this.lastMarker={index:0,line:this.scanner.lineNumber,column:0},this.nextToken(),this.lastMarker={index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}}return e.prototype.throwError=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var i=Array.prototype.slice.call(arguments,1),o=e.replace(/%(\\d)/g,(function(e,t){return r.assert(t<i.length,\"Message reference must be in range\"),i[t]})),a=this.lastMarker.index,s=this.lastMarker.line,u=this.lastMarker.column+1;throw this.errorHandler.createError(a,s,u,o)},e.prototype.tolerateError=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var i=Array.prototype.slice.call(arguments,1),o=e.replace(/%(\\d)/g,(function(e,t){return r.assert(t<i.length,\"Message reference must be in range\"),i[t]})),a=this.lastMarker.index,s=this.scanner.lineNumber,u=this.lastMarker.column+1;this.errorHandler.tolerateError(a,s,u,o)},e.prototype.unexpectedTokenError=function(e,t){var n,r=t||o.Messages.UnexpectedToken;if(e?(t||(r=2===e.type?o.Messages.UnexpectedEOS:3===e.type?o.Messages.UnexpectedIdentifier:6===e.type?o.Messages.UnexpectedNumber:8===e.type?o.Messages.UnexpectedString:10===e.type?o.Messages.UnexpectedTemplate:o.Messages.UnexpectedToken,4===e.type&&(this.scanner.isFutureReservedWord(e.value)?r=o.Messages.UnexpectedReserved:this.context.strict&&this.scanner.isStrictModeReservedWord(e.value)&&(r=o.Messages.StrictReservedWord))),n=e.value):n=\"ILLEGAL\",r=r.replace(\"%0\",n),e&&\"number\"==typeof e.lineNumber){var i=e.start,a=e.lineNumber,s=this.lastMarker.index-this.lastMarker.column,u=e.start-s+1;return this.errorHandler.createError(i,a,u,r)}return i=this.lastMarker.index,a=this.lastMarker.line,u=this.lastMarker.column+1,this.errorHandler.createError(i,a,u,r)},e.prototype.throwUnexpectedToken=function(e,t){throw this.unexpectedTokenError(e,t)},e.prototype.tolerateUnexpectedToken=function(e,t){this.errorHandler.tolerate(this.unexpectedTokenError(e,t))},e.prototype.collectComments=function(){if(this.config.comment){var e=this.scanner.scanComments();if(e.length>0&&this.delegate)for(var t=0;t<e.length;++t){var n=e[t],r=void 0;r={type:n.multiLine?\"BlockComment\":\"LineComment\",value:this.scanner.source.slice(n.slice[0],n.slice[1])},this.config.range&&(r.range=n.range),this.config.loc&&(r.loc=n.loc);var i={start:{line:n.loc.start.line,column:n.loc.start.column,offset:n.range[0]},end:{line:n.loc.end.line,column:n.loc.end.column,offset:n.range[1]}};this.delegate(r,i)}}else this.scanner.scanComments()},e.prototype.getTokenRaw=function(e){return this.scanner.source.slice(e.start,e.end)},e.prototype.convertToken=function(e){var t={type:c.TokenName[e.type],value:this.getTokenRaw(e)};if(this.config.range&&(t.range=[e.start,e.end]),this.config.loc&&(t.loc={start:{line:this.startMarker.line,column:this.startMarker.column},end:{line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}}),9===e.type){var n=e.pattern,r=e.flags;t.regex={pattern:n,flags:r}}return t},e.prototype.nextToken=function(){var e=this.lookahead;this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.collectComments(),this.scanner.index!==this.startMarker.index&&(this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart);var t=this.scanner.lex();return this.hasLineTerminator=e.lineNumber!==t.lineNumber,t&&this.context.strict&&3===t.type&&this.scanner.isStrictModeReservedWord(t.value)&&(t.type=4),this.lookahead=t,this.config.tokens&&2!==t.type&&this.tokens.push(this.convertToken(t)),e},e.prototype.nextRegexToken=function(){this.collectComments();var e=this.scanner.scanRegExp();return this.config.tokens&&(this.tokens.pop(),this.tokens.push(this.convertToken(e))),this.lookahead=e,this.nextToken(),e},e.prototype.createNode=function(){return{index:this.startMarker.index,line:this.startMarker.line,column:this.startMarker.column}},e.prototype.startNode=function(e,t){void 0===t&&(t=0);var n=e.start-e.lineStart,r=e.lineNumber;return n<0&&(n+=t,r--),{index:e.start,line:r,column:n}},e.prototype.finalize=function(e,t){if(this.config.range&&(t.range=[e.index,this.lastMarker.index]),this.config.loc&&(t.loc={start:{line:e.line,column:e.column},end:{line:this.lastMarker.line,column:this.lastMarker.column}},this.config.source&&(t.loc.source=this.config.source)),this.delegate){var n={start:{line:e.line,column:e.column,offset:e.index},end:{line:this.lastMarker.line,column:this.lastMarker.column,offset:this.lastMarker.index}};this.delegate(t,n)}return t},e.prototype.expect=function(e){var t=this.nextToken();7===t.type&&t.value===e||this.throwUnexpectedToken(t)},e.prototype.expectCommaSeparator=function(){if(this.config.tolerant){var e=this.lookahead;7===e.type&&\",\"===e.value?this.nextToken():7===e.type&&\";\"===e.value?(this.nextToken(),this.tolerateUnexpectedToken(e)):this.tolerateUnexpectedToken(e,o.Messages.UnexpectedToken)}else this.expect(\",\")},e.prototype.expectKeyword=function(e){var t=this.nextToken();4===t.type&&t.value===e||this.throwUnexpectedToken(t)},e.prototype.match=function(e){return 7===this.lookahead.type&&this.lookahead.value===e},e.prototype.matchKeyword=function(e){return 4===this.lookahead.type&&this.lookahead.value===e},e.prototype.matchContextualKeyword=function(e){return 3===this.lookahead.type&&this.lookahead.value===e},e.prototype.matchAssign=function(){if(7!==this.lookahead.type)return!1;var e=this.lookahead.value;return\"=\"===e||\"*=\"===e||\"**=\"===e||\"/=\"===e||\"%=\"===e||\"+=\"===e||\"-=\"===e||\"<<=\"===e||\">>=\"===e||\">>>=\"===e||\"&=\"===e||\"^=\"===e||\"|=\"===e},e.prototype.isolateCoverGrammar=function(e){var t=this.context.isBindingElement,n=this.context.isAssignmentTarget,r=this.context.firstCoverInitializedNameError;this.context.isBindingElement=!0,this.context.isAssignmentTarget=!0,this.context.firstCoverInitializedNameError=null;var i=e.call(this);return null!==this.context.firstCoverInitializedNameError&&this.throwUnexpectedToken(this.context.firstCoverInitializedNameError),this.context.isBindingElement=t,this.context.isAssignmentTarget=n,this.context.firstCoverInitializedNameError=r,i},e.prototype.inheritCoverGrammar=function(e){var t=this.context.isBindingElement,n=this.context.isAssignmentTarget,r=this.context.firstCoverInitializedNameError;this.context.isBindingElement=!0,this.context.isAssignmentTarget=!0,this.context.firstCoverInitializedNameError=null;var i=e.call(this);return this.context.isBindingElement=this.context.isBindingElement&&t,this.context.isAssignmentTarget=this.context.isAssignmentTarget&&n,this.context.firstCoverInitializedNameError=r||this.context.firstCoverInitializedNameError,i},e.prototype.consumeSemicolon=function(){this.match(\";\")?this.nextToken():this.hasLineTerminator||(2===this.lookahead.type||this.match(\"}\")||this.throwUnexpectedToken(this.lookahead),this.lastMarker.index=this.startMarker.index,this.lastMarker.line=this.startMarker.line,this.lastMarker.column=this.startMarker.column)},e.prototype.parsePrimaryExpression=function(){var e,t,n,r=this.createNode();switch(this.lookahead.type){case 3:(this.context.isModule||this.context.await)&&\"await\"===this.lookahead.value&&this.tolerateUnexpectedToken(this.lookahead),e=this.matchAsyncFunction()?this.parseFunctionExpression():this.finalize(r,new a.Identifier(this.nextToken().value));break;case 6:case 8:this.context.strict&&this.lookahead.octal&&this.tolerateUnexpectedToken(this.lookahead,o.Messages.StrictOctalLiteral),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,t=this.nextToken(),n=this.getTokenRaw(t),e=this.finalize(r,new a.Literal(t.value,n));break;case 1:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,t=this.nextToken(),n=this.getTokenRaw(t),e=this.finalize(r,new a.Literal(\"true\"===t.value,n));break;case 5:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,t=this.nextToken(),n=this.getTokenRaw(t),e=this.finalize(r,new a.Literal(null,n));break;case 10:e=this.parseTemplateLiteral();break;case 7:switch(this.lookahead.value){case\"(\":this.context.isBindingElement=!1,e=this.inheritCoverGrammar(this.parseGroupExpression);break;case\"[\":e=this.inheritCoverGrammar(this.parseArrayInitializer);break;case\"{\":e=this.inheritCoverGrammar(this.parseObjectInitializer);break;case\"/\":case\"/=\":this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.scanner.index=this.startMarker.index,t=this.nextRegexToken(),n=this.getTokenRaw(t),e=this.finalize(r,new a.RegexLiteral(t.regex,n,t.pattern,t.flags));break;default:e=this.throwUnexpectedToken(this.nextToken())}break;case 4:!this.context.strict&&this.context.allowYield&&this.matchKeyword(\"yield\")?e=this.parseIdentifierName():!this.context.strict&&this.matchKeyword(\"let\")?e=this.finalize(r,new a.Identifier(this.nextToken().value)):(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.matchKeyword(\"function\")?e=this.parseFunctionExpression():this.matchKeyword(\"this\")?(this.nextToken(),e=this.finalize(r,new a.ThisExpression)):e=this.matchKeyword(\"class\")?this.parseClassExpression():this.throwUnexpectedToken(this.nextToken()));break;default:e=this.throwUnexpectedToken(this.nextToken())}return e},e.prototype.parseSpreadElement=function(){var e=this.createNode();this.expect(\"...\");var t=this.inheritCoverGrammar(this.parseAssignmentExpression);return this.finalize(e,new a.SpreadElement(t))},e.prototype.parseArrayInitializer=function(){var e=this.createNode(),t=[];for(this.expect(\"[\");!this.match(\"]\");)if(this.match(\",\"))this.nextToken(),t.push(null);else if(this.match(\"...\")){var n=this.parseSpreadElement();this.match(\"]\")||(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.expect(\",\")),t.push(n)}else t.push(this.inheritCoverGrammar(this.parseAssignmentExpression)),this.match(\"]\")||this.expect(\",\");return this.expect(\"]\"),this.finalize(e,new a.ArrayExpression(t))},e.prototype.parsePropertyMethod=function(e){this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var t=this.context.strict,n=this.context.allowStrictDirective;this.context.allowStrictDirective=e.simple;var r=this.isolateCoverGrammar(this.parseFunctionSourceElements);return this.context.strict&&e.firstRestricted&&this.tolerateUnexpectedToken(e.firstRestricted,e.message),this.context.strict&&e.stricted&&this.tolerateUnexpectedToken(e.stricted,e.message),this.context.strict=t,this.context.allowStrictDirective=n,r},e.prototype.parsePropertyMethodFunction=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!0;var n=this.parseFormalParameters(),r=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,n.params,r,!1))},e.prototype.parsePropertyMethodAsyncFunction=function(){var e=this.createNode(),t=this.context.allowYield,n=this.context.await;this.context.allowYield=!1,this.context.await=!0;var r=this.parseFormalParameters(),i=this.parsePropertyMethod(r);return this.context.allowYield=t,this.context.await=n,this.finalize(e,new a.AsyncFunctionExpression(null,r.params,i))},e.prototype.parseObjectPropertyKey=function(){var e,t=this.createNode(),n=this.nextToken();switch(n.type){case 8:case 6:this.context.strict&&n.octal&&this.tolerateUnexpectedToken(n,o.Messages.StrictOctalLiteral);var r=this.getTokenRaw(n);e=this.finalize(t,new a.Literal(n.value,r));break;case 3:case 1:case 5:case 4:e=this.finalize(t,new a.Identifier(n.value));break;case 7:\"[\"===n.value?(e=this.isolateCoverGrammar(this.parseAssignmentExpression),this.expect(\"]\")):e=this.throwUnexpectedToken(n);break;default:e=this.throwUnexpectedToken(n)}return e},e.prototype.isPropertyKey=function(e,t){return e.type===u.Syntax.Identifier&&e.name===t||e.type===u.Syntax.Literal&&e.value===t},e.prototype.parseObjectProperty=function(e){var t,n=this.createNode(),r=this.lookahead,i=null,s=null,u=!1,c=!1,l=!1,p=!1;if(3===r.type){var f=r.value;this.nextToken(),u=this.match(\"[\"),i=(p=!(this.hasLineTerminator||\"async\"!==f||this.match(\":\")||this.match(\"(\")||this.match(\"*\")||this.match(\",\")))?this.parseObjectPropertyKey():this.finalize(n,new a.Identifier(f))}else this.match(\"*\")?this.nextToken():(u=this.match(\"[\"),i=this.parseObjectPropertyKey());var d=this.qualifiedPropertyName(this.lookahead);if(3===r.type&&!p&&\"get\"===r.value&&d)t=\"get\",u=this.match(\"[\"),i=this.parseObjectPropertyKey(),this.context.allowYield=!1,s=this.parseGetterMethod();else if(3===r.type&&!p&&\"set\"===r.value&&d)t=\"set\",u=this.match(\"[\"),i=this.parseObjectPropertyKey(),s=this.parseSetterMethod();else if(7===r.type&&\"*\"===r.value&&d)t=\"init\",u=this.match(\"[\"),i=this.parseObjectPropertyKey(),s=this.parseGeneratorMethod(),c=!0;else if(i||this.throwUnexpectedToken(this.lookahead),t=\"init\",this.match(\":\")&&!p)!u&&this.isPropertyKey(i,\"__proto__\")&&(e.value&&this.tolerateError(o.Messages.DuplicateProtoProperty),e.value=!0),this.nextToken(),s=this.inheritCoverGrammar(this.parseAssignmentExpression);else if(this.match(\"(\"))s=p?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction(),c=!0;else if(3===r.type)if(f=this.finalize(n,new a.Identifier(r.value)),this.match(\"=\")){this.context.firstCoverInitializedNameError=this.lookahead,this.nextToken(),l=!0;var h=this.isolateCoverGrammar(this.parseAssignmentExpression);s=this.finalize(n,new a.AssignmentPattern(f,h))}else l=!0,s=f;else this.throwUnexpectedToken(this.nextToken());return this.finalize(n,new a.Property(t,i,u,s,c,l))},e.prototype.parseObjectInitializer=function(){var e=this.createNode();this.expect(\"{\");for(var t=[],n={value:!1};!this.match(\"}\");)t.push(this.parseObjectProperty(n)),this.match(\"}\")||this.expectCommaSeparator();return this.expect(\"}\"),this.finalize(e,new a.ObjectExpression(t))},e.prototype.parseTemplateHead=function(){r.assert(this.lookahead.head,\"Template literal must start with a template head\");var e=this.createNode(),t=this.nextToken(),n=t.value,i=t.cooked;return this.finalize(e,new a.TemplateElement({raw:n,cooked:i},t.tail))},e.prototype.parseTemplateElement=function(){10!==this.lookahead.type&&this.throwUnexpectedToken();var e=this.createNode(),t=this.nextToken(),n=t.value,r=t.cooked;return this.finalize(e,new a.TemplateElement({raw:n,cooked:r},t.tail))},e.prototype.parseTemplateLiteral=function(){var e=this.createNode(),t=[],n=[],r=this.parseTemplateHead();for(n.push(r);!r.tail;)t.push(this.parseExpression()),r=this.parseTemplateElement(),n.push(r);return this.finalize(e,new a.TemplateLiteral(n,t))},e.prototype.reinterpretExpressionAsPattern=function(e){switch(e.type){case u.Syntax.Identifier:case u.Syntax.MemberExpression:case u.Syntax.RestElement:case u.Syntax.AssignmentPattern:break;case u.Syntax.SpreadElement:e.type=u.Syntax.RestElement,this.reinterpretExpressionAsPattern(e.argument);break;case u.Syntax.ArrayExpression:e.type=u.Syntax.ArrayPattern;for(var t=0;t<e.elements.length;t++)null!==e.elements[t]&&this.reinterpretExpressionAsPattern(e.elements[t]);break;case u.Syntax.ObjectExpression:for(e.type=u.Syntax.ObjectPattern,t=0;t<e.properties.length;t++)this.reinterpretExpressionAsPattern(e.properties[t].value);break;case u.Syntax.AssignmentExpression:e.type=u.Syntax.AssignmentPattern,delete e.operator,this.reinterpretExpressionAsPattern(e.left)}},e.prototype.parseGroupExpression=function(){var e;if(this.expect(\"(\"),this.match(\")\"))this.nextToken(),this.match(\"=>\")||this.expect(\"=>\"),e={type:\"ArrowParameterPlaceHolder\",params:[],async:!1};else{var t=this.lookahead,n=[];if(this.match(\"...\"))e=this.parseRestElement(n),this.expect(\")\"),this.match(\"=>\")||this.expect(\"=>\"),e={type:\"ArrowParameterPlaceHolder\",params:[e],async:!1};else{var r=!1;if(this.context.isBindingElement=!0,e=this.inheritCoverGrammar(this.parseAssignmentExpression),this.match(\",\")){var i=[];for(this.context.isAssignmentTarget=!1,i.push(e);2!==this.lookahead.type&&this.match(\",\");){if(this.nextToken(),this.match(\")\")){this.nextToken();for(var o=0;o<i.length;o++)this.reinterpretExpressionAsPattern(i[o]);r=!0,e={type:\"ArrowParameterPlaceHolder\",params:i,async:!1}}else if(this.match(\"...\")){for(this.context.isBindingElement||this.throwUnexpectedToken(this.lookahead),i.push(this.parseRestElement(n)),this.expect(\")\"),this.match(\"=>\")||this.expect(\"=>\"),this.context.isBindingElement=!1,o=0;o<i.length;o++)this.reinterpretExpressionAsPattern(i[o]);r=!0,e={type:\"ArrowParameterPlaceHolder\",params:i,async:!1}}else i.push(this.inheritCoverGrammar(this.parseAssignmentExpression));if(r)break}r||(e=this.finalize(this.startNode(t),new a.SequenceExpression(i)))}if(!r){if(this.expect(\")\"),this.match(\"=>\")&&(e.type===u.Syntax.Identifier&&\"yield\"===e.name&&(r=!0,e={type:\"ArrowParameterPlaceHolder\",params:[e],async:!1}),!r)){if(this.context.isBindingElement||this.throwUnexpectedToken(this.lookahead),e.type===u.Syntax.SequenceExpression)for(o=0;o<e.expressions.length;o++)this.reinterpretExpressionAsPattern(e.expressions[o]);else this.reinterpretExpressionAsPattern(e);e={type:\"ArrowParameterPlaceHolder\",params:e.type===u.Syntax.SequenceExpression?e.expressions:[e],async:!1}}this.context.isBindingElement=!1}}}return e},e.prototype.parseArguments=function(){this.expect(\"(\");var e=[];if(!this.match(\")\"))for(;;){var t=this.match(\"...\")?this.parseSpreadElement():this.isolateCoverGrammar(this.parseAssignmentExpression);if(e.push(t),this.match(\")\"))break;if(this.expectCommaSeparator(),this.match(\")\"))break}return this.expect(\")\"),e},e.prototype.isIdentifierName=function(e){return 3===e.type||4===e.type||1===e.type||5===e.type},e.prototype.parseIdentifierName=function(){var e=this.createNode(),t=this.nextToken();return this.isIdentifierName(t)||this.throwUnexpectedToken(t),this.finalize(e,new a.Identifier(t.value))},e.prototype.parseNewExpression=function(){var e,t=this.createNode(),n=this.parseIdentifierName();if(r.assert(\"new\"===n.name,\"New expression must start with `new`\"),this.match(\".\"))if(this.nextToken(),3===this.lookahead.type&&this.context.inFunctionBody&&\"target\"===this.lookahead.value){var i=this.parseIdentifierName();e=new a.MetaProperty(n,i)}else this.throwUnexpectedToken(this.lookahead);else{var o=this.isolateCoverGrammar(this.parseLeftHandSideExpression),s=this.match(\"(\")?this.parseArguments():[];e=new a.NewExpression(o,s),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}return this.finalize(t,e)},e.prototype.parseAsyncArgument=function(){var e=this.parseAssignmentExpression();return this.context.firstCoverInitializedNameError=null,e},e.prototype.parseAsyncArguments=function(){this.expect(\"(\");var e=[];if(!this.match(\")\"))for(;;){var t=this.match(\"...\")?this.parseSpreadElement():this.isolateCoverGrammar(this.parseAsyncArgument);if(e.push(t),this.match(\")\"))break;if(this.expectCommaSeparator(),this.match(\")\"))break}return this.expect(\")\"),e},e.prototype.parseLeftHandSideExpressionAllowCall=function(){var e,t=this.lookahead,n=this.matchContextualKeyword(\"async\"),r=this.context.allowIn;for(this.context.allowIn=!0,this.matchKeyword(\"super\")&&this.context.inFunctionBody?(e=this.createNode(),this.nextToken(),e=this.finalize(e,new a.Super),this.match(\"(\")||this.match(\".\")||this.match(\"[\")||this.throwUnexpectedToken(this.lookahead)):e=this.inheritCoverGrammar(this.matchKeyword(\"new\")?this.parseNewExpression:this.parsePrimaryExpression);;)if(this.match(\".\")){this.context.isBindingElement=!1,this.context.isAssignmentTarget=!0,this.expect(\".\");var i=this.parseIdentifierName();e=this.finalize(this.startNode(t),new a.StaticMemberExpression(e,i))}else if(this.match(\"(\")){var o=n&&t.lineNumber===this.lookahead.lineNumber;this.context.isBindingElement=!1,this.context.isAssignmentTarget=!1;var s=o?this.parseAsyncArguments():this.parseArguments();if(e=this.finalize(this.startNode(t),new a.CallExpression(e,s)),o&&this.match(\"=>\")){for(var u=0;u<s.length;++u)this.reinterpretExpressionAsPattern(s[u]);e={type:\"ArrowParameterPlaceHolder\",params:s,async:!0}}}else if(this.match(\"[\"))this.context.isBindingElement=!1,this.context.isAssignmentTarget=!0,this.expect(\"[\"),i=this.isolateCoverGrammar(this.parseExpression),this.expect(\"]\"),e=this.finalize(this.startNode(t),new a.ComputedMemberExpression(e,i));else{if(10!==this.lookahead.type||!this.lookahead.head)break;var c=this.parseTemplateLiteral();e=this.finalize(this.startNode(t),new a.TaggedTemplateExpression(e,c))}return this.context.allowIn=r,e},e.prototype.parseSuper=function(){var e=this.createNode();return this.expectKeyword(\"super\"),this.match(\"[\")||this.match(\".\")||this.throwUnexpectedToken(this.lookahead),this.finalize(e,new a.Super)},e.prototype.parseLeftHandSideExpression=function(){r.assert(this.context.allowIn,\"callee of new expression always allow in keyword.\");for(var e=this.startNode(this.lookahead),t=this.matchKeyword(\"super\")&&this.context.inFunctionBody?this.parseSuper():this.inheritCoverGrammar(this.matchKeyword(\"new\")?this.parseNewExpression:this.parsePrimaryExpression);;)if(this.match(\"[\")){this.context.isBindingElement=!1,this.context.isAssignmentTarget=!0,this.expect(\"[\");var n=this.isolateCoverGrammar(this.parseExpression);this.expect(\"]\"),t=this.finalize(e,new a.ComputedMemberExpression(t,n))}else if(this.match(\".\"))this.context.isBindingElement=!1,this.context.isAssignmentTarget=!0,this.expect(\".\"),n=this.parseIdentifierName(),t=this.finalize(e,new a.StaticMemberExpression(t,n));else{if(10!==this.lookahead.type||!this.lookahead.head)break;var i=this.parseTemplateLiteral();t=this.finalize(e,new a.TaggedTemplateExpression(t,i))}return t},e.prototype.parseUpdateExpression=function(){var e,t=this.lookahead;if(this.match(\"++\")||this.match(\"--\")){var n=this.startNode(t),r=this.nextToken();e=this.inheritCoverGrammar(this.parseUnaryExpression),this.context.strict&&e.type===u.Syntax.Identifier&&this.scanner.isRestrictedWord(e.name)&&this.tolerateError(o.Messages.StrictLHSPrefix),this.context.isAssignmentTarget||this.tolerateError(o.Messages.InvalidLHSInAssignment);var i=!0;e=this.finalize(n,new a.UpdateExpression(r.value,e,i)),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}else if(e=this.inheritCoverGrammar(this.parseLeftHandSideExpressionAllowCall),!this.hasLineTerminator&&7===this.lookahead.type&&(this.match(\"++\")||this.match(\"--\"))){this.context.strict&&e.type===u.Syntax.Identifier&&this.scanner.isRestrictedWord(e.name)&&this.tolerateError(o.Messages.StrictLHSPostfix),this.context.isAssignmentTarget||this.tolerateError(o.Messages.InvalidLHSInAssignment),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var s=this.nextToken().value;i=!1,e=this.finalize(this.startNode(t),new a.UpdateExpression(s,e,i))}return e},e.prototype.parseAwaitExpression=function(){var e=this.createNode();this.nextToken();var t=this.parseUnaryExpression();return this.finalize(e,new a.AwaitExpression(t))},e.prototype.parseUnaryExpression=function(){var e;if(this.match(\"+\")||this.match(\"-\")||this.match(\"~\")||this.match(\"!\")||this.matchKeyword(\"delete\")||this.matchKeyword(\"void\")||this.matchKeyword(\"typeof\")){var t=this.startNode(this.lookahead),n=this.nextToken();e=this.inheritCoverGrammar(this.parseUnaryExpression),e=this.finalize(t,new a.UnaryExpression(n.value,e)),this.context.strict&&\"delete\"===e.operator&&e.argument.type===u.Syntax.Identifier&&this.tolerateError(o.Messages.StrictDelete),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}else e=this.context.await&&this.matchContextualKeyword(\"await\")?this.parseAwaitExpression():this.parseUpdateExpression();return e},e.prototype.parseExponentiationExpression=function(){var e=this.lookahead,t=this.inheritCoverGrammar(this.parseUnaryExpression);if(t.type!==u.Syntax.UnaryExpression&&this.match(\"**\")){this.nextToken(),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var n=t,r=this.isolateCoverGrammar(this.parseExponentiationExpression);t=this.finalize(this.startNode(e),new a.BinaryExpression(\"**\",n,r))}return t},e.prototype.binaryPrecedence=function(e){var t=e.value;return 7===e.type?this.operatorPrecedence[t]||0:4===e.type&&(\"instanceof\"===t||this.context.allowIn&&\"in\"===t)?7:0},e.prototype.parseBinaryExpression=function(){var e=this.lookahead,t=this.inheritCoverGrammar(this.parseExponentiationExpression),n=this.lookahead,r=this.binaryPrecedence(n);if(r>0){this.nextToken(),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;for(var i=[e,this.lookahead],o=t,s=this.isolateCoverGrammar(this.parseExponentiationExpression),u=[o,n.value,s],c=[r];!((r=this.binaryPrecedence(this.lookahead))<=0);){for(;u.length>2&&r<=c[c.length-1];){s=u.pop();var l=u.pop();c.pop(),o=u.pop(),i.pop();var p=this.startNode(i[i.length-1]);u.push(this.finalize(p,new a.BinaryExpression(l,o,s)))}u.push(this.nextToken().value),c.push(r),i.push(this.lookahead),u.push(this.isolateCoverGrammar(this.parseExponentiationExpression))}var f=u.length-1;t=u[f];for(var d=i.pop();f>1;){var h=i.pop(),m=d&&d.lineStart;p=this.startNode(h,m),l=u[f-1],t=this.finalize(p,new a.BinaryExpression(l,u[f-2],t)),f-=2,d=h}}return t},e.prototype.parseConditionalExpression=function(){var e=this.lookahead,t=this.inheritCoverGrammar(this.parseBinaryExpression);if(this.match(\"?\")){this.nextToken();var n=this.context.allowIn;this.context.allowIn=!0;var r=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowIn=n,this.expect(\":\");var i=this.isolateCoverGrammar(this.parseAssignmentExpression);t=this.finalize(this.startNode(e),new a.ConditionalExpression(t,r,i)),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}return t},e.prototype.checkPatternParam=function(e,t){switch(t.type){case u.Syntax.Identifier:this.validateParam(e,t,t.name);break;case u.Syntax.RestElement:this.checkPatternParam(e,t.argument);break;case u.Syntax.AssignmentPattern:this.checkPatternParam(e,t.left);break;case u.Syntax.ArrayPattern:for(var n=0;n<t.elements.length;n++)null!==t.elements[n]&&this.checkPatternParam(e,t.elements[n]);break;case u.Syntax.ObjectPattern:for(n=0;n<t.properties.length;n++)this.checkPatternParam(e,t.properties[n].value)}e.simple=e.simple&&t instanceof a.Identifier},e.prototype.reinterpretAsCoverFormalsList=function(e){var t,n=[e],r=!1;switch(e.type){case u.Syntax.Identifier:break;case\"ArrowParameterPlaceHolder\":n=e.params,r=e.async;break;default:return null}t={simple:!0,paramSet:{}};for(var i=0;i<n.length;++i)(a=n[i]).type===u.Syntax.AssignmentPattern?a.right.type===u.Syntax.YieldExpression&&(a.right.argument&&this.throwUnexpectedToken(this.lookahead),a.right.type=u.Syntax.Identifier,a.right.name=\"yield\",delete a.right.argument,delete a.right.delegate):r&&a.type===u.Syntax.Identifier&&\"await\"===a.name&&this.throwUnexpectedToken(this.lookahead),this.checkPatternParam(t,a),n[i]=a;if(this.context.strict||!this.context.allowYield)for(i=0;i<n.length;++i){var a;(a=n[i]).type===u.Syntax.YieldExpression&&this.throwUnexpectedToken(this.lookahead)}if(t.message===o.Messages.StrictParamDupe){var s=this.context.strict?t.stricted:t.firstRestricted;this.throwUnexpectedToken(s,t.message)}return{simple:t.simple,params:n,stricted:t.stricted,firstRestricted:t.firstRestricted,message:t.message}},e.prototype.parseAssignmentExpression=function(){var e;if(!this.context.allowYield&&this.matchKeyword(\"yield\"))e=this.parseYieldExpression();else{var t=this.lookahead,n=t;if(e=this.parseConditionalExpression(),3===n.type&&n.lineNumber===this.lookahead.lineNumber&&\"async\"===n.value&&(3===this.lookahead.type||this.matchKeyword(\"yield\"))){var r=this.parsePrimaryExpression();this.reinterpretExpressionAsPattern(r),e={type:\"ArrowParameterPlaceHolder\",params:[r],async:!0}}if(\"ArrowParameterPlaceHolder\"===e.type||this.match(\"=>\")){this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var i=e.async,s=this.reinterpretAsCoverFormalsList(e);if(s){this.hasLineTerminator&&this.tolerateUnexpectedToken(this.lookahead),this.context.firstCoverInitializedNameError=null;var c=this.context.strict,l=this.context.allowStrictDirective;this.context.allowStrictDirective=s.simple;var p=this.context.allowYield,f=this.context.await;this.context.allowYield=!0,this.context.await=i;var d=this.startNode(t);this.expect(\"=>\");var h=void 0;if(this.match(\"{\")){var m=this.context.allowIn;this.context.allowIn=!0,h=this.parseFunctionSourceElements(),this.context.allowIn=m}else h=this.isolateCoverGrammar(this.parseAssignmentExpression);var g=h.type!==u.Syntax.BlockStatement;this.context.strict&&s.firstRestricted&&this.throwUnexpectedToken(s.firstRestricted,s.message),this.context.strict&&s.stricted&&this.tolerateUnexpectedToken(s.stricted,s.message),e=i?this.finalize(d,new a.AsyncArrowFunctionExpression(s.params,h,g)):this.finalize(d,new a.ArrowFunctionExpression(s.params,h,g)),this.context.strict=c,this.context.allowStrictDirective=l,this.context.allowYield=p,this.context.await=f}}else if(this.matchAssign()){if(this.context.isAssignmentTarget||this.tolerateError(o.Messages.InvalidLHSInAssignment),this.context.strict&&e.type===u.Syntax.Identifier){var y=e;this.scanner.isRestrictedWord(y.name)&&this.tolerateUnexpectedToken(n,o.Messages.StrictLHSAssignment),this.scanner.isStrictModeReservedWord(y.name)&&this.tolerateUnexpectedToken(n,o.Messages.StrictReservedWord)}this.match(\"=\")?this.reinterpretExpressionAsPattern(e):(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1);var v=(n=this.nextToken()).value,b=this.isolateCoverGrammar(this.parseAssignmentExpression);e=this.finalize(this.startNode(t),new a.AssignmentExpression(v,e,b)),this.context.firstCoverInitializedNameError=null}}return e},e.prototype.parseExpression=function(){var e=this.lookahead,t=this.isolateCoverGrammar(this.parseAssignmentExpression);if(this.match(\",\")){var n=[];for(n.push(t);2!==this.lookahead.type&&this.match(\",\");)this.nextToken(),n.push(this.isolateCoverGrammar(this.parseAssignmentExpression));t=this.finalize(this.startNode(e),new a.SequenceExpression(n))}return t},e.prototype.parseStatementListItem=function(){var e;if(this.context.isAssignmentTarget=!0,this.context.isBindingElement=!0,4===this.lookahead.type)switch(this.lookahead.value){case\"export\":this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,o.Messages.IllegalExportDeclaration),e=this.parseExportDeclaration();break;case\"import\":this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,o.Messages.IllegalImportDeclaration),e=this.parseImportDeclaration();break;case\"const\":e=this.parseLexicalDeclaration({inFor:!1});break;case\"function\":e=this.parseFunctionDeclaration();break;case\"class\":e=this.parseClassDeclaration();break;case\"let\":e=this.isLexicalDeclaration()?this.parseLexicalDeclaration({inFor:!1}):this.parseStatement();break;default:e=this.parseStatement()}else e=this.parseStatement();return e},e.prototype.parseBlock=function(){var e=this.createNode();this.expect(\"{\");for(var t=[];!this.match(\"}\");)t.push(this.parseStatementListItem());return this.expect(\"}\"),this.finalize(e,new a.BlockStatement(t))},e.prototype.parseLexicalBinding=function(e,t){var n=this.createNode(),r=this.parsePattern([],e);this.context.strict&&r.type===u.Syntax.Identifier&&this.scanner.isRestrictedWord(r.name)&&this.tolerateError(o.Messages.StrictVarName);var i=null;return\"const\"===e?this.matchKeyword(\"in\")||this.matchContextualKeyword(\"of\")||(this.match(\"=\")?(this.nextToken(),i=this.isolateCoverGrammar(this.parseAssignmentExpression)):this.throwError(o.Messages.DeclarationMissingInitializer,\"const\")):(!t.inFor&&r.type!==u.Syntax.Identifier||this.match(\"=\"))&&(this.expect(\"=\"),i=this.isolateCoverGrammar(this.parseAssignmentExpression)),this.finalize(n,new a.VariableDeclarator(r,i))},e.prototype.parseBindingList=function(e,t){for(var n=[this.parseLexicalBinding(e,t)];this.match(\",\");)this.nextToken(),n.push(this.parseLexicalBinding(e,t));return n},e.prototype.isLexicalDeclaration=function(){var e=this.scanner.saveState();this.scanner.scanComments();var t=this.scanner.lex();return this.scanner.restoreState(e),3===t.type||7===t.type&&\"[\"===t.value||7===t.type&&\"{\"===t.value||4===t.type&&\"let\"===t.value||4===t.type&&\"yield\"===t.value},e.prototype.parseLexicalDeclaration=function(e){var t=this.createNode(),n=this.nextToken().value;r.assert(\"let\"===n||\"const\"===n,\"Lexical declaration must be either let or const\");var i=this.parseBindingList(n,e);return this.consumeSemicolon(),this.finalize(t,new a.VariableDeclaration(i,n))},e.prototype.parseBindingRestElement=function(e,t){var n=this.createNode();this.expect(\"...\");var r=this.parsePattern(e,t);return this.finalize(n,new a.RestElement(r))},e.prototype.parseArrayPattern=function(e,t){var n=this.createNode();this.expect(\"[\");for(var r=[];!this.match(\"]\");)if(this.match(\",\"))this.nextToken(),r.push(null);else{if(this.match(\"...\")){r.push(this.parseBindingRestElement(e,t));break}r.push(this.parsePatternWithDefault(e,t)),this.match(\"]\")||this.expect(\",\")}return this.expect(\"]\"),this.finalize(n,new a.ArrayPattern(r))},e.prototype.parsePropertyPattern=function(e,t){var n,r,i=this.createNode(),o=!1,s=!1;if(3===this.lookahead.type){var u=this.lookahead;n=this.parseVariableIdentifier();var c=this.finalize(i,new a.Identifier(u.value));if(this.match(\"=\")){e.push(u),s=!0,this.nextToken();var l=this.parseAssignmentExpression();r=this.finalize(this.startNode(u),new a.AssignmentPattern(c,l))}else this.match(\":\")?(this.expect(\":\"),r=this.parsePatternWithDefault(e,t)):(e.push(u),s=!0,r=c)}else o=this.match(\"[\"),n=this.parseObjectPropertyKey(),this.expect(\":\"),r=this.parsePatternWithDefault(e,t);return this.finalize(i,new a.Property(\"init\",n,o,r,!1,s))},e.prototype.parseObjectPattern=function(e,t){var n=this.createNode(),r=[];for(this.expect(\"{\");!this.match(\"}\");)r.push(this.parsePropertyPattern(e,t)),this.match(\"}\")||this.expect(\",\");return this.expect(\"}\"),this.finalize(n,new a.ObjectPattern(r))},e.prototype.parsePattern=function(e,t){var n;return this.match(\"[\")?n=this.parseArrayPattern(e,t):this.match(\"{\")?n=this.parseObjectPattern(e,t):(!this.matchKeyword(\"let\")||\"const\"!==t&&\"let\"!==t||this.tolerateUnexpectedToken(this.lookahead,o.Messages.LetInLexicalBinding),e.push(this.lookahead),n=this.parseVariableIdentifier(t)),n},e.prototype.parsePatternWithDefault=function(e,t){var n=this.lookahead,r=this.parsePattern(e,t);if(this.match(\"=\")){this.nextToken();var i=this.context.allowYield;this.context.allowYield=!0;var o=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowYield=i,r=this.finalize(this.startNode(n),new a.AssignmentPattern(r,o))}return r},e.prototype.parseVariableIdentifier=function(e){var t=this.createNode(),n=this.nextToken();return 4===n.type&&\"yield\"===n.value?this.context.strict?this.tolerateUnexpectedToken(n,o.Messages.StrictReservedWord):this.context.allowYield||this.throwUnexpectedToken(n):3!==n.type?this.context.strict&&4===n.type&&this.scanner.isStrictModeReservedWord(n.value)?this.tolerateUnexpectedToken(n,o.Messages.StrictReservedWord):(this.context.strict||\"let\"!==n.value||\"var\"!==e)&&this.throwUnexpectedToken(n):(this.context.isModule||this.context.await)&&3===n.type&&\"await\"===n.value&&this.tolerateUnexpectedToken(n),this.finalize(t,new a.Identifier(n.value))},e.prototype.parseVariableDeclaration=function(e){var t=this.createNode(),n=this.parsePattern([],\"var\");this.context.strict&&n.type===u.Syntax.Identifier&&this.scanner.isRestrictedWord(n.name)&&this.tolerateError(o.Messages.StrictVarName);var r=null;return this.match(\"=\")?(this.nextToken(),r=this.isolateCoverGrammar(this.parseAssignmentExpression)):n.type===u.Syntax.Identifier||e.inFor||this.expect(\"=\"),this.finalize(t,new a.VariableDeclarator(n,r))},e.prototype.parseVariableDeclarationList=function(e){var t={inFor:e.inFor},n=[];for(n.push(this.parseVariableDeclaration(t));this.match(\",\");)this.nextToken(),n.push(this.parseVariableDeclaration(t));return n},e.prototype.parseVariableStatement=function(){var e=this.createNode();this.expectKeyword(\"var\");var t=this.parseVariableDeclarationList({inFor:!1});return this.consumeSemicolon(),this.finalize(e,new a.VariableDeclaration(t,\"var\"))},e.prototype.parseEmptyStatement=function(){var e=this.createNode();return this.expect(\";\"),this.finalize(e,new a.EmptyStatement)},e.prototype.parseExpressionStatement=function(){var e=this.createNode(),t=this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new a.ExpressionStatement(t))},e.prototype.parseIfClause=function(){return this.context.strict&&this.matchKeyword(\"function\")&&this.tolerateError(o.Messages.StrictFunction),this.parseStatement()},e.prototype.parseIfStatement=function(){var e,t=this.createNode(),n=null;this.expectKeyword(\"if\"),this.expect(\"(\");var r=this.parseExpression();return!this.match(\")\")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new a.EmptyStatement)):(this.expect(\")\"),e=this.parseIfClause(),this.matchKeyword(\"else\")&&(this.nextToken(),n=this.parseIfClause())),this.finalize(t,new a.IfStatement(r,e,n))},e.prototype.parseDoWhileStatement=function(){var e=this.createNode();this.expectKeyword(\"do\");var t=this.context.inIteration;this.context.inIteration=!0;var n=this.parseStatement();this.context.inIteration=t,this.expectKeyword(\"while\"),this.expect(\"(\");var r=this.parseExpression();return!this.match(\")\")&&this.config.tolerant?this.tolerateUnexpectedToken(this.nextToken()):(this.expect(\")\"),this.match(\";\")&&this.nextToken()),this.finalize(e,new a.DoWhileStatement(n,r))},e.prototype.parseWhileStatement=function(){var e,t=this.createNode();this.expectKeyword(\"while\"),this.expect(\"(\");var n=this.parseExpression();if(!this.match(\")\")&&this.config.tolerant)this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new a.EmptyStatement);else{this.expect(\")\");var r=this.context.inIteration;this.context.inIteration=!0,e=this.parseStatement(),this.context.inIteration=r}return this.finalize(t,new a.WhileStatement(n,e))},e.prototype.parseForStatement=function(){var e,t,n,r=null,i=null,s=null,c=!0,l=this.createNode();if(this.expectKeyword(\"for\"),this.expect(\"(\"),this.match(\";\"))this.nextToken();else if(this.matchKeyword(\"var\")){r=this.createNode(),this.nextToken();var p=this.context.allowIn;this.context.allowIn=!1;var f=this.parseVariableDeclarationList({inFor:!0});if(this.context.allowIn=p,1===f.length&&this.matchKeyword(\"in\")){var d=f[0];d.init&&(d.id.type===u.Syntax.ArrayPattern||d.id.type===u.Syntax.ObjectPattern||this.context.strict)&&this.tolerateError(o.Messages.ForInOfLoopInitializer,\"for-in\"),r=this.finalize(r,new a.VariableDeclaration(f,\"var\")),this.nextToken(),e=r,t=this.parseExpression(),r=null}else 1===f.length&&null===f[0].init&&this.matchContextualKeyword(\"of\")?(r=this.finalize(r,new a.VariableDeclaration(f,\"var\")),this.nextToken(),e=r,t=this.parseAssignmentExpression(),r=null,c=!1):(r=this.finalize(r,new a.VariableDeclaration(f,\"var\")),this.expect(\";\"))}else if(this.matchKeyword(\"const\")||this.matchKeyword(\"let\")){r=this.createNode();var h=this.nextToken().value;this.context.strict||\"in\"!==this.lookahead.value?(p=this.context.allowIn,this.context.allowIn=!1,f=this.parseBindingList(h,{inFor:!0}),this.context.allowIn=p,1===f.length&&null===f[0].init&&this.matchKeyword(\"in\")?(r=this.finalize(r,new a.VariableDeclaration(f,h)),this.nextToken(),e=r,t=this.parseExpression(),r=null):1===f.length&&null===f[0].init&&this.matchContextualKeyword(\"of\")?(r=this.finalize(r,new a.VariableDeclaration(f,h)),this.nextToken(),e=r,t=this.parseAssignmentExpression(),r=null,c=!1):(this.consumeSemicolon(),r=this.finalize(r,new a.VariableDeclaration(f,h)))):(r=this.finalize(r,new a.Identifier(h)),this.nextToken(),e=r,t=this.parseExpression(),r=null)}else{var m=this.lookahead;if(p=this.context.allowIn,this.context.allowIn=!1,r=this.inheritCoverGrammar(this.parseAssignmentExpression),this.context.allowIn=p,this.matchKeyword(\"in\"))this.context.isAssignmentTarget&&r.type!==u.Syntax.AssignmentExpression||this.tolerateError(o.Messages.InvalidLHSInForIn),this.nextToken(),this.reinterpretExpressionAsPattern(r),e=r,t=this.parseExpression(),r=null;else if(this.matchContextualKeyword(\"of\"))this.context.isAssignmentTarget&&r.type!==u.Syntax.AssignmentExpression||this.tolerateError(o.Messages.InvalidLHSInForLoop),this.nextToken(),this.reinterpretExpressionAsPattern(r),e=r,t=this.parseAssignmentExpression(),r=null,c=!1;else{if(this.match(\",\")){for(var g=[r];this.match(\",\");)this.nextToken(),g.push(this.isolateCoverGrammar(this.parseAssignmentExpression));r=this.finalize(this.startNode(m),new a.SequenceExpression(g))}this.expect(\";\")}}if(void 0===e&&(this.match(\";\")||(i=this.parseExpression()),this.expect(\";\"),this.match(\")\")||(s=this.parseExpression())),!this.match(\")\")&&this.config.tolerant)this.tolerateUnexpectedToken(this.nextToken()),n=this.finalize(this.createNode(),new a.EmptyStatement);else{this.expect(\")\");var y=this.context.inIteration;this.context.inIteration=!0,n=this.isolateCoverGrammar(this.parseStatement),this.context.inIteration=y}return void 0===e?this.finalize(l,new a.ForStatement(r,i,s,n)):c?this.finalize(l,new a.ForInStatement(e,t,n)):this.finalize(l,new a.ForOfStatement(e,t,n))},e.prototype.parseContinueStatement=function(){var e=this.createNode();this.expectKeyword(\"continue\");var t=null;if(3===this.lookahead.type&&!this.hasLineTerminator){var n=this.parseVariableIdentifier();t=n;var r=\"$\"+n.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,r)||this.throwError(o.Messages.UnknownLabel,n.name)}return this.consumeSemicolon(),null!==t||this.context.inIteration||this.throwError(o.Messages.IllegalContinue),this.finalize(e,new a.ContinueStatement(t))},e.prototype.parseBreakStatement=function(){var e=this.createNode();this.expectKeyword(\"break\");var t=null;if(3===this.lookahead.type&&!this.hasLineTerminator){var n=this.parseVariableIdentifier(),r=\"$\"+n.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,r)||this.throwError(o.Messages.UnknownLabel,n.name),t=n}return this.consumeSemicolon(),null!==t||this.context.inIteration||this.context.inSwitch||this.throwError(o.Messages.IllegalBreak),this.finalize(e,new a.BreakStatement(t))},e.prototype.parseReturnStatement=function(){this.context.inFunctionBody||this.tolerateError(o.Messages.IllegalReturn);var e=this.createNode();this.expectKeyword(\"return\");var t=(this.match(\";\")||this.match(\"}\")||this.hasLineTerminator||2===this.lookahead.type)&&8!==this.lookahead.type&&10!==this.lookahead.type?null:this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new a.ReturnStatement(t))},e.prototype.parseWithStatement=function(){this.context.strict&&this.tolerateError(o.Messages.StrictModeWith);var e,t=this.createNode();this.expectKeyword(\"with\"),this.expect(\"(\");var n=this.parseExpression();return!this.match(\")\")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new a.EmptyStatement)):(this.expect(\")\"),e=this.parseStatement()),this.finalize(t,new a.WithStatement(n,e))},e.prototype.parseSwitchCase=function(){var e,t=this.createNode();this.matchKeyword(\"default\")?(this.nextToken(),e=null):(this.expectKeyword(\"case\"),e=this.parseExpression()),this.expect(\":\");for(var n=[];!(this.match(\"}\")||this.matchKeyword(\"default\")||this.matchKeyword(\"case\"));)n.push(this.parseStatementListItem());return this.finalize(t,new a.SwitchCase(e,n))},e.prototype.parseSwitchStatement=function(){var e=this.createNode();this.expectKeyword(\"switch\"),this.expect(\"(\");var t=this.parseExpression();this.expect(\")\");var n=this.context.inSwitch;this.context.inSwitch=!0;var r=[],i=!1;for(this.expect(\"{\");!this.match(\"}\");){var s=this.parseSwitchCase();null===s.test&&(i&&this.throwError(o.Messages.MultipleDefaultsInSwitch),i=!0),r.push(s)}return this.expect(\"}\"),this.context.inSwitch=n,this.finalize(e,new a.SwitchStatement(t,r))},e.prototype.parseLabelledStatement=function(){var e,t=this.createNode(),n=this.parseExpression();if(n.type===u.Syntax.Identifier&&this.match(\":\")){this.nextToken();var r=n,i=\"$\"+r.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,i)&&this.throwError(o.Messages.Redeclaration,\"Label\",r.name),this.context.labelSet[i]=!0;var s=void 0;if(this.matchKeyword(\"class\"))this.tolerateUnexpectedToken(this.lookahead),s=this.parseClassDeclaration();else if(this.matchKeyword(\"function\")){var c=this.lookahead,l=this.parseFunctionDeclaration();this.context.strict?this.tolerateUnexpectedToken(c,o.Messages.StrictFunction):l.generator&&this.tolerateUnexpectedToken(c,o.Messages.GeneratorInLegacyContext),s=l}else s=this.parseStatement();delete this.context.labelSet[i],e=new a.LabeledStatement(r,s)}else this.consumeSemicolon(),e=new a.ExpressionStatement(n);return this.finalize(t,e)},e.prototype.parseThrowStatement=function(){var e=this.createNode();this.expectKeyword(\"throw\"),this.hasLineTerminator&&this.throwError(o.Messages.NewlineAfterThrow);var t=this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new a.ThrowStatement(t))},e.prototype.parseCatchClause=function(){var e=this.createNode();this.expectKeyword(\"catch\"),this.expect(\"(\"),this.match(\")\")&&this.throwUnexpectedToken(this.lookahead);for(var t=[],n=this.parsePattern(t),r={},i=0;i<t.length;i++){var s=\"$\"+t[i].value;Object.prototype.hasOwnProperty.call(r,s)&&this.tolerateError(o.Messages.DuplicateBinding,t[i].value),r[s]=!0}this.context.strict&&n.type===u.Syntax.Identifier&&this.scanner.isRestrictedWord(n.name)&&this.tolerateError(o.Messages.StrictCatchVariable),this.expect(\")\");var c=this.parseBlock();return this.finalize(e,new a.CatchClause(n,c))},e.prototype.parseFinallyClause=function(){return this.expectKeyword(\"finally\"),this.parseBlock()},e.prototype.parseTryStatement=function(){var e=this.createNode();this.expectKeyword(\"try\");var t=this.parseBlock(),n=this.matchKeyword(\"catch\")?this.parseCatchClause():null,r=this.matchKeyword(\"finally\")?this.parseFinallyClause():null;return n||r||this.throwError(o.Messages.NoCatchOrFinally),this.finalize(e,new a.TryStatement(t,n,r))},e.prototype.parseDebuggerStatement=function(){var e=this.createNode();return this.expectKeyword(\"debugger\"),this.consumeSemicolon(),this.finalize(e,new a.DebuggerStatement)},e.prototype.parseStatement=function(){var e;switch(this.lookahead.type){case 1:case 5:case 6:case 8:case 10:case 9:e=this.parseExpressionStatement();break;case 7:var t=this.lookahead.value;e=\"{\"===t?this.parseBlock():\"(\"===t?this.parseExpressionStatement():\";\"===t?this.parseEmptyStatement():this.parseExpressionStatement();break;case 3:e=this.matchAsyncFunction()?this.parseFunctionDeclaration():this.parseLabelledStatement();break;case 4:switch(this.lookahead.value){case\"break\":e=this.parseBreakStatement();break;case\"continue\":e=this.parseContinueStatement();break;case\"debugger\":e=this.parseDebuggerStatement();break;case\"do\":e=this.parseDoWhileStatement();break;case\"for\":e=this.parseForStatement();break;case\"function\":e=this.parseFunctionDeclaration();break;case\"if\":e=this.parseIfStatement();break;case\"return\":e=this.parseReturnStatement();break;case\"switch\":e=this.parseSwitchStatement();break;case\"throw\":e=this.parseThrowStatement();break;case\"try\":e=this.parseTryStatement();break;case\"var\":e=this.parseVariableStatement();break;case\"while\":e=this.parseWhileStatement();break;case\"with\":e=this.parseWithStatement();break;default:e=this.parseExpressionStatement()}break;default:e=this.throwUnexpectedToken(this.lookahead)}return e},e.prototype.parseFunctionSourceElements=function(){var e=this.createNode();this.expect(\"{\");var t=this.parseDirectivePrologues(),n=this.context.labelSet,r=this.context.inIteration,i=this.context.inSwitch,o=this.context.inFunctionBody;for(this.context.labelSet={},this.context.inIteration=!1,this.context.inSwitch=!1,this.context.inFunctionBody=!0;2!==this.lookahead.type&&!this.match(\"}\");)t.push(this.parseStatementListItem());return this.expect(\"}\"),this.context.labelSet=n,this.context.inIteration=r,this.context.inSwitch=i,this.context.inFunctionBody=o,this.finalize(e,new a.BlockStatement(t))},e.prototype.validateParam=function(e,t,n){var r=\"$\"+n;this.context.strict?(this.scanner.isRestrictedWord(n)&&(e.stricted=t,e.message=o.Messages.StrictParamName),Object.prototype.hasOwnProperty.call(e.paramSet,r)&&(e.stricted=t,e.message=o.Messages.StrictParamDupe)):e.firstRestricted||(this.scanner.isRestrictedWord(n)?(e.firstRestricted=t,e.message=o.Messages.StrictParamName):this.scanner.isStrictModeReservedWord(n)?(e.firstRestricted=t,e.message=o.Messages.StrictReservedWord):Object.prototype.hasOwnProperty.call(e.paramSet,r)&&(e.stricted=t,e.message=o.Messages.StrictParamDupe)),\"function\"==typeof Object.defineProperty?Object.defineProperty(e.paramSet,r,{value:!0,enumerable:!0,writable:!0,configurable:!0}):e.paramSet[r]=!0},e.prototype.parseRestElement=function(e){var t=this.createNode();this.expect(\"...\");var n=this.parsePattern(e);return this.match(\"=\")&&this.throwError(o.Messages.DefaultRestParameter),this.match(\")\")||this.throwError(o.Messages.ParameterAfterRestParameter),this.finalize(t,new a.RestElement(n))},e.prototype.parseFormalParameter=function(e){for(var t=[],n=this.match(\"...\")?this.parseRestElement(t):this.parsePatternWithDefault(t),r=0;r<t.length;r++)this.validateParam(e,t[r],t[r].value);e.simple=e.simple&&n instanceof a.Identifier,e.params.push(n)},e.prototype.parseFormalParameters=function(e){var t;if(t={simple:!0,params:[],firstRestricted:e},this.expect(\"(\"),!this.match(\")\"))for(t.paramSet={};2!==this.lookahead.type&&(this.parseFormalParameter(t),!this.match(\")\"))&&(this.expect(\",\"),!this.match(\")\")););return this.expect(\")\"),{simple:t.simple,params:t.params,stricted:t.stricted,firstRestricted:t.firstRestricted,message:t.message}},e.prototype.matchAsyncFunction=function(){var e=this.matchContextualKeyword(\"async\");if(e){var t=this.scanner.saveState();this.scanner.scanComments();var n=this.scanner.lex();this.scanner.restoreState(t),e=t.lineNumber===n.lineNumber&&4===n.type&&\"function\"===n.value}return e},e.prototype.parseFunctionDeclaration=function(e){var t=this.createNode(),n=this.matchContextualKeyword(\"async\");n&&this.nextToken(),this.expectKeyword(\"function\");var r,i=!n&&this.match(\"*\");i&&this.nextToken();var s=null,u=null;if(!e||!this.match(\"(\")){var c=this.lookahead;s=this.parseVariableIdentifier(),this.context.strict?this.scanner.isRestrictedWord(c.value)&&this.tolerateUnexpectedToken(c,o.Messages.StrictFunctionName):this.scanner.isRestrictedWord(c.value)?(u=c,r=o.Messages.StrictFunctionName):this.scanner.isStrictModeReservedWord(c.value)&&(u=c,r=o.Messages.StrictReservedWord)}var l=this.context.await,p=this.context.allowYield;this.context.await=n,this.context.allowYield=!i;var f=this.parseFormalParameters(u),d=f.params,h=f.stricted;u=f.firstRestricted,f.message&&(r=f.message);var m=this.context.strict,g=this.context.allowStrictDirective;this.context.allowStrictDirective=f.simple;var y=this.parseFunctionSourceElements();return this.context.strict&&u&&this.throwUnexpectedToken(u,r),this.context.strict&&h&&this.tolerateUnexpectedToken(h,r),this.context.strict=m,this.context.allowStrictDirective=g,this.context.await=l,this.context.allowYield=p,n?this.finalize(t,new a.AsyncFunctionDeclaration(s,d,y)):this.finalize(t,new a.FunctionDeclaration(s,d,y,i))},e.prototype.parseFunctionExpression=function(){var e=this.createNode(),t=this.matchContextualKeyword(\"async\");t&&this.nextToken(),this.expectKeyword(\"function\");var n,r=!t&&this.match(\"*\");r&&this.nextToken();var i,s=null,u=this.context.await,c=this.context.allowYield;if(this.context.await=t,this.context.allowYield=!r,!this.match(\"(\")){var l=this.lookahead;s=this.context.strict||r||!this.matchKeyword(\"yield\")?this.parseVariableIdentifier():this.parseIdentifierName(),this.context.strict?this.scanner.isRestrictedWord(l.value)&&this.tolerateUnexpectedToken(l,o.Messages.StrictFunctionName):this.scanner.isRestrictedWord(l.value)?(i=l,n=o.Messages.StrictFunctionName):this.scanner.isStrictModeReservedWord(l.value)&&(i=l,n=o.Messages.StrictReservedWord)}var p=this.parseFormalParameters(i),f=p.params,d=p.stricted;i=p.firstRestricted,p.message&&(n=p.message);var h=this.context.strict,m=this.context.allowStrictDirective;this.context.allowStrictDirective=p.simple;var g=this.parseFunctionSourceElements();return this.context.strict&&i&&this.throwUnexpectedToken(i,n),this.context.strict&&d&&this.tolerateUnexpectedToken(d,n),this.context.strict=h,this.context.allowStrictDirective=m,this.context.await=u,this.context.allowYield=c,t?this.finalize(e,new a.AsyncFunctionExpression(s,f,g)):this.finalize(e,new a.FunctionExpression(s,f,g,r))},e.prototype.parseDirective=function(){var e=this.lookahead,t=this.createNode(),n=this.parseExpression(),r=n.type===u.Syntax.Literal?this.getTokenRaw(e).slice(1,-1):null;return this.consumeSemicolon(),this.finalize(t,r?new a.Directive(n,r):new a.ExpressionStatement(n))},e.prototype.parseDirectivePrologues=function(){for(var e=null,t=[];;){var n=this.lookahead;if(8!==n.type)break;var r=this.parseDirective();t.push(r);var i=r.directive;if(\"string\"!=typeof i)break;\"use strict\"===i?(this.context.strict=!0,e&&this.tolerateUnexpectedToken(e,o.Messages.StrictOctalLiteral),this.context.allowStrictDirective||this.tolerateUnexpectedToken(n,o.Messages.IllegalLanguageModeDirective)):!e&&n.octal&&(e=n)}return t},e.prototype.qualifiedPropertyName=function(e){switch(e.type){case 3:case 8:case 1:case 5:case 6:case 4:return!0;case 7:return\"[\"===e.value}return!1},e.prototype.parseGetterMethod=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!0;var n=this.parseFormalParameters();n.params.length>0&&this.tolerateError(o.Messages.BadGetterArity);var r=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,n.params,r,!1))},e.prototype.parseSetterMethod=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!0;var n=this.parseFormalParameters();1!==n.params.length?this.tolerateError(o.Messages.BadSetterArity):n.params[0]instanceof a.RestElement&&this.tolerateError(o.Messages.BadSetterRestParameter);var r=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,n.params,r,!1))},e.prototype.parseGeneratorMethod=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!0;var n=this.parseFormalParameters();this.context.allowYield=!1;var r=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,n.params,r,!0))},e.prototype.isStartOfExpression=function(){var e=!0,t=this.lookahead.value;switch(this.lookahead.type){case 7:e=\"[\"===t||\"(\"===t||\"{\"===t||\"+\"===t||\"-\"===t||\"!\"===t||\"~\"===t||\"++\"===t||\"--\"===t||\"/\"===t||\"/=\"===t;break;case 4:e=\"class\"===t||\"delete\"===t||\"function\"===t||\"let\"===t||\"new\"===t||\"super\"===t||\"this\"===t||\"typeof\"===t||\"void\"===t||\"yield\"===t}return e},e.prototype.parseYieldExpression=function(){var e=this.createNode();this.expectKeyword(\"yield\");var t=null,n=!1;if(!this.hasLineTerminator){var r=this.context.allowYield;this.context.allowYield=!1,(n=this.match(\"*\"))?(this.nextToken(),t=this.parseAssignmentExpression()):this.isStartOfExpression()&&(t=this.parseAssignmentExpression()),this.context.allowYield=r}return this.finalize(e,new a.YieldExpression(t,n))},e.prototype.parseClassElement=function(e){var t=this.lookahead,n=this.createNode(),r=\"\",i=null,s=null,u=!1,c=!1,l=!1,p=!1;if(this.match(\"*\"))this.nextToken();else if(u=this.match(\"[\"),\"static\"===(i=this.parseObjectPropertyKey()).name&&(this.qualifiedPropertyName(this.lookahead)||this.match(\"*\"))&&(t=this.lookahead,l=!0,u=this.match(\"[\"),this.match(\"*\")?this.nextToken():i=this.parseObjectPropertyKey()),3===t.type&&!this.hasLineTerminator&&\"async\"===t.value){var f=this.lookahead.value;\":\"!==f&&\"(\"!==f&&\"*\"!==f&&(p=!0,t=this.lookahead,i=this.parseObjectPropertyKey(),3===t.type&&\"constructor\"===t.value&&this.tolerateUnexpectedToken(t,o.Messages.ConstructorIsAsync))}var d=this.qualifiedPropertyName(this.lookahead);return 3===t.type?\"get\"===t.value&&d?(r=\"get\",u=this.match(\"[\"),i=this.parseObjectPropertyKey(),this.context.allowYield=!1,s=this.parseGetterMethod()):\"set\"===t.value&&d&&(r=\"set\",u=this.match(\"[\"),i=this.parseObjectPropertyKey(),s=this.parseSetterMethod()):7===t.type&&\"*\"===t.value&&d&&(r=\"init\",u=this.match(\"[\"),i=this.parseObjectPropertyKey(),s=this.parseGeneratorMethod(),c=!0),!r&&i&&this.match(\"(\")&&(r=\"init\",s=p?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction(),c=!0),r||this.throwUnexpectedToken(this.lookahead),\"init\"===r&&(r=\"method\"),u||(l&&this.isPropertyKey(i,\"prototype\")&&this.throwUnexpectedToken(t,o.Messages.StaticPrototype),!l&&this.isPropertyKey(i,\"constructor\")&&((\"method\"!==r||!c||s&&s.generator)&&this.throwUnexpectedToken(t,o.Messages.ConstructorSpecialMethod),e.value?this.throwUnexpectedToken(t,o.Messages.DuplicateConstructor):e.value=!0,r=\"constructor\")),this.finalize(n,new a.MethodDefinition(i,u,s,r,l))},e.prototype.parseClassElementList=function(){var e=[],t={value:!1};for(this.expect(\"{\");!this.match(\"}\");)this.match(\";\")?this.nextToken():e.push(this.parseClassElement(t));return this.expect(\"}\"),e},e.prototype.parseClassBody=function(){var e=this.createNode(),t=this.parseClassElementList();return this.finalize(e,new a.ClassBody(t))},e.prototype.parseClassDeclaration=function(e){var t=this.createNode(),n=this.context.strict;this.context.strict=!0,this.expectKeyword(\"class\");var r=e&&3!==this.lookahead.type?null:this.parseVariableIdentifier(),i=null;this.matchKeyword(\"extends\")&&(this.nextToken(),i=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall));var o=this.parseClassBody();return this.context.strict=n,this.finalize(t,new a.ClassDeclaration(r,i,o))},e.prototype.parseClassExpression=function(){var e=this.createNode(),t=this.context.strict;this.context.strict=!0,this.expectKeyword(\"class\");var n=3===this.lookahead.type?this.parseVariableIdentifier():null,r=null;this.matchKeyword(\"extends\")&&(this.nextToken(),r=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall));var i=this.parseClassBody();return this.context.strict=t,this.finalize(e,new a.ClassExpression(n,r,i))},e.prototype.parseModule=function(){this.context.strict=!0,this.context.isModule=!0,this.scanner.isModule=!0;for(var e=this.createNode(),t=this.parseDirectivePrologues();2!==this.lookahead.type;)t.push(this.parseStatementListItem());return this.finalize(e,new a.Module(t))},e.prototype.parseScript=function(){for(var e=this.createNode(),t=this.parseDirectivePrologues();2!==this.lookahead.type;)t.push(this.parseStatementListItem());return this.finalize(e,new a.Script(t))},e.prototype.parseModuleSpecifier=function(){var e=this.createNode();8!==this.lookahead.type&&this.throwError(o.Messages.InvalidModuleSpecifier);var t=this.nextToken(),n=this.getTokenRaw(t);return this.finalize(e,new a.Literal(t.value,n))},e.prototype.parseImportSpecifier=function(){var e,t,n=this.createNode();return 3===this.lookahead.type?(t=e=this.parseVariableIdentifier(),this.matchContextualKeyword(\"as\")&&(this.nextToken(),t=this.parseVariableIdentifier())):(t=e=this.parseIdentifierName(),this.matchContextualKeyword(\"as\")?(this.nextToken(),t=this.parseVariableIdentifier()):this.throwUnexpectedToken(this.nextToken())),this.finalize(n,new a.ImportSpecifier(t,e))},e.prototype.parseNamedImports=function(){this.expect(\"{\");for(var e=[];!this.match(\"}\");)e.push(this.parseImportSpecifier()),this.match(\"}\")||this.expect(\",\");return this.expect(\"}\"),e},e.prototype.parseImportDefaultSpecifier=function(){var e=this.createNode(),t=this.parseIdentifierName();return this.finalize(e,new a.ImportDefaultSpecifier(t))},e.prototype.parseImportNamespaceSpecifier=function(){var e=this.createNode();this.expect(\"*\"),this.matchContextualKeyword(\"as\")||this.throwError(o.Messages.NoAsAfterImportNamespace),this.nextToken();var t=this.parseIdentifierName();return this.finalize(e,new a.ImportNamespaceSpecifier(t))},e.prototype.parseImportDeclaration=function(){this.context.inFunctionBody&&this.throwError(o.Messages.IllegalImportDeclaration);var e,t=this.createNode();this.expectKeyword(\"import\");var n=[];if(8===this.lookahead.type)e=this.parseModuleSpecifier();else{if(this.match(\"{\")?n=n.concat(this.parseNamedImports()):this.match(\"*\")?n.push(this.parseImportNamespaceSpecifier()):this.isIdentifierName(this.lookahead)&&!this.matchKeyword(\"default\")?(n.push(this.parseImportDefaultSpecifier()),this.match(\",\")&&(this.nextToken(),this.match(\"*\")?n.push(this.parseImportNamespaceSpecifier()):this.match(\"{\")?n=n.concat(this.parseNamedImports()):this.throwUnexpectedToken(this.lookahead))):this.throwUnexpectedToken(this.nextToken()),!this.matchContextualKeyword(\"from\")){var r=this.lookahead.value?o.Messages.UnexpectedToken:o.Messages.MissingFromClause;this.throwError(r,this.lookahead.value)}this.nextToken(),e=this.parseModuleSpecifier()}return this.consumeSemicolon(),this.finalize(t,new a.ImportDeclaration(n,e))},e.prototype.parseExportSpecifier=function(){var e=this.createNode(),t=this.parseIdentifierName(),n=t;return this.matchContextualKeyword(\"as\")&&(this.nextToken(),n=this.parseIdentifierName()),this.finalize(e,new a.ExportSpecifier(t,n))},e.prototype.parseExportDeclaration=function(){this.context.inFunctionBody&&this.throwError(o.Messages.IllegalExportDeclaration);var e,t=this.createNode();if(this.expectKeyword(\"export\"),this.matchKeyword(\"default\"))if(this.nextToken(),this.matchKeyword(\"function\")){var n=this.parseFunctionDeclaration(!0);e=this.finalize(t,new a.ExportDefaultDeclaration(n))}else this.matchKeyword(\"class\")?(n=this.parseClassDeclaration(!0),e=this.finalize(t,new a.ExportDefaultDeclaration(n))):this.matchContextualKeyword(\"async\")?(n=this.matchAsyncFunction()?this.parseFunctionDeclaration(!0):this.parseAssignmentExpression(),e=this.finalize(t,new a.ExportDefaultDeclaration(n))):(this.matchContextualKeyword(\"from\")&&this.throwError(o.Messages.UnexpectedToken,this.lookahead.value),n=this.match(\"{\")?this.parseObjectInitializer():this.match(\"[\")?this.parseArrayInitializer():this.parseAssignmentExpression(),this.consumeSemicolon(),e=this.finalize(t,new a.ExportDefaultDeclaration(n)));else if(this.match(\"*\")){if(this.nextToken(),!this.matchContextualKeyword(\"from\")){var r=this.lookahead.value?o.Messages.UnexpectedToken:o.Messages.MissingFromClause;this.throwError(r,this.lookahead.value)}this.nextToken();var i=this.parseModuleSpecifier();this.consumeSemicolon(),e=this.finalize(t,new a.ExportAllDeclaration(i))}else if(4===this.lookahead.type){switch(n=void 0,this.lookahead.value){case\"let\":case\"const\":n=this.parseLexicalDeclaration({inFor:!1});break;case\"var\":case\"class\":case\"function\":n=this.parseStatementListItem();break;default:this.throwUnexpectedToken(this.lookahead)}e=this.finalize(t,new a.ExportNamedDeclaration(n,[],null))}else if(this.matchAsyncFunction())n=this.parseFunctionDeclaration(),e=this.finalize(t,new a.ExportNamedDeclaration(n,[],null));else{var s=[],u=null,c=!1;for(this.expect(\"{\");!this.match(\"}\");)c=c||this.matchKeyword(\"default\"),s.push(this.parseExportSpecifier()),this.match(\"}\")||this.expect(\",\");this.expect(\"}\"),this.matchContextualKeyword(\"from\")?(this.nextToken(),u=this.parseModuleSpecifier(),this.consumeSemicolon()):c?(r=this.lookahead.value?o.Messages.UnexpectedToken:o.Messages.MissingFromClause,this.throwError(r,this.lookahead.value)):this.consumeSemicolon(),e=this.finalize(t,new a.ExportNamedDeclaration(null,s,u))}return e},e}();t.Parser=l},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.assert=function(e,t){if(!e)throw new Error(\"ASSERT: \"+t)}},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=function(){function e(){this.errors=[],this.tolerant=!1}return e.prototype.recordError=function(e){this.errors.push(e)},e.prototype.tolerate=function(e){if(!this.tolerant)throw e;this.recordError(e)},e.prototype.constructError=function(e,t){var n=new Error(e);try{throw n}catch(e){Object.create&&Object.defineProperty&&(n=Object.create(e),Object.defineProperty(n,\"column\",{value:t}))}return n},e.prototype.createError=function(e,t,n,r){var i=\"Line \"+t+\": \"+r,o=this.constructError(i,n);return o.index=e,o.lineNumber=t,o.description=r,o},e.prototype.throwError=function(e,t,n,r){throw this.createError(e,t,n,r)},e.prototype.tolerateError=function(e,t,n,r){var i=this.createError(e,t,n,r);if(!this.tolerant)throw i;this.recordError(i)},e}();t.ErrorHandler=n},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Messages={BadGetterArity:\"Getter must not have any formal parameters\",BadSetterArity:\"Setter must have exactly one formal parameter\",BadSetterRestParameter:\"Setter function argument must not be a rest parameter\",ConstructorIsAsync:\"Class constructor may not be an async method\",ConstructorSpecialMethod:\"Class constructor may not be an accessor\",DeclarationMissingInitializer:\"Missing initializer in %0 declaration\",DefaultRestParameter:\"Unexpected token =\",DuplicateBinding:\"Duplicate binding %0\",DuplicateConstructor:\"A class may only have one constructor\",DuplicateProtoProperty:\"Duplicate __proto__ fields are not allowed in object literals\",ForInOfLoopInitializer:\"%0 loop variable declaration may not have an initializer\",GeneratorInLegacyContext:\"Generator declarations are not allowed in legacy contexts\",IllegalBreak:\"Illegal break statement\",IllegalContinue:\"Illegal continue statement\",IllegalExportDeclaration:\"Unexpected token\",IllegalImportDeclaration:\"Unexpected token\",IllegalLanguageModeDirective:\"Illegal 'use strict' directive in function with non-simple parameter list\",IllegalReturn:\"Illegal return statement\",InvalidEscapedReservedWord:\"Keyword must not contain escaped characters\",InvalidHexEscapeSequence:\"Invalid hexadecimal escape sequence\",InvalidLHSInAssignment:\"Invalid left-hand side in assignment\",InvalidLHSInForIn:\"Invalid left-hand side in for-in\",InvalidLHSInForLoop:\"Invalid left-hand side in for-loop\",InvalidModuleSpecifier:\"Unexpected token\",InvalidRegExp:\"Invalid regular expression\",LetInLexicalBinding:\"let is disallowed as a lexically bound name\",MissingFromClause:\"Unexpected token\",MultipleDefaultsInSwitch:\"More than one default clause in switch statement\",NewlineAfterThrow:\"Illegal newline after throw\",NoAsAfterImportNamespace:\"Unexpected token\",NoCatchOrFinally:\"Missing catch or finally after try\",ParameterAfterRestParameter:\"Rest parameter must be last formal parameter\",Redeclaration:\"%0 '%1' has already been declared\",StaticPrototype:\"Classes may not have static property named prototype\",StrictCatchVariable:\"Catch variable may not be eval or arguments in strict mode\",StrictDelete:\"Delete of an unqualified identifier in strict mode.\",StrictFunction:\"In strict mode code, functions can only be declared at top level or inside a block\",StrictFunctionName:\"Function name may not be eval or arguments in strict mode\",StrictLHSAssignment:\"Assignment to eval or arguments is not allowed in strict mode\",StrictLHSPostfix:\"Postfix increment/decrement may not have eval or arguments operand in strict mode\",StrictLHSPrefix:\"Prefix increment/decrement may not have eval or arguments operand in strict mode\",StrictModeWith:\"Strict mode code may not include a with statement\",StrictOctalLiteral:\"Octal literals are not allowed in strict mode.\",StrictParamDupe:\"Strict mode function may not have duplicate parameter names\",StrictParamName:\"Parameter name eval or arguments is not allowed in strict mode\",StrictReservedWord:\"Use of future reserved word in strict mode\",StrictVarName:\"Variable name may not be eval or arguments in strict mode\",TemplateOctalLiteral:\"Octal literals are not allowed in template strings.\",UnexpectedEOS:\"Unexpected end of input\",UnexpectedIdentifier:\"Unexpected identifier\",UnexpectedNumber:\"Unexpected number\",UnexpectedReserved:\"Unexpected reserved word\",UnexpectedString:\"Unexpected string\",UnexpectedTemplate:\"Unexpected quasi %0\",UnexpectedToken:\"Unexpected token %0\",UnexpectedTokenIllegal:\"Unexpected token ILLEGAL\",UnknownLabel:\"Undefined label '%0'\",UnterminatedRegExp:\"Invalid regular expression: missing /\"}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(9),i=n(4),o=n(11);function a(e){return\"0123456789abcdef\".indexOf(e.toLowerCase())}function s(e){return\"01234567\".indexOf(e)}var u=function(){function e(e,t){this.source=e,this.errorHandler=t,this.trackComment=!1,this.isModule=!1,this.length=e.length,this.index=0,this.lineNumber=e.length>0?1:0,this.lineStart=0,this.curlyStack=[]}return e.prototype.saveState=function(){return{index:this.index,lineNumber:this.lineNumber,lineStart:this.lineStart}},e.prototype.restoreState=function(e){this.index=e.index,this.lineNumber=e.lineNumber,this.lineStart=e.lineStart},e.prototype.eof=function(){return this.index>=this.length},e.prototype.throwUnexpectedToken=function(e){return void 0===e&&(e=o.Messages.UnexpectedTokenIllegal),this.errorHandler.throwError(this.index,this.lineNumber,this.index-this.lineStart+1,e)},e.prototype.tolerateUnexpectedToken=function(e){void 0===e&&(e=o.Messages.UnexpectedTokenIllegal),this.errorHandler.tolerateError(this.index,this.lineNumber,this.index-this.lineStart+1,e)},e.prototype.skipSingleLineComment=function(e){var t,n,r=[];for(this.trackComment&&(r=[],t=this.index-e,n={start:{line:this.lineNumber,column:this.index-this.lineStart-e},end:{}});!this.eof();){var o=this.source.charCodeAt(this.index);if(++this.index,i.Character.isLineTerminator(o)){if(this.trackComment){n.end={line:this.lineNumber,column:this.index-this.lineStart-1};var a={multiLine:!1,slice:[t+e,this.index-1],range:[t,this.index-1],loc:n};r.push(a)}return 13===o&&10===this.source.charCodeAt(this.index)&&++this.index,++this.lineNumber,this.lineStart=this.index,r}}return this.trackComment&&(n.end={line:this.lineNumber,column:this.index-this.lineStart},a={multiLine:!1,slice:[t+e,this.index],range:[t,this.index],loc:n},r.push(a)),r},e.prototype.skipMultiLineComment=function(){var e,t,n=[];for(this.trackComment&&(n=[],e=this.index-2,t={start:{line:this.lineNumber,column:this.index-this.lineStart-2},end:{}});!this.eof();){var r=this.source.charCodeAt(this.index);if(i.Character.isLineTerminator(r))13===r&&10===this.source.charCodeAt(this.index+1)&&++this.index,++this.lineNumber,++this.index,this.lineStart=this.index;else if(42===r){if(47===this.source.charCodeAt(this.index+1)){if(this.index+=2,this.trackComment){t.end={line:this.lineNumber,column:this.index-this.lineStart};var o={multiLine:!0,slice:[e+2,this.index-2],range:[e,this.index],loc:t};n.push(o)}return n}++this.index}else++this.index}return this.trackComment&&(t.end={line:this.lineNumber,column:this.index-this.lineStart},o={multiLine:!0,slice:[e+2,this.index],range:[e,this.index],loc:t},n.push(o)),this.tolerateUnexpectedToken(),n},e.prototype.scanComments=function(){var e;this.trackComment&&(e=[]);for(var t=0===this.index;!this.eof();){var n=this.source.charCodeAt(this.index);if(i.Character.isWhiteSpace(n))++this.index;else if(i.Character.isLineTerminator(n))++this.index,13===n&&10===this.source.charCodeAt(this.index)&&++this.index,++this.lineNumber,this.lineStart=this.index,t=!0;else if(47===n)if(47===(n=this.source.charCodeAt(this.index+1))){this.index+=2;var r=this.skipSingleLineComment(2);this.trackComment&&(e=e.concat(r)),t=!0}else{if(42!==n)break;this.index+=2,r=this.skipMultiLineComment(),this.trackComment&&(e=e.concat(r))}else if(t&&45===n){if(45!==this.source.charCodeAt(this.index+1)||62!==this.source.charCodeAt(this.index+2))break;this.index+=3,r=this.skipSingleLineComment(3),this.trackComment&&(e=e.concat(r))}else{if(60!==n||this.isModule)break;if(\"!--\"!==this.source.slice(this.index+1,this.index+4))break;this.index+=4,r=this.skipSingleLineComment(4),this.trackComment&&(e=e.concat(r))}}return e},e.prototype.isFutureReservedWord=function(e){switch(e){case\"enum\":case\"export\":case\"import\":case\"super\":return!0;default:return!1}},e.prototype.isStrictModeReservedWord=function(e){switch(e){case\"implements\":case\"interface\":case\"package\":case\"private\":case\"protected\":case\"public\":case\"static\":case\"yield\":case\"let\":return!0;default:return!1}},e.prototype.isRestrictedWord=function(e){return\"eval\"===e||\"arguments\"===e},e.prototype.isKeyword=function(e){switch(e.length){case 2:return\"if\"===e||\"in\"===e||\"do\"===e;case 3:return\"var\"===e||\"for\"===e||\"new\"===e||\"try\"===e||\"let\"===e;case 4:return\"this\"===e||\"else\"===e||\"case\"===e||\"void\"===e||\"with\"===e||\"enum\"===e;case 5:return\"while\"===e||\"break\"===e||\"catch\"===e||\"throw\"===e||\"const\"===e||\"yield\"===e||\"class\"===e||\"super\"===e;case 6:return\"return\"===e||\"typeof\"===e||\"delete\"===e||\"switch\"===e||\"export\"===e||\"import\"===e;case 7:return\"default\"===e||\"finally\"===e||\"extends\"===e;case 8:return\"function\"===e||\"continue\"===e||\"debugger\"===e;case 10:return\"instanceof\"===e;default:return!1}},e.prototype.codePointAt=function(e){var t=this.source.charCodeAt(e);if(t>=55296&&t<=56319){var n=this.source.charCodeAt(e+1);n>=56320&&n<=57343&&(t=1024*(t-55296)+n-56320+65536)}return t},e.prototype.scanHexEscape=function(e){for(var t=\"u\"===e?4:2,n=0,r=0;r<t;++r){if(this.eof()||!i.Character.isHexDigit(this.source.charCodeAt(this.index)))return null;n=16*n+a(this.source[this.index++])}return String.fromCharCode(n)},e.prototype.scanUnicodeCodePointEscape=function(){var e=this.source[this.index],t=0;for(\"}\"===e&&this.throwUnexpectedToken();!this.eof()&&(e=this.source[this.index++],i.Character.isHexDigit(e.charCodeAt(0)));)t=16*t+a(e);return(t>1114111||\"}\"!==e)&&this.throwUnexpectedToken(),i.Character.fromCodePoint(t)},e.prototype.getIdentifier=function(){for(var e=this.index++;!this.eof();){var t=this.source.charCodeAt(this.index);if(92===t)return this.index=e,this.getComplexIdentifier();if(t>=55296&&t<57343)return this.index=e,this.getComplexIdentifier();if(!i.Character.isIdentifierPart(t))break;++this.index}return this.source.slice(e,this.index)},e.prototype.getComplexIdentifier=function(){var e,t=this.codePointAt(this.index),n=i.Character.fromCodePoint(t);for(this.index+=n.length,92===t&&(117!==this.source.charCodeAt(this.index)&&this.throwUnexpectedToken(),++this.index,\"{\"===this.source[this.index]?(++this.index,e=this.scanUnicodeCodePointEscape()):null!==(e=this.scanHexEscape(\"u\"))&&\"\\\\\"!==e&&i.Character.isIdentifierStart(e.charCodeAt(0))||this.throwUnexpectedToken(),n=e);!this.eof()&&(t=this.codePointAt(this.index),i.Character.isIdentifierPart(t));)n+=e=i.Character.fromCodePoint(t),this.index+=e.length,92===t&&(n=n.substr(0,n.length-1),117!==this.source.charCodeAt(this.index)&&this.throwUnexpectedToken(),++this.index,\"{\"===this.source[this.index]?(++this.index,e=this.scanUnicodeCodePointEscape()):null!==(e=this.scanHexEscape(\"u\"))&&\"\\\\\"!==e&&i.Character.isIdentifierPart(e.charCodeAt(0))||this.throwUnexpectedToken(),n+=e);return n},e.prototype.octalToDecimal=function(e){var t=\"0\"!==e,n=s(e);return!this.eof()&&i.Character.isOctalDigit(this.source.charCodeAt(this.index))&&(t=!0,n=8*n+s(this.source[this.index++]),\"0123\".indexOf(e)>=0&&!this.eof()&&i.Character.isOctalDigit(this.source.charCodeAt(this.index))&&(n=8*n+s(this.source[this.index++]))),{code:n,octal:t}},e.prototype.scanIdentifier=function(){var e,t=this.index,n=92===this.source.charCodeAt(t)?this.getComplexIdentifier():this.getIdentifier();if(3!=(e=1===n.length?3:this.isKeyword(n)?4:\"null\"===n?5:\"true\"===n||\"false\"===n?1:3)&&t+n.length!==this.index){var r=this.index;this.index=t,this.tolerateUnexpectedToken(o.Messages.InvalidEscapedReservedWord),this.index=r}return{type:e,value:n,lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}},e.prototype.scanPunctuator=function(){var e=this.index,t=this.source[this.index];switch(t){case\"(\":case\"{\":\"{\"===t&&this.curlyStack.push(\"{\"),++this.index;break;case\".\":++this.index,\".\"===this.source[this.index]&&\".\"===this.source[this.index+1]&&(this.index+=2,t=\"...\");break;case\"}\":++this.index,this.curlyStack.pop();break;case\")\":case\";\":case\",\":case\"[\":case\"]\":case\":\":case\"?\":case\"~\":++this.index;break;default:\">>>=\"===(t=this.source.substr(this.index,4))?this.index+=4:\"===\"===(t=t.substr(0,3))||\"!==\"===t||\">>>\"===t||\"<<=\"===t||\">>=\"===t||\"**=\"===t?this.index+=3:\"&&\"===(t=t.substr(0,2))||\"||\"===t||\"==\"===t||\"!=\"===t||\"+=\"===t||\"-=\"===t||\"*=\"===t||\"/=\"===t||\"++\"===t||\"--\"===t||\"<<\"===t||\">>\"===t||\"&=\"===t||\"|=\"===t||\"^=\"===t||\"%=\"===t||\"<=\"===t||\">=\"===t||\"=>\"===t||\"**\"===t?this.index+=2:(t=this.source[this.index],\"<>=!+-*%&|^/\".indexOf(t)>=0&&++this.index)}return this.index===e&&this.throwUnexpectedToken(),{type:7,value:t,lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanHexLiteral=function(e){for(var t=\"\";!this.eof()&&i.Character.isHexDigit(this.source.charCodeAt(this.index));)t+=this.source[this.index++];return 0===t.length&&this.throwUnexpectedToken(),i.Character.isIdentifierStart(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(),{type:6,value:parseInt(\"0x\"+t,16),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanBinaryLiteral=function(e){for(var t,n=\"\";!this.eof()&&(\"0\"===(t=this.source[this.index])||\"1\"===t);)n+=this.source[this.index++];return 0===n.length&&this.throwUnexpectedToken(),this.eof()||(t=this.source.charCodeAt(this.index),(i.Character.isIdentifierStart(t)||i.Character.isDecimalDigit(t))&&this.throwUnexpectedToken()),{type:6,value:parseInt(n,2),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanOctalLiteral=function(e,t){var n=\"\",r=!1;for(i.Character.isOctalDigit(e.charCodeAt(0))?(r=!0,n=\"0\"+this.source[this.index++]):++this.index;!this.eof()&&i.Character.isOctalDigit(this.source.charCodeAt(this.index));)n+=this.source[this.index++];return r||0!==n.length||this.throwUnexpectedToken(),(i.Character.isIdentifierStart(this.source.charCodeAt(this.index))||i.Character.isDecimalDigit(this.source.charCodeAt(this.index)))&&this.throwUnexpectedToken(),{type:6,value:parseInt(n,8),octal:r,lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}},e.prototype.isImplicitOctalLiteral=function(){for(var e=this.index+1;e<this.length;++e){var t=this.source[e];if(\"8\"===t||\"9\"===t)return!1;if(!i.Character.isOctalDigit(t.charCodeAt(0)))return!0}return!0},e.prototype.scanNumericLiteral=function(){var e=this.index,t=this.source[e];r.assert(i.Character.isDecimalDigit(t.charCodeAt(0))||\".\"===t,\"Numeric literal must start with a decimal digit or a decimal point\");var n=\"\";if(\".\"!==t){if(n=this.source[this.index++],t=this.source[this.index],\"0\"===n){if(\"x\"===t||\"X\"===t)return++this.index,this.scanHexLiteral(e);if(\"b\"===t||\"B\"===t)return++this.index,this.scanBinaryLiteral(e);if(\"o\"===t||\"O\"===t)return this.scanOctalLiteral(t,e);if(t&&i.Character.isOctalDigit(t.charCodeAt(0))&&this.isImplicitOctalLiteral())return this.scanOctalLiteral(t,e)}for(;i.Character.isDecimalDigit(this.source.charCodeAt(this.index));)n+=this.source[this.index++];t=this.source[this.index]}if(\".\"===t){for(n+=this.source[this.index++];i.Character.isDecimalDigit(this.source.charCodeAt(this.index));)n+=this.source[this.index++];t=this.source[this.index]}if(\"e\"===t||\"E\"===t)if(n+=this.source[this.index++],\"+\"!==(t=this.source[this.index])&&\"-\"!==t||(n+=this.source[this.index++]),i.Character.isDecimalDigit(this.source.charCodeAt(this.index)))for(;i.Character.isDecimalDigit(this.source.charCodeAt(this.index));)n+=this.source[this.index++];else this.throwUnexpectedToken();return i.Character.isIdentifierStart(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(),{type:6,value:parseFloat(n),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanStringLiteral=function(){var e=this.index,t=this.source[e];r.assert(\"'\"===t||'\"'===t,\"String literal must starts with a quote\"),++this.index;for(var n=!1,a=\"\";!this.eof();){var s=this.source[this.index++];if(s===t){t=\"\";break}if(\"\\\\\"===s)if((s=this.source[this.index++])&&i.Character.isLineTerminator(s.charCodeAt(0)))++this.lineNumber,\"\\r\"===s&&\"\\n\"===this.source[this.index]&&++this.index,this.lineStart=this.index;else switch(s){case\"u\":if(\"{\"===this.source[this.index])++this.index,a+=this.scanUnicodeCodePointEscape();else{var u=this.scanHexEscape(s);null===u&&this.throwUnexpectedToken(),a+=u}break;case\"x\":var c=this.scanHexEscape(s);null===c&&this.throwUnexpectedToken(o.Messages.InvalidHexEscapeSequence),a+=c;break;case\"n\":a+=\"\\n\";break;case\"r\":a+=\"\\r\";break;case\"t\":a+=\"\\t\";break;case\"b\":a+=\"\\b\";break;case\"f\":a+=\"\\f\";break;case\"v\":a+=\"\\v\";break;case\"8\":case\"9\":a+=s,this.tolerateUnexpectedToken();break;default:if(s&&i.Character.isOctalDigit(s.charCodeAt(0))){var l=this.octalToDecimal(s);n=l.octal||n,a+=String.fromCharCode(l.code)}else a+=s}else{if(i.Character.isLineTerminator(s.charCodeAt(0)))break;a+=s}}return\"\"!==t&&(this.index=e,this.throwUnexpectedToken()),{type:8,value:a,octal:n,lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanTemplate=function(){var e=\"\",t=!1,n=this.index,r=\"`\"===this.source[n],a=!1,s=2;for(++this.index;!this.eof();){var u=this.source[this.index++];if(\"`\"===u){s=1,a=!0,t=!0;break}if(\"$\"===u){if(\"{\"===this.source[this.index]){this.curlyStack.push(\"${\"),++this.index,t=!0;break}e+=u}else if(\"\\\\\"===u)if(u=this.source[this.index++],i.Character.isLineTerminator(u.charCodeAt(0)))++this.lineNumber,\"\\r\"===u&&\"\\n\"===this.source[this.index]&&++this.index,this.lineStart=this.index;else switch(u){case\"n\":e+=\"\\n\";break;case\"r\":e+=\"\\r\";break;case\"t\":e+=\"\\t\";break;case\"u\":if(\"{\"===this.source[this.index])++this.index,e+=this.scanUnicodeCodePointEscape();else{var c=this.index,l=this.scanHexEscape(u);null!==l?e+=l:(this.index=c,e+=u)}break;case\"x\":var p=this.scanHexEscape(u);null===p&&this.throwUnexpectedToken(o.Messages.InvalidHexEscapeSequence),e+=p;break;case\"b\":e+=\"\\b\";break;case\"f\":e+=\"\\f\";break;case\"v\":e+=\"\\v\";break;default:\"0\"===u?(i.Character.isDecimalDigit(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(o.Messages.TemplateOctalLiteral),e+=\"\\0\"):i.Character.isOctalDigit(u.charCodeAt(0))?this.throwUnexpectedToken(o.Messages.TemplateOctalLiteral):e+=u}else i.Character.isLineTerminator(u.charCodeAt(0))?(++this.lineNumber,\"\\r\"===u&&\"\\n\"===this.source[this.index]&&++this.index,this.lineStart=this.index,e+=\"\\n\"):e+=u}return t||this.throwUnexpectedToken(),r||this.curlyStack.pop(),{type:10,value:this.source.slice(n+1,this.index-s),cooked:e,head:r,tail:a,lineNumber:this.lineNumber,lineStart:this.lineStart,start:n,end:this.index}},e.prototype.testRegExp=function(e,t){var n=e,r=this;t.indexOf(\"u\")>=0&&(n=n.replace(/\\\\u\\{([0-9a-fA-F]+)\\}|\\\\u([a-fA-F0-9]{4})/g,(function(e,t,n){var i=parseInt(t||n,16);return i>1114111&&r.throwUnexpectedToken(o.Messages.InvalidRegExp),i<=65535?String.fromCharCode(i):\"￿\"})).replace(/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g,\"￿\"));try{RegExp(n)}catch(e){this.throwUnexpectedToken(o.Messages.InvalidRegExp)}try{return new RegExp(e,t)}catch(e){return null}},e.prototype.scanRegExpBody=function(){var e=this.source[this.index];r.assert(\"/\"===e,\"Regular expression literal must start with a slash\");for(var t=this.source[this.index++],n=!1,a=!1;!this.eof();)if(t+=e=this.source[this.index++],\"\\\\\"===e)e=this.source[this.index++],i.Character.isLineTerminator(e.charCodeAt(0))&&this.throwUnexpectedToken(o.Messages.UnterminatedRegExp),t+=e;else if(i.Character.isLineTerminator(e.charCodeAt(0)))this.throwUnexpectedToken(o.Messages.UnterminatedRegExp);else if(n)\"]\"===e&&(n=!1);else{if(\"/\"===e){a=!0;break}\"[\"===e&&(n=!0)}return a||this.throwUnexpectedToken(o.Messages.UnterminatedRegExp),t.substr(1,t.length-2)},e.prototype.scanRegExpFlags=function(){for(var e=\"\";!this.eof();){var t=this.source[this.index];if(!i.Character.isIdentifierPart(t.charCodeAt(0)))break;if(++this.index,\"\\\\\"!==t||this.eof())e+=t;else if(\"u\"===(t=this.source[this.index])){++this.index;var n=this.index,r=this.scanHexEscape(\"u\");if(null!==r)for(e+=r;n<this.index;++n)this.source[n];else this.index=n,e+=\"u\";this.tolerateUnexpectedToken()}else this.tolerateUnexpectedToken()}return e},e.prototype.scanRegExp=function(){var e=this.index,t=this.scanRegExpBody(),n=this.scanRegExpFlags();return{type:9,value:\"\",pattern:t,flags:n,regex:this.testRegExp(t,n),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.lex=function(){if(this.eof())return{type:2,value:\"\",lineNumber:this.lineNumber,lineStart:this.lineStart,start:this.index,end:this.index};var e=this.source.charCodeAt(this.index);return i.Character.isIdentifierStart(e)?this.scanIdentifier():40===e||41===e||59===e?this.scanPunctuator():39===e||34===e?this.scanStringLiteral():46===e?i.Character.isDecimalDigit(this.source.charCodeAt(this.index+1))?this.scanNumericLiteral():this.scanPunctuator():i.Character.isDecimalDigit(e)?this.scanNumericLiteral():96===e||125===e&&\"${\"===this.curlyStack[this.curlyStack.length-1]?this.scanTemplate():e>=55296&&e<57343&&i.Character.isIdentifierStart(this.codePointAt(this.index))?this.scanIdentifier():this.scanPunctuator()},e}();t.Scanner=u},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.TokenName={},t.TokenName[1]=\"Boolean\",t.TokenName[2]=\"<end>\",t.TokenName[3]=\"Identifier\",t.TokenName[4]=\"Keyword\",t.TokenName[5]=\"Null\",t.TokenName[6]=\"Numeric\",t.TokenName[7]=\"Punctuator\",t.TokenName[8]=\"String\",t.TokenName[9]=\"RegularExpression\",t.TokenName[10]=\"Template\"},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.XHTMLEntities={quot:'\"',amp:\"&\",apos:\"'\",gt:\">\",nbsp:\" \",iexcl:\"¡\",cent:\"¢\",pound:\"£\",curren:\"¤\",yen:\"¥\",brvbar:\"¦\",sect:\"§\",uml:\"¨\",copy:\"©\",ordf:\"ª\",laquo:\"«\",not:\"¬\",shy:\"­\",reg:\"®\",macr:\"¯\",deg:\"°\",plusmn:\"±\",sup2:\"²\",sup3:\"³\",acute:\"´\",micro:\"µ\",para:\"¶\",middot:\"·\",cedil:\"¸\",sup1:\"¹\",ordm:\"º\",raquo:\"»\",frac14:\"¼\",frac12:\"½\",frac34:\"¾\",iquest:\"¿\",Agrave:\"À\",Aacute:\"Á\",Acirc:\"Â\",Atilde:\"Ã\",Auml:\"Ä\",Aring:\"Å\",AElig:\"Æ\",Ccedil:\"Ç\",Egrave:\"È\",Eacute:\"É\",Ecirc:\"Ê\",Euml:\"Ë\",Igrave:\"Ì\",Iacute:\"Í\",Icirc:\"Î\",Iuml:\"Ï\",ETH:\"Ð\",Ntilde:\"Ñ\",Ograve:\"Ò\",Oacute:\"Ó\",Ocirc:\"Ô\",Otilde:\"Õ\",Ouml:\"Ö\",times:\"×\",Oslash:\"Ø\",Ugrave:\"Ù\",Uacute:\"Ú\",Ucirc:\"Û\",Uuml:\"Ü\",Yacute:\"Ý\",THORN:\"Þ\",szlig:\"ß\",agrave:\"à\",aacute:\"á\",acirc:\"â\",atilde:\"ã\",auml:\"ä\",aring:\"å\",aelig:\"æ\",ccedil:\"ç\",egrave:\"è\",eacute:\"é\",ecirc:\"ê\",euml:\"ë\",igrave:\"ì\",iacute:\"í\",icirc:\"î\",iuml:\"ï\",eth:\"ð\",ntilde:\"ñ\",ograve:\"ò\",oacute:\"ó\",ocirc:\"ô\",otilde:\"õ\",ouml:\"ö\",divide:\"÷\",oslash:\"ø\",ugrave:\"ù\",uacute:\"ú\",ucirc:\"û\",uuml:\"ü\",yacute:\"ý\",thorn:\"þ\",yuml:\"ÿ\",OElig:\"Œ\",oelig:\"œ\",Scaron:\"Š\",scaron:\"š\",Yuml:\"Ÿ\",fnof:\"ƒ\",circ:\"ˆ\",tilde:\"˜\",Alpha:\"Α\",Beta:\"Β\",Gamma:\"Γ\",Delta:\"Δ\",Epsilon:\"Ε\",Zeta:\"Ζ\",Eta:\"Η\",Theta:\"Θ\",Iota:\"Ι\",Kappa:\"Κ\",Lambda:\"Λ\",Mu:\"Μ\",Nu:\"Ν\",Xi:\"Ξ\",Omicron:\"Ο\",Pi:\"Π\",Rho:\"Ρ\",Sigma:\"Σ\",Tau:\"Τ\",Upsilon:\"Υ\",Phi:\"Φ\",Chi:\"Χ\",Psi:\"Ψ\",Omega:\"Ω\",alpha:\"α\",beta:\"β\",gamma:\"γ\",delta:\"δ\",epsilon:\"ε\",zeta:\"ζ\",eta:\"η\",theta:\"θ\",iota:\"ι\",kappa:\"κ\",lambda:\"λ\",mu:\"μ\",nu:\"ν\",xi:\"ξ\",omicron:\"ο\",pi:\"π\",rho:\"ρ\",sigmaf:\"ς\",sigma:\"σ\",tau:\"τ\",upsilon:\"υ\",phi:\"φ\",chi:\"χ\",psi:\"ψ\",omega:\"ω\",thetasym:\"ϑ\",upsih:\"ϒ\",piv:\"ϖ\",ensp:\" \",emsp:\" \",thinsp:\" \",zwnj:\"‌\",zwj:\"‍\",lrm:\"‎\",rlm:\"‏\",ndash:\"–\",mdash:\"—\",lsquo:\"‘\",rsquo:\"’\",sbquo:\"‚\",ldquo:\"“\",rdquo:\"”\",bdquo:\"„\",dagger:\"†\",Dagger:\"‡\",bull:\"•\",hellip:\"…\",permil:\"‰\",prime:\"′\",Prime:\"″\",lsaquo:\"‹\",rsaquo:\"›\",oline:\"‾\",frasl:\"⁄\",euro:\"€\",image:\"ℑ\",weierp:\"℘\",real:\"ℜ\",trade:\"™\",alefsym:\"ℵ\",larr:\"←\",uarr:\"↑\",rarr:\"→\",darr:\"↓\",harr:\"↔\",crarr:\"↵\",lArr:\"⇐\",uArr:\"⇑\",rArr:\"⇒\",dArr:\"⇓\",hArr:\"⇔\",forall:\"∀\",part:\"∂\",exist:\"∃\",empty:\"∅\",nabla:\"∇\",isin:\"∈\",notin:\"∉\",ni:\"∋\",prod:\"∏\",sum:\"∑\",minus:\"−\",lowast:\"∗\",radic:\"√\",prop:\"∝\",infin:\"∞\",ang:\"∠\",and:\"∧\",or:\"∨\",cap:\"∩\",cup:\"∪\",int:\"∫\",there4:\"∴\",sim:\"∼\",cong:\"≅\",asymp:\"≈\",ne:\"≠\",equiv:\"≡\",le:\"≤\",ge:\"≥\",sub:\"⊂\",sup:\"⊃\",nsub:\"⊄\",sube:\"⊆\",supe:\"⊇\",oplus:\"⊕\",otimes:\"⊗\",perp:\"⊥\",sdot:\"⋅\",lceil:\"⌈\",rceil:\"⌉\",lfloor:\"⌊\",rfloor:\"⌋\",loz:\"◊\",spades:\"♠\",clubs:\"♣\",hearts:\"♥\",diams:\"♦\",lang:\"⟨\",rang:\"⟩\"}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(10),i=n(12),o=n(13),a=function(){function e(){this.values=[],this.curly=this.paren=-1}return e.prototype.beforeFunctionExpression=function(e){return[\"(\",\"{\",\"[\",\"in\",\"typeof\",\"instanceof\",\"new\",\"return\",\"case\",\"delete\",\"throw\",\"void\",\"=\",\"+=\",\"-=\",\"*=\",\"**=\",\"/=\",\"%=\",\"<<=\",\">>=\",\">>>=\",\"&=\",\"|=\",\"^=\",\",\",\"+\",\"-\",\"*\",\"**\",\"/\",\"%\",\"++\",\"--\",\"<<\",\">>\",\">>>\",\"&\",\"|\",\"^\",\"!\",\"~\",\"&&\",\"||\",\"?\",\":\",\"===\",\"==\",\">=\",\"<=\",\"<\",\">\",\"!=\",\"!==\"].indexOf(e)>=0},e.prototype.isRegexStart=function(){var e=this.values[this.values.length-1],t=null!==e;switch(e){case\"this\":case\"]\":t=!1;break;case\")\":var n=this.values[this.paren-1];t=\"if\"===n||\"while\"===n||\"for\"===n||\"with\"===n;break;case\"}\":if(t=!1,\"function\"===this.values[this.curly-3])t=!!(r=this.values[this.curly-4])&&!this.beforeFunctionExpression(r);else if(\"function\"===this.values[this.curly-4]){var r;t=!(r=this.values[this.curly-5])||!this.beforeFunctionExpression(r)}}return t},e.prototype.push=function(e){7===e.type||4===e.type?(\"{\"===e.value?this.curly=this.values.length:\"(\"===e.value&&(this.paren=this.values.length),this.values.push(e.value)):this.values.push(null)},e}(),s=function(){function e(e,t){this.errorHandler=new r.ErrorHandler,this.errorHandler.tolerant=!!t&&\"boolean\"==typeof t.tolerant&&t.tolerant,this.scanner=new i.Scanner(e,this.errorHandler),this.scanner.trackComment=!!t&&\"boolean\"==typeof t.comment&&t.comment,this.trackRange=!!t&&\"boolean\"==typeof t.range&&t.range,this.trackLoc=!!t&&\"boolean\"==typeof t.loc&&t.loc,this.buffer=[],this.reader=new a}return e.prototype.errors=function(){return this.errorHandler.errors},e.prototype.getNextToken=function(){if(0===this.buffer.length){var e=this.scanner.scanComments();if(this.scanner.trackComment)for(var t=0;t<e.length;++t){var n=e[t],r=this.scanner.source.slice(n.slice[0],n.slice[1]),i={type:n.multiLine?\"BlockComment\":\"LineComment\",value:r};this.trackRange&&(i.range=n.range),this.trackLoc&&(i.loc=n.loc),this.buffer.push(i)}if(!this.scanner.eof()){var a=void 0;this.trackLoc&&(a={start:{line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart},end:{}});var s=\"/\"===this.scanner.source[this.scanner.index]&&this.reader.isRegexStart()?this.scanner.scanRegExp():this.scanner.lex();this.reader.push(s);var u={type:o.TokenName[s.type],value:this.scanner.source.slice(s.start,s.end)};if(this.trackRange&&(u.range=[s.start,s.end]),this.trackLoc&&(a.end={line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart},u.loc=a),9===s.type){var c=s.pattern,l=s.flags;u.regex={pattern:c,flags:l}}this.buffer.push(u)}}return this.buffer.shift()},e}();t.Tokenizer=s}])},e.exports=r()},function(e,t,n){\"use strict\";var r=n(78),i=n(93),o=n(110),a=n(94),s=Object.prototype.toString,u=Object.prototype.hasOwnProperty,c={0:\"\\\\0\",7:\"\\\\a\",8:\"\\\\b\",9:\"\\\\t\",10:\"\\\\n\",11:\"\\\\v\",12:\"\\\\f\",13:\"\\\\r\",27:\"\\\\e\",34:'\\\\\"',92:\"\\\\\\\\\",133:\"\\\\N\",160:\"\\\\_\",8232:\"\\\\L\",8233:\"\\\\P\"},l=[\"y\",\"Y\",\"yes\",\"Yes\",\"YES\",\"on\",\"On\",\"ON\",\"n\",\"N\",\"no\",\"No\",\"NO\",\"off\",\"Off\",\"OFF\"];function p(e){var t,n,o;if(t=e.toString(16).toUpperCase(),e<=255)n=\"x\",o=2;else if(e<=65535)n=\"u\",o=4;else{if(!(e<=4294967295))throw new i(\"code point within a string may not be greater than 0xFFFFFFFF\");n=\"U\",o=8}return\"\\\\\"+n+r.repeat(\"0\",o-t.length)+t}function f(e){this.schema=e.schema||o,this.indent=Math.max(1,e.indent||2),this.noArrayIndent=e.noArrayIndent||!1,this.skipInvalid=e.skipInvalid||!1,this.flowLevel=r.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=function(e,t){var n,r,i,o,a,s,c;if(null===t)return{};for(n={},i=0,o=(r=Object.keys(t)).length;i<o;i+=1)a=r[i],s=String(t[a]),\"!!\"===a.slice(0,2)&&(a=\"tag:yaml.org,2002:\"+a.slice(2)),(c=e.compiledTypeMap.fallback[a])&&u.call(c.styleAliases,s)&&(s=c.styleAliases[s]),n[a]=s;return n}(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.condenseFlow=e.condenseFlow||!1,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result=\"\",this.duplicates=[],this.usedDuplicates=null}function d(e,t){for(var n,i=r.repeat(\" \",t),o=0,a=-1,s=\"\",u=e.length;o<u;)-1===(a=e.indexOf(\"\\n\",o))?(n=e.slice(o),o=u):(n=e.slice(o,a+1),o=a+1),n.length&&\"\\n\"!==n&&(s+=i),s+=n;return s}function h(e,t){return\"\\n\"+r.repeat(\" \",e.indent*t)}function m(e){return 32===e||9===e}function g(e){return 32<=e&&e<=126||161<=e&&e<=55295&&8232!==e&&8233!==e||57344<=e&&e<=65533&&65279!==e||65536<=e&&e<=1114111}function y(e){return g(e)&&65279!==e&&44!==e&&91!==e&&93!==e&&123!==e&&125!==e&&58!==e&&35!==e}function v(e){return/^\\n* /.test(e)}function b(e,t,n,r,i){var o,a,s,u=!1,c=!1,l=-1!==r,p=-1,f=g(s=e.charCodeAt(0))&&65279!==s&&!m(s)&&45!==s&&63!==s&&58!==s&&44!==s&&91!==s&&93!==s&&123!==s&&125!==s&&35!==s&&38!==s&&42!==s&&33!==s&&124!==s&&62!==s&&39!==s&&34!==s&&37!==s&&64!==s&&96!==s&&!m(e.charCodeAt(e.length-1));if(t)for(o=0;o<e.length;o++){if(!g(a=e.charCodeAt(o)))return 5;f=f&&y(a)}else{for(o=0;o<e.length;o++){if(10===(a=e.charCodeAt(o)))u=!0,l&&(c=c||o-p-1>r&&\" \"!==e[p+1],p=o);else if(!g(a))return 5;f=f&&y(a)}c=c||l&&o-p-1>r&&\" \"!==e[p+1]}return u||c?n>9&&v(e)?5:c?4:3:f&&!i(e)?1:2}function E(e,t,n,r){e.dump=function(){if(0===t.length)return\"''\";if(!e.noCompatMode&&-1!==l.indexOf(t))return\"'\"+t+\"'\";var o=e.indent*Math.max(1,n),a=-1===e.lineWidth?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-o),s=r||e.flowLevel>-1&&n>=e.flowLevel;switch(b(t,s,e.indent,a,(function(t){return function(e,t){var n,r;for(n=0,r=e.implicitTypes.length;n<r;n+=1)if(e.implicitTypes[n].resolve(t))return!0;return!1}(e,t)}))){case 1:return t;case 2:return\"'\"+t.replace(/'/g,\"''\")+\"'\";case 3:return\"|\"+x(t,e.indent)+D(d(t,o));case 4:return\">\"+x(t,e.indent)+D(d(function(e,t){var n,r,i=/(\\n+)([^\\n]*)/g,o=(s=e.indexOf(\"\\n\"),s=-1!==s?s:e.length,i.lastIndex=s,C(e.slice(0,s),t)),a=\"\\n\"===e[0]||\" \"===e[0];var s;for(;r=i.exec(e);){var u=r[1],c=r[2];n=\" \"===c[0],o+=u+(a||n||\"\"===c?\"\":\"\\n\")+C(c,t),a=n}return o}(t,a),o));case 5:return'\"'+function(e){for(var t,n,r,i=\"\",o=0;o<e.length;o++)(t=e.charCodeAt(o))>=55296&&t<=56319&&(n=e.charCodeAt(o+1))>=56320&&n<=57343?(i+=p(1024*(t-55296)+n-56320+65536),o++):(r=c[t],i+=!r&&g(t)?e[o]:r||p(t));return i}(t)+'\"';default:throw new i(\"impossible error: invalid scalar style\")}}()}function x(e,t){var n=v(e)?String(t):\"\",r=\"\\n\"===e[e.length-1];return n+(r&&(\"\\n\"===e[e.length-2]||\"\\n\"===e)?\"+\":r?\"\":\"-\")+\"\\n\"}function D(e){return\"\\n\"===e[e.length-1]?e.slice(0,-1):e}function C(e,t){if(\"\"===e||\" \"===e[0])return e;for(var n,r,i=/ [^ ]/g,o=0,a=0,s=0,u=\"\";n=i.exec(e);)(s=n.index)-o>t&&(r=a>o?a:s,u+=\"\\n\"+e.slice(o,r),o=r+1),a=s;return u+=\"\\n\",e.length-o>t&&a>o?u+=e.slice(o,a)+\"\\n\"+e.slice(a+1):u+=e.slice(o),u.slice(1)}function w(e,t,n){var r,o,a,c,l,p;for(a=0,c=(o=n?e.explicitTypes:e.implicitTypes).length;a<c;a+=1)if(((l=o[a]).instanceOf||l.predicate)&&(!l.instanceOf||\"object\"==typeof t&&t instanceof l.instanceOf)&&(!l.predicate||l.predicate(t))){if(e.tag=n?l.tag:\"?\",l.represent){if(p=e.styleMap[l.tag]||l.defaultStyle,\"[object Function]\"===s.call(l.represent))r=l.represent(t,p);else{if(!u.call(l.represent,p))throw new i(\"!<\"+l.tag+'> tag resolver accepts not \"'+p+'\" style');r=l.represent[p](t,p)}e.dump=r}return!0}return!1}function S(e,t,n,r,o,a){e.tag=null,e.dump=n,w(e,n,!1)||w(e,n,!0);var u=s.call(e.dump);r&&(r=e.flowLevel<0||e.flowLevel>t);var c,l,p=\"[object Object]\"===u||\"[object Array]\"===u;if(p&&(l=-1!==(c=e.duplicates.indexOf(n))),(null!==e.tag&&\"?\"!==e.tag||l||2!==e.indent&&t>0)&&(o=!1),l&&e.usedDuplicates[c])e.dump=\"*ref_\"+c;else{if(p&&l&&!e.usedDuplicates[c]&&(e.usedDuplicates[c]=!0),\"[object Object]\"===u)r&&0!==Object.keys(e.dump).length?(!function(e,t,n,r){var o,a,s,u,c,l,p=\"\",f=e.tag,d=Object.keys(n);if(!0===e.sortKeys)d.sort();else if(\"function\"==typeof e.sortKeys)d.sort(e.sortKeys);else if(e.sortKeys)throw new i(\"sortKeys must be a boolean or a function\");for(o=0,a=d.length;o<a;o+=1)l=\"\",r&&0===o||(l+=h(e,t)),u=n[s=d[o]],S(e,t+1,s,!0,!0,!0)&&((c=null!==e.tag&&\"?\"!==e.tag||e.dump&&e.dump.length>1024)&&(e.dump&&10===e.dump.charCodeAt(0)?l+=\"?\":l+=\"? \"),l+=e.dump,c&&(l+=h(e,t)),S(e,t+1,u,!0,c)&&(e.dump&&10===e.dump.charCodeAt(0)?l+=\":\":l+=\": \",p+=l+=e.dump));e.tag=f,e.dump=p||\"{}\"}(e,t,e.dump,o),l&&(e.dump=\"&ref_\"+c+e.dump)):(!function(e,t,n){var r,i,o,a,s,u=\"\",c=e.tag,l=Object.keys(n);for(r=0,i=l.length;r<i;r+=1)s=e.condenseFlow?'\"':\"\",0!==r&&(s+=\", \"),a=n[o=l[r]],S(e,t,o,!1,!1)&&(e.dump.length>1024&&(s+=\"? \"),s+=e.dump+(e.condenseFlow?'\"':\"\")+\":\"+(e.condenseFlow?\"\":\" \"),S(e,t,a,!1,!1)&&(u+=s+=e.dump));e.tag=c,e.dump=\"{\"+u+\"}\"}(e,t,e.dump),l&&(e.dump=\"&ref_\"+c+\" \"+e.dump));else if(\"[object Array]\"===u){var f=e.noArrayIndent&&t>0?t-1:t;r&&0!==e.dump.length?(!function(e,t,n,r){var i,o,a=\"\",s=e.tag;for(i=0,o=n.length;i<o;i+=1)S(e,t+1,n[i],!0,!0)&&(r&&0===i||(a+=h(e,t)),e.dump&&10===e.dump.charCodeAt(0)?a+=\"-\":a+=\"- \",a+=e.dump);e.tag=s,e.dump=a||\"[]\"}(e,f,e.dump,o),l&&(e.dump=\"&ref_\"+c+e.dump)):(!function(e,t,n){var r,i,o=\"\",a=e.tag;for(r=0,i=n.length;r<i;r+=1)S(e,t,n[r],!1,!1)&&(0!==r&&(o+=\",\"+(e.condenseFlow?\"\":\" \")),o+=e.dump);e.tag=a,e.dump=\"[\"+o+\"]\"}(e,f,e.dump),l&&(e.dump=\"&ref_\"+c+\" \"+e.dump))}else{if(\"[object String]\"!==u){if(e.skipInvalid)return!1;throw new i(\"unacceptable kind of an object to dump \"+u)}\"?\"!==e.tag&&E(e,e.dump,t,a)}null!==e.tag&&\"?\"!==e.tag&&(e.dump=\"!<\"+e.tag+\"> \"+e.dump)}return!0}function k(e,t){var n,r,i=[],o=[];for(function e(t,n,r){var i,o,a;if(null!==t&&\"object\"==typeof t)if(-1!==(o=n.indexOf(t)))-1===r.indexOf(o)&&r.push(o);else if(n.push(t),Array.isArray(t))for(o=0,a=t.length;o<a;o+=1)e(t[o],n,r);else for(i=Object.keys(t),o=0,a=i.length;o<a;o+=1)e(t[i[o]],n,r)}(e,i,o),n=0,r=o.length;n<r;n+=1)t.duplicates.push(i[o[n]]);t.usedDuplicates=new Array(r)}function A(e,t){var n=new f(t=t||{});return n.noRefs||k(e,n),S(n,0,e,!0,!0)?n.dump+\"\\n\":\"\"}e.exports.dump=A,e.exports.safeDump=function(e,t){return A(e,r.extend({schema:a},t))}},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(3),s=n(521),u=n(52),c=n(11),l=n(133),p=n(28),f=n(30),d=n(42),h=n(208),m=n(38),g=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.render=function(){var e=this,t=this.props,n=t.config,r=t.folderName,i=t.onNewWorkspace,o=t.isElectron,s=n.extensions&&n.extensions.endpoints,c=n.projects;return a.createElement(k,null,a.createElement(A,{isElectron:o},a.createElement(_,null,a.createElement(T,null,r),a.createElement(u.SettingsIcon,{width:18,height:18,onClick:this.props.openConfigTab,title:\"Project settings\"})),s&&this.renderEndpoints(s),c&&Object.keys(c).map((function(t){var n=c[t],r=n.extensions&&n.extensions.endpoints;return r?a.createElement(O,{key:t},a.createElement(F,null,t),e.renderEndpoints(r,t)):null}))),o&&a.createElement(N,null,a.createElement(I,{onClick:i},a.createElement(u.AddFullIcon,{width:14,height:14,strokeWidth:6}),\"NEW WORKSPACE\")))},t.prototype.renderEndpoints=function(e,t){var n=this;return Object.keys(e).map((function(r){var i=l.getEndpointFromEndpointConfig(e[r]).endpoint,o=n.props.counts.get(h.getWorkspaceId({endpoint:i,configPath:n.props.configPath,workspaceName:t}))||1;return a.createElement(s.default,{key:r,env:r,onSelectEnv:n.props.onSelectEnv,activeEnv:n.props.activeEnv,count:o,deep:Boolean(t),projectName:t,activeProjectName:n.props.activeProjectName})}))},t}(a.Component),y=p.createStructuredSelector({counts:d.getSessionCounts});t.default=f.connect(y,{openConfigTab:m.openConfigTab})(g);var v,b,E,x,D,C,w,S,k=c.styled.div(v||(v=o([\"\\n  display: flex;\\n  flex-direction: column;\\n  justify-content: space-between;\\n  background: \",\";\\n  flex-basis: 222px;\\n  color: \",\";\\n  border-right: 6px solid \",\";\\n\"],[\"\\n  display: flex;\\n  flex-direction: column;\\n  justify-content: space-between;\\n  background: \",\";\\n  flex-basis: 222px;\\n  color: \",\";\\n  border-right: 6px solid \",\";\\n\"])),(function(e){return e.theme.editorColours.sidebar}),(function(e){return e.theme.editorColours.text}),(function(e){return e.theme.editorColours.background})),A=c.styled.div(b||(b=o([\"\\n  -webkit-app-region: drag;\\n  padding-top: \",\"px;\\n  display: flex;\\n  flex-direction: column;\\n  background: \",\";\\n\"],[\"\\n  -webkit-app-region: drag;\\n  padding-top: \",\"px;\\n  display: flex;\\n  flex-direction: column;\\n  background: \",\";\\n\"])),(function(e){return e.isElectron?48:20}),(function(e){return e.theme.editorColours.sidebarTop})),T=c.styled.div(E||(E=o([\"\\n  font-size: 16px;\\n  font-weight: 600;\\n  color: \",\";\\n  word-break: break-word;\\n\"],[\"\\n  font-size: 16px;\\n  font-weight: 600;\\n  color: \",\";\\n  word-break: break-word;\\n\"])),(function(e){return e.theme.editorColours.text})),_=c.styled.div(x||(x=o([\"\\n  display: flex;\\n  align-items: center;\\n  justify-content: space-evenly;\\n  margin: 0 15px 20px 15px;\\n  svg {\\n    -webkit-app-region: no-drag;\\n    min-width: 18px;\\n    min-height: 18px;\\n    cursor: pointer;\\n    fill: \",\";\\n    transition: 0.1s linear fill;\\n  }\\n  &:hover {\\n    svg {\\n      fill: \",\";\\n    }\\n  }\\n\"],[\"\\n  display: flex;\\n  align-items: center;\\n  justify-content: space-evenly;\\n  margin: 0 15px 20px 15px;\\n  svg {\\n    -webkit-app-region: no-drag;\\n    min-width: 18px;\\n    min-height: 18px;\\n    cursor: pointer;\\n    fill: \",\";\\n    transition: 0.1s linear fill;\\n  }\\n  &:hover {\\n    svg {\\n      fill: \",\";\\n    }\\n  }\\n\"])),(function(e){return e.theme.editorColours.icon}),(function(e){return e.theme.editorColours.iconHover})),O=c.styled.div(D||(D=o([\"\\n  display: flex;\\n  flex-direction: column;\\n  & + & {\\n    margin-top: 12px;\\n  }\\n  &:last-child {\\n    margin-bottom: 32px;\\n  }\\n\"],[\"\\n  display: flex;\\n  flex-direction: column;\\n  & + & {\\n    margin-top: 12px;\\n  }\\n  &:last-child {\\n    margin-bottom: 32px;\\n  }\\n\"]))),F=c.styled.div(C||(C=o([\"\\n  font-size: 14px;\\n  color: \",\";\\n  font-weight: 600;\\n  letter-spacing: 0.53px;\\n  margin: 0 10px 6px 30px;\\n  word-break: break-word;\\n\"],[\"\\n  font-size: 14px;\\n  color: \",\";\\n  font-weight: 600;\\n  letter-spacing: 0.53px;\\n  margin: 0 10px 6px 30px;\\n  word-break: break-word;\\n\"])),(function(e){return e.theme.editorColours.text})),N=c.styled.div(w||(w=o([\"\\n  display: flex;\\n  justify-content: center;\\n  margin: 32px 0;\\n  background: \",\";\\n\"],[\"\\n  display: flex;\\n  justify-content: center;\\n  margin: 32px 0;\\n  background: \",\";\\n\"])),(function(e){return e.theme.editorColours.sidebarBottom})),I=c.styled.button(S||(S=o([\"\\n  padding: 10px;\\n  display: flex;\\n  align-items: center;\\n  border-radius: 2px;\\n  cursor: pointer;\\n  font-size: 14px;\\n  font-weight: 600;\\n  letter-spacing: 0.53px;\\n  color: \",\";\\n  background-color: \",\";\\n  transition: 0.1s linear all;\\n  &:hover {\\n    background-color: \",\";\\n  }\\n  i {\\n    margin-right: 6px;\\n  }\\n  svg {\\n    min-width: 18px;\\n    min-height: 18px;\\n    stroke: \",\";\\n  }\\n\"],[\"\\n  padding: 10px;\\n  display: flex;\\n  align-items: center;\\n  border-radius: 2px;\\n  cursor: pointer;\\n  font-size: 14px;\\n  font-weight: 600;\\n  letter-spacing: 0.53px;\\n  color: \",\";\\n  background-color: \",\";\\n  transition: 0.1s linear all;\\n  &:hover {\\n    background-color: \",\";\\n  }\\n  i {\\n    margin-right: 6px;\\n  }\\n  svg {\\n    min-width: 18px;\\n    min-height: 18px;\\n    stroke: \",\";\\n  }\\n\"])),(function(e){return e.theme.editorColours.buttonWorkspaceText}),(function(e){return e.theme.editorColours.buttonWorkspace}),(function(e){return e.theme.editorColours.buttonWorkspaceHover}),(function(e){return e.theme.editorColours.buttonWorkspaceText}))},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(3),s=n(11),u=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.selectEndpoint=function(){t.props.onSelectEnv(t.props.env,t.props.projectName)},t}return i(t,e),t.prototype.render=function(){var e=this.props,t=e.env,n=e.activeEnv,r=e.count,i=e.deep,o=e.activeProjectName,s=e.projectName,u=n===t&&o===s;return a.createElement(p,{active:u,deep:i,onClick:this.selectEndpoint},a.createElement(\"span\",null,t),a.createElement(f,{active:u},r))},t}(a.Component);t.default=u;var c,l,p=s.styled(\"div\")(c||(c=o([\"\\n  padding: 10px 10px 10px \",\";\\n  word-break: break-word;\\n  font-weight: 600;\\n  cursor: pointer;\\n  font-size: 12px;\\n  display: flex;\\n  justify-content: space-between;\\n  align-items: center;\\n  background: \",\";\\n  border-left: 4px solid\\n    \",\";\\n  border-radius: 2px;\\n\\n  &:hover {\\n    background: \",\";\\n  }\\n\"],[\"\\n  padding: 10px 10px 10px \",\";\\n  word-break: break-word;\\n  font-weight: 600;\\n  cursor: pointer;\\n  font-size: 12px;\\n  display: flex;\\n  justify-content: space-between;\\n  align-items: center;\\n  background: \",\";\\n  border-left: 4px solid\\n    \",\";\\n  border-radius: 2px;\\n\\n  &:hover {\\n    background: \",\";\\n  }\\n\"])),(function(e){return e.deep?\"43px\":\"38px\"}),(function(e){return e.active?e.theme.editorColours.sidebarItemActive:\"transparent\"}),(function(e){return e.active?e.theme.editorColours.sidebarItemSide:\"transparent\"}),(function(e){return e.theme.editorColours.sidebarItemActive})),f=s.styled(\"div\")(l||(l=o([\"\\n  border-radius: 6px;\\n  min-width: 18px;\\n  min-height: 18px;\\n  display: flex;\\n  align-items: center;\\n  justify-content: center;\\n  font-size: 11px;\\n  font-weight: bold;\\n  background: \",\";\\n  color: \",\";\\n  opacity: \",\";\\n  transition: 0.1s linear all;\\n\"],[\"\\n  border-radius: 6px;\\n  min-width: 18px;\\n  min-height: 18px;\\n  display: flex;\\n  align-items: center;\\n  justify-content: center;\\n  font-size: 11px;\\n  font-weight: bold;\\n  background: \",\";\\n  color: \",\";\\n  opacity: \",\";\\n  transition: 0.1s linear all;\\n\"])),(function(e){return e.theme.editorColours.sidebarItemSessions}),(function(e){return e.theme.editorColours.text}),(function(e){return e.active?1:.6}))},function(e,t,n){\"use strict\";n.r(t),n.d(t,\"HttpLink\",(function(){return f})),n.d(t,\"createHttpLink\",(function(){return p}));var r=n(19),i=n(62),o=n(40),a=n(15),s=n(27),u={http:{includeQuery:!0,includeExtensions:!1},headers:{accept:\"*/*\",\"content-type\":\"application/json\"},options:{method:\"POST\"}},c=function(e,t,n){var r=new Error(n);throw r.name=\"ServerError\",r.response=e,r.statusCode=e.status,r.result=t,r},l=function(e,t){var n;try{n=JSON.stringify(e)}catch(e){var r=new s.a(2);throw r.parseError=e,r}return n},p=function(e){void 0===e&&(e={});var t=e.uri,n=void 0===t?\"/graphql\":t,p=e.fetch,f=e.includeExtensions,d=e.useGETForQueries,h=Object(r.c)(e,[\"uri\",\"fetch\",\"includeExtensions\",\"useGETForQueries\"]);!function(e){if(!e&&\"undefined\"==typeof fetch){throw\"undefined\"==typeof window&&\"node-fetch\",new s.a(1)}}(p),p||(p=fetch);var m={http:{includeExtensions:f},options:h.fetchOptions,credentials:h.credentials,headers:h.headers};return new i.ApolloLink((function(e){var t=function(e,t){var n=e.getContext().uri;return n||(\"function\"==typeof t?t(e):t||\"/graphql\")}(e,n),s=e.getContext(),f={};if(s.clientAwareness){var h=s.clientAwareness,g=h.name,y=h.version;g&&(f[\"apollographql-client-name\"]=g),y&&(f[\"apollographql-client-version\"]=y)}var v,b=Object(r.a)({},f,s.headers),E={http:s.http,options:s.fetchOptions,credentials:s.credentials,headers:b},x=function(e,t){for(var n=[],i=2;i<arguments.length;i++)n[i-2]=arguments[i];var o=Object(r.a)({},t.options,{headers:t.headers,credentials:t.credentials}),s=t.http;n.forEach((function(e){o=Object(r.a)({},o,e.options,{headers:Object(r.a)({},o.headers,e.headers)}),e.credentials&&(o.credentials=e.credentials),s=Object(r.a)({},s,e.http)}));var u=e.operationName,c=e.extensions,l=e.variables,p=e.query,f={operationName:u,variables:l};return s.includeExtensions&&(f.extensions=c),s.includeQuery&&(f.query=Object(a.print)(p)),{options:o,body:f}}(e,u,m,E),D=x.options,C=x.body;if(!D.signal){var w=function(){if(\"undefined\"==typeof AbortController)return{controller:!1,signal:!1};var e=new AbortController;return{controller:e,signal:e.signal}}(),S=w.controller,k=w.signal;(v=S)&&(D.signal=k)}if(d&&!e.query.definitions.some((function(e){return\"OperationDefinition\"===e.kind&&\"mutation\"===e.operation}))&&(D.method=\"GET\"),\"GET\"===D.method){var A=function(e,t){var n=[],r=function(e,t){n.push(e+\"=\"+encodeURIComponent(t))};\"query\"in t&&r(\"query\",t.query);t.operationName&&r(\"operationName\",t.operationName);if(t.variables){var i=void 0;try{i=l(t.variables)}catch(e){return{parseError:e}}r(\"variables\",i)}if(t.extensions){var o=void 0;try{o=l(t.extensions)}catch(e){return{parseError:e}}r(\"extensions\",o)}var a=\"\",s=e,u=e.indexOf(\"#\");-1!==u&&(a=e.substr(u),s=e.substr(0,u));var c=-1===s.indexOf(\"?\")?\"?\":\"&\";return{newURI:s+c+n.join(\"&\")+a}}(t,C),T=A.newURI,_=A.parseError;if(_)return Object(i.fromError)(_);t=T}else try{D.body=l(C)}catch(_){return Object(i.fromError)(_)}return new o.a((function(n){var r;return p(t,D).then((function(t){return e.setContext({response:t}),t})).then((r=e,function(e){return e.text().then((function(t){try{return JSON.parse(t)}catch(r){var n=r;return n.name=\"ServerParseError\",n.response=e,n.statusCode=e.status,n.bodyText=t,Promise.reject(n)}})).then((function(t){return e.status>=300&&c(e,t,\"Response not successful: Received status code \"+e.status),Array.isArray(t)||t.hasOwnProperty(\"data\")||t.hasOwnProperty(\"errors\")||c(e,t,\"Server response was missing for query '\"+(Array.isArray(r)?r.map((function(e){return e.operationName})):r.operationName)+\"'.\"),t}))})).then((function(e){return n.next(e),n.complete(),e})).catch((function(e){\"AbortError\"!==e.name&&(e.result&&e.result.errors&&e.result.data&&n.next(e.result),n.error(e))})),function(){v&&v.abort()}}))}))};var f=function(e){function t(t){return e.call(this,p(t).request)||this}return Object(r.b)(t,e),t}(i.ApolloLink)},,,,,,,,,,,,,,,,function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return o}));var r=n(66),i=n(245);function o(e,t){return Object(r.c)(e,t,[i.a])}},,,,function(e,t,n){n(255),e.exports=n(543)},function(e,t,n){\"use strict\";function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(3),o=n(59),a=n(544);n(547),window.GraphQLPlayground={init:function(e,t){o.render(i.createElement(a.default,r({setTitle:!0,showNewWorkspace:!1},t)),e)}}},function(e,t,n){\"use strict\";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__assign||function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(3),s=n(30),u=n(267),c=n(42),l=n(98),p=n(316),f=u.default(),d=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.componentDidMount=function(){var e=c.getSettings(f.getState()),t=o(o({},e),this.props.settings),n=JSON.stringify(t,null,2);f.dispatch(l.setSettingsString(n))},t.prototype.render=function(){return a.createElement(s.Provider,{store:f},a.createElement(p.default,this.props))},t}(a.Component);t.default=d},,,function(e,t){}]);\n//# sourceMappingURL=middleware.js.map"
  },
  {
    "path": "src/Resources/public/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/entrypoints.json",
    "content": "{\n  \"entrypoints\": {\n    \"main\": {\n      \"js\": [\n        \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/109.62a4c31b.js\",\n        \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/main.9c3ad8a2.js\"\n      ],\n      \"css\": []\n    },\n    \"pimcore_datahub_bundle\": {\n      \"js\": [\n        \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/async/696.3b1d6da3.js\",\n        \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/async/346.60211bf9.js\",\n        \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/async/840.4693a4bb.js\",\n        \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/async/__federation_expose_default_export.87553f32.js\",\n        \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/async/__federation_expose_plugins.c4cf01bd.js\",\n        \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/remoteEntry.js\"\n      ],\n      \"css\": []\n    },\n    \"exposeRemote\": {\n      \"js\": [\n        \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/exposeRemote.js\"\n      ],\n      \"css\": []\n    }\n  }\n}"
  },
  {
    "path": "src/Resources/public/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/exposeRemote.js",
    "content": "\n      if (window.pluginRemotes === undefined) {\n        window.pluginRemotes = {}\n      }\n\n      if (window.alternativePluginExportPaths === undefined) {\n        window.alternativePluginExportPaths = {}\n      }\n\n      window.pluginRemotes.pimcore_datahub_bundle = \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/remoteEntry.js\"\n\n      window.alternativePluginExportPaths.pimcore_datahub_bundle = \"/plugins\"\n    "
  },
  {
    "path": "src/Resources/public/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/main.html",
    "content": "<!DOCTYPE html><html><head><title>Rsbuild App</title><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><script defer src=\"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/109.62a4c31b.js\"></script><script defer src=\"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/main.9c3ad8a2.js\"></script></head><body><div id=\"root\"></div></body></html>"
  },
  {
    "path": "src/Resources/public/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/manifest.json",
    "content": "{\n  \"allFiles\": [\n    \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/main.9c3ad8a2.js\",\n    \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/remoteEntry.js\",\n    \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/async/__federation_expose_plugins.c4cf01bd.js\",\n    \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/async/__federation_expose_default_export.87553f32.js\",\n    \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/async/840.4693a4bb.js\",\n    \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/async/346.60211bf9.js\",\n    \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/109.62a4c31b.js\",\n    \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/async/696.3b1d6da3.js\",\n    \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/mf-stats.json\",\n    \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/mf-manifest.json\",\n    \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/main.html\"\n  ],\n  \"entries\": {\n    \"main\": {\n      \"html\": [\n        \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/main.html\"\n      ],\n      \"initial\": {\n        \"js\": [\n          \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/109.62a4c31b.js\",\n          \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/main.9c3ad8a2.js\"\n        ]\n      }\n    },\n    \"pimcore_datahub_bundle\": {\n      \"initial\": {\n        \"js\": [\n          \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/remoteEntry.js\"\n        ]\n      },\n      \"async\": {\n        \"js\": [\n          \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/async/696.3b1d6da3.js\",\n          \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/async/346.60211bf9.js\",\n          \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/async/840.4693a4bb.js\",\n          \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/async/__federation_expose_default_export.87553f32.js\",\n          \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/async/__federation_expose_plugins.c4cf01bd.js\"\n        ]\n      }\n    }\n  },\n  \"integrity\": {}\n}"
  },
  {
    "path": "src/Resources/public/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/mf-manifest.json",
    "content": "{\n  \"id\": \"pimcore_datahub_bundle\",\n  \"name\": \"pimcore_datahub_bundle\",\n  \"metaData\": {\n    \"name\": \"pimcore_datahub_bundle\",\n    \"type\": \"app\",\n    \"buildInfo\": {\n      \"buildVersion\": \"0.0.1\",\n      \"buildName\": \"@pimcore/data-hub\"\n    },\n    \"remoteEntry\": {\n      \"name\": \"static/js/remoteEntry.js\",\n      \"path\": \"\",\n      \"type\": \"global\"\n    },\n    \"types\": {\n      \"path\": \"\",\n      \"name\": \"\",\n      \"zip\": \"\",\n      \"api\": \"\"\n    },\n    \"globalName\": \"pimcore_datahub_bundle\",\n    \"pluginVersion\": \"2.2.3\",\n    \"prefetchInterface\": false,\n    \"publicPath\": \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/\"\n  },\n  \"shared\": [\n    {\n      \"id\": \"pimcore_datahub_bundle:react-dom\",\n      \"name\": \"react-dom\",\n      \"version\": \"18.3.1\",\n      \"singleton\": true,\n      \"requiredVersion\": \"^18.3.1\",\n      \"assets\": {\n        \"js\": {\n          \"async\": [],\n          \"sync\": [\n            \"static/js/109.62a4c31b.js\",\n            \"static/js/remoteEntry.js\"\n          ]\n        },\n        \"css\": {\n          \"async\": [],\n          \"sync\": []\n        }\n      },\n      \"fallback\": \"\"\n    },\n    {\n      \"id\": \"pimcore_datahub_bundle:react\",\n      \"name\": \"react\",\n      \"version\": \"18.3.1\",\n      \"singleton\": true,\n      \"requiredVersion\": \"^18.3.1\",\n      \"assets\": {\n        \"js\": {\n          \"async\": [],\n          \"sync\": [\n            \"static/js/109.62a4c31b.js\",\n            \"static/js/remoteEntry.js\"\n          ]\n        },\n        \"css\": {\n          \"async\": [],\n          \"sync\": []\n        }\n      },\n      \"fallback\": \"\"\n    },\n    {\n      \"id\": \"pimcore_datahub_bundle:yaml\",\n      \"name\": \"yaml\",\n      \"version\": \"2.8.3\",\n      \"singleton\": true,\n      \"requiredVersion\": \"^2.8.3\",\n      \"assets\": {\n        \"js\": {\n          \"async\": [],\n          \"sync\": [\n            \"static/js/async/346.60211bf9.js\"\n          ]\n        },\n        \"css\": {\n          \"async\": [],\n          \"sync\": []\n        }\n      },\n      \"fallback\": \"\"\n    }\n  ],\n  \"remotes\": [\n    {\n      \"federationContainerName\": \"promise new Promise((resolve) => {\\n    const emptyContainer = {\\n      get: () => Promise.resolve(() => ({})),\\n      init: () => {}\\n    }\\n\\n    const remoteUrl = window.StudioUIBundleRemoteUrl\\n\\n    if (!remoteUrl) {\\n      throw new Error('Required remote \\\"pimcore_studio_ui_bundle\\\" is not available');\\n      return\\n    }\\n\\n    // Check if the container is already available\\n    if (window['pimcore_studio_ui_bundle']) {\\n      resolve({\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      })\\n      return\\n    }\\n\\n    const script = document.createElement('script')\\n    script.src = remoteUrl\\n    script.onload = () => {\\n      const proxy = {\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      }\\n      resolve(proxy)\\n    }\\n    script.onerror = () => {\\n      throw new Error('Failed to load required remote \\\"pimcore_studio_ui_bundle\\\" from ' + remoteUrl);\\n    }\\n    document.head.appendChild(script);\\n  })\\n  \",\n      \"moduleName\": \".\",\n      \"alias\": \"@pimcore/studio-ui-bundle\",\n      \"entry\": \"*\"\n    },\n    {\n      \"federationContainerName\": \"promise new Promise((resolve) => {\\n    const emptyContainer = {\\n      get: () => Promise.resolve(() => ({})),\\n      init: () => {}\\n    }\\n\\n    const remoteUrl = window.StudioUIBundleRemoteUrl\\n\\n    if (!remoteUrl) {\\n      throw new Error('Required remote \\\"pimcore_studio_ui_bundle\\\" is not available');\\n      return\\n    }\\n\\n    // Check if the container is already available\\n    if (window['pimcore_studio_ui_bundle']) {\\n      resolve({\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      })\\n      return\\n    }\\n\\n    const script = document.createElement('script')\\n    script.src = remoteUrl\\n    script.onload = () => {\\n      const proxy = {\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      }\\n      resolve(proxy)\\n    }\\n    script.onerror = () => {\\n      throw new Error('Failed to load required remote \\\"pimcore_studio_ui_bundle\\\" from ' + remoteUrl);\\n    }\\n    document.head.appendChild(script);\\n  })\\n  \",\n      \"moduleName\": \"app\",\n      \"alias\": \"@pimcore/studio-ui-bundle\",\n      \"entry\": \"*\"\n    },\n    {\n      \"federationContainerName\": \"promise new Promise((resolve) => {\\n    const emptyContainer = {\\n      get: () => Promise.resolve(() => ({})),\\n      init: () => {}\\n    }\\n\\n    const remoteUrl = window.StudioUIBundleRemoteUrl\\n\\n    if (!remoteUrl) {\\n      throw new Error('Required remote \\\"pimcore_studio_ui_bundle\\\" is not available');\\n      return\\n    }\\n\\n    // Check if the container is already available\\n    if (window['pimcore_studio_ui_bundle']) {\\n      resolve({\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      })\\n      return\\n    }\\n\\n    const script = document.createElement('script')\\n    script.src = remoteUrl\\n    script.onload = () => {\\n      const proxy = {\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      }\\n      resolve(proxy)\\n    }\\n    script.onerror = () => {\\n      throw new Error('Failed to load required remote \\\"pimcore_studio_ui_bundle\\\" from ' + remoteUrl);\\n    }\\n    document.head.appendChild(script);\\n  })\\n  \",\n      \"moduleName\": \"components\",\n      \"alias\": \"@pimcore/studio-ui-bundle\",\n      \"entry\": \"*\"\n    },\n    {\n      \"federationContainerName\": \"promise new Promise((resolve) => {\\n    const emptyContainer = {\\n      get: () => Promise.resolve(() => ({})),\\n      init: () => {}\\n    }\\n\\n    const remoteUrl = window.StudioUIBundleRemoteUrl\\n\\n    if (!remoteUrl) {\\n      throw new Error('Required remote \\\"pimcore_studio_ui_bundle\\\" is not available');\\n      return\\n    }\\n\\n    // Check if the container is already available\\n    if (window['pimcore_studio_ui_bundle']) {\\n      resolve({\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      })\\n      return\\n    }\\n\\n    const script = document.createElement('script')\\n    script.src = remoteUrl\\n    script.onload = () => {\\n      const proxy = {\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      }\\n      resolve(proxy)\\n    }\\n    script.onerror = () => {\\n      throw new Error('Failed to load required remote \\\"pimcore_studio_ui_bundle\\\" from ' + remoteUrl);\\n    }\\n    document.head.appendChild(script);\\n  })\\n  \",\n      \"moduleName\": \"modules/element\",\n      \"alias\": \"@pimcore/studio-ui-bundle\",\n      \"entry\": \"*\"\n    },\n    {\n      \"federationContainerName\": \"promise new Promise((resolve) => {\\n    const emptyContainer = {\\n      get: () => Promise.resolve(() => ({})),\\n      init: () => {}\\n    }\\n\\n    const remoteUrl = window.StudioUIBundleRemoteUrl\\n\\n    if (!remoteUrl) {\\n      throw new Error('Required remote \\\"pimcore_studio_ui_bundle\\\" is not available');\\n      return\\n    }\\n\\n    // Check if the container is already available\\n    if (window['pimcore_studio_ui_bundle']) {\\n      resolve({\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      })\\n      return\\n    }\\n\\n    const script = document.createElement('script')\\n    script.src = remoteUrl\\n    script.onload = () => {\\n      const proxy = {\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      }\\n      resolve(proxy)\\n    }\\n    script.onerror = () => {\\n      throw new Error('Failed to load required remote \\\"pimcore_studio_ui_bundle\\\" from ' + remoteUrl);\\n    }\\n    document.head.appendChild(script);\\n  })\\n  \",\n      \"moduleName\": \"api\",\n      \"alias\": \"@pimcore/studio-ui-bundle\",\n      \"entry\": \"*\"\n    },\n    {\n      \"federationContainerName\": \"promise new Promise((resolve) => {\\n    const emptyContainer = {\\n      get: () => Promise.resolve(() => ({})),\\n      init: () => {}\\n    }\\n\\n    const remoteUrl = window.StudioUIBundleRemoteUrl\\n\\n    if (!remoteUrl) {\\n      throw new Error('Required remote \\\"pimcore_studio_ui_bundle\\\" is not available');\\n      return\\n    }\\n\\n    // Check if the container is already available\\n    if (window['pimcore_studio_ui_bundle']) {\\n      resolve({\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      })\\n      return\\n    }\\n\\n    const script = document.createElement('script')\\n    script.src = remoteUrl\\n    script.onload = () => {\\n      const proxy = {\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      }\\n      resolve(proxy)\\n    }\\n    script.onerror = () => {\\n      throw new Error('Failed to load required remote \\\"pimcore_studio_ui_bundle\\\" from ' + remoteUrl);\\n    }\\n    document.head.appendChild(script);\\n  })\\n  \",\n      \"moduleName\": \"modules/app\",\n      \"alias\": \"@pimcore/studio-ui-bundle\",\n      \"entry\": \"*\"\n    },\n    {\n      \"federationContainerName\": \"promise new Promise((resolve) => {\\n    const emptyContainer = {\\n      get: () => Promise.resolve(() => ({})),\\n      init: () => {}\\n    }\\n\\n    const remoteUrl = window.StudioUIBundleRemoteUrl\\n\\n    if (!remoteUrl) {\\n      throw new Error('Required remote \\\"pimcore_studio_ui_bundle\\\" is not available');\\n      return\\n    }\\n\\n    // Check if the container is already available\\n    if (window['pimcore_studio_ui_bundle']) {\\n      resolve({\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      })\\n      return\\n    }\\n\\n    const script = document.createElement('script')\\n    script.src = remoteUrl\\n    script.onload = () => {\\n      const proxy = {\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      }\\n      resolve(proxy)\\n    }\\n    script.onerror = () => {\\n      throw new Error('Failed to load required remote \\\"pimcore_studio_ui_bundle\\\" from ' + remoteUrl);\\n    }\\n    document.head.appendChild(script);\\n  })\\n  \",\n      \"moduleName\": \"modules/data-object\",\n      \"alias\": \"@pimcore/studio-ui-bundle\",\n      \"entry\": \"*\"\n    },\n    {\n      \"federationContainerName\": \"promise new Promise((resolve) => {\\n    const emptyContainer = {\\n      get: () => Promise.resolve(() => ({})),\\n      init: () => {}\\n    }\\n\\n    const remoteUrl = window.StudioUIBundleRemoteUrl\\n\\n    if (!remoteUrl) {\\n      throw new Error('Required remote \\\"pimcore_studio_ui_bundle\\\" is not available');\\n      return\\n    }\\n\\n    // Check if the container is already available\\n    if (window['pimcore_studio_ui_bundle']) {\\n      resolve({\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      })\\n      return\\n    }\\n\\n    const script = document.createElement('script')\\n    script.src = remoteUrl\\n    script.onload = () => {\\n      const proxy = {\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      }\\n      resolve(proxy)\\n    }\\n    script.onerror = () => {\\n      throw new Error('Failed to load required remote \\\"pimcore_studio_ui_bundle\\\" from ' + remoteUrl);\\n    }\\n    document.head.appendChild(script);\\n  })\\n  \",\n      \"moduleName\": \"utils\",\n      \"alias\": \"@pimcore/studio-ui-bundle\",\n      \"entry\": \"*\"\n    },\n    {\n      \"federationContainerName\": \"promise new Promise((resolve) => {\\n    const emptyContainer = {\\n      get: () => Promise.resolve(() => ({})),\\n      init: () => {}\\n    }\\n\\n    const remoteUrl = window.StudioUIBundleRemoteUrl\\n\\n    if (!remoteUrl) {\\n      throw new Error('Required remote \\\"pimcore_studio_ui_bundle\\\" is not available');\\n      return\\n    }\\n\\n    // Check if the container is already available\\n    if (window['pimcore_studio_ui_bundle']) {\\n      resolve({\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      })\\n      return\\n    }\\n\\n    const script = document.createElement('script')\\n    script.src = remoteUrl\\n    script.onload = () => {\\n      const proxy = {\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      }\\n      resolve(proxy)\\n    }\\n    script.onerror = () => {\\n      throw new Error('Failed to load required remote \\\"pimcore_studio_ui_bundle\\\" from ' + remoteUrl);\\n    }\\n    document.head.appendChild(script);\\n  })\\n  \",\n      \"moduleName\": \"api/data-object\",\n      \"alias\": \"@pimcore/studio-ui-bundle\",\n      \"entry\": \"*\"\n    },\n    {\n      \"federationContainerName\": \"promise new Promise((resolve) => {\\n    const emptyContainer = {\\n      get: () => Promise.resolve(() => ({})),\\n      init: () => {}\\n    }\\n\\n    const remoteUrl = window.StudioUIBundleRemoteUrl\\n\\n    if (!remoteUrl) {\\n      throw new Error('Required remote \\\"pimcore_studio_ui_bundle\\\" is not available');\\n      return\\n    }\\n\\n    // Check if the container is already available\\n    if (window['pimcore_studio_ui_bundle']) {\\n      resolve({\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      })\\n      return\\n    }\\n\\n    const script = document.createElement('script')\\n    script.src = remoteUrl\\n    script.onload = () => {\\n      const proxy = {\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      }\\n      resolve(proxy)\\n    }\\n    script.onerror = () => {\\n      throw new Error('Failed to load required remote \\\"pimcore_studio_ui_bundle\\\" from ' + remoteUrl);\\n    }\\n    document.head.appendChild(script);\\n  })\\n  \",\n      \"moduleName\": \"modules/auth\",\n      \"alias\": \"@pimcore/studio-ui-bundle\",\n      \"entry\": \"*\"\n    },\n    {\n      \"federationContainerName\": \"promise new Promise((resolve) => {\\n    const emptyContainer = {\\n      get: () => Promise.resolve(() => ({})),\\n      init: () => {}\\n    }\\n\\n    const remoteUrl = window.StudioUIBundleRemoteUrl\\n\\n    if (!remoteUrl) {\\n      throw new Error('Required remote \\\"pimcore_studio_ui_bundle\\\" is not available');\\n      return\\n    }\\n\\n    // Check if the container is already available\\n    if (window['pimcore_studio_ui_bundle']) {\\n      resolve({\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      })\\n      return\\n    }\\n\\n    const script = document.createElement('script')\\n    script.src = remoteUrl\\n    script.onload = () => {\\n      const proxy = {\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      }\\n      resolve(proxy)\\n    }\\n    script.onerror = () => {\\n      throw new Error('Failed to load required remote \\\"pimcore_studio_ui_bundle\\\" from ' + remoteUrl);\\n    }\\n    document.head.appendChild(script);\\n  })\\n  \",\n      \"moduleName\": \"modules/application-logger\",\n      \"alias\": \"@pimcore/studio-ui-bundle\",\n      \"entry\": \"*\"\n    },\n    {\n      \"federationContainerName\": \"promise new Promise((resolve) => {\\n    const emptyContainer = {\\n      get: () => Promise.resolve(() => ({})),\\n      init: () => {}\\n    }\\n\\n    const remoteUrl = window.StudioUIBundleRemoteUrl\\n\\n    if (!remoteUrl) {\\n      throw new Error('Required remote \\\"pimcore_studio_ui_bundle\\\" is not available');\\n      return\\n    }\\n\\n    // Check if the container is already available\\n    if (window['pimcore_studio_ui_bundle']) {\\n      resolve({\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      })\\n      return\\n    }\\n\\n    const script = document.createElement('script')\\n    script.src = remoteUrl\\n    script.onload = () => {\\n      const proxy = {\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      }\\n      resolve(proxy)\\n    }\\n    script.onerror = () => {\\n      throw new Error('Failed to load required remote \\\"pimcore_studio_ui_bundle\\\" from ' + remoteUrl);\\n    }\\n    document.head.appendChild(script);\\n  })\\n  \",\n      \"moduleName\": \"modules/translations\",\n      \"alias\": \"@pimcore/studio-ui-bundle\",\n      \"entry\": \"*\"\n    },\n    {\n      \"federationContainerName\": \"promise new Promise((resolve) => {\\n    const emptyContainer = {\\n      get: () => Promise.resolve(() => ({})),\\n      init: () => {}\\n    }\\n\\n    const remoteUrl = window.StudioUIBundleRemoteUrl\\n\\n    if (!remoteUrl) {\\n      throw new Error('Required remote \\\"pimcore_studio_ui_bundle\\\" is not available');\\n      return\\n    }\\n\\n    // Check if the container is already available\\n    if (window['pimcore_studio_ui_bundle']) {\\n      resolve({\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      })\\n      return\\n    }\\n\\n    const script = document.createElement('script')\\n    script.src = remoteUrl\\n    script.onload = () => {\\n      const proxy = {\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      }\\n      resolve(proxy)\\n    }\\n    script.onerror = () => {\\n      throw new Error('Failed to load required remote \\\"pimcore_studio_ui_bundle\\\" from ' + remoteUrl);\\n    }\\n    document.head.appendChild(script);\\n  })\\n  \",\n      \"moduleName\": \"api/class-definition\",\n      \"alias\": \"@pimcore/studio-ui-bundle\",\n      \"entry\": \"*\"\n    },\n    {\n      \"federationContainerName\": \"promise new Promise((resolve) => {\\n    const emptyContainer = {\\n      get: () => Promise.resolve(() => ({})),\\n      init: () => {}\\n    }\\n\\n    const remoteUrl = window.StudioUIBundleRemoteUrl\\n\\n    if (!remoteUrl) {\\n      throw new Error('Required remote \\\"pimcore_studio_ui_bundle\\\" is not available');\\n      return\\n    }\\n\\n    // Check if the container is already available\\n    if (window['pimcore_studio_ui_bundle']) {\\n      resolve({\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      })\\n      return\\n    }\\n\\n    const script = document.createElement('script')\\n    script.src = remoteUrl\\n    script.onload = () => {\\n      const proxy = {\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      }\\n      resolve(proxy)\\n    }\\n    script.onerror = () => {\\n      throw new Error('Failed to load required remote \\\"pimcore_studio_ui_bundle\\\" from ' + remoteUrl);\\n    }\\n    document.head.appendChild(script);\\n  })\\n  \",\n      \"moduleName\": \"modules/field-definitions\",\n      \"alias\": \"@pimcore/studio-ui-bundle\",\n      \"entry\": \"*\"\n    }\n  ],\n  \"exposes\": [\n    {\n      \"id\": \"pimcore_datahub_bundle:plugins\",\n      \"name\": \"plugins\",\n      \"assets\": {\n        \"js\": {\n          \"sync\": [\n            \"static/js/async/840.4693a4bb.js\",\n            \"static/js/async/696.3b1d6da3.js\",\n            \"static/js/async/__federation_expose_plugins.c4cf01bd.js\"\n          ],\n          \"async\": []\n        },\n        \"css\": {\n          \"sync\": [],\n          \"async\": []\n        }\n      },\n      \"path\": \"./plugins\"\n    },\n    {\n      \"id\": \"pimcore_datahub_bundle:.\",\n      \"name\": \".\",\n      \"assets\": {\n        \"js\": {\n          \"sync\": [\n            \"static/js/async/840.4693a4bb.js\",\n            \"static/js/async/696.3b1d6da3.js\",\n            \"static/js/async/__federation_expose_default_export.87553f32.js\"\n          ],\n          \"async\": []\n        },\n        \"css\": {\n          \"sync\": [],\n          \"async\": []\n        }\n      },\n      \"path\": \".\"\n    }\n  ]\n}"
  },
  {
    "path": "src/Resources/public/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/mf-stats.json",
    "content": "{\n  \"id\": \"pimcore_datahub_bundle\",\n  \"name\": \"pimcore_datahub_bundle\",\n  \"metaData\": {\n    \"name\": \"pimcore_datahub_bundle\",\n    \"type\": \"app\",\n    \"buildInfo\": {\n      \"buildVersion\": \"0.0.1\",\n      \"buildName\": \"@pimcore/data-hub\"\n    },\n    \"remoteEntry\": {\n      \"name\": \"static/js/remoteEntry.js\",\n      \"path\": \"\",\n      \"type\": \"global\"\n    },\n    \"types\": {\n      \"path\": \"\",\n      \"name\": \"\",\n      \"zip\": \"\",\n      \"api\": \"\"\n    },\n    \"globalName\": \"pimcore_datahub_bundle\",\n    \"pluginVersion\": \"2.2.3\",\n    \"prefetchInterface\": false,\n    \"publicPath\": \"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/\"\n  },\n  \"shared\": [\n    {\n      \"singleton\": true,\n      \"requiredVersion\": \"^18.3.1\",\n      \"shareScope\": \"default\",\n      \"eager\": true,\n      \"name\": \"react-dom\",\n      \"version\": \"18.3.1\",\n      \"id\": \"pimcore_datahub_bundle:react-dom\",\n      \"assets\": {\n        \"js\": {\n          \"async\": [],\n          \"sync\": [\n            \"static/js/109.62a4c31b.js\",\n            \"static/js/remoteEntry.js\"\n          ]\n        },\n        \"css\": {\n          \"async\": [],\n          \"sync\": []\n        }\n      },\n      \"usedIn\": [],\n      \"usedExports\": [],\n      \"fallback\": \"\"\n    },\n    {\n      \"singleton\": true,\n      \"requiredVersion\": \"^18.3.1\",\n      \"shareScope\": \"default\",\n      \"eager\": true,\n      \"name\": \"react\",\n      \"version\": \"18.3.1\",\n      \"id\": \"pimcore_datahub_bundle:react\",\n      \"assets\": {\n        \"js\": {\n          \"async\": [],\n          \"sync\": [\n            \"static/js/109.62a4c31b.js\",\n            \"static/js/remoteEntry.js\"\n          ]\n        },\n        \"css\": {\n          \"async\": [],\n          \"sync\": []\n        }\n      },\n      \"usedIn\": [\n        \"./plugins\",\n        \".\"\n      ],\n      \"usedExports\": [],\n      \"fallback\": \"\"\n    },\n    {\n      \"singleton\": true,\n      \"requiredVersion\": \"^2.8.3\",\n      \"shareScope\": \"default\",\n      \"eager\": true,\n      \"name\": \"yaml\",\n      \"version\": \"2.8.3\",\n      \"id\": \"pimcore_datahub_bundle:yaml\",\n      \"assets\": {\n        \"js\": {\n          \"async\": [],\n          \"sync\": [\n            \"static/js/async/346.60211bf9.js\"\n          ]\n        },\n        \"css\": {\n          \"async\": [],\n          \"sync\": []\n        }\n      },\n      \"usedIn\": [\n        \".\"\n      ],\n      \"usedExports\": [],\n      \"fallback\": \"\"\n    }\n  ],\n  \"remotes\": [\n    {\n      \"alias\": \"@pimcore/studio-ui-bundle\",\n      \"consumingFederationContainerName\": \"pimcore_datahub_bundle\",\n      \"federationContainerName\": \"promise new Promise((resolve) => {\\n    const emptyContainer = {\\n      get: () => Promise.resolve(() => ({})),\\n      init: () => {}\\n    }\\n\\n    const remoteUrl = window.StudioUIBundleRemoteUrl\\n\\n    if (!remoteUrl) {\\n      throw new Error('Required remote \\\"pimcore_studio_ui_bundle\\\" is not available');\\n      return\\n    }\\n\\n    // Check if the container is already available\\n    if (window['pimcore_studio_ui_bundle']) {\\n      resolve({\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      })\\n      return\\n    }\\n\\n    const script = document.createElement('script')\\n    script.src = remoteUrl\\n    script.onload = () => {\\n      const proxy = {\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      }\\n      resolve(proxy)\\n    }\\n    script.onerror = () => {\\n      throw new Error('Failed to load required remote \\\"pimcore_studio_ui_bundle\\\" from ' + remoteUrl);\\n    }\\n    document.head.appendChild(script);\\n  })\\n  \",\n      \"moduleName\": \".\",\n      \"usedIn\": [\n        \"js/src/plugins.ts + 77 modules\"\n      ],\n      \"version\": \"*\"\n    },\n    {\n      \"alias\": \"@pimcore/studio-ui-bundle\",\n      \"consumingFederationContainerName\": \"pimcore_datahub_bundle\",\n      \"federationContainerName\": \"promise new Promise((resolve) => {\\n    const emptyContainer = {\\n      get: () => Promise.resolve(() => ({})),\\n      init: () => {}\\n    }\\n\\n    const remoteUrl = window.StudioUIBundleRemoteUrl\\n\\n    if (!remoteUrl) {\\n      throw new Error('Required remote \\\"pimcore_studio_ui_bundle\\\" is not available');\\n      return\\n    }\\n\\n    // Check if the container is already available\\n    if (window['pimcore_studio_ui_bundle']) {\\n      resolve({\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      })\\n      return\\n    }\\n\\n    const script = document.createElement('script')\\n    script.src = remoteUrl\\n    script.onload = () => {\\n      const proxy = {\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      }\\n      resolve(proxy)\\n    }\\n    script.onerror = () => {\\n      throw new Error('Failed to load required remote \\\"pimcore_studio_ui_bundle\\\" from ' + remoteUrl);\\n    }\\n    document.head.appendChild(script);\\n  })\\n  \",\n      \"moduleName\": \"app\",\n      \"usedIn\": [\n        \"js/src/components/base-detail-view/index.ts + 9 modules\",\n        \"js/src/modules/config/config-container.tsx + 12 modules\",\n        \"js/src/modules/config/dynamic-types/dynamic-type-data-hub-adapter-abstract.tsx\",\n        \"js/src/modules/config/dynamic-types/dynamic-type-data-hub-adapter-registry.ts\",\n        \"js/src/modules/graphql/components/tabs/general-tab.tsx\",\n        \"js/src/modules/graphql/components/tabs/permissions-tab.tsx + 3 modules\",\n        \"js/src/plugins.ts + 77 modules\",\n        \"js/src/sdk/index.ts + 19 modules\"\n      ],\n      \"version\": \"*\"\n    },\n    {\n      \"alias\": \"@pimcore/studio-ui-bundle\",\n      \"consumingFederationContainerName\": \"pimcore_datahub_bundle\",\n      \"federationContainerName\": \"promise new Promise((resolve) => {\\n    const emptyContainer = {\\n      get: () => Promise.resolve(() => ({})),\\n      init: () => {}\\n    }\\n\\n    const remoteUrl = window.StudioUIBundleRemoteUrl\\n\\n    if (!remoteUrl) {\\n      throw new Error('Required remote \\\"pimcore_studio_ui_bundle\\\" is not available');\\n      return\\n    }\\n\\n    // Check if the container is already available\\n    if (window['pimcore_studio_ui_bundle']) {\\n      resolve({\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      })\\n      return\\n    }\\n\\n    const script = document.createElement('script')\\n    script.src = remoteUrl\\n    script.onload = () => {\\n      const proxy = {\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      }\\n      resolve(proxy)\\n    }\\n    script.onerror = () => {\\n      throw new Error('Failed to load required remote \\\"pimcore_studio_ui_bundle\\\" from ' + remoteUrl);\\n    }\\n    document.head.appendChild(script);\\n  })\\n  \",\n      \"moduleName\": \"components\",\n      \"usedIn\": [\n        \"js/src/components/base-detail-view/index.ts + 9 modules\",\n        \"js/src/modules/config/config-container.tsx + 12 modules\",\n        \"js/src/modules/graphql/components/tabs/general-tab.tsx\",\n        \"js/src/modules/graphql/components/tabs/permissions-tab.tsx + 3 modules\",\n        \"js/src/plugins.ts + 77 modules\",\n        \"js/src/sdk/index.ts + 19 modules\"\n      ],\n      \"version\": \"*\"\n    },\n    {\n      \"alias\": \"@pimcore/studio-ui-bundle\",\n      \"consumingFederationContainerName\": \"pimcore_datahub_bundle\",\n      \"federationContainerName\": \"promise new Promise((resolve) => {\\n    const emptyContainer = {\\n      get: () => Promise.resolve(() => ({})),\\n      init: () => {}\\n    }\\n\\n    const remoteUrl = window.StudioUIBundleRemoteUrl\\n\\n    if (!remoteUrl) {\\n      throw new Error('Required remote \\\"pimcore_studio_ui_bundle\\\" is not available');\\n      return\\n    }\\n\\n    // Check if the container is already available\\n    if (window['pimcore_studio_ui_bundle']) {\\n      resolve({\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      })\\n      return\\n    }\\n\\n    const script = document.createElement('script')\\n    script.src = remoteUrl\\n    script.onload = () => {\\n      const proxy = {\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      }\\n      resolve(proxy)\\n    }\\n    script.onerror = () => {\\n      throw new Error('Failed to load required remote \\\"pimcore_studio_ui_bundle\\\" from ' + remoteUrl);\\n    }\\n    document.head.appendChild(script);\\n  })\\n  \",\n      \"moduleName\": \"modules/element\",\n      \"usedIn\": [\n        \"js/src/modules/config/components/field-width-container.tsx\",\n        \"js/src/modules/config/dynamic-types/dynamic-type-data-hub-adapter-registry.ts\",\n        \"js/src/plugins.ts + 77 modules\",\n        \"js/src/sdk/index.ts + 19 modules\"\n      ],\n      \"version\": \"*\"\n    },\n    {\n      \"alias\": \"@pimcore/studio-ui-bundle\",\n      \"consumingFederationContainerName\": \"pimcore_datahub_bundle\",\n      \"federationContainerName\": \"promise new Promise((resolve) => {\\n    const emptyContainer = {\\n      get: () => Promise.resolve(() => ({})),\\n      init: () => {}\\n    }\\n\\n    const remoteUrl = window.StudioUIBundleRemoteUrl\\n\\n    if (!remoteUrl) {\\n      throw new Error('Required remote \\\"pimcore_studio_ui_bundle\\\" is not available');\\n      return\\n    }\\n\\n    // Check if the container is already available\\n    if (window['pimcore_studio_ui_bundle']) {\\n      resolve({\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      })\\n      return\\n    }\\n\\n    const script = document.createElement('script')\\n    script.src = remoteUrl\\n    script.onload = () => {\\n      const proxy = {\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      }\\n      resolve(proxy)\\n    }\\n    script.onerror = () => {\\n      throw new Error('Failed to load required remote \\\"pimcore_studio_ui_bundle\\\" from ' + remoteUrl);\\n    }\\n    document.head.appendChild(script);\\n  })\\n  \",\n      \"moduleName\": \"api\",\n      \"usedIn\": [\n        \"js/src/modules/config/config-api-slice-enhanced.ts + 1 modules\",\n        \"js/src/modules/config/config-container.tsx + 12 modules\",\n        \"js/src/modules/config/utils/get-export-url.ts\",\n        \"js/src/modules/graphql/components/tabs/permissions-tab.tsx + 3 modules\",\n        \"js/src/plugins.ts + 77 modules\",\n        \"js/src/sdk/index.ts + 19 modules\"\n      ],\n      \"version\": \"*\"\n    },\n    {\n      \"alias\": \"@pimcore/studio-ui-bundle\",\n      \"consumingFederationContainerName\": \"pimcore_datahub_bundle\",\n      \"federationContainerName\": \"promise new Promise((resolve) => {\\n    const emptyContainer = {\\n      get: () => Promise.resolve(() => ({})),\\n      init: () => {}\\n    }\\n\\n    const remoteUrl = window.StudioUIBundleRemoteUrl\\n\\n    if (!remoteUrl) {\\n      throw new Error('Required remote \\\"pimcore_studio_ui_bundle\\\" is not available');\\n      return\\n    }\\n\\n    // Check if the container is already available\\n    if (window['pimcore_studio_ui_bundle']) {\\n      resolve({\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      })\\n      return\\n    }\\n\\n    const script = document.createElement('script')\\n    script.src = remoteUrl\\n    script.onload = () => {\\n      const proxy = {\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      }\\n      resolve(proxy)\\n    }\\n    script.onerror = () => {\\n      throw new Error('Failed to load required remote \\\"pimcore_studio_ui_bundle\\\" from ' + remoteUrl);\\n    }\\n    document.head.appendChild(script);\\n  })\\n  \",\n      \"moduleName\": \"modules/app\",\n      \"usedIn\": [\n        \"js/src/components/base-detail-view/index.ts + 9 modules\",\n        \"js/src/modules/config/config-container.tsx + 12 modules\",\n        \"js/src/plugins.ts + 77 modules\"\n      ],\n      \"version\": \"*\"\n    },\n    {\n      \"alias\": \"@pimcore/studio-ui-bundle\",\n      \"consumingFederationContainerName\": \"pimcore_datahub_bundle\",\n      \"federationContainerName\": \"promise new Promise((resolve) => {\\n    const emptyContainer = {\\n      get: () => Promise.resolve(() => ({})),\\n      init: () => {}\\n    }\\n\\n    const remoteUrl = window.StudioUIBundleRemoteUrl\\n\\n    if (!remoteUrl) {\\n      throw new Error('Required remote \\\"pimcore_studio_ui_bundle\\\" is not available');\\n      return\\n    }\\n\\n    // Check if the container is already available\\n    if (window['pimcore_studio_ui_bundle']) {\\n      resolve({\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      })\\n      return\\n    }\\n\\n    const script = document.createElement('script')\\n    script.src = remoteUrl\\n    script.onload = () => {\\n      const proxy = {\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      }\\n      resolve(proxy)\\n    }\\n    script.onerror = () => {\\n      throw new Error('Failed to load required remote \\\"pimcore_studio_ui_bundle\\\" from ' + remoteUrl);\\n    }\\n    document.head.appendChild(script);\\n  })\\n  \",\n      \"moduleName\": \"modules/data-object\",\n      \"usedIn\": [\n        \"js/src/plugins.ts + 77 modules\",\n        \"js/src/sdk/index.ts + 19 modules\"\n      ],\n      \"version\": \"*\"\n    },\n    {\n      \"alias\": \"@pimcore/studio-ui-bundle\",\n      \"consumingFederationContainerName\": \"pimcore_datahub_bundle\",\n      \"federationContainerName\": \"promise new Promise((resolve) => {\\n    const emptyContainer = {\\n      get: () => Promise.resolve(() => ({})),\\n      init: () => {}\\n    }\\n\\n    const remoteUrl = window.StudioUIBundleRemoteUrl\\n\\n    if (!remoteUrl) {\\n      throw new Error('Required remote \\\"pimcore_studio_ui_bundle\\\" is not available');\\n      return\\n    }\\n\\n    // Check if the container is already available\\n    if (window['pimcore_studio_ui_bundle']) {\\n      resolve({\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      })\\n      return\\n    }\\n\\n    const script = document.createElement('script')\\n    script.src = remoteUrl\\n    script.onload = () => {\\n      const proxy = {\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      }\\n      resolve(proxy)\\n    }\\n    script.onerror = () => {\\n      throw new Error('Failed to load required remote \\\"pimcore_studio_ui_bundle\\\" from ' + remoteUrl);\\n    }\\n    document.head.appendChild(script);\\n  })\\n  \",\n      \"moduleName\": \"utils\",\n      \"usedIn\": [\n        \"js/src/plugins.ts + 77 modules\"\n      ],\n      \"version\": \"*\"\n    },\n    {\n      \"alias\": \"@pimcore/studio-ui-bundle\",\n      \"consumingFederationContainerName\": \"pimcore_datahub_bundle\",\n      \"federationContainerName\": \"promise new Promise((resolve) => {\\n    const emptyContainer = {\\n      get: () => Promise.resolve(() => ({})),\\n      init: () => {}\\n    }\\n\\n    const remoteUrl = window.StudioUIBundleRemoteUrl\\n\\n    if (!remoteUrl) {\\n      throw new Error('Required remote \\\"pimcore_studio_ui_bundle\\\" is not available');\\n      return\\n    }\\n\\n    // Check if the container is already available\\n    if (window['pimcore_studio_ui_bundle']) {\\n      resolve({\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      })\\n      return\\n    }\\n\\n    const script = document.createElement('script')\\n    script.src = remoteUrl\\n    script.onload = () => {\\n      const proxy = {\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      }\\n      resolve(proxy)\\n    }\\n    script.onerror = () => {\\n      throw new Error('Failed to load required remote \\\"pimcore_studio_ui_bundle\\\" from ' + remoteUrl);\\n    }\\n    document.head.appendChild(script);\\n  })\\n  \",\n      \"moduleName\": \"api/data-object\",\n      \"usedIn\": [\n        \"js/src/sdk/index.ts + 19 modules\"\n      ],\n      \"version\": \"*\"\n    },\n    {\n      \"alias\": \"@pimcore/studio-ui-bundle\",\n      \"consumingFederationContainerName\": \"pimcore_datahub_bundle\",\n      \"federationContainerName\": \"promise new Promise((resolve) => {\\n    const emptyContainer = {\\n      get: () => Promise.resolve(() => ({})),\\n      init: () => {}\\n    }\\n\\n    const remoteUrl = window.StudioUIBundleRemoteUrl\\n\\n    if (!remoteUrl) {\\n      throw new Error('Required remote \\\"pimcore_studio_ui_bundle\\\" is not available');\\n      return\\n    }\\n\\n    // Check if the container is already available\\n    if (window['pimcore_studio_ui_bundle']) {\\n      resolve({\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      })\\n      return\\n    }\\n\\n    const script = document.createElement('script')\\n    script.src = remoteUrl\\n    script.onload = () => {\\n      const proxy = {\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      }\\n      resolve(proxy)\\n    }\\n    script.onerror = () => {\\n      throw new Error('Failed to load required remote \\\"pimcore_studio_ui_bundle\\\" from ' + remoteUrl);\\n    }\\n    document.head.appendChild(script);\\n  })\\n  \",\n      \"moduleName\": \"modules/auth\",\n      \"usedIn\": [\n        \"js/src/sdk/index.ts + 19 modules\"\n      ],\n      \"version\": \"*\"\n    },\n    {\n      \"alias\": \"@pimcore/studio-ui-bundle\",\n      \"consumingFederationContainerName\": \"pimcore_datahub_bundle\",\n      \"federationContainerName\": \"promise new Promise((resolve) => {\\n    const emptyContainer = {\\n      get: () => Promise.resolve(() => ({})),\\n      init: () => {}\\n    }\\n\\n    const remoteUrl = window.StudioUIBundleRemoteUrl\\n\\n    if (!remoteUrl) {\\n      throw new Error('Required remote \\\"pimcore_studio_ui_bundle\\\" is not available');\\n      return\\n    }\\n\\n    // Check if the container is already available\\n    if (window['pimcore_studio_ui_bundle']) {\\n      resolve({\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      })\\n      return\\n    }\\n\\n    const script = document.createElement('script')\\n    script.src = remoteUrl\\n    script.onload = () => {\\n      const proxy = {\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      }\\n      resolve(proxy)\\n    }\\n    script.onerror = () => {\\n      throw new Error('Failed to load required remote \\\"pimcore_studio_ui_bundle\\\" from ' + remoteUrl);\\n    }\\n    document.head.appendChild(script);\\n  })\\n  \",\n      \"moduleName\": \"modules/application-logger\",\n      \"usedIn\": [\n        \"js/src/sdk/index.ts + 19 modules\"\n      ],\n      \"version\": \"*\"\n    },\n    {\n      \"alias\": \"@pimcore/studio-ui-bundle\",\n      \"consumingFederationContainerName\": \"pimcore_datahub_bundle\",\n      \"federationContainerName\": \"promise new Promise((resolve) => {\\n    const emptyContainer = {\\n      get: () => Promise.resolve(() => ({})),\\n      init: () => {}\\n    }\\n\\n    const remoteUrl = window.StudioUIBundleRemoteUrl\\n\\n    if (!remoteUrl) {\\n      throw new Error('Required remote \\\"pimcore_studio_ui_bundle\\\" is not available');\\n      return\\n    }\\n\\n    // Check if the container is already available\\n    if (window['pimcore_studio_ui_bundle']) {\\n      resolve({\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      })\\n      return\\n    }\\n\\n    const script = document.createElement('script')\\n    script.src = remoteUrl\\n    script.onload = () => {\\n      const proxy = {\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      }\\n      resolve(proxy)\\n    }\\n    script.onerror = () => {\\n      throw new Error('Failed to load required remote \\\"pimcore_studio_ui_bundle\\\" from ' + remoteUrl);\\n    }\\n    document.head.appendChild(script);\\n  })\\n  \",\n      \"moduleName\": \"modules/translations\",\n      \"usedIn\": [\n        \"js/src/plugins.ts + 77 modules\"\n      ],\n      \"version\": \"*\"\n    },\n    {\n      \"alias\": \"@pimcore/studio-ui-bundle\",\n      \"consumingFederationContainerName\": \"pimcore_datahub_bundle\",\n      \"federationContainerName\": \"promise new Promise((resolve) => {\\n    const emptyContainer = {\\n      get: () => Promise.resolve(() => ({})),\\n      init: () => {}\\n    }\\n\\n    const remoteUrl = window.StudioUIBundleRemoteUrl\\n\\n    if (!remoteUrl) {\\n      throw new Error('Required remote \\\"pimcore_studio_ui_bundle\\\" is not available');\\n      return\\n    }\\n\\n    // Check if the container is already available\\n    if (window['pimcore_studio_ui_bundle']) {\\n      resolve({\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      })\\n      return\\n    }\\n\\n    const script = document.createElement('script')\\n    script.src = remoteUrl\\n    script.onload = () => {\\n      const proxy = {\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      }\\n      resolve(proxy)\\n    }\\n    script.onerror = () => {\\n      throw new Error('Failed to load required remote \\\"pimcore_studio_ui_bundle\\\" from ' + remoteUrl);\\n    }\\n    document.head.appendChild(script);\\n  })\\n  \",\n      \"moduleName\": \"api/class-definition\",\n      \"usedIn\": [\n        \"js/src/plugins.ts + 77 modules\"\n      ],\n      \"version\": \"*\"\n    },\n    {\n      \"alias\": \"@pimcore/studio-ui-bundle\",\n      \"consumingFederationContainerName\": \"pimcore_datahub_bundle\",\n      \"federationContainerName\": \"promise new Promise((resolve) => {\\n    const emptyContainer = {\\n      get: () => Promise.resolve(() => ({})),\\n      init: () => {}\\n    }\\n\\n    const remoteUrl = window.StudioUIBundleRemoteUrl\\n\\n    if (!remoteUrl) {\\n      throw new Error('Required remote \\\"pimcore_studio_ui_bundle\\\" is not available');\\n      return\\n    }\\n\\n    // Check if the container is already available\\n    if (window['pimcore_studio_ui_bundle']) {\\n      resolve({\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      })\\n      return\\n    }\\n\\n    const script = document.createElement('script')\\n    script.src = remoteUrl\\n    script.onload = () => {\\n      const proxy = {\\n        get: (request) => window['pimcore_studio_ui_bundle'].get(request),\\n        init: (...arg) => {\\n          try {\\n            return window['pimcore_studio_ui_bundle'].init(...arg)\\n          } catch(e) {\\n            console.log('remote container already initialized')\\n          }\\n        }\\n      }\\n      resolve(proxy)\\n    }\\n    script.onerror = () => {\\n      throw new Error('Failed to load required remote \\\"pimcore_studio_ui_bundle\\\" from ' + remoteUrl);\\n    }\\n    document.head.appendChild(script);\\n  })\\n  \",\n      \"moduleName\": \"modules/field-definitions\",\n      \"usedIn\": [\n        \"js/src/plugins.ts + 77 modules\"\n      ],\n      \"version\": \"*\"\n    }\n  ],\n  \"exposes\": [\n    {\n      \"path\": \"./plugins\",\n      \"id\": \"pimcore_datahub_bundle:plugins\",\n      \"name\": \"plugins\",\n      \"requires\": [\n        \"react\"\n      ],\n      \"file\": \"js/src/plugins.ts\",\n      \"assets\": {\n        \"js\": {\n          \"sync\": [\n            \"static/js/async/840.4693a4bb.js\",\n            \"static/js/async/696.3b1d6da3.js\",\n            \"static/js/async/__federation_expose_plugins.c4cf01bd.js\"\n          ],\n          \"async\": []\n        },\n        \"css\": {\n          \"sync\": [],\n          \"async\": []\n        }\n      }\n    },\n    {\n      \"path\": \".\",\n      \"id\": \"pimcore_datahub_bundle:.\",\n      \"name\": \".\",\n      \"requires\": [\n        \"react\",\n        \"yaml\"\n      ],\n      \"file\": \"js/src/sdk/index.ts\",\n      \"assets\": {\n        \"js\": {\n          \"sync\": [\n            \"static/js/async/840.4693a4bb.js\",\n            \"static/js/async/696.3b1d6da3.js\",\n            \"static/js/async/__federation_expose_default_export.87553f32.js\"\n          ],\n          \"async\": []\n        },\n        \"css\": {\n          \"sync\": [],\n          \"async\": []\n        }\n      }\n    }\n  ]\n}"
  },
  {
    "path": "src/Resources/public/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/109.62a4c31b.js",
    "content": "/*! For license information please see 109.62a4c31b.js.LICENSE.txt */\n\"use strict\";(self[\"chunk_pimcore_datahub_bundle \"]=self[\"chunk_pimcore_datahub_bundle \"]||[]).push([[\"109\"],{2551(e,n,t){var r,l,a,u,o,i,s=t(2812),c=t(9982);function f(e){for(var n=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,t=1;t<arguments.length;t++)n+=\"&args[]=\"+encodeURIComponent(arguments[t]);return\"Minified React error #\"+e+\"; visit \"+n+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var d=new Set,p={};function m(e,n){h(e,n),h(e+\"Capture\",n)}function h(e,n){for(p[e]=n,e=0;e<n.length;e++)d.add(n[e])}var g=\"u\">typeof window&&void 0!==window.document&&void 0!==window.document.createElement,v=Object.prototype.hasOwnProperty,y=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,b={},k={};function w(e,n,t,r,l,a,u){this.acceptsBooleans=2===n||3===n||4===n,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=t,this.propertyName=e,this.type=n,this.sanitizeURL=a,this.removeEmptyString=u}var S={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(e){S[e]=new w(e,0,!1,e,null,!1,!1)}),[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(e){var n=e[0];S[n]=new w(n,1,!1,e[1],null,!1,!1)}),[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(e){S[e]=new w(e,2,!1,e.toLowerCase(),null,!1,!1)}),[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(e){S[e]=new w(e,2,!1,e,null,!1,!1)}),\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(e){S[e]=new w(e,3,!1,e.toLowerCase(),null,!1,!1)}),[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(e){S[e]=new w(e,3,!0,e,null,!1,!1)}),[\"capture\",\"download\"].forEach(function(e){S[e]=new w(e,4,!1,e,null,!1,!1)}),[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(e){S[e]=new w(e,6,!1,e,null,!1,!1)}),[\"rowSpan\",\"start\"].forEach(function(e){S[e]=new w(e,5,!1,e.toLowerCase(),null,!1,!1)});var x=/[\\-:]([a-z])/g;function E(e){return e[1].toUpperCase()}function _(e,n,t,r){var l,a=S.hasOwnProperty(n)?S[n]:null;(null!==a?0!==a.type:r||!(2<n.length)||\"o\"!==n[0]&&\"O\"!==n[0]||\"n\"!==n[1]&&\"N\"!==n[1])&&(function(e,n,t,r){if(null==n||function(e,n,t,r){if(null!==t&&0===t.type)return!1;switch(typeof n){case\"function\":case\"symbol\":return!0;case\"boolean\":if(r)return!1;if(null!==t)return!t.acceptsBooleans;return\"data-\"!==(e=e.toLowerCase().slice(0,5))&&\"aria-\"!==e;default:return!1}}(e,n,t,r))return!0;if(r)return!1;if(null!==t)switch(t.type){case 3:return!n;case 4:return!1===n;case 5:return isNaN(n);case 6:return isNaN(n)||1>n}return!1}(n,t,a,r)&&(t=null),r||null===a?(l=n,(v.call(k,l)||!v.call(b,l)&&(y.test(l)?k[l]=!0:(b[l]=!0,!1)))&&(null===t?e.removeAttribute(n):e.setAttribute(n,\"\"+t))):a.mustUseProperty?e[a.propertyName]=null===t?3!==a.type&&\"\":t:(n=a.attributeName,r=a.attributeNamespace,null===t?e.removeAttribute(n):(t=3===(a=a.type)||4===a&&!0===t?\"\":\"\"+t,r?e.setAttributeNS(r,n,t):e.setAttribute(n,t))))}\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(e){var n=e.replace(x,E);S[n]=new w(n,1,!1,e,null,!1,!1)}),\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(e){var n=e.replace(x,E);S[n]=new w(n,1,!1,e,\"http://www.w3.org/1999/xlink\",!1,!1)}),[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(e){var n=e.replace(x,E);S[n]=new w(n,1,!1,e,\"http://www.w3.org/XML/1998/namespace\",!1,!1)}),[\"tabIndex\",\"crossOrigin\"].forEach(function(e){S[e]=new w(e,1,!1,e.toLowerCase(),null,!1,!1)}),S.xlinkHref=new w(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1),[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(e){S[e]=new w(e,1,!1,e.toLowerCase(),null,!0,!0)});var C=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,P=Symbol.for(\"react.element\"),N=Symbol.for(\"react.portal\"),z=Symbol.for(\"react.fragment\"),T=Symbol.for(\"react.strict_mode\"),L=Symbol.for(\"react.profiler\"),R=Symbol.for(\"react.provider\"),M=Symbol.for(\"react.context\"),F=Symbol.for(\"react.forward_ref\"),O=Symbol.for(\"react.suspense\"),D=Symbol.for(\"react.suspense_list\"),I=Symbol.for(\"react.memo\"),U=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\"),Symbol.for(\"react.debug_trace_mode\");var V=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\"),Symbol.for(\"react.cache\"),Symbol.for(\"react.tracing_marker\");var A=Symbol.iterator;function $(e){return null===e||\"object\"!=typeof e?null:\"function\"==typeof(e=A&&e[A]||e[\"@@iterator\"])?e:null}var j,B=Object.assign;function H(e){if(void 0===j)try{throw Error()}catch(e){var n=e.stack.trim().match(/\\n( *(at )?)/);j=n&&n[1]||\"\"}return\"\\n\"+j+e}var W=!1;function Q(e,n){if(!e||W)return\"\";W=!0;var t=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(n)if(n=function(){throw Error()},Object.defineProperty(n.prototype,\"props\",{set:function(){throw Error()}}),\"object\"==typeof Reflect&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}else{try{throw Error()}catch(e){r=e}e()}}catch(n){if(n&&r&&\"string\"==typeof n.stack){for(var l=n.stack.split(\"\\n\"),a=r.stack.split(\"\\n\"),u=l.length-1,o=a.length-1;1<=u&&0<=o&&l[u]!==a[o];)o--;for(;1<=u&&0<=o;u--,o--)if(l[u]!==a[o]){if(1!==u||1!==o)do if(u--,0>--o||l[u]!==a[o]){var i=\"\\n\"+l[u].replace(\" at new \",\" at \");return e.displayName&&i.includes(\"<anonymous>\")&&(i=i.replace(\"<anonymous>\",e.displayName)),i}while(1<=u&&0<=o);break}}}finally{W=!1,Error.prepareStackTrace=t}return(e=e?e.displayName||e.name:\"\")?H(e):\"\"}function q(e){switch(typeof e){case\"boolean\":case\"number\":case\"string\":case\"undefined\":case\"object\":return e;default:return\"\"}}function K(e){var n=e.type;return(e=e.nodeName)&&\"input\"===e.toLowerCase()&&(\"checkbox\"===n||\"radio\"===n)}function Y(e){e._valueTracker||(e._valueTracker=function(e){var n=K(e)?\"checked\":\"value\",t=Object.getOwnPropertyDescriptor(e.constructor.prototype,n),r=\"\"+e[n];if(!e.hasOwnProperty(n)&&void 0!==t&&\"function\"==typeof t.get&&\"function\"==typeof t.set){var l=t.get,a=t.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return l.call(this)},set:function(e){r=\"\"+e,a.call(this,e)}}),Object.defineProperty(e,n,{enumerable:t.enumerable}),{getValue:function(){return r},setValue:function(e){r=\"\"+e},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}(e))}function X(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var t=n.getValue(),r=\"\";return e&&(r=K(e)?e.checked?\"true\":\"false\":e.value),(e=r)!==t&&(n.setValue(e),!0)}function G(e){if(void 0===(e=e||(\"u\">typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(n){return e.body}}function Z(e,n){var t=n.checked;return B({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=t?t:e._wrapperState.initialChecked})}function J(e,n){var t=null==n.defaultValue?\"\":n.defaultValue;e._wrapperState={initialChecked:null!=n.checked?n.checked:n.defaultChecked,initialValue:t=q(null!=n.value?n.value:t),controlled:\"checkbox\"===n.type||\"radio\"===n.type?null!=n.checked:null!=n.value}}function ee(e,n){null!=(n=n.checked)&&_(e,\"checked\",n,!1)}function en(e,n){ee(e,n);var t=q(n.value),r=n.type;if(null!=t)\"number\"===r?(0===t&&\"\"===e.value||e.value!=t)&&(e.value=\"\"+t):e.value!==\"\"+t&&(e.value=\"\"+t);else if(\"submit\"===r||\"reset\"===r)return void e.removeAttribute(\"value\");n.hasOwnProperty(\"value\")?er(e,n.type,t):n.hasOwnProperty(\"defaultValue\")&&er(e,n.type,q(n.defaultValue)),null==n.checked&&null!=n.defaultChecked&&(e.defaultChecked=!!n.defaultChecked)}function et(e,n,t){if(n.hasOwnProperty(\"value\")||n.hasOwnProperty(\"defaultValue\")){var r=n.type;if((\"submit\"===r||\"reset\"===r)&&(void 0===n.value||null===n.value))return;n=\"\"+e._wrapperState.initialValue,t||n===e.value||(e.value=n),e.defaultValue=n}\"\"!==(t=e.name)&&(e.name=\"\"),e.defaultChecked=!!e._wrapperState.initialChecked,\"\"!==t&&(e.name=t)}function er(e,n,t){(\"number\"!==n||G(e.ownerDocument)!==e)&&(null==t?e.defaultValue=\"\"+e._wrapperState.initialValue:e.defaultValue!==\"\"+t&&(e.defaultValue=\"\"+t))}var el=Array.isArray;function ea(e,n,t,r){if(e=e.options,n){n={};for(var l=0;l<t.length;l++)n[\"$\"+t[l]]=!0;for(t=0;t<e.length;t++)l=n.hasOwnProperty(\"$\"+e[t].value),e[t].selected!==l&&(e[t].selected=l),l&&r&&(e[t].defaultSelected=!0)}else{for(l=0,t=\"\"+q(t),n=null;l<e.length;l++){if(e[l].value===t){e[l].selected=!0,r&&(e[l].defaultSelected=!0);return}null!==n||e[l].disabled||(n=e[l])}null!==n&&(n.selected=!0)}}function eu(e,n){if(null!=n.dangerouslySetInnerHTML)throw Error(f(91));return B({},n,{value:void 0,defaultValue:void 0,children:\"\"+e._wrapperState.initialValue})}function eo(e,n){var t=n.value;if(null==t){if(t=n.children,n=n.defaultValue,null!=t){if(null!=n)throw Error(f(92));if(el(t)){if(1<t.length)throw Error(f(93));t=t[0]}n=t}null==n&&(n=\"\"),t=n}e._wrapperState={initialValue:q(t)}}function ei(e,n){var t=q(n.value),r=q(n.defaultValue);null!=t&&((t=\"\"+t)!==e.value&&(e.value=t),null==n.defaultValue&&e.defaultValue!==t&&(e.defaultValue=t)),null!=r&&(e.defaultValue=\"\"+r)}function es(e){var n=e.textContent;n===e._wrapperState.initialValue&&\"\"!==n&&null!==n&&(e.value=n)}function ec(e){switch(e){case\"svg\":return\"http://www.w3.org/2000/svg\";case\"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function ef(e,n){return null==e||\"http://www.w3.org/1999/xhtml\"===e?ec(n):\"http://www.w3.org/2000/svg\"===e&&\"foreignObject\"===n?\"http://www.w3.org/1999/xhtml\":e}var ed,ep,em=(ed=function(e,n){if(\"http://www.w3.org/2000/svg\"!==e.namespaceURI||\"innerHTML\"in e)e.innerHTML=n;else{for((ep=ep||document.createElement(\"div\")).innerHTML=\"<svg>\"+n.valueOf().toString()+\"</svg>\",n=ep.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;n.firstChild;)e.appendChild(n.firstChild)}},\"u\">typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,n,t,r){MSApp.execUnsafeLocalFunction(function(){return ed(e,n,t,r)})}:ed);function eh(e,n){if(n){var t=e.firstChild;if(t&&t===e.lastChild&&3===t.nodeType){t.nodeValue=n;return}}e.textContent=n}var eg={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ev=[\"Webkit\",\"ms\",\"Moz\",\"O\"];function ey(e,n,t){return null==n||\"boolean\"==typeof n||\"\"===n?\"\":t||\"number\"!=typeof n||0===n||eg.hasOwnProperty(e)&&eg[e]?(\"\"+n).trim():n+\"px\"}function eb(e,n){for(var t in e=e.style,n)if(n.hasOwnProperty(t)){var r=0===t.indexOf(\"--\"),l=ey(t,n[t],r);\"float\"===t&&(t=\"cssFloat\"),r?e.setProperty(t,l):e[t]=l}}Object.keys(eg).forEach(function(e){ev.forEach(function(n){eg[n=n+e.charAt(0).toUpperCase()+e.substring(1)]=eg[e]})});var ek=B({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ew(e,n){if(n){if(ek[e]&&(null!=n.children||null!=n.dangerouslySetInnerHTML))throw Error(f(137,e));if(null!=n.dangerouslySetInnerHTML){if(null!=n.children)throw Error(f(60));if(\"object\"!=typeof n.dangerouslySetInnerHTML||!(\"__html\"in n.dangerouslySetInnerHTML))throw Error(f(61))}if(null!=n.style&&\"object\"!=typeof n.style)throw Error(f(62))}}function eS(e,n){if(-1===e.indexOf(\"-\"))return\"string\"==typeof n.is;switch(e){case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return!1;default:return!0}}var ex=null;function eE(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var e_=null,eC=null,eP=null;function eN(e){if(e=rD(e)){if(\"function\"!=typeof e_)throw Error(f(280));var n=e.stateNode;n&&(n=rU(n),e_(e.stateNode,e.type,n))}}function ez(e){eC?eP?eP.push(e):eP=[e]:eC=e}function eT(){if(eC){var e=eC,n=eP;if(eP=eC=null,eN(e),n)for(e=0;e<n.length;e++)eN(n[e])}}function eL(e,n){return e(n)}function eR(){}var eM=!1;function eF(e,n,t){if(eM)return e(n,t);eM=!0;try{return eL(e,n,t)}finally{eM=!1,(null!==eC||null!==eP)&&(eR(),eT())}}function eO(e,n){var t=e.stateNode;if(null===t)return null;var r=rU(t);if(null===r)return null;switch(t=r[n],n){case\"onClick\":case\"onClickCapture\":case\"onDoubleClick\":case\"onDoubleClickCapture\":case\"onMouseDown\":case\"onMouseDownCapture\":case\"onMouseMove\":case\"onMouseMoveCapture\":case\"onMouseUp\":case\"onMouseUpCapture\":case\"onMouseEnter\":(r=!r.disabled)||(r=\"button\"!==(e=e.type)&&\"input\"!==e&&\"select\"!==e&&\"textarea\"!==e),e=!r;break;default:e=!1}if(e)return null;if(t&&\"function\"!=typeof t)throw Error(f(231,n,typeof t));return t}var eD=!1;if(g)try{var eI={};Object.defineProperty(eI,\"passive\",{get:function(){eD=!0}}),window.addEventListener(\"test\",eI,eI),window.removeEventListener(\"test\",eI,eI)}catch(e){eD=!1}function eU(e,n,t,r,l,a,u,o,i){var s=Array.prototype.slice.call(arguments,3);try{n.apply(t,s)}catch(e){this.onError(e)}}var eV=!1,eA=null,e$=!1,ej=null,eB={onError:function(e){eV=!0,eA=e}};function eH(e,n,t,r,l,a,u,o,i){eV=!1,eA=null,eU.apply(eB,arguments)}function eW(e){var n=e,t=e;if(e.alternate)for(;n.return;)n=n.return;else{e=n;do 0!=(4098&(n=e).flags)&&(t=n.return),e=n.return;while(e)}return 3===n.tag?t:null}function eQ(e){if(13===e.tag){var n=e.memoizedState;if(null===n&&null!==(e=e.alternate)&&(n=e.memoizedState),null!==n)return n.dehydrated}return null}function eq(e){if(eW(e)!==e)throw Error(f(188))}function eK(e){return null!==(e=function(e){var n=e.alternate;if(!n){if(null===(n=eW(e)))throw Error(f(188));return n!==e?null:e}for(var t=e,r=n;;){var l=t.return;if(null===l)break;var a=l.alternate;if(null===a){if(null!==(r=l.return)){t=r;continue}break}if(l.child===a.child){for(a=l.child;a;){if(a===t)return eq(l),e;if(a===r)return eq(l),n;a=a.sibling}throw Error(f(188))}if(t.return!==r.return)t=l,r=a;else{for(var u=!1,o=l.child;o;){if(o===t){u=!0,t=l,r=a;break}if(o===r){u=!0,r=l,t=a;break}o=o.sibling}if(!u){for(o=a.child;o;){if(o===t){u=!0,t=a,r=l;break}if(o===r){u=!0,r=a,t=l;break}o=o.sibling}if(!u)throw Error(f(189))}}if(t.alternate!==r)throw Error(f(190))}if(3!==t.tag)throw Error(f(188));return t.stateNode.current===t?e:n}(e))?function e(n){if(5===n.tag||6===n.tag)return n;for(n=n.child;null!==n;){var t=e(n);if(null!==t)return t;n=n.sibling}return null}(e):null}var eY=c.unstable_scheduleCallback,eX=c.unstable_cancelCallback,eG=c.unstable_shouldYield,eZ=c.unstable_requestPaint,eJ=c.unstable_now,e0=c.unstable_getCurrentPriorityLevel,e1=c.unstable_ImmediatePriority,e2=c.unstable_UserBlockingPriority,e3=c.unstable_NormalPriority,e4=c.unstable_LowPriority,e8=c.unstable_IdlePriority,e5=null,e6=null,e9=Math.clz32?Math.clz32:function(e){return 0==(e>>>=0)?32:31-(e7(e)/ne|0)|0},e7=Math.log,ne=Math.LN2,nn=64,nt=4194304;function nr(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 0x1000000:case 0x2000000:case 0x4000000:return 0x7c00000&e;case 0x8000000:return 0x8000000;case 0x10000000:return 0x10000000;case 0x20000000:return 0x20000000;case 0x40000000:return 0x40000000;default:return e}}function nl(e,n){var t=e.pendingLanes;if(0===t)return 0;var r=0,l=e.suspendedLanes,a=e.pingedLanes,u=0xfffffff&t;if(0!==u){var o=u&~l;0!==o?r=nr(o):0!=(a&=u)&&(r=nr(a))}else 0!=(u=t&~l)?r=nr(u):0!==a&&(r=nr(a));if(0===r)return 0;if(0!==n&&n!==r&&0==(n&l)&&((l=r&-r)>=(a=n&-n)||16===l&&0!=(4194240&a)))return n;if(0!=(4&r)&&(r|=16&t),0!==(n=e.entangledLanes))for(e=e.entanglements,n&=r;0<n;)l=1<<(t=31-e9(n)),r|=e[t],n&=~l;return r}function na(e){return 0!=(e=-0x40000001&e.pendingLanes)?e:0x40000000&e?0x40000000:0}function nu(){var e=nn;return 0==(4194240&(nn<<=1))&&(nn=64),e}function no(e){for(var n=[],t=0;31>t;t++)n.push(e);return n}function ni(e,n,t){e.pendingLanes|=n,0x20000000!==n&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[n=31-e9(n)]=t}function ns(e,n){var t=e.entangledLanes|=n;for(e=e.entanglements;t;){var r=31-e9(t),l=1<<r;l&n|e[r]&n&&(e[r]|=n),t&=~l}}var nc=0;function nf(e){return 1<(e&=-e)?4<e?0!=(0xfffffff&e)?16:0x20000000:4:1}var nd,np,nm,nh,ng,nv=!1,ny=[],nb=null,nk=null,nw=null,nS=new Map,nx=new Map,nE=[],n_=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");function nC(e,n){switch(e){case\"focusin\":case\"focusout\":nb=null;break;case\"dragenter\":case\"dragleave\":nk=null;break;case\"mouseover\":case\"mouseout\":nw=null;break;case\"pointerover\":case\"pointerout\":nS.delete(n.pointerId);break;case\"gotpointercapture\":case\"lostpointercapture\":nx.delete(n.pointerId)}}function nP(e,n,t,r,l,a){return null===e||e.nativeEvent!==a?(e={blockedOn:n,domEventName:t,eventSystemFlags:r,nativeEvent:a,targetContainers:[l]},null!==n&&null!==(n=rD(n))&&np(n)):(e.eventSystemFlags|=r,n=e.targetContainers,null!==l&&-1===n.indexOf(l)&&n.push(l)),e}function nN(e){var n=rO(e.target);if(null!==n){var t=eW(n);if(null!==t){if(13===(n=t.tag)){if(null!==(n=eQ(t))){e.blockedOn=n,ng(e.priority,function(){nm(t)});return}}else if(3===n&&t.stateNode.current.memoizedState.isDehydrated){e.blockedOn=3===t.tag?t.stateNode.containerInfo:null;return}}}e.blockedOn=null}function nz(e){if(null!==e.blockedOn)return!1;for(var n=e.targetContainers;0<n.length;){var t=nA(e.domEventName,e.eventSystemFlags,n[0],e.nativeEvent);if(null!==t)return null!==(n=rD(t))&&np(n),e.blockedOn=t,!1;var r=new(t=e.nativeEvent).constructor(t.type,t);ex=r,t.target.dispatchEvent(r),ex=null,n.shift()}return!0}function nT(e,n,t){nz(e)&&t.delete(n)}function nL(){nv=!1,null!==nb&&nz(nb)&&(nb=null),null!==nk&&nz(nk)&&(nk=null),null!==nw&&nz(nw)&&(nw=null),nS.forEach(nT),nx.forEach(nT)}function nR(e,n){e.blockedOn===n&&(e.blockedOn=null,nv||(nv=!0,c.unstable_scheduleCallback(c.unstable_NormalPriority,nL)))}function nM(e){function n(n){return nR(n,e)}if(0<ny.length){nR(ny[0],e);for(var t=1;t<ny.length;t++){var r=ny[t];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==nb&&nR(nb,e),null!==nk&&nR(nk,e),null!==nw&&nR(nw,e),nS.forEach(n),nx.forEach(n),t=0;t<nE.length;t++)(r=nE[t]).blockedOn===e&&(r.blockedOn=null);for(;0<nE.length&&null===(t=nE[0]).blockedOn;)nN(t),null===t.blockedOn&&nE.shift()}var nF=C.ReactCurrentBatchConfig,nO=!0;function nD(e,n,t,r){var l=nc,a=nF.transition;nF.transition=null;try{nc=1,nU(e,n,t,r)}finally{nc=l,nF.transition=a}}function nI(e,n,t,r){var l=nc,a=nF.transition;nF.transition=null;try{nc=4,nU(e,n,t,r)}finally{nc=l,nF.transition=a}}function nU(e,n,t,r){if(nO){var l=nA(e,n,t,r);if(null===l)ro(e,n,r,nV,t),nC(e,r);else if(function(e,n,t,r,l){switch(n){case\"focusin\":return nb=nP(nb,e,n,t,r,l),!0;case\"dragenter\":return nk=nP(nk,e,n,t,r,l),!0;case\"mouseover\":return nw=nP(nw,e,n,t,r,l),!0;case\"pointerover\":var a=l.pointerId;return nS.set(a,nP(nS.get(a)||null,e,n,t,r,l)),!0;case\"gotpointercapture\":return a=l.pointerId,nx.set(a,nP(nx.get(a)||null,e,n,t,r,l)),!0}return!1}(l,e,n,t,r))r.stopPropagation();else if(nC(e,r),4&n&&-1<n_.indexOf(e)){for(;null!==l;){var a=rD(l);if(null!==a&&nd(a),null===(a=nA(e,n,t,r))&&ro(e,n,r,nV,t),a===l)break;l=a}null!==l&&r.stopPropagation()}else ro(e,n,r,null,t)}}var nV=null;function nA(e,n,t,r){if(nV=null,null!==(e=rO(e=eE(r))))if(null===(n=eW(e)))e=null;else if(13===(t=n.tag)){if(null!==(e=eQ(n)))return e;e=null}else if(3===t){if(n.stateNode.current.memoizedState.isDehydrated)return 3===n.tag?n.stateNode.containerInfo:null;e=null}else n!==e&&(e=null);return nV=e,null}function n$(e){switch(e){case\"cancel\":case\"click\":case\"close\":case\"contextmenu\":case\"copy\":case\"cut\":case\"auxclick\":case\"dblclick\":case\"dragend\":case\"dragstart\":case\"drop\":case\"focusin\":case\"focusout\":case\"input\":case\"invalid\":case\"keydown\":case\"keypress\":case\"keyup\":case\"mousedown\":case\"mouseup\":case\"paste\":case\"pause\":case\"play\":case\"pointercancel\":case\"pointerdown\":case\"pointerup\":case\"ratechange\":case\"reset\":case\"resize\":case\"seeked\":case\"submit\":case\"touchcancel\":case\"touchend\":case\"touchstart\":case\"volumechange\":case\"change\":case\"selectionchange\":case\"textInput\":case\"compositionstart\":case\"compositionend\":case\"compositionupdate\":case\"beforeblur\":case\"afterblur\":case\"beforeinput\":case\"blur\":case\"fullscreenchange\":case\"focus\":case\"hashchange\":case\"popstate\":case\"select\":case\"selectstart\":return 1;case\"drag\":case\"dragenter\":case\"dragexit\":case\"dragleave\":case\"dragover\":case\"mousemove\":case\"mouseout\":case\"mouseover\":case\"pointermove\":case\"pointerout\":case\"pointerover\":case\"scroll\":case\"toggle\":case\"touchmove\":case\"wheel\":case\"mouseenter\":case\"mouseleave\":case\"pointerenter\":case\"pointerleave\":return 4;case\"message\":switch(e0()){case e1:return 1;case e2:return 4;case e3:case e4:return 16;case e8:return 0x20000000;default:return 16}default:return 16}}var nj=null,nB=null,nH=null;function nW(){if(nH)return nH;var e,n,t=nB,r=t.length,l=\"value\"in nj?nj.value:nj.textContent,a=l.length;for(e=0;e<r&&t[e]===l[e];e++);var u=r-e;for(n=1;n<=u&&t[r-n]===l[a-n];n++);return nH=l.slice(e,1<n?1-n:void 0)}function nQ(e){var n=e.keyCode;return\"charCode\"in e?0===(e=e.charCode)&&13===n&&(e=13):e=n,10===e&&(e=13),32<=e||13===e?e:0}function nq(){return!0}function nK(){return!1}function nY(e){function n(n,t,r,l,a){for(var u in this._reactName=n,this._targetInst=r,this.type=t,this.nativeEvent=l,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(u)&&(n=e[u],this[u]=n?n(l):l[u]);return this.isDefaultPrevented=(null!=l.defaultPrevented?l.defaultPrevented:!1===l.returnValue)?nq:nK,this.isPropagationStopped=nK,this}return B(n.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():\"unknown\"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=nq)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():\"unknown\"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=nq)},persist:function(){},isPersistent:nq}),n}var nX,nG,nZ,nJ={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},n0=nY(nJ),n1=B({},nJ,{view:0,detail:0}),n2=nY(n1),n3=B({},n1,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:tl,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return\"movementX\"in e?e.movementX:(e!==nZ&&(nZ&&\"mousemove\"===e.type?(nX=e.screenX-nZ.screenX,nG=e.screenY-nZ.screenY):nG=nX=0,nZ=e),nX)},movementY:function(e){return\"movementY\"in e?e.movementY:nG}}),n4=nY(n3),n8=nY(B({},n3,{dataTransfer:0})),n5=nY(B({},n1,{relatedTarget:0})),n6=nY(B({},nJ,{animationName:0,elapsedTime:0,pseudoElement:0})),n9=nY(B({},nJ,{clipboardData:function(e){return\"clipboardData\"in e?e.clipboardData:window.clipboardData}})),n7=nY(B({},nJ,{data:0})),te={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},tn={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},tt={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function tr(e){var n=this.nativeEvent;return n.getModifierState?n.getModifierState(e):!!(e=tt[e])&&!!n[e]}function tl(){return tr}var ta=nY(B({},n1,{key:function(e){if(e.key){var n=te[e.key]||e.key;if(\"Unidentified\"!==n)return n}return\"keypress\"===e.type?13===(e=nQ(e))?\"Enter\":String.fromCharCode(e):\"keydown\"===e.type||\"keyup\"===e.type?tn[e.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:tl,charCode:function(e){return\"keypress\"===e.type?nQ(e):0},keyCode:function(e){return\"keydown\"===e.type||\"keyup\"===e.type?e.keyCode:0},which:function(e){return\"keypress\"===e.type?nQ(e):\"keydown\"===e.type||\"keyup\"===e.type?e.keyCode:0}})),tu=nY(B({},n3,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),to=nY(B({},n1,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:tl})),ti=nY(B({},nJ,{propertyName:0,elapsedTime:0,pseudoElement:0})),ts=nY(B({},n3,{deltaX:function(e){return\"deltaX\"in e?e.deltaX:\"wheelDeltaX\"in e?-e.wheelDeltaX:0},deltaY:function(e){return\"deltaY\"in e?e.deltaY:\"wheelDeltaY\"in e?-e.wheelDeltaY:\"wheelDelta\"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),tc=[9,13,27,32],tf=g&&\"CompositionEvent\"in window,td=null;g&&\"documentMode\"in document&&(td=document.documentMode);var tp=g&&\"TextEvent\"in window&&!td,tm=g&&(!tf||td&&8<td&&11>=td),th=!1;function tg(e,n){switch(e){case\"keyup\":return -1!==tc.indexOf(n.keyCode);case\"keydown\":return 229!==n.keyCode;case\"keypress\":case\"mousedown\":case\"focusout\":return!0;default:return!1}}function tv(e){return\"object\"==typeof(e=e.detail)&&\"data\"in e?e.data:null}var ty=!1,tb={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function tk(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return\"input\"===n?!!tb[e.type]:\"textarea\"===n}function tw(e,n,t,r){ez(r),0<(n=rs(n,\"onChange\")).length&&(t=new n0(\"onChange\",\"change\",null,t,r),e.push({event:t,listeners:n}))}var tS=null,tx=null;function tE(e){rn(e,0)}function t_(e){if(X(rI(e)))return e}function tC(e,n){if(\"change\"===e)return n}var tP=!1;if(g){if(g){var tN=\"oninput\"in document;if(!tN){var tz=document.createElement(\"div\");tz.setAttribute(\"oninput\",\"return;\"),tN=\"function\"==typeof tz.oninput}r=tN}else r=!1;tP=r&&(!document.documentMode||9<document.documentMode)}function tT(){tS&&(tS.detachEvent(\"onpropertychange\",tL),tx=tS=null)}function tL(e){if(\"value\"===e.propertyName&&t_(tx)){var n=[];tw(n,tx,e,eE(e)),eF(tE,n)}}function tR(e,n,t){\"focusin\"===e?(tT(),tS=n,tx=t,tS.attachEvent(\"onpropertychange\",tL)):\"focusout\"===e&&tT()}function tM(e){if(\"selectionchange\"===e||\"keyup\"===e||\"keydown\"===e)return t_(tx)}function tF(e,n){if(\"click\"===e)return t_(n)}function tO(e,n){if(\"input\"===e||\"change\"===e)return t_(n)}var tD=\"function\"==typeof Object.is?Object.is:function(e,n){return e===n&&(0!==e||1/e==1/n)||e!=e&&n!=n};function tI(e,n){if(tD(e,n))return!0;if(\"object\"!=typeof e||null===e||\"object\"!=typeof n||null===n)return!1;var t=Object.keys(e),r=Object.keys(n);if(t.length!==r.length)return!1;for(r=0;r<t.length;r++){var l=t[r];if(!v.call(n,l)||!tD(e[l],n[l]))return!1}return!0}function tU(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function tV(e,n){var t,r=tU(e);for(e=0;r;){if(3===r.nodeType){if(t=e+r.textContent.length,e<=n&&t>=n)return{node:r,offset:n-e};e=t}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=tU(r)}}function tA(){for(var e=window,n=G();n instanceof e.HTMLIFrameElement;){try{var t=\"string\"==typeof n.contentWindow.location.href}catch(e){t=!1}if(t)e=n.contentWindow;else break;n=G(e.document)}return n}function t$(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(\"input\"===n&&(\"text\"===e.type||\"search\"===e.type||\"tel\"===e.type||\"url\"===e.type||\"password\"===e.type)||\"textarea\"===n||\"true\"===e.contentEditable)}var tj=g&&\"documentMode\"in document&&11>=document.documentMode,tB=null,tH=null,tW=null,tQ=!1;function tq(e,n,t){var r=t.window===t?t.document:9===t.nodeType?t:t.ownerDocument;tQ||null==tB||tB!==G(r)||(r=\"selectionStart\"in(r=tB)&&t$(r)?{start:r.selectionStart,end:r.selectionEnd}:{anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},tW&&tI(tW,r)||(tW=r,0<(r=rs(tH,\"onSelect\")).length&&(n=new n0(\"onSelect\",\"select\",null,n,t),e.push({event:n,listeners:r}),n.target=tB)))}function tK(e,n){var t={};return t[e.toLowerCase()]=n.toLowerCase(),t[\"Webkit\"+e]=\"webkit\"+n,t[\"Moz\"+e]=\"moz\"+n,t}var tY={animationend:tK(\"Animation\",\"AnimationEnd\"),animationiteration:tK(\"Animation\",\"AnimationIteration\"),animationstart:tK(\"Animation\",\"AnimationStart\"),transitionend:tK(\"Transition\",\"TransitionEnd\")},tX={},tG={};function tZ(e){if(tX[e])return tX[e];if(!tY[e])return e;var n,t=tY[e];for(n in t)if(t.hasOwnProperty(n)&&n in tG)return tX[e]=t[n];return e}g&&(tG=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete tY.animationend.animation,delete tY.animationiteration.animation,delete tY.animationstart.animation),\"TransitionEvent\"in window||delete tY.transitionend.transition);var tJ=tZ(\"animationend\"),t0=tZ(\"animationiteration\"),t1=tZ(\"animationstart\"),t2=tZ(\"transitionend\"),t3=new Map,t4=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");function t8(e,n){t3.set(e,n),m(n,[e])}for(var t5=0;t5<t4.length;t5++){var t6=t4[t5];t8(t6.toLowerCase(),\"on\"+(t6[0].toUpperCase()+t6.slice(1)))}t8(tJ,\"onAnimationEnd\"),t8(t0,\"onAnimationIteration\"),t8(t1,\"onAnimationStart\"),t8(\"dblclick\",\"onDoubleClick\"),t8(\"focusin\",\"onFocus\"),t8(\"focusout\",\"onBlur\"),t8(t2,\"onTransitionEnd\"),h(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]),h(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]),h(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]),h(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]),m(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \")),m(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \")),m(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]),m(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \")),m(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \")),m(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var t9=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),t7=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(t9));function re(e,n,t){var r=e.type||\"unknown-event\";e.currentTarget=t,function(e,n,t,r,l,a,u,o,i){if(eH.apply(this,arguments),eV){if(eV){var s=eA;eV=!1,eA=null}else throw Error(f(198));e$||(e$=!0,ej=s)}}(r,n,void 0,e),e.currentTarget=null}function rn(e,n){n=0!=(4&n);for(var t=0;t<e.length;t++){var r=e[t],l=r.event;r=r.listeners;e:{var a=void 0;if(n)for(var u=r.length-1;0<=u;u--){var o=r[u],i=o.instance,s=o.currentTarget;if(o=o.listener,i!==a&&l.isPropagationStopped())break e;re(l,o,s),a=i}else for(u=0;u<r.length;u++){if(i=(o=r[u]).instance,s=o.currentTarget,o=o.listener,i!==a&&l.isPropagationStopped())break e;re(l,o,s),a=i}}}if(e$)throw e=ej,e$=!1,ej=null,e}function rt(e,n){var t=n[rR];void 0===t&&(t=n[rR]=new Set);var r=e+\"__bubble\";t.has(r)||(ru(n,e,2,!1),t.add(r))}function rr(e,n,t){var r=0;n&&(r|=4),ru(t,e,r,n)}var rl=\"_reactListening\"+Math.random().toString(36).slice(2);function ra(e){if(!e[rl]){e[rl]=!0,d.forEach(function(n){\"selectionchange\"!==n&&(t7.has(n)||rr(n,!1,e),rr(n,!0,e))});var n=9===e.nodeType?e:e.ownerDocument;null===n||n[rl]||(n[rl]=!0,rr(\"selectionchange\",!1,n))}}function ru(e,n,t,r){switch(n$(n)){case 1:var l=nD;break;case 4:l=nI;break;default:l=nU}t=l.bind(null,n,t,e),l=void 0,eD&&(\"touchstart\"===n||\"touchmove\"===n||\"wheel\"===n)&&(l=!0),r?void 0!==l?e.addEventListener(n,t,{capture:!0,passive:l}):e.addEventListener(n,t,!0):void 0!==l?e.addEventListener(n,t,{passive:l}):e.addEventListener(n,t,!1)}function ro(e,n,t,r,l){var a=r;if(0==(1&n)&&0==(2&n)&&null!==r)e:for(;;){if(null===r)return;var u=r.tag;if(3===u||4===u){var o=r.stateNode.containerInfo;if(o===l||8===o.nodeType&&o.parentNode===l)break;if(4===u)for(u=r.return;null!==u;){var i=u.tag;if((3===i||4===i)&&((i=u.stateNode.containerInfo)===l||8===i.nodeType&&i.parentNode===l))return;u=u.return}for(;null!==o;){if(null===(u=rO(o)))return;if(5===(i=u.tag)||6===i){r=a=u;continue e}o=o.parentNode}}r=r.return}eF(function(){var r=a,l=eE(t),u=[];e:{var o=t3.get(e);if(void 0!==o){var i=n0,s=e;switch(e){case\"keypress\":if(0===nQ(t))break e;case\"keydown\":case\"keyup\":i=ta;break;case\"focusin\":s=\"focus\",i=n5;break;case\"focusout\":s=\"blur\",i=n5;break;case\"beforeblur\":case\"afterblur\":i=n5;break;case\"click\":if(2===t.button)break e;case\"auxclick\":case\"dblclick\":case\"mousedown\":case\"mousemove\":case\"mouseup\":case\"mouseout\":case\"mouseover\":case\"contextmenu\":i=n4;break;case\"drag\":case\"dragend\":case\"dragenter\":case\"dragexit\":case\"dragleave\":case\"dragover\":case\"dragstart\":case\"drop\":i=n8;break;case\"touchcancel\":case\"touchend\":case\"touchmove\":case\"touchstart\":i=to;break;case tJ:case t0:case t1:i=n6;break;case t2:i=ti;break;case\"scroll\":i=n2;break;case\"wheel\":i=ts;break;case\"copy\":case\"cut\":case\"paste\":i=n9;break;case\"gotpointercapture\":case\"lostpointercapture\":case\"pointercancel\":case\"pointerdown\":case\"pointermove\":case\"pointerout\":case\"pointerover\":case\"pointerup\":i=tu}var c=0!=(4&n),f=!c&&\"scroll\"===e,d=c?null!==o?o+\"Capture\":null:o;c=[];for(var p,m=r;null!==m;){var h=(p=m).stateNode;if(5===p.tag&&null!==h&&(p=h,null!==d&&null!=(h=eO(m,d))&&c.push(ri(m,h,p))),f)break;m=m.return}0<c.length&&(o=new i(o,s,null,t,l),u.push({event:o,listeners:c}))}}if(0==(7&n)){if((o=\"mouseover\"===e||\"pointerover\"===e,i=\"mouseout\"===e||\"pointerout\"===e,!(o&&t!==ex&&(s=t.relatedTarget||t.fromElement)&&(rO(s)||s[rL])))&&(i||o)&&(o=l.window===l?l:(o=l.ownerDocument)?o.defaultView||o.parentWindow:window,i?(s=t.relatedTarget||t.toElement,i=r,null!==(s=s?rO(s):null)&&(f=eW(s),s!==f||5!==s.tag&&6!==s.tag)&&(s=null)):(i=null,s=r),i!==s)){if(c=n4,h=\"onMouseLeave\",d=\"onMouseEnter\",m=\"mouse\",(\"pointerout\"===e||\"pointerover\"===e)&&(c=tu,h=\"onPointerLeave\",d=\"onPointerEnter\",m=\"pointer\"),f=null==i?o:rI(i),p=null==s?o:rI(s),(o=new c(h,m+\"leave\",i,t,l)).target=f,o.relatedTarget=p,h=null,rO(l)===r&&((c=new c(d,m+\"enter\",s,t,l)).target=p,c.relatedTarget=f,h=c),f=h,i&&s)n:{for(c=i,d=s,m=0,p=c;p;p=rc(p))m++;for(p=0,h=d;h;h=rc(h))p++;for(;0<m-p;)c=rc(c),m--;for(;0<p-m;)d=rc(d),p--;for(;m--;){if(c===d||null!==d&&c===d.alternate)break n;c=rc(c),d=rc(d)}c=null}else c=null;null!==i&&rf(u,o,i,c,!1),null!==s&&null!==f&&rf(u,f,s,c,!0)}e:{if(\"select\"===(i=(o=r?rI(r):window).nodeName&&o.nodeName.toLowerCase())||\"input\"===i&&\"file\"===o.type)var g,v=tC;else if(tk(o))if(tP)v=tO;else{v=tM;var y=tR}else(i=o.nodeName)&&\"input\"===i.toLowerCase()&&(\"checkbox\"===o.type||\"radio\"===o.type)&&(v=tF);if(v&&(v=v(e,r))){tw(u,v,t,l);break e}y&&y(e,o,r),\"focusout\"===e&&(y=o._wrapperState)&&y.controlled&&\"number\"===o.type&&er(o,\"number\",o.value)}switch(y=r?rI(r):window,e){case\"focusin\":(tk(y)||\"true\"===y.contentEditable)&&(tB=y,tH=r,tW=null);break;case\"focusout\":tW=tH=tB=null;break;case\"mousedown\":tQ=!0;break;case\"contextmenu\":case\"mouseup\":case\"dragend\":tQ=!1,tq(u,t,l);break;case\"selectionchange\":if(tj)break;case\"keydown\":case\"keyup\":tq(u,t,l)}if(tf)n:{switch(e){case\"compositionstart\":var b=\"onCompositionStart\";break n;case\"compositionend\":b=\"onCompositionEnd\";break n;case\"compositionupdate\":b=\"onCompositionUpdate\";break n}b=void 0}else ty?tg(e,t)&&(b=\"onCompositionEnd\"):\"keydown\"===e&&229===t.keyCode&&(b=\"onCompositionStart\");b&&(tm&&\"ko\"!==t.locale&&(ty||\"onCompositionStart\"!==b?\"onCompositionEnd\"===b&&ty&&(g=nW()):(nB=\"value\"in(nj=l)?nj.value:nj.textContent,ty=!0)),0<(y=rs(r,b)).length&&(b=new n7(b,e,null,t,l),u.push({event:b,listeners:y}),g?b.data=g:null!==(g=tv(t))&&(b.data=g))),(g=tp?function(e,n){switch(e){case\"compositionend\":return tv(n);case\"keypress\":if(32!==n.which)return null;return th=!0,\" \";case\"textInput\":return\" \"===(e=n.data)&&th?null:e;default:return null}}(e,t):function(e,n){if(ty)return\"compositionend\"===e||!tf&&tg(e,n)?(e=nW(),nH=nB=nj=null,ty=!1,e):null;switch(e){case\"paste\":default:return null;case\"keypress\":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1<n.char.length)return n.char;if(n.which)return String.fromCharCode(n.which)}return null;case\"compositionend\":return tm&&\"ko\"!==n.locale?null:n.data}}(e,t))&&0<(r=rs(r,\"onBeforeInput\")).length&&(l=new n7(\"onBeforeInput\",\"beforeinput\",null,t,l),u.push({event:l,listeners:r}),l.data=g)}rn(u,n)})}function ri(e,n,t){return{instance:e,listener:n,currentTarget:t}}function rs(e,n){for(var t=n+\"Capture\",r=[];null!==e;){var l=e,a=l.stateNode;5===l.tag&&null!==a&&(l=a,null!=(a=eO(e,t))&&r.unshift(ri(e,a,l)),null!=(a=eO(e,n))&&r.push(ri(e,a,l))),e=e.return}return r}function rc(e){if(null===e)return null;do e=e.return;while(e&&5!==e.tag);return e||null}function rf(e,n,t,r,l){for(var a=n._reactName,u=[];null!==t&&t!==r;){var o=t,i=o.alternate,s=o.stateNode;if(null!==i&&i===r)break;5===o.tag&&null!==s&&(o=s,l?null!=(i=eO(t,a))&&u.unshift(ri(t,i,o)):l||null!=(i=eO(t,a))&&u.push(ri(t,i,o))),t=t.return}0!==u.length&&e.push({event:n,listeners:u})}var rd=/\\r\\n?/g,rp=/\\u0000|\\uFFFD/g;function rm(e){return(\"string\"==typeof e?e:\"\"+e).replace(rd,\"\\n\").replace(rp,\"\")}function rh(e,n,t){if(n=rm(n),rm(e)!==n&&t)throw Error(f(425))}function rg(){}var rv=null,ry=null;function rb(e,n){return\"textarea\"===e||\"noscript\"===e||\"string\"==typeof n.children||\"number\"==typeof n.children||\"object\"==typeof n.dangerouslySetInnerHTML&&null!==n.dangerouslySetInnerHTML&&null!=n.dangerouslySetInnerHTML.__html}var rk=\"function\"==typeof setTimeout?setTimeout:void 0,rw=\"function\"==typeof clearTimeout?clearTimeout:void 0,rS=\"function\"==typeof Promise?Promise:void 0,rx=\"function\"==typeof queueMicrotask?queueMicrotask:void 0!==rS?function(e){return rS.resolve(null).then(e).catch(rE)}:rk;function rE(e){setTimeout(function(){throw e})}function r_(e,n){var t=n,r=0;do{var l=t.nextSibling;if(e.removeChild(t),l&&8===l.nodeType)if(\"/$\"===(t=l.data)){if(0===r){e.removeChild(l),nM(n);return}r--}else\"$\"!==t&&\"$?\"!==t&&\"$!\"!==t||r++;t=l}while(t);nM(n)}function rC(e){for(;null!=e;e=e.nextSibling){var n=e.nodeType;if(1===n||3===n)break;if(8===n){if(\"$\"===(n=e.data)||\"$!\"===n||\"$?\"===n)break;if(\"/$\"===n)return null}}return e}function rP(e){e=e.previousSibling;for(var n=0;e;){if(8===e.nodeType){var t=e.data;if(\"$\"===t||\"$!\"===t||\"$?\"===t){if(0===n)return e;n--}else\"/$\"===t&&n++}e=e.previousSibling}return null}var rN=Math.random().toString(36).slice(2),rz=\"__reactFiber$\"+rN,rT=\"__reactProps$\"+rN,rL=\"__reactContainer$\"+rN,rR=\"__reactEvents$\"+rN,rM=\"__reactListeners$\"+rN,rF=\"__reactHandles$\"+rN;function rO(e){var n=e[rz];if(n)return n;for(var t=e.parentNode;t;){if(n=t[rL]||t[rz]){if(t=n.alternate,null!==n.child||null!==t&&null!==t.child)for(e=rP(e);null!==e;){if(t=e[rz])return t;e=rP(e)}return n}t=(e=t).parentNode}return null}function rD(e){return(e=e[rz]||e[rL])&&(5===e.tag||6===e.tag||13===e.tag||3===e.tag)?e:null}function rI(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(f(33))}function rU(e){return e[rT]||null}var rV=[],rA=-1;function r$(e){return{current:e}}function rj(e){0>rA||(e.current=rV[rA],rV[rA]=null,rA--)}function rB(e,n){rV[++rA]=e.current,e.current=n}var rH={},rW=r$(rH),rQ=r$(!1),rq=rH;function rK(e,n){var t=e.type.contextTypes;if(!t)return rH;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===n)return r.__reactInternalMemoizedMaskedChildContext;var l,a={};for(l in t)a[l]=n[l];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=a),a}function rY(e){return null!=(e=e.childContextTypes)}function rX(){rj(rQ),rj(rW)}function rG(e,n,t){if(rW.current!==rH)throw Error(f(168));rB(rW,n),rB(rQ,t)}function rZ(e,n,t){var r=e.stateNode;if(n=n.childContextTypes,\"function\"!=typeof r.getChildContext)return t;for(var l in r=r.getChildContext())if(!(l in n))throw Error(f(108,function(e){var n=e.type;switch(e.tag){case 24:return\"Cache\";case 9:return(n.displayName||\"Context\")+\".Consumer\";case 10:return(n._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return e=(e=n.render).displayName||e.name||\"\",n.displayName||(\"\"!==e?\"ForwardRef(\"+e+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return n;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return function e(n){if(null==n)return null;if(\"function\"==typeof n)return n.displayName||n.name||null;if(\"string\"==typeof n)return n;switch(n){case z:return\"Fragment\";case N:return\"Portal\";case L:return\"Profiler\";case T:return\"StrictMode\";case O:return\"Suspense\";case D:return\"SuspenseList\"}if(\"object\"==typeof n)switch(n.$$typeof){case M:return(n.displayName||\"Context\")+\".Consumer\";case R:return(n._context.displayName||\"Context\")+\".Provider\";case F:var t=n.render;return(n=n.displayName)||(n=\"\"!==(n=t.displayName||t.name||\"\")?\"ForwardRef(\"+n+\")\":\"ForwardRef\"),n;case I:return null!==(t=n.displayName||null)?t:e(n.type)||\"Memo\";case U:t=n._payload,n=n._init;try{return e(n(t))}catch(e){}}return null}(n);case 8:return n===T?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";case 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"==typeof n)return n.displayName||n.name||null;if(\"string\"==typeof n)return n}return null}(e)||\"Unknown\",l));return B({},t,r)}function rJ(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||rH,rq=rW.current,rB(rW,e),rB(rQ,rQ.current),!0}function r0(e,n,t){var r=e.stateNode;if(!r)throw Error(f(169));t?(r.__reactInternalMemoizedMergedChildContext=e=rZ(e,n,rq),rj(rQ),rj(rW),rB(rW,e)):rj(rQ),rB(rQ,t)}var r1=null,r2=!1,r3=!1;function r4(e){null===r1?r1=[e]:r1.push(e)}function r8(){if(!r3&&null!==r1){r3=!0;var e=0,n=nc;try{var t=r1;for(nc=1;e<t.length;e++){var r=t[e];do r=r(!0);while(null!==r)}r1=null,r2=!1}catch(n){throw null!==r1&&(r1=r1.slice(e+1)),eY(e1,r8),n}finally{nc=n,r3=!1}}return null}var r5=[],r6=0,r9=null,r7=0,le=[],ln=0,lt=null,lr=1,ll=\"\";function la(e,n){r5[r6++]=r7,r5[r6++]=r9,r9=e,r7=n}function lu(e,n,t){le[ln++]=lr,le[ln++]=ll,le[ln++]=lt,lt=e;var r=lr;e=ll;var l=32-e9(r)-1;r&=~(1<<l),t+=1;var a=32-e9(n)+l;if(30<a){var u=l-l%5;a=(r&(1<<u)-1).toString(32),r>>=u,l-=u,lr=1<<32-e9(n)+l|t<<l|r,ll=a+e}else lr=1<<a|t<<l|r,ll=e}function lo(e){null!==e.return&&(la(e,1),lu(e,1,0))}function li(e){for(;e===r9;)r9=r5[--r6],r5[r6]=null,r7=r5[--r6],r5[r6]=null;for(;e===lt;)lt=le[--ln],le[ln]=null,ll=le[--ln],le[ln]=null,lr=le[--ln],le[ln]=null}var ls=null,lc=null,lf=!1,ld=null;function lp(e,n){var t=oQ(5,null,null,0);t.elementType=\"DELETED\",t.stateNode=n,t.return=e,null===(n=e.deletions)?(e.deletions=[t],e.flags|=16):n.push(t)}function lm(e,n){switch(e.tag){case 5:var t=e.type;return null!==(n=1!==n.nodeType||t.toLowerCase()!==n.nodeName.toLowerCase()?null:n)&&(e.stateNode=n,ls=e,lc=rC(n.firstChild),!0);case 6:return null!==(n=\"\"===e.pendingProps||3!==n.nodeType?null:n)&&(e.stateNode=n,ls=e,lc=null,!0);case 13:return null!==(n=8!==n.nodeType?null:n)&&(e.memoizedState={dehydrated:n,treeContext:t=null!==lt?{id:lr,overflow:ll}:null,retryLane:0x40000000},(t=oQ(18,null,null,0)).stateNode=n,t.return=e,e.child=t,ls=e,lc=null,!0);default:return!1}}function lh(e){return 0!=(1&e.mode)&&0==(128&e.flags)}function lg(e){if(lf){var n=lc;if(n){var t=n;if(!lm(e,n)){if(lh(e))throw Error(f(418));n=rC(t.nextSibling);var r=ls;n&&lm(e,n)?lp(r,t):(e.flags=-4097&e.flags|2,lf=!1,ls=e)}}else{if(lh(e))throw Error(f(418));e.flags=-4097&e.flags|2,lf=!1,ls=e}}}function lv(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;ls=e}function ly(e){if(e!==ls)return!1;if(!lf)return lv(e),lf=!0,!1;if((n=3!==e.tag)&&!(n=5!==e.tag)&&(n=\"head\"!==(n=e.type)&&\"body\"!==n&&!rb(e.type,e.memoizedProps)),n&&(n=lc)){if(lh(e))throw lb(),Error(f(418));for(;n;)lp(e,n),n=rC(n.nextSibling)}if(lv(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(f(317));e:{for(n=0,e=e.nextSibling;e;){if(8===e.nodeType){var n,t=e.data;if(\"/$\"===t){if(0===n){lc=rC(e.nextSibling);break e}n--}else\"$\"!==t&&\"$!\"!==t&&\"$?\"!==t||n++}e=e.nextSibling}lc=null}}else lc=ls?rC(e.stateNode.nextSibling):null;return!0}function lb(){for(var e=lc;e;)e=rC(e.nextSibling)}function lk(){lc=ls=null,lf=!1}function lw(e){null===ld?ld=[e]:ld.push(e)}var lS=C.ReactCurrentBatchConfig;function lx(e,n,t){if(null!==(e=t.ref)&&\"function\"!=typeof e&&\"object\"!=typeof e){if(t._owner){if(t=t._owner){if(1!==t.tag)throw Error(f(309));var r=t.stateNode}if(!r)throw Error(f(147,e));var l=r,a=\"\"+e;return null!==n&&null!==n.ref&&\"function\"==typeof n.ref&&n.ref._stringRef===a?n.ref:((n=function(e){var n=l.refs;null===e?delete n[a]:n[a]=e})._stringRef=a,n)}if(\"string\"!=typeof e)throw Error(f(284));if(!t._owner)throw Error(f(290,e))}return e}function lE(e,n){throw Error(f(31,\"[object Object]\"===(e=Object.prototype.toString.call(n))?\"object with keys {\"+Object.keys(n).join(\", \")+\"}\":e))}function l_(e){return(0,e._init)(e._payload)}function lC(e){function n(n,t){if(e){var r=n.deletions;null===r?(n.deletions=[t],n.flags|=16):r.push(t)}}function t(t,r){if(!e)return null;for(;null!==r;)n(t,r),r=r.sibling;return null}function r(e,n){for(e=new Map;null!==n;)null!==n.key?e.set(n.key,n):e.set(n.index,n),n=n.sibling;return e}function l(e,n){return(e=oK(e,n)).index=0,e.sibling=null,e}function a(n,t,r){return(n.index=r,e)?null!==(r=n.alternate)?(r=r.index)<t?(n.flags|=2,t):r:(n.flags|=2,t):(n.flags|=1048576,t)}function u(n){return e&&null===n.alternate&&(n.flags|=2),n}function o(e,n,t,r){return null===n||6!==n.tag?(n=oZ(t,e.mode,r)).return=e:(n=l(n,t)).return=e,n}function i(e,n,t,r){var a=t.type;return a===z?c(e,n,t.props.children,r,t.key):(null!==n&&(n.elementType===a||\"object\"==typeof a&&null!==a&&a.$$typeof===U&&l_(a)===n.type)?(r=l(n,t.props)).ref=lx(e,n,t):(r=oY(t.type,t.key,t.props,null,e.mode,r)).ref=lx(e,n,t),r.return=e,r)}function s(e,n,t,r){return null===n||4!==n.tag||n.stateNode.containerInfo!==t.containerInfo||n.stateNode.implementation!==t.implementation?(n=oJ(t,e.mode,r)).return=e:(n=l(n,t.children||[])).return=e,n}function c(e,n,t,r,a){return null===n||7!==n.tag?(n=oX(t,e.mode,r,a)).return=e:(n=l(n,t)).return=e,n}function d(e,n,t){if(\"string\"==typeof n&&\"\"!==n||\"number\"==typeof n)return(n=oZ(\"\"+n,e.mode,t)).return=e,n;if(\"object\"==typeof n&&null!==n){switch(n.$$typeof){case P:return(t=oY(n.type,n.key,n.props,null,e.mode,t)).ref=lx(e,null,n),t.return=e,t;case N:return(n=oJ(n,e.mode,t)).return=e,n;case U:return d(e,(0,n._init)(n._payload),t)}if(el(n)||$(n))return(n=oX(n,e.mode,t,null)).return=e,n;lE(e,n)}return null}function p(e,n,t,r){var l=null!==n?n.key:null;if(\"string\"==typeof t&&\"\"!==t||\"number\"==typeof t)return null!==l?null:o(e,n,\"\"+t,r);if(\"object\"==typeof t&&null!==t){switch(t.$$typeof){case P:return t.key===l?i(e,n,t,r):null;case N:return t.key===l?s(e,n,t,r):null;case U:return p(e,n,(l=t._init)(t._payload),r)}if(el(t)||$(t))return null!==l?null:c(e,n,t,r,null);lE(e,t)}return null}function m(e,n,t,r,l){if(\"string\"==typeof r&&\"\"!==r||\"number\"==typeof r)return o(n,e=e.get(t)||null,\"\"+r,l);if(\"object\"==typeof r&&null!==r){switch(r.$$typeof){case P:return i(n,e=e.get(null===r.key?t:r.key)||null,r,l);case N:return s(n,e=e.get(null===r.key?t:r.key)||null,r,l);case U:return m(e,n,t,(0,r._init)(r._payload),l)}if(el(r)||$(r))return c(n,e=e.get(t)||null,r,l,null);lE(n,r)}return null}return function o(i,s,c,h){if(\"object\"==typeof c&&null!==c&&c.type===z&&null===c.key&&(c=c.props.children),\"object\"==typeof c&&null!==c){switch(c.$$typeof){case P:e:{for(var g=c.key,v=s;null!==v;){if(v.key===g){if((g=c.type)===z){if(7===v.tag){t(i,v.sibling),(s=l(v,c.props.children)).return=i,i=s;break e}}else if(v.elementType===g||\"object\"==typeof g&&null!==g&&g.$$typeof===U&&l_(g)===v.type){t(i,v.sibling),(s=l(v,c.props)).ref=lx(i,v,c),s.return=i,i=s;break e}t(i,v);break}n(i,v),v=v.sibling}c.type===z?((s=oX(c.props.children,i.mode,h,c.key)).return=i,i=s):((h=oY(c.type,c.key,c.props,null,i.mode,h)).ref=lx(i,s,c),h.return=i,i=h)}return u(i);case N:e:{for(v=c.key;null!==s;){if(s.key===v)if(4===s.tag&&s.stateNode.containerInfo===c.containerInfo&&s.stateNode.implementation===c.implementation){t(i,s.sibling),(s=l(s,c.children||[])).return=i,i=s;break e}else{t(i,s);break}n(i,s),s=s.sibling}(s=oJ(c,i.mode,h)).return=i,i=s}return u(i);case U:return o(i,s,(v=c._init)(c._payload),h)}if(el(c))return function(l,u,o,i){for(var s=null,c=null,f=u,h=u=0,g=null;null!==f&&h<o.length;h++){f.index>h?(g=f,f=null):g=f.sibling;var v=p(l,f,o[h],i);if(null===v){null===f&&(f=g);break}e&&f&&null===v.alternate&&n(l,f),u=a(v,u,h),null===c?s=v:c.sibling=v,c=v,f=g}if(h===o.length)return t(l,f),lf&&la(l,h),s;if(null===f){for(;h<o.length;h++)null!==(f=d(l,o[h],i))&&(u=a(f,u,h),null===c?s=f:c.sibling=f,c=f);return lf&&la(l,h),s}for(f=r(l,f);h<o.length;h++)null!==(g=m(f,l,h,o[h],i))&&(e&&null!==g.alternate&&f.delete(null===g.key?h:g.key),u=a(g,u,h),null===c?s=g:c.sibling=g,c=g);return e&&f.forEach(function(e){return n(l,e)}),lf&&la(l,h),s}(i,s,c,h);if($(c))return function(l,u,o,i){var s=$(o);if(\"function\"!=typeof s)throw Error(f(150));if(null==(o=s.call(o)))throw Error(f(151));for(var c=s=null,h=u,g=u=0,v=null,y=o.next();null!==h&&!y.done;g++,y=o.next()){h.index>g?(v=h,h=null):v=h.sibling;var b=p(l,h,y.value,i);if(null===b){null===h&&(h=v);break}e&&h&&null===b.alternate&&n(l,h),u=a(b,u,g),null===c?s=b:c.sibling=b,c=b,h=v}if(y.done)return t(l,h),lf&&la(l,g),s;if(null===h){for(;!y.done;g++,y=o.next())null!==(y=d(l,y.value,i))&&(u=a(y,u,g),null===c?s=y:c.sibling=y,c=y);return lf&&la(l,g),s}for(h=r(l,h);!y.done;g++,y=o.next())null!==(y=m(h,l,g,y.value,i))&&(e&&null!==y.alternate&&h.delete(null===y.key?g:y.key),u=a(y,u,g),null===c?s=y:c.sibling=y,c=y);return e&&h.forEach(function(e){return n(l,e)}),lf&&la(l,g),s}(i,s,c,h);lE(i,c)}return\"string\"==typeof c&&\"\"!==c||\"number\"==typeof c?(c=\"\"+c,null!==s&&6===s.tag?(t(i,s.sibling),(s=l(s,c)).return=i):(t(i,s),(s=oZ(c,i.mode,h)).return=i),u(i=s)):t(i,s)}}var lP=lC(!0),lN=lC(!1),lz=r$(null),lT=null,lL=null,lR=null;function lM(){lR=lL=lT=null}function lF(e){var n=lz.current;rj(lz),e._currentValue=n}function lO(e,n,t){for(;null!==e;){var r=e.alternate;if((e.childLanes&n)!==n?(e.childLanes|=n,null!==r&&(r.childLanes|=n)):null!==r&&(r.childLanes&n)!==n&&(r.childLanes|=n),e===t)break;e=e.return}}function lD(e,n){lT=e,lR=lL=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!=(e.lanes&n)&&(ua=!0),e.firstContext=null)}function lI(e){var n=e._currentValue;if(lR!==e)if(e={context:e,memoizedValue:n,next:null},null===lL){if(null===lT)throw Error(f(308));lL=e,lT.dependencies={lanes:0,firstContext:e}}else lL=lL.next=e;return n}var lU=null;function lV(e){null===lU?lU=[e]:lU.push(e)}function lA(e,n,t,r){var l=n.interleaved;return null===l?(t.next=t,lV(n)):(t.next=l.next,l.next=t),n.interleaved=t,l$(e,r)}function l$(e,n){e.lanes|=n;var t=e.alternate;for(null!==t&&(t.lanes|=n),t=e,e=e.return;null!==e;)e.childLanes|=n,null!==(t=e.alternate)&&(t.childLanes|=n),t=e,e=e.return;return 3===t.tag?t.stateNode:null}var lj=!1;function lB(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function lH(e,n){e=e.updateQueue,n.updateQueue===e&&(n.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function lW(e,n){return{eventTime:e,lane:n,tag:0,payload:null,callback:null,next:null}}function lQ(e,n,t){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,0!=(2&u2)){var l=r.pending;return null===l?n.next=n:(n.next=l.next,l.next=n),r.pending=n,l$(e,t)}return null===(l=r.interleaved)?(n.next=n,lV(r)):(n.next=l.next,l.next=n),r.interleaved=n,l$(e,t)}function lq(e,n,t){if(null!==(n=n.updateQueue)&&(n=n.shared,0!=(4194240&t))){var r=n.lanes;r&=e.pendingLanes,t|=r,n.lanes=t,ns(e,t)}}function lK(e,n){var t=e.updateQueue,r=e.alternate;if(null!==r&&t===(r=r.updateQueue)){var l=null,a=null;if(null!==(t=t.firstBaseUpdate)){do{var u={eventTime:t.eventTime,lane:t.lane,tag:t.tag,payload:t.payload,callback:t.callback,next:null};null===a?l=a=u:a=a.next=u,t=t.next}while(null!==t);null===a?l=a=n:a=a.next=n}else l=a=n;t={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:a,shared:r.shared,effects:r.effects},e.updateQueue=t;return}null===(e=t.lastBaseUpdate)?t.firstBaseUpdate=n:e.next=n,t.lastBaseUpdate=n}function lY(e,n,t,r){var l=e.updateQueue;lj=!1;var a=l.firstBaseUpdate,u=l.lastBaseUpdate,o=l.shared.pending;if(null!==o){l.shared.pending=null;var i=o,s=i.next;i.next=null,null===u?a=s:u.next=s,u=i;var c=e.alternate;null!==c&&(o=(c=c.updateQueue).lastBaseUpdate)!==u&&(null===o?c.firstBaseUpdate=s:o.next=s,c.lastBaseUpdate=i)}if(null!==a){var f=l.baseState;for(u=0,c=s=i=null,o=a;;){var d=o.lane,p=o.eventTime;if((r&d)===d){null!==c&&(c=c.next={eventTime:p,lane:0,tag:o.tag,payload:o.payload,callback:o.callback,next:null});e:{var m=e,h=o;switch(d=n,p=t,h.tag){case 1:if(\"function\"==typeof(m=h.payload)){f=m.call(p,f,d);break e}f=m;break e;case 3:m.flags=-65537&m.flags|128;case 0:if(null==(d=\"function\"==typeof(m=h.payload)?m.call(p,f,d):m))break e;f=B({},f,d);break e;case 2:lj=!0}}null!==o.callback&&0!==o.lane&&(e.flags|=64,null===(d=l.effects)?l.effects=[o]:d.push(o))}else p={eventTime:p,lane:d,tag:o.tag,payload:o.payload,callback:o.callback,next:null},null===c?(s=c=p,i=f):c=c.next=p,u|=d;if(null===(o=o.next))if(null===(o=l.shared.pending))break;else o=(d=o).next,d.next=null,l.lastBaseUpdate=d,l.shared.pending=null}if(null===c&&(i=f),l.baseState=i,l.firstBaseUpdate=s,l.lastBaseUpdate=c,null!==(n=l.shared.interleaved)){l=n;do u|=l.lane,l=l.next;while(l!==n)}else null===a&&(l.shared.lanes=0);oe|=u,e.lanes=u,e.memoizedState=f}}function lX(e,n,t){if(e=n.effects,n.effects=null,null!==e)for(n=0;n<e.length;n++){var r=e[n],l=r.callback;if(null!==l){if(r.callback=null,r=t,\"function\"!=typeof l)throw Error(f(191,l));l.call(r)}}}var lG={},lZ=r$(lG),lJ=r$(lG),l0=r$(lG);function l1(e){if(e===lG)throw Error(f(174));return e}function l2(e,n){switch(rB(l0,n),rB(lJ,e),rB(lZ,lG),e=n.nodeType){case 9:case 11:n=(n=n.documentElement)?n.namespaceURI:ef(null,\"\");break;default:n=ef(n=(e=8===e?n.parentNode:n).namespaceURI||null,e=e.tagName)}rj(lZ),rB(lZ,n)}function l3(){rj(lZ),rj(lJ),rj(l0)}function l4(e){l1(l0.current);var n=l1(lZ.current),t=ef(n,e.type);n!==t&&(rB(lJ,e),rB(lZ,t))}function l8(e){lJ.current===e&&(rj(lZ),rj(lJ))}var l5=r$(0);function l6(e){for(var n=e;null!==n;){if(13===n.tag){var t=n.memoizedState;if(null!==t&&(null===(t=t.dehydrated)||\"$?\"===t.data||\"$!\"===t.data))return n}else if(19===n.tag&&void 0!==n.memoizedProps.revealOrder){if(0!=(128&n.flags))return n}else if(null!==n.child){n.child.return=n,n=n.child;continue}if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var l9=[];function l7(){for(var e=0;e<l9.length;e++)l9[e]._workInProgressVersionPrimary=null;l9.length=0}var ae=C.ReactCurrentDispatcher,an=C.ReactCurrentBatchConfig,at=0,ar=null,al=null,aa=null,au=!1,ao=!1,ai=0,as=0;function ac(){throw Error(f(321))}function af(e,n){if(null===n)return!1;for(var t=0;t<n.length&&t<e.length;t++)if(!tD(e[t],n[t]))return!1;return!0}function ad(e,n,t,r,l,a){if(at=a,ar=n,n.memoizedState=null,n.updateQueue=null,n.lanes=0,ae.current=null===e||null===e.memoizedState?aY:aX,e=t(r,l),ao){a=0;do{if(ao=!1,ai=0,25<=a)throw Error(f(301));a+=1,aa=al=null,n.updateQueue=null,ae.current=aG,e=t(r,l)}while(ao)}if(ae.current=aK,n=null!==al&&null!==al.next,at=0,aa=al=ar=null,au=!1,n)throw Error(f(300));return e}function ap(){var e=0!==ai;return ai=0,e}function am(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===aa?ar.memoizedState=aa=e:aa=aa.next=e,aa}function ah(){if(null===al){var e=ar.alternate;e=null!==e?e.memoizedState:null}else e=al.next;var n=null===aa?ar.memoizedState:aa.next;if(null!==n)aa=n,al=e;else{if(null===e)throw Error(f(310));e={memoizedState:(al=e).memoizedState,baseState:al.baseState,baseQueue:al.baseQueue,queue:al.queue,next:null},null===aa?ar.memoizedState=aa=e:aa=aa.next=e}return aa}function ag(e,n){return\"function\"==typeof n?n(e):n}function av(e){var n=ah(),t=n.queue;if(null===t)throw Error(f(311));t.lastRenderedReducer=e;var r=al,l=r.baseQueue,a=t.pending;if(null!==a){if(null!==l){var u=l.next;l.next=a.next,a.next=u}r.baseQueue=l=a,t.pending=null}if(null!==l){a=l.next,r=r.baseState;var o=u=null,i=null,s=a;do{var c=s.lane;if((at&c)===c)null!==i&&(i=i.next={lane:0,action:s.action,hasEagerState:s.hasEagerState,eagerState:s.eagerState,next:null}),r=s.hasEagerState?s.eagerState:e(r,s.action);else{var d={lane:c,action:s.action,hasEagerState:s.hasEagerState,eagerState:s.eagerState,next:null};null===i?(o=i=d,u=r):i=i.next=d,ar.lanes|=c,oe|=c}s=s.next}while(null!==s&&s!==a);null===i?u=r:i.next=o,tD(r,n.memoizedState)||(ua=!0),n.memoizedState=r,n.baseState=u,n.baseQueue=i,t.lastRenderedState=r}if(null!==(e=t.interleaved)){l=e;do a=l.lane,ar.lanes|=a,oe|=a,l=l.next;while(l!==e)}else null===l&&(t.lanes=0);return[n.memoizedState,t.dispatch]}function ay(e){var n=ah(),t=n.queue;if(null===t)throw Error(f(311));t.lastRenderedReducer=e;var r=t.dispatch,l=t.pending,a=n.memoizedState;if(null!==l){t.pending=null;var u=l=l.next;do a=e(a,u.action),u=u.next;while(u!==l);tD(a,n.memoizedState)||(ua=!0),n.memoizedState=a,null===n.baseQueue&&(n.baseState=a),t.lastRenderedState=a}return[a,r]}function ab(){}function ak(e,n){var t=ar,r=ah(),l=n(),a=!tD(r.memoizedState,l);if(a&&(r.memoizedState=l,ua=!0),r=r.queue,aR(ax.bind(null,t,r,e),[e]),r.getSnapshot!==n||a||null!==aa&&1&aa.memoizedState.tag){if(t.flags|=2048,aP(9,aS.bind(null,t,r,l,n),void 0,null),null===u3)throw Error(f(349));0!=(30&at)||aw(t,n,l)}return l}function aw(e,n,t){e.flags|=16384,e={getSnapshot:n,value:t},null===(n=ar.updateQueue)?(n={lastEffect:null,stores:null},ar.updateQueue=n,n.stores=[e]):null===(t=n.stores)?n.stores=[e]:t.push(e)}function aS(e,n,t,r){n.value=t,n.getSnapshot=r,aE(n)&&a_(e)}function ax(e,n,t){return t(function(){aE(n)&&a_(e)})}function aE(e){var n=e.getSnapshot;e=e.value;try{var t=n();return!tD(e,t)}catch(e){return!0}}function a_(e){var n=l$(e,1);null!==n&&ok(n,e,1,-1)}function aC(e){var n=am();return\"function\"==typeof e&&(e=e()),n.memoizedState=n.baseState=e,n.queue=e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ag,lastRenderedState:e},e=e.dispatch=aH.bind(null,ar,e),[n.memoizedState,e]}function aP(e,n,t,r){return e={tag:e,create:n,destroy:t,deps:r,next:null},null===(n=ar.updateQueue)?(n={lastEffect:null,stores:null},ar.updateQueue=n,n.lastEffect=e.next=e):null===(t=n.lastEffect)?n.lastEffect=e.next=e:(r=t.next,t.next=e,e.next=r,n.lastEffect=e),e}function aN(){return ah().memoizedState}function az(e,n,t,r){var l=am();ar.flags|=e,l.memoizedState=aP(1|n,t,void 0,void 0===r?null:r)}function aT(e,n,t,r){var l=ah();r=void 0===r?null:r;var a=void 0;if(null!==al){var u=al.memoizedState;if(a=u.destroy,null!==r&&af(r,u.deps)){l.memoizedState=aP(n,t,a,r);return}}ar.flags|=e,l.memoizedState=aP(1|n,t,a,r)}function aL(e,n){return az(8390656,8,e,n)}function aR(e,n){return aT(2048,8,e,n)}function aM(e,n){return aT(4,2,e,n)}function aF(e,n){return aT(4,4,e,n)}function aO(e,n){return\"function\"==typeof n?(n(e=e()),function(){n(null)}):null!=n?(n.current=e=e(),function(){n.current=null}):void 0}function aD(e,n,t){return t=null!=t?t.concat([e]):null,aT(4,4,aO.bind(null,n,e),t)}function aI(){}function aU(e,n){var t=ah();n=void 0===n?null:n;var r=t.memoizedState;return null!==r&&null!==n&&af(n,r[1])?r[0]:(t.memoizedState=[e,n],e)}function aV(e,n){var t=ah();n=void 0===n?null:n;var r=t.memoizedState;return null!==r&&null!==n&&af(n,r[1])?r[0]:(t.memoizedState=[e=e(),n],e)}function aA(e,n,t){return 0==(21&at)?(e.baseState&&(e.baseState=!1,ua=!0),e.memoizedState=t):(tD(t,n)||(t=nu(),ar.lanes|=t,oe|=t,e.baseState=!0),n)}function a$(e,n){var t=nc;nc=0!==t&&4>t?t:4,e(!0);var r=an.transition;an.transition={};try{e(!1),n()}finally{nc=t,an.transition=r}}function aj(){return ah().memoizedState}function aB(e,n,t){var r=ob(e);t={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null},aW(e)?aQ(n,t):null!==(t=lA(e,n,t,r))&&(ok(t,e,r,oy()),aq(t,n,r))}function aH(e,n,t){var r=ob(e),l={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null};if(aW(e))aQ(n,l);else{var a=e.alternate;if(0===e.lanes&&(null===a||0===a.lanes)&&null!==(a=n.lastRenderedReducer))try{var u=n.lastRenderedState,o=a(u,t);if(l.hasEagerState=!0,l.eagerState=o,tD(o,u)){var i=n.interleaved;null===i?(l.next=l,lV(n)):(l.next=i.next,i.next=l),n.interleaved=l;return}}catch(e){}finally{}null!==(t=lA(e,n,l,r))&&(ok(t,e,r,l=oy()),aq(t,n,r))}}function aW(e){var n=e.alternate;return e===ar||null!==n&&n===ar}function aQ(e,n){ao=au=!0;var t=e.pending;null===t?n.next=n:(n.next=t.next,t.next=n),e.pending=n}function aq(e,n,t){if(0!=(4194240&t)){var r=n.lanes;r&=e.pendingLanes,n.lanes=t|=r,ns(e,t)}}var aK={readContext:lI,useCallback:ac,useContext:ac,useEffect:ac,useImperativeHandle:ac,useInsertionEffect:ac,useLayoutEffect:ac,useMemo:ac,useReducer:ac,useRef:ac,useState:ac,useDebugValue:ac,useDeferredValue:ac,useTransition:ac,useMutableSource:ac,useSyncExternalStore:ac,useId:ac,unstable_isNewReconciler:!1},aY={readContext:lI,useCallback:function(e,n){return am().memoizedState=[e,void 0===n?null:n],e},useContext:lI,useEffect:aL,useImperativeHandle:function(e,n,t){return t=null!=t?t.concat([e]):null,az(4194308,4,aO.bind(null,n,e),t)},useLayoutEffect:function(e,n){return az(4194308,4,e,n)},useInsertionEffect:function(e,n){return az(4,2,e,n)},useMemo:function(e,n){return n=void 0===n?null:n,am().memoizedState=[e=e(),n],e},useReducer:function(e,n,t){var r=am();return r.memoizedState=r.baseState=n=void 0!==t?t(n):n,r.queue=e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},e=e.dispatch=aB.bind(null,ar,e),[r.memoizedState,e]},useRef:function(e){return am().memoizedState={current:e}},useState:aC,useDebugValue:aI,useDeferredValue:function(e){return am().memoizedState=e},useTransition:function(){var e=aC(!1),n=e[0];return e=a$.bind(null,e[1]),am().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,t){var r=ar,l=am();if(lf){if(void 0===t)throw Error(f(407));t=t()}else{if(t=n(),null===u3)throw Error(f(349));0!=(30&at)||aw(r,n,t)}l.memoizedState=t;var a={value:t,getSnapshot:n};return l.queue=a,aL(ax.bind(null,r,a,e),[e]),r.flags|=2048,aP(9,aS.bind(null,r,a,t,n),void 0,null),t},useId:function(){var e=am(),n=u3.identifierPrefix;if(lf){var t=ll,r=lr;n=\":\"+n+\"R\"+(t=(r&~(1<<32-e9(r)-1)).toString(32)+t),0<(t=ai++)&&(n+=\"H\"+t.toString(32)),n+=\":\"}else n=\":\"+n+\"r\"+(t=as++).toString(32)+\":\";return e.memoizedState=n},unstable_isNewReconciler:!1},aX={readContext:lI,useCallback:aU,useContext:lI,useEffect:aR,useImperativeHandle:aD,useInsertionEffect:aM,useLayoutEffect:aF,useMemo:aV,useReducer:av,useRef:aN,useState:function(){return av(ag)},useDebugValue:aI,useDeferredValue:function(e){return aA(ah(),al.memoizedState,e)},useTransition:function(){return[av(ag)[0],ah().memoizedState]},useMutableSource:ab,useSyncExternalStore:ak,useId:aj,unstable_isNewReconciler:!1},aG={readContext:lI,useCallback:aU,useContext:lI,useEffect:aR,useImperativeHandle:aD,useInsertionEffect:aM,useLayoutEffect:aF,useMemo:aV,useReducer:ay,useRef:aN,useState:function(){return ay(ag)},useDebugValue:aI,useDeferredValue:function(e){var n=ah();return null===al?n.memoizedState=e:aA(n,al.memoizedState,e)},useTransition:function(){return[ay(ag)[0],ah().memoizedState]},useMutableSource:ab,useSyncExternalStore:ak,useId:aj,unstable_isNewReconciler:!1};function aZ(e,n){if(e&&e.defaultProps)for(var t in n=B({},n),e=e.defaultProps)void 0===n[t]&&(n[t]=e[t]);return n}function aJ(e,n,t,r){t=null==(t=t(r,n=e.memoizedState))?n:B({},n,t),e.memoizedState=t,0===e.lanes&&(e.updateQueue.baseState=t)}var a0={isMounted:function(e){return!!(e=e._reactInternals)&&eW(e)===e},enqueueSetState:function(e,n,t){e=e._reactInternals;var r=oy(),l=ob(e),a=lW(r,l);a.payload=n,null!=t&&(a.callback=t),null!==(n=lQ(e,a,l))&&(ok(n,e,l,r),lq(n,e,l))},enqueueReplaceState:function(e,n,t){e=e._reactInternals;var r=oy(),l=ob(e),a=lW(r,l);a.tag=1,a.payload=n,null!=t&&(a.callback=t),null!==(n=lQ(e,a,l))&&(ok(n,e,l,r),lq(n,e,l))},enqueueForceUpdate:function(e,n){e=e._reactInternals;var t=oy(),r=ob(e),l=lW(t,r);l.tag=2,null!=n&&(l.callback=n),null!==(n=lQ(e,l,r))&&(ok(n,e,r,t),lq(n,e,r))}};function a1(e,n,t,r,l,a,u){return\"function\"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,a,u):!n.prototype||!n.prototype.isPureReactComponent||!tI(t,r)||!tI(l,a)}function a2(e,n,t){var r=!1,l=rH,a=n.contextType;return\"object\"==typeof a&&null!==a?a=lI(a):(l=rY(n)?rq:rW.current,a=(r=null!=(r=n.contextTypes))?rK(e,l):rH),n=new n(t,a),e.memoizedState=null!==n.state&&void 0!==n.state?n.state:null,n.updater=a0,e.stateNode=n,n._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=l,e.__reactInternalMemoizedMaskedChildContext=a),n}function a3(e,n,t,r){e=n.state,\"function\"==typeof n.componentWillReceiveProps&&n.componentWillReceiveProps(t,r),\"function\"==typeof n.UNSAFE_componentWillReceiveProps&&n.UNSAFE_componentWillReceiveProps(t,r),n.state!==e&&a0.enqueueReplaceState(n,n.state,null)}function a4(e,n,t,r){var l=e.stateNode;l.props=t,l.state=e.memoizedState,l.refs={},lB(e);var a=n.contextType;\"object\"==typeof a&&null!==a?l.context=lI(a):l.context=rK(e,a=rY(n)?rq:rW.current),l.state=e.memoizedState,\"function\"==typeof(a=n.getDerivedStateFromProps)&&(aJ(e,n,a,t),l.state=e.memoizedState),\"function\"==typeof n.getDerivedStateFromProps||\"function\"==typeof l.getSnapshotBeforeUpdate||\"function\"!=typeof l.UNSAFE_componentWillMount&&\"function\"!=typeof l.componentWillMount||(n=l.state,\"function\"==typeof l.componentWillMount&&l.componentWillMount(),\"function\"==typeof l.UNSAFE_componentWillMount&&l.UNSAFE_componentWillMount(),n!==l.state&&a0.enqueueReplaceState(l,l.state,null),lY(e,t,l,r),l.state=e.memoizedState),\"function\"==typeof l.componentDidMount&&(e.flags|=4194308)}function a8(e,n){try{var t=\"\",r=n;do t+=function(e){switch(e.tag){case 5:return H(e.type);case 16:return H(\"Lazy\");case 13:return H(\"Suspense\");case 19:return H(\"SuspenseList\");case 0:case 2:case 15:return Q(e.type,!1);case 11:return Q(e.type.render,!1);case 1:return Q(e.type,!0);default:return\"\"}}(r),r=r.return;while(r);var l=t}catch(e){l=\"\\nError generating stack: \"+e.message+\"\\n\"+e.stack}return{value:e,source:n,stack:l,digest:null}}function a5(e,n,t){return{value:e,source:null,stack:null!=t?t:null,digest:null!=n?n:null}}function a6(e,n){try{console.error(n.value)}catch(e){setTimeout(function(){throw e})}}var a9=\"function\"==typeof WeakMap?WeakMap:Map;function a7(e,n,t){(t=lW(-1,t)).tag=3,t.payload={element:null};var r=n.value;return t.callback=function(){oi||(oi=!0,os=r),a6(e,n)},t}function ue(e,n,t){(t=lW(-1,t)).tag=3;var r=e.type.getDerivedStateFromError;if(\"function\"==typeof r){var l=n.value;t.payload=function(){return r(l)},t.callback=function(){a6(e,n)}}var a=e.stateNode;return null!==a&&\"function\"==typeof a.componentDidCatch&&(t.callback=function(){a6(e,n),\"function\"!=typeof r&&(null===oc?oc=new Set([this]):oc.add(this));var t=n.stack;this.componentDidCatch(n.value,{componentStack:null!==t?t:\"\"})}),t}function un(e,n,t){var r=e.pingCache;if(null===r){r=e.pingCache=new a9;var l=new Set;r.set(n,l)}else void 0===(l=r.get(n))&&(l=new Set,r.set(n,l));l.has(t)||(l.add(t),e=o$.bind(null,e,n,t),n.then(e,e))}function ut(e){do{var n;if((n=13===e.tag)&&(n=null===(n=e.memoizedState)||null!==n.dehydrated),n)return e;e=e.return}while(null!==e);return null}function ur(e,n,t,r,l){return 0==(1&e.mode)?e===n?e.flags|=65536:(e.flags|=128,t.flags|=131072,t.flags&=-52805,1===t.tag&&(null===t.alternate?t.tag=17:((n=lW(-1,1)).tag=2,lQ(t,n,1))),t.lanes|=1):(e.flags|=65536,e.lanes=l),e}var ul=C.ReactCurrentOwner,ua=!1;function uu(e,n,t,r){n.child=null===e?lN(n,null,t,r):lP(n,e.child,t,r)}function uo(e,n,t,r,l){t=t.render;var a=n.ref;return(lD(n,l),r=ad(e,n,t,r,a,l),t=ap(),null===e||ua)?(lf&&t&&lo(n),n.flags|=1,uu(e,n,r,l),n.child):(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~l,uC(e,n,l))}function ui(e,n,t,r,l){if(null===e){var a=t.type;return\"function\"!=typeof a||oq(a)||void 0!==a.defaultProps||null!==t.compare||void 0!==t.defaultProps?((e=oY(t.type,null,r,n,n.mode,l)).ref=n.ref,e.return=n,n.child=e):(n.tag=15,n.type=a,us(e,n,a,r,l))}if(a=e.child,0==(e.lanes&l)){var u=a.memoizedProps;if((t=null!==(t=t.compare)?t:tI)(u,r)&&e.ref===n.ref)return uC(e,n,l)}return n.flags|=1,(e=oK(a,r)).ref=n.ref,e.return=n,n.child=e}function us(e,n,t,r,l){if(null!==e){var a=e.memoizedProps;if(tI(a,r)&&e.ref===n.ref)if(ua=!1,n.pendingProps=r=a,0==(e.lanes&l))return n.lanes=e.lanes,uC(e,n,l);else 0!=(131072&e.flags)&&(ua=!0)}return ud(e,n,t,r,l)}function uc(e,n,t){var r=n.pendingProps,l=r.children,a=null!==e?e.memoizedState:null;if(\"hidden\"===r.mode)if(0==(1&n.mode))n.memoizedState={baseLanes:0,cachePool:null,transitions:null},rB(u6,u5),u5|=t;else{if(0==(0x40000000&t))return e=null!==a?a.baseLanes|t:t,n.lanes=n.childLanes=0x40000000,n.memoizedState={baseLanes:e,cachePool:null,transitions:null},n.updateQueue=null,rB(u6,u5),u5|=e,null;n.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=null!==a?a.baseLanes:t,rB(u6,u5),u5|=r}else null!==a?(r=a.baseLanes|t,n.memoizedState=null):r=t,rB(u6,u5),u5|=r;return uu(e,n,l,t),n.child}function uf(e,n){var t=n.ref;(null===e&&null!==t||null!==e&&e.ref!==t)&&(n.flags|=512,n.flags|=2097152)}function ud(e,n,t,r,l){var a=rY(t)?rq:rW.current;return(a=rK(n,a),lD(n,l),t=ad(e,n,t,r,a,l),r=ap(),null===e||ua)?(lf&&r&&lo(n),n.flags|=1,uu(e,n,t,l),n.child):(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~l,uC(e,n,l))}function up(e,n,t,r,l){if(rY(t)){var a=!0;rJ(n)}else a=!1;if(lD(n,l),null===n.stateNode)u_(e,n),a2(n,t,r),a4(n,t,r,l),r=!0;else if(null===e){var u=n.stateNode,o=n.memoizedProps;u.props=o;var i=u.context,s=t.contextType;s=\"object\"==typeof s&&null!==s?lI(s):rK(n,s=rY(t)?rq:rW.current);var c=t.getDerivedStateFromProps,f=\"function\"==typeof c||\"function\"==typeof u.getSnapshotBeforeUpdate;f||\"function\"!=typeof u.UNSAFE_componentWillReceiveProps&&\"function\"!=typeof u.componentWillReceiveProps||(o!==r||i!==s)&&a3(n,u,r,s),lj=!1;var d=n.memoizedState;u.state=d,lY(n,r,u,l),i=n.memoizedState,o!==r||d!==i||rQ.current||lj?(\"function\"==typeof c&&(aJ(n,t,c,r),i=n.memoizedState),(o=lj||a1(n,t,o,r,d,i,s))?(f||\"function\"!=typeof u.UNSAFE_componentWillMount&&\"function\"!=typeof u.componentWillMount||(\"function\"==typeof u.componentWillMount&&u.componentWillMount(),\"function\"==typeof u.UNSAFE_componentWillMount&&u.UNSAFE_componentWillMount()),\"function\"==typeof u.componentDidMount&&(n.flags|=4194308)):(\"function\"==typeof u.componentDidMount&&(n.flags|=4194308),n.memoizedProps=r,n.memoizedState=i),u.props=r,u.state=i,u.context=s,r=o):(\"function\"==typeof u.componentDidMount&&(n.flags|=4194308),r=!1)}else{u=n.stateNode,lH(e,n),o=n.memoizedProps,s=n.type===n.elementType?o:aZ(n.type,o),u.props=s,f=n.pendingProps,d=u.context,i=\"object\"==typeof(i=t.contextType)&&null!==i?lI(i):rK(n,i=rY(t)?rq:rW.current);var p=t.getDerivedStateFromProps;(c=\"function\"==typeof p||\"function\"==typeof u.getSnapshotBeforeUpdate)||\"function\"!=typeof u.UNSAFE_componentWillReceiveProps&&\"function\"!=typeof u.componentWillReceiveProps||(o!==f||d!==i)&&a3(n,u,r,i),lj=!1,d=n.memoizedState,u.state=d,lY(n,r,u,l);var m=n.memoizedState;o!==f||d!==m||rQ.current||lj?(\"function\"==typeof p&&(aJ(n,t,p,r),m=n.memoizedState),(s=lj||a1(n,t,s,r,d,m,i)||!1)?(c||\"function\"!=typeof u.UNSAFE_componentWillUpdate&&\"function\"!=typeof u.componentWillUpdate||(\"function\"==typeof u.componentWillUpdate&&u.componentWillUpdate(r,m,i),\"function\"==typeof u.UNSAFE_componentWillUpdate&&u.UNSAFE_componentWillUpdate(r,m,i)),\"function\"==typeof u.componentDidUpdate&&(n.flags|=4),\"function\"==typeof u.getSnapshotBeforeUpdate&&(n.flags|=1024)):(\"function\"!=typeof u.componentDidUpdate||o===e.memoizedProps&&d===e.memoizedState||(n.flags|=4),\"function\"!=typeof u.getSnapshotBeforeUpdate||o===e.memoizedProps&&d===e.memoizedState||(n.flags|=1024),n.memoizedProps=r,n.memoizedState=m),u.props=r,u.state=m,u.context=i,r=s):(\"function\"!=typeof u.componentDidUpdate||o===e.memoizedProps&&d===e.memoizedState||(n.flags|=4),\"function\"!=typeof u.getSnapshotBeforeUpdate||o===e.memoizedProps&&d===e.memoizedState||(n.flags|=1024),r=!1)}return um(e,n,t,r,a,l)}function um(e,n,t,r,l,a){uf(e,n);var u=0!=(128&n.flags);if(!r&&!u)return l&&r0(n,t,!1),uC(e,n,a);r=n.stateNode,ul.current=n;var o=u&&\"function\"!=typeof t.getDerivedStateFromError?null:r.render();return n.flags|=1,null!==e&&u?(n.child=lP(n,e.child,null,a),n.child=lP(n,null,o,a)):uu(e,n,o,a),n.memoizedState=r.state,l&&r0(n,t,!0),n.child}function uh(e){var n=e.stateNode;n.pendingContext?rG(e,n.pendingContext,n.pendingContext!==n.context):n.context&&rG(e,n.context,!1),l2(e,n.containerInfo)}function ug(e,n,t,r,l){return lk(),lw(l),n.flags|=256,uu(e,n,t,r),n.child}var uv={dehydrated:null,treeContext:null,retryLane:0};function uy(e){return{baseLanes:e,cachePool:null,transitions:null}}function ub(e,n,t){var r,l=n.pendingProps,a=l5.current,u=!1,o=0!=(128&n.flags);if((r=o)||(r=(null===e||null!==e.memoizedState)&&0!=(2&a)),r?(u=!0,n.flags&=-129):(null===e||null!==e.memoizedState)&&(a|=1),rB(l5,1&a),null===e)return(lg(n),null!==(e=n.memoizedState)&&null!==(e=e.dehydrated))?(0==(1&n.mode)?n.lanes=1:\"$!\"===e.data?n.lanes=8:n.lanes=0x40000000,null):(o=l.children,e=l.fallback,u?(l=n.mode,u=n.child,o={mode:\"hidden\",children:o},0==(1&l)&&null!==u?(u.childLanes=0,u.pendingProps=o):u=oG(o,l,0,null),e=oX(e,l,t,null),u.return=n,e.return=n,u.sibling=e,n.child=u,n.child.memoizedState=uy(t),n.memoizedState=uv,e):uk(n,o));if(null!==(a=e.memoizedState)&&null!==(r=a.dehydrated)){var i=e,s=n,c=o,d=l,p=r,m=a,h=t;if(c)return 256&s.flags?(s.flags&=-257,uw(i,s,h,d=a5(Error(f(422))))):null!==s.memoizedState?(s.child=i.child,s.flags|=128,null):(m=d.fallback,p=s.mode,d=oG({mode:\"visible\",children:d.children},p,0,null),m=oX(m,p,h,null),m.flags|=2,d.return=s,m.return=s,d.sibling=m,s.child=d,0!=(1&s.mode)&&lP(s,i.child,null,h),s.child.memoizedState=uy(h),s.memoizedState=uv,m);if(0==(1&s.mode))return uw(i,s,h,null);if(\"$!\"===p.data){if(d=p.nextSibling&&p.nextSibling.dataset)var g=d.dgst;return d=g,uw(i,s,h,d=a5(m=Error(f(419)),d,void 0))}if(g=0!=(h&i.childLanes),ua||g){if(null!==(d=u3)){switch(h&-h){case 4:p=2;break;case 16:p=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 0x1000000:case 0x2000000:case 0x4000000:p=32;break;case 0x20000000:p=0x10000000;break;default:p=0}0!==(p=0!=(p&(d.suspendedLanes|h))?0:p)&&p!==m.retryLane&&(m.retryLane=p,l$(i,p),ok(d,i,p,-1))}return oM(),uw(i,s,h,d=a5(Error(f(421))))}return\"$?\"===p.data?(s.flags|=128,s.child=i.child,s=oB.bind(null,i),p._reactRetry=s,null):(i=m.treeContext,lc=rC(p.nextSibling),ls=s,lf=!0,ld=null,null!==i&&(le[ln++]=lr,le[ln++]=ll,le[ln++]=lt,lr=i.id,ll=i.overflow,lt=s),s=uk(s,d.children),s.flags|=4096,s)}if(u){u=l.fallback,o=n.mode,r=(a=e.child).sibling;var v={mode:\"hidden\",children:l.children};return 0==(1&o)&&n.child!==a?((l=n.child).childLanes=0,l.pendingProps=v,n.deletions=null):(l=oK(a,v)).subtreeFlags=0xe00000&a.subtreeFlags,null!==r?u=oK(r,u):(u=oX(u,o,t,null),u.flags|=2),u.return=n,l.return=n,l.sibling=u,n.child=l,l=u,u=n.child,o=null===(o=e.child.memoizedState)?uy(t):{baseLanes:o.baseLanes|t,cachePool:null,transitions:o.transitions},u.memoizedState=o,u.childLanes=e.childLanes&~t,n.memoizedState=uv,l}return e=(u=e.child).sibling,l=oK(u,{mode:\"visible\",children:l.children}),0==(1&n.mode)&&(l.lanes=t),l.return=n,l.sibling=null,null!==e&&(null===(t=n.deletions)?(n.deletions=[e],n.flags|=16):t.push(e)),n.child=l,n.memoizedState=null,l}function uk(e,n){return(n=oG({mode:\"visible\",children:n},e.mode,0,null)).return=e,e.child=n}function uw(e,n,t,r){return null!==r&&lw(r),lP(n,e.child,null,t),e=uk(n,n.pendingProps.children),e.flags|=2,n.memoizedState=null,e}function uS(e,n,t){e.lanes|=n;var r=e.alternate;null!==r&&(r.lanes|=n),lO(e.return,n,t)}function ux(e,n,t,r,l){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:r,tail:t,tailMode:l}:(a.isBackwards=n,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=t,a.tailMode=l)}function uE(e,n,t){var r=n.pendingProps,l=r.revealOrder,a=r.tail;if(uu(e,n,r.children,t),0!=(2&(r=l5.current)))r=1&r|2,n.flags|=128;else{if(null!==e&&0!=(128&e.flags))e:for(e=n.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&uS(e,t,n);else if(19===e.tag)uS(e,t,n);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===n)break;for(;null===e.sibling;){if(null===e.return||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(rB(l5,r),0==(1&n.mode))n.memoizedState=null;else switch(l){case\"forwards\":for(l=null,t=n.child;null!==t;)null!==(e=t.alternate)&&null===l6(e)&&(l=t),t=t.sibling;null===(t=l)?(l=n.child,n.child=null):(l=t.sibling,t.sibling=null),ux(n,!1,l,t,a);break;case\"backwards\":for(t=null,l=n.child,n.child=null;null!==l;){if(null!==(e=l.alternate)&&null===l6(e)){n.child=l;break}e=l.sibling,l.sibling=t,t=l,l=e}ux(n,!0,t,null,a);break;case\"together\":ux(n,!1,null,null,void 0);break;default:n.memoizedState=null}return n.child}function u_(e,n){0==(1&n.mode)&&null!==e&&(e.alternate=null,n.alternate=null,n.flags|=2)}function uC(e,n,t){if(null!==e&&(n.dependencies=e.dependencies),oe|=n.lanes,0==(t&n.childLanes))return null;if(null!==e&&n.child!==e.child)throw Error(f(153));if(null!==n.child){for(t=oK(e=n.child,e.pendingProps),n.child=t,t.return=n;null!==e.sibling;)e=e.sibling,(t=t.sibling=oK(e,e.pendingProps)).return=n;t.sibling=null}return n.child}function uP(e,n){if(!lf)switch(e.tailMode){case\"hidden\":n=e.tail;for(var t=null;null!==n;)null!==n.alternate&&(t=n),n=n.sibling;null===t?e.tail=null:t.sibling=null;break;case\"collapsed\":t=e.tail;for(var r=null;null!==t;)null!==t.alternate&&(r=t),t=t.sibling;null===r?n||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function uN(e){var n=null!==e.alternate&&e.alternate.child===e.child,t=0,r=0;if(n)for(var l=e.child;null!==l;)t|=l.lanes|l.childLanes,r|=0xe00000&l.subtreeFlags,r|=0xe00000&l.flags,l.return=e,l=l.sibling;else for(l=e.child;null!==l;)t|=l.lanes|l.childLanes,r|=l.subtreeFlags,r|=l.flags,l.return=e,l=l.sibling;return e.subtreeFlags|=r,e.childLanes=t,n}l=function(e,n){for(var t=n.child;null!==t;){if(5===t.tag||6===t.tag)e.appendChild(t.stateNode);else if(4!==t.tag&&null!==t.child){t.child.return=t,t=t.child;continue}if(t===n)break;for(;null===t.sibling;){if(null===t.return||t.return===n)return;t=t.return}t.sibling.return=t.return,t=t.sibling}},a=function(){},u=function(e,n,t,r){var l=e.memoizedProps;if(l!==r){e=n.stateNode,l1(lZ.current);var a,u=null;switch(t){case\"input\":l=Z(e,l),r=Z(e,r),u=[];break;case\"select\":l=B({},l,{value:void 0}),r=B({},r,{value:void 0}),u=[];break;case\"textarea\":l=eu(e,l),r=eu(e,r),u=[];break;default:\"function\"!=typeof l.onClick&&\"function\"==typeof r.onClick&&(e.onclick=rg)}for(s in ew(t,r),t=null,l)if(!r.hasOwnProperty(s)&&l.hasOwnProperty(s)&&null!=l[s])if(\"style\"===s){var o=l[s];for(a in o)o.hasOwnProperty(a)&&(t||(t={}),t[a]=\"\")}else\"dangerouslySetInnerHTML\"!==s&&\"children\"!==s&&\"suppressContentEditableWarning\"!==s&&\"suppressHydrationWarning\"!==s&&\"autoFocus\"!==s&&(p.hasOwnProperty(s)?u||(u=[]):(u=u||[]).push(s,null));for(s in r){var i=r[s];if(o=null!=l?l[s]:void 0,r.hasOwnProperty(s)&&i!==o&&(null!=i||null!=o))if(\"style\"===s)if(o){for(a in o)!o.hasOwnProperty(a)||i&&i.hasOwnProperty(a)||(t||(t={}),t[a]=\"\");for(a in i)i.hasOwnProperty(a)&&o[a]!==i[a]&&(t||(t={}),t[a]=i[a])}else t||(u||(u=[]),u.push(s,t)),t=i;else\"dangerouslySetInnerHTML\"===s?(i=i?i.__html:void 0,o=o?o.__html:void 0,null!=i&&o!==i&&(u=u||[]).push(s,i)):\"children\"===s?\"string\"!=typeof i&&\"number\"!=typeof i||(u=u||[]).push(s,\"\"+i):\"suppressContentEditableWarning\"!==s&&\"suppressHydrationWarning\"!==s&&(p.hasOwnProperty(s)?(null!=i&&\"onScroll\"===s&&rt(\"scroll\",e),u||o===i||(u=[])):(u=u||[]).push(s,i))}t&&(u=u||[]).push(\"style\",t);var s=u;(n.updateQueue=s)&&(n.flags|=4)}},o=function(e,n,t,r){t!==r&&(n.flags|=4)};var uz=!1,uT=!1,uL=\"function\"==typeof WeakSet?WeakSet:Set,uR=null;function uM(e,n){var t=e.ref;if(null!==t)if(\"function\"==typeof t)try{t(null)}catch(t){oA(e,n,t)}else t.current=null}function uF(e,n,t){try{t()}catch(t){oA(e,n,t)}}var uO=!1;function uD(e,n,t){var r=n.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var l=r=r.next;do{if((l.tag&e)===e){var a=l.destroy;l.destroy=void 0,void 0!==a&&uF(n,t,a)}l=l.next}while(l!==r)}}function uI(e,n){if(null!==(n=null!==(n=n.updateQueue)?n.lastEffect:null)){var t=n=n.next;do{if((t.tag&e)===e){var r=t.create;t.destroy=r()}t=t.next}while(t!==n)}}function uU(e){var n=e.ref;if(null!==n){var t=e.stateNode;e.tag,e=t,\"function\"==typeof n?n(e):n.current=e}}function uV(e){return 5===e.tag||3===e.tag||4===e.tag}function uA(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||uV(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags||null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}var u$=null,uj=!1;function uB(e,n,t){for(t=t.child;null!==t;)uH(e,n,t),t=t.sibling}function uH(e,n,t){if(e6&&\"function\"==typeof e6.onCommitFiberUnmount)try{e6.onCommitFiberUnmount(e5,t)}catch(e){}switch(t.tag){case 5:uT||uM(t,n);case 6:var r=u$,l=uj;u$=null,uB(e,n,t),u$=r,uj=l,null!==u$&&(uj?(e=u$,t=t.stateNode,8===e.nodeType?e.parentNode.removeChild(t):e.removeChild(t)):u$.removeChild(t.stateNode));break;case 18:null!==u$&&(uj?(e=u$,t=t.stateNode,8===e.nodeType?r_(e.parentNode,t):1===e.nodeType&&r_(e,t),nM(e)):r_(u$,t.stateNode));break;case 4:r=u$,l=uj,u$=t.stateNode.containerInfo,uj=!0,uB(e,n,t),u$=r,uj=l;break;case 0:case 11:case 14:case 15:if(!uT&&null!==(r=t.updateQueue)&&null!==(r=r.lastEffect)){l=r=r.next;do{var a=l,u=a.destroy;a=a.tag,void 0!==u&&(0!=(2&a)?uF(t,n,u):0!=(4&a)&&uF(t,n,u)),l=l.next}while(l!==r)}uB(e,n,t);break;case 1:if(!uT&&(uM(t,n),\"function\"==typeof(r=t.stateNode).componentWillUnmount))try{r.props=t.memoizedProps,r.state=t.memoizedState,r.componentWillUnmount()}catch(e){oA(t,n,e)}uB(e,n,t);break;case 21:default:uB(e,n,t);break;case 22:1&t.mode?(uT=(r=uT)||null!==t.memoizedState,uB(e,n,t),uT=r):uB(e,n,t)}}function uW(e){var n=e.updateQueue;if(null!==n){e.updateQueue=null;var t=e.stateNode;null===t&&(t=e.stateNode=new uL),n.forEach(function(n){var r=oH.bind(null,e,n);t.has(n)||(t.add(n),n.then(r,r))})}}function uQ(e,n){var t=n.deletions;if(null!==t)for(var r=0;r<t.length;r++){var l=t[r];try{var a=n,u=a;e:for(;null!==u;){switch(u.tag){case 5:u$=u.stateNode,uj=!1;break e;case 3:case 4:u$=u.stateNode.containerInfo,uj=!0;break e}u=u.return}if(null===u$)throw Error(f(160));uH(e,a,l),u$=null,uj=!1;var o=l.alternate;null!==o&&(o.return=null),l.return=null}catch(e){oA(l,n,e)}}if(12854&n.subtreeFlags)for(n=n.child;null!==n;)uq(n,e),n=n.sibling}function uq(e,n){var t=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(uQ(n,e),uK(e),4&r){try{uD(3,e,e.return),uI(3,e)}catch(n){oA(e,e.return,n)}try{uD(5,e,e.return)}catch(n){oA(e,e.return,n)}}break;case 1:uQ(n,e),uK(e),512&r&&null!==t&&uM(t,t.return);break;case 5:if(uQ(n,e),uK(e),512&r&&null!==t&&uM(t,t.return),32&e.flags){var l=e.stateNode;try{eh(l,\"\")}catch(n){oA(e,e.return,n)}}if(4&r&&null!=(l=e.stateNode)){var a=e.memoizedProps,u=null!==t?t.memoizedProps:a,o=e.type,i=e.updateQueue;if(e.updateQueue=null,null!==i)try{\"input\"===o&&\"radio\"===a.type&&null!=a.name&&ee(l,a),eS(o,u);var s=eS(o,a);for(u=0;u<i.length;u+=2){var c=i[u],d=i[u+1];\"style\"===c?eb(l,d):\"dangerouslySetInnerHTML\"===c?em(l,d):\"children\"===c?eh(l,d):_(l,c,d,s)}switch(o){case\"input\":en(l,a);break;case\"textarea\":ei(l,a);break;case\"select\":var p=l._wrapperState.wasMultiple;l._wrapperState.wasMultiple=!!a.multiple;var m=a.value;null!=m?ea(l,!!a.multiple,m,!1):!!a.multiple!==p&&(null!=a.defaultValue?ea(l,!!a.multiple,a.defaultValue,!0):ea(l,!!a.multiple,a.multiple?[]:\"\",!1))}l[rT]=a}catch(n){oA(e,e.return,n)}}break;case 6:if(uQ(n,e),uK(e),4&r){if(null===e.stateNode)throw Error(f(162));l=e.stateNode,a=e.memoizedProps;try{l.nodeValue=a}catch(n){oA(e,e.return,n)}}break;case 3:if(uQ(n,e),uK(e),4&r&&null!==t&&t.memoizedState.isDehydrated)try{nM(n.containerInfo)}catch(n){oA(e,e.return,n)}break;case 4:default:uQ(n,e),uK(e);break;case 13:uQ(n,e),uK(e),8192&(l=e.child).flags&&(a=null!==l.memoizedState,l.stateNode.isHidden=a,a&&(null===l.alternate||null===l.alternate.memoizedState)&&(oa=eJ())),4&r&&uW(e);break;case 22:if(c=null!==t&&null!==t.memoizedState,1&e.mode?(uT=(s=uT)||c,uQ(n,e),uT=s):uQ(n,e),uK(e),8192&r){if(s=null!==e.memoizedState,(e.stateNode.isHidden=s)&&!c&&0!=(1&e.mode))for(uR=e,c=e.child;null!==c;){for(d=uR=c;null!==uR;){switch(m=(p=uR).child,p.tag){case 0:case 11:case 14:case 15:uD(4,p,p.return);break;case 1:uM(p,p.return);var h=p.stateNode;if(\"function\"==typeof h.componentWillUnmount){r=p,t=p.return;try{h.props=(n=r).memoizedProps,h.state=n.memoizedState,h.componentWillUnmount()}catch(e){oA(r,t,e)}}break;case 5:uM(p,p.return);break;case 22:if(null!==p.memoizedState){uX(d);continue}}null!==m?(m.return=p,uR=m):uX(d)}c=c.sibling}e:for(c=null,d=e;;){if(5===d.tag){if(null===c){c=d;try{l=d.stateNode,s?(a=l.style,\"function\"==typeof a.setProperty?a.setProperty(\"display\",\"none\",\"important\"):a.display=\"none\"):(o=d.stateNode,u=null!=(i=d.memoizedProps.style)&&i.hasOwnProperty(\"display\")?i.display:null,o.style.display=ey(\"display\",u))}catch(n){oA(e,e.return,n)}}}else if(6===d.tag){if(null===c)try{d.stateNode.nodeValue=s?\"\":d.memoizedProps}catch(n){oA(e,e.return,n)}}else if((22!==d.tag&&23!==d.tag||null===d.memoizedState||d===e)&&null!==d.child){d.child.return=d,d=d.child;continue}if(d===e)break;for(;null===d.sibling;){if(null===d.return||d.return===e)break e;c===d&&(c=null),d=d.return}c===d&&(c=null),d.sibling.return=d.return,d=d.sibling}}break;case 19:uQ(n,e),uK(e),4&r&&uW(e);case 21:}}function uK(e){var n=e.flags;if(2&n){try{e:{for(var t=e.return;null!==t;){if(uV(t)){var r=t;break e}t=t.return}throw Error(f(160))}switch(r.tag){case 5:var l=r.stateNode;32&r.flags&&(eh(l,\"\"),r.flags&=-33);var a=uA(e);!function e(n,t,r){var l=n.tag;if(5===l||6===l)n=n.stateNode,t?r.insertBefore(n,t):r.appendChild(n);else if(4!==l&&null!==(n=n.child))for(e(n,t,r),n=n.sibling;null!==n;)e(n,t,r),n=n.sibling}(e,a,l);break;case 3:case 4:var u=r.stateNode.containerInfo,o=uA(e);!function e(n,t,r){var l=n.tag;if(5===l||6===l)n=n.stateNode,t?8===r.nodeType?r.parentNode.insertBefore(n,t):r.insertBefore(n,t):(8===r.nodeType?(t=r.parentNode).insertBefore(n,r):(t=r).appendChild(n),null!=(r=r._reactRootContainer)||null!==t.onclick||(t.onclick=rg));else if(4!==l&&null!==(n=n.child))for(e(n,t,r),n=n.sibling;null!==n;)e(n,t,r),n=n.sibling}(e,o,u);break;default:throw Error(f(161))}}catch(n){oA(e,e.return,n)}e.flags&=-3}4096&n&&(e.flags&=-4097)}function uY(e){for(;null!==uR;){var n=uR;if(0!=(8772&n.flags)){var t=n.alternate;try{if(0!=(8772&n.flags))switch(n.tag){case 0:case 11:case 15:uT||uI(5,n);break;case 1:var r=n.stateNode;if(4&n.flags&&!uT)if(null===t)r.componentDidMount();else{var l=n.elementType===n.type?t.memoizedProps:aZ(n.type,t.memoizedProps);r.componentDidUpdate(l,t.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var a=n.updateQueue;null!==a&&lX(n,a,r);break;case 3:var u=n.updateQueue;if(null!==u){if(t=null,null!==n.child)switch(n.child.tag){case 5:case 1:t=n.child.stateNode}lX(n,u,t)}break;case 5:var o=n.stateNode;if(null===t&&4&n.flags){t=o;var i=n.memoizedProps;switch(n.type){case\"button\":case\"input\":case\"select\":case\"textarea\":i.autoFocus&&t.focus();break;case\"img\":i.src&&(t.src=i.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===n.memoizedState){var s=n.alternate;if(null!==s){var c=s.memoizedState;if(null!==c){var d=c.dehydrated;null!==d&&nM(d)}}}break;default:throw Error(f(163))}uT||512&n.flags&&uU(n)}catch(e){oA(n,n.return,e)}}if(n===e){uR=null;break}if(null!==(t=n.sibling)){t.return=n.return,uR=t;break}uR=n.return}}function uX(e){for(;null!==uR;){var n=uR;if(n===e){uR=null;break}var t=n.sibling;if(null!==t){t.return=n.return,uR=t;break}uR=n.return}}function uG(e){for(;null!==uR;){var n=uR;try{switch(n.tag){case 0:case 11:case 15:var t=n.return;try{uI(4,n)}catch(e){oA(n,t,e)}break;case 1:var r=n.stateNode;if(\"function\"==typeof r.componentDidMount){var l=n.return;try{r.componentDidMount()}catch(e){oA(n,l,e)}}var a=n.return;try{uU(n)}catch(e){oA(n,a,e)}break;case 5:var u=n.return;try{uU(n)}catch(e){oA(n,u,e)}}}catch(e){oA(n,n.return,e)}if(n===e){uR=null;break}var o=n.sibling;if(null!==o){o.return=n.return,uR=o;break}uR=n.return}}var uZ=Math.ceil,uJ=C.ReactCurrentDispatcher,u0=C.ReactCurrentOwner,u1=C.ReactCurrentBatchConfig,u2=0,u3=null,u4=null,u8=0,u5=0,u6=r$(0),u9=0,u7=null,oe=0,on=0,ot=0,or=null,ol=null,oa=0,ou=1/0,oo=null,oi=!1,os=null,oc=null,of=!1,od=null,op=0,om=0,oh=null,og=-1,ov=0;function oy(){return 0!=(6&u2)?eJ():-1!==og?og:og=eJ()}function ob(e){return 0==(1&e.mode)?1:0!=(2&u2)&&0!==u8?u8&-u8:null!==lS.transition?(0===ov&&(ov=nu()),ov):0!==(e=nc)?e:e=void 0===(e=window.event)?16:n$(e.type)}function ok(e,n,t,r){if(50<om)throw om=0,oh=null,Error(f(185));ni(e,t,r),(0==(2&u2)||e!==u3)&&(e===u3&&(0==(2&u2)&&(on|=t),4===u9&&o_(e,u8)),ow(e,r),1===t&&0===u2&&0==(1&n.mode)&&(ou=eJ()+500,r2&&r8()))}function ow(e,n){var t,r=e.callbackNode;!function(e,n){for(var t=e.suspendedLanes,r=e.pingedLanes,l=e.expirationTimes,a=e.pendingLanes;0<a;){var u=31-e9(a),o=1<<u,i=l[u];-1===i?(0==(o&t)||0!=(o&r))&&(l[u]=function(e,n){switch(e){case 1:case 2:case 4:return n+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return n+5e3;default:return -1}}(o,n)):i<=n&&(e.expiredLanes|=o),a&=~o}}(e,n);var l=nl(e,e===u3?u8:0);if(0===l)null!==r&&eX(r),e.callbackNode=null,e.callbackPriority=0;else if(n=l&-l,e.callbackPriority!==n){if(null!=r&&eX(r),1===n)0===e.tag?(t=oC.bind(null,e),r2=!0,r4(t)):r4(oC.bind(null,e)),rx(function(){0==(6&u2)&&r8()}),r=null;else{switch(nf(l)){case 1:r=e1;break;case 4:r=e2;break;case 16:default:r=e3;break;case 0x20000000:r=e8}r=eY(r,oS.bind(null,e))}e.callbackPriority=n,e.callbackNode=r}}function oS(e,n){if(og=-1,ov=0,0!=(6&u2))throw Error(f(327));var t=e.callbackNode;if(oU()&&e.callbackNode!==t)return null;var r=nl(e,e===u3?u8:0);if(0===r)return null;if(0!=(30&r)||0!=(r&e.expiredLanes)||n)n=oF(e,r);else{n=r;var l=u2;u2|=2;var a=oR();for((u3!==e||u8!==n)&&(oo=null,ou=eJ()+500,oT(e,n));;)try{for(;null!==u4&&!eG();)oO(u4);break}catch(n){oL(e,n)}lM(),uJ.current=a,u2=l,null!==u4?n=0:(u3=null,u8=0,n=u9)}if(0!==n){if(2===n&&0!==(l=na(e))&&(r=l,n=ox(e,l)),1===n)throw t=u7,oT(e,0),o_(e,r),ow(e,eJ()),t;if(6===n)o_(e,r);else{if(l=e.current.alternate,0==(30&r)&&!function(e){for(var n=e;;){if(16384&n.flags){var t=n.updateQueue;if(null!==t&&null!==(t=t.stores))for(var r=0;r<t.length;r++){var l=t[r],a=l.getSnapshot;l=l.value;try{if(!tD(a(),l))return!1}catch(e){return!1}}}if(t=n.child,16384&n.subtreeFlags&&null!==t)t.return=n,n=t;else{if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return!0;n=n.return}n.sibling.return=n.return,n=n.sibling}}return!0}(l)&&(2===(n=oF(e,r))&&0!==(a=na(e))&&(r=a,n=ox(e,a)),1===n))throw t=u7,oT(e,0),o_(e,r),ow(e,eJ()),t;switch(e.finishedWork=l,e.finishedLanes=r,n){case 0:case 1:throw Error(f(345));case 2:case 5:oI(e,ol,oo);break;case 3:if(o_(e,r),(0x7c00000&r)===r&&10<(n=oa+500-eJ())){if(0!==nl(e,0))break;if(((l=e.suspendedLanes)&r)!==r){oy(),e.pingedLanes|=e.suspendedLanes&l;break}e.timeoutHandle=rk(oI.bind(null,e,ol,oo),n);break}oI(e,ol,oo);break;case 4:if(o_(e,r),(4194240&r)===r)break;for(l=-1,n=e.eventTimes;0<r;){var u=31-e9(r);a=1<<u,(u=n[u])>l&&(l=u),r&=~a}if(r=l,10<(r=(120>(r=eJ()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*uZ(r/1960))-r)){e.timeoutHandle=rk(oI.bind(null,e,ol,oo),r);break}oI(e,ol,oo);break;default:throw Error(f(329))}}}return ow(e,eJ()),e.callbackNode===t?oS.bind(null,e):null}function ox(e,n){var t=or;return e.current.memoizedState.isDehydrated&&(oT(e,n).flags|=256),2!==(e=oF(e,n))&&(n=ol,ol=t,null!==n&&oE(n)),e}function oE(e){null===ol?ol=e:ol.push.apply(ol,e)}function o_(e,n){for(n&=~ot,n&=~on,e.suspendedLanes|=n,e.pingedLanes&=~n,e=e.expirationTimes;0<n;){var t=31-e9(n),r=1<<t;e[t]=-1,n&=~r}}function oC(e){if(0!=(6&u2))throw Error(f(327));oU();var n=nl(e,0);if(0==(1&n))return ow(e,eJ()),null;var t=oF(e,n);if(0!==e.tag&&2===t){var r=na(e);0!==r&&(n=r,t=ox(e,r))}if(1===t)throw t=u7,oT(e,0),o_(e,n),ow(e,eJ()),t;if(6===t)throw Error(f(345));return e.finishedWork=e.current.alternate,e.finishedLanes=n,oI(e,ol,oo),ow(e,eJ()),null}function oP(e,n){var t=u2;u2|=1;try{return e(n)}finally{0===(u2=t)&&(ou=eJ()+500,r2&&r8())}}function oN(e){null!==od&&0===od.tag&&0==(6&u2)&&oU();var n=u2;u2|=1;var t=u1.transition,r=nc;try{if(u1.transition=null,nc=1,e)return e()}finally{nc=r,u1.transition=t,0==(6&(u2=n))&&r8()}}function oz(){u5=u6.current,rj(u6)}function oT(e,n){e.finishedWork=null,e.finishedLanes=0;var t=e.timeoutHandle;if(-1!==t&&(e.timeoutHandle=-1,rw(t)),null!==u4)for(t=u4.return;null!==t;){var r=t;switch(li(r),r.tag){case 1:null!=(r=r.type.childContextTypes)&&rX();break;case 3:l3(),rj(rQ),rj(rW),l7();break;case 5:l8(r);break;case 4:l3();break;case 13:case 19:rj(l5);break;case 10:lF(r.type._context);break;case 22:case 23:oz()}t=t.return}if(u3=e,u4=e=oK(e.current,null),u8=u5=n,u9=0,u7=null,ot=on=oe=0,ol=or=null,null!==lU){for(n=0;n<lU.length;n++)if(null!==(r=(t=lU[n]).interleaved)){t.interleaved=null;var l=r.next,a=t.pending;if(null!==a){var u=a.next;a.next=l,r.next=u}t.pending=r}lU=null}return e}function oL(e,n){for(;;){var t=u4;try{if(lM(),ae.current=aK,au){for(var r=ar.memoizedState;null!==r;){var l=r.queue;null!==l&&(l.pending=null),r=r.next}au=!1}if(at=0,aa=al=ar=null,ao=!1,ai=0,u0.current=null,null===t||null===t.return){u9=1,u7=n,u4=null;break}e:{var a=e,u=t.return,o=t,i=n;if(n=u8,o.flags|=32768,null!==i&&\"object\"==typeof i&&\"function\"==typeof i.then){var s=i,c=o,d=c.tag;if(0==(1&c.mode)&&(0===d||11===d||15===d)){var p=c.alternate;p?(c.updateQueue=p.updateQueue,c.memoizedState=p.memoizedState,c.lanes=p.lanes):(c.updateQueue=null,c.memoizedState=null)}var m=ut(u);if(null!==m){m.flags&=-257,ur(m,u,o,a,n),1&m.mode&&un(a,s,n),n=m,i=s;var h=n.updateQueue;if(null===h){var g=new Set;g.add(i),n.updateQueue=g}else h.add(i);break e}if(0==(1&n)){un(a,s,n),oM();break e}i=Error(f(426))}else if(lf&&1&o.mode){var v=ut(u);if(null!==v){0==(65536&v.flags)&&(v.flags|=256),ur(v,u,o,a,n),lw(a8(i,o));break e}}a=i=a8(i,o),4!==u9&&(u9=2),null===or?or=[a]:or.push(a),a=u;do{switch(a.tag){case 3:a.flags|=65536,n&=-n,a.lanes|=n;var y=a7(a,i,n);lK(a,y);break e;case 1:o=i;var b=a.type,k=a.stateNode;if(0==(128&a.flags)&&(\"function\"==typeof b.getDerivedStateFromError||null!==k&&\"function\"==typeof k.componentDidCatch&&(null===oc||!oc.has(k)))){a.flags|=65536,n&=-n,a.lanes|=n;var w=ue(a,o,n);lK(a,w);break e}}a=a.return}while(null!==a)}oD(t)}catch(e){n=e,u4===t&&null!==t&&(u4=t=t.return);continue}break}}function oR(){var e=uJ.current;return uJ.current=aK,null===e?aK:e}function oM(){(0===u9||3===u9||2===u9)&&(u9=4),null===u3||0==(0xfffffff&oe)&&0==(0xfffffff&on)||o_(u3,u8)}function oF(e,n){var t=u2;u2|=2;var r=oR();for((u3!==e||u8!==n)&&(oo=null,oT(e,n));;)try{for(;null!==u4;)oO(u4);break}catch(n){oL(e,n)}if(lM(),u2=t,uJ.current=r,null!==u4)throw Error(f(261));return u3=null,u8=0,u9}function oO(e){var n=i(e.alternate,e,u5);e.memoizedProps=e.pendingProps,null===n?oD(e):u4=n,u0.current=null}function oD(e){var n=e;do{var t=n.alternate;if(e=n.return,0==(32768&n.flags)){if(null!==(t=function(e,n,t){var r=n.pendingProps;switch(li(n),n.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return uN(n),null;case 1:case 17:return rY(n.type)&&rX(),uN(n),null;case 3:return r=n.stateNode,l3(),rj(rQ),rj(rW),l7(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(null===e||null===e.child)&&(ly(n)?n.flags|=4:null===e||e.memoizedState.isDehydrated&&0==(256&n.flags)||(n.flags|=1024,null!==ld&&(oE(ld),ld=null))),a(e,n),uN(n),null;case 5:l8(n);var i=l1(l0.current);if(t=n.type,null!==e&&null!=n.stateNode)u(e,n,t,r,i),e.ref!==n.ref&&(n.flags|=512,n.flags|=2097152);else{if(!r){if(null===n.stateNode)throw Error(f(166));return uN(n),null}if(e=l1(lZ.current),ly(n)){r=n.stateNode,t=n.type;var s=n.memoizedProps;switch(r[rz]=n,r[rT]=s,e=0!=(1&n.mode),t){case\"dialog\":rt(\"cancel\",r),rt(\"close\",r);break;case\"iframe\":case\"object\":case\"embed\":rt(\"load\",r);break;case\"video\":case\"audio\":for(i=0;i<t9.length;i++)rt(t9[i],r);break;case\"source\":rt(\"error\",r);break;case\"img\":case\"image\":case\"link\":rt(\"error\",r),rt(\"load\",r);break;case\"details\":rt(\"toggle\",r);break;case\"input\":J(r,s),rt(\"invalid\",r);break;case\"select\":r._wrapperState={wasMultiple:!!s.multiple},rt(\"invalid\",r);break;case\"textarea\":eo(r,s),rt(\"invalid\",r)}for(var c in ew(t,s),i=null,s)if(s.hasOwnProperty(c)){var d=s[c];\"children\"===c?\"string\"==typeof d?r.textContent!==d&&(!0!==s.suppressHydrationWarning&&rh(r.textContent,d,e),i=[\"children\",d]):\"number\"==typeof d&&r.textContent!==\"\"+d&&(!0!==s.suppressHydrationWarning&&rh(r.textContent,d,e),i=[\"children\",\"\"+d]):p.hasOwnProperty(c)&&null!=d&&\"onScroll\"===c&&rt(\"scroll\",r)}switch(t){case\"input\":Y(r),et(r,s,!0);break;case\"textarea\":Y(r),es(r);break;case\"select\":case\"option\":break;default:\"function\"==typeof s.onClick&&(r.onclick=rg)}r=i,n.updateQueue=r,null!==r&&(n.flags|=4)}else{c=9===i.nodeType?i:i.ownerDocument,\"http://www.w3.org/1999/xhtml\"===e&&(e=ec(t)),\"http://www.w3.org/1999/xhtml\"===e?\"script\"===t?((e=c.createElement(\"div\")).innerHTML=\"<script><\\/script>\",e=e.removeChild(e.firstChild)):\"string\"==typeof r.is?e=c.createElement(t,{is:r.is}):(e=c.createElement(t),\"select\"===t&&(c=e,r.multiple?c.multiple=!0:r.size&&(c.size=r.size))):e=c.createElementNS(e,t),e[rz]=n,e[rT]=r,l(e,n,!1,!1),n.stateNode=e;e:{switch(c=eS(t,r),t){case\"dialog\":rt(\"cancel\",e),rt(\"close\",e),i=r;break;case\"iframe\":case\"object\":case\"embed\":rt(\"load\",e),i=r;break;case\"video\":case\"audio\":for(i=0;i<t9.length;i++)rt(t9[i],e);i=r;break;case\"source\":rt(\"error\",e),i=r;break;case\"img\":case\"image\":case\"link\":rt(\"error\",e),rt(\"load\",e),i=r;break;case\"details\":rt(\"toggle\",e),i=r;break;case\"input\":J(e,r),i=Z(e,r),rt(\"invalid\",e);break;case\"option\":default:i=r;break;case\"select\":e._wrapperState={wasMultiple:!!r.multiple},i=B({},r,{value:void 0}),rt(\"invalid\",e);break;case\"textarea\":eo(e,r),i=eu(e,r),rt(\"invalid\",e)}for(s in ew(t,i),d=i)if(d.hasOwnProperty(s)){var m=d[s];\"style\"===s?eb(e,m):\"dangerouslySetInnerHTML\"===s?null!=(m=m?m.__html:void 0)&&em(e,m):\"children\"===s?\"string\"==typeof m?(\"textarea\"!==t||\"\"!==m)&&eh(e,m):\"number\"==typeof m&&eh(e,\"\"+m):\"suppressContentEditableWarning\"!==s&&\"suppressHydrationWarning\"!==s&&\"autoFocus\"!==s&&(p.hasOwnProperty(s)?null!=m&&\"onScroll\"===s&&rt(\"scroll\",e):null!=m&&_(e,s,m,c))}switch(t){case\"input\":Y(e),et(e,r,!1);break;case\"textarea\":Y(e),es(e);break;case\"option\":null!=r.value&&e.setAttribute(\"value\",\"\"+q(r.value));break;case\"select\":e.multiple=!!r.multiple,null!=(s=r.value)?ea(e,!!r.multiple,s,!1):null!=r.defaultValue&&ea(e,!!r.multiple,r.defaultValue,!0);break;default:\"function\"==typeof i.onClick&&(e.onclick=rg)}switch(t){case\"button\":case\"input\":case\"select\":case\"textarea\":r=!!r.autoFocus;break e;case\"img\":r=!0;break e;default:r=!1}}r&&(n.flags|=4)}null!==n.ref&&(n.flags|=512,n.flags|=2097152)}return uN(n),null;case 6:if(e&&null!=n.stateNode)o(e,n,e.memoizedProps,r);else{if(\"string\"!=typeof r&&null===n.stateNode)throw Error(f(166));if(t=l1(l0.current),l1(lZ.current),ly(n)){if(r=n.stateNode,t=n.memoizedProps,r[rz]=n,(s=r.nodeValue!==t)&&null!==(e=ls))switch(e.tag){case 3:rh(r.nodeValue,t,0!=(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&rh(r.nodeValue,t,0!=(1&e.mode))}s&&(n.flags|=4)}else(r=(9===t.nodeType?t:t.ownerDocument).createTextNode(r))[rz]=n,n.stateNode=r}return uN(n),null;case 13:if(rj(l5),r=n.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(lf&&null!==lc&&0!=(1&n.mode)&&0==(128&n.flags))lb(),lk(),n.flags|=98560,s=!1;else if(s=ly(n),null!==r&&null!==r.dehydrated){if(null===e){if(!s)throw Error(f(318));if(!(s=null!==(s=n.memoizedState)?s.dehydrated:null))throw Error(f(317));s[rz]=n}else lk(),0==(128&n.flags)&&(n.memoizedState=null),n.flags|=4;uN(n),s=!1}else null!==ld&&(oE(ld),ld=null),s=!0;if(!s)return 65536&n.flags?n:null}if(0!=(128&n.flags))return n.lanes=t,n;return(r=null!==r)!=(null!==e&&null!==e.memoizedState)&&r&&(n.child.flags|=8192,0!=(1&n.mode)&&(null===e||0!=(1&l5.current)?0===u9&&(u9=3):oM())),null!==n.updateQueue&&(n.flags|=4),uN(n),null;case 4:return l3(),a(e,n),null===e&&ra(n.stateNode.containerInfo),uN(n),null;case 10:return lF(n.type._context),uN(n),null;case 19:if(rj(l5),null===(s=n.memoizedState))return uN(n),null;if(r=0!=(128&n.flags),null===(c=s.rendering))if(r)uP(s,!1);else{if(0!==u9||null!==e&&0!=(128&e.flags))for(e=n.child;null!==e;){if(null!==(c=l6(e))){for(n.flags|=128,uP(s,!1),null!==(r=c.updateQueue)&&(n.updateQueue=r,n.flags|=4),n.subtreeFlags=0,r=t,t=n.child;null!==t;)s=t,e=r,s.flags&=0xe00002,null===(c=s.alternate)?(s.childLanes=0,s.lanes=e,s.child=null,s.subtreeFlags=0,s.memoizedProps=null,s.memoizedState=null,s.updateQueue=null,s.dependencies=null,s.stateNode=null):(s.childLanes=c.childLanes,s.lanes=c.lanes,s.child=c.child,s.subtreeFlags=0,s.deletions=null,s.memoizedProps=c.memoizedProps,s.memoizedState=c.memoizedState,s.updateQueue=c.updateQueue,s.type=c.type,e=c.dependencies,s.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),t=t.sibling;return rB(l5,1&l5.current|2),n.child}e=e.sibling}null!==s.tail&&eJ()>ou&&(n.flags|=128,r=!0,uP(s,!1),n.lanes=4194304)}else{if(!r)if(null!==(e=l6(c))){if(n.flags|=128,r=!0,null!==(t=e.updateQueue)&&(n.updateQueue=t,n.flags|=4),uP(s,!0),null===s.tail&&\"hidden\"===s.tailMode&&!c.alternate&&!lf)return uN(n),null}else 2*eJ()-s.renderingStartTime>ou&&0x40000000!==t&&(n.flags|=128,r=!0,uP(s,!1),n.lanes=4194304);s.isBackwards?(c.sibling=n.child,n.child=c):(null!==(t=s.last)?t.sibling=c:n.child=c,s.last=c)}if(null!==s.tail)return n=s.tail,s.rendering=n,s.tail=n.sibling,s.renderingStartTime=eJ(),n.sibling=null,t=l5.current,rB(l5,r?1&t|2:1&t),n;return uN(n),null;case 22:case 23:return oz(),r=null!==n.memoizedState,null!==e&&null!==e.memoizedState!==r&&(n.flags|=8192),r&&0!=(1&n.mode)?0!=(0x40000000&u5)&&(uN(n),6&n.subtreeFlags&&(n.flags|=8192)):uN(n),null;case 24:case 25:return null}throw Error(f(156,n.tag))}(t,n,u5))){u4=t;return}}else{if(null!==(t=function(e,n){switch(li(n),n.tag){case 1:return rY(n.type)&&rX(),65536&(e=n.flags)?(n.flags=-65537&e|128,n):null;case 3:return l3(),rj(rQ),rj(rW),l7(),0!=(65536&(e=n.flags))&&0==(128&e)?(n.flags=-65537&e|128,n):null;case 5:return l8(n),null;case 13:if(rj(l5),null!==(e=n.memoizedState)&&null!==e.dehydrated){if(null===n.alternate)throw Error(f(340));lk()}return 65536&(e=n.flags)?(n.flags=-65537&e|128,n):null;case 19:return rj(l5),null;case 4:return l3(),null;case 10:return lF(n.type._context),null;case 22:case 23:return oz(),null;default:return null}}(t,n))){t.flags&=32767,u4=t;return}if(null!==e)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{u9=6,u4=null;return}}if(null!==(n=n.sibling)){u4=n;return}u4=n=e}while(null!==n);0===u9&&(u9=5)}function oI(e,n,t){var r=nc,l=u1.transition;try{u1.transition=null,nc=1,function(e,n,t,r){do oU();while(null!==od);if(0!=(6&u2))throw Error(f(327));t=e.finishedWork;var l=e.finishedLanes;if(null!==t){if(e.finishedWork=null,e.finishedLanes=0,t===e.current)throw Error(f(177));e.callbackNode=null,e.callbackPriority=0;var a=t.lanes|t.childLanes,u=e,o=a,i=u.pendingLanes&~o;u.pendingLanes=o,u.suspendedLanes=0,u.pingedLanes=0,u.expiredLanes&=o,u.mutableReadLanes&=o,u.entangledLanes&=o,o=u.entanglements;var s=u.eventTimes;for(u=u.expirationTimes;0<i;){var c=31-e9(i),d=1<<c;o[c]=0,s[c]=-1,u[c]=-1,i&=~d}if(e===u3&&(u4=u3=null,u8=0),0==(2064&t.subtreeFlags)&&0==(2064&t.flags)||of||(of=!0,function(e,n){eY(e,n)}(e3,function(){return oU(),null})),a=0!=(15990&t.flags),0!=(15990&t.subtreeFlags)||a){a=u1.transition,u1.transition=null;var p,m,h,g=nc;nc=1;var v=u2;u2|=4,u0.current=null,function(e,n){if(rv=nO,t$(e=tA())){if(\"selectionStart\"in e)var t={start:e.selectionStart,end:e.selectionEnd};else e:{var r=(t=(t=e.ownerDocument)&&t.defaultView||window).getSelection&&t.getSelection();if(r&&0!==r.rangeCount){t=r.anchorNode;var l,a=r.anchorOffset,u=r.focusNode;r=r.focusOffset;try{t.nodeType,u.nodeType}catch(e){t=null;break e}var o=0,i=-1,s=-1,c=0,d=0,p=e,m=null;n:for(;;){for(;p!==t||0!==a&&3!==p.nodeType||(i=o+a),p!==u||0!==r&&3!==p.nodeType||(s=o+r),3===p.nodeType&&(o+=p.nodeValue.length),null!==(l=p.firstChild);)m=p,p=l;for(;;){if(p===e)break n;if(m===t&&++c===a&&(i=o),m===u&&++d===r&&(s=o),null!==(l=p.nextSibling))break;m=(p=m).parentNode}p=l}t=-1===i||-1===s?null:{start:i,end:s}}else t=null}t=t||{start:0,end:0}}else t=null;for(ry={focusedElem:e,selectionRange:t},nO=!1,uR=n;null!==uR;)if(e=(n=uR).child,0!=(1028&n.subtreeFlags)&&null!==e)e.return=n,uR=e;else for(;null!==uR;){n=uR;try{var h=n.alternate;if(0!=(1024&n.flags))switch(n.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==h){var g=h.memoizedProps,v=h.memoizedState,y=n.stateNode,b=y.getSnapshotBeforeUpdate(n.elementType===n.type?g:aZ(n.type,g),v);y.__reactInternalSnapshotBeforeUpdate=b}break;case 3:var k=n.stateNode.containerInfo;1===k.nodeType?k.textContent=\"\":9===k.nodeType&&k.documentElement&&k.removeChild(k.documentElement);break;default:throw Error(f(163))}}catch(e){oA(n,n.return,e)}if(null!==(e=n.sibling)){e.return=n.return,uR=e;break}uR=n.return}h=uO,uO=!1}(e,t),uq(t,e),function(e){var n=tA(),t=e.focusedElem,r=e.selectionRange;if(n!==t&&t&&t.ownerDocument&&function e(n,t){return!!n&&!!t&&(n===t||(!n||3!==n.nodeType)&&(t&&3===t.nodeType?e(n,t.parentNode):\"contains\"in n?n.contains(t):!!n.compareDocumentPosition&&!!(16&n.compareDocumentPosition(t))))}(t.ownerDocument.documentElement,t)){if(null!==r&&t$(t)){if(n=r.start,void 0===(e=r.end)&&(e=n),\"selectionStart\"in t)t.selectionStart=n,t.selectionEnd=Math.min(e,t.value.length);else if((e=(n=t.ownerDocument||document)&&n.defaultView||window).getSelection){e=e.getSelection();var l=t.textContent.length,a=Math.min(r.start,l);r=void 0===r.end?a:Math.min(r.end,l),!e.extend&&a>r&&(l=r,r=a,a=l),l=tV(t,a);var u=tV(t,r);l&&u&&(1!==e.rangeCount||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==u.node||e.focusOffset!==u.offset)&&((n=n.createRange()).setStart(l.node,l.offset),e.removeAllRanges(),a>r?(e.addRange(n),e.extend(u.node,u.offset)):(n.setEnd(u.node,u.offset),e.addRange(n)))}}for(n=[],e=t;e=e.parentNode;)1===e.nodeType&&n.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(\"function\"==typeof t.focus&&t.focus(),t=0;t<n.length;t++)(e=n[t]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}(ry),nO=!!rv,ry=rv=null,e.current=t,p=t,m=e,h=l,uR=p,function e(n,t,r){for(var l=0!=(1&n.mode);null!==uR;){var a=uR,u=a.child;if(22===a.tag&&l){var o=null!==a.memoizedState||uz;if(!o){var i=a.alternate,s=null!==i&&null!==i.memoizedState||uT;i=uz;var c=uT;if(uz=o,(uT=s)&&!c)for(uR=a;null!==uR;)s=(o=uR).child,22===o.tag&&null!==o.memoizedState?uG(a):null!==s?(s.return=o,uR=s):uG(a);for(;null!==u;)uR=u,e(u,t,r),u=u.sibling;uR=a,uz=i,uT=c}uY(n,t,r)}else 0!=(8772&a.subtreeFlags)&&null!==u?(u.return=a,uR=u):uY(n,t,r)}}(p,m,h),eZ(),u2=v,nc=g,u1.transition=a}else e.current=t;of&&(of=!1,od=e,op=l),0===(a=e.pendingLanes)&&(oc=null);var y=t.stateNode;if(e6&&\"function\"==typeof e6.onCommitFiberRoot)try{e6.onCommitFiberRoot(e5,y,void 0,128==(128&y.current.flags))}catch(e){}if(ow(e,eJ()),null!==n)for(r=e.onRecoverableError,t=0;t<n.length;t++)r((l=n[t]).value,{componentStack:l.stack,digest:l.digest});if(oi)throw oi=!1,e=os,os=null,e;0!=(1&op)&&0!==e.tag&&oU(),0!=(1&(a=e.pendingLanes))?e===oh?om++:(om=0,oh=e):om=0,r8()}}(e,n,t,r)}finally{u1.transition=l,nc=r}return null}function oU(){if(null!==od){var e=nf(op),n=u1.transition,t=nc;try{if(u1.transition=null,nc=16>e?16:e,null===od)var r=!1;else{if(e=od,od=null,op=0,0!=(6&u2))throw Error(f(331));var l=u2;for(u2|=4,uR=e.current;null!==uR;){var a=uR,u=a.child;if(0!=(16&uR.flags)){var o=a.deletions;if(null!==o){for(var i=0;i<o.length;i++){var s=o[i];for(uR=s;null!==uR;){var c=uR;switch(c.tag){case 0:case 11:case 15:uD(8,c,a)}var d=c.child;if(null!==d)d.return=c,uR=d;else for(;null!==uR;){var p=(c=uR).sibling,m=c.return;if(!function e(n){var t=n.alternate;null!==t&&(n.alternate=null,e(t)),n.child=null,n.deletions=null,n.sibling=null,5===n.tag&&null!==(t=n.stateNode)&&(delete t[rz],delete t[rT],delete t[rR],delete t[rM],delete t[rF]),n.stateNode=null,n.return=null,n.dependencies=null,n.memoizedProps=null,n.memoizedState=null,n.pendingProps=null,n.stateNode=null,n.updateQueue=null}(c),c===s){uR=null;break}if(null!==p){p.return=m,uR=p;break}uR=m}}}var h=a.alternate;if(null!==h){var g=h.child;if(null!==g){h.child=null;do{var v=g.sibling;g.sibling=null,g=v}while(null!==g)}}uR=a}}if(0!=(2064&a.subtreeFlags)&&null!==u)u.return=a,uR=u;else for(;null!==uR;){if(a=uR,0!=(2048&a.flags))switch(a.tag){case 0:case 11:case 15:uD(9,a,a.return)}var y=a.sibling;if(null!==y){y.return=a.return,uR=y;break}uR=a.return}}var b=e.current;for(uR=b;null!==uR;){var k=(u=uR).child;if(0!=(2064&u.subtreeFlags)&&null!==k)k.return=u,uR=k;else for(u=b;null!==uR;){if(o=uR,0!=(2048&o.flags))try{switch(o.tag){case 0:case 11:case 15:uI(9,o)}}catch(e){oA(o,o.return,e)}if(o===u){uR=null;break}var w=o.sibling;if(null!==w){w.return=o.return,uR=w;break}uR=o.return}}if(u2=l,r8(),e6&&\"function\"==typeof e6.onPostCommitFiberRoot)try{e6.onPostCommitFiberRoot(e5,e)}catch(e){}r=!0}return r}finally{nc=t,u1.transition=n}}return!1}function oV(e,n,t){n=a7(e,n=a8(t,n),1),e=lQ(e,n,1),n=oy(),null!==e&&(ni(e,1,n),ow(e,n))}function oA(e,n,t){if(3===e.tag)oV(e,e,t);else for(;null!==n;){if(3===n.tag){oV(n,e,t);break}if(1===n.tag){var r=n.stateNode;if(\"function\"==typeof n.type.getDerivedStateFromError||\"function\"==typeof r.componentDidCatch&&(null===oc||!oc.has(r))){e=ue(n,e=a8(t,e),1),n=lQ(n,e,1),e=oy(),null!==n&&(ni(n,1,e),ow(n,e));break}}n=n.return}}function o$(e,n,t){var r=e.pingCache;null!==r&&r.delete(n),n=oy(),e.pingedLanes|=e.suspendedLanes&t,u3===e&&(u8&t)===t&&(4===u9||3===u9&&(0x7c00000&u8)===u8&&500>eJ()-oa?oT(e,0):ot|=t),ow(e,n)}function oj(e,n){0===n&&(0==(1&e.mode)?n=1:(n=nt,0==(0x7c00000&(nt<<=1))&&(nt=4194304)));var t=oy();null!==(e=l$(e,n))&&(ni(e,n,t),ow(e,t))}function oB(e){var n=e.memoizedState,t=0;null!==n&&(t=n.retryLane),oj(e,t)}function oH(e,n){var t=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;null!==l&&(t=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(f(314))}null!==r&&r.delete(n),oj(e,t)}function oW(e,n,t,r){this.tag=e,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function oQ(e,n,t,r){return new oW(e,n,t,r)}function oq(e){return!(!(e=e.prototype)||!e.isReactComponent)}function oK(e,n){var t=e.alternate;return null===t?((t=oQ(e.tag,n,e.key,e.mode)).elementType=e.elementType,t.type=e.type,t.stateNode=e.stateNode,t.alternate=e,e.alternate=t):(t.pendingProps=n,t.type=e.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=0xe00000&e.flags,t.childLanes=e.childLanes,t.lanes=e.lanes,t.child=e.child,t.memoizedProps=e.memoizedProps,t.memoizedState=e.memoizedState,t.updateQueue=e.updateQueue,n=e.dependencies,t.dependencies=null===n?null:{lanes:n.lanes,firstContext:n.firstContext},t.sibling=e.sibling,t.index=e.index,t.ref=e.ref,t}function oY(e,n,t,r,l,a){var u=2;if(r=e,\"function\"==typeof e)oq(e)&&(u=1);else if(\"string\"==typeof e)u=5;else e:switch(e){case z:return oX(t.children,l,a,n);case T:u=8,l|=8;break;case L:return(e=oQ(12,t,n,2|l)).elementType=L,e.lanes=a,e;case O:return(e=oQ(13,t,n,l)).elementType=O,e.lanes=a,e;case D:return(e=oQ(19,t,n,l)).elementType=D,e.lanes=a,e;case V:return oG(t,l,a,n);default:if(\"object\"==typeof e&&null!==e)switch(e.$$typeof){case R:u=10;break e;case M:u=9;break e;case F:u=11;break e;case I:u=14;break e;case U:u=16,r=null;break e}throw Error(f(130,null==e?e:typeof e,\"\"))}return(n=oQ(u,t,n,l)).elementType=e,n.type=r,n.lanes=a,n}function oX(e,n,t,r){return(e=oQ(7,e,r,n)).lanes=t,e}function oG(e,n,t,r){return(e=oQ(22,e,r,n)).elementType=V,e.lanes=t,e.stateNode={isHidden:!1},e}function oZ(e,n,t){return(e=oQ(6,e,null,n)).lanes=t,e}function oJ(e,n,t){return(n=oQ(4,null!==e.children?e.children:[],e.key,n)).lanes=t,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function o0(e,n,t,r,l){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=no(0),this.expirationTimes=no(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=no(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function o1(e,n,t,r,l,a,u,o,i){return e=new o0(e,n,t,o,i),1===n?(n=1,!0===a&&(n|=8)):n=0,a=oQ(3,null,null,n),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},lB(a),e}function o2(e){if(!e)return rH;e=e._reactInternals;e:{if(eW(e)!==e||1!==e.tag)throw Error(f(170));var n=e;do{switch(n.tag){case 3:n=n.stateNode.context;break e;case 1:if(rY(n.type)){n=n.stateNode.__reactInternalMemoizedMergedChildContext;break e}}n=n.return}while(null!==n);throw Error(f(171))}if(1===e.tag){var t=e.type;if(rY(t))return rZ(e,t,n)}return n}function o3(e,n,t,r,l,a,u,o,i){return(e=o1(t,r,!0,e,l,a,u,o,i)).context=o2(null),t=e.current,(a=lW(r=oy(),l=ob(t))).callback=null!=n?n:null,lQ(t,a,l),e.current.lanes=l,ni(e,l,r),ow(e,r),e}function o4(e,n,t,r){var l=n.current,a=oy(),u=ob(l);return t=o2(t),null===n.context?n.context=t:n.pendingContext=t,(n=lW(a,u)).payload={element:e},null!==(r=void 0===r?null:r)&&(n.callback=r),null!==(e=lQ(l,n,u))&&(ok(e,l,u,a),lq(e,l,u)),u}function o8(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function o5(e,n){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var t=e.retryLane;e.retryLane=0!==t&&t<n?t:n}}function o6(e,n){o5(e,n),(e=e.alternate)&&o5(e,n)}i=function(e,n,t){if(null!==e)if(e.memoizedProps!==n.pendingProps||rQ.current)ua=!0;else{if(0==(e.lanes&t)&&0==(128&n.flags))return ua=!1,function(e,n,t){switch(n.tag){case 3:uh(n),lk();break;case 5:l4(n);break;case 1:rY(n.type)&&rJ(n);break;case 4:l2(n,n.stateNode.containerInfo);break;case 10:var r=n.type._context,l=n.memoizedProps.value;rB(lz,r._currentValue),r._currentValue=l;break;case 13:if(null!==(r=n.memoizedState)){if(null!==r.dehydrated)return rB(l5,1&l5.current),n.flags|=128,null;if(0!=(t&n.child.childLanes))return ub(e,n,t);return rB(l5,1&l5.current),null!==(e=uC(e,n,t))?e.sibling:null}rB(l5,1&l5.current);break;case 19:if(r=0!=(t&n.childLanes),0!=(128&e.flags)){if(r)return uE(e,n,t);n.flags|=128}if(null!==(l=n.memoizedState)&&(l.rendering=null,l.tail=null,l.lastEffect=null),rB(l5,l5.current),!r)return null;break;case 22:case 23:return n.lanes=0,uc(e,n,t)}return uC(e,n,t)}(e,n,t);ua=0!=(131072&e.flags)}else ua=!1,lf&&0!=(1048576&n.flags)&&lu(n,r7,n.index);switch(n.lanes=0,n.tag){case 2:var r=n.type;u_(e,n),e=n.pendingProps;var l=rK(n,rW.current);lD(n,t),l=ad(null,n,r,e,l,t);var a=ap();return n.flags|=1,\"object\"==typeof l&&null!==l&&\"function\"==typeof l.render&&void 0===l.$$typeof?(n.tag=1,n.memoizedState=null,n.updateQueue=null,rY(r)?(a=!0,rJ(n)):a=!1,n.memoizedState=null!==l.state&&void 0!==l.state?l.state:null,lB(n),l.updater=a0,n.stateNode=l,l._reactInternals=n,a4(n,r,e,t),n=um(null,n,r,!0,a,t)):(n.tag=0,lf&&a&&lo(n),uu(null,n,l,t),n=n.child),n;case 16:r=n.elementType;e:{switch(u_(e,n),e=n.pendingProps,r=(l=r._init)(r._payload),n.type=r,l=n.tag=function(e){if(\"function\"==typeof e)return+!!oq(e);if(null!=e){if((e=e.$$typeof)===F)return 11;if(e===I)return 14}return 2}(r),e=aZ(r,e),l){case 0:n=ud(null,n,r,e,t);break e;case 1:n=up(null,n,r,e,t);break e;case 11:n=uo(null,n,r,e,t);break e;case 14:n=ui(null,n,r,aZ(r.type,e),t);break e}throw Error(f(306,r,\"\"))}return n;case 0:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:aZ(r,l),ud(e,n,r,l,t);case 1:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:aZ(r,l),up(e,n,r,l,t);case 3:e:{if(uh(n),null===e)throw Error(f(387));r=n.pendingProps,l=(a=n.memoizedState).element,lH(e,n),lY(n,r,null,t);var u=n.memoizedState;if(r=u.element,a.isDehydrated)if(a={element:r,isDehydrated:!1,cache:u.cache,pendingSuspenseBoundaries:u.pendingSuspenseBoundaries,transitions:u.transitions},n.updateQueue.baseState=a,n.memoizedState=a,256&n.flags){l=a8(Error(f(423)),n),n=ug(e,n,r,t,l);break e}else if(r!==l){l=a8(Error(f(424)),n),n=ug(e,n,r,t,l);break e}else for(lc=rC(n.stateNode.containerInfo.firstChild),ls=n,lf=!0,ld=null,t=lN(n,null,r,t),n.child=t;t;)t.flags=-3&t.flags|4096,t=t.sibling;else{if(lk(),r===l){n=uC(e,n,t);break e}uu(e,n,r,t)}n=n.child}return n;case 5:return l4(n),null===e&&lg(n),r=n.type,l=n.pendingProps,a=null!==e?e.memoizedProps:null,u=l.children,rb(r,l)?u=null:null!==a&&rb(r,a)&&(n.flags|=32),uf(e,n),uu(e,n,u,t),n.child;case 6:return null===e&&lg(n),null;case 13:return ub(e,n,t);case 4:return l2(n,n.stateNode.containerInfo),r=n.pendingProps,null===e?n.child=lP(n,null,r,t):uu(e,n,r,t),n.child;case 11:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:aZ(r,l),uo(e,n,r,l,t);case 7:return uu(e,n,n.pendingProps,t),n.child;case 8:case 12:return uu(e,n,n.pendingProps.children,t),n.child;case 10:e:{if(r=n.type._context,l=n.pendingProps,a=n.memoizedProps,u=l.value,rB(lz,r._currentValue),r._currentValue=u,null!==a)if(tD(a.value,u)){if(a.children===l.children&&!rQ.current){n=uC(e,n,t);break e}}else for(null!==(a=n.child)&&(a.return=n);null!==a;){var o=a.dependencies;if(null!==o){u=a.child;for(var i=o.firstContext;null!==i;){if(i.context===r){if(1===a.tag){(i=lW(-1,t&-t)).tag=2;var s=a.updateQueue;if(null!==s){var c=(s=s.shared).pending;null===c?i.next=i:(i.next=c.next,c.next=i),s.pending=i}}a.lanes|=t,null!==(i=a.alternate)&&(i.lanes|=t),lO(a.return,t,n),o.lanes|=t;break}i=i.next}}else if(10===a.tag)u=a.type===n.type?null:a.child;else if(18===a.tag){if(null===(u=a.return))throw Error(f(341));u.lanes|=t,null!==(o=u.alternate)&&(o.lanes|=t),lO(u,t,n),u=a.sibling}else u=a.child;if(null!==u)u.return=a;else for(u=a;null!==u;){if(u===n){u=null;break}if(null!==(a=u.sibling)){a.return=u.return,u=a;break}u=u.return}a=u}uu(e,n,l.children,t),n=n.child}return n;case 9:return l=n.type,r=n.pendingProps.children,lD(n,t),r=r(l=lI(l)),n.flags|=1,uu(e,n,r,t),n.child;case 14:return l=aZ(r=n.type,n.pendingProps),l=aZ(r.type,l),ui(e,n,r,l,t);case 15:return us(e,n,n.type,n.pendingProps,t);case 17:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:aZ(r,l),u_(e,n),n.tag=1,rY(r)?(e=!0,rJ(n)):e=!1,lD(n,t),a2(n,r,l),a4(n,r,l,t),um(null,n,r,!0,e,t);case 19:return uE(e,n,t);case 22:return uc(e,n,t)}throw Error(f(156,n.tag))};var o9=\"function\"==typeof reportError?reportError:function(e){console.error(e)};function o7(e){this._internalRoot=e}function ie(e){this._internalRoot=e}function it(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function ir(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||\" react-mount-point-unstable \"!==e.nodeValue))}function il(){}function ia(e,n,t,r,l){var a=t._reactRootContainer;if(a){var u=a;if(\"function\"==typeof l){var o=l;l=function(){var e=o8(u);o.call(e)}}o4(n,u,e,l)}else u=function(e,n,t,r,l){if(l){if(\"function\"==typeof r){var a=r;r=function(){var e=o8(u);a.call(e)}}var u=o3(n,r,e,0,null,!1,!1,\"\",il);return e._reactRootContainer=u,e[rL]=u.current,ra(8===e.nodeType?e.parentNode:e),oN(),u}for(;l=e.lastChild;)e.removeChild(l);if(\"function\"==typeof r){var o=r;r=function(){var e=o8(i);o.call(e)}}var i=o1(e,0,!1,null,null,!1,!1,\"\",il);return e._reactRootContainer=i,e[rL]=i.current,ra(8===e.nodeType?e.parentNode:e),oN(function(){o4(n,i,t,r)}),i}(t,n,e,l,r);return o8(u)}ie.prototype.render=o7.prototype.render=function(e){var n=this._internalRoot;if(null===n)throw Error(f(409));o4(e,n,null,null)},ie.prototype.unmount=o7.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var n=e.containerInfo;oN(function(){o4(null,e,null,null)}),n[rL]=null}},ie.prototype.unstable_scheduleHydration=function(e){if(e){var n=nh();e={blockedOn:null,target:e,priority:n};for(var t=0;t<nE.length&&0!==n&&n<nE[t].priority;t++);nE.splice(t,0,e),0===t&&nN(e)}},nd=function(e){switch(e.tag){case 3:var n=e.stateNode;if(n.current.memoizedState.isDehydrated){var t=nr(n.pendingLanes);0!==t&&(ns(n,1|t),ow(n,eJ()),0==(6&u2)&&(ou=eJ()+500,r8()))}break;case 13:oN(function(){var n=l$(e,1);null!==n&&ok(n,e,1,oy())}),o6(e,1)}},np=function(e){if(13===e.tag){var n=l$(e,0x8000000);null!==n&&ok(n,e,0x8000000,oy()),o6(e,0x8000000)}},nm=function(e){if(13===e.tag){var n=ob(e),t=l$(e,n);null!==t&&ok(t,e,n,oy()),o6(e,n)}},nh=function(){return nc},ng=function(e,n){var t=nc;try{return nc=e,n()}finally{nc=t}},e_=function(e,n,t){switch(n){case\"input\":if(en(e,t),n=t.name,\"radio\"===t.type&&null!=n){for(t=e;t.parentNode;)t=t.parentNode;for(t=t.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+n)+'][type=\"radio\"]'),n=0;n<t.length;n++){var r=t[n];if(r!==e&&r.form===e.form){var l=rU(r);if(!l)throw Error(f(90));X(r),en(r,l)}}}break;case\"textarea\":ei(e,t);break;case\"select\":null!=(n=t.value)&&ea(e,!!t.multiple,n,!1)}},eL=oP,eR=oN;var iu={findFiberByHostInstance:rO,bundleType:0,version:\"18.3.1\",rendererPackageName:\"react-dom\"},io={bundleType:iu.bundleType,version:iu.version,rendererPackageName:iu.rendererPackageName,rendererConfig:iu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:C.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=eK(e))?null:e.stateNode},findFiberByHostInstance:iu.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.3.1-next-f1338f8080-20240426\"};if(\"u\">typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var ii=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ii.isDisabled&&ii.supportsFiber)try{e5=ii.inject(io),e6=ii}catch(e){}}n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED={usingClientEntryPoint:!1,Events:[rD,rI,rU,ez,eT,oP]},n.createPortal=function(e,n){var t=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!it(n))throw Error(f(200));return function(e,n,t){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:N,key:null==r?null:\"\"+r,children:e,containerInfo:n,implementation:t}}(e,n,null,t)},n.createRoot=function(e,n){if(!it(e))throw Error(f(299));var t=!1,r=\"\",l=o9;return null!=n&&(!0===n.unstable_strictMode&&(t=!0),void 0!==n.identifierPrefix&&(r=n.identifierPrefix),void 0!==n.onRecoverableError&&(l=n.onRecoverableError)),n=o1(e,1,!1,null,null,t,!1,r,l),e[rL]=n.current,ra(8===e.nodeType?e.parentNode:e),new o7(n)},n.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var n=e._reactInternals;if(void 0===n){if(\"function\"==typeof e.render)throw Error(f(188));throw Error(f(268,e=Object.keys(e).join(\",\")))}return null===(e=eK(n))?null:e.stateNode},n.flushSync=function(e){return oN(e)},n.hydrate=function(e,n,t){if(!ir(n))throw Error(f(200));return ia(null,e,n,!0,t)},n.hydrateRoot=function(e,n,t){if(!it(e))throw Error(f(405));var r=null!=t&&t.hydratedSources||null,l=!1,a=\"\",u=o9;if(null!=t&&(!0===t.unstable_strictMode&&(l=!0),void 0!==t.identifierPrefix&&(a=t.identifierPrefix),void 0!==t.onRecoverableError&&(u=t.onRecoverableError)),n=o3(n,null,e,1,null!=t?t:null,l,!1,a,u),e[rL]=n.current,ra(e),r)for(e=0;e<r.length;e++)l=(l=(t=r[e])._getVersion)(t._source),null==n.mutableSourceEagerHydrationData?n.mutableSourceEagerHydrationData=[t,l]:n.mutableSourceEagerHydrationData.push(t,l);return new ie(n)},n.render=function(e,n,t){if(!ir(n))throw Error(f(200));return ia(null,e,n,!1,t)},n.unmountComponentAtNode=function(e){if(!ir(e))throw Error(f(40));return!!e._reactRootContainer&&(oN(function(){ia(null,null,e,!1,function(){e._reactRootContainer=null,e[rL]=null})}),!0)},n.unstable_batchedUpdates=oP,n.unstable_renderSubtreeIntoContainer=function(e,n,t,r){if(!ir(t))throw Error(f(200));if(null==e||void 0===e._reactInternals)throw Error(f(38));return ia(e,n,t,!1,r)},n.version=\"18.3.1-next-f1338f8080-20240426\"},961(e,n,t){!function e(){if(\"u\">typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&\"function\"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=t(2551)},5287(e,n){var t=Symbol.for(\"react.element\"),r=Symbol.for(\"react.portal\"),l=Symbol.for(\"react.fragment\"),a=Symbol.for(\"react.strict_mode\"),u=Symbol.for(\"react.profiler\"),o=Symbol.for(\"react.provider\"),i=Symbol.for(\"react.context\"),s=Symbol.for(\"react.forward_ref\"),c=Symbol.for(\"react.suspense\"),f=Symbol.for(\"react.memo\"),d=Symbol.for(\"react.lazy\"),p=Symbol.iterator,m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h=Object.assign,g={};function v(e,n,t){this.props=e,this.context=n,this.refs=g,this.updater=t||m}function y(){}function b(e,n,t){this.props=e,this.context=n,this.refs=g,this.updater=t||m}v.prototype.isReactComponent={},v.prototype.setState=function(e,n){if(\"object\"!=typeof e&&\"function\"!=typeof e&&null!=e)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,e,n,\"setState\")},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,\"forceUpdate\")},y.prototype=v.prototype;var k=b.prototype=new y;k.constructor=b,h(k,v.prototype),k.isPureReactComponent=!0;var w=Array.isArray,S=Object.prototype.hasOwnProperty,x={current:null},E={key:!0,ref:!0,__self:!0,__source:!0};function _(e,n,r){var l,a={},u=null,o=null;if(null!=n)for(l in void 0!==n.ref&&(o=n.ref),void 0!==n.key&&(u=\"\"+n.key),n)S.call(n,l)&&!E.hasOwnProperty(l)&&(a[l]=n[l]);var i=arguments.length-2;if(1===i)a.children=r;else if(1<i){for(var s=Array(i),c=0;c<i;c++)s[c]=arguments[c+2];a.children=s}if(e&&e.defaultProps)for(l in i=e.defaultProps)void 0===a[l]&&(a[l]=i[l]);return{$$typeof:t,type:e,key:u,ref:o,props:a,_owner:x.current}}function C(e){return\"object\"==typeof e&&null!==e&&e.$$typeof===t}var P=/\\/+/g;function N(e,n){var t,r;return\"object\"==typeof e&&null!==e&&null!=e.key?(t=\"\"+e.key,r={\"=\":\"=0\",\":\":\"=2\"},\"$\"+t.replace(/[=:]/g,function(e){return r[e]})):n.toString(36)}function z(e,n,l){if(null==e)return e;var a=[],u=0;return!function e(n,l,a,u,o){var i,s,c,f=typeof n;(\"undefined\"===f||\"boolean\"===f)&&(n=null);var d=!1;if(null===n)d=!0;else switch(f){case\"string\":case\"number\":d=!0;break;case\"object\":switch(n.$$typeof){case t:case r:d=!0}}if(d)return o=o(d=n),n=\"\"===u?\".\"+N(d,0):u,w(o)?(a=\"\",null!=n&&(a=n.replace(P,\"$&/\")+\"/\"),e(o,l,a,\"\",function(e){return e})):null!=o&&(C(o)&&(i=o,s=a+(!o.key||d&&d.key===o.key?\"\":(\"\"+o.key).replace(P,\"$&/\")+\"/\")+n,o={$$typeof:t,type:i.type,key:s,ref:i.ref,props:i.props,_owner:i._owner}),l.push(o)),1;if(d=0,u=\"\"===u?\".\":u+\":\",w(n))for(var m=0;m<n.length;m++){var h=u+N(f=n[m],m);d+=e(f,l,a,h,o)}else if(\"function\"==typeof(h=null===(c=n)||\"object\"!=typeof c?null:\"function\"==typeof(c=p&&c[p]||c[\"@@iterator\"])?c:null))for(n=h.call(n),m=0;!(f=n.next()).done;)h=u+N(f=f.value,m++),d+=e(f,l,a,h,o);else if(\"object\"===f)throw Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===(l=String(n))?\"object with keys {\"+Object.keys(n).join(\", \")+\"}\":l)+\"). If you meant to render a collection of children, use an array instead.\");return d}(e,a,\"\",\"\",function(e){return n.call(l,e,u++)}),a}function T(e){if(-1===e._status){var n=e._result;(n=n()).then(function(n){(0===e._status||-1===e._status)&&(e._status=1,e._result=n)},function(n){(0===e._status||-1===e._status)&&(e._status=2,e._result=n)}),-1===e._status&&(e._status=0,e._result=n)}if(1===e._status)return e._result.default;throw e._result}var L={current:null},R={transition:null};function M(){throw Error(\"act(...) is not supported in production builds of React.\")}n.Children={map:z,forEach:function(e,n,t){z(e,function(){n.apply(this,arguments)},t)},count:function(e){var n=0;return z(e,function(){n++}),n},toArray:function(e){return z(e,function(e){return e})||[]},only:function(e){if(!C(e))throw Error(\"React.Children.only expected to receive a single React element child.\");return e}},n.Component=v,n.Fragment=l,n.Profiler=u,n.PureComponent=b,n.StrictMode=a,n.Suspense=c,n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED={ReactCurrentDispatcher:L,ReactCurrentBatchConfig:R,ReactCurrentOwner:x},n.act=M,n.cloneElement=function(e,n,r){if(null==e)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+e+\".\");var l=h({},e.props),a=e.key,u=e.ref,o=e._owner;if(null!=n){if(void 0!==n.ref&&(u=n.ref,o=x.current),void 0!==n.key&&(a=\"\"+n.key),e.type&&e.type.defaultProps)var i=e.type.defaultProps;for(s in n)S.call(n,s)&&!E.hasOwnProperty(s)&&(l[s]=void 0===n[s]&&void 0!==i?i[s]:n[s])}var s=arguments.length-2;if(1===s)l.children=r;else if(1<s){i=Array(s);for(var c=0;c<s;c++)i[c]=arguments[c+2];l.children=i}return{$$typeof:t,type:e.type,key:a,ref:u,props:l,_owner:o}},n.createContext=function(e){return(e={$$typeof:i,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:o,_context:e},e.Consumer=e},n.createElement=_,n.createFactory=function(e){var n=_.bind(null,e);return n.type=e,n},n.createRef=function(){return{current:null}},n.forwardRef=function(e){return{$$typeof:s,render:e}},n.isValidElement=C,n.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:T}},n.memo=function(e,n){return{$$typeof:f,type:e,compare:void 0===n?null:n}},n.startTransition=function(e){var n=R.transition;R.transition={};try{e()}finally{R.transition=n}},n.unstable_act=M,n.useCallback=function(e,n){return L.current.useCallback(e,n)},n.useContext=function(e){return L.current.useContext(e)},n.useDebugValue=function(){},n.useDeferredValue=function(e){return L.current.useDeferredValue(e)},n.useEffect=function(e,n){return L.current.useEffect(e,n)},n.useId=function(){return L.current.useId()},n.useImperativeHandle=function(e,n,t){return L.current.useImperativeHandle(e,n,t)},n.useInsertionEffect=function(e,n){return L.current.useInsertionEffect(e,n)},n.useLayoutEffect=function(e,n){return L.current.useLayoutEffect(e,n)},n.useMemo=function(e,n){return L.current.useMemo(e,n)},n.useReducer=function(e,n,t){return L.current.useReducer(e,n,t)},n.useRef=function(e){return L.current.useRef(e)},n.useState=function(e){return L.current.useState(e)},n.useSyncExternalStore=function(e,n,t){return L.current.useSyncExternalStore(e,n,t)},n.useTransition=function(){return L.current.useTransition()},n.version=\"18.3.1\"},6540(e,n,t){e.exports=t(5287)},7463(e,n){function t(e,n){var t=e.length;for(e.push(n);0<t;){var r=t-1>>>1,l=e[r];if(0<a(l,n))e[r]=n,e[t]=l,t=r;else break}}function r(e){return 0===e.length?null:e[0]}function l(e){if(0===e.length)return null;var n=e[0],t=e.pop();if(t!==n){e[0]=t;for(var r=0,l=e.length,u=l>>>1;r<u;){var o=2*(r+1)-1,i=e[o],s=o+1,c=e[s];if(0>a(i,t))s<l&&0>a(c,i)?(e[r]=c,e[s]=t,r=s):(e[r]=i,e[o]=t,r=o);else if(s<l&&0>a(c,t))e[r]=c,e[s]=t,r=s;else break}}return n}function a(e,n){var t=e.sortIndex-n.sortIndex;return 0!==t?t:e.id-n.id}if(\"object\"==typeof performance&&\"function\"==typeof performance.now){var u,o=performance;n.unstable_now=function(){return o.now()}}else{var i=Date,s=i.now();n.unstable_now=function(){return i.now()-s}}var c=[],f=[],d=1,p=null,m=3,h=!1,g=!1,v=!1,y=\"function\"==typeof setTimeout?setTimeout:null,b=\"function\"==typeof clearTimeout?clearTimeout:null,k=\"u\">typeof setImmediate?setImmediate:null;function w(e){for(var n=r(f);null!==n;){if(null===n.callback)l(f);else if(n.startTime<=e)l(f),n.sortIndex=n.expirationTime,t(c,n);else break;n=r(f)}}function S(e){if(v=!1,w(e),!g)if(null!==r(c))g=!0,M(x);else{var n=r(f);null!==n&&F(S,n.startTime-e)}}function x(e,t){g=!1,v&&(v=!1,b(C),C=-1),h=!0;var a=m;try{for(w(t),p=r(c);null!==p&&(!(p.expirationTime>t)||e&&!z());){var u=p.callback;if(\"function\"==typeof u){p.callback=null,m=p.priorityLevel;var o=u(p.expirationTime<=t);t=n.unstable_now(),\"function\"==typeof o?p.callback=o:p===r(c)&&l(c),w(t)}else l(c);p=r(c)}if(null!==p)var i=!0;else{var s=r(f);null!==s&&F(S,s.startTime-t),i=!1}return i}finally{p=null,m=a,h=!1}}\"u\">typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var E=!1,_=null,C=-1,P=5,N=-1;function z(){return!(n.unstable_now()-N<P)}function T(){if(null!==_){var e=n.unstable_now();N=e;var t=!0;try{t=_(!0,e)}finally{t?u():(E=!1,_=null)}}else E=!1}if(\"function\"==typeof k)u=function(){k(T)};else if(\"u\">typeof MessageChannel){var L=new MessageChannel,R=L.port2;L.port1.onmessage=T,u=function(){R.postMessage(null)}}else u=function(){y(T,0)};function M(e){_=e,E||(E=!0,u())}function F(e,t){C=y(function(){e(n.unstable_now())},t)}n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(e){e.callback=null},n.unstable_continueExecution=function(){g||h||(g=!0,M(x))},n.unstable_forceFrameRate=function(e){0>e||125<e?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<e?Math.floor(1e3/e):5},n.unstable_getCurrentPriorityLevel=function(){return m},n.unstable_getFirstCallbackNode=function(){return r(c)},n.unstable_next=function(e){switch(m){case 1:case 2:case 3:var n=3;break;default:n=m}var t=m;m=n;try{return e()}finally{m=t}},n.unstable_pauseExecution=function(){},n.unstable_requestPaint=function(){},n.unstable_runWithPriority=function(e,n){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var t=m;m=e;try{return n()}finally{m=t}},n.unstable_scheduleCallback=function(e,l,a){var u=n.unstable_now();switch(a=\"object\"==typeof a&&null!==a&&\"number\"==typeof(a=a.delay)&&0<a?u+a:u,e){case 1:var o=-1;break;case 2:o=250;break;case 5:o=0x3fffffff;break;case 4:o=1e4;break;default:o=5e3}return o=a+o,e={id:d++,callback:l,priorityLevel:e,startTime:a,expirationTime:o,sortIndex:-1},a>u?(e.sortIndex=a,t(f,e),null===r(c)&&e===r(f)&&(v?(b(C),C=-1):v=!0,F(S,a-u))):(e.sortIndex=o,t(c,e),g||h||(g=!0,M(x))),e},n.unstable_shouldYield=z,n.unstable_wrapCallback=function(e){var n=m;return function(){var t=m;m=n;try{return e.apply(this,arguments)}finally{m=t}}}},9982(e,n,t){e.exports=t(7463)}}]);"
  },
  {
    "path": "src/Resources/public/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/109.62a4c31b.js.LICENSE.txt",
    "content": "/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */"
  },
  {
    "path": "src/Resources/public/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/async/346.60211bf9.js",
    "content": "\"use strict\";(self[\"chunk_pimcore_datahub_bundle \"]=self[\"chunk_pimcore_datahub_bundle \"]||[]).push([[\"346\"],{5303(e,t,s){s.d(t,{A:()=>y});var n=s(2812),i=s(6942),r=s.n(i),o=s(2279),l=s(9155),a=s(9128),c=s(8365),u=s(7358),f=s(224);let h=(0,u.OF)(\"Empty\",e=>{let{componentCls:t,controlHeightLG:s,calc:n}=e;return[(e=>{let{componentCls:t,margin:s,marginXS:n,marginXL:i,fontSize:r,lineHeight:o}=e;return{[t]:{marginInline:n,fontSize:r,lineHeight:o,textAlign:\"center\",[`${t}-image`]:{height:e.emptyImgHeight,marginBottom:n,opacity:e.opacityImage,img:{height:\"100%\"},svg:{maxWidth:\"100%\",height:\"100%\",margin:\"auto\"}},[`${t}-description`]:{color:e.colorTextDescription},[`${t}-footer`]:{marginTop:s},\"&-normal\":{marginBlock:i,color:e.colorTextDescription,[`${t}-description`]:{color:e.colorTextDescription},[`${t}-image`]:{height:e.emptyImgHeightMD}},\"&-small\":{marginBlock:n,color:e.colorTextDescription,[`${t}-image`]:{height:e.emptyImgHeightSM}}}}})((0,f.oX)(e,{emptyImgCls:`${t}-img`,emptyImgHeight:n(s).mul(2.5).equal(),emptyImgHeightMD:s,emptyImgHeightSM:n(s).mul(.875).equal()}))]});var d=function(e,t){var s={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(s[n]=e[n]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols)for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)0>t.indexOf(n[i])&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(s[n[i]]=e[n[i]]);return s};let p=n.createElement(()=>{let[,e]=(0,c.Ay)(),[t]=(0,l.A)(\"Empty\"),s=new a.q(e.colorBgBase).toHsl().l<.5?{opacity:.65}:{};return n.createElement(\"svg\",{style:s,width:\"184\",height:\"152\",viewBox:\"0 0 184 152\",xmlns:\"http://www.w3.org/2000/svg\"},n.createElement(\"title\",null,(null==t?void 0:t.description)||\"Empty\"),n.createElement(\"g\",{fill:\"none\",fillRule:\"evenodd\"},n.createElement(\"g\",{transform:\"translate(24 31.67)\"},n.createElement(\"ellipse\",{fillOpacity:\".8\",fill:\"#F5F5F7\",cx:\"67.797\",cy:\"106.89\",rx:\"67.797\",ry:\"12.668\"}),n.createElement(\"path\",{d:\"M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z\",fill:\"#AEB8C2\"}),n.createElement(\"path\",{d:\"M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z\",fill:\"url(#linearGradient-1)\",transform:\"translate(13.56)\"}),n.createElement(\"path\",{d:\"M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z\",fill:\"#F5F5F7\"}),n.createElement(\"path\",{d:\"M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z\",fill:\"#DCE0E6\"})),n.createElement(\"path\",{d:\"M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z\",fill:\"#DCE0E6\"}),n.createElement(\"g\",{transform:\"translate(149.65 15.383)\",fill:\"#FFF\"},n.createElement(\"ellipse\",{cx:\"20.654\",cy:\"3.167\",rx:\"2.849\",ry:\"2.815\"}),n.createElement(\"path\",{d:\"M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z\"}))))},null),m=n.createElement(()=>{let[,e]=(0,c.Ay)(),[t]=(0,l.A)(\"Empty\"),{colorFill:s,colorFillTertiary:i,colorFillQuaternary:r,colorBgContainer:o}=e,{borderColor:u,shadowColor:f,contentColor:h}=(0,n.useMemo)(()=>({borderColor:new a.q(s).onBackground(o).toHexShortString(),shadowColor:new a.q(i).onBackground(o).toHexShortString(),contentColor:new a.q(r).onBackground(o).toHexShortString()}),[s,i,r,o]);return n.createElement(\"svg\",{width:\"64\",height:\"41\",viewBox:\"0 0 64 41\",xmlns:\"http://www.w3.org/2000/svg\"},n.createElement(\"title\",null,(null==t?void 0:t.description)||\"Empty\"),n.createElement(\"g\",{transform:\"translate(0 1)\",fill:\"none\",fillRule:\"evenodd\"},n.createElement(\"ellipse\",{fill:f,cx:\"32\",cy:\"33\",rx:\"32\",ry:\"7\"}),n.createElement(\"g\",{fillRule:\"nonzero\",stroke:u},n.createElement(\"path\",{d:\"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z\"}),n.createElement(\"path\",{d:\"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z\",fill:h}))))},null),g=e=>{var{className:t,rootClassName:s,prefixCls:i,image:a=p,description:c,children:u,imageStyle:f,style:g}=e,y=d(e,[\"className\",\"rootClassName\",\"prefixCls\",\"image\",\"description\",\"children\",\"imageStyle\",\"style\"]);let{getPrefixCls:b,direction:k,empty:w}=n.useContext(o.QO),v=b(\"empty\",i),[S,E,O]=h(v),[N]=(0,l.A)(\"Empty\"),A=void 0!==c?c:null==N?void 0:N.description,x=\"string\"==typeof A?A:\"empty\",$=null;return $=\"string\"==typeof a?n.createElement(\"img\",{alt:x,src:a}):a,S(n.createElement(\"div\",Object.assign({className:r()(E,O,v,null==w?void 0:w.className,{[`${v}-normal`]:a===m,[`${v}-rtl`]:\"rtl\"===k},t,s),style:Object.assign(Object.assign({},null==w?void 0:w.style),g)},y),n.createElement(\"div\",{className:`${v}-image`,style:f},$),A&&n.createElement(\"div\",{className:`${v}-description`},A),u&&n.createElement(\"div\",{className:`${v}-footer`},u)))};g.PRESENTED_IMAGE_DEFAULT=p,g.PRESENTED_IMAGE_SIMPLE=m;let y=g},7925(e,t,s){s.d(t,{A:()=>C});var n=s(2812),i=s(6942),r=s.n(i),o=s(9853),l=s(3098);let a=[\"blue\",\"purple\",\"cyan\",\"green\",\"magenta\",\"pink\",\"red\",\"orange\",\"yellow\",\"volcano\",\"geekblue\",\"lime\",\"gold\"],c=a.map(e=>`${e}-inverse`),u=[\"success\",\"processing\",\"error\",\"default\",\"warning\"];var f=s(64),h=s(682),d=s(7460),p=s(2279),m=s(6191),g=s(9128),y=s(5905),b=s(224),k=s(7358);let w=e=>{let{lineWidth:t,fontSizeIcon:s,calc:n}=e,i=e.fontSizeSM;return(0,b.oX)(e,{tagFontSize:i,tagLineHeight:(0,m.zA)(n(e.lineHeightSM).mul(i).equal()),tagIconSize:n(s).sub(n(t).mul(2)).equal(),tagPaddingHorizontal:8,tagBorderlessBg:e.defaultBg})},v=e=>({defaultBg:new g.q(e.colorFillQuaternary).onBackground(e.colorBgContainer).toHexString(),defaultColor:e.colorText}),S=(0,k.OF)(\"Tag\",e=>(e=>{let{paddingXXS:t,lineWidth:s,tagPaddingHorizontal:n,componentCls:i,calc:r}=e,o=r(n).sub(s).equal(),l=r(t).sub(s).equal();return{[i]:Object.assign(Object.assign({},(0,y.dF)(e)),{display:\"inline-block\",height:\"auto\",marginInlineEnd:e.marginXS,paddingInline:o,fontSize:e.tagFontSize,lineHeight:e.tagLineHeight,whiteSpace:\"nowrap\",background:e.defaultBg,border:`${(0,m.zA)(e.lineWidth)} ${e.lineType} ${e.colorBorder}`,borderRadius:e.borderRadiusSM,opacity:1,transition:`all ${e.motionDurationMid}`,textAlign:\"start\",position:\"relative\",[`&${i}-rtl`]:{direction:\"rtl\"},\"&, a, a:hover\":{color:e.defaultColor},[`${i}-close-icon`]:{marginInlineStart:l,fontSize:e.tagIconSize,color:e.colorTextDescription,cursor:\"pointer\",transition:`all ${e.motionDurationMid}`,\"&:hover\":{color:e.colorTextHeading}},[`&${i}-has-color`]:{borderColor:\"transparent\",[`&, a, a:hover, ${e.iconCls}-close, ${e.iconCls}-close:hover`]:{color:e.colorTextLightSolid}},\"&-checkable\":{backgroundColor:\"transparent\",borderColor:\"transparent\",cursor:\"pointer\",[`&:not(${i}-checkable-checked):hover`]:{color:e.colorPrimary,backgroundColor:e.colorFillSecondary},\"&:active, &-checked\":{color:e.colorTextLightSolid},\"&-checked\":{backgroundColor:e.colorPrimary,\"&:hover\":{backgroundColor:e.colorPrimaryHover}},\"&:active\":{backgroundColor:e.colorPrimaryActive}},\"&-hidden\":{display:\"none\"},[`> ${e.iconCls} + span, > span + ${e.iconCls}`]:{marginInlineStart:o}}),[`${i}-borderless`]:{borderColor:\"transparent\",background:e.tagBorderlessBg}}})(w(e)),v);var E=function(e,t){var s={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(s[n]=e[n]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols)for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)0>t.indexOf(n[i])&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(s[n[i]]=e[n[i]]);return s};let O=n.forwardRef((e,t)=>{let{prefixCls:s,style:i,className:o,checked:l,onChange:a,onClick:c}=e,u=E(e,[\"prefixCls\",\"style\",\"className\",\"checked\",\"onChange\",\"onClick\"]),{getPrefixCls:f,tag:h}=n.useContext(p.QO),d=f(\"tag\",s),[m,g,y]=S(d),b=r()(d,`${d}-checkable`,{[`${d}-checkable-checked`]:l},null==h?void 0:h.className,o,g,y);return m(n.createElement(\"span\",Object.assign({},u,{ref:t,style:Object.assign(Object.assign({},i),null==h?void 0:h.style),className:b,onClick:e=>{null==a||a(!l),null==c||c(e)}})))}),N=(0,k.bf)([\"Tag\",\"preset\"],e=>{var t,s,n;return s=t=w(e),n=(e,s)=>{let{textColor:n,lightBorderColor:i,lightColor:r,darkColor:o}=s;return{[`${t.componentCls}${t.componentCls}-${e}`]:{color:n,background:r,borderColor:i,\"&-inverse\":{color:t.colorTextLightSolid,background:o,borderColor:o},[`&${t.componentCls}-borderless`]:{borderColor:\"transparent\"}}}},a.reduce((e,t)=>{let i=s[`${t}1`],r=s[`${t}3`],o=s[`${t}6`],l=s[`${t}7`];return Object.assign(Object.assign({},e),n(t,{lightColor:i,lightBorderColor:r,darkColor:o,textColor:l}))},{})},v),A=(e,t,s)=>{let n=\"string\"!=typeof s?s:s.charAt(0).toUpperCase()+s.slice(1);return{[`${e.componentCls}${e.componentCls}-${t}`]:{color:e[`color${s}`],background:e[`color${n}Bg`],borderColor:e[`color${n}Border`],[`&${e.componentCls}-borderless`]:{borderColor:\"transparent\"}}}},x=(0,k.bf)([\"Tag\",\"status\"],e=>{let t=w(e);return[A(t,\"success\",\"Success\"),A(t,\"processing\",\"Info\"),A(t,\"error\",\"Error\"),A(t,\"warning\",\"Warning\")]},v);var $=function(e,t){var s={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(s[n]=e[n]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols)for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)0>t.indexOf(n[i])&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(s[n[i]]=e[n[i]]);return s};let T=n.forwardRef((e,t)=>{let{prefixCls:s,className:i,rootClassName:m,style:g,children:y,icon:b,color:k,onClose:w,bordered:v=!0,visible:E}=e,O=$(e,[\"prefixCls\",\"className\",\"rootClassName\",\"style\",\"children\",\"icon\",\"color\",\"onClose\",\"bordered\",\"visible\"]),{getPrefixCls:A,direction:T,tag:C}=n.useContext(p.QO),[I,L]=n.useState(!0),_=(0,o.A)(O,[\"closeIcon\",\"closable\"]);n.useEffect(()=>{void 0!==E&&L(E)},[E]);let M=function(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return t?[].concat((0,l.A)(c),(0,l.A)(a)).includes(e):a.includes(e)}(k),B=u.includes(k),j=M||B,D=Object.assign(Object.assign({backgroundColor:k&&!j?k:void 0},null==C?void 0:C.style),g),K=A(\"tag\",s),[q,P,R]=S(K),U=r()(K,null==C?void 0:C.className,{[`${K}-${k}`]:j,[`${K}-has-color`]:k&&!j,[`${K}-hidden`]:!I,[`${K}-rtl`]:\"rtl\"===T,[`${K}-borderless`]:!v},i,m,P,R),F=e=>{e.stopPropagation(),null==w||w(e),e.defaultPrevented||L(!1)},[,V]=(0,f.A)((0,f.d)(e),(0,f.d)(C),{closable:!1,closeIconRender:e=>{let t=n.createElement(\"span\",{className:`${K}-close-icon`,onClick:F},e);return(0,h.fx)(e,t,e=>({onClick:t=>{var s;null==(s=null==e?void 0:e.onClick)||s.call(e,t),F(t)},className:r()(null==e?void 0:e.className,`${K}-close-icon`)}))}}),H=\"function\"==typeof O.onClick||y&&\"a\"===y.type,J=b||null,Y=J?n.createElement(n.Fragment,null,J,y&&n.createElement(\"span\",null,y)):y,W=n.createElement(\"span\",Object.assign({},_,{ref:t,className:U,style:D}),Y,V,M&&n.createElement(N,{key:\"preset\",prefixCls:K}),B&&n.createElement(x,{key:\"status\",prefixCls:K}));return q(H?n.createElement(d.A,{component:\"Tag\"},W):W)});T.CheckableTag=O;let C=T},6483(e,t,s){let n;s.r(t),s.d(t,{Document:()=>tn,Parser:()=>t8,Schema:()=>ts,isScalar:()=>y,YAMLParseError:()=>to,parseDocument:()=>ss,isSeq:()=>b,visit:()=>N,default:()=>sr,YAMLSeq:()=>ev,Alias:()=>R,isNode:()=>w,Scalar:()=>F,LineCounter:()=>t2,YAMLMap:()=>ek,parse:()=>sn,isMap:()=>m,parseAllDocuments:()=>st,Pair:()=>em,isCollection:()=>k,stringify:()=>si,CST:()=>i,isDocument:()=>p,Lexer:()=>t1,visitAsync:()=>x,isPair:()=>g,YAMLError:()=>tr,isAlias:()=>d,Composer:()=>t$,YAMLWarning:()=>tl});var i={};s.r(i),s.d(i,{BOM:()=>tR,DOCUMENT:()=>tU,FLOW_END:()=>tF,SCALAR:()=>tV,createScalarToken:()=>tC,isCollection:()=>tH,isScalar:()=>tJ,prettyToken:()=>tY,resolveAsScalar:()=>tT,setScalarValue:()=>tI,stringify:()=>tM,tokenType:()=>tW,visit:()=>tP});var r={};s.r(r),s.d(r,{Alias:()=>R,CST:()=>i,Composer:()=>t$,Document:()=>tn,Lexer:()=>t1,LineCounter:()=>t2,Pair:()=>em,Parser:()=>t8,Scalar:()=>F,Schema:()=>ts,YAMLError:()=>tr,YAMLMap:()=>ek,YAMLParseError:()=>to,YAMLSeq:()=>ev,YAMLWarning:()=>tl,isAlias:()=>d,isCollection:()=>k,isDocument:()=>p,isMap:()=>m,isNode:()=>w,isPair:()=>g,isScalar:()=>y,isSeq:()=>b,parse:()=>sn,parseAllDocuments:()=>st,parseDocument:()=>ss,stringify:()=>si,visit:()=>N,visitAsync:()=>x});let o=Symbol.for(\"yaml.alias\"),l=Symbol.for(\"yaml.document\"),a=Symbol.for(\"yaml.map\"),c=Symbol.for(\"yaml.pair\"),u=Symbol.for(\"yaml.scalar\"),f=Symbol.for(\"yaml.seq\"),h=Symbol.for(\"yaml.node.type\"),d=e=>!!e&&\"object\"==typeof e&&e[h]===o,p=e=>!!e&&\"object\"==typeof e&&e[h]===l,m=e=>!!e&&\"object\"==typeof e&&e[h]===a,g=e=>!!e&&\"object\"==typeof e&&e[h]===c,y=e=>!!e&&\"object\"==typeof e&&e[h]===u,b=e=>!!e&&\"object\"==typeof e&&e[h]===f;function k(e){if(e&&\"object\"==typeof e)switch(e[h]){case a:case f:return!0}return!1}function w(e){if(e&&\"object\"==typeof e)switch(e[h]){case o:case a:case u:case f:return!0}return!1}let v=e=>(y(e)||k(e))&&!!e.anchor,S=Symbol(\"break visit\"),E=Symbol(\"skip children\"),O=Symbol(\"remove node\");function N(e,t){let s=T(t);p(e)?A(null,e.contents,s,Object.freeze([e]))===O&&(e.contents=null):A(null,e,s,Object.freeze([]))}function A(e,t,s,n){let i=C(e,t,s,n);if(w(i)||g(i))return I(e,n,i),A(e,i,s,n);if(\"symbol\"!=typeof i){if(k(t)){n=Object.freeze(n.concat(t));for(let e=0;e<t.items.length;++e){let i=A(e,t.items[e],s,n);if(\"number\"==typeof i)e=i-1;else{if(i===S)return S;i===O&&(t.items.splice(e,1),e-=1)}}}else if(g(t)){n=Object.freeze(n.concat(t));let e=A(\"key\",t.key,s,n);if(e===S)return S;e===O&&(t.key=null);let i=A(\"value\",t.value,s,n);if(i===S)return S;i===O&&(t.value=null)}}return i}async function x(e,t){let s=T(t);p(e)?await $(null,e.contents,s,Object.freeze([e]))===O&&(e.contents=null):await $(null,e,s,Object.freeze([]))}async function $(e,t,s,n){let i=await C(e,t,s,n);if(w(i)||g(i))return I(e,n,i),$(e,i,s,n);if(\"symbol\"!=typeof i){if(k(t)){n=Object.freeze(n.concat(t));for(let e=0;e<t.items.length;++e){let i=await $(e,t.items[e],s,n);if(\"number\"==typeof i)e=i-1;else{if(i===S)return S;i===O&&(t.items.splice(e,1),e-=1)}}}else if(g(t)){n=Object.freeze(n.concat(t));let e=await $(\"key\",t.key,s,n);if(e===S)return S;e===O&&(t.key=null);let i=await $(\"value\",t.value,s,n);if(i===S)return S;i===O&&(t.value=null)}}return i}function T(e){return\"object\"==typeof e&&(e.Collection||e.Node||e.Value)?Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e):e}function C(e,t,s,n){return\"function\"==typeof s?s(e,t,n):m(t)?s.Map?.(e,t,n):b(t)?s.Seq?.(e,t,n):g(t)?s.Pair?.(e,t,n):y(t)?s.Scalar?.(e,t,n):d(t)?s.Alias?.(e,t,n):void 0}function I(e,t,s){let n=t[t.length-1];if(k(n))n.items[e]=s;else if(g(n))\"key\"===e?n.key=s:n.value=s;else if(p(n))n.contents=s;else{let e=d(n)?\"alias\":\"scalar\";throw Error(`Cannot replace node with ${e} parent`)}}N.BREAK=S,N.SKIP=E,N.REMOVE=O,x.BREAK=S,x.SKIP=E,x.REMOVE=O;let L={\"!\":\"%21\",\",\":\"%2C\",\"[\":\"%5B\",\"]\":\"%5D\",\"{\":\"%7B\",\"}\":\"%7D\"},_=e=>e.replace(/[!,[\\]{}]/g,e=>L[e]);class M{constructor(e,t){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},M.defaultYaml,e),this.tags=Object.assign({},M.defaultTags,t)}clone(){let e=new M(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){let e=new M(this.yaml,this.tags);switch(this.yaml.version){case\"1.1\":this.atNextDocument=!0;break;case\"1.2\":this.atNextDocument=!1,this.yaml={explicit:M.defaultYaml.explicit,version:\"1.2\"},this.tags=Object.assign({},M.defaultTags)}return e}add(e,t){this.atNextDocument&&(this.yaml={explicit:M.defaultYaml.explicit,version:\"1.1\"},this.tags=Object.assign({},M.defaultTags),this.atNextDocument=!1);let s=e.trim().split(/[ \\t]+/),n=s.shift();switch(n){case\"%TAG\":{if(2!==s.length&&(t(0,\"%TAG directive should contain exactly two parts\"),s.length<2))return!1;let[e,n]=s;return this.tags[e]=n,!0}case\"%YAML\":{if(this.yaml.explicit=!0,1!==s.length)return t(0,\"%YAML directive should contain exactly one part\"),!1;let[e]=s;if(\"1.1\"===e||\"1.2\"===e)return this.yaml.version=e,!0;{let s=/^\\d+\\.\\d+$/.test(e);return t(6,`Unsupported YAML version ${e}`,s),!1}}default:return t(0,`Unknown directive ${n}`,!0),!1}}tagName(e,t){if(\"!\"===e)return\"!\";if(\"!\"!==e[0])return t(`Not a valid tag: ${e}`),null;if(\"<\"===e[1]){let s=e.slice(2,-1);return\"!\"===s||\"!!\"===s?(t(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(\">\"!==e[e.length-1]&&t(\"Verbatim tags must end with a >\"),s)}let[,s,n]=e.match(/^(.*!)([^!]*)$/s);n||t(`The ${e} tag has no suffix`);let i=this.tags[s];if(i)try{return i+decodeURIComponent(n)}catch(e){return t(String(e)),null}return\"!\"===s?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[t,s]of Object.entries(this.tags))if(e.startsWith(s))return t+_(e.substring(s.length));return\"!\"===e[0]?e:`!<${e}>`}toString(e){let t,s=this.yaml.explicit?[`%YAML ${this.yaml.version||\"1.2\"}`]:[],n=Object.entries(this.tags);if(e&&n.length>0&&w(e.contents)){let s={};N(e.contents,(e,t)=>{w(t)&&t.tag&&(s[t.tag]=!0)}),t=Object.keys(s)}else t=[];for(let[i,r]of n)(\"!!\"!==i||\"tag:yaml.org,2002:\"!==r)&&(!e||t.some(e=>e.startsWith(r)))&&s.push(`%TAG ${i} ${r}`);return s.join(\"\\n\")}}function B(e){if(/[\\x00-\\x19\\s,[\\]{}]/.test(e)){let t=JSON.stringify(e);throw Error(`Anchor must not contain whitespace or control characters: ${t}`)}return!0}function j(e){let t=new Set;return N(e,{Value(e,s){s.anchor&&t.add(s.anchor)}}),t}function D(e,t){for(let s=1;;++s){let n=`${e}${s}`;if(!t.has(n))return n}}function K(e,t,s,n){if(n&&\"object\"==typeof n)if(Array.isArray(n))for(let t=0,s=n.length;t<s;++t){let s=n[t],i=K(e,n,String(t),s);void 0===i?delete n[t]:i!==s&&(n[t]=i)}else if(n instanceof Map)for(let t of Array.from(n.keys())){let s=n.get(t),i=K(e,n,t,s);void 0===i?n.delete(t):i!==s&&n.set(t,i)}else if(n instanceof Set)for(let t of Array.from(n)){let s=K(e,n,t,t);void 0===s?n.delete(t):s!==t&&(n.delete(t),n.add(s))}else for(let[t,s]of Object.entries(n)){let i=K(e,n,t,s);void 0===i?delete n[t]:i!==s&&(n[t]=i)}return e.call(t,s,n)}function q(e,t,s){if(Array.isArray(e))return e.map((e,t)=>q(e,String(t),s));if(e&&\"function\"==typeof e.toJSON){if(!s||!v(e))return e.toJSON(t,s);let n={aliasCount:0,count:1,res:void 0};s.anchors.set(e,n),s.onCreate=e=>{n.res=e,delete s.onCreate};let i=e.toJSON(t,s);return s.onCreate&&s.onCreate(i),i}return\"bigint\"!=typeof e||s?.keep?e:Number(e)}M.defaultYaml={explicit:!1,version:\"1.2\"},M.defaultTags={\"!!\":\"tag:yaml.org,2002:\"};class P{constructor(e){Object.defineProperty(this,h,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:t,maxAliasCount:s,onAnchor:n,reviver:i}={}){if(!p(e))throw TypeError(\"A document argument is required\");let r={anchors:new Map,doc:e,keep:!0,mapAsMap:!0===t,mapKeyWarned:!1,maxAliasCount:\"number\"==typeof s?s:100},o=q(this,\"\",r);if(\"function\"==typeof n)for(let{count:e,res:t}of r.anchors.values())n(t,e);return\"function\"==typeof i?K(i,{\"\":o},\"\",o):o}}class R extends P{constructor(e){super(o),this.source=e,Object.defineProperty(this,\"tag\",{set(){throw Error(\"Alias nodes cannot have tags\")}})}resolve(e,t){let s,n;for(let i of(t?.aliasResolveCache?s=t.aliasResolveCache:(s=[],N(e,{Node:(e,t)=>{(d(t)||v(t))&&s.push(t)}}),t&&(t.aliasResolveCache=s)),s)){if(i===this)break;i.anchor===this.source&&(n=i)}return n}toJSON(e,t){if(!t)return{source:this.source};let{anchors:s,doc:n,maxAliasCount:i}=t,r=this.resolve(n,t);if(!r)throw ReferenceError(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);let o=s.get(r);if(o||(q(r,null,t),o=s.get(r)),o?.res===void 0)throw ReferenceError(\"This should not happen: Alias anchor was not resolved?\");if(i>=0&&(o.count+=1,0===o.aliasCount&&(o.aliasCount=function e(t,s,n){if(d(s)){let e=s.resolve(t),i=n&&e&&n.get(e);return i?i.count*i.aliasCount:0}if(k(s)){let i=0;for(let r of s.items){let s=e(t,r,n);s>i&&(i=s)}return i}return g(s)?Math.max(e(t,s.key,n),e(t,s.value,n)):1}(n,r,s)),o.count*o.aliasCount>i))throw ReferenceError(\"Excessive alias count indicates a resource exhaustion attack\");return o.res}toString(e,t,s){let n=`*${this.source}`;if(e){if(B(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source))throw Error(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);if(e.implicitKey)return`${n} `}return n}}let U=e=>!e||\"function\"!=typeof e&&\"object\"!=typeof e;class F extends P{constructor(e){super(u),this.value=e}toJSON(e,t){return t?.keep?this.value:q(this.value,e,t)}toString(){return String(this.value)}}function V(e,t,s){let n;if(p(e)&&(e=e.contents),w(e))return e;if(g(e)){let t=s.schema[a].createNode?.(s.schema,null,s);return t.items.push(e),t}(e instanceof String||e instanceof Number||e instanceof Boolean||\"u\">typeof BigInt&&e instanceof BigInt)&&(e=e.valueOf());let{aliasDuplicateObjects:i,onAnchor:r,onTagObj:o,schema:l,sourceObjects:c}=s;if(i&&e&&\"object\"==typeof e){if(n=c.get(e))return n.anchor??(n.anchor=r(e)),new R(n.anchor);n={anchor:null,node:null},c.set(e,n)}t?.startsWith(\"!!\")&&(t=\"tag:yaml.org,2002:\"+t.slice(2));let u=function(e,t,s){if(t){let e=s.filter(e=>e.tag===t),n=e.find(e=>!e.format)??e[0];if(!n)throw Error(`Tag ${t} not found`);return n}return s.find(t=>t.identify?.(e)&&!t.format)}(e,t,l.tags);if(!u){if(e&&\"function\"==typeof e.toJSON&&(e=e.toJSON()),!e||\"object\"!=typeof e){let t=new F(e);return n&&(n.node=t),t}u=e instanceof Map?l[a]:Symbol.iterator in Object(e)?l[f]:l[a]}o&&(o(u),delete s.onTagObj);let h=u?.createNode?u.createNode(s.schema,e,s):\"function\"==typeof u?.nodeClass?.from?u.nodeClass.from(s.schema,e,s):new F(e);return t?h.tag=t:u.default||(h.tag=u.tag),n&&(n.node=h),h}function H(e,t,s){let n=s;for(let e=t.length-1;e>=0;--e){let s=t[e];if(\"number\"==typeof s&&Number.isInteger(s)&&s>=0){let e=[];e[s]=n,n=e}else n=new Map([[s,n]])}return V(n,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error(\"This should not happen, please report a bug.\")},schema:e,sourceObjects:new Map})}F.BLOCK_FOLDED=\"BLOCK_FOLDED\",F.BLOCK_LITERAL=\"BLOCK_LITERAL\",F.PLAIN=\"PLAIN\",F.QUOTE_DOUBLE=\"QUOTE_DOUBLE\",F.QUOTE_SINGLE=\"QUOTE_SINGLE\";let J=e=>null==e||\"object\"==typeof e&&!!e[Symbol.iterator]().next().done;class Y extends P{constructor(e,t){super(e),Object.defineProperty(this,\"schema\",{value:t,configurable:!0,enumerable:!1,writable:!0})}clone(e){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(t.schema=e),t.items=t.items.map(t=>w(t)||g(t)?t.clone(e):t),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(J(e))this.add(t);else{let[s,...n]=e,i=this.get(s,!0);if(k(i))i.addIn(n,t);else if(void 0===i&&this.schema)this.set(s,H(this.schema,n,t));else throw Error(`Expected YAML collection at ${s}. Remaining path: ${n}`)}}deleteIn(e){let[t,...s]=e;if(0===s.length)return this.delete(t);let n=this.get(t,!0);if(k(n))return n.deleteIn(s);throw Error(`Expected YAML collection at ${t}. Remaining path: ${s}`)}getIn(e,t){let[s,...n]=e,i=this.get(s,!0);return 0===n.length?!t&&y(i)?i.value:i:k(i)?i.getIn(n,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!g(t))return!1;let s=t.value;return null==s||e&&y(s)&&null==s.value&&!s.commentBefore&&!s.comment&&!s.tag})}hasIn(e){let[t,...s]=e;if(0===s.length)return this.has(t);let n=this.get(t,!0);return!!k(n)&&n.hasIn(s)}setIn(e,t){let[s,...n]=e;if(0===n.length)this.set(s,t);else{let e=this.get(s,!0);if(k(e))e.setIn(n,t);else if(void 0===e&&this.schema)this.set(s,H(this.schema,n,t));else throw Error(`Expected YAML collection at ${s}. Remaining path: ${n}`)}}}let W=e=>e.replace(/^(?!$)(?: $)?/gm,\"#\");function G(e,t){return/^\\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}let z=(e,t,s)=>e.endsWith(\"\\n\")?G(s,t):s.includes(\"\\n\")?\"\\n\"+G(s,t):(e.endsWith(\" \")?\"\":\" \")+s,Q=\"block\",X=\"quoted\";function Z(e,t,s=\"flow\",{indentAtStart:n,lineWidth:i=80,minContentWidth:r=20,onFold:o,onOverflow:l}={}){let a,c,u;if(!i||i<0)return e;i<r&&(r=0);let f=Math.max(1+r,1+i-t.length);if(e.length<=f)return e;let h=[],d={},p=i-t.length;\"number\"==typeof n&&(n>i-Math.max(2,r)?h.push(0):p=i-n);let m=!1,g=-1,y=-1,b=-1;for(s===Q&&-1!==(g=ee(e,g,t.length))&&(p=g+f);u=e[g+=1];){if(s===X&&\"\\\\\"===u){switch(y=g,e[g+1]){case\"x\":g+=3;break;case\"u\":g+=5;break;case\"U\":g+=9;break;default:g+=1}b=g}if(\"\\n\"===u)s===Q&&(g=ee(e,g,t.length)),p=g+t.length+f,a=void 0;else{if(\" \"===u&&c&&\" \"!==c&&\"\\n\"!==c&&\"\t\"!==c){let t=e[g+1];t&&\" \"!==t&&\"\\n\"!==t&&\"\t\"!==t&&(a=g)}if(g>=p)if(a)h.push(a),p=a+f,a=void 0;else if(s===X){for(;\" \"===c||\"\t\"===c;)c=u,u=e[g+=1],m=!0;let t=g>b+1?g-2:y-1;if(d[t])return e;h.push(t),d[t]=!0,p=t+f,a=void 0}else m=!0}c=u}if(m&&l&&l(),0===h.length)return e;o&&o();let k=e.slice(0,h[0]);for(let n=0;n<h.length;++n){let i=h[n],r=h[n+1]||e.length;0===i?k=`\n${t}${e.slice(0,r)}`:(s===X&&d[i]&&(k+=`${e[i]}\\\\`),k+=`\n${t}${e.slice(i+1,r)}`)}return k}function ee(e,t,s){let n=t,i=t+1,r=e[i];for(;\" \"===r||\"\t\"===r;)if(t<i+s)r=e[++t];else{do r=e[++t];while(r&&\"\\n\"!==r);n=t,r=e[i=t+1]}return n}let et=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth});function es(e,t){let s=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return s;let{implicitKey:n}=t,i=t.options.doubleQuotedMinMultiLineLength,r=t.indent||(/^(%|---|\\.\\.\\.)/m.test(e)?\"  \":\"\"),o=\"\",l=0;for(let e=0,t=s[e];t;t=s[++e])if(\" \"===t&&\"\\\\\"===s[e+1]&&\"n\"===s[e+2]&&(o+=s.slice(l,e)+\"\\\\ \",e+=1,l=e,t=\"\\\\\"),\"\\\\\"===t)switch(s[e+1]){case\"u\":{o+=s.slice(l,e);let t=s.substr(e+2,4);switch(t){case\"0000\":o+=\"\\\\0\";break;case\"0007\":o+=\"\\\\a\";break;case\"000b\":o+=\"\\\\v\";break;case\"001b\":o+=\"\\\\e\";break;case\"0085\":o+=\"\\\\N\";break;case\"00a0\":o+=\"\\\\_\";break;case\"2028\":o+=\"\\\\L\";break;case\"2029\":o+=\"\\\\P\";break;default:\"00\"===t.substr(0,2)?o+=\"\\\\x\"+t.substr(2):o+=s.substr(e,6)}e+=5,l=e+1}break;case\"n\":if(n||'\"'===s[e+2]||s.length<i)e+=1;else{for(o+=s.slice(l,e)+\"\\n\\n\";\"\\\\\"===s[e+2]&&\"n\"===s[e+3]&&'\"'!==s[e+4];)o+=\"\\n\",e+=2;o+=r,\" \"===s[e+2]&&(o+=\"\\\\\"),e+=1,l=e+1}break;default:e+=1}return o=l?o+s.slice(l):s,n?o:Z(o,r,\"quoted\",et(t,!1))}function en(e,t){if(!1===t.options.singleQuote||t.implicitKey&&e.includes(\"\\n\")||/[ \\t]\\n|\\n[ \\t]/.test(e))return es(e,t);let s=t.indent||(/^(%|---|\\.\\.\\.)/m.test(e)?\"  \":\"\"),n=\"'\"+e.replace(/'/g,\"''\").replace(/\\n+/g,`$&\n${s}`)+\"'\";return t.implicitKey?n:Z(n,s,\"flow\",et(t,!1))}function ei(e,t){let s,{singleQuote:n}=t.options;if(!1===n)s=es;else{let t=e.includes('\"'),i=e.includes(\"'\");s=t&&!i?en:i&&!t?es:n?en:es}return s(e,t)}try{n=RegExp(\"(^|(?<!\\n))\\n+(?!\\n|$)\",\"g\")}catch{n=/\\n+(?!\\n|$)/g}function er({comment:e,type:t,value:s},i,r,o){let l,a,c,u,{blockQuote:f,commentString:h,lineWidth:d}=i.options;if(!f||/\\n[\\t ]+$/.test(s))return ei(s,i);let p=i.indent||(i.forceBlockIndent||(u=s,/^(%|---|\\.\\.\\.)/m.test(u))?\"  \":\"\"),m=\"literal\"===f||\"folded\"!==f&&t!==F.BLOCK_FOLDED&&(t===F.BLOCK_LITERAL||!function(e,t,s){if(!t||t<0)return!1;let n=t-s,i=e.length;if(i<=n)return!1;for(let t=0,s=0;t<i;++t)if(\"\\n\"===e[t]){if(t-s>n)return!0;if(i-(s=t+1)<=n)return!1}return!0}(s,d,p.length));if(!s)return m?\"|\\n\":\">\\n\";for(a=s.length;a>0;--a){let e=s[a-1];if(\"\\n\"!==e&&\"\t\"!==e&&\" \"!==e)break}let g=s.substring(a),y=g.indexOf(\"\\n\");-1===y?l=\"-\":s===g||y!==g.length-1?(l=\"+\",o&&o()):l=\"\",g&&(s=s.slice(0,-g.length),\"\\n\"===g[g.length-1]&&(g=g.slice(0,-1)),g=g.replace(n,`$&${p}`));let b=!1,k=-1;for(c=0;c<s.length;++c){let e=s[c];if(\" \"===e)b=!0;else if(\"\\n\"===e)k=c;else break}let w=s.substring(0,k<c?k+1:c);w&&(s=s.substring(w.length),w=w.replace(/\\n+/g,`$&${p}`));let v=p?\"2\":\"1\",S=(b?v:\"\")+l;if(e&&(S+=\" \"+h(e.replace(/ ?[\\r\\n]+/g,\" \")),r&&r()),!m){let e=s.replace(/\\n+/g,\"\\n$&\").replace(/(?:^|\\n)([\\t ].*)(?:([\\n\\t ]*)\\n(?![\\n\\t ]))?/g,\"$1$2\").replace(/\\n+/g,`$&${p}`),n=!1,r=et(i,!0);\"folded\"!==f&&t!==F.BLOCK_FOLDED&&(r.onOverflow=()=>{n=!0});let o=Z(`${w}${e}${g}`,p,\"block\",r);if(!n)return`>${S}\n${p}${o}`}return s=s.replace(/\\n+/g,`$&${p}`),`|${S}\n${p}${w}${s}${g}`}function eo(e,t,s,n){let{implicitKey:i,inFlow:r}=t,o=\"string\"==typeof e.value?e:Object.assign({},e,{value:String(e.value)}),{type:l}=e;l!==F.QUOTE_DOUBLE&&/[\\x00-\\x08\\x0b-\\x1f\\x7f-\\x9f\\u{D800}-\\u{DFFF}]/u.test(o.value)&&(l=F.QUOTE_DOUBLE);let a=e=>{switch(e){case F.BLOCK_FOLDED:case F.BLOCK_LITERAL:return i||r?ei(o.value,t):er(o,t,s,n);case F.QUOTE_DOUBLE:return es(o.value,t);case F.QUOTE_SINGLE:return en(o.value,t);case F.PLAIN:return function(e,t,s,n){let{type:i,value:r}=e,{actualString:o,implicitKey:l,indent:a,indentStep:c,inFlow:u}=t;if(l&&r.includes(\"\\n\")||u&&/[[\\]{},]/.test(r))return ei(r,t);if(/^[\\n\\t ,[\\]{}#&*!|>'\"%@`]|^[?-]$|^[?-][ \\t]|[\\n:][ \\t]|[ \\t]\\n|[\\n\\t ]#|[\\n\\t :]$/.test(r))return l||u||!r.includes(\"\\n\")?ei(r,t):er(e,t,s,n);if(!l&&!u&&i!==F.PLAIN&&r.includes(\"\\n\"))return er(e,t,s,n);if(/^(%|---|\\.\\.\\.)/m.test(r)){if(\"\"===a)return t.forceBlockIndent=!0,er(e,t,s,n);else if(l&&a===c)return ei(r,t)}let f=r.replace(/\\n+/g,`$&\n${a}`);if(o){let e=e=>e.default&&\"tag:yaml.org,2002:str\"!==e.tag&&e.test?.test(f),{compat:s,tags:n}=t.doc.schema;if(n.some(e)||s?.some(e))return ei(r,t)}return l?f:Z(f,a,\"flow\",et(t,!1))}(o,t,s,n);default:return null}},c=a(l);if(null===c){let{defaultKeyType:e,defaultStringType:s}=t.options,n=i&&e||s;if(null===(c=a(n)))throw Error(`Unsupported default string type ${n}`)}return c}function el(e,t){let s,n=Object.assign({blockQuote:!0,commentString:W,defaultKeyType:null,defaultStringType:\"PLAIN\",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:\"false\",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:\"null\",simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:\"true\",verifyAliasOrder:!0},e.schema.toStringOptions,t);switch(n.collectionStyle){case\"block\":s=!1;break;case\"flow\":s=!0;break;default:s=null}return{anchors:new Set,doc:e,flowCollectionPadding:n.flowCollectionPadding?\" \":\"\",indent:\"\",indentStep:\"number\"==typeof n.indent?\" \".repeat(n.indent):\"  \",inFlow:s,options:n}}function ea(e,t,s,n){let i;if(g(e))return e.toString(t,s,n);if(d(e)){if(t.doc.directives)return e.toString(t);if(t.resolvedAliases?.has(e))throw TypeError(\"Cannot stringify circular structure without alias nodes\");t.resolvedAliases?t.resolvedAliases.add(e):t.resolvedAliases=new Set([e]),e=e.resolve(t.doc)}let r=w(e)?e:t.doc.createNode(e,{onTagObj:e=>i=e});i??(i=function(e,t){let s,n;if(t.tag){let s=e.filter(e=>e.tag===t.tag);if(s.length>0)return s.find(e=>e.format===t.format)??s[0]}if(y(t)){s=t.value;let i=e.filter(e=>e.identify?.(s));if(i.length>1){let e=i.filter(e=>e.test);e.length>0&&(i=e)}n=i.find(e=>e.format===t.format)??i.find(e=>!e.format)}else s=t,n=e.find(e=>e.nodeClass&&s instanceof e.nodeClass);if(!n){let e=s?.constructor?.name??(null===s?\"null\":typeof s);throw Error(`Tag not resolved for ${e} value`)}return n}(t.doc.schema.tags,r));let o=function(e,t,{anchors:s,doc:n}){if(!n.directives)return\"\";let i=[],r=(y(e)||k(e))&&e.anchor;r&&B(r)&&(s.add(r),i.push(`&${r}`));let o=e.tag??(t.default?null:t.tag);return o&&i.push(n.directives.tagString(o)),i.join(\" \")}(r,i,t);o.length>0&&(t.indentAtStart=(t.indentAtStart??0)+o.length+1);let l=\"function\"==typeof i.stringify?i.stringify(r,t,s,n):y(r)?eo(r,t,s,n):r.toString(t,s,n);return o?y(r)||\"{\"===l[0]||\"[\"===l[0]?`${o} ${l}`:`${o}\n${t.indent}${l}`:l}function ec(e,t){(\"debug\"===e||\"warn\"===e)&&console.warn(t)}let eu={identify:e=>\"<<\"===e||\"symbol\"==typeof e&&\"<<\"===e.description,default:\"key\",tag:\"tag:yaml.org,2002:merge\",test:/^<<$/,resolve:()=>Object.assign(new F(Symbol(\"<<\")),{addToJSMap:ef}),stringify:()=>\"<<\"};function ef(e,t,s){if(b(s=e&&d(s)?s.resolve(e.doc):s))for(let n of s.items)eh(e,t,n);else if(Array.isArray(s))for(let n of s)eh(e,t,n);else eh(e,t,s)}function eh(e,t,s){let n=e&&d(s)?s.resolve(e.doc):s;if(!m(n))throw Error(\"Merge sources must be maps or map aliases\");for(let[s,i]of n.toJSON(null,e,Map))t instanceof Map?t.has(s)||t.set(s,i):t instanceof Set?t.add(s):Object.prototype.hasOwnProperty.call(t,s)||Object.defineProperty(t,s,{value:i,writable:!0,enumerable:!0,configurable:!0});return t}function ed(e,t,{key:s,value:n}){if(w(s)&&s.addToJSMap)s.addToJSMap(e,t,n);else if((eu.identify(s)||y(s)&&(!s.type||s.type===F.PLAIN)&&eu.identify(s.value))&&e?.doc.schema.tags.some(e=>e.tag===eu.tag&&e.default))ef(e,t,n);else{let i=q(s,\"\",e);if(t instanceof Map)t.set(i,q(n,i,e));else if(t instanceof Set)t.add(i);else{let r=function(e,t,s){if(null===t)return\"\";if(\"object\"!=typeof t)return String(t);if(w(e)&&s?.doc){let t=el(s.doc,{});for(let e of(t.anchors=new Set,s.anchors.keys()))t.anchors.add(e.anchor);t.inFlow=!0,t.inStringifyKey=!0;let n=e.toString(t);if(!s.mapKeyWarned){let e=JSON.stringify(n);e.length>40&&(e=e.substring(0,36)+'...\"'),ec(s.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${e}. Set mapAsMap: true to use object keys.`),s.mapKeyWarned=!0}return n}return JSON.stringify(t)}(s,i,e),o=q(n,r,e);r in t?Object.defineProperty(t,r,{value:o,writable:!0,enumerable:!0,configurable:!0}):t[r]=o}}return t}function ep(e,t,s){return new em(V(e,void 0,s),V(t,void 0,s))}class em{constructor(e,t=null){Object.defineProperty(this,h,{value:c}),this.key=e,this.value=t}clone(e){let{key:t,value:s}=this;return w(t)&&(t=t.clone(e)),w(s)&&(s=s.clone(e)),new em(t,s)}toJSON(e,t){let s=t?.mapAsMap?new Map:{};return ed(t,s,this)}toString(e,t,s){return e?.doc?function({key:e,value:t},s,n,i){let r,o,l,{allNullValues:a,doc:c,indent:u,indentStep:f,options:{commentString:h,indentSeq:d,simpleKeys:p}}=s,m=w(e)&&e.comment||null;if(p){if(m)throw Error(\"With simple keys, key nodes cannot have comments\");if(k(e)||!w(e)&&\"object\"==typeof e)throw Error(\"With simple keys, collection cannot be used as a key value\")}let g=!p&&(!e||m&&null==t&&!s.inFlow||k(e)||(y(e)?e.type===F.BLOCK_FOLDED||e.type===F.BLOCK_LITERAL:\"object\"==typeof e));s=Object.assign({},s,{allNullValues:!1,implicitKey:!g&&(p||!a),indent:u+f});let v=!1,S=!1,E=ea(e,s,()=>v=!0,()=>S=!0);if(!g&&!s.inFlow&&E.length>1024){if(p)throw Error(\"With simple keys, single line scalar must not span more than 1024 characters\");g=!0}if(s.inFlow){if(a||null==t)return v&&n&&n(),\"\"===E?\"?\":g?`? ${E}`:E}else if(a&&!p||null==t&&g)return E=`? ${E}`,m&&!v?E+=z(E,s.indent,h(m)):S&&i&&i(),E;v&&(m=null),g?(m&&(E+=z(E,s.indent,h(m))),E=`? ${E}\n${u}:`):(E=`${E}:`,m&&(E+=z(E,s.indent,h(m)))),w(t)?(r=!!t.spaceBefore,o=t.commentBefore,l=t.comment):(r=!1,o=null,l=null,t&&\"object\"==typeof t&&(t=c.createNode(t))),s.implicitKey=!1,!g&&!m&&y(t)&&(s.indentAtStart=E.length+1),S=!1,!(!d&&f.length>=2&&!s.inFlow&&!g&&b(t))||t.flow||t.tag||t.anchor||(s.indent=s.indent.substring(2));let O=!1,N=ea(t,s,()=>O=!0,()=>S=!0),A=\" \";if(m||r||o){if(A=r?\"\\n\":\"\",o){let e=h(o);A+=`\n${G(e,s.indent)}`}\"\"!==N||s.inFlow?A+=`\n${s.indent}`:\"\\n\"===A&&l&&(A=\"\\n\\n\")}else if(!g&&k(t)){let e=N[0],n=N.indexOf(\"\\n\"),i=-1!==n,r=s.inFlow??t.flow??0===t.items.length;if(i||!r){let t=!1;if(i&&(\"&\"===e||\"!\"===e)){let s=N.indexOf(\" \");\"&\"===e&&-1!==s&&s<n&&\"!\"===N[s+1]&&(s=N.indexOf(\" \",s+1)),(-1===s||n<s)&&(t=!0)}t||(A=`\n${s.indent}`)}}else(\"\"===N||\"\\n\"===N[0])&&(A=\"\");return E+=A+N,s.inFlow?O&&n&&n():l&&!O?E+=z(E,s.indent,h(l)):S&&i&&i(),E}(this,e,t,s):JSON.stringify(this)}}function eg(e,t,s){return(t.inFlow??e.flow?function({items:e},t,{flowChars:s,itemIndent:n}){let{indent:i,indentStep:r,flowCollectionPadding:o,options:{commentString:l}}=t,a=Object.assign({},t,{indent:n+=r,inFlow:!0,type:null}),c=!1,u=0,f=[];for(let s=0;s<e.length;++s){let i=e[s],r=null;if(w(i))i.spaceBefore&&f.push(\"\"),ey(t,f,i.commentBefore,!1),i.comment&&(r=i.comment);else if(g(i)){let e=w(i.key)?i.key:null;e&&(e.spaceBefore&&f.push(\"\"),ey(t,f,e.commentBefore,!1),e.comment&&(c=!0));let s=w(i.value)?i.value:null;s?(s.comment&&(r=s.comment),s.commentBefore&&(c=!0)):null==i.value&&e?.comment&&(r=e.comment)}r&&(c=!0);let o=ea(i,a,()=>r=null);c||(c=f.length>u||o.includes(\"\\n\")),s<e.length-1?o+=\",\":t.options.trailingComma&&(t.options.lineWidth>0&&(c||(c=f.reduce((e,t)=>e+t.length+2,2)+(o.length+2)>t.options.lineWidth)),c&&(o+=\",\")),r&&(o+=z(o,n,l(r))),f.push(o),u=f.length}let{start:h,end:d}=s;if(0===f.length)return h+d;if(!c){let e=f.reduce((e,t)=>e+t.length+2,2);c=t.options.lineWidth>0&&e>t.options.lineWidth}if(!c)return`${h}${o}${f.join(\" \")}${o}${d}`;{let e=h;for(let t of f)e+=t?`\n${r}${i}${t}`:\"\\n\";return`${e}\n${i}${d}`}}:function({comment:e,items:t},s,{blockItemPrefix:n,flowChars:i,itemIndent:r,onChompKeep:o,onComment:l}){let a,{indent:c,options:{commentString:u}}=s,f=Object.assign({},s,{indent:r,type:null}),h=!1,d=[];for(let e=0;e<t.length;++e){let i=t[e],o=null;if(w(i))!h&&i.spaceBefore&&d.push(\"\"),ey(s,d,i.commentBefore,h),i.comment&&(o=i.comment);else if(g(i)){let e=w(i.key)?i.key:null;e&&(!h&&e.spaceBefore&&d.push(\"\"),ey(s,d,e.commentBefore,h))}h=!1;let l=ea(i,f,()=>o=null,()=>h=!0);o&&(l+=z(l,r,u(o))),h&&o&&(h=!1),d.push(n+l)}if(0===d.length)a=i.start+i.end;else{a=d[0];for(let e=1;e<d.length;++e){let t=d[e];a+=t?`\n${c}${t}`:\"\\n\"}}return e?(a+=\"\\n\"+G(u(e),c),l&&l()):h&&o&&o(),a})(e,t,s)}function ey({indent:e,options:{commentString:t}},s,n,i){if(n&&i&&(n=n.replace(/^\\n+/,\"\")),n){let i=G(t(n),e);s.push(i.trimStart())}}function eb(e,t){let s=y(t)?t.value:t;for(let n of e)if(g(n)&&(n.key===t||n.key===s||y(n.key)&&n.key.value===s))return n}class ek extends Y{static get tagName(){return\"tag:yaml.org,2002:map\"}constructor(e){super(a,e),this.items=[]}static from(e,t,s){let{keepUndefined:n,replacer:i}=s,r=new this(e),o=(e,o)=>{if(\"function\"==typeof i)o=i.call(t,e,o);else if(Array.isArray(i)&&!i.includes(e))return;(void 0!==o||n)&&r.items.push(ep(e,o,s))};if(t instanceof Map)for(let[e,s]of t)o(e,s);else if(t&&\"object\"==typeof t)for(let e of Object.keys(t))o(e,t[e]);return\"function\"==typeof e.sortMapEntries&&r.items.sort(e.sortMapEntries),r}add(e,t){let s;s=g(e)?e:e&&\"object\"==typeof e&&\"key\"in e?new em(e.key,e.value):new em(e,e?.value);let n=eb(this.items,s.key),i=this.schema?.sortMapEntries;if(n){if(!t)throw Error(`Key ${s.key} already set`);y(n.value)&&U(s.value)?n.value.value=s.value:n.value=s.value}else if(i){let e=this.items.findIndex(e=>0>i(s,e));-1===e?this.items.push(s):this.items.splice(e,0,s)}else this.items.push(s)}delete(e){let t=eb(this.items,e);return!!t&&this.items.splice(this.items.indexOf(t),1).length>0}get(e,t){let s=eb(this.items,e),n=s?.value;return(!t&&y(n)?n.value:n)??void 0}has(e){return!!eb(this.items,e)}set(e,t){this.add(new em(e,t),!0)}toJSON(e,t,s){let n=s?new s:t?.mapAsMap?new Map:{};for(let e of(t?.onCreate&&t.onCreate(n),this.items))ed(t,n,e);return n}toString(e,t,s){if(!e)return JSON.stringify(this);for(let e of this.items)if(!g(e))throw Error(`Map items must all be pairs; found ${JSON.stringify(e)} instead`);return!e.allNullValues&&this.hasAllNullValues(!1)&&(e=Object.assign({},e,{allNullValues:!0})),eg(this,e,{blockItemPrefix:\"\",flowChars:{start:\"{\",end:\"}\"},itemIndent:e.indent||\"\",onChompKeep:s,onComment:t})}}let ew={collection:\"map\",default:!0,nodeClass:ek,tag:\"tag:yaml.org,2002:map\",resolve:(e,t)=>(m(e)||t(\"Expected a mapping for this tag\"),e),createNode:(e,t,s)=>ek.from(e,t,s)};class ev extends Y{static get tagName(){return\"tag:yaml.org,2002:seq\"}constructor(e){super(f,e),this.items=[]}add(e){this.items.push(e)}delete(e){let t=eS(e);return\"number\"==typeof t&&this.items.splice(t,1).length>0}get(e,t){let s=eS(e);if(\"number\"!=typeof s)return;let n=this.items[s];return!t&&y(n)?n.value:n}has(e){let t=eS(e);return\"number\"==typeof t&&t<this.items.length}set(e,t){let s=eS(e);if(\"number\"!=typeof s)throw Error(`Expected a valid index, not ${e}.`);let n=this.items[s];y(n)&&U(t)?n.value=t:this.items[s]=t}toJSON(e,t){let s=[];t?.onCreate&&t.onCreate(s);let n=0;for(let e of this.items)s.push(q(e,String(n++),t));return s}toString(e,t,s){return e?eg(this,e,{blockItemPrefix:\"- \",flowChars:{start:\"[\",end:\"]\"},itemIndent:(e.indent||\"\")+\"  \",onChompKeep:s,onComment:t}):JSON.stringify(this)}static from(e,t,s){let{replacer:n}=s,i=new this(e);if(t&&Symbol.iterator in Object(t)){let e=0;for(let r of t){if(\"function\"==typeof n){let s=t instanceof Set?r:String(e++);r=n.call(t,s,r)}i.items.push(V(r,void 0,s))}}return i}}function eS(e){let t=y(e)?e.value:e;return t&&\"string\"==typeof t&&(t=Number(t)),\"number\"==typeof t&&Number.isInteger(t)&&t>=0?t:null}let eE={collection:\"seq\",default:!0,nodeClass:ev,tag:\"tag:yaml.org,2002:seq\",resolve:(e,t)=>(b(e)||t(\"Expected a sequence for this tag\"),e),createNode:(e,t,s)=>ev.from(e,t,s)},eO={identify:e=>\"string\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:str\",resolve:e=>e,stringify:(e,t,s,n)=>eo(e,t=Object.assign({actualString:!0},t),s,n)},eN={identify:e=>null==e,createNode:()=>new F(null),default:!0,tag:\"tag:yaml.org,2002:null\",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new F(null),stringify:({source:e},t)=>\"string\"==typeof e&&eN.test.test(e)?e:t.options.nullStr},eA={identify:e=>\"boolean\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:bool\",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>new F(\"t\"===e[0]||\"T\"===e[0]),stringify:({source:e,value:t},s)=>e&&eA.test.test(e)&&t===(\"t\"===e[0]||\"T\"===e[0])?e:t?s.options.trueStr:s.options.falseStr};function ex({format:e,minFractionDigits:t,tag:s,value:n}){if(\"bigint\"==typeof n)return String(n);let i=\"number\"==typeof n?n:Number(n);if(!isFinite(i))return isNaN(i)?\".nan\":i<0?\"-.inf\":\".inf\";let r=Object.is(n,-0)?\"-0\":JSON.stringify(n);if(!e&&t&&(!s||\"tag:yaml.org,2002:float\"===s)&&/^\\d/.test(r)){let e=r.indexOf(\".\");e<0&&(e=r.length,r+=\".\");let s=t-(r.length-e-1);for(;s-- >0;)r+=\"0\"}return r}let e$={identify:e=>\"number\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:float\",test:/^(?:[-+]?\\.(?:inf|Inf|INF)|\\.nan|\\.NaN|\\.NAN)$/,resolve:e=>\"nan\"===e.slice(-3).toLowerCase()?NaN:\"-\"===e[0]?-1/0:1/0,stringify:ex},eT={identify:e=>\"number\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:float\",format:\"EXP\",test:/^[-+]?(?:\\.[0-9]+|[0-9]+(?:\\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():ex(e)}},eC={identify:e=>\"number\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:float\",test:/^[-+]?(?:\\.[0-9]+|[0-9]+\\.[0-9]*)$/,resolve(e){let t=new F(parseFloat(e)),s=e.indexOf(\".\");return -1!==s&&\"0\"===e[e.length-1]&&(t.minFractionDigits=e.length-s-1),t},stringify:ex},eI=e=>\"bigint\"==typeof e||Number.isInteger(e),eL=(e,t,s,{intAsBigInt:n})=>n?BigInt(e):parseInt(e.substring(t),s);function e_(e,t,s){let{value:n}=e;return eI(n)&&n>=0?s+n.toString(t):ex(e)}let eM={identify:e=>eI(e)&&e>=0,default:!0,tag:\"tag:yaml.org,2002:int\",format:\"OCT\",test:/^0o[0-7]+$/,resolve:(e,t,s)=>eL(e,2,8,s),stringify:e=>e_(e,8,\"0o\")},eB={identify:eI,default:!0,tag:\"tag:yaml.org,2002:int\",test:/^[-+]?[0-9]+$/,resolve:(e,t,s)=>eL(e,0,10,s),stringify:ex},ej={identify:e=>eI(e)&&e>=0,default:!0,tag:\"tag:yaml.org,2002:int\",format:\"HEX\",test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,s)=>eL(e,2,16,s),stringify:e=>e_(e,16,\"0x\")},eD=[ew,eE,eO,eN,eA,eM,eB,ej,e$,eT,eC];function eK(e){return\"bigint\"==typeof e||Number.isInteger(e)}let eq=({value:e})=>JSON.stringify(e),eP=[ew,eE].concat([{identify:e=>\"string\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:str\",resolve:e=>e,stringify:eq},{identify:e=>null==e,createNode:()=>new F(null),default:!0,tag:\"tag:yaml.org,2002:null\",test:/^null$/,resolve:()=>null,stringify:eq},{identify:e=>\"boolean\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:bool\",test:/^true$|^false$/,resolve:e=>\"true\"===e,stringify:eq},{identify:eK,default:!0,tag:\"tag:yaml.org,2002:int\",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(e,t,{intAsBigInt:s})=>s?BigInt(e):parseInt(e,10),stringify:({value:e})=>eK(e)?e.toString():JSON.stringify(e)},{identify:e=>\"number\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:float\",test:/^-?(?:0|[1-9][0-9]*)(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:e=>parseFloat(e),stringify:eq}],{default:!0,tag:\"\",test:/^/,resolve:(e,t)=>(t(`Unresolved plain scalar ${JSON.stringify(e)}`),e)}),eR={identify:e=>e instanceof Uint8Array,default:!1,tag:\"tag:yaml.org,2002:binary\",resolve(e,t){if(\"function\"!=typeof atob)return t(\"This environment does not support reading binary tags; either Buffer or atob is required\"),e;{let t=atob(e.replace(/[\\n\\r]/g,\"\")),s=new Uint8Array(t.length);for(let e=0;e<t.length;++e)s[e]=t.charCodeAt(e);return s}},stringify({comment:e,type:t,value:s},n,i,r){let o;if(!s)return\"\";if(\"function\"==typeof btoa){let e=\"\";for(let t=0;t<s.length;++t)e+=String.fromCharCode(s[t]);o=btoa(e)}else throw Error(\"This environment does not support writing binary tags; either Buffer or btoa is required\");if(t??(t=F.BLOCK_LITERAL),t!==F.QUOTE_DOUBLE){let e=Math.max(n.options.lineWidth-n.indent.length,n.options.minContentWidth),s=Math.ceil(o.length/e),i=Array(s);for(let t=0,n=0;t<s;++t,n+=e)i[t]=o.substr(n,e);o=i.join(t===F.BLOCK_LITERAL?\"\\n\":\" \")}return eo({comment:e,type:t,value:o},n,i,r)}};function eU(e,t){if(b(e))for(let s=0;s<e.items.length;++s){let n=e.items[s];if(!g(n)){if(m(n)){n.items.length>1&&t(\"Each pair must have its own sequence indicator\");let e=n.items[0]||new em(new F(null));if(n.commentBefore&&(e.key.commentBefore=e.key.commentBefore?`${n.commentBefore}\n${e.key.commentBefore}`:n.commentBefore),n.comment){let t=e.value??e.key;t.comment=t.comment?`${n.comment}\n${t.comment}`:n.comment}n=e}e.items[s]=g(n)?n:new em(n)}}else t(\"Expected a sequence for this tag\");return e}function eF(e,t,s){let{replacer:n}=s,i=new ev(e);i.tag=\"tag:yaml.org,2002:pairs\";let r=0;if(t&&Symbol.iterator in Object(t))for(let e of t){let o,l;if(\"function\"==typeof n&&(e=n.call(t,String(r++),e)),Array.isArray(e))if(2===e.length)o=e[0],l=e[1];else throw TypeError(`Expected [key, value] tuple: ${e}`);else if(e&&e instanceof Object){let t=Object.keys(e);if(1===t.length)l=e[o=t[0]];else throw TypeError(`Expected tuple with one key, not ${t.length} keys`)}else o=e;i.items.push(ep(o,l,s))}return i}let eV={collection:\"seq\",default:!1,tag:\"tag:yaml.org,2002:pairs\",resolve:eU,createNode:eF};class eH extends ev{constructor(){super(),this.add=ek.prototype.add.bind(this),this.delete=ek.prototype.delete.bind(this),this.get=ek.prototype.get.bind(this),this.has=ek.prototype.has.bind(this),this.set=ek.prototype.set.bind(this),this.tag=eH.tag}toJSON(e,t){if(!t)return super.toJSON(e);let s=new Map;for(let e of(t?.onCreate&&t.onCreate(s),this.items)){let n,i;if(g(e)?(n=q(e.key,\"\",t),i=q(e.value,n,t)):n=q(e,\"\",t),s.has(n))throw Error(\"Ordered maps must not include duplicate keys\");s.set(n,i)}return s}static from(e,t,s){let n=eF(e,t,s),i=new this;return i.items=n.items,i}}eH.tag=\"tag:yaml.org,2002:omap\";let eJ={collection:\"seq\",identify:e=>e instanceof Map,nodeClass:eH,default:!1,tag:\"tag:yaml.org,2002:omap\",resolve(e,t){let s=eU(e,t),n=[];for(let{key:e}of s.items)y(e)&&(n.includes(e.value)?t(`Ordered maps must not include duplicate keys: ${e.value}`):n.push(e.value));return Object.assign(new eH,s)},createNode:(e,t,s)=>eH.from(e,t,s)};function eY({value:e,source:t},s){return t&&(e?eW:eG).test.test(t)?t:e?s.options.trueStr:s.options.falseStr}let eW={identify:e=>!0===e,default:!0,tag:\"tag:yaml.org,2002:bool\",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new F(!0),stringify:eY},eG={identify:e=>!1===e,default:!0,tag:\"tag:yaml.org,2002:bool\",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new F(!1),stringify:eY},ez=e=>\"bigint\"==typeof e||Number.isInteger(e);function eQ(e,t,s,{intAsBigInt:n}){let i=e[0];if((\"-\"===i||\"+\"===i)&&(t+=1),e=e.substring(t).replace(/_/g,\"\"),n){switch(s){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`}let t=BigInt(e);return\"-\"===i?BigInt(-1)*t:t}let r=parseInt(e,s);return\"-\"===i?-1*r:r}function eX(e,t,s){let{value:n}=e;if(ez(n)){let e=n.toString(t);return n<0?\"-\"+s+e.substr(1):s+e}return ex(e)}class eZ extends ek{constructor(e){super(e),this.tag=eZ.tag}add(e){let t;t=g(e)?e:e&&\"object\"==typeof e&&\"key\"in e&&\"value\"in e&&null===e.value?new em(e.key,null):new em(e,null),eb(this.items,t.key)||this.items.push(t)}get(e,t){let s=eb(this.items,e);return!t&&g(s)?y(s.key)?s.key.value:s.key:s}set(e,t){if(\"boolean\"!=typeof t)throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof t}`);let s=eb(this.items,e);s&&!t?this.items.splice(this.items.indexOf(s),1):!s&&t&&this.items.push(new em(e))}toJSON(e,t){return super.toJSON(e,t,Set)}toString(e,t,s){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),t,s);throw Error(\"Set items must all have null values\")}static from(e,t,s){let{replacer:n}=s,i=new this(e);if(t&&Symbol.iterator in Object(t))for(let e of t)\"function\"==typeof n&&(e=n.call(t,e,e)),i.items.push(ep(e,null,s));return i}}eZ.tag=\"tag:yaml.org,2002:set\";let e0={collection:\"map\",identify:e=>e instanceof Set,nodeClass:eZ,default:!1,tag:\"tag:yaml.org,2002:set\",createNode:(e,t,s)=>eZ.from(e,t,s),resolve(e,t){if(m(e))if(e.hasAllNullValues(!0))return Object.assign(new eZ,e);else t(\"Set items must all have null values\");else t(\"Expected a mapping for this tag\");return e}};function e1(e,t){let s=e[0],n=\"-\"===s||\"+\"===s?e.substring(1):e,i=e=>t?BigInt(e):Number(e),r=n.replace(/_/g,\"\").split(\":\").reduce((e,t)=>e*i(60)+i(t),i(0));return\"-\"===s?i(-1)*r:r}function e2(e){let{value:t}=e,s=e=>e;if(\"bigint\"==typeof t)s=e=>BigInt(e);else if(isNaN(t)||!isFinite(t))return ex(e);let n=\"\";t<0&&(n=\"-\",t*=s(-1));let i=s(60),r=[t%i];return t<60?r.unshift(0):(t=(t-r[0])/i,r.unshift(t%i),t>=60&&(t=(t-r[0])/i,r.unshift(t))),n+r.map(e=>String(e).padStart(2,\"0\")).join(\":\").replace(/000000\\d*$/,\"\")}let e9={identify:e=>\"bigint\"==typeof e||Number.isInteger(e),default:!0,tag:\"tag:yaml.org,2002:int\",format:\"TIME\",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(e,t,{intAsBigInt:s})=>e1(e,s),stringify:e2},e4={identify:e=>\"number\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:float\",format:\"TIME\",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*$/,resolve:e=>e1(e,!1),stringify:e2},e3={identify:e=>e instanceof Date,default:!0,tag:\"tag:yaml.org,2002:timestamp\",test:RegExp(\"^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\\\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\\\.[0-9]+)?)(?:[ \\\\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$\"),resolve(e){let t=e.match(e3.test);if(!t)throw Error(\"!!timestamp expects a date, starting with yyyy-mm-dd\");let[,s,n,i,r,o,l]=t.map(Number),a=Date.UTC(s,n-1,i,r||0,o||0,l||0,t[7]?Number((t[7]+\"00\").substr(1,3)):0),c=t[8];if(c&&\"Z\"!==c){let e=e1(c,!1);30>Math.abs(e)&&(e*=60),a-=6e4*e}return new Date(a)},stringify:({value:e})=>e?.toISOString().replace(/(T00:00:00)?\\.000Z$/,\"\")??\"\"},e6=[ew,eE,eO,eN,eW,eG,{identify:ez,default:!0,tag:\"tag:yaml.org,2002:int\",format:\"BIN\",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,s)=>eQ(e,2,2,s),stringify:e=>eX(e,2,\"0b\")},{identify:ez,default:!0,tag:\"tag:yaml.org,2002:int\",format:\"OCT\",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,s)=>eQ(e,1,8,s),stringify:e=>eX(e,8,\"0\")},{identify:ez,default:!0,tag:\"tag:yaml.org,2002:int\",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,s)=>eQ(e,0,10,s),stringify:ex},{identify:ez,default:!0,tag:\"tag:yaml.org,2002:int\",format:\"HEX\",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,s)=>eQ(e,2,16,s),stringify:e=>eX(e,16,\"0x\")},{identify:e=>\"number\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:float\",test:/^(?:[-+]?\\.(?:inf|Inf|INF)|\\.nan|\\.NaN|\\.NAN)$/,resolve:e=>\"nan\"===e.slice(-3).toLowerCase()?NaN:\"-\"===e[0]?-1/0:1/0,stringify:ex},{identify:e=>\"number\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:float\",format:\"EXP\",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e.replace(/_/g,\"\")),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():ex(e)}},{identify:e=>\"number\"==typeof e,default:!0,tag:\"tag:yaml.org,2002:float\",test:/^[-+]?(?:[0-9][0-9_]*)?\\.[0-9_]*$/,resolve(e){let t=new F(parseFloat(e.replace(/_/g,\"\"))),s=e.indexOf(\".\");if(-1!==s){let n=e.substring(s+1).replace(/_/g,\"\");\"0\"===n[n.length-1]&&(t.minFractionDigits=n.length)}return t},stringify:ex},eR,eu,eJ,eV,e0,e9,e4,e3],e5=new Map([[\"core\",eD],[\"failsafe\",[ew,eE,eO]],[\"json\",eP],[\"yaml11\",e6],[\"yaml-1.1\",e6]]),e7={binary:eR,bool:eA,float:eC,floatExp:eT,floatNaN:e$,floatTime:e4,int:eB,intHex:ej,intOct:eM,intTime:e9,map:ew,merge:eu,null:eN,omap:eJ,pairs:eV,seq:eE,set:e0,timestamp:e3},e8={\"tag:yaml.org,2002:binary\":eR,\"tag:yaml.org,2002:merge\":eu,\"tag:yaml.org,2002:omap\":eJ,\"tag:yaml.org,2002:pairs\":eV,\"tag:yaml.org,2002:set\":e0,\"tag:yaml.org,2002:timestamp\":e3};function te(e,t,s){let n=e5.get(t);if(n&&!e)return s&&!n.includes(eu)?n.concat(eu):n.slice();let i=n;if(!i)if(Array.isArray(e))i=[];else{let e=Array.from(e5.keys()).filter(e=>\"yaml11\"!==e).map(e=>JSON.stringify(e)).join(\", \");throw Error(`Unknown schema \"${t}\"; use one of ${e} or define customTags array`)}if(Array.isArray(e))for(let t of e)i=i.concat(t);else\"function\"==typeof e&&(i=e(i.slice()));return s&&(i=i.concat(eu)),i.reduce((e,t)=>{let s=\"string\"==typeof t?e7[t]:t;if(!s){let e=JSON.stringify(t),s=Object.keys(e7).map(e=>JSON.stringify(e)).join(\", \");throw Error(`Unknown custom tag ${e}; use one of ${s}`)}return e.includes(s)||e.push(s),e},[])}let tt=(e,t)=>e.key<t.key?-1:+(e.key>t.key);class ts{constructor({compat:e,customTags:t,merge:s,resolveKnownTags:n,schema:i,sortMapEntries:r,toStringDefaults:o}){this.compat=Array.isArray(e)?te(e,\"compat\"):e?te(null,e):null,this.name=\"string\"==typeof i&&i||\"core\",this.knownTags=n?e8:{},this.tags=te(t,this.name,s),this.toStringOptions=o??null,Object.defineProperty(this,a,{value:ew}),Object.defineProperty(this,u,{value:eO}),Object.defineProperty(this,f,{value:eE}),this.sortMapEntries=\"function\"==typeof r?r:!0===r?tt:null}clone(){let e=Object.create(ts.prototype,Object.getOwnPropertyDescriptors(this));return e.tags=this.tags.slice(),e}}class tn{constructor(e,t,s){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,h,{value:l});let n=null;\"function\"==typeof t||Array.isArray(t)?n=t:void 0===s&&t&&(s=t,t=void 0);const i=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:\"warn\",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:\"1.2\"},s);this.options=i;let{version:r}=i;s?._directives?(this.directives=s._directives.atDocument(),this.directives.yaml.explicit&&(r=this.directives.yaml.version)):this.directives=new M({version:r}),this.setSchema(r,s),this.contents=void 0===e?null:this.createNode(e,n,s)}clone(){let e=Object.create(tn.prototype,{[h]:{value:l}});return e.commentBefore=this.commentBefore,e.comment=this.comment,e.errors=this.errors.slice(),e.warnings=this.warnings.slice(),e.options=Object.assign({},this.options),this.directives&&(e.directives=this.directives.clone()),e.schema=this.schema.clone(),e.contents=w(this.contents)?this.contents.clone(e.schema):this.contents,this.range&&(e.range=this.range.slice()),e}add(e){ti(this.contents)&&this.contents.add(e)}addIn(e,t){ti(this.contents)&&this.contents.addIn(e,t)}createAlias(e,t){if(!e.anchor){let s=j(this);e.anchor=!t||s.has(t)?D(t||\"a\",s):t}return new R(e.anchor)}createNode(e,t,s){var n,i;let r,o,l,a;if(\"function\"==typeof t)e=t.call({\"\":e},\"\",e),r=t;else if(Array.isArray(t)){let e=t.filter(e=>\"number\"==typeof e||e instanceof String||e instanceof Number).map(String);e.length>0&&(t=t.concat(e)),r=t}else void 0===s&&t&&(s=t,t=void 0);let{aliasDuplicateObjects:c,anchorPrefix:u,flow:f,keepUndefined:h,onTagObj:d,tag:p}=s??{},{onAnchor:m,setAnchors:g,sourceObjects:b}=(n=this,i=u||\"a\",o=[],l=new Map,a=null,{onAnchor:e=>{o.push(e),a??(a=j(n));let t=D(i,a);return a.add(t),t},setAnchors:()=>{for(let e of o){let t=l.get(e);if(\"object\"==typeof t&&t.anchor&&(y(t.node)||k(t.node)))t.node.anchor=t.anchor;else{let t=Error(\"Failed to resolve repeated object (this should not happen)\");throw t.source=e,t}}},sourceObjects:l}),w={aliasDuplicateObjects:c??!0,keepUndefined:h??!1,onAnchor:m,onTagObj:d,replacer:r,schema:this.schema,sourceObjects:b},v=V(e,p,w);return f&&k(v)&&(v.flow=!0),g(),v}createPair(e,t,s={}){return new em(this.createNode(e,null,s),this.createNode(t,null,s))}delete(e){return!!ti(this.contents)&&this.contents.delete(e)}deleteIn(e){return J(e)?null!=this.contents&&(this.contents=null,!0):!!ti(this.contents)&&this.contents.deleteIn(e)}get(e,t){return k(this.contents)?this.contents.get(e,t):void 0}getIn(e,t){return J(e)?!t&&y(this.contents)?this.contents.value:this.contents:k(this.contents)?this.contents.getIn(e,t):void 0}has(e){return!!k(this.contents)&&this.contents.has(e)}hasIn(e){return J(e)?void 0!==this.contents:!!k(this.contents)&&this.contents.hasIn(e)}set(e,t){null==this.contents?this.contents=H(this.schema,[e],t):ti(this.contents)&&this.contents.set(e,t)}setIn(e,t){J(e)?this.contents=t:null==this.contents?this.contents=H(this.schema,Array.from(e),t):ti(this.contents)&&this.contents.setIn(e,t)}setSchema(e,t={}){let s;switch(\"number\"==typeof e&&(e=String(e)),e){case\"1.1\":this.directives?this.directives.yaml.version=\"1.1\":this.directives=new M({version:\"1.1\"}),s={resolveKnownTags:!1,schema:\"yaml-1.1\"};break;case\"1.2\":case\"next\":this.directives?this.directives.yaml.version=e:this.directives=new M({version:e}),s={resolveKnownTags:!0,schema:\"core\"};break;case null:this.directives&&delete this.directives,s=null;break;default:{let t=JSON.stringify(e);throw Error(`Expected '1.1', '1.2' or null as first argument, but found: ${t}`)}}if(t.schema instanceof Object)this.schema=t.schema;else if(s)this.schema=new ts(Object.assign(s,t));else throw Error(\"With a null YAML version, the { schema: Schema } option is required\")}toJS({json:e,jsonArg:t,mapAsMap:s,maxAliasCount:n,onAnchor:i,reviver:r}={}){let o={anchors:new Map,doc:this,keep:!e,mapAsMap:!0===s,mapKeyWarned:!1,maxAliasCount:\"number\"==typeof n?n:100},l=q(this.contents,t??\"\",o);if(\"function\"==typeof i)for(let{count:e,res:t}of o.anchors.values())i(t,e);return\"function\"==typeof r?K(r,{\"\":l},\"\",l):l}toJSON(e,t){return this.toJS({json:!0,jsonArg:e,mapAsMap:!1,onAnchor:t})}toString(e={}){if(this.errors.length>0)throw Error(\"Document with errors cannot be stringified\");if(\"indent\"in e&&(!Number.isInteger(e.indent)||0>=Number(e.indent))){let t=JSON.stringify(e.indent);throw Error(`\"indent\" option must be a positive integer, not ${t}`)}return function(e,t){let s=[],n=!0===t.directives;if(!1!==t.directives&&e.directives){let t=e.directives.toString(e);t?(s.push(t),n=!0):e.directives.docStart&&(n=!0)}n&&s.push(\"---\");let i=el(e,t),{commentString:r}=i.options;if(e.commentBefore){1!==s.length&&s.unshift(\"\");let t=r(e.commentBefore);s.unshift(G(t,\"\"))}let o=!1,l=null;if(e.contents){if(w(e.contents)){if(e.contents.spaceBefore&&n&&s.push(\"\"),e.contents.commentBefore){let t=r(e.contents.commentBefore);s.push(G(t,\"\"))}i.forceBlockIndent=!!e.comment,l=e.contents.comment}let t=l?void 0:()=>o=!0,a=ea(e.contents,i,()=>l=null,t);l&&(a+=z(a,\"\",r(l))),(\"|\"===a[0]||\">\"===a[0])&&\"---\"===s[s.length-1]?s[s.length-1]=`--- ${a}`:s.push(a)}else s.push(ea(e.contents,i));if(e.directives?.docEnd)if(e.comment){let t=r(e.comment);t.includes(\"\\n\")?(s.push(\"...\"),s.push(G(t,\"\"))):s.push(`... ${t}`)}else s.push(\"...\");else{let t=e.comment;t&&o&&(t=t.replace(/^\\n+/,\"\")),t&&((!o||l)&&\"\"!==s[s.length-1]&&s.push(\"\"),s.push(G(r(t),\"\")))}return s.join(\"\\n\")+\"\\n\"}(this,e)}}function ti(e){if(k(e))return!0;throw Error(\"Expected a YAML collection as document contents\")}class tr extends Error{constructor(e,t,s,n){super(),this.name=e,this.code=s,this.message=n,this.pos=t}}class to extends tr{constructor(e,t,s){super(\"YAMLParseError\",e,t,s)}}class tl extends tr{constructor(e,t,s){super(\"YAMLWarning\",e,t,s)}}let ta=(e,t)=>s=>{if(-1===s.pos[0])return;s.linePos=s.pos.map(e=>t.linePos(e));let{line:n,col:i}=s.linePos[0];s.message+=` at line ${n}, column ${i}`;let r=i-1,o=e.substring(t.lineStarts[n-1],t.lineStarts[n]).replace(/[\\n\\r]+$/,\"\");if(r>=60&&o.length>80){let e=Math.min(r-39,o.length-79);o=\"…\"+o.substring(e),r-=e-1}if(o.length>80&&(o=o.substring(0,79)+\"…\"),n>1&&/^ *$/.test(o.substring(0,r))){let s=e.substring(t.lineStarts[n-2],t.lineStarts[n-1]);s.length>80&&(s=s.substring(0,79)+\"…\\n\"),o=s+o}if(/[^ ]/.test(o)){let e=1,t=s.linePos[1];t?.line===n&&t.col>i&&(e=Math.max(1,Math.min(t.col-i,80-r)));let l=\" \".repeat(r)+\"^\".repeat(e);s.message+=`:\n\n${o}\n${l}\n`}};function tc(e,{flow:t,indicator:s,next:n,offset:i,onError:r,parentIndent:o,startOnNewline:l}){let a=!1,c=l,u=l,f=\"\",h=\"\",d=!1,p=!1,m=null,g=null,y=null,b=null,k=null,w=null,v=null;for(let i of e)switch(p&&(\"space\"!==i.type&&\"newline\"!==i.type&&\"comma\"!==i.type&&r(i.offset,\"MISSING_CHAR\",\"Tags and anchors must be separated from the next token by white space\"),p=!1),m&&(c&&\"comment\"!==i.type&&\"newline\"!==i.type&&r(m,\"TAB_AS_INDENT\",\"Tabs are not allowed as indentation\"),m=null),i.type){case\"space\":!t&&(\"doc-start\"!==s||n?.type!==\"flow-collection\")&&i.source.includes(\"\t\")&&(m=i),u=!0;break;case\"comment\":{u||r(i,\"MISSING_CHAR\",\"Comments must be separated from other tokens by white space characters\");let e=i.source.substring(1)||\" \";f?f+=h+e:f=e,h=\"\",c=!1;break}case\"newline\":c?f?f+=i.source:w&&\"seq-item-ind\"===s||(a=!0):h+=i.source,c=!0,d=!0,(g||y)&&(b=i),u=!0;break;case\"anchor\":g&&r(i,\"MULTIPLE_ANCHORS\",\"A node can have at most one anchor\"),i.source.endsWith(\":\")&&r(i.offset+i.source.length-1,\"BAD_ALIAS\",\"Anchor ending in : is ambiguous\",!0),g=i,v??(v=i.offset),c=!1,u=!1,p=!0;break;case\"tag\":y&&r(i,\"MULTIPLE_TAGS\",\"A node can have at most one tag\"),y=i,v??(v=i.offset),c=!1,u=!1,p=!0;break;case s:(g||y)&&r(i,\"BAD_PROP_ORDER\",`Anchors and tags must be after the ${i.source} indicator`),w&&r(i,\"UNEXPECTED_TOKEN\",`Unexpected ${i.source} in ${t??\"collection\"}`),w=i,c=\"seq-item-ind\"===s||\"explicit-key-ind\"===s,u=!1;break;case\"comma\":if(t){k&&r(i,\"UNEXPECTED_TOKEN\",`Unexpected , in ${t}`),k=i,c=!1,u=!1;break}default:r(i,\"UNEXPECTED_TOKEN\",`Unexpected ${i.type} token`),c=!1,u=!1}let S=e[e.length-1],E=S?S.offset+S.source.length:i;return p&&n&&\"space\"!==n.type&&\"newline\"!==n.type&&\"comma\"!==n.type&&(\"scalar\"!==n.type||\"\"!==n.source)&&r(n.offset,\"MISSING_CHAR\",\"Tags and anchors must be separated from the next token by white space\"),m&&(c&&m.indent<=o||n?.type===\"block-map\"||n?.type===\"block-seq\")&&r(m,\"TAB_AS_INDENT\",\"Tabs are not allowed as indentation\"),{comma:k,found:w,spaceBefore:a,comment:f,hasNewline:d,anchor:g,tag:y,newlineAfterProp:b,end:E,start:v??E}}function tu(e){if(!e)return null;switch(e.type){case\"alias\":case\"scalar\":case\"double-quoted-scalar\":case\"single-quoted-scalar\":if(e.source.includes(\"\\n\"))return!0;if(e.end){for(let t of e.end)if(\"newline\"===t.type)return!0}return!1;case\"flow-collection\":for(let t of e.items){for(let e of t.start)if(\"newline\"===e.type)return!0;if(t.sep){for(let e of t.sep)if(\"newline\"===e.type)return!0}if(tu(t.key)||tu(t.value))return!0}return!1;default:return!0}}function tf(e,t,s){if(t?.type===\"flow-collection\"){let n=t.end[0];n.indent===e&&(\"]\"===n.source||\"}\"===n.source)&&tu(t)&&s(n,\"BAD_INDENT\",\"Flow end indicator should be more indented than parent\",!0)}}function th(e,t,s){let{uniqueKeys:n}=e.options;if(!1===n)return!1;let i=\"function\"==typeof n?n:(e,t)=>e===t||y(e)&&y(t)&&e.value===t.value;return t.some(e=>i(e.key,s))}let td=\"All mapping items must start at the same column\";function tp(e,t,s,n){let i=\"\";if(e){let r=!1,o=\"\";for(let l of e){let{source:e,type:a}=l;switch(a){case\"space\":r=!0;break;case\"comment\":{s&&!r&&n(l,\"MISSING_CHAR\",\"Comments must be separated from other tokens by white space characters\");let t=e.substring(1)||\" \";i?i+=o+t:i=t,o=\"\";break}case\"newline\":i&&(o+=e),r=!0;break;default:n(l,\"UNEXPECTED_TOKEN\",`Unexpected ${a} at node end`)}t+=e.length}}return{comment:i,offset:t}}let tm=\"Block collections are not allowed within flow collections\",tg=e=>e&&(\"block-map\"===e.type||\"block-seq\"===e.type);function ty(e,t,s,n,i,r){let o=\"block-map\"===s.type?function({composeNode:e,composeEmptyNode:t},s,n,i,r){let o=new(r?.nodeClass??ek)(s.schema);s.atRoot&&(s.atRoot=!1);let l=n.offset,a=null;for(let r of n.items){let{start:c,key:u,sep:f,value:h}=r,d=tc(c,{indicator:\"explicit-key-ind\",next:u??f?.[0],offset:l,onError:i,parentIndent:n.indent,startOnNewline:!0}),p=!d.found;if(p){if(u&&(\"block-seq\"===u.type?i(l,\"BLOCK_AS_IMPLICIT_KEY\",\"A block sequence may not be used as an implicit map key\"):\"indent\"in u&&u.indent!==n.indent&&i(l,\"BAD_INDENT\",td)),!d.anchor&&!d.tag&&!f){a=d.end,d.comment&&(o.comment?o.comment+=\"\\n\"+d.comment:o.comment=d.comment);continue}(d.newlineAfterProp||tu(u))&&i(u??c[c.length-1],\"MULTILINE_IMPLICIT_KEY\",\"Implicit keys need to be on a single line\")}else d.found?.indent!==n.indent&&i(l,\"BAD_INDENT\",td);s.atKey=!0;let m=d.end,g=u?e(s,u,d,i):t(s,m,c,null,d,i);s.schema.compat&&tf(n.indent,u,i),s.atKey=!1,th(s,o.items,g)&&i(m,\"DUPLICATE_KEY\",\"Map keys must be unique\");let y=tc(f??[],{indicator:\"map-value-ind\",next:h,offset:g.range[2],onError:i,parentIndent:n.indent,startOnNewline:!u||\"block-scalar\"===u.type});if(l=y.end,y.found){p&&(h?.type!==\"block-map\"||y.hasNewline||i(l,\"BLOCK_AS_IMPLICIT_KEY\",\"Nested mappings are not allowed in compact mappings\"),s.options.strict&&d.start<y.found.offset-1024&&i(g.range,\"KEY_OVER_1024_CHARS\",\"The : indicator must be at most 1024 chars after the start of an implicit block mapping key\"));let a=h?e(s,h,y,i):t(s,l,f,null,y,i);s.schema.compat&&tf(n.indent,h,i),l=a.range[2];let c=new em(g,a);s.options.keepSourceTokens&&(c.srcToken=r),o.items.push(c)}else{p&&i(g.range,\"MISSING_CHAR\",\"Implicit map keys need to be followed by map values\"),y.comment&&(g.comment?g.comment+=\"\\n\"+y.comment:g.comment=y.comment);let e=new em(g);s.options.keepSourceTokens&&(e.srcToken=r),o.items.push(e)}}return a&&a<l&&i(a,\"IMPOSSIBLE\",\"Map comment with trailing content\"),o.range=[n.offset,l,a??l],o}(e,t,s,n,r):\"block-seq\"===s.type?function({composeNode:e,composeEmptyNode:t},s,n,i,r){let o=new(r?.nodeClass??ev)(s.schema);s.atRoot&&(s.atRoot=!1),s.atKey&&(s.atKey=!1);let l=n.offset,a=null;for(let{start:r,value:c}of n.items){let u=tc(r,{indicator:\"seq-item-ind\",next:c,offset:l,onError:i,parentIndent:n.indent,startOnNewline:!0});if(!u.found)if(u.anchor||u.tag||c)c?.type===\"block-seq\"?i(u.end,\"BAD_INDENT\",\"All sequence items must start at the same column\"):i(l,\"MISSING_CHAR\",\"Sequence item without - indicator\");else{a=u.end,u.comment&&(o.comment=u.comment);continue}let f=c?e(s,c,u,i):t(s,u.end,r,null,u,i);s.schema.compat&&tf(n.indent,c,i),l=f.range[2],o.items.push(f)}return o.range=[n.offset,l,a??l],o}(e,t,s,n,r):function({composeNode:e,composeEmptyNode:t},s,n,i,r){let o=\"{\"===n.start.source,l=o?\"flow map\":\"flow sequence\",a=new(r?.nodeClass??(o?ek:ev))(s.schema);a.flow=!0;let c=s.atRoot;c&&(s.atRoot=!1),s.atKey&&(s.atKey=!1);let u=n.offset+n.start.source.length;for(let r=0;r<n.items.length;++r){let c=n.items[r],{start:f,key:h,sep:d,value:p}=c,m=tc(f,{flow:l,indicator:\"explicit-key-ind\",next:h??d?.[0],offset:u,onError:i,parentIndent:n.indent,startOnNewline:!1});if(!m.found){if(!m.anchor&&!m.tag&&!d&&!p){0===r&&m.comma?i(m.comma,\"UNEXPECTED_TOKEN\",`Unexpected , in ${l}`):r<n.items.length-1&&i(m.start,\"UNEXPECTED_TOKEN\",`Unexpected empty item in ${l}`),m.comment&&(a.comment?a.comment+=\"\\n\"+m.comment:a.comment=m.comment),u=m.end;continue}!o&&s.options.strict&&tu(h)&&i(h,\"MULTILINE_IMPLICIT_KEY\",\"Implicit keys of flow sequence pairs need to be on a single line\")}if(0===r)m.comma&&i(m.comma,\"UNEXPECTED_TOKEN\",`Unexpected , in ${l}`);else if(m.comma||i(m.start,\"MISSING_CHAR\",`Missing , between ${l} items`),m.comment){let e=\"\";e:for(let t of f)switch(t.type){case\"comma\":case\"space\":break;case\"comment\":e=t.source.substring(1);break e;default:break e}if(e){let t=a.items[a.items.length-1];g(t)&&(t=t.value??t.key),t.comment?t.comment+=\"\\n\"+e:t.comment=e,m.comment=m.comment.substring(e.length+1)}}if(o||d||m.found){s.atKey=!0;let r=m.end,g=h?e(s,h,m,i):t(s,r,f,null,m,i);tg(h)&&i(g.range,\"BLOCK_IN_FLOW\",tm),s.atKey=!1;let y=tc(d??[],{flow:l,indicator:\"map-value-ind\",next:p,offset:g.range[2],onError:i,parentIndent:n.indent,startOnNewline:!1});if(y.found){if(!o&&!m.found&&s.options.strict){if(d)for(let e of d){if(e===y.found)break;if(\"newline\"===e.type){i(e,\"MULTILINE_IMPLICIT_KEY\",\"Implicit keys of flow sequence pairs need to be on a single line\");break}}m.start<y.found.offset-1024&&i(y.found,\"KEY_OVER_1024_CHARS\",\"The : indicator must be at most 1024 chars after the start of an implicit flow sequence key\")}}else p&&(\"source\"in p&&p.source?.[0]===\":\"?i(p,\"MISSING_CHAR\",`Missing space after : in ${l}`):i(y.start,\"MISSING_CHAR\",`Missing , or : between ${l} items`));let b=p?e(s,p,y,i):y.found?t(s,y.end,d,null,y,i):null;b?tg(p)&&i(b.range,\"BLOCK_IN_FLOW\",tm):y.comment&&(g.comment?g.comment+=\"\\n\"+y.comment:g.comment=y.comment);let k=new em(g,b);if(s.options.keepSourceTokens&&(k.srcToken=c),o)th(s,a.items,g)&&i(r,\"DUPLICATE_KEY\",\"Map keys must be unique\"),a.items.push(k);else{let e=new ek(s.schema);e.flow=!0,e.items.push(k);let t=(b??g).range;e.range=[g.range[0],t[1],t[2]],a.items.push(e)}u=b?b.range[2]:y.end}else{let n=p?e(s,p,m,i):t(s,m.end,d,null,m,i);a.items.push(n),u=n.range[2],tg(p)&&i(n.range,\"BLOCK_IN_FLOW\",tm)}}let f=o?\"}\":\"]\",[h,...d]=n.end,p=u;if(h?.source===f)p=h.offset+h.source.length;else{let e=l[0].toUpperCase()+l.substring(1),t=c?`${e} must end with a ${f}`:`${e} in block collection must be sufficiently indented and end with a ${f}`;i(u,c?\"MISSING_CHAR\":\"BAD_INDENT\",t),h&&1!==h.source.length&&d.unshift(h)}if(d.length>0){let e=tp(d,p,s.options.strict,i);e.comment&&(a.comment?a.comment+=\"\\n\"+e.comment:a.comment=e.comment),a.range=[n.offset,p,e.offset]}else a.range=[n.offset,p,p];return a}(e,t,s,n,r),l=o.constructor;return\"!\"===i||i===l.tagName?o.tag=l.tagName:i&&(o.tag=i),o}function tb(e,t,s){let n=t.offset,i=function({offset:e,props:t},s,n){if(\"block-scalar-header\"!==t[0].type)return n(t[0],\"IMPOSSIBLE\",\"Block scalar header not found\"),null;let{source:i}=t[0],r=i[0],o=0,l=\"\",a=-1;for(let t=1;t<i.length;++t){let s=i[t];if(l||\"-\"!==s&&\"+\"!==s){let n=Number(s);!o&&n?o=n:-1===a&&(a=e+t)}else l=s}-1!==a&&n(a,\"UNEXPECTED_TOKEN\",`Block scalar header includes extra characters: ${i}`);let c=!1,u=\"\",f=i.length;for(let e=1;e<t.length;++e){let i=t[e];switch(i.type){case\"space\":c=!0;case\"newline\":f+=i.source.length;break;case\"comment\":s&&!c&&n(i,\"MISSING_CHAR\",\"Comments must be separated from other tokens by white space characters\"),f+=i.source.length,u=i.source.substring(1);break;case\"error\":n(i,\"UNEXPECTED_TOKEN\",i.message),f+=i.source.length;break;default:{let e=`Unexpected token in block scalar header: ${i.type}`;n(i,\"UNEXPECTED_TOKEN\",e);let t=i.source;t&&\"string\"==typeof t&&(f+=t.length)}}}return{mode:r,indent:o,chomp:l,comment:u,length:f}}(t,e.options.strict,s);if(!i)return{value:\"\",type:null,comment:\"\",range:[n,n,n]};let r=\">\"===i.mode?F.BLOCK_FOLDED:F.BLOCK_LITERAL,o=t.source?function(e){let t=e.split(/\\n( *)/),s=t[0],n=s.match(/^( *)/),i=[n?.[1]?[n[1],s.slice(n[1].length)]:[\"\",s]];for(let e=1;e<t.length;e+=2)i.push([t[e],t[e+1]]);return i}(t.source):[],l=o.length;for(let e=o.length-1;e>=0;--e){let t=o[e][1];if(\"\"===t||\"\\r\"===t)l=e;else break}if(0===l){let e=\"+\"===i.chomp&&o.length>0?\"\\n\".repeat(Math.max(1,o.length-1)):\"\",s=n+i.length;return t.source&&(s+=t.source.length),{value:e,type:r,comment:i.comment,range:[n,s,s]}}let a=t.indent+i.indent,c=t.offset+i.length,u=0;for(let t=0;t<l;++t){let[n,r]=o[t];if(\"\"===r||\"\\r\"===r)0===i.indent&&n.length>a&&(a=n.length);else{n.length<a&&s(c+n.length,\"MISSING_CHAR\",\"Block scalars with more-indented leading empty lines must use an explicit indentation indicator\"),0===i.indent&&(a=n.length),u=t,0!==a||e.atRoot||s(c,\"BAD_INDENT\",\"Block scalar values in collections must be indented\");break}c+=n.length+r.length+1}for(let e=o.length-1;e>=l;--e)o[e][0].length>a&&(l=e+1);let f=\"\",h=\"\",d=!1;for(let e=0;e<u;++e)f+=o[e][0].slice(a)+\"\\n\";for(let e=u;e<l;++e){let[t,n]=o[e];c+=t.length+n.length+1;let l=\"\\r\"===n[n.length-1];if(l&&(n=n.slice(0,-1)),n&&t.length<a){let e=i.indent?\"explicit indentation indicator\":\"first line\",r=`Block scalar lines must not be less indented than their ${e}`;s(c-n.length-(l?2:1),\"BAD_INDENT\",r),t=\"\"}r===F.BLOCK_LITERAL?(f+=h+t.slice(a)+n,h=\"\\n\"):t.length>a||\"\t\"===n[0]?(\" \"===h?h=\"\\n\":d||\"\\n\"!==h||(h=\"\\n\\n\"),f+=h+t.slice(a)+n,h=\"\\n\",d=!0):\"\"===n?\"\\n\"===h?f+=\"\\n\":h=\"\\n\":(f+=h+n,h=\" \",d=!1)}switch(i.chomp){case\"-\":break;case\"+\":for(let e=l;e<o.length;++e)f+=\"\\n\"+o[e][0].slice(a);\"\\n\"!==f[f.length-1]&&(f+=\"\\n\");break;default:f+=\"\\n\"}let p=n+i.length+t.source.length;return{value:f,type:r,comment:i.comment,range:[n,p,p]}}function tk(e,t,s){let n,i,{offset:r,type:o,source:l,end:a}=e,c=(e,t,n)=>s(r+e,t,n);switch(o){case\"scalar\":n=F.PLAIN,i=function(e,t){let s=\"\";switch(e[0]){case\"\t\":s=\"a tab character\";break;case\",\":s=\"flow indicator character ,\";break;case\"%\":s=\"directive indicator character %\";break;case\"|\":case\">\":s=`block scalar indicator ${e[0]}`;break;case\"@\":case\"`\":s=`reserved character ${e[0]}`}return s&&t(0,\"BAD_SCALAR_START\",`Plain value cannot start with ${s}`),tw(e)}(l,c);break;case\"single-quoted-scalar\":var u,f;n=F.QUOTE_SINGLE,u=l,f=c,(\"'\"!==u[u.length-1]||1===u.length)&&f(u.length,\"MISSING_CHAR\",\"Missing closing 'quote\"),i=tw(u.slice(1,-1)).replace(/''/g,\"'\");break;case\"double-quoted-scalar\":n=F.QUOTE_DOUBLE,i=function(e,t){let s=\"\";for(let n=1;n<e.length-1;++n){let i=e[n];if(\"\\r\"!==i||\"\\n\"!==e[n+1])if(\"\\n\"===i){let{fold:t,offset:i}=function(e,t){let s=\"\",n=e[t+1];for(;(\" \"===n||\"\t\"===n||\"\\n\"===n||\"\\r\"===n)&&(\"\\r\"!==n||\"\\n\"===e[t+2]);)\"\\n\"===n&&(s+=\"\\n\"),t+=1,n=e[t+1];return s||(s=\" \"),{fold:s,offset:t}}(e,n);s+=t,n=i}else if(\"\\\\\"===i){let i=e[++n],r=tv[i];if(r)s+=r;else if(\"\\n\"===i)for(i=e[n+1];\" \"===i||\"\t\"===i;)i=e[++n+1];else if(\"\\r\"===i&&\"\\n\"===e[n+1])for(i=e[++n+1];\" \"===i||\"\t\"===i;)i=e[++n+1];else if(\"x\"===i||\"u\"===i||\"U\"===i){let r={x:2,u:4,U:8}[i];s+=function(e,t,s,n){let i=e.substr(t,s),r=i.length===s&&/^[0-9a-fA-F]+$/.test(i)?parseInt(i,16):NaN;if(isNaN(r)){let i=e.substr(t-2,s+2);return n(t-2,\"BAD_DQ_ESCAPE\",`Invalid escape sequence ${i}`),i}return String.fromCodePoint(r)}(e,n+1,r,t),n+=r}else{let i=e.substr(n-1,2);t(n-1,\"BAD_DQ_ESCAPE\",`Invalid escape sequence ${i}`),s+=i}}else if(\" \"===i||\"\t\"===i){let t=n,r=e[n+1];for(;\" \"===r||\"\t\"===r;)r=e[++n+1];\"\\n\"!==r&&(\"\\r\"!==r||\"\\n\"!==e[n+2])&&(s+=n>t?e.slice(t,n+1):i)}else s+=i}return('\"'!==e[e.length-1]||1===e.length)&&t(e.length,\"MISSING_CHAR\",'Missing closing \"quote'),s}(l,c);break;default:return s(e,\"UNEXPECTED_TOKEN\",`Expected a flow scalar value, but found: ${o}`),{value:\"\",type:null,comment:\"\",range:[r,r+l.length,r+l.length]}}let h=r+l.length,d=tp(a,h,t,s);return{value:i,type:n,comment:d.comment,range:[r,h,d.offset]}}function tw(e){let t,s;try{t=RegExp(\"(.*?)(?<![ \t])[ \t]*\\r?\\n\",\"sy\"),s=RegExp(\"[ \t]*(.*?)(?:(?<![ \t])[ \t]*)?\\r?\\n\",\"sy\")}catch{t=/(.*?)[ \\t]*\\r?\\n/sy,s=/[ \\t]*(.*?)[ \\t]*\\r?\\n/sy}let n=t.exec(e);if(!n)return e;let i=n[1],r=\" \",o=t.lastIndex;for(s.lastIndex=o;n=s.exec(e);)\"\"===n[1]?\"\\n\"===r?i+=r:r=\"\\n\":(i+=r+n[1],r=\" \"),o=s.lastIndex;let l=/[ \\t]*(.*)/sy;return l.lastIndex=o,n=l.exec(e),i+r+(n?.[1]??\"\")}let tv={0:\"\\0\",a:\"\\x07\",b:\"\\b\",e:\"\\x1b\",f:\"\\f\",n:\"\\n\",r:\"\\r\",t:\"\t\",v:\"\\v\",N:\"\\x85\",_:\"\\xa0\",L:\"\\u2028\",P:\"\\u2029\",\" \":\" \",'\"':'\"',\"/\":\"/\",\"\\\\\":\"\\\\\",\"\t\":\"\t\"};function tS(e,t,s,n){let i,r,{value:o,type:l,comment:a,range:c}=\"block-scalar\"===t.type?tb(e,t,n):tk(t,e.options.strict,n),f=s?e.directives.tagName(s.source,e=>n(s,\"TAG_RESOLVE_FAILED\",e)):null;i=e.options.stringKeys&&e.atKey?e.schema[u]:f?function(e,t,s,n,i){if(\"!\"===s)return e[u];let r=[];for(let t of e.tags)if(!t.collection&&t.tag===s)if(!t.default||!t.test)return t;else r.push(t);for(let e of r)if(e.test?.test(t))return e;let o=e.knownTags[s];return o&&!o.collection?(e.tags.push(Object.assign({},o,{default:!1,test:void 0})),o):(i(n,\"TAG_RESOLVE_FAILED\",`Unresolved tag: ${s}`,\"tag:yaml.org,2002:str\"!==s),e[u])}(e.schema,o,f,s,n):\"scalar\"===t.type?function({atKey:e,directives:t,schema:s},n,i,r){let o=s.tags.find(t=>(!0===t.default||e&&\"key\"===t.default)&&t.test?.test(n))||s[u];if(s.compat){let e=s.compat.find(e=>e.default&&e.test?.test(n))??s[u];if(o.tag!==e.tag){let s=t.tagString(o.tag),n=t.tagString(e.tag);r(i,\"TAG_RESOLVE_FAILED\",`Value may be parsed as either ${s} or ${n}`,!0)}}return o}(e,o,t,n):e.schema[u];try{let l=i.resolve(o,e=>n(s??t,\"TAG_RESOLVE_FAILED\",e),e.options);r=y(l)?l:new F(l)}catch(e){n(s??t,\"TAG_RESOLVE_FAILED\",e instanceof Error?e.message:String(e)),r=new F(o)}return r.range=c,r.source=o,l&&(r.type=l),f&&(r.tag=f),i.format&&(r.format=i.format),a&&(r.comment=a),r}let tE={composeNode:tO,composeEmptyNode:tN};function tO(e,t,s,n){let i,r=e.atKey,{spaceBefore:o,comment:l,anchor:a,tag:c}=s,u=!0;switch(t.type){case\"alias\":i=function({options:e},{offset:t,source:s,end:n},i){let r=new R(s.substring(1));\"\"===r.source&&i(t,\"BAD_ALIAS\",\"Alias cannot be an empty string\"),r.source.endsWith(\":\")&&i(t+s.length-1,\"BAD_ALIAS\",\"Alias ending in : is ambiguous\",!0);let o=t+s.length,l=tp(n,o,e.strict,i);return r.range=[t,o,l.offset],l.comment&&(r.comment=l.comment),r}(e,t,n),(a||c)&&n(t,\"ALIAS_PROPS\",\"An alias node must not specify any properties\");break;case\"scalar\":case\"single-quoted-scalar\":case\"double-quoted-scalar\":case\"block-scalar\":i=tS(e,t,c,n),a&&(i.anchor=a.source.substring(1));break;case\"block-map\":case\"block-seq\":case\"flow-collection\":try{i=function(e,t,s,n,i){let r=n.tag,o=r?t.directives.tagName(r.source,e=>i(r,\"TAG_RESOLVE_FAILED\",e)):null;if(\"block-seq\"===s.type){let{anchor:e,newlineAfterProp:t}=n,s=e&&r?e.offset>r.offset?e:r:e??r;s&&(!t||t.offset<s.offset)&&i(s,\"MISSING_CHAR\",\"Missing newline after block sequence props\")}let l=\"block-map\"===s.type?\"map\":\"block-seq\"===s.type?\"seq\":\"{\"===s.start.source?\"map\":\"seq\";if(!r||!o||\"!\"===o||o===ek.tagName&&\"map\"===l||o===ev.tagName&&\"seq\"===l)return ty(e,t,s,i,o);let a=t.schema.tags.find(e=>e.tag===o&&e.collection===l);if(!a){let n=t.schema.knownTags[o];if(n?.collection!==l)return n?i(r,\"BAD_COLLECTION_TYPE\",`${n.tag} used for ${l} collection, but expects ${n.collection??\"scalar\"}`,!0):i(r,\"TAG_RESOLVE_FAILED\",`Unresolved tag: ${o}`,!0),ty(e,t,s,i,o);t.schema.tags.push(Object.assign({},n,{default:!1})),a=n}let c=ty(e,t,s,i,o,a),u=a.resolve?.(c,e=>i(r,\"TAG_RESOLVE_FAILED\",e),t.options)??c,f=w(u)?u:new F(u);return f.range=c.range,f.tag=o,a?.format&&(f.format=a.format),f}(tE,e,t,s,n),a&&(i.anchor=a.source.substring(1))}catch(e){n(t,\"RESOURCE_EXHAUSTION\",e instanceof Error?e.message:String(e))}break;default:{let e=\"error\"===t.type?t.message:`Unsupported token (type: ${t.type})`;n(t,\"UNEXPECTED_TOKEN\",e),u=!1}}return i??(i=tN(e,t.offset,void 0,null,s,n)),a&&\"\"===i.anchor&&n(a,\"BAD_ALIAS\",\"Anchor cannot be an empty string\"),r&&e.options.stringKeys&&(!y(i)||\"string\"!=typeof i.value||i.tag&&\"tag:yaml.org,2002:str\"!==i.tag)&&n(c??t,\"NON_STRING_KEY\",\"With stringKeys, all keys must be strings\"),o&&(i.spaceBefore=!0),l&&(\"scalar\"===t.type&&\"\"===t.source?i.comment=l:i.commentBefore=l),e.options.keepSourceTokens&&u&&(i.srcToken=t),i}function tN(e,t,s,n,{spaceBefore:i,comment:r,anchor:o,tag:l,end:a},c){let u=tS(e,{type:\"scalar\",offset:function(e,t,s){if(t){s??(s=t.length);for(let n=s-1;n>=0;--n){let s=t[n];switch(s.type){case\"space\":case\"comment\":case\"newline\":e-=s.source.length;continue}for(s=t[++n];s?.type===\"space\";)e+=s.source.length,s=t[++n];break}}return e}(t,s,n),indent:-1,source:\"\"},l,c);return o&&(u.anchor=o.source.substring(1),\"\"===u.anchor&&c(o,\"BAD_ALIAS\",\"Anchor cannot be an empty string\")),i&&(u.spaceBefore=!0),r&&(u.comment=r,u.range[2]=a),u}function tA(e){if(\"number\"==typeof e)return[e,e+1];if(Array.isArray(e))return 2===e.length?e:[e[0],e[1]];let{offset:t,source:s}=e;return[t,t+(\"string\"==typeof s?s.length:1)]}function tx(e){let t=\"\",s=!1,n=!1;for(let i=0;i<e.length;++i){let r=e[i];switch(r[0]){case\"#\":t+=(\"\"===t?\"\":n?\"\\n\\n\":\"\\n\")+(r.substring(1)||\" \"),s=!0,n=!1;break;case\"%\":e[i+1]?.[0]!==\"#\"&&(i+=1),s=!1;break;default:s||(n=!0),s=!1}}return{comment:t,afterEmptyLine:n}}class t${constructor(e={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(e,t,s,n)=>{let i=tA(e);n?this.warnings.push(new tl(i,t,s)):this.errors.push(new to(i,t,s))},this.directives=new M({version:e.version||\"1.2\"}),this.options=e}decorate(e,t){let{comment:s,afterEmptyLine:n}=tx(this.prelude);if(s){let i=e.contents;if(t)e.comment=e.comment?`${e.comment}\n${s}`:s;else if(n||e.directives.docStart||!i)e.commentBefore=s;else if(k(i)&&!i.flow&&i.items.length>0){let e=i.items[0];g(e)&&(e=e.key);let t=e.commentBefore;e.commentBefore=t?`${s}\n${t}`:s}else{let e=i.commentBefore;i.commentBefore=e?`${s}\n${e}`:s}}t?(Array.prototype.push.apply(e.errors,this.errors),Array.prototype.push.apply(e.warnings,this.warnings)):(e.errors=this.errors,e.warnings=this.warnings),this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:tx(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(e,t=!1,s=-1){for(let t of e)yield*this.next(t);yield*this.end(t,s)}*next(e){switch(e.type){case\"directive\":this.directives.add(e.source,(t,s,n)=>{let i=tA(e);i[0]+=t,this.onError(i,\"BAD_DIRECTIVE\",s,n)}),this.prelude.push(e.source),this.atDirectives=!0;break;case\"document\":{let t=function(e,t,{offset:s,start:n,value:i,end:r},o){let l=new tn(void 0,Object.assign({_directives:t},e)),a={atKey:!1,atRoot:!0,directives:l.directives,options:l.options,schema:l.schema},c=tc(n,{indicator:\"doc-start\",next:i??r?.[0],offset:s,onError:o,parentIndent:0,startOnNewline:!0});c.found&&(l.directives.docStart=!0,i&&(\"block-map\"===i.type||\"block-seq\"===i.type)&&!c.hasNewline&&o(c.end,\"MISSING_CHAR\",\"Block collection cannot start on same line with directives-end marker\")),l.contents=i?tO(a,i,c,o):tN(a,c.end,n,null,c,o);let u=l.contents.range[2],f=tp(r,u,!1,o);return f.comment&&(l.comment=f.comment),l.range=[s,u,f.offset],l}(this.options,this.directives,e,this.onError);this.atDirectives&&!t.directives.docStart&&this.onError(e,\"MISSING_CHAR\",\"Missing directives-end/doc-start indicator line\"),this.decorate(t,!1),this.doc&&(yield this.doc),this.doc=t,this.atDirectives=!1;break}case\"byte-order-mark\":case\"space\":break;case\"comment\":case\"newline\":this.prelude.push(e.source);break;case\"error\":{let t=e.source?`${e.message}: ${JSON.stringify(e.source)}`:e.message,s=new to(tA(e),\"UNEXPECTED_TOKEN\",t);this.atDirectives||!this.doc?this.errors.push(s):this.doc.errors.push(s);break}case\"doc-end\":{if(!this.doc){this.errors.push(new to(tA(e),\"UNEXPECTED_TOKEN\",\"Unexpected doc-end without preceding document\"));break}this.doc.directives.docEnd=!0;let t=tp(e.end,e.offset+e.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),t.comment){let e=this.doc.comment;this.doc.comment=e?`${e}\n${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new to(tA(e),\"UNEXPECTED_TOKEN\",`Unsupported token ${e.type}`))}}*end(e=!1,t=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(e){let e=new tn(void 0,Object.assign({_directives:this.directives},this.options));this.atDirectives&&this.onError(t,\"MISSING_CHAR\",\"Missing directives-end indicator line\"),e.range=[0,t,t],this.decorate(e,!1),yield e}}}function tT(e,t=!0,s){if(e){let n=(e,t,n)=>{let i=\"number\"==typeof e?e:Array.isArray(e)?e[0]:e.offset;if(s)s(i,t,n);else throw new to([i,i+1],t,n)};switch(e.type){case\"scalar\":case\"single-quoted-scalar\":case\"double-quoted-scalar\":return tk(e,t,n);case\"block-scalar\":return tb({options:{strict:t}},e,n)}}return null}function tC(e,t){let{implicitKey:s=!1,indent:n,inFlow:i=!1,offset:r=-1,type:o=\"PLAIN\"}=t,l=eo({type:o,value:e},{implicitKey:s,indent:n>0?\" \".repeat(n):\"\",inFlow:i,options:{blockQuote:!0,lineWidth:-1}}),a=t.end??[{type:\"newline\",offset:-1,indent:n,source:\"\\n\"}];switch(l[0]){case\"|\":case\">\":{let e=l.indexOf(\"\\n\"),t=l.substring(0,e),s=l.substring(e+1)+\"\\n\",i=[{type:\"block-scalar-header\",offset:r,indent:n,source:t}];return tL(i,a)||i.push({type:\"newline\",offset:-1,indent:n,source:\"\\n\"}),{type:\"block-scalar\",offset:r,indent:n,props:i,source:s}}case'\"':return{type:\"double-quoted-scalar\",offset:r,indent:n,source:l,end:a};case\"'\":return{type:\"single-quoted-scalar\",offset:r,indent:n,source:l,end:a};default:return{type:\"scalar\",offset:r,indent:n,source:l,end:a}}}function tI(e,t,s={}){let{afterKey:n=!1,implicitKey:i=!1,inFlow:r=!1,type:o}=s,l=\"indent\"in e?e.indent:null;if(n&&\"number\"==typeof l&&(l+=2),!o)switch(e.type){case\"single-quoted-scalar\":o=\"QUOTE_SINGLE\";break;case\"double-quoted-scalar\":o=\"QUOTE_DOUBLE\";break;case\"block-scalar\":{let t=e.props[0];if(\"block-scalar-header\"!==t.type)throw Error(\"Invalid block scalar header\");o=\">\"===t.source[0]?\"BLOCK_FOLDED\":\"BLOCK_LITERAL\";break}default:o=\"PLAIN\"}let a=eo({type:o,value:t},{implicitKey:i||null===l,indent:null!==l&&l>0?\" \".repeat(l):\"\",inFlow:r,options:{blockQuote:!0,lineWidth:-1}});switch(a[0]){case\"|\":case\">\":!function(e,t){let s=t.indexOf(\"\\n\"),n=t.substring(0,s),i=t.substring(s+1)+\"\\n\";if(\"block-scalar\"===e.type){let t=e.props[0];if(\"block-scalar-header\"!==t.type)throw Error(\"Invalid block scalar header\");t.source=n,e.source=i}else{let{offset:t}=e,s=\"indent\"in e?e.indent:-1,r=[{type:\"block-scalar-header\",offset:t,indent:s,source:n}];for(let t of(tL(r,\"end\"in e?e.end:void 0)||r.push({type:\"newline\",offset:-1,indent:s,source:\"\\n\"}),Object.keys(e)))\"type\"!==t&&\"offset\"!==t&&delete e[t];Object.assign(e,{type:\"block-scalar\",indent:s,props:r,source:i})}}(e,a);break;case'\"':t_(e,a,\"double-quoted-scalar\");break;case\"'\":t_(e,a,\"single-quoted-scalar\");break;default:t_(e,a,\"scalar\")}}function tL(e,t){if(t)for(let s of t)switch(s.type){case\"space\":case\"comment\":e.push(s);break;case\"newline\":return e.push(s),!0}return!1}function t_(e,t,s){switch(e.type){case\"scalar\":case\"double-quoted-scalar\":case\"single-quoted-scalar\":e.type=s,e.source=t;break;case\"block-scalar\":{let n=e.props.slice(1),i=t.length;for(let t of(\"block-scalar-header\"===e.props[0].type&&(i-=e.props[0].source.length),n))t.offset+=i;delete e.props,Object.assign(e,{type:s,source:t,end:n});break}case\"block-map\":case\"block-seq\":{let n={type:\"newline\",offset:e.offset+t.length,indent:e.indent,source:\"\\n\"};delete e.items,Object.assign(e,{type:s,source:t,end:[n]});break}default:{let n=\"indent\"in e?e.indent:-1,i=\"end\"in e&&Array.isArray(e.end)?e.end.filter(e=>\"space\"===e.type||\"comment\"===e.type||\"newline\"===e.type):[];for(let t of Object.keys(e))\"type\"!==t&&\"offset\"!==t&&delete e[t];Object.assign(e,{type:s,indent:n,source:t,end:i})}}}let tM=e=>\"type\"in e?tB(e):tj(e);function tB(e){switch(e.type){case\"block-scalar\":{let t=\"\";for(let s of e.props)t+=tB(s);return t+e.source}case\"block-map\":case\"block-seq\":{let t=\"\";for(let s of e.items)t+=tj(s);return t}case\"flow-collection\":{let t=e.start.source;for(let s of e.items)t+=tj(s);for(let s of e.end)t+=s.source;return t}case\"document\":{let t=tj(e);if(e.end)for(let s of e.end)t+=s.source;return t}default:{let t=e.source;if(\"end\"in e&&e.end)for(let s of e.end)t+=s.source;return t}}}function tj({start:e,key:t,sep:s,value:n}){let i=\"\";for(let t of e)i+=t.source;if(t&&(i+=tB(t)),s)for(let e of s)i+=e.source;return n&&(i+=tB(n)),i}let tD=Symbol(\"break visit\"),tK=Symbol(\"skip children\"),tq=Symbol(\"remove item\");function tP(e,t){\"type\"in e&&\"document\"===e.type&&(e={start:e.start,value:e.value}),function e(t,s,n){let i=n(s,t);if(\"symbol\"==typeof i)return i;for(let r of[\"key\",\"value\"]){let o=s[r];if(o&&\"items\"in o){for(let s=0;s<o.items.length;++s){let i=e(Object.freeze(t.concat([[r,s]])),o.items[s],n);if(\"number\"==typeof i)s=i-1;else{if(i===tD)return tD;i===tq&&(o.items.splice(s,1),s-=1)}}\"function\"==typeof i&&\"key\"===r&&(i=i(s,t))}}return\"function\"==typeof i?i(s,t):i}(Object.freeze([]),e,t)}tP.BREAK=tD,tP.SKIP=tK,tP.REMOVE=tq,tP.itemAtPath=(e,t)=>{let s=e;for(let[e,n]of t){let t=s?.[e];if(!t||!(\"items\"in t))return;s=t.items[n]}return s},tP.parentCollection=(e,t)=>{let s=tP.itemAtPath(e,t.slice(0,-1)),n=t[t.length-1][0],i=s?.[n];if(i&&\"items\"in i)return i;throw Error(\"Parent collection not found\")};let tR=\"\\uFEFF\",tU=\"\\x02\",tF=\"\\x18\",tV=\"\\x1f\",tH=e=>!!e&&\"items\"in e,tJ=e=>!!e&&(\"scalar\"===e.type||\"single-quoted-scalar\"===e.type||\"double-quoted-scalar\"===e.type||\"block-scalar\"===e.type);function tY(e){switch(e){case tR:return\"<BOM>\";case tU:return\"<DOC>\";case tF:return\"<FLOW_END>\";case tV:return\"<SCALAR>\";default:return JSON.stringify(e)}}function tW(e){switch(e){case tR:return\"byte-order-mark\";case tU:return\"doc-mode\";case tF:return\"flow-error-end\";case tV:return\"scalar\";case\"---\":return\"doc-start\";case\"...\":return\"doc-end\";case\"\":case\"\\n\":case\"\\r\\n\":return\"newline\";case\"-\":return\"seq-item-ind\";case\"?\":return\"explicit-key-ind\";case\":\":return\"map-value-ind\";case\"{\":return\"flow-map-start\";case\"}\":return\"flow-map-end\";case\"[\":return\"flow-seq-start\";case\"]\":return\"flow-seq-end\";case\",\":return\"comma\"}switch(e[0]){case\" \":case\"\t\":return\"space\";case\"#\":return\"comment\";case\"%\":return\"directive-line\";case\"*\":return\"alias\";case\"&\":return\"anchor\";case\"!\":return\"tag\";case\"'\":return\"single-quoted-scalar\";case'\"':return\"double-quoted-scalar\";case\"|\":case\">\":return\"block-scalar-header\"}return null}function tG(e){switch(e){case void 0:case\" \":case\"\\n\":case\"\\r\":case\"\t\":return!0;default:return!1}}let tz=new Set(\"0123456789ABCDEFabcdef\"),tQ=new Set(\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()\"),tX=new Set(\",[]{}\"),tZ=new Set(\" ,[]{}\\n\\r\t\"),t0=e=>!e||tZ.has(e);class t1{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer=\"\",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(e,t=!1){if(e){if(\"string\"!=typeof e)throw TypeError(\"source is not a string\");this.buffer=this.buffer?this.buffer+e:e,this.lineEndPos=null}this.atEnd=!t;let s=this.next??\"stream\";for(;s&&(t||this.hasChars(1));)s=yield*this.parseNext(s)}atLineEnd(){let e=this.pos,t=this.buffer[e];for(;\" \"===t||\"\t\"===t;)t=this.buffer[++e];return!t||\"#\"===t||\"\\n\"===t||\"\\r\"===t&&\"\\n\"===this.buffer[e+1]}charAt(e){return this.buffer[this.pos+e]}continueScalar(e){let t=this.buffer[e];if(this.indentNext>0){let s=0;for(;\" \"===t;)t=this.buffer[++s+e];if(\"\\r\"===t){let t=this.buffer[s+e+1];if(\"\\n\"===t||!t&&!this.atEnd)return e+s+1}return\"\\n\"!==t&&!(s>=this.indentNext)&&(t||this.atEnd)?-1:e+s}if(\"-\"===t||\".\"===t){let t=this.buffer.substr(e,3);if((\"---\"===t||\"...\"===t)&&tG(this.buffer[e+3]))return -1}return e}getLine(){let e=this.lineEndPos;return((\"number\"!=typeof e||-1!==e&&e<this.pos)&&(e=this.buffer.indexOf(\"\\n\",this.pos),this.lineEndPos=e),-1===e)?this.atEnd?this.buffer.substring(this.pos):null:(\"\\r\"===this.buffer[e-1]&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=e,null}peek(e){return this.buffer.substr(this.pos,e)}*parseNext(e){switch(e){case\"stream\":return yield*this.parseStream();case\"line-start\":return yield*this.parseLineStart();case\"block-start\":return yield*this.parseBlockStart();case\"doc\":return yield*this.parseDocument();case\"flow\":return yield*this.parseFlowCollection();case\"quoted-scalar\":return yield*this.parseQuotedScalar();case\"block-scalar\":return yield*this.parseBlockScalar();case\"plain-scalar\":return yield*this.parsePlainScalar()}}*parseStream(){let e=this.getLine();if(null===e)return this.setNext(\"stream\");if(e[0]===tR&&(yield*this.pushCount(1),e=e.substring(1)),\"%\"===e[0]){let t=e.length,s=e.indexOf(\"#\");for(;-1!==s;){let n=e[s-1];if(\" \"===n||\"\t\"===n){t=s-1;break}s=e.indexOf(\"#\",s+1)}for(;;){let s=e[t-1];if(\" \"===s||\"\t\"===s)t-=1;else break}let n=(yield*this.pushCount(t))+(yield*this.pushSpaces(!0));return yield*this.pushCount(e.length-n),this.pushNewline(),\"stream\"}if(this.atLineEnd()){let t=yield*this.pushSpaces(!0);return yield*this.pushCount(e.length-t),yield*this.pushNewline(),\"stream\"}return yield tU,yield*this.parseLineStart()}*parseLineStart(){let e=this.charAt(0);if(!e&&!this.atEnd)return this.setNext(\"line-start\");if(\"-\"===e||\".\"===e){if(!this.atEnd&&!this.hasChars(4))return this.setNext(\"line-start\");let e=this.peek(3);if((\"---\"===e||\"...\"===e)&&tG(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,\"---\"===e?\"doc\":\"stream\"}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!tG(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[e,t]=this.peek(2);if(!t&&!this.atEnd)return this.setNext(\"block-start\");if((\"-\"===e||\"?\"===e||\":\"===e)&&tG(t)){let e=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=e,yield*this.parseBlockStart()}return\"doc\"}*parseDocument(){yield*this.pushSpaces(!0);let e=this.getLine();if(null===e)return this.setNext(\"doc\");let t=yield*this.pushIndicators();switch(e[t]){case\"#\":yield*this.pushCount(e.length-t);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case\"{\":case\"[\":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,\"flow\";case\"}\":case\"]\":return yield*this.pushCount(1),\"doc\";case\"*\":return yield*this.pushUntil(t0),\"doc\";case'\"':case\"'\":return yield*this.parseQuotedScalar();case\"|\":case\">\":return t+=yield*this.parseBlockScalarHeader(),t+=yield*this.pushSpaces(!0),yield*this.pushCount(e.length-t),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let e,t,s=-1;do(e=yield*this.pushNewline())>0?(t=yield*this.pushSpaces(!1),this.indentValue=s=t):t=0,t+=yield*this.pushSpaces(!0);while(e+t>0);let n=this.getLine();if(null===n)return this.setNext(\"flow\");if((-1!==s&&s<this.indentNext&&\"#\"!==n[0]||0===s&&(n.startsWith(\"---\")||n.startsWith(\"...\"))&&tG(n[3]))&&(s!==this.indentNext-1||1!==this.flowLevel||\"]\"!==n[0]&&\"}\"!==n[0]))return this.flowLevel=0,yield tF,yield*this.parseLineStart();let i=0;for(;\",\"===n[i];)i+=yield*this.pushCount(1),i+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(n[i+=yield*this.pushIndicators()]){case void 0:return\"flow\";case\"#\":return yield*this.pushCount(n.length-i),\"flow\";case\"{\":case\"[\":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,\"flow\";case\"}\":case\"]\":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?\"flow\":\"doc\";case\"*\":return yield*this.pushUntil(t0),\"flow\";case'\"':case\"'\":return this.flowKey=!0,yield*this.parseQuotedScalar();case\":\":{let e=this.charAt(1);if(this.flowKey||tG(e)||\",\"===e)return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),\"flow\"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let e=this.charAt(0),t=this.buffer.indexOf(e,this.pos+1);if(\"'\"===e)for(;-1!==t&&\"'\"===this.buffer[t+1];)t=this.buffer.indexOf(\"'\",t+2);else for(;-1!==t;){let e=0;for(;\"\\\\\"===this.buffer[t-1-e];)e+=1;if(e%2==0)break;t=this.buffer.indexOf('\"',t+1)}let s=this.buffer.substring(0,t),n=s.indexOf(\"\\n\",this.pos);if(-1!==n){for(;-1!==n;){let e=this.continueScalar(n+1);if(-1===e)break;n=s.indexOf(\"\\n\",e)}-1!==n&&(t=n-(\"\\r\"===s[n-1]?2:1))}if(-1===t){if(!this.atEnd)return this.setNext(\"quoted-scalar\");t=this.buffer.length}return yield*this.pushToIndex(t+1,!1),this.flowLevel?\"flow\":\"doc\"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let e=this.pos;for(;;){let t=this.buffer[++e];if(\"+\"===t)this.blockScalarKeep=!0;else if(t>\"0\"&&t<=\"9\")this.blockScalarIndent=Number(t)-1;else if(\"-\"!==t)break}return yield*this.pushUntil(e=>tG(e)||\"#\"===e)}*parseBlockScalar(){let e,t=this.pos-1,s=0;e:for(let n=this.pos;e=this.buffer[n];++n)switch(e){case\" \":s+=1;break;case\"\\n\":t=n,s=0;break;case\"\\r\":{let e=this.buffer[n+1];if(!e&&!this.atEnd)return this.setNext(\"block-scalar\");if(\"\\n\"===e)break}default:break e}if(!e&&!this.atEnd)return this.setNext(\"block-scalar\");if(s>=this.indentNext){-1===this.blockScalarIndent?this.indentNext=s:this.indentNext=this.blockScalarIndent+(0===this.indentNext?1:this.indentNext);do{let e=this.continueScalar(t+1);if(-1===e)break;t=this.buffer.indexOf(\"\\n\",e)}while(-1!==t);if(-1===t){if(!this.atEnd)return this.setNext(\"block-scalar\");t=this.buffer.length}}let n=t+1;for(e=this.buffer[n];\" \"===e;)e=this.buffer[++n];if(\"\t\"===e){for(;\"\t\"===e||\" \"===e||\"\\r\"===e||\"\\n\"===e;)e=this.buffer[++n];t=n-1}else if(!this.blockScalarKeep)for(;;){let e=t-1,n=this.buffer[e];\"\\r\"===n&&(n=this.buffer[--e]);let i=e;for(;\" \"===n;)n=this.buffer[--e];if(\"\\n\"===n&&e>=this.pos&&e+1+s>i)t=e;else break}return yield tV,yield*this.pushToIndex(t+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let e,t=this.flowLevel>0,s=this.pos-1,n=this.pos-1;for(;e=this.buffer[++n];)if(\":\"===e){let e=this.buffer[n+1];if(tG(e)||t&&tX.has(e))break;s=n}else if(tG(e)){let i=this.buffer[n+1];if(\"\\r\"===e&&(\"\\n\"===i?(n+=1,e=\"\\n\",i=this.buffer[n+1]):s=n),\"#\"===i||t&&tX.has(i))break;if(\"\\n\"===e){let e=this.continueScalar(n+1);if(-1===e)break;n=Math.max(n,e-2)}}else{if(t&&tX.has(e))break;s=n}return e||this.atEnd?(yield tV,yield*this.pushToIndex(s+1,!0),t?\"flow\":\"doc\"):this.setNext(\"plain-scalar\")}*pushCount(e){return e>0?(yield this.buffer.substr(this.pos,e),this.pos+=e,e):0}*pushToIndex(e,t){let s=this.buffer.slice(this.pos,e);return s?(yield s,this.pos+=s.length,s.length):(t&&(yield\"\"),0)}*pushIndicators(){switch(this.charAt(0)){case\"!\":return(yield*this.pushTag())+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case\"&\":return(yield*this.pushUntil(t0))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case\"-\":case\"?\":case\":\":{let e=this.flowLevel>0,t=this.charAt(1);if(tG(t)||e&&tX.has(t))return e?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,(yield*this.pushCount(1))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators())}}return 0}*pushTag(){if(\"<\"===this.charAt(1)){let e=this.pos+2,t=this.buffer[e];for(;!tG(t)&&\">\"!==t;)t=this.buffer[++e];return yield*this.pushToIndex(\">\"===t?e+1:e,!1)}{let e=this.pos+1,t=this.buffer[e];for(;t;)if(tQ.has(t))t=this.buffer[++e];else if(\"%\"===t&&tz.has(this.buffer[e+1])&&tz.has(this.buffer[e+2]))t=this.buffer[e+=3];else break;return yield*this.pushToIndex(e,!1)}}*pushNewline(){let e=this.buffer[this.pos];return\"\\n\"===e?yield*this.pushCount(1):\"\\r\"===e&&\"\\n\"===this.charAt(1)?yield*this.pushCount(2):0}*pushSpaces(e){let t,s=this.pos-1;do t=this.buffer[++s];while(\" \"===t||e&&\"\t\"===t);let n=s-this.pos;return n>0&&(yield this.buffer.substr(this.pos,n),this.pos=s),n}*pushUntil(e){let t=this.pos,s=this.buffer[t];for(;!e(s);)s=this.buffer[++t];return yield*this.pushToIndex(t,!1)}}class t2{constructor(){this.lineStarts=[],this.addNewLine=e=>this.lineStarts.push(e),this.linePos=e=>{let t=0,s=this.lineStarts.length;for(;t<s;){let n=t+s>>1;this.lineStarts[n]<e?t=n+1:s=n}if(this.lineStarts[t]===e)return{line:t+1,col:1};if(0===t)return{line:0,col:e};let n=this.lineStarts[t-1];return{line:t,col:e-n+1}}}}function t9(e,t){for(let s=0;s<e.length;++s)if(e[s].type===t)return!0;return!1}function t4(e){for(let t=0;t<e.length;++t)switch(e[t].type){case\"space\":case\"comment\":case\"newline\":break;default:return t}return -1}function t3(e){switch(e?.type){case\"alias\":case\"scalar\":case\"single-quoted-scalar\":case\"double-quoted-scalar\":case\"flow-collection\":return!0;default:return!1}}function t6(e){switch(e.type){case\"document\":return e.start;case\"block-map\":{let t=e.items[e.items.length-1];return t.sep??t.start}case\"block-seq\":return e.items[e.items.length-1].start;default:return[]}}function t5(e){if(0===e.length)return[];let t=e.length;e:for(;--t>=0;)switch(e[t].type){case\"doc-start\":case\"explicit-key-ind\":case\"map-value-ind\":case\"seq-item-ind\":case\"newline\":break e}for(;e[++t]?.type===\"space\";);return e.splice(t,e.length)}function t7(e){if(\"flow-seq-start\"===e.start.type)for(let t of e.items)!t.sep||t.value||t9(t.start,\"explicit-key-ind\")||t9(t.sep,\"map-value-ind\")||(t.key&&(t.value=t.key),delete t.key,t3(t.value)?t.value.end?Array.prototype.push.apply(t.value.end,t.sep):t.value.end=t.sep:Array.prototype.push.apply(t.start,t.sep),delete t.sep)}class t8{constructor(e){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source=\"\",this.type=\"\",this.lexer=new t1,this.onNewLine=e}*parse(e,t=!1){for(let s of(this.onNewLine&&0===this.offset&&this.onNewLine(0),this.lexer.lex(e,t)))yield*this.next(s);t||(yield*this.end())}*next(e){if(this.source=e,this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=e.length;return}let t=tW(e);if(t)if(\"scalar\"===t)this.atNewLine=!1,this.atScalar=!0,this.type=\"scalar\";else{switch(this.type=t,yield*this.step(),t){case\"newline\":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+e.length);break;case\"space\":this.atNewLine&&\" \"===e[0]&&(this.indent+=e.length);break;case\"explicit-key-ind\":case\"map-value-ind\":case\"seq-item-ind\":this.atNewLine&&(this.indent+=e.length);break;case\"doc-mode\":case\"flow-error-end\":return;default:this.atNewLine=!1}this.offset+=e.length}else{let t=`Not a YAML token: ${e}`;yield*this.pop({type:\"error\",offset:this.offset,message:t,source:e}),this.offset+=e.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let e=this.peek(1);if(\"doc-end\"===this.type&&e?.type!==\"doc-end\"){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:\"doc-end\",offset:this.offset,source:this.source});return}if(!e)return yield*this.stream();switch(e.type){case\"document\":return yield*this.document(e);case\"alias\":case\"scalar\":case\"single-quoted-scalar\":case\"double-quoted-scalar\":return yield*this.scalar(e);case\"block-scalar\":return yield*this.blockScalar(e);case\"block-map\":return yield*this.blockMap(e);case\"block-seq\":return yield*this.blockSequence(e);case\"flow-collection\":return yield*this.flowCollection(e);case\"doc-end\":return yield*this.documentEnd(e)}yield*this.pop()}peek(e){return this.stack[this.stack.length-e]}*pop(e){let t=e??this.stack.pop();if(t)if(0===this.stack.length)yield t;else{let e=this.peek(1);switch(\"block-scalar\"===t.type?t.indent=\"indent\"in e?e.indent:0:\"flow-collection\"===t.type&&\"document\"===e.type&&(t.indent=0),\"flow-collection\"===t.type&&t7(t),e.type){case\"document\":e.value=t;break;case\"block-scalar\":e.props.push(t);break;case\"block-map\":{let s=e.items[e.items.length-1];if(s.value){e.items.push({start:[],key:t,sep:[]}),this.onKeyLine=!0;return}if(s.sep)s.value=t;else{Object.assign(s,{key:t,sep:[]}),this.onKeyLine=!s.explicitKey;return}break}case\"block-seq\":{let s=e.items[e.items.length-1];s.value?e.items.push({start:[],value:t}):s.value=t;break}case\"flow-collection\":{let s=e.items[e.items.length-1];!s||s.value?e.items.push({start:[],key:t,sep:[]}):s.sep?s.value=t:Object.assign(s,{key:t,sep:[]});return}default:yield*this.pop(),yield*this.pop(t)}if((\"document\"===e.type||\"block-map\"===e.type||\"block-seq\"===e.type)&&(\"block-map\"===t.type||\"block-seq\"===t.type)){let s=t.items[t.items.length-1];s&&!s.sep&&!s.value&&s.start.length>0&&-1===t4(s.start)&&(0===t.indent||s.start.every(e=>\"comment\"!==e.type||e.indent<t.indent))&&(\"document\"===e.type?e.end=s.start:e.items.push({start:s.start}),t.items.splice(-1,1))}}else yield{type:\"error\",offset:this.offset,source:\"\",message:\"Tried to pop an empty stack\"}}*stream(){switch(this.type){case\"directive-line\":yield{type:\"directive\",offset:this.offset,source:this.source};return;case\"byte-order-mark\":case\"space\":case\"comment\":case\"newline\":yield this.sourceToken;return;case\"doc-mode\":case\"doc-start\":{let e={type:\"document\",offset:this.offset,start:[]};\"doc-start\"===this.type&&e.start.push(this.sourceToken),this.stack.push(e);return}}yield{type:\"error\",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(e){if(e.value)return yield*this.lineEnd(e);switch(this.type){case\"doc-start\":-1!==t4(e.start)?(yield*this.pop(),yield*this.step()):e.start.push(this.sourceToken);return;case\"anchor\":case\"tag\":case\"space\":case\"comment\":case\"newline\":e.start.push(this.sourceToken);return}let t=this.startBlockValue(e);t?this.stack.push(t):yield{type:\"error\",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(e){if(\"map-value-ind\"===this.type){let t,s=t5(t6(this.peek(2)));e.end?((t=e.end).push(this.sourceToken),delete e.end):t=[this.sourceToken];let n={type:\"block-map\",offset:e.offset,indent:e.indent,items:[{start:s,key:e,sep:t}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=n}else yield*this.lineEnd(e)}*blockScalar(e){switch(this.type){case\"space\":case\"comment\":case\"newline\":e.props.push(this.sourceToken);return;case\"scalar\":if(e.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let e=this.source.indexOf(\"\\n\")+1;for(;0!==e;)this.onNewLine(this.offset+e),e=this.source.indexOf(\"\\n\",e)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case\"newline\":if(this.onKeyLine=!1,t.value){let s=\"end\"in t.value?t.value.end:void 0,n=Array.isArray(s)?s[s.length-1]:void 0;n?.type===\"comment\"?s?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case\"space\":case\"comment\":if(t.value)e.items.push({start:[this.sourceToken]});else if(t.sep)t.sep.push(this.sourceToken);else{if(this.atIndentedComment(t.start,e.indent)){let s=e.items[e.items.length-2],n=s?.value?.end;if(Array.isArray(n)){Array.prototype.push.apply(n,t.start),n.push(this.sourceToken),e.items.pop();return}}t.start.push(this.sourceToken)}return}if(this.indent>=e.indent){let s=!this.onKeyLine&&this.indent===e.indent,n=s&&(t.sep||t.explicitKey)&&\"seq-item-ind\"!==this.type,i=[];if(n&&t.sep&&!t.value){let s=[];for(let n=0;n<t.sep.length;++n){let i=t.sep[n];switch(i.type){case\"newline\":s.push(n);break;case\"space\":break;case\"comment\":i.indent>e.indent&&(s.length=0);break;default:s.length=0}}s.length>=2&&(i=t.sep.splice(s[1]))}switch(this.type){case\"anchor\":case\"tag\":n||t.value?(i.push(this.sourceToken),e.items.push({start:i}),this.onKeyLine=!0):t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case\"explicit-key-ind\":t.sep||t.explicitKey?n||t.value?(i.push(this.sourceToken),e.items.push({start:i,explicitKey:!0})):this.stack.push({type:\"block-map\",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}):(t.start.push(this.sourceToken),t.explicitKey=!0),this.onKeyLine=!0;return;case\"map-value-ind\":if(t.explicitKey)if(t.sep)if(t.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(t9(t.sep,\"map-value-ind\"))this.stack.push({type:\"block-map\",offset:this.offset,indent:this.indent,items:[{start:i,key:null,sep:[this.sourceToken]}]});else if(t3(t.key)&&!t9(t.sep,\"newline\")){let e=t5(t.start),s=t.key,n=t.sep;n.push(this.sourceToken),delete t.key,delete t.sep,this.stack.push({type:\"block-map\",offset:this.offset,indent:this.indent,items:[{start:e,key:s,sep:n}]})}else i.length>0?t.sep=t.sep.concat(i,this.sourceToken):t.sep.push(this.sourceToken);else if(t9(t.start,\"newline\"))Object.assign(t,{key:null,sep:[this.sourceToken]});else{let e=t5(t.start);this.stack.push({type:\"block-map\",offset:this.offset,indent:this.indent,items:[{start:e,key:null,sep:[this.sourceToken]}]})}else t.sep?t.value||n?e.items.push({start:i,key:null,sep:[this.sourceToken]}):t9(t.sep,\"map-value-ind\")?this.stack.push({type:\"block-map\",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):t.sep.push(this.sourceToken):Object.assign(t,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case\"alias\":case\"scalar\":case\"single-quoted-scalar\":case\"double-quoted-scalar\":{let s=this.flowScalar(this.type);n||t.value?(e.items.push({start:i,key:s,sep:[]}),this.onKeyLine=!0):t.sep?this.stack.push(s):(Object.assign(t,{key:s,sep:[]}),this.onKeyLine=!0);return}default:{let n=this.startBlockValue(e);if(n){if(\"block-seq\"===n.type){if(!t.explicitKey&&t.sep&&!t9(t.sep,\"newline\"))return void(yield*this.pop({type:\"error\",offset:this.offset,message:\"Unexpected block-seq-ind on same line with key\",source:this.source}))}else s&&e.items.push({start:i});this.stack.push(n);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(e){let t=e.items[e.items.length-1];switch(this.type){case\"newline\":if(t.value){let s=\"end\"in t.value?t.value.end:void 0,n=Array.isArray(s)?s[s.length-1]:void 0;n?.type===\"comment\"?s?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else t.start.push(this.sourceToken);return;case\"space\":case\"comment\":if(t.value)e.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(t.start,e.indent)){let s=e.items[e.items.length-2],n=s?.value?.end;if(Array.isArray(n)){Array.prototype.push.apply(n,t.start),n.push(this.sourceToken),e.items.pop();return}}t.start.push(this.sourceToken)}return;case\"anchor\":case\"tag\":if(t.value||this.indent<=e.indent)break;t.start.push(this.sourceToken);return;case\"seq-item-ind\":if(this.indent!==e.indent)break;t.value||t9(t.start,\"seq-item-ind\")?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken);return}if(this.indent>e.indent){let t=this.startBlockValue(e);if(t)return void this.stack.push(t)}yield*this.pop(),yield*this.step()}*flowCollection(e){let t=e.items[e.items.length-1];if(\"flow-error-end\"===this.type){let e;do yield*this.pop(),e=this.peek(1);while(e?.type===\"flow-collection\")}else if(0===e.end.length){switch(this.type){case\"comma\":case\"explicit-key-ind\":!t||t.sep?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken);return;case\"map-value-ind\":!t||t.value?e.items.push({start:[],key:null,sep:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):Object.assign(t,{key:null,sep:[this.sourceToken]});return;case\"space\":case\"comment\":case\"newline\":case\"anchor\":case\"tag\":!t||t.value?e.items.push({start:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case\"alias\":case\"scalar\":case\"single-quoted-scalar\":case\"double-quoted-scalar\":{let s=this.flowScalar(this.type);!t||t.value?e.items.push({start:[],key:s,sep:[]}):t.sep?this.stack.push(s):Object.assign(t,{key:s,sep:[]});return}case\"flow-map-end\":case\"flow-seq-end\":e.end.push(this.sourceToken);return}let s=this.startBlockValue(e);s?this.stack.push(s):(yield*this.pop(),yield*this.step())}else{let t=this.peek(2);if(\"block-map\"!==t.type||(\"map-value-ind\"!==this.type||t.indent!==e.indent)&&(\"newline\"!==this.type||t.items[t.items.length-1].sep))if(\"map-value-ind\"===this.type&&\"flow-collection\"!==t.type){let s=t5(t6(t));t7(e);let n=e.end.splice(1,e.end.length);n.push(this.sourceToken);let i={type:\"block-map\",offset:e.offset,indent:e.indent,items:[{start:s,key:e,sep:n}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=i}else yield*this.lineEnd(e);else yield*this.pop(),yield*this.step()}}flowScalar(e){if(this.onNewLine){let e=this.source.indexOf(\"\\n\")+1;for(;0!==e;)this.onNewLine(this.offset+e),e=this.source.indexOf(\"\\n\",e)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case\"alias\":case\"scalar\":case\"single-quoted-scalar\":case\"double-quoted-scalar\":return this.flowScalar(this.type);case\"block-scalar-header\":return{type:\"block-scalar\",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:\"\"};case\"flow-map-start\":case\"flow-seq-start\":return{type:\"flow-collection\",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case\"seq-item-ind\":return{type:\"block-seq\",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case\"explicit-key-ind\":{this.onKeyLine=!0;let t=t5(t6(e));return t.push(this.sourceToken),{type:\"block-map\",offset:this.offset,indent:this.indent,items:[{start:t,explicitKey:!0}]}}case\"map-value-ind\":{this.onKeyLine=!0;let t=t5(t6(e));return{type:\"block-map\",offset:this.offset,indent:this.indent,items:[{start:t,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,t){return\"comment\"===this.type&&!(this.indent<=t)&&e.every(e=>\"newline\"===e.type||\"space\"===e.type)}*documentEnd(e){\"doc-mode\"!==this.type&&(e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],\"newline\"===this.type&&(yield*this.pop()))}*lineEnd(e){switch(this.type){case\"comma\":case\"doc-start\":case\"doc-end\":case\"flow-seq-end\":case\"flow-map-end\":case\"map-value-ind\":yield*this.pop(),yield*this.step();break;case\"newline\":this.onKeyLine=!1;default:e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],\"newline\"===this.type&&(yield*this.pop())}}}function se(e){let t=!1!==e.prettyErrors;return{lineCounter:e.lineCounter||t&&new t2||null,prettyErrors:t}}function st(e,t={}){let{lineCounter:s,prettyErrors:n}=se(t),i=new t8(s?.addNewLine),r=new t$(t),o=Array.from(r.compose(i.parse(e)));if(n&&s)for(let t of o)t.errors.forEach(ta(e,s)),t.warnings.forEach(ta(e,s));return o.length>0?o:Object.assign([],{empty:!0},r.streamInfo())}function ss(e,t={}){let{lineCounter:s,prettyErrors:n}=se(t),i=new t8(s?.addNewLine),r=new t$(t),o=null;for(let t of r.compose(i.parse(e),!0,e.length))if(o){if(\"silent\"!==o.options.logLevel){o.errors.push(new to(t.range.slice(0,2),\"MULTIPLE_DOCS\",\"Source contains multiple documents; please use YAML.parseAllDocuments()\"));break}}else o=t;return n&&s&&(o.errors.forEach(ta(e,s)),o.warnings.forEach(ta(e,s))),o}function sn(e,t,s){let n;\"function\"==typeof t?n=t:void 0===s&&t&&\"object\"==typeof t&&(s=t);let i=ss(e,s);if(!i)return null;if(i.warnings.forEach(e=>ec(i.options.logLevel,e)),i.errors.length>0)if(\"silent\"!==i.options.logLevel)throw i.errors[0];else i.errors=[];return i.toJS(Object.assign({reviver:n},s))}function si(e,t,s){let n=null;if(\"function\"==typeof t||Array.isArray(t)?n=t:void 0===s&&t&&(s=t),\"string\"==typeof s&&(s=s.length),\"number\"==typeof s){let e=Math.round(s);s=e<1?void 0:e>8?{indent:8}:{indent:e}}if(void 0===e){let{keepUndefined:e}=s??t??{};if(!e)return}return p(e)&&!n?e.toString(s):new tn(e,n,s).toString(s)}let sr=r}}]);"
  },
  {
    "path": "src/Resources/public/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/async/696.3b1d6da3.js",
    "content": "/*! For license information please see 696.3b1d6da3.js.LICENSE.txt */\n\"use strict\";(self[\"chunk_pimcore_datahub_bundle \"]=self[\"chunk_pimcore_datahub_bundle \"]||[]).push([[\"696\"],{7799(e,a,t){t.d(a,{Wc:()=>o,iO:()=>g,MM:()=>m});var i=t(4848),n=t(2812),r=t(2696),l=t(5840);let s=(0,l.rU)(e=>{let{css:a}=e;return{formWrapper:a`\n      display: contents;\n\n      > form {\n        display: flex;\n        flex-direction: column;\n        flex: 1;\n        min-height: 0;\n      }\n    `}});function o(e){let{toolbar:a,tabs:t,isLoading:n,form:l,initialValues:o,onValuesChange:d,disabled:u=!1,requestId:c}=e,{styles:p}=s(),m=t.map(e=>({...e,children:!0===e.fullHeight?e.children:(0,i.jsx)(r.Content,{padded:!0,children:e.children})}));return(0,i.jsx)(r.ContentLayout,{renderToolbar:a,children:(0,i.jsx)(r.Content,{loading:n,overflow:{x:\"auto\",y:\"hidden\"},children:!n&&(0,i.jsx)(\"div\",{className:p.formWrapper,children:(0,i.jsx)(r.FormKit,{formProps:{form:l,initialValues:o,layout:\"vertical\",onValuesChange:d,disabled:u},wrapInPanel:!1,children:(0,i.jsx)(r.Tabs,{defaultActiveKey:\"general\",fullHeight:!0,items:m,noTabBarMargin:!0,type:\"card\"})},c)})})})}var d=t(4781),u=t(9428);let c=e=>{let{configName:a,disabled:t}=e,{t:n}=(0,d.useTranslation)();return(0,i.jsx)(r.Tooltip,{title:n(\"tree.actions.export\"),children:(0,i.jsx)(r.IconButton,{disabled:t,icon:{value:\"export\"},onClick:()=>{window.location.href=(0,u.W)(a)}})})},p=(0,l.rU)(e=>{let{css:a,token:t}=e;return{divider:a`\n      height: ${t.fontSizeLG}px;\n      align-self: center;\n      margin-top: 0 !important;\n      margin-bottom: 0 !important;\n      margin-inline: ${t.marginXXS}px;\n    `}});function m(e){let{configName:a,isWriteable:t,isLoading:n,isSaving:l,isDirty:s,onSave:o,onRefresh:u,onDelete:m,additionalButtons:h=[],leftAdditionalContent:b}=e,{t:g}=(0,d.useTranslation)(),{styles:f}=p(),y=(0,i.jsx)(r.Button,{disabled:!s||!t,loading:l,onClick:o,type:\"primary\",children:g(\"save\")},\"save\"),x=[...h,t?y:(0,i.jsx)(r.Tooltip,{title:g(\"config_not_writeable\"),children:(0,i.jsx)(\"span\",{children:y})},\"save-tooltip\")];return(0,i.jsxs)(r.Toolbar,{children:[(0,i.jsxs)(r.Space,{size:\"extra-small\",children:[(0,i.jsx)(r.Tooltip,{title:g(\"refresh\"),children:(0,i.jsx)(r.IconButton,{disabled:n,icon:{value:\"refresh\"},onClick:u})}),(0,i.jsx)(r.Tooltip,{title:g(t?\"delete\":\"config_not_writeable\"),children:(0,i.jsx)(r.IconButton,{disabled:!t,icon:{value:\"trash\"},onClick:m})}),(0,i.jsx)(c,{configName:a}),void 0!==b&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.Divider,{className:f.divider,type:\"vertical\"}),b]})]}),(0,i.jsx)(r.ButtonGroup,{items:x})]})}var h=t(2703),b=t(2543);function g(e){let{configName:a,configData:t,modificationDate:i,isLoading:l,requestId:s,transformToForm:o,transformToBackend:u,onSave:c,onChange:p,successMessageKey:m=\"save-success\"}=e,[g]=r.Form.useForm(),{t:f}=(0,d.useTranslation)(),y=(0,r.useMessage)(),[x,D]=(0,n.useState)(!1),C=(0,n.useRef)(0),T=(0,n.useRef)(!1),v=(0,n.useMemo)(()=>o(t??{},a),[t,a]);return(0,n.useEffect)(()=>{!(l||(0,b.isNil)(t))&&(g.setFieldsValue(v),D(!1),p(!1),T.current||(C.current=i??0))},[s,v,i,l]),{form:g,isDirty:x,initialValues:v,handleSave:()=>{T.current||g.validateFields().then(async e=>{T.current=!0;try{let a={...v,...e},i=u(a,t??{}),n=await c(i,C.current);(0,b.isNil)(null==n?void 0:n.modificationDate)||(C.current=n.modificationDate),D(!1),p(!1),y.success(f(m))}catch(e){(0,h.isApiErrorData)(e)&&(0,h.trackError)(new h.ApiError(e))}finally{T.current=!1}}).catch(e=>{console.error(\"Validation failed:\",e),y.error(f(\"data-hub.save-validation-error\"))})},handleValuesChange:()=>{D(!0),p(!0)}}}},17(e,a,t){t.d(a,{s:()=>i});let i={\"DataHub/DynamicTypes/Adapter/Registry\":\"DataHub/DynamicTypes/Adapter/Registry\",\"DataHub/DynamicTypes/Adapter/GraphQL\":\"DataHub/DynamicTypes/Adapter/GraphQL\",\"DataHub/DynamicTypes/Operator/GraphQL/QueryRegistry\":\"DataHub/DynamicTypes/Operator/GraphQL/QueryRegistry\",\"DataHub/DynamicTypes/Operator/GraphQL/MutationRegistry\":\"DataHub/DynamicTypes/Operator/GraphQL/MutationRegistry\",\"DataHub/DynamicTypes/Operator/Alias\":\"DataHub/DynamicTypes/Operator/Alias\",\"DataHub/DynamicTypes/Operator/Concatenator\":\"DataHub/DynamicTypes/Operator/Concatenator\",\"DataHub/DynamicTypes/Operator/DateFormatter\":\"DataHub/DynamicTypes/Operator/DateFormatter\",\"DataHub/DynamicTypes/Operator/ElementCounter\":\"DataHub/DynamicTypes/Operator/ElementCounter\",\"DataHub/DynamicTypes/Operator/Substring\":\"DataHub/DynamicTypes/Operator/Substring\",\"DataHub/DynamicTypes/Operator/Text\":\"DataHub/DynamicTypes/Operator/Text\",\"DataHub/DynamicTypes/Operator/Thumbnail\":\"DataHub/DynamicTypes/Operator/Thumbnail\",\"DataHub/DynamicTypes/Operator/ThumbnailHtml\":\"DataHub/DynamicTypes/Operator/ThumbnailHtml\",\"DataHub/DynamicTypes/Operator/TranslateValue\":\"DataHub/DynamicTypes/Operator/TranslateValue\",\"DataHub/DynamicTypes/Operator/Trimmer\":\"DataHub/DynamicTypes/Operator/Trimmer\",\"DataHub/DynamicTypes/Operator/IfEmpty\":\"DataHub/DynamicTypes/Operator/IfEmpty\",\"DataHub/DynamicTypes/Operator/LocaleCollector\":\"DataHub/DynamicTypes/Operator/LocaleCollector\",\"DataHub/DynamicTypes/Operator/LocaleSwitcher\":\"DataHub/DynamicTypes/Operator/LocaleSwitcher\"}},7565(e,a,t){t.d(a,{Y:()=>r});var i=t(4848);t(2812);var n=t(3842);let r=e=>{let{children:a}=e,t=(0,n.useFieldWidth)();return(0,i.jsx)(\"div\",{style:{maxWidth:`${t.large}px`,width:\"100%\"},children:a})}},6030(e,a,t){t.d(a,{Vn:()=>x,dS:()=>g,TM:()=>p,hO:()=>b,Z7:()=>m,zf:()=>h});let i=t(1436).api.enhanceEndpoints({addTagTypes:[\"Bundle Data Hub\"]}).injectEndpoints({endpoints:e=>({bundleDataHubConfigAdd:e.mutation({query:e=>({url:\"/pimcore-studio/api/bundle/data-hub/config/add\",method:\"POST\",params:{name:e.name,type:e.type,path:e.path}}),invalidatesTags:[\"Bundle Data Hub\"]}),bundleDataHubConfigClone:e.mutation({query:e=>({url:\"/pimcore-studio/api/bundle/data-hub/config/clone\",method:\"POST\",params:{name:e.name,originalName:e.originalName}}),invalidatesTags:[\"Bundle Data Hub\"]}),bundleDataHubConfigCollection:e.query({query:()=>({url:\"/pimcore-studio/api/bundle/data-hub/config\"}),providesTags:[\"Bundle Data Hub\"]}),bundleDataHubConfigDelete:e.mutation({query:e=>({url:`/pimcore-studio/api/bundle/data-hub/config/delete/${e.name}`,method:\"DELETE\"}),invalidatesTags:[\"Bundle Data Hub\"]}),bundleDataHubConfigExport:e.query({query:e=>({url:`/pimcore-studio/api/bundle/data-hub/config/${e.name}/export`}),providesTags:[\"Bundle Data Hub\"]}),bundleDataHubConfigGet:e.query({query:e=>({url:`/pimcore-studio/api/bundle/data-hub/config/${e.name}`}),providesTags:[\"Bundle Data Hub\"]}),bundleDataHubConfigUpdate:e.mutation({query:e=>({url:`/pimcore-studio/api/bundle/data-hub/config/${e.name}`,method:\"PUT\",body:e.bundleDataHubUpdateConfiguration}),invalidatesTags:[\"Bundle Data Hub\"]}),bundleDataHubConfigImport:e.mutation({query:e=>({url:\"/pimcore-studio/api/bundle/data-hub/config/import\",method:\"POST\",body:e.body}),invalidatesTags:[\"Bundle Data Hub\"]})}),overrideExisting:!1}),{useBundleDataHubConfigAddMutation:n,useBundleDataHubConfigCloneMutation:r,useBundleDataHubConfigCollectionQuery:l,useBundleDataHubConfigDeleteMutation:s,useBundleDataHubConfigExportQuery:o,useBundleDataHubConfigGetQuery:d,useBundleDataHubConfigUpdateMutation:u,useBundleDataHubConfigImportMutation:c}=i,{useBundleDataHubConfigCollectionQuery:p,useBundleDataHubConfigAddMutation:m,useBundleDataHubConfigCloneMutation:h,useBundleDataHubConfigDeleteMutation:b,useBundleDataHubConfigGetQuery:g,useBundleDataHubConfigExportQuery:f,useBundleDataHubConfigImportMutation:y,useBundleDataHubConfigUpdateMutation:x}=i.enhanceEndpoints({addTagTypes:[\"DataHubConfigs\"],endpoints:{bundleDataHubConfigCollection:{providesTags:[\"DataHubConfigs\"]},bundleDataHubConfigAdd:{invalidatesTags:[\"DataHubConfigs\"]},bundleDataHubConfigClone:{invalidatesTags:[\"DataHubConfigs\"]},bundleDataHubConfigDelete:{invalidatesTags:[\"DataHubConfigs\"]},bundleDataHubConfigGet:{providesTags:[]},bundleDataHubConfigExport:{providesTags:(e,a,t)=>[{type:\"DataHubConfigs\",id:t.name}]},bundleDataHubConfigImport:{invalidatesTags:[\"DataHubConfigs\"]},bundleDataHubConfigUpdate:{invalidatesTags:[\"DataHubConfigs\"]}}})},6985(e,a,t){t.d(a,{y:()=>S});var i=t(4848),n=t(2812),r=t(2696),l=t(2543),s=t(4781),o=t(17),d=t(1436);let u=(e,a)=>{if((0,l.isNil)(a)||!Array.isArray(a))return null;for(let t of a){if(!(0,l.isNil)(t.id)&&String(t.id)===String(e))return t;if(!(0,l.isUndefined)(t.children)&&!(0,l.isNil)(t.children)){let a=u(e,t.children);if(!(0,l.isNil)(a))return a}}return null},c=(e,a)=>{if(!(0,l.isNil)(e)&&Array.isArray(e))for(let t of e){if(a(t))return t;if(!(0,l.isUndefined)(t.children)){let e=c(t.children,a);if(!(0,l.isUndefined)(e))return e}}},p=(e,a)=>(0,l.isArray)(e)?e.reduce((e,t)=>{let i=t.text.toLowerCase().includes(a.toLowerCase()),n=p(t.children,a);return(i||n.length>0)&&e.push({...t,children:n.length>0?n:t.children}),e},[]):[],m=e=>{let{onRefresh:a,handleOpenConfig:t,disabled:n=!1}=e,{t:o}=(0,s.useTranslation)(),u=async e=>{let{data:i}=await a();if(!(0,l.isUndefined)(null==i?void 0:i.items)){let a=c(i.items,a=>!(0,l.isUndefined)(a.id)&&a.id===e.name);(0,l.isUndefined)(a)||t(a)}};return(0,i.jsx)(r.ImportModal,{accept:\".json,application/json\",action:`${(0,d.getPrefix)()}/bundle/data-hub/config/import`,onUploadSuccess:u,children:(0,i.jsx)(r.Tooltip,{title:o(\"tree.actions.import\"),children:(0,i.jsx)(r.IconButton,{disabled:n,icon:{value:\"import\"},type:\"link\"})})})},h=e=>{let{onAdd:a,onRefresh:t,handleOpenConfig:n,isFetching:l}=e,{t:d}=(0,s.useTranslation)(),u=s.container.get(o.s[\"DataHub/DynamicTypes/Adapter/Registry\"]).getDynamicTypes().map(e=>({key:e.id,label:d(e.getNameTranslationKey()),icon:(0,i.jsx)(r.Icon,{...e.getIcon()}),onClick:()=>{a(e.id)}}));return(0,i.jsxs)(r.Toolbar,{children:[(0,i.jsxs)(r.Flex,{gap:\"extra-small\",children:[(0,i.jsx)(r.Tooltip,{title:d(\"refresh\"),children:(0,i.jsx)(r.IconButton,{disabled:l,icon:{value:\"refresh\"},onClick:t,type:\"link\"})}),(0,i.jsx)(m,{disabled:l,handleOpenConfig:n,onRefresh:t})]}),(0,i.jsx)(r.Dropdown,{menu:{items:u},trigger:[\"click\"],children:(0,i.jsx)(r.DropdownButton,{children:(0,i.jsxs)(r.Flex,{align:\"center\",gap:\"extra-small\",children:[(0,i.jsx)(r.Icon,{value:\"new\"}),d(\"new\")]})})})]})},b=(0,n.createContext)(void 0),g=e=>{let{children:a,value:t}=e;return(0,i.jsx)(b.Provider,{value:t,children:a})},f=()=>{let e=(0,n.useContext)(b);if((0,l.isUndefined)(e))throw Error(\"useConfigContext must be used within ConfigProvider\");return e};var y=t(6030),x=t(2703);let D=e=>{let{refetch:a}=e,{t}=(0,s.useTranslation)(),i=(0,r.useFormModal)(),[o,{error:d}]=(0,y.Z7)(),[u,{error:p}]=(0,y.zf)(),[m,{error:h}]=(0,y.hO)(),b=async(e,a)=>{if(!(0,l.isString)(a)||0===a.trim().length)throw Error(t(\"data-hub.config.name-required\"));if(a.length<3)throw Error(t(\"data-hub.config.name-min-length\"));if(a.length>80)throw Error(t(\"data-hub.config.name-max-length\"));if(!/^[a-zA-Z0-9_-]+$/.test(a))throw Error(t(\"data-hub.config.name-pattern\"));await Promise.resolve()};(0,n.useEffect)(()=>{(0,l.isNil)(d)||(0,x.trackError)(new x.ApiError(d))},[d]),(0,n.useEffect)(()=>{(0,l.isNil)(p)||(0,x.trackError)(new x.ApiError(p))},[p]),(0,n.useEffect)(()=>{if(!(0,l.isNil)(h)){let e=new x.ApiError(h);(0,x.trackError)(e)}},[h]);let g=(0,n.useCallback)((e,n)=>{i.input({label:t(\"data-hub.add.name\"),rule:{required:!0,validator:b},onOk:async t=>{let i=await o({name:t,type:e});if((0,l.has)(i,\"error\"))return;let{data:r}=await a();if(!(0,l.isUndefined)(null==r?void 0:r.items)){let e=c(r.items,e=>!(0,l.isUndefined)(e.id)&&e.id===t);(0,l.isUndefined)(e)||(0,l.isNil)(n)||n(e)}}})},[o,a,i]);return{handleAdd:g,handleClone:(0,n.useCallback)((e,n)=>{(0,l.isNil)(e)||i.input({label:t(\"data-hub.clone.name\"),rule:{required:!0,validator:b},onOk:async t=>{let i=String(e.id??\"\"),r=await u({name:t,originalName:i});if((0,l.has)(r,\"error\"))return;let{data:s}=await a();if(!(0,l.isUndefined)(null==s?void 0:s.items)){let e=c(s.items,e=>!(0,l.isUndefined)(e.id)&&e.id===t);(0,l.isUndefined)(e)||(0,l.isNil)(n)||n(e)}}})},[u,a,i]),handleDelete:(0,n.useCallback)((e,n)=>{(0,l.isNil)(e)||i.confirm({title:t(\"delete\"),content:t(\"data-hub.delete.confirm\",{name:e.text}),onOk:async()=>{let t=String(e.id??\"\"),i=await m({name:t});!(0,l.has)(i,\"error\")&&(await a(),(0,l.isNil)(n)||n())}})},[m,a,i])}};var C=t(9428),T=t(5840);let v=(0,T.rU)(e=>{let{css:a}=e;return{treeContainer:a`\n      .ant-tree-list-holder-inner {\n        align-items: start;\n      }\n\n      .ant-tree-node-content-wrapper {\n        white-space: nowrap;\n      }\n    `}}),j=e=>{let{handleOpenConfig:a}=e,{configurationsData:t,isLoading:d,isFetching:c,refetch:m,expandedKeys:b,setExpandedKeys:g}=f(),[y,x]=(0,n.useState)([]),[T,j]=(0,n.useState)([]),[H,w]=(0,n.useState)(\"\"),[k,O]=(0,n.useState)(0),{handleAdd:S,handleClone:N,handleDelete:E}=D({refetch:m});(0,n.useEffect)(()=>{(0,l.isNil)(null==t?void 0:t.items)||(x(t.items),j(t.items),O(e=>e+1))},[t]),(0,n.useEffect)(()=>{\"\"===H?j(y):j(p(y,H))},[H,y]);let{t:I}=(0,s.useTranslation)(),{styles:A}=v(),B=s.container.get(o.s[\"DataHub/DynamicTypes/Adapter/Registry\"]),U=e=>(0,l.isNil)(e)?[]:e.filter(e=>{var a;return!0===e.allowChildren||(a=e.adapter,!(0,l.isUndefined)(a)&&B.hasDynamicType(a))}).sort((e,a)=>e.text.localeCompare(a.text,void 0,{sensitivity:\"base\"})).map(e=>({key:(0,l.isUndefined)(e.id)?\"\":String(e.id),title:e.text,icon:(e=>{if(!0===e.allowChildren)return(0,i.jsx)(r.Icon,{value:\"folder\"});let a=e.adapter;if((0,l.isUndefined)(a))return;let t=B.getDynamicType(a,!1);return(0,l.isUndefined)(t)?void 0:(0,i.jsx)(r.Icon,{...t.getIcon()})})(e),children:(0,l.isUndefined)(e.children)?void 0:U(e.children),isLeaf:e.leaf,actions:(e=>{if(!0===e.allowChildren)return[];let a=[{key:\"clone\",icon:\"copy-03\"},{key:\"export\",icon:\"export\"}];return e.writable&&a.push({key:\"delete\",icon:\"trash\"}),a})(e),allowDrag:!1,allowDrop:!1})),F=(0,n.useMemo)(()=>U(T),[T]);return(0,i.jsx)(r.ContentLayout,{renderToolbar:(0,i.jsx)(h,{handleOpenConfig:a,isFetching:c,onAdd:e=>{S(e,a)},onRefresh:m}),children:(0,i.jsxs)(r.Content,{loading:d,padded:!0,children:[(0,i.jsx)(r.SearchInput,{onChange:e=>{w(e.target.value)},placeholder:I(\"search\"),withoutAddon:!0}),(0,i.jsx)(r.Content,{loading:c,none:0===T.length,children:(0,i.jsx)(r.TreeElement,{className:A.treeContainer,defaultExpandedKeys:b,onActionsClick:(e,t)=>{switch(t){case\"clone\":let i;i=u(e,y),(0,l.isNil)(i)||N(i,a);break;case\"export\":let n;n=u(e,y),(0,l.isNil)(n)||(window.location.href=(0,C.W)(n.text));break;case\"delete\":let r;r=u(e,y),(0,l.isNil)(r)||E(r)}},onExpand:e=>{g(e)},onSelected:e=>{var t;let i;i=u(t=String(e),y),(0,l.isNil)(i)||(!0===i.allowChildren?!(0,l.isNil)(b)&&b.includes(t)?g(b.filter(e=>e!==t)):g([...b,t]):a(i))},treeData:F},`config-tree-${k}`)})]})})},H=e=>{let{config:a,onDelete:t,modifiedConfigs:r,setModifiedConfigs:d,isActive:u}=e,c=s.container.get(o.s[\"DataHub/DynamicTypes/Adapter/Registry\"]),p=(0,n.useCallback)(e=>{d(t=>{let i=t.includes(a.id);return e&&!i?[...t,a.id]:!e&&i?t.filter(e=>e!==a.id):t})},[a.id,d]),m=a.adapter;if((0,l.isUndefined)(m))return(0,i.jsx)(\"div\",{children:\"Unknown adapter type\"});try{let e=c.getDynamicType(m,!1);if((0,l.isNil)(e))return(0,i.jsxs)(\"div\",{children:[\"Adapter not found: \",m]});return e.renderDetailView({configName:a.text,configId:a.id,isActive:u,hasStudioColumnConfig:a.studioColumnConfig,onChange:p,onDelete:t})}catch(e){return console.error(\"Error rendering form:\",e),(0,i.jsx)(\"div\",{children:\"Error rendering adapter form\"})}},w=(0,T.rU)(e=>{let{css:a,token:t}=e;return{tabsContainer:a`\n      height: 100%;\n\n      .ant-tabs-content-holder {\n        flex: 1;\n        min-height: 0;\n        overflow: hidden;\n      }\n\n      .ant-tabs-content,\n      .ant-tabs-tabpane {\n        height: 100%;\n      }\n    `,tabs:a`\n      .ant-tabs-tab {\n        padding: ${t.paddingSM}px ${t.paddingXXS}px !important;\n      }\n    `}}),k=e=>{let{config:a}=e,t=s.container.get(o.s[\"DataHub/DynamicTypes/Adapter/Registry\"]),n=a.adapter;if((0,l.isUndefined)(n))return null;let d=t.getDynamicType(n,!1);return(0,l.isUndefined)(d)?null:(0,i.jsx)(r.Icon,{...d.getIcon()})},O=e=>{let{openedConfigs:a,activeTabKey:t,configurationsData:s,onChangeTab:o,onCloseTab:d,modifiedConfigs:u,setModifiedConfigs:c}=e,{styles:p}=w(),{refetch:m}=f(),{handleDelete:h}=D({refetch:m}),b=(0,n.useCallback)(e=>{let t=a.find(a=>a.id===e);(0,l.isNil)(t)||h(t,()=>{d(e)})},[a,h,d]),g=(0,n.useMemo)(()=>{let e=a=>{let t=new Set;return a.forEach(a=>{t.add(a.id),(0,l.isNil)(a.children)||e(a.children).forEach(e=>t.add(e))}),t},n=(0,l.isNil)(null==s?void 0:s.items)?new Set:e(s.items);return a.filter(e=>!(0,l.isNil)(n)&&n.has(e.id)).map(e=>({key:e.id,label:`${e.text} ${u.includes(e.id)?\"*\":\"\"}`,icon:(0,i.jsx)(k,{config:e}),children:(0,i.jsx)(H,{config:e,isActive:t===e.id,modifiedConfigs:u,onDelete:()=>{b(e.id)},setModifiedConfigs:c})}))},[s,a,u,c,t,b]);return(0,l.isUndefined)(t)?(0,i.jsx)(r.Content,{none:!0}):(0,i.jsx)(r.Tabs,{activeKey:t,className:p.tabs,hasStickyHeader:!0,items:g,onChange:o,onClose:d,rootClassName:p.tabsContainer})},S=()=>{let{data:e,isLoading:a,isFetching:t,refetch:l}=(0,y.TM)(),{openedConfigs:s,activeTabKey:o,handleOpenConfig:d,handleCloseTab:u,handleChangeTab:c}=(()=>{let[e,a]=(0,n.useState)([]),[t,i]=(0,n.useState)(void 0),r=(0,n.useCallback)(t=>{e.some(e=>e.id===t.id)||a(e=>[...e,t]),i(t.id)},[e]),l=(0,n.useCallback)(e=>{a(a=>{let n=a.findIndex(a=>(null==a?void 0:a.id)===e),r=a.filter(a=>a.id!==e);if(e===t){let e=a[n-1],t=a[n+1];i((null==e?void 0:e.id)??(null==t?void 0:t.id))}return r})},[t]);return{openedConfigs:e,activeTabKey:t,handleOpenConfig:r,handleCloseTab:l,handleChangeTab:(0,n.useCallback)(e=>{i(e)},[])}})(),[p,m]=(0,n.useState)([]),[h,b]=(0,n.useState)([]);return(0,i.jsx)(g,{value:{configurationsData:e,isLoading:a,isFetching:t,refetch:l,expandedKeys:p,setExpandedKeys:m},children:(0,i.jsx)(r.ConfigLayout,{leftItem:{children:(0,i.jsx)(j,{handleOpenConfig:d})},rightItem:{children:(0,i.jsx)(O,{activeTabKey:o,configurationsData:e,modifiedConfigs:h,onChangeTab:c,onCloseTab:u,openedConfigs:s,setModifiedConfigs:b})}})})}},5667(e,a,t){t.d(a,{E:()=>r});var i=t(1635),n=t(4781);class r{getNameTranslationKey(){return`data-hub.adapter.${this.id}`}}r=(0,i.Cg)([(0,n.injectable)()],r)},8576(e,a,t){t.d(a,{f:()=>l});var i=t(1635),n=t(4781),r=t(3842);class l extends r.DynamicTypeRegistryAbstract{}l=(0,i.Cg)([(0,n.injectable)()],l)},9428(e,a,t){t.d(a,{W:()=>n});var i=t(1436);let n=e=>`${(0,i.getPrefix)()}/bundle/data-hub/config/${e}/export`},9788(e,a,t){t.d(a,{f:()=>r});var i=t(4848);t(2812);let n=(0,t(5840).rU)(e=>{let{token:a,css:t}=e;return{panel:t`\n      position: absolute;\n      z-index: ${a.zIndexPopupBase};\n      min-width: 400px;\n      background-color: ${a.colorBgContainer};\n      padding: ${a.padding}px;\n      box-shadow: ${a.boxShadowSecondary};\n      border-radius: ${a.borderRadius}px;\n    `}}),r=e=>{let{children:a}=e,{styles:t}=n();return(0,i.jsx)(\"div\",{className:t.panel,children:a})}},970(e,a,t){t.d(a,{a:()=>l});var i=t(4848);t(2812);var n=t(2696),r=t(4781);let l=function(){let{adapterTypeLabel:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{t:a}=(0,r.useTranslation)(),t=e??a(\"data-hub.adapter.graphql\");return(0,i.jsxs)(n.FormKit.Panel,{contentPadding:\"extra-small\",children:[(0,i.jsx)(n.Form.Item,{name:\"active\",valuePropName:\"checked\",children:(0,i.jsx)(n.Switch,{labelRight:a(\"data-hub.config.active\")})}),(0,i.jsx)(n.Form.Item,{label:a(\"data-hub.config.type\"),children:(0,i.jsx)(n.Input,{disabled:!0,value:t})}),(0,i.jsx)(n.Form.Item,{label:a(\"data-hub.config.name\"),name:\"name\",children:(0,i.jsx)(n.Input,{disabled:!0})}),(0,i.jsx)(n.Form.Item,{label:a(\"data-hub.config.description\"),name:\"description\",children:(0,i.jsx)(n.TextArea,{rows:4})}),(0,i.jsx)(n.Form.Item,{label:a(\"data-hub.config.group\"),name:\"group\",children:(0,i.jsx)(n.Input,{})})]})}},6427(e,a,t){t.d(a,{K:()=>h});var i=t(4848),n=t(2812),r=t(2696),l=t(4781),s=t(3888),o=t(2543),d=t(9788);let{useBundleDataHubUsersCollectionQuery:u}=t(1436).api.enhanceEndpoints({addTagTypes:[\"Bundle Data Hub\"]}).injectEndpoints({endpoints:e=>({bundleDataHubUsersCollection:e.query({query:e=>({url:\"/pimcore-studio/api/bundle/data-hub/users\",params:{type:e.type}}),providesTags:[\"Bundle Data Hub\"]})}),overrideExisting:!1}),c=e=>{let{type:a,value:t=[],onChange:s}=e,{t:c}=(0,l.useTranslation)(),[p,m]=(0,n.useState)(!1),[h,b]=(0,n.useState)([]),g=\"roles\"===a,{data:f}=u({type:\"role\"},{skip:!g,refetchOnMountOrArgChange:!0}),{data:y}=u({type:\"user\"},{skip:g,refetchOnMountOrArgChange:!0}),x=g?null==f?void 0:f.items:null==y?void 0:y.items,D=(0,n.useMemo)(()=>t.map(e=>e.name),[t]),C=(0,n.useMemo)(()=>(null==x?void 0:x.filter(e=>{let a=e.text;return!D.includes(a)}).map(e=>({value:e.id,label:(0,i.jsxs)(r.Flex,{align:\"center\",gap:\"mini\",children:[(0,i.jsx)(r.Icon,{value:g?\"shield\":\"user\"}),e.text]}),searchValue:e.text})))??[],[x,D,g]),T=()=>{b([]),m(!1)},v=()=>{if(h.length>0){let e=h.map(e=>(e=>{let a=null==x?void 0:x.find(a=>a.id===e);if((0,o.isNil)(a))return;let i=t.find(e=>e.name===a.text);if((0,o.isNil)(i))return{id:a.id,name:a.text,read:!0,update:!1,delete:!1}})(e)).filter(e=>!(0,o.isNil)(e));!(0,o.isNil)(s)&&e.length>0&&s([...t,...e])}b([]),m(!1)},j=(0,n.useMemo)(()=>({key:a,id:a,title:(0,i.jsx)(i.Fragment,{children:c(g?\"data-hub.permissions.role-permissions\":\"data-hub.permissions.user-permissions\")}),info:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.IconTextButton,{icon:{value:\"plus-circle\"},onClick:e=>{e.stopPropagation(),b([]),m(!0)},children:c(\"add\")}),p&&(0,i.jsxs)(d.f,{children:[(0,i.jsx)(r.Select,{listHeight:150,mode:\"multiple\",onChange:e=>{b(e)},optionFilterProp:\"searchValue\",options:C,placeholder:c(g?\"data-hub.permissions.role\":\"data-hub.permissions.user\"),placement:\"topLeft\",showSearch:!0,style:{width:\"400px\"},value:h}),(0,i.jsxs)(r.Flex,{gap:\"small\",justify:\"flex-end\",style:{marginTop:\"12px\"},children:[(0,i.jsx)(r.Button,{onClick:T,type:\"default\",children:c(\"button.cancel\")}),(0,i.jsx)(r.Button,{onClick:v,type:\"primary\",children:c(\"button.apply\")})]})]})]}),children:(0,i.jsx)(r.OperationalGrid.Grid,{})}),[a,p,C,h]);return(0,i.jsx)(r.Accordion,{activeKey:a,bordered:!0,collapsible:\"icon\",items:[j],size:\"small\",table:!0})},p=e=>{let{type:a,value:t=[],onChange:d,isWriteable:u=!0}=e,{t:p}=(0,l.useTranslation)(),m=\"roles\"===a?\"role\":\"user\",h=(0,n.useMemo)(()=>{let e=(0,s.FB)();return[e.accessor(\"name\",{header:\"role\"===m?p(\"data-hub.permissions.role\"):p(\"data-hub.permissions.user\"),size:300,meta:{editable:!1,autoWidth:!0}}),e.accessor(\"read\",{header:p(\"data-hub.permissions.read\"),size:80,meta:{type:\"checkbox\",editable:u,config:{align:\"center\",disabled:!u}}}),e.accessor(\"update\",{header:p(\"data-hub.permissions.update\"),size:80,meta:{type:\"checkbox\",editable:u,config:{align:\"center\",disabled:!u}}}),e.accessor(\"delete\",{header:p(\"data-hub.permissions.delete\"),size:80,meta:{type:\"checkbox\",editable:u,config:{align:\"center\",disabled:!u}}}),{id:\"actions\",header:\"\",size:60,cell:e=>(0,i.jsx)(r.Flex,{align:\"center\",justify:\"center\",children:(0,i.jsx)(r.IconButton,{icon:{value:\"trash\"},onClick:()=>{let a=[...t];a.splice(e.row.index,1),(0,o.isNil)(d)||d(a)},type:\"link\"})}),enableResizing:!1,enableSorting:!1}]},[m,p,t,d,u]);return(0,i.jsx)(r.OperationalGrid,{autoWidth:!0,columns:h,onChange:d,value:t,children:(0,i.jsx)(r.OperationalGrid.Operations,{children:()=>(0,i.jsx)(c,{onChange:d,type:a,value:t})})})};var m=t(7565);let h=e=>{let{isWriteable:a=!0}=e;return(0,i.jsx)(r.FormKit.Panel,{contentPadding:\"extra-small\",children:(0,i.jsx)(m.Y,{children:(0,i.jsxs)(r.Flex,{gap:\"small\",vertical:!0,children:[(0,i.jsx)(r.Form.Item,{name:[\"permissions\",\"roles\"],noStyle:!0,children:(0,i.jsx)(p,{isWriteable:a,type:\"roles\"})}),(0,i.jsx)(r.Form.Item,{name:[\"permissions\",\"users\"],noStyle:!0,children:(0,i.jsx)(p,{isWriteable:a,type:\"users\"})})]})})})}}}]);"
  },
  {
    "path": "src/Resources/public/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/async/696.3b1d6da3.js.LICENSE.txt",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */"
  },
  {
    "path": "src/Resources/public/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/async/840.4693a4bb.js",
    "content": "/*! For license information please see 840.4693a4bb.js.LICENSE.txt */\n(self[\"chunk_pimcore_datahub_bundle \"]=self[\"chunk_pimcore_datahub_bundle \"]||[]).push([[\"840\"],{1463(e,t,n){\"use strict\";n.d(t,{uy:()=>s,UA:()=>w,z1:()=>y,cM:()=>l});var r=n(8250),o=[{index:7,amount:15},{index:6,amount:25},{index:5,amount:30},{index:5,amount:45},{index:5,amount:65},{index:5,amount:85},{index:4,amount:90},{index:3,amount:95},{index:2,amount:97},{index:1,amount:98}];function i(e,t,n){var r;return(r=Math.round(e.h)>=60&&240>=Math.round(e.h)?n?Math.round(e.h)-2*t:Math.round(e.h)+2*t:n?Math.round(e.h)+2*t:Math.round(e.h)-2*t)<0?r+=360:r>=360&&(r-=360),r}function a(e,t,n){var r;return 0===e.h&&0===e.s?e.s:((r=n?e.s-.16*t:4===t?e.s+.16:e.s+.05*t)>1&&(r=1),n&&5===t&&r>.1&&(r=.1),r<.06&&(r=.06),Math.round(100*r)/100)}function c(e,t,n){return Math.round(100*Math.max(0,Math.min(1,n?e.v+.05*t:e.v-.15*t)))/100}function l(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=[],l=new r.Y(e),s=l.toHsv(),u=5;u>0;u-=1){var f=new r.Y({h:i(s,u,!0),s:a(s,u,!0),v:c(s,u,!0)});n.push(f)}n.push(l);for(var d=1;d<=4;d+=1){var h=new r.Y({h:i(s,d),s:a(s,d),v:c(s,d)});n.push(h)}return\"dark\"===t.theme?o.map(function(e){var o=e.index,i=e.amount;return new r.Y(t.backgroundColor||\"#141414\").mix(n[o],i).toHexString()}):n.map(function(e){return e.toHexString()})}var s={red:\"#F5222D\",volcano:\"#FA541C\",orange:\"#FA8C16\",gold:\"#FAAD14\",yellow:\"#FADB14\",lime:\"#A0D911\",green:\"#52C41A\",cyan:\"#13C2C2\",blue:\"#1677FF\",geekblue:\"#2F54EB\",purple:\"#722ED1\",magenta:\"#EB2F96\",grey:\"#666666\"},u=[\"#fff1f0\",\"#ffccc7\",\"#ffa39e\",\"#ff7875\",\"#ff4d4f\",\"#f5222d\",\"#cf1322\",\"#a8071a\",\"#820014\",\"#5c0011\"];u.primary=u[5];var f=[\"#fff2e8\",\"#ffd8bf\",\"#ffbb96\",\"#ff9c6e\",\"#ff7a45\",\"#fa541c\",\"#d4380d\",\"#ad2102\",\"#871400\",\"#610b00\"];f.primary=f[5];var d=[\"#fff7e6\",\"#ffe7ba\",\"#ffd591\",\"#ffc069\",\"#ffa940\",\"#fa8c16\",\"#d46b08\",\"#ad4e00\",\"#873800\",\"#612500\"];d.primary=d[5];var h=[\"#fffbe6\",\"#fff1b8\",\"#ffe58f\",\"#ffd666\",\"#ffc53d\",\"#faad14\",\"#d48806\",\"#ad6800\",\"#874d00\",\"#613400\"];h.primary=h[5];var p=[\"#feffe6\",\"#ffffb8\",\"#fffb8f\",\"#fff566\",\"#ffec3d\",\"#fadb14\",\"#d4b106\",\"#ad8b00\",\"#876800\",\"#614700\"];p.primary=p[5];var g=[\"#fcffe6\",\"#f4ffb8\",\"#eaff8f\",\"#d3f261\",\"#bae637\",\"#a0d911\",\"#7cb305\",\"#5b8c00\",\"#3f6600\",\"#254000\"];g.primary=g[5];var v=[\"#f6ffed\",\"#d9f7be\",\"#b7eb8f\",\"#95de64\",\"#73d13d\",\"#52c41a\",\"#389e0d\",\"#237804\",\"#135200\",\"#092b00\"];v.primary=v[5];var m=[\"#e6fffb\",\"#b5f5ec\",\"#87e8de\",\"#5cdbd3\",\"#36cfc9\",\"#13c2c2\",\"#08979c\",\"#006d75\",\"#00474f\",\"#002329\"];m.primary=m[5];var y=[\"#e6f4ff\",\"#bae0ff\",\"#91caff\",\"#69b1ff\",\"#4096ff\",\"#1677ff\",\"#0958d9\",\"#003eb3\",\"#002c8c\",\"#001d66\"];y.primary=y[5];var b=[\"#f0f5ff\",\"#d6e4ff\",\"#adc6ff\",\"#85a5ff\",\"#597ef7\",\"#2f54eb\",\"#1d39c4\",\"#10239e\",\"#061178\",\"#030852\"];b.primary=b[5];var A=[\"#f9f0ff\",\"#efdbff\",\"#d3adf7\",\"#b37feb\",\"#9254de\",\"#722ed1\",\"#531dab\",\"#391085\",\"#22075e\",\"#120338\"];A.primary=A[5];var x=[\"#fff0f6\",\"#ffd6e7\",\"#ffadd2\",\"#ff85c0\",\"#f759ab\",\"#eb2f96\",\"#c41d7f\",\"#9e1068\",\"#780650\",\"#520339\"];x.primary=x[5];var C=[\"#a6a6a6\",\"#999999\",\"#8c8c8c\",\"#808080\",\"#737373\",\"#666666\",\"#404040\",\"#1a1a1a\",\"#000000\",\"#000000\"];C.primary=C[5];var w={red:u,volcano:f,orange:d,gold:h,yellow:p,lime:g,green:v,cyan:m,blue:y,geekblue:b,purple:A,magenta:x,grey:C},k=[\"#2a1215\",\"#431418\",\"#58181c\",\"#791a1f\",\"#a61d24\",\"#d32029\",\"#e84749\",\"#f37370\",\"#f89f9a\",\"#fac8c3\"];k.primary=k[5];var S=[\"#2b1611\",\"#441d12\",\"#592716\",\"#7c3118\",\"#aa3e19\",\"#d84a1b\",\"#e87040\",\"#f3956a\",\"#f8b692\",\"#fad4bc\"];S.primary=S[5];var E=[\"#2b1d11\",\"#442a11\",\"#593815\",\"#7c4a15\",\"#aa6215\",\"#d87a16\",\"#e89a3c\",\"#f3b765\",\"#f8cf8d\",\"#fae3b7\"];E.primary=E[5];var O=[\"#2b2111\",\"#443111\",\"#594214\",\"#7c5914\",\"#aa7714\",\"#d89614\",\"#e8b339\",\"#f3cc62\",\"#f8df8b\",\"#faedb5\"];O.primary=O[5];var _=[\"#2b2611\",\"#443b11\",\"#595014\",\"#7c6e14\",\"#aa9514\",\"#d8bd14\",\"#e8d639\",\"#f3ea62\",\"#f8f48b\",\"#fafab5\"];_.primary=_[5];var $=[\"#1f2611\",\"#2e3c10\",\"#3e4f13\",\"#536d13\",\"#6f9412\",\"#8bbb11\",\"#a9d134\",\"#c9e75d\",\"#e4f88b\",\"#f0fab5\"];$.primary=$[5];var j=[\"#162312\",\"#1d3712\",\"#274916\",\"#306317\",\"#3c8618\",\"#49aa19\",\"#6abe39\",\"#8fd460\",\"#b2e58b\",\"#d5f2bb\"];j.primary=j[5];var M=[\"#112123\",\"#113536\",\"#144848\",\"#146262\",\"#138585\",\"#13a8a8\",\"#33bcb7\",\"#58d1c9\",\"#84e2d8\",\"#b2f1e8\"];M.primary=M[5];var P=[\"#111a2c\",\"#112545\",\"#15325b\",\"#15417e\",\"#1554ad\",\"#1668dc\",\"#3c89e8\",\"#65a9f3\",\"#8dc5f8\",\"#b7dcfa\"];P.primary=P[5];var F=[\"#131629\",\"#161d40\",\"#1c2755\",\"#203175\",\"#263ea0\",\"#2b4acb\",\"#5273e0\",\"#7f9ef3\",\"#a8c1f8\",\"#d2e0fa\"];F.primary=F[5];var T=[\"#1a1325\",\"#24163a\",\"#301c4d\",\"#3e2069\",\"#51258f\",\"#642ab5\",\"#854eca\",\"#ab7ae0\",\"#cda8f0\",\"#ebd7fa\"];T.primary=T[5];var I=[\"#291321\",\"#40162f\",\"#551c3b\",\"#75204f\",\"#a02669\",\"#cb2b83\",\"#e0529c\",\"#f37fb7\",\"#f8a8cc\",\"#fad2e3\"];I.primary=I[5];var N=[\"#151515\",\"#1f1f1f\",\"#2d2d2d\",\"#393939\",\"#494949\",\"#5a5a5a\",\"#6a6a6a\",\"#7b7b7b\",\"#888888\",\"#969696\"];N.primary=N[5]},224(e,t,n){\"use strict\";n.d(t,{oX:()=>E,L_:()=>F});var r=n(2284),o=n(7046),i=n(4467),a=n(9379),c=n(2812),l=n.n(c),s=n(6191),u=n(3029),f=n(2901),d=n(9417),h=n(5501),p=n(6903),g=(0,f.A)(function e(){(0,u.A)(this,e)}),v=\"CALC_UNIT\",m=RegExp(v,\"g\");function y(e){return\"number\"==typeof e?\"\".concat(e).concat(v):e}var b=function(e){(0,h.A)(n,e);var t=(0,p.A)(n);function n(e,o){(0,u.A)(this,n),a=t.call(this),(0,i.A)((0,d.A)(a),\"result\",\"\"),(0,i.A)((0,d.A)(a),\"unitlessCssVar\",void 0),(0,i.A)((0,d.A)(a),\"lowPriority\",void 0);var a,c=(0,r.A)(e);return a.unitlessCssVar=o,e instanceof n?a.result=\"(\".concat(e.result,\")\"):\"number\"===c?a.result=y(e):\"string\"===c&&(a.result=e),a}return(0,f.A)(n,[{key:\"add\",value:function(e){return e instanceof n?this.result=\"\".concat(this.result,\" + \").concat(e.getResult()):(\"number\"==typeof e||\"string\"==typeof e)&&(this.result=\"\".concat(this.result,\" + \").concat(y(e))),this.lowPriority=!0,this}},{key:\"sub\",value:function(e){return e instanceof n?this.result=\"\".concat(this.result,\" - \").concat(e.getResult()):(\"number\"==typeof e||\"string\"==typeof e)&&(this.result=\"\".concat(this.result,\" - \").concat(y(e))),this.lowPriority=!0,this}},{key:\"mul\",value:function(e){return this.lowPriority&&(this.result=\"(\".concat(this.result,\")\")),e instanceof n?this.result=\"\".concat(this.result,\" * \").concat(e.getResult(!0)):(\"number\"==typeof e||\"string\"==typeof e)&&(this.result=\"\".concat(this.result,\" * \").concat(e)),this.lowPriority=!1,this}},{key:\"div\",value:function(e){return this.lowPriority&&(this.result=\"(\".concat(this.result,\")\")),e instanceof n?this.result=\"\".concat(this.result,\" / \").concat(e.getResult(!0)):(\"number\"==typeof e||\"string\"==typeof e)&&(this.result=\"\".concat(this.result,\" / \").concat(e)),this.lowPriority=!1,this}},{key:\"getResult\",value:function(e){return this.lowPriority||e?\"(\".concat(this.result,\")\"):this.result}},{key:\"equal\",value:function(e){var t=this,n=(e||{}).unit,r=!0;return(\"boolean\"==typeof n?r=n:Array.from(this.unitlessCssVar).some(function(e){return t.result.includes(e)})&&(r=!1),this.result=this.result.replace(m,r?\"px\":\"\"),void 0!==this.lowPriority)?\"calc(\".concat(this.result,\")\"):this.result}}]),n}(g),A=function(e){(0,h.A)(n,e);var t=(0,p.A)(n);function n(e){var r;return(0,u.A)(this,n),r=t.call(this),(0,i.A)((0,d.A)(r),\"result\",0),e instanceof n?r.result=e.result:\"number\"==typeof e&&(r.result=e),r}return(0,f.A)(n,[{key:\"add\",value:function(e){return e instanceof n?this.result+=e.result:\"number\"==typeof e&&(this.result+=e),this}},{key:\"sub\",value:function(e){return e instanceof n?this.result-=e.result:\"number\"==typeof e&&(this.result-=e),this}},{key:\"mul\",value:function(e){return e instanceof n?this.result*=e.result:\"number\"==typeof e&&(this.result*=e),this}},{key:\"div\",value:function(e){return e instanceof n?this.result/=e.result:\"number\"==typeof e&&(this.result/=e),this}},{key:\"equal\",value:function(){return this.result}}]),n}(g);let x=function(e,t){var n=\"css\"===e?b:A;return function(e){return new n(e,t)}},C=function(e,t){return\"\".concat([t,e.replace(/([A-Z]+)([A-Z][a-z]+)/g,\"$1-$2\").replace(/([a-z])([A-Z])/g,\"$1-$2\")].filter(Boolean).join(\"-\"))};n(1470);let w=function(e,t,n,r){var i=(0,a.A)({},t[e]);null!=r&&r.deprecatedTokens&&r.deprecatedTokens.forEach(function(e){var t=(0,o.A)(e,2),n=t[0],r=t[1];(null!=i&&i[n]||null!=i&&i[r])&&(null!=i[r]||(i[r]=null==i?void 0:i[n]))});var c=(0,a.A)((0,a.A)({},n),i);return Object.keys(c).forEach(function(e){c[e]===t[e]&&delete c[e]}),c};var k=\"u\">typeof CSSINJS_STATISTIC,S=!0;function E(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];if(!k)return Object.assign.apply(Object,[{}].concat(t));S=!1;var o={};return t.forEach(function(e){\"object\"===(0,r.A)(e)&&Object.keys(e).forEach(function(t){Object.defineProperty(o,t,{configurable:!0,enumerable:!0,get:function(){return e[t]}})})}),S=!0,o}var O={};function _(){}let $=function(e){var t,n=e,r=_;return k&&\"u\">typeof Proxy&&(t=new Set,n=new Proxy(e,{get:function(e,n){if(S){var r;null==(r=t)||r.add(n)}return e[n]}}),r=function(e,n){var r;O[e]={global:Array.from(t),component:(0,a.A)((0,a.A)({},null==(r=O[e])?void 0:r.component),n)}}),{token:n,keys:t,flush:r}},j=function(e,t,n){if(\"function\"==typeof n){var r;return n(E(t,null!=(r=t[e])?r:{}))}return null!=n?n:{}};var M=new(function(){function e(){(0,u.A)(this,e),(0,i.A)(this,\"map\",new Map),(0,i.A)(this,\"objectIDMap\",new WeakMap),(0,i.A)(this,\"nextID\",0),(0,i.A)(this,\"lastAccessBeat\",new Map),(0,i.A)(this,\"accessBeat\",0)}return(0,f.A)(e,[{key:\"set\",value:function(e,t){this.clear();var n=this.getCompositeKey(e);this.map.set(n,t),this.lastAccessBeat.set(n,Date.now())}},{key:\"get\",value:function(e){var t=this.getCompositeKey(e),n=this.map.get(t);return this.lastAccessBeat.set(t,Date.now()),this.accessBeat+=1,n}},{key:\"getCompositeKey\",value:function(e){var t=this;return e.map(function(e){return e&&\"object\"===(0,r.A)(e)?\"obj_\".concat(t.getObjectID(e)):\"\".concat((0,r.A)(e),\"_\").concat(e)}).join(\"|\")}},{key:\"getObjectID\",value:function(e){if(this.objectIDMap.has(e))return this.objectIDMap.get(e);var t=this.nextID;return this.objectIDMap.set(e,t),this.nextID+=1,t}},{key:\"clear\",value:function(){var e=this;if(this.accessBeat>1e4){var t=Date.now();this.lastAccessBeat.forEach(function(n,r){t-n>6e5&&(e.map.delete(r),e.lastAccessBeat.delete(r))}),this.accessBeat=0}}}]),e}());let P=function(){return{}},F=function(e){var t=e.useCSP,n=void 0===t?P:t,c=e.useToken,u=e.usePrefix,f=e.getResetStyles,d=e.getCommonStyle,h=e.getCompUnitless;function p(t,i,h){var p=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},g=Array.isArray(t)?t:[t,t],v=(0,o.A)(g,1)[0],m=g.join(\"-\"),y=e.layer||{name:\"antd\"};return function(e){var t,o,g=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,b=c(),A=b.theme,k=b.realToken,S=b.hashId,O=b.token,_=b.cssVar,P=u(),F=P.rootPrefixCls,T=P.iconPrefixCls,I=n(),N=_?\"css\":\"js\",R=(t=function(){var e=new Set;return _&&Object.keys(p.unitless||{}).forEach(function(t){e.add((0,s.Ki)(t,_.prefix)),e.add((0,s.Ki)(t,C(v,_.prefix)))}),x(N,e)},o=[N,v,null==_?void 0:_.prefix],l().useMemo(function(){var e=M.get(o);if(e)return e;var n=t();return M.set(o,n),n},o)),z=\"js\"===N?{max:Math.max,min:Math.min}:{max:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return\"max(\".concat(t.map(function(e){return(0,s.zA)(e)}).join(\",\"),\")\")},min:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return\"min(\".concat(t.map(function(e){return(0,s.zA)(e)}).join(\",\"),\")\")}},L=z.max,H=z.min,B={theme:A,token:O,hashId:S,nonce:function(){return I.nonce},clientOnly:p.clientOnly,layer:y,order:p.order||-999};return\"function\"==typeof f&&(0,s.IV)((0,a.A)((0,a.A)({},B),{},{clientOnly:!1,path:[\"Shared\",F]}),function(){return f(O,{prefix:{rootPrefixCls:F,iconPrefixCls:T},csp:I})}),[(0,s.IV)((0,a.A)((0,a.A)({},B),{},{path:[m,e,T]}),function(){if(!1===p.injectStyle)return[];var t=$(O),n=t.token,o=t.flush,a=j(v,k,h),c=\".\".concat(e),l=w(v,k,a,{deprecatedTokens:p.deprecatedTokens});_&&a&&\"object\"===(0,r.A)(a)&&Object.keys(a).forEach(function(e){a[e]=\"var(\".concat((0,s.Ki)(e,C(v,_.prefix)),\")\")});var u=E(n,{componentCls:c,prefixCls:e,iconCls:\".\".concat(T),antCls:\".\".concat(F),calc:R,max:L,min:H},_?a:l),f=i(u,{hashId:S,prefixCls:e,rootPrefixCls:F,iconPrefixCls:T});o(v,l);var m=\"function\"==typeof d?d(u,e,g,p.resetFont):null;return[!1===p.resetStyle?null:m,f]}),S]}}return{genStyleHooks:function(e,t,n,r){var u,f,d,g,v,m,y,b,A,x=Array.isArray(e)?e[0]:e;function C(e){return\"\".concat(String(x)).concat(e.slice(0,1).toUpperCase()).concat(e.slice(1))}var k=(null==r?void 0:r.unitless)||{},S=\"function\"==typeof h?h(e):{},E=(0,a.A)((0,a.A)({},S),{},(0,i.A)({},C(\"zIndexPopup\"),!0));Object.keys(k).forEach(function(e){E[C(e)]=k[e]});var O=(0,a.A)((0,a.A)({},r),{},{unitless:E,prefixToken:C}),_=p(e,t,n,O),$=(u=x,f=n,g=(d=O).unitless,m=void 0===(v=d.injectStyle)||v,y=d.prefixToken,b=d.ignore,A=function(e){var t=e.rootCls,n=e.cssVar,r=void 0===n?{}:n,o=c().realToken;return(0,s.RC)({path:[u],prefix:r.prefix,key:r.key,unitless:g,ignore:b,token:o,scope:t},function(){var e=j(u,o,f),t=w(u,o,e,{deprecatedTokens:null==d?void 0:d.deprecatedTokens});return Object.keys(e).forEach(function(e){t[y(e)]=t[e],delete t[e]}),t}),null},function(e){var t=c().cssVar;return[function(n){return m&&t?l().createElement(l().Fragment,null,l().createElement(A,{rootCls:e,cssVar:t,component:u}),n):n},null==t?void 0:t.key]});return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,n=_(e,t),r=(0,o.A)(n,2)[1],i=$(t),a=(0,o.A)(i,2);return[a[0],r,a[1]]}},genSubStyleComponent:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=p(e,t,n,(0,a.A)({resetStyle:!1,order:-998},r));return function(e){var t=e.prefixCls,n=e.rootCls,r=void 0===n?t:n;return o(t,r),null}},genComponentStyleHook:p}}},6191(e,t,n){\"use strict\";n.d(t,{lO:()=>Q,hV:()=>Z,IV:()=>eN,Mo:()=>eL,zA:()=>L,N7:()=>k,an:()=>P,Ki:()=>B,RC:()=>ez});var r,o=n(4467),i=n(7046),a=n(3098),c=n(9379);let l=function(e){for(var t,n=0,r=0,o=e.length;o>=4;++r,o-=4)t=(65535&(t=255&e.charCodeAt(r)|(255&e.charCodeAt(++r))<<8|(255&e.charCodeAt(++r))<<16|(255&e.charCodeAt(++r))<<24))*0x5bd1e995+((t>>>16)*59797<<16),t^=t>>>24,n=(65535&t)*0x5bd1e995+((t>>>16)*59797<<16)^(65535&n)*0x5bd1e995+((n>>>16)*59797<<16);switch(o){case 3:n^=(255&e.charCodeAt(r+2))<<16;case 2:n^=(255&e.charCodeAt(r+1))<<8;case 1:n^=255&e.charCodeAt(r),n=(65535&n)*0x5bd1e995+((n>>>16)*59797<<16)}return n^=n>>>13,(((n=(65535&n)*0x5bd1e995+((n>>>16)*59797<<16))^n>>>15)>>>0).toString(36)};var s=n(5089),u=n(2812),f=n(1697),d=n(8104),h=n(3210),p=n(3029),g=n(2901);function v(e){return e.join(\"%\")}var m=function(){function e(t){(0,p.A)(this,e),(0,o.A)(this,\"instanceId\",void 0),(0,o.A)(this,\"cache\",new Map),(0,o.A)(this,\"extracted\",new Set),this.instanceId=t}return(0,g.A)(e,[{key:\"get\",value:function(e){return this.opGet(v(e))}},{key:\"opGet\",value:function(e){return this.cache.get(e)||null}},{key:\"update\",value:function(e,t){return this.opUpdate(v(e),t)}},{key:\"opUpdate\",value:function(e,t){var n=t(this.cache.get(e));null===n?this.cache.delete(e):this.cache.set(e,n)}}]),e}(),y=[\"children\"],b=\"data-token-hash\",A=\"data-css-hash\",x=\"__cssinjs_instance__\";function C(){var e=Math.random().toString(12).slice(2);if(\"u\">typeof document&&document.head&&document.body){var t=document.body.querySelectorAll(\"style[\".concat(A,\"]\"))||[],n=document.head.firstChild;Array.from(t).forEach(function(t){t[x]=t[x]||e,t[x]===e&&document.head.insertBefore(t,n)});var r={};Array.from(document.querySelectorAll(\"style[\".concat(A,\"]\"))).forEach(function(t){var n,o=t.getAttribute(A);r[o]?t[x]===e&&(null==(n=t.parentNode)||n.removeChild(t)):r[o]=!0})}return new m(e)}var w=u.createContext({hashPriority:\"low\",cache:C(),defaultCache:!0}),k=function(e){var t=e.children,n=(0,f.A)(e,y),r=u.useContext(w),o=(0,d.A)(function(){var e=(0,c.A)({},r);Object.keys(n).forEach(function(t){var r=n[t];void 0!==n[t]&&(e[t]=r)});var t=n.cache;return e.cache=e.cache||C(),e.defaultCache=!t&&r.defaultCache,e},[r,n],function(e,t){return!(0,h.A)(e[0],t[0],!0)||!(0,h.A)(e[1],t[1],!0)});return u.createElement(w.Provider,{value:o},t)},S=n(2284),E=n(998),O=function(){function e(){(0,p.A)(this,e),(0,o.A)(this,\"cache\",void 0),(0,o.A)(this,\"keys\",void 0),(0,o.A)(this,\"cacheCallTimes\",void 0),this.cache=new Map,this.keys=[],this.cacheCallTimes=0}return(0,g.A)(e,[{key:\"size\",value:function(){return this.keys.length}},{key:\"internalGet\",value:function(e){var t,n,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o={map:this.cache};return e.forEach(function(e){if(o){var t;o=null==(t=o)||null==(t=t.map)?void 0:t.get(e)}else o=void 0}),null!=(t=o)&&t.value&&r&&(o.value[1]=this.cacheCallTimes++),null==(n=o)?void 0:n.value}},{key:\"get\",value:function(e){var t;return null==(t=this.internalGet(e,!0))?void 0:t[0]}},{key:\"has\",value:function(e){return!!this.internalGet(e)}},{key:\"set\",value:function(t,n){var r=this;if(!this.has(t)){if(this.size()+1>e.MAX_CACHE_SIZE+e.MAX_CACHE_OFFSET){var o=this.keys.reduce(function(e,t){var n=(0,i.A)(e,2)[1];return r.internalGet(t)[1]<n?[t,r.internalGet(t)[1]]:e},[this.keys[0],this.cacheCallTimes]),a=(0,i.A)(o,1)[0];this.delete(a)}this.keys.push(t)}var c=this.cache;t.forEach(function(e,o){if(o===t.length-1)c.set(e,{value:[n,r.cacheCallTimes++]});else{var i=c.get(e);i?i.map||(i.map=new Map):c.set(e,{map:new Map}),c=c.get(e).map}})}},{key:\"deleteByPath\",value:function(e,t){var n,r=e.get(t[0]);if(1===t.length)return r.map?e.set(t[0],{map:r.map}):e.delete(t[0]),null==(n=r.value)?void 0:n[0];var o=this.deleteByPath(r.map,t.slice(1));return r.map&&0!==r.map.size||r.value||e.delete(t[0]),o}},{key:\"delete\",value:function(e){if(this.has(e))return this.keys=this.keys.filter(function(t){return!function(e,t){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}(t,e)}),this.deleteByPath(this.cache,e)}}]),e}();(0,o.A)(O,\"MAX_CACHE_SIZE\",20),(0,o.A)(O,\"MAX_CACHE_OFFSET\",5);var _=n(8210),$=0,j=function(){function e(t){(0,p.A)(this,e),(0,o.A)(this,\"derivatives\",void 0),(0,o.A)(this,\"id\",void 0),this.derivatives=Array.isArray(t)?t:[t],this.id=$,0===t.length&&(0,_.$e)(t.length>0,\"[Ant Design CSS-in-JS] Theme should have at least one derivative function.\"),$+=1}return(0,g.A)(e,[{key:\"getDerivativeToken\",value:function(e){return this.derivatives.reduce(function(t,n){return n(e,t)},void 0)}}]),e}(),M=new O;function P(e){var t=Array.isArray(e)?e:[e];return M.has(t)||M.set(t,new j(t)),M.get(t)}var F=new WeakMap,T={},I=new WeakMap;function N(e){var t=I.get(e)||\"\";return t||(Object.keys(e).forEach(function(n){var r=e[n];t+=n,r instanceof j?t+=r.id:r&&\"object\"===(0,S.A)(r)?t+=N(r):t+=r}),t=l(t),I.set(e,t)),t}function R(e,t){return l(\"\".concat(t,\"_\").concat(N(e)))}\"random-\".concat(Date.now(),\"-\").concat(Math.random()).replace(/\\./g,\"\");var z=(0,E.A)();function L(e){return\"number\"==typeof e?\"\".concat(e,\"px\"):e}function H(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(i)return e;var a=(0,c.A)((0,c.A)({},r),{},(0,o.A)((0,o.A)({},b,t),A,n)),l=Object.keys(a).map(function(e){var t=a[e];return t?\"\".concat(e,'=\"').concat(t,'\"'):null}).filter(function(e){return e}).join(\" \");return\"<style \".concat(l,\">\").concat(e,\"</style>\")}var B=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\";return\"--\".concat(t?\"\".concat(t,\"-\"):\"\").concat(e).replace(/([a-z0-9])([A-Z])/g,\"$1-$2\").replace(/([A-Z]+)([A-Z][a-z0-9]+)/g,\"$1-$2\").replace(/([a-z])([A-Z0-9])/g,\"$1-$2\").toLowerCase()},D=function(e,t,n){var r,o={},a={};return Object.entries(e).forEach(function(e){var t=(0,i.A)(e,2),r=t[0],c=t[1];if(null!=n&&null!=(l=n.preserve)&&l[r])a[r]=c;else if((\"string\"==typeof c||\"number\"==typeof c)&&!(null!=n&&null!=(s=n.ignore)&&s[r])){var l,s,u,f=B(r,null==n?void 0:n.prefix);o[f]=\"number\"!=typeof c||null!=n&&null!=(u=n.unitless)&&u[r]?String(c):\"\".concat(c,\"px\"),a[r]=\"var(\".concat(f,\")\")}}),[a,(r={scope:null==n?void 0:n.scope},Object.keys(o).length?\".\".concat(t).concat(null!=r&&r.scope?\".\".concat(r.scope):\"\",\"{\").concat(Object.entries(o).map(function(e){var t=(0,i.A)(e,2),n=t[0],r=t[1];return\"\".concat(n,\":\").concat(r,\";\")}).join(\"\"),\"}\"):\"\")]},W=n(981),V=(0,c.A)({},u).useInsertionEffect,q=V?function(e,t,n){return V(function(){return e(),t()},n)}:function(e,t,n){u.useMemo(e,n),(0,W.A)(function(){return t(!0)},n)},U=void 0!==(0,c.A)({},u).useInsertionEffect?function(e){var t=[],n=!1;return u.useEffect(function(){return n=!1,function(){n=!0,t.length&&t.forEach(function(e){return e()})}},e),function(e){n||t.push(e)}}:function(){return function(e){e()}};function G(e,t,n,r,o){var c=u.useContext(w).cache,l=v([e].concat((0,a.A)(t))),s=U([l]),f=function(e){c.opUpdate(l,function(t){var r=(0,i.A)(t||[void 0,void 0],2),o=r[0],a=[void 0===o?0:o,r[1]||n()];return e?e(a):a})};u.useMemo(function(){f()},[l]);var d=c.opGet(l)[1];return q(function(){null==o||o(d)},function(e){return f(function(t){var n=(0,i.A)(t,2),r=n[0],a=n[1];return e&&0===r&&(null==o||o(d)),[r+1,a]}),function(){c.opUpdate(l,function(t){var n=(0,i.A)(t||[],2),o=n[0],a=void 0===o?0:o,u=n[1];return 0==a-1?(s(function(){(e||!c.opGet(l))&&(null==r||r(u,!1))}),null):[a-1,u]})}},[l]),d}var X={},K=new Map,Q=function(e,t,n,r){var o=n.getDerivativeToken(e),i=(0,c.A)((0,c.A)({},o),t);return r&&(i=r(i)),i},Y=\"token\";function Z(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=(0,u.useContext)(w),o=r.cache.instanceId,f=r.container,d=n.salt,h=void 0===d?\"\":d,p=n.override,g=void 0===p?X:p,v=n.formatToken,m=n.getComputedToken,y=n.cssVar,C=function(e,t){for(var n=F,r=0;r<t.length;r+=1){var o=t[r];n.has(o)||n.set(o,new WeakMap),n=n.get(o)}return n.has(T)||n.set(T,e()),n.get(T)}(function(){return Object.assign.apply(Object,[{}].concat((0,a.A)(t)))},t),k=N(C),S=N(g),E=y?N(y):\"\";return G(Y,[h,e.id,k,S,E],function(){var t,n=m?m(C,g,e):Q(C,g,e,v),r=(0,c.A)({},n),o=\"\";if(y){var a=D(n,y.key,{prefix:y.prefix,ignore:y.ignore,unitless:y.unitless,preserve:y.preserve}),s=(0,i.A)(a,2);n=s[0],o=s[1]}var u=R(n,h);n._tokenKey=u,r._tokenKey=R(r,h);var f=null!=(t=null==y?void 0:y.key)?t:u;n._themeKey=f,K.set(f,(K.get(f)||0)+1);var d=\"\".concat(\"css\",\"-\").concat(l(u));return n._hashId=d,[n,d,r,o,(null==y?void 0:y.key)||\"\"]},function(e){var t,n;t=e[0]._themeKey,K.set(t,(K.get(t)||0)-1),n=new Set,K.forEach(function(e,t){e<=0&&n.add(t)}),K.size-n.size>0&&n.forEach(function(e){\"u\">typeof document&&document.querySelectorAll(\"style[\".concat(b,'=\"').concat(e,'\"]')).forEach(function(e){if(e[x]===o){var t;null==(t=e.parentNode)||t.removeChild(e)}}),K.delete(e)})},function(e){var t=(0,i.A)(e,4),n=t[0],r=t[3];if(y&&r){var a=(0,s.BD)(r,l(\"css-variables-\".concat(n._themeKey)),{mark:A,prepend:\"queue\",attachTo:f,priority:-999});a[x]=o,a.setAttribute(b,n._themeKey)}})}var J=n(8168);let ee={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1};var et=\"comm\",en=\"rule\",er=\"decl\",eo=Math.abs,ei=String.fromCharCode;function ea(e,t,n){return e.replace(t,n)}function ec(e,t){return 0|e.charCodeAt(t)}function el(e,t,n){return e.slice(t,n)}function es(e){return e.length}function eu(e,t){return t.push(e),e}function ef(e,t){for(var n=\"\",r=0;r<e.length;r++)n+=t(e[r],r,e,t)||\"\";return n}function ed(e,t,n,r){switch(e.type){case\"@layer\":if(e.children.length)break;case\"@import\":case\"@namespace\":case er:return e.return=e.return||e.value;case et:return\"\";case\"@keyframes\":return e.return=e.value+\"{\"+ef(e.children,r)+\"}\";case en:if(!es(e.value=e.props.join(\",\")))return\"\"}return es(n=ef(e.children,r))?e.return=e.value+\"{\"+n+\"}\":\"\"}var eh=1,ep=1,eg=0,ev=0,em=0,ey=\"\";function eb(e,t,n,r,o,i,a,c){return{value:e,root:t,parent:n,type:r,props:o,children:i,line:eh,column:ep,length:a,return:\"\",siblings:c}}function eA(){return em=ev<eg?ec(ey,ev++):0,ep++,10===em&&(ep=1,eh++),em}function ex(){return ec(ey,ev)}function eC(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function ew(e){var t,n;return(t=ev-1,n=function e(t){for(;eA();)switch(em){case t:return ev;case 34:case 39:34!==t&&39!==t&&e(em);break;case 40:41===t&&e(t);break;case 92:eA()}return ev}(91===e?e+2:40===e?e+1:e),el(ey,t,n)).trim()}function ek(e,t,n,r,o,i,a,c,l,s,u,f){for(var d=o-1,h=0===o?i:[\"\"],p=h.length,g=0,v=0,m=0;g<r;++g)for(var y=0,b=el(e,d+1,d=eo(v=a[g])),A=e;y<p;++y)(A=(v>0?h[y]+\" \"+b:ea(b,/&\\f/g,h[y])).trim())&&(l[m++]=A);return eb(e,t,n,0===o?en:c,l,s,u,f)}function eS(e,t,n,r,o){return eb(e,t,n,er,el(e,0,r),el(e,r+1,-1),r,o)}var eE=\"data-ant-cssinjs-cache-path\",eO=\"_FILE_STYLE__\",e_=!0,e$=\"_multi_value_\";function ej(e){var t,n,r;return ef((r=function e(t,n,r,o,i,a,c,l,s){for(var u,f,d,h,p,g,v=0,m=0,y=c,b=0,A=0,x=0,C=1,w=1,k=1,S=0,E=\"\",O=i,_=a,$=o,j=E;w;)switch(x=S,S=eA()){case 40:if(108!=x&&58==ec(j,y-1)){-1!=(p=j+=ea(ew(S),\"&\",\"&\\f\"),g=eo(v?l[v-1]:0),p.indexOf(\"&\\f\",g))&&(k=-1);break}case 34:case 39:case 91:j+=ew(S);break;case 9:case 10:case 13:case 32:j+=function(e){for(;em=ex();)if(em<33)eA();else break;return eC(e)>2||eC(em)>3?\"\":\" \"}(x);break;case 92:j+=function(e,t){for(var n;--t&&eA()&&!(em<48)&&!(em>102)&&(!(em>57)||!(em<65))&&(!(em>70)||!(em<97)););return n=ev+(t<6&&32==ex()&&32==eA()),el(ey,e,n)}(ev-1,7);continue;case 47:switch(ex()){case 42:case 47:eu((u=function(e,t){for(;eA();)if(e+em===57)break;else if(e+em===84&&47===ex())break;return\"/*\"+el(ey,t,ev-1)+\"*\"+ei(47===e?e:eA())}(eA(),ev),f=n,d=r,h=s,eb(u,f,d,et,ei(em),el(u,2,-2),0,h)),s),(5==eC(x||1)||5==eC(ex()||1))&&es(j)&&\" \"!==el(j,-1,void 0)&&(j+=\" \");break;default:j+=\"/\"}break;case 123*C:l[v++]=es(j)*k;case 125*C:case 59:case 0:switch(S){case 0:case 125:w=0;case 59+m:-1==k&&(j=ea(j,/\\f/g,\"\")),A>0&&(es(j)-y||0===C&&47===x)&&eu(A>32?eS(j+\";\",o,r,y-1,s):eS(ea(j,\" \",\"\")+\";\",o,r,y-2,s),s);break;case 59:j+=\";\";default:if(eu($=ek(j,n,r,v,m,i,l,E,O=[],_=[],y,a),a),123===S)if(0===m)e(j,n,$,$,O,a,y,l,_);else{switch(b){case 99:if(110===ec(j,3))break;case 108:if(97===ec(j,2))break;default:m=0;case 100:case 109:case 115:}m?e(t,$,$,o&&eu(ek(t,$,$,0,0,i,l,E,i,O=[],y,_),_),i,_,y,l,o?O:_):e(j,$,$,$,[\"\"],_,0,l,_)}}v=m=A=0,C=k=1,E=j=\"\",y=c;break;case 58:y=1+es(j),A=x;default:if(C<1){if(123==S)--C;else if(125==S&&0==C++&&125==(em=ev>0?ec(ey,--ev):0,ep--,10===em&&(ep=1,eh--),em))continue}switch(j+=ei(S),S*C){case 38:k=m>0?1:(j+=\"\\f\",-1);break;case 44:l[v++]=(es(j)-1)*k,k=1;break;case 64:45===ex()&&(j+=ew(eA())),b=ex(),m=y=es(E=j+=function(e){for(;!eC(ex());)eA();return el(ey,e,ev)}(ev)),S++;break;case 45:45===x&&2==es(j)&&(C=0)}}return a}(\"\",null,null,null,[\"\"],(n=t=e,eh=ep=1,eg=es(ey=n),ev=0,t=[]),0,[0],t),ey=\"\",r),ed).replace(/\\{%%%\\:[^;];}/g,\";\")}function eM(e,t,n){if(!t)return e;var r=\".\".concat(t),o=\"low\"===n?\":where(\".concat(r,\")\"):r;return e.split(\",\").map(function(e){var t,n=e.trim().split(/\\s+/),r=n[0]||\"\",i=(null==(t=r.match(/^\\w+/))?void 0:t[0])||\"\";return[r=\"\".concat(i).concat(o).concat(r.slice(i.length))].concat((0,a.A)(n.slice(1))).join(\" \")}).join(\",\")}var eP=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{root:!0,parentSelectors:[]},o=r.root,l=r.injectHash,s=r.parentSelectors,u=n.hashId,f=n.layer,d=(n.path,n.hashPriority),h=n.transformers,p=void 0===h?[]:h,g=(n.linters,\"\"),v={};function m(t){var r=t.getName(u);if(!v[r]){var o=e(t.style,n,{root:!1,parentSelectors:s}),a=(0,i.A)(o,1)[0];v[r]=\"@keyframes \".concat(t.getName(u)).concat(a)}}return(function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return t.forEach(function(t){Array.isArray(t)?e(t,n):t&&n.push(t)}),n})(Array.isArray(t)?t:[t]).forEach(function(t){var r=\"string\"!=typeof t||o?t:{};if(\"string\"==typeof r)g+=\"\".concat(r,\"\\n\");else if(r._keyframe)m(r);else{var f=p.reduce(function(e,t){var n;return(null==t||null==(n=t.visit)?void 0:n.call(t,e))||e},r);Object.keys(f).forEach(function(t){var r=f[t];if(\"object\"!==(0,S.A)(r)||!r||\"animationName\"===t&&r._keyframe||\"object\"===(0,S.A)(r)&&r&&(\"_skip_check_\"in r||e$ in r)){function h(e,t){var n=e.replace(/[A-Z]/g,function(e){return\"-\".concat(e.toLowerCase())}),r=t;ee[e]||\"number\"!=typeof r||0===r||(r=\"\".concat(r,\"px\")),\"animationName\"===e&&null!=t&&t._keyframe&&(m(t),r=t.getName(u)),g+=\"\".concat(n,\":\").concat(r,\";\")}var p,y=null!=(p=null==r?void 0:r.value)?p:r;\"object\"===(0,S.A)(r)&&null!=r&&r[e$]&&Array.isArray(y)?y.forEach(function(e){h(t,e)}):h(t,y)}else{var b=!1,A=t.trim(),x=!1;(o||l)&&u?A.startsWith(\"@\")?b=!0:A=\"&\"===A?eM(\"\",u,d):eM(t,u,d):o&&!u&&(\"&\"===A||\"\"===A)&&(A=\"\",x=!0);var C=e(r,n,{root:x,injectHash:b,parentSelectors:[].concat((0,a.A)(s),[A])}),w=(0,i.A)(C,2),k=w[0],E=w[1];v=(0,c.A)((0,c.A)({},v),E),g+=\"\".concat(A).concat(k)}})}}),o?f&&(g&&(g=\"@layer \".concat(f.name,\" {\").concat(g,\"}\")),f.dependencies&&(v[\"@layer \".concat(f.name)]=f.dependencies.map(function(e){return\"@layer \".concat(e,\", \").concat(f.name,\";\")}).join(\"\\n\"))):g=\"{\".concat(g,\"}\"),[g,v]};function eF(e,t){return l(\"\".concat(e.join(\"%\")).concat(t))}function eT(){return null}var eI=\"style\";function eN(e,t){var n=e.token,l=e.path,f=e.hashId,d=e.layer,h=e.nonce,p=e.clientOnly,g=e.order,v=void 0===g?0:g,m=u.useContext(w),y=m.autoClear,C=(m.mock,m.defaultCache),k=m.hashPriority,S=m.container,O=m.ssrInline,_=m.transformers,$=m.linters,j=m.cache,M=m.layer,P=n._tokenKey,F=[P];M&&F.push(\"layer\"),F.push.apply(F,(0,a.A)(l));var T=G(eI,F,function(){var e=F.join(\"|\");if(function(e){if(!r&&(r={},(0,E.A)())){var t,n=document.createElement(\"div\");n.className=eE,n.style.position=\"fixed\",n.style.visibility=\"hidden\",n.style.top=\"-9999px\",document.body.appendChild(n);var o=getComputedStyle(n).content||\"\";(o=o.replace(/^\"/,\"\").replace(/\"$/,\"\")).split(\";\").forEach(function(e){var t=e.split(\":\"),n=(0,i.A)(t,2),o=n[0],a=n[1];r[o]=a});var a=document.querySelector(\"style[\".concat(eE,\"]\"));a&&(e_=!1,null==(t=a.parentNode)||t.removeChild(a)),document.body.removeChild(n)}return!!r[e]}(e)){var n=function(e){var t=r[e],n=null;if(t&&(0,E.A)())if(e_)n=eO;else{var o=document.querySelector(\"style[\".concat(A,'=\"').concat(r[e],'\"]'));o?n=o.innerHTML:delete r[e]}return[n,t]}(e),o=(0,i.A)(n,2),a=o[0],c=o[1];if(a)return[a,P,c,{},p,v]}var s=eP(t(),{hashId:f,hashPriority:k,layer:M?d:void 0,path:l.join(\"-\"),transformers:_,linters:$}),u=(0,i.A)(s,2),h=u[0],g=u[1],m=ej(h),y=eF(F,m);return[m,P,y,g,p,v]},function(e,t){var n=(0,i.A)(e,3)[2];(t||y)&&z&&(0,s.m6)(n,{mark:A,attachTo:S})},function(e){var t=(0,i.A)(e,4),n=t[0],r=(t[1],t[2]),o=t[3];if(z&&n!==eO){var a={mark:A,prepend:!M&&\"queue\",attachTo:S,priority:v},l=\"function\"==typeof h?h():h;l&&(a.csp={nonce:l});var u=[],f=[];Object.keys(o).forEach(function(e){e.startsWith(\"@layer\")?u.push(e):f.push(e)}),u.forEach(function(e){(0,s.BD)(ej(o[e]),\"_layer-\".concat(e),(0,c.A)((0,c.A)({},a),{},{prepend:!0}))});var d=(0,s.BD)(n,r,a);d[x]=j.instanceId,d.setAttribute(b,P),f.forEach(function(e){(0,s.BD)(ej(o[e]),\"_effect-\".concat(e),a)})}}),I=(0,i.A)(T,3),N=I[0],R=I[1],L=I[2];return function(e){var t;return t=O&&!z&&C?u.createElement(\"style\",(0,J.A)({},(0,o.A)((0,o.A)({},b,R),A,L),{dangerouslySetInnerHTML:{__html:N}})):u.createElement(eT,null),u.createElement(u.Fragment,null,t,e)}}var eR=\"cssVar\";let ez=function(e,t){var n=e.key,r=e.prefix,o=e.unitless,c=e.ignore,l=e.token,f=e.scope,d=void 0===f?\"\":f,h=(0,u.useContext)(w),p=h.cache.instanceId,g=h.container,v=l._tokenKey,m=[].concat((0,a.A)(e.path),[n,d,v]);return G(eR,m,function(){var e=D(t(),n,{prefix:r,unitless:o,ignore:c,scope:d}),a=(0,i.A)(e,2),l=a[0],s=a[1],u=eF(m,s);return[l,s,u,n]},function(e){var t=(0,i.A)(e,3)[2];z&&(0,s.m6)(t,{mark:A,attachTo:g})},function(e){var t=(0,i.A)(e,3),r=t[1],o=t[2];if(r){var a=(0,s.BD)(r,o,{mark:A,prepend:\"queue\",attachTo:g,priority:-999});a[x]=p,a.setAttribute(b,n)}})};(0,o.A)((0,o.A)((0,o.A)({},eI,function(e,t,n){var r=(0,i.A)(e,6),o=r[0],a=r[1],c=r[2],l=r[3],s=r[4],u=r[5],f=(n||{}).plain;if(s)return null;var d=o,h={\"data-rc-order\":\"prependQueue\",\"data-rc-priority\":\"\".concat(u)};return d=H(o,a,c,h,f),l&&Object.keys(l).forEach(function(e){if(!t[e]){t[e]=!0;var n=H(ej(l[e]),a,\"_effect-\".concat(e),h,f);e.startsWith(\"@layer\")?d=n+d:d+=n}}),[u,c,d]}),Y,function(e,t,n){var r=(0,i.A)(e,5),o=r[2],a=r[3],c=r[4],l=(n||{}).plain;if(!a)return null;var s=o._tokenKey,u=H(a,c,s,{\"data-rc-order\":\"prependQueue\",\"data-rc-priority\":\"\".concat(-999)},l);return[-999,s,u]}),eR,function(e,t,n){var r=(0,i.A)(e,4),o=r[1],a=r[2],c=r[3],l=(n||{}).plain;if(!o)return null;var s=H(o,c,a,{\"data-rc-order\":\"prependQueue\",\"data-rc-priority\":\"\".concat(-999)},l);return[-999,a,s]});let eL=function(){function e(t,n){(0,p.A)(this,e),(0,o.A)(this,\"name\",void 0),(0,o.A)(this,\"style\",void 0),(0,o.A)(this,\"_keyframe\",!0),this.name=t,this.style=n}return(0,g.A)(e,[{key:\"getName\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\";return e?\"\".concat(e,\"-\").concat(this.name):this.name}}]),e}();function eH(e){return e.notSplit=!0,e}eH([\"borderTop\",\"borderBottom\"]),eH([\"borderTop\"]),eH([\"borderBottom\"]),eH([\"borderLeft\",\"borderRight\"]),eH([\"borderLeft\"]),eH([\"borderRight\"])},8250(e,t,n){\"use strict\";n.d(t,{Y:()=>l});var r=n(4467);let o=Math.round;function i(e,t){let n=e.replace(/^[^(]*\\((.*)/,\"$1\").replace(/\\).*/,\"\").match(/\\d*\\.?\\d+%?/g)||[],r=n.map(e=>parseFloat(e));for(let e=0;e<3;e+=1)r[e]=t(r[e]||0,n[e]||\"\",e);return n[3]?r[3]=n[3].includes(\"%\")?r[3]/100:r[3]:r[3]=1,r}let a=(e,t,n)=>0===n?e:e/100;function c(e,t){let n=t||255;return e>n?n:e<0?0:e}class l{constructor(e){function t(t){return t[0]in e&&t[1]in e&&t[2]in e}if((0,r.A)(this,\"isValid\",!0),(0,r.A)(this,\"r\",0),(0,r.A)(this,\"g\",0),(0,r.A)(this,\"b\",0),(0,r.A)(this,\"a\",1),(0,r.A)(this,\"_h\",void 0),(0,r.A)(this,\"_s\",void 0),(0,r.A)(this,\"_l\",void 0),(0,r.A)(this,\"_v\",void 0),(0,r.A)(this,\"_max\",void 0),(0,r.A)(this,\"_min\",void 0),(0,r.A)(this,\"_brightness\",void 0),e)if(\"string\"==typeof e){const t=e.trim();function n(e){return t.startsWith(e)}/^#?[A-F\\d]{3,8}$/i.test(t)?this.fromHexString(t):n(\"rgb\")?this.fromRgbString(t):n(\"hsl\")?this.fromHslString(t):(n(\"hsv\")||n(\"hsb\"))&&this.fromHsvString(t)}else if(e instanceof l)this.r=e.r,this.g=e.g,this.b=e.b,this.a=e.a,this._h=e._h,this._s=e._s,this._l=e._l,this._v=e._v;else if(t(\"rgb\"))this.r=c(e.r),this.g=c(e.g),this.b=c(e.b),this.a=\"number\"==typeof e.a?c(e.a,1):1;else if(t(\"hsl\"))this.fromHsl(e);else if(t(\"hsv\"))this.fromHsv(e);else throw Error(\"@ant-design/fast-color: unsupported input \"+JSON.stringify(e))}setR(e){return this._sc(\"r\",e)}setG(e){return this._sc(\"g\",e)}setB(e){return this._sc(\"b\",e)}setA(e){return this._sc(\"a\",e,1)}setHue(e){let t=this.toHsv();return t.h=e,this._c(t)}getLuminance(){function e(e){let t=e/255;return t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)}return .2126*e(this.r)+.7152*e(this.g)+.0722*e(this.b)}getHue(){if(void 0===this._h){let e=this.getMax()-this.getMin();0===e?this._h=0:this._h=o(60*(this.r===this.getMax()?(this.g-this.b)/e+6*(this.g<this.b):this.g===this.getMax()?(this.b-this.r)/e+2:(this.r-this.g)/e+4))}return this._h}getSaturation(){if(void 0===this._s){let e=this.getMax()-this.getMin();0===e?this._s=0:this._s=e/this.getMax()}return this._s}getLightness(){return void 0===this._l&&(this._l=(this.getMax()+this.getMin())/510),this._l}getValue(){return void 0===this._v&&(this._v=this.getMax()/255),this._v}getBrightness(){return void 0===this._brightness&&(this._brightness=(299*this.r+587*this.g+114*this.b)/1e3),this._brightness}darken(e=10){let t=this.getHue(),n=this.getSaturation(),r=this.getLightness()-e/100;return r<0&&(r=0),this._c({h:t,s:n,l:r,a:this.a})}lighten(e=10){let t=this.getHue(),n=this.getSaturation(),r=this.getLightness()+e/100;return r>1&&(r=1),this._c({h:t,s:n,l:r,a:this.a})}mix(e,t=50){let n=this._c(e),r=t/100,i=e=>(n[e]-this[e])*r+this[e],a={r:o(i(\"r\")),g:o(i(\"g\")),b:o(i(\"b\")),a:o(100*i(\"a\"))/100};return this._c(a)}tint(e=10){return this.mix({r:255,g:255,b:255,a:1},e)}shade(e=10){return this.mix({r:0,g:0,b:0,a:1},e)}onBackground(e){let t=this._c(e),n=this.a+t.a*(1-this.a),r=e=>o((this[e]*this.a+t[e]*t.a*(1-this.a))/n);return this._c({r:r(\"r\"),g:r(\"g\"),b:r(\"b\"),a:n})}isDark(){return 128>this.getBrightness()}isLight(){return this.getBrightness()>=128}equals(e){return this.r===e.r&&this.g===e.g&&this.b===e.b&&this.a===e.a}clone(){return this._c(this)}toHexString(){let e=\"#\",t=(this.r||0).toString(16);e+=2===t.length?t:\"0\"+t;let n=(this.g||0).toString(16);e+=2===n.length?n:\"0\"+n;let r=(this.b||0).toString(16);if(e+=2===r.length?r:\"0\"+r,\"number\"==typeof this.a&&this.a>=0&&this.a<1){let t=o(255*this.a).toString(16);e+=2===t.length?t:\"0\"+t}return e}toHsl(){return{h:this.getHue(),s:this.getSaturation(),l:this.getLightness(),a:this.a}}toHslString(){let e=this.getHue(),t=o(100*this.getSaturation()),n=o(100*this.getLightness());return 1!==this.a?`hsla(${e},${t}%,${n}%,${this.a})`:`hsl(${e},${t}%,${n}%)`}toHsv(){return{h:this.getHue(),s:this.getSaturation(),v:this.getValue(),a:this.a}}toRgb(){return{r:this.r,g:this.g,b:this.b,a:this.a}}toRgbString(){return 1!==this.a?`rgba(${this.r},${this.g},${this.b},${this.a})`:`rgb(${this.r},${this.g},${this.b})`}toString(){return this.toRgbString()}_sc(e,t,n){let r=this.clone();return r[e]=c(t,n),r}_c(e){return new this.constructor(e)}getMax(){return void 0===this._max&&(this._max=Math.max(this.r,this.g,this.b)),this._max}getMin(){return void 0===this._min&&(this._min=Math.min(this.r,this.g,this.b)),this._min}fromHexString(e){let t=e.replace(\"#\",\"\");function n(e,n){return parseInt(t[e]+t[n||e],16)}t.length<6?(this.r=n(0),this.g=n(1),this.b=n(2),this.a=t[3]?n(3)/255:1):(this.r=n(0,1),this.g=n(2,3),this.b=n(4,5),this.a=t[6]?n(6,7)/255:1)}fromHsl({h:e,s:t,l:n,a:r}){if(this._h=e%360,this._s=t,this._l=n,this.a=\"number\"==typeof r?r:1,t<=0){let e=o(255*n);this.r=e,this.g=e,this.b=e}let i=0,a=0,c=0,l=e/60,s=(1-Math.abs(2*n-1))*t,u=s*(1-Math.abs(l%2-1));l>=0&&l<1?(i=s,a=u):l>=1&&l<2?(i=u,a=s):l>=2&&l<3?(a=s,c=u):l>=3&&l<4?(a=u,c=s):l>=4&&l<5?(i=u,c=s):l>=5&&l<6&&(i=s,c=u);let f=n-s/2;this.r=o((i+f)*255),this.g=o((a+f)*255),this.b=o((c+f)*255)}fromHsv({h:e,s:t,v:n,a:r}){this._h=e%360,this._s=t,this._v=n,this.a=\"number\"==typeof r?r:1;let i=o(255*n);if(this.r=i,this.g=i,this.b=i,t<=0)return;let a=e/60,c=Math.floor(a),l=a-c,s=o(n*(1-t)*255),u=o(n*(1-t*l)*255),f=o(n*(1-t*(1-l))*255);switch(c){case 0:this.g=f,this.b=s;break;case 1:this.r=u,this.b=s;break;case 2:this.r=s,this.b=f;break;case 3:this.r=s,this.g=u;break;case 4:this.r=f,this.g=s;break;default:this.g=s,this.b=u}}fromHsvString(e){let t=i(e,a);this.fromHsv({h:t[0],s:t[1],v:t[2],a:t[3]})}fromHslString(e){let t=i(e,a);this.fromHsl({h:t[0],s:t[1],l:t[2],a:t[3]})}fromRgbString(e){let t=i(e,(e,t)=>t.includes(\"%\")?o(e/100*255):e);this.r=t[0],this.g=t[1],this.b=t[2],this.a=t[3]}}},3956(e,t,n){\"use strict\";n.d(t,{A:()=>$});var r=n(8168),o=n(7046),i=n(4467),a=n(1697),c=n(2812),l=n.n(c),s=n(6942),u=n.n(s),f=n(1463),d=n(1053),h=n(9379),p=n(2284),g=n(5089);function v(e){var t;return null==e||null==(t=e.getRootNode)?void 0:t.call(e)}var m=n(8210);function y(e){return\"object\"===(0,p.A)(e)&&\"string\"==typeof e.name&&\"string\"==typeof e.theme&&(\"object\"===(0,p.A)(e.icon)||\"function\"==typeof e.icon)}function b(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.keys(e).reduce(function(t,n){var r=e[n];return\"class\"===n?(t.className=r,delete t.class):(delete t[n],t[n.replace(/-(.)/g,function(e,t){return t.toUpperCase()})]=r),t},{})}function A(e){return(0,f.cM)(e)[0]}function x(e){return e?Array.isArray(e)?e:[e]:[]}var C=function(e){var t=(0,c.useContext)(d.A),n=t.csp,r=t.prefixCls,o=t.layer,i=\"\\n.anticon {\\n  display: inline-flex;\\n  align-items: center;\\n  color: inherit;\\n  font-style: normal;\\n  line-height: 0;\\n  text-align: center;\\n  text-transform: none;\\n  vertical-align: -0.125em;\\n  text-rendering: optimizeLegibility;\\n  -webkit-font-smoothing: antialiased;\\n  -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.anticon > * {\\n  line-height: 1;\\n}\\n\\n.anticon svg {\\n  display: inline-block;\\n}\\n\\n.anticon::before {\\n  display: none;\\n}\\n\\n.anticon .anticon-icon {\\n  display: block;\\n}\\n\\n.anticon[tabindex] {\\n  cursor: pointer;\\n}\\n\\n.anticon-spin::before,\\n.anticon-spin {\\n  display: inline-block;\\n  -webkit-animation: loadingCircle 1s infinite linear;\\n  animation: loadingCircle 1s infinite linear;\\n}\\n\\n@-webkit-keyframes loadingCircle {\\n  100% {\\n    -webkit-transform: rotate(360deg);\\n    transform: rotate(360deg);\\n  }\\n}\\n\\n@keyframes loadingCircle {\\n  100% {\\n    -webkit-transform: rotate(360deg);\\n    transform: rotate(360deg);\\n  }\\n}\\n\";r&&(i=i.replace(/anticon/g,r)),o&&(i=\"@layer \".concat(o,\" {\\n\").concat(i,\"\\n}\")),(0,c.useEffect)(function(){var t,r=v(t=e.current)instanceof ShadowRoot?v(t):null;(0,g.BD)(i,\"@ant-design-icons\",{prepend:!o,csp:n,attachTo:r})},[])},w=[\"icon\",\"className\",\"onClick\",\"style\",\"primaryColor\",\"secondaryColor\"],k={primaryColor:\"#333\",secondaryColor:\"#E6E6E6\",calculated:!1},S=function(e){var t,n,r=e.icon,o=e.className,i=e.onClick,s=e.style,u=e.primaryColor,f=e.secondaryColor,d=(0,a.A)(e,w),p=c.useRef(),g=k;if(u&&(g={primaryColor:u,secondaryColor:f||A(u)}),C(p),t=y(r),n=\"icon should be icon definiton, but got \".concat(r),(0,m.Ay)(t,\"[@ant-design/icons] \".concat(n)),!y(r))return null;var v=r;return v&&\"function\"==typeof v.icon&&(v=(0,h.A)((0,h.A)({},v),{},{icon:v.icon(g.primaryColor,g.secondaryColor)})),function e(t,n,r){return r?l().createElement(t.tag,(0,h.A)((0,h.A)({key:n},b(t.attrs)),r),(t.children||[]).map(function(r,o){return e(r,\"\".concat(n,\"-\").concat(t.tag,\"-\").concat(o))})):l().createElement(t.tag,(0,h.A)({key:n},b(t.attrs)),(t.children||[]).map(function(r,o){return e(r,\"\".concat(n,\"-\").concat(t.tag,\"-\").concat(o))}))}(v.icon,\"svg-\".concat(v.name),(0,h.A)((0,h.A)({className:o,onClick:i,style:s,\"data-icon\":v.name,width:\"1em\",height:\"1em\",fill:\"currentColor\",\"aria-hidden\":\"true\"},d),{},{ref:p}))};function E(e){var t=x(e),n=(0,o.A)(t,2),r=n[0],i=n[1];return S.setTwoToneColors({primaryColor:r,secondaryColor:i})}S.displayName=\"IconReact\",S.getTwoToneColors=function(){return(0,h.A)({},k)},S.setTwoToneColors=function(e){var t=e.primaryColor,n=e.secondaryColor;k.primaryColor=t,k.secondaryColor=n||A(t),k.calculated=!!n};var O=[\"className\",\"icon\",\"spin\",\"rotate\",\"tabIndex\",\"onClick\",\"twoToneColor\"];E(f.z1.primary);var _=c.forwardRef(function(e,t){var n=e.className,l=e.icon,s=e.spin,f=e.rotate,h=e.tabIndex,p=e.onClick,g=e.twoToneColor,v=(0,a.A)(e,O),m=c.useContext(d.A),y=m.prefixCls,b=void 0===y?\"anticon\":y,A=m.rootClassName,C=u()(A,b,(0,i.A)((0,i.A)({},\"\".concat(b,\"-\").concat(l.name),!!l.name),\"\".concat(b,\"-spin\"),!!s||\"loading\"===l.name),n),w=h;void 0===w&&p&&(w=-1);var k=x(g),E=(0,o.A)(k,2),_=E[0],$=E[1];return c.createElement(\"span\",(0,r.A)({role:\"img\",\"aria-label\":l.name},v,{ref:t,tabIndex:w,onClick:p,className:C}),c.createElement(S,{icon:l,primaryColor:_,secondaryColor:$,style:f?{msTransform:\"rotate(\".concat(f,\"deg)\"),transform:\"rotate(\".concat(f,\"deg)\")}:void 0}))});_.displayName=\"AntdIcon\",_.getTwoToneColor=function(){var e=S.getTwoToneColors();return e.calculated?[e.primaryColor,e.secondaryColor]:e.primaryColor},_.setTwoToneColor=E;let $=_},1053(e,t,n){\"use strict\";n.d(t,{A:()=>r});let r=(0,n(2812).createContext)({})},5100(e,t,n){\"use strict\";n.d(t,{A:()=>c});var r=n(8168),o=n(2812);let i={icon:{tag:\"svg\",attrs:{\"fill-rule\":\"evenodd\",viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M799.86 166.31c.02 0 .04.02.08.06l57.69 57.7c.04.03.05.05.06.08a.12.12 0 010 .06c0 .03-.02.05-.06.09L569.93 512l287.7 287.7c.04.04.05.06.06.09a.12.12 0 010 .07c0 .02-.02.04-.06.08l-57.7 57.69c-.03.04-.05.05-.07.06a.12.12 0 01-.07 0c-.03 0-.05-.02-.09-.06L512 569.93l-287.7 287.7c-.04.04-.06.05-.09.06a.12.12 0 01-.07 0c-.02 0-.04-.02-.08-.06l-57.69-57.7c-.04-.03-.05-.05-.06-.07a.12.12 0 010-.07c0-.03.02-.05.06-.09L454.07 512l-287.7-287.7c-.04-.04-.05-.06-.06-.09a.12.12 0 010-.07c0-.02.02-.04.06-.08l57.7-57.69c.03-.04.05-.05.07-.06a.12.12 0 01.07 0c.03 0 .05.02.09.06L512 454.07l287.7-287.7c.04-.04.06-.05.09-.06a.12.12 0 01.07 0z\"}}]},name:\"close\",theme:\"outlined\"};var a=n(3956);let c=o.forwardRef(function(e,t){return o.createElement(a.A,(0,r.A)({},e,{ref:t,icon:i}))})},9128(e,t,n){\"use strict\";function r(e,t){\"string\"==typeof(n=e)&&-1!==n.indexOf(\".\")&&1===parseFloat(n)&&(e=\"100%\");var n,r,o=\"string\"==typeof(r=e)&&-1!==r.indexOf(\"%\");return(e=360===t?e:Math.min(t,Math.max(0,parseFloat(e))),o&&(e=parseInt(String(e*t),10)/100),1e-6>Math.abs(e-t))?1:e=360===t?(e<0?e%t+t:e%t)/parseFloat(String(t)):e%t/parseFloat(String(t))}function o(e){return Math.min(1,Math.max(0,e))}function i(e){return(isNaN(e=parseFloat(e))||e<0||e>1)&&(e=1),e}function a(e){return e<=1?\"\".concat(100*Number(e),\"%\"):e}function c(e){return 1===e.length?\"0\"+e:String(e)}function l(e,t,n){e=r(e,255);var o=Math.max(e,t=r(t,255),n=r(n,255)),i=Math.min(e,t,n),a=0,c=0,l=(o+i)/2;if(o===i)c=0,a=0;else{var s=o-i;switch(c=l>.5?s/(2-o-i):s/(o+i),o){case e:a=(t-n)/s+6*(t<n);break;case t:a=(n-e)/s+2;break;case n:a=(e-t)/s+4}a/=6}return{h:a,s:c,l:l}}function s(e,t,n){return(n<0&&(n+=1),n>1&&(n-=1),n<1/6)?e+6*n*(t-e):n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function u(e,t,n){e=r(e,255);var o=Math.max(e,t=r(t,255),n=r(n,255)),i=Math.min(e,t,n),a=0,c=o-i;if(o===i)a=0;else{switch(o){case e:a=(t-n)/c+6*(t<n);break;case t:a=(n-e)/c+2;break;case n:a=(e-t)/c+4}a/=6}return{h:a,s:0===o?0:c/o,v:o}}function f(e,t,n,r){var o=[c(Math.round(e).toString(16)),c(Math.round(t).toString(16)),c(Math.round(n).toString(16))];return r&&o[0].startsWith(o[0].charAt(1))&&o[1].startsWith(o[1].charAt(1))&&o[2].startsWith(o[2].charAt(1))?o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0):o.join(\"\")}n.d(t,{q:()=>b});function d(e){return parseInt(e,16)}var h={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\",firebrick:\"#b22222\",floralwhite:\"#fffaf0\",forestgreen:\"#228b22\",fuchsia:\"#ff00ff\",gainsboro:\"#dcdcdc\",ghostwhite:\"#f8f8ff\",goldenrod:\"#daa520\",gold:\"#ffd700\",gray:\"#808080\",green:\"#008000\",greenyellow:\"#adff2f\",grey:\"#808080\",honeydew:\"#f0fff0\",hotpink:\"#ff69b4\",indianred:\"#cd5c5c\",indigo:\"#4b0082\",ivory:\"#fffff0\",khaki:\"#f0e68c\",lavenderblush:\"#fff0f5\",lavender:\"#e6e6fa\",lawngreen:\"#7cfc00\",lemonchiffon:\"#fffacd\",lightblue:\"#add8e6\",lightcoral:\"#f08080\",lightcyan:\"#e0ffff\",lightgoldenrodyellow:\"#fafad2\",lightgray:\"#d3d3d3\",lightgreen:\"#90ee90\",lightgrey:\"#d3d3d3\",lightpink:\"#ffb6c1\",lightsalmon:\"#ffa07a\",lightseagreen:\"#20b2aa\",lightskyblue:\"#87cefa\",lightslategray:\"#778899\",lightslategrey:\"#778899\",lightsteelblue:\"#b0c4de\",lightyellow:\"#ffffe0\",lime:\"#00ff00\",limegreen:\"#32cd32\",linen:\"#faf0e6\",magenta:\"#ff00ff\",maroon:\"#800000\",mediumaquamarine:\"#66cdaa\",mediumblue:\"#0000cd\",mediumorchid:\"#ba55d3\",mediumpurple:\"#9370db\",mediumseagreen:\"#3cb371\",mediumslateblue:\"#7b68ee\",mediumspringgreen:\"#00fa9a\",mediumturquoise:\"#48d1cc\",mediumvioletred:\"#c71585\",midnightblue:\"#191970\",mintcream:\"#f5fffa\",mistyrose:\"#ffe4e1\",moccasin:\"#ffe4b5\",navajowhite:\"#ffdead\",navy:\"#000080\",oldlace:\"#fdf5e6\",olive:\"#808000\",olivedrab:\"#6b8e23\",orange:\"#ffa500\",orangered:\"#ff4500\",orchid:\"#da70d6\",palegoldenrod:\"#eee8aa\",palegreen:\"#98fb98\",paleturquoise:\"#afeeee\",palevioletred:\"#db7093\",papayawhip:\"#ffefd5\",peachpuff:\"#ffdab9\",peru:\"#cd853f\",pink:\"#ffc0cb\",plum:\"#dda0dd\",powderblue:\"#b0e0e6\",purple:\"#800080\",rebeccapurple:\"#663399\",red:\"#ff0000\",rosybrown:\"#bc8f8f\",royalblue:\"#4169e1\",saddlebrown:\"#8b4513\",salmon:\"#fa8072\",sandybrown:\"#f4a460\",seagreen:\"#2e8b57\",seashell:\"#fff5ee\",sienna:\"#a0522d\",silver:\"#c0c0c0\",skyblue:\"#87ceeb\",slateblue:\"#6a5acd\",slategray:\"#708090\",slategrey:\"#708090\",snow:\"#fffafa\",springgreen:\"#00ff7f\",steelblue:\"#4682b4\",tan:\"#d2b48c\",teal:\"#008080\",thistle:\"#d8bfd8\",tomato:\"#ff6347\",turquoise:\"#40e0d0\",violet:\"#ee82ee\",wheat:\"#f5deb3\",white:\"#ffffff\",whitesmoke:\"#f5f5f5\",yellow:\"#ffff00\",yellowgreen:\"#9acd32\"},p=\"(?:\".concat(\"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\",\")|(?:\").concat(\"[-\\\\+]?\\\\d+%?\",\")\"),g=\"[\\\\s|\\\\(]+(\".concat(p,\")[,|\\\\s]+(\").concat(p,\")[,|\\\\s]+(\").concat(p,\")\\\\s*\\\\)?\"),v=\"[\\\\s|\\\\(]+(\".concat(p,\")[,|\\\\s]+(\").concat(p,\")[,|\\\\s]+(\").concat(p,\")[,|\\\\s]+(\").concat(p,\")\\\\s*\\\\)?\"),m={CSS_UNIT:new RegExp(p),rgb:RegExp(\"rgb\"+g),rgba:RegExp(\"rgba\"+v),hsl:RegExp(\"hsl\"+g),hsla:RegExp(\"hsla\"+v),hsv:RegExp(\"hsv\"+g),hsva:RegExp(\"hsva\"+v),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function y(e){return!!m.CSS_UNIT.exec(String(e))}var b=function(){function e(t,n){if(void 0===t&&(t=\"\"),void 0===n&&(n={}),t instanceof e)return t;\"number\"==typeof t&&(t={r:(M=t)>>16,g:(65280&M)>>8,b:255&M}),this.originalInput=t;var o,c,l,u,f,p,g,v,b,A,x,C,w,k,S,E,O,_,$,j,M,P,F=(k={r:0,g:0,b:0},S=1,E=null,O=null,_=null,$=!1,j=!1,\"string\"==typeof(o=t)&&(o=function(e){if(0===(e=e.trim().toLowerCase()).length)return!1;var t=!1;if(h[e])e=h[e],t=!0;else if(\"transparent\"===e)return{r:0,g:0,b:0,a:0,format:\"name\"};var n=m.rgb.exec(e);return n?{r:n[1],g:n[2],b:n[3]}:(n=m.rgba.exec(e))?{r:n[1],g:n[2],b:n[3],a:n[4]}:(n=m.hsl.exec(e))?{h:n[1],s:n[2],l:n[3]}:(n=m.hsla.exec(e))?{h:n[1],s:n[2],l:n[3],a:n[4]}:(n=m.hsv.exec(e))?{h:n[1],s:n[2],v:n[3]}:(n=m.hsva.exec(e))?{h:n[1],s:n[2],v:n[3],a:n[4]}:(n=m.hex8.exec(e))?{r:d(n[1]),g:d(n[2]),b:d(n[3]),a:d(n[4])/255,format:t?\"name\":\"hex8\"}:(n=m.hex6.exec(e))?{r:d(n[1]),g:d(n[2]),b:d(n[3]),format:t?\"name\":\"hex\"}:(n=m.hex4.exec(e))?{r:d(n[1]+n[1]),g:d(n[2]+n[2]),b:d(n[3]+n[3]),a:d(n[4]+n[4])/255,format:t?\"name\":\"hex8\"}:!!(n=m.hex3.exec(e))&&{r:d(n[1]+n[1]),g:d(n[2]+n[2]),b:d(n[3]+n[3]),format:t?\"name\":\"hex\"}}(o)),\"object\"==typeof o&&(y(o.r)&&y(o.g)&&y(o.b)?(c=o.r,l=o.g,u=o.b,k={r:255*r(c,255),g:255*r(l,255),b:255*r(u,255)},$=!0,j=\"%\"===String(o.r).substr(-1)?\"prgb\":\"rgb\"):y(o.h)&&y(o.s)&&y(o.v)?(E=a(o.s),O=a(o.v),f=o.h,p=E,g=O,f=6*r(f,360),p=r(p,100),g=r(g,100),v=Math.floor(f),b=f-v,A=g*(1-p),x=g*(1-b*p),C=g*(1-(1-b)*p),k={r:255*[g,x,A,A,C,g][w=v%6],g:255*[C,g,g,x,A,A][w],b:255*[A,A,C,g,g,x][w]},$=!0,j=\"hsv\"):y(o.h)&&y(o.s)&&y(o.l)&&(E=a(o.s),_=a(o.l),k=function(e,t,n){if(e=r(e,360),t=r(t,100),n=r(n,100),0===t)i=n,a=n,o=n;else{var o,i,a,c=n<.5?n*(1+t):n+t-n*t,l=2*n-c;o=s(l,c,e+1/3),i=s(l,c,e),a=s(l,c,e-1/3)}return{r:255*o,g:255*i,b:255*a}}(o.h,E,_),$=!0,j=\"hsl\"),Object.prototype.hasOwnProperty.call(o,\"a\")&&(S=o.a)),S=i(S),{ok:$,format:o.format||j,r:Math.min(255,Math.max(k.r,0)),g:Math.min(255,Math.max(k.g,0)),b:Math.min(255,Math.max(k.b,0)),a:S});this.originalInput=t,this.r=F.r,this.g=F.g,this.b=F.b,this.a=F.a,this.roundA=Math.round(100*this.a)/100,this.format=null!=(P=n.format)?P:F.format,this.gradientType=n.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=F.ok}return e.prototype.isDark=function(){return 128>this.getBrightness()},e.prototype.isLight=function(){return!this.isDark()},e.prototype.getBrightness=function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},e.prototype.getLuminance=function(){var e=this.toRgb(),t=e.r/255,n=e.g/255,r=e.b/255;return .2126*(t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.7152*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))+.0722*(r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4))},e.prototype.getAlpha=function(){return this.a},e.prototype.setAlpha=function(e){return this.a=i(e),this.roundA=Math.round(100*this.a)/100,this},e.prototype.isMonochrome=function(){return 0===this.toHsl().s},e.prototype.toHsv=function(){var e=u(this.r,this.g,this.b);return{h:360*e.h,s:e.s,v:e.v,a:this.a}},e.prototype.toHsvString=function(){var e=u(this.r,this.g,this.b),t=Math.round(360*e.h),n=Math.round(100*e.s),r=Math.round(100*e.v);return 1===this.a?\"hsv(\".concat(t,\", \").concat(n,\"%, \").concat(r,\"%)\"):\"hsva(\".concat(t,\", \").concat(n,\"%, \").concat(r,\"%, \").concat(this.roundA,\")\")},e.prototype.toHsl=function(){var e=l(this.r,this.g,this.b);return{h:360*e.h,s:e.s,l:e.l,a:this.a}},e.prototype.toHslString=function(){var e=l(this.r,this.g,this.b),t=Math.round(360*e.h),n=Math.round(100*e.s),r=Math.round(100*e.l);return 1===this.a?\"hsl(\".concat(t,\", \").concat(n,\"%, \").concat(r,\"%)\"):\"hsla(\".concat(t,\", \").concat(n,\"%, \").concat(r,\"%, \").concat(this.roundA,\")\")},e.prototype.toHex=function(e){return void 0===e&&(e=!1),f(this.r,this.g,this.b,e)},e.prototype.toHexString=function(e){return void 0===e&&(e=!1),\"#\"+this.toHex(e)},e.prototype.toHex8=function(e){var t,n,r,o,i,a;return void 0===e&&(e=!1),t=this.r,n=this.g,r=this.b,o=this.a,i=e,a=[c(Math.round(t).toString(16)),c(Math.round(n).toString(16)),c(Math.round(r).toString(16)),c(Math.round(255*parseFloat(o)).toString(16))],i&&a[0].startsWith(a[0].charAt(1))&&a[1].startsWith(a[1].charAt(1))&&a[2].startsWith(a[2].charAt(1))&&a[3].startsWith(a[3].charAt(1))?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join(\"\")},e.prototype.toHex8String=function(e){return void 0===e&&(e=!1),\"#\"+this.toHex8(e)},e.prototype.toHexShortString=function(e){return void 0===e&&(e=!1),1===this.a?this.toHexString(e):this.toHex8String(e)},e.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},e.prototype.toRgbString=function(){var e=Math.round(this.r),t=Math.round(this.g),n=Math.round(this.b);return 1===this.a?\"rgb(\".concat(e,\", \").concat(t,\", \").concat(n,\")\"):\"rgba(\".concat(e,\", \").concat(t,\", \").concat(n,\", \").concat(this.roundA,\")\")},e.prototype.toPercentageRgb=function(){var e=function(e){return\"\".concat(Math.round(100*r(e,255)),\"%\")};return{r:e(this.r),g:e(this.g),b:e(this.b),a:this.a}},e.prototype.toPercentageRgbString=function(){var e=function(e){return Math.round(100*r(e,255))};return 1===this.a?\"rgb(\".concat(e(this.r),\"%, \").concat(e(this.g),\"%, \").concat(e(this.b),\"%)\"):\"rgba(\".concat(e(this.r),\"%, \").concat(e(this.g),\"%, \").concat(e(this.b),\"%, \").concat(this.roundA,\")\")},e.prototype.toName=function(){if(0===this.a)return\"transparent\";if(this.a<1)return!1;for(var e=\"#\"+f(this.r,this.g,this.b,!1),t=0,n=Object.entries(h);t<n.length;t++){var r=n[t],o=r[0];if(e===r[1])return o}return!1},e.prototype.toString=function(e){var t=!!e;e=null!=e?e:this.format;var n=!1,r=this.a<1&&this.a>=0;return!t&&r&&(e.startsWith(\"hex\")||\"name\"===e)?\"name\"===e&&0===this.a?this.toName():this.toRgbString():(\"rgb\"===e&&(n=this.toRgbString()),\"prgb\"===e&&(n=this.toPercentageRgbString()),(\"hex\"===e||\"hex6\"===e)&&(n=this.toHexString()),\"hex3\"===e&&(n=this.toHexString(!0)),\"hex4\"===e&&(n=this.toHex8String(!0)),\"hex8\"===e&&(n=this.toHex8String()),\"name\"===e&&(n=this.toName()),\"hsl\"===e&&(n=this.toHslString()),\"hsv\"===e&&(n=this.toHsvString()),n||this.toHexString())},e.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},e.prototype.clone=function(){return new e(this.toString())},e.prototype.lighten=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.l+=t/100,n.l=o(n.l),new e(n)},e.prototype.brighten=function(t){void 0===t&&(t=10);var n=this.toRgb();return n.r=Math.max(0,Math.min(255,n.r-Math.round(-(t/100*255)))),n.g=Math.max(0,Math.min(255,n.g-Math.round(-(t/100*255)))),n.b=Math.max(0,Math.min(255,n.b-Math.round(-(t/100*255)))),new e(n)},e.prototype.darken=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.l-=t/100,n.l=o(n.l),new e(n)},e.prototype.tint=function(e){return void 0===e&&(e=10),this.mix(\"white\",e)},e.prototype.shade=function(e){return void 0===e&&(e=10),this.mix(\"black\",e)},e.prototype.desaturate=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.s-=t/100,n.s=o(n.s),new e(n)},e.prototype.saturate=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.s+=t/100,n.s=o(n.s),new e(n)},e.prototype.greyscale=function(){return this.desaturate(100)},e.prototype.spin=function(t){var n=this.toHsl(),r=(n.h+t)%360;return n.h=r<0?360+r:r,new e(n)},e.prototype.mix=function(t,n){void 0===n&&(n=50);var r=this.toRgb(),o=new e(t).toRgb(),i=n/100;return new e({r:(o.r-r.r)*i+r.r,g:(o.g-r.g)*i+r.g,b:(o.b-r.b)*i+r.b,a:(o.a-r.a)*i+r.a})},e.prototype.analogous=function(t,n){void 0===t&&(t=6),void 0===n&&(n=30);var r=this.toHsl(),o=360/n,i=[this];for(r.h=(r.h-(o*t>>1)+720)%360;--t;)r.h=(r.h+o)%360,i.push(new e(r));return i},e.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new e(t)},e.prototype.monochromatic=function(t){void 0===t&&(t=6);for(var n=this.toHsv(),r=n.h,o=n.s,i=n.v,a=[],c=1/t;t--;)a.push(new e({h:r,s:o,v:i})),i=(i+c)%1;return a},e.prototype.splitcomplement=function(){var t=this.toHsl(),n=t.h;return[this,new e({h:(n+72)%360,s:t.s,l:t.l}),new e({h:(n+216)%360,s:t.s,l:t.l})]},e.prototype.onBackground=function(t){var n=this.toRgb(),r=new e(t).toRgb(),o=n.a+r.a*(1-n.a);return new e({r:(n.r*n.a+r.r*r.a*(1-n.a))/o,g:(n.g*n.a+r.g*r.a*(1-n.a))/o,b:(n.b*n.a+r.b*r.a*(1-n.a))/o,a:o})},e.prototype.triad=function(){return this.polyad(3)},e.prototype.tetrad=function(){return this.polyad(4)},e.prototype.polyad=function(t){for(var n=this.toHsl(),r=n.h,o=[this],i=360/t,a=1;a<t;a++)o.push(new e({h:(r+a*i)%360,s:n.s,l:n.l}));return o},e.prototype.equals=function(t){return this.toRgbString()===new e(t).toRgbString()},e}()},5840(e,t,n){\"use strict\";let r,o,i,a,c;n.d(t,{rU:()=>ci});var l,s,u,f,d,h,p,g,v,m,y,b,A,x,C,w,k,S,E,O,_,$,j,M,P,F,T,I,N,R,z,L,H,B,D,W,V,q=n(9379),U=n(2812),G=n.n(U),X=n(3029),K=n(2901),Q=n(4467),Y=function(){function e(e){var t=this;this._insertTag=function(e){var n;n=0===t.tags.length?t.insertionPoint?t.insertionPoint.nextSibling:t.prepend?t.container.firstChild:t.before:t.tags[t.tags.length-1].nextSibling,t.container.insertBefore(e,n),t.tags.push(e)},this.isSpeedy=void 0===e.speedy||e.speedy,this.tags=[],this.ctr=0,this.nonce=e.nonce,this.key=e.key,this.container=e.container,this.prepend=e.prepend,this.insertionPoint=e.insertionPoint,this.before=null}var t=e.prototype;return t.hydrate=function(e){e.forEach(this._insertTag)},t.insert=function(e){this.ctr%(this.isSpeedy?65e3:1)==0&&this._insertTag(((t=document.createElement(\"style\")).setAttribute(\"data-emotion\",this.key),void 0!==this.nonce&&t.setAttribute(\"nonce\",this.nonce),t.appendChild(document.createTextNode(\"\")),t.setAttribute(\"data-s\",\"\"),t));var t,n=this.tags[this.tags.length-1];if(this.isSpeedy){var r=function(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]}(n);try{r.insertRule(e,r.cssRules.length)}catch(e){}}else n.appendChild(document.createTextNode(e));this.ctr++},t.flush=function(){this.tags.forEach(function(e){var t;return null==(t=e.parentNode)?void 0:t.removeChild(e)}),this.tags=[],this.ctr=0},e}(),Z=Math.abs,J=String.fromCharCode,ee=Object.assign;function et(e,t,n){return e.replace(t,n)}function en(e,t){return e.indexOf(t)}function er(e,t){return 0|e.charCodeAt(t)}function eo(e,t,n){return e.slice(t,n)}function ei(e){return e.length}function ea(e,t){return t.push(e),e}var ec=1,el=1,es=0,eu=0,ef=0,ed=\"\";function eh(e,t,n,r,o,i,a){return{value:e,root:t,parent:n,type:r,props:o,children:i,line:ec,column:el,length:a,return:\"\"}}function ep(e,t){return ee(eh(\"\",null,null,\"\",null,null,0),e,{length:-e.length},t)}function eg(){return ef=eu<es?er(ed,eu++):0,el++,10===ef&&(el=1,ec++),ef}function ev(){return er(ed,eu)}function em(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function ey(e){return ec=el=1,es=ei(ed=e),eu=0,[]}function eb(e){var t,n;return(t=eu-1,n=function e(t){for(;eg();)switch(ef){case t:return eu;case 34:case 39:34!==t&&39!==t&&e(ef);break;case 40:41===t&&e(t);break;case 92:eg()}return eu}(91===e?e+2:40===e?e+1:e),eo(ed,t,n)).trim()}var eA=\"-ms-\",ex=\"-moz-\",eC=\"-webkit-\",ew=\"comm\",ek=\"rule\",eS=\"decl\",eE=\"@keyframes\";function eO(e,t){for(var n=\"\",r=e.length,o=0;o<r;o++)n+=t(e[o],o,e,t)||\"\";return n}function e_(e,t,n,r){switch(e.type){case\"@layer\":if(e.children.length)break;case\"@import\":case eS:return e.return=e.return||e.value;case ew:return\"\";case eE:return e.return=e.value+\"{\"+eO(e.children,r)+\"}\";case ek:e.value=e.props.join(\",\")}return ei(n=eO(e.children,r))?e.return=e.value+\"{\"+n+\"}\":\"\"}function e$(e,t,n,r,o,i,a,c,l,s,u){for(var f=o-1,d=0===o?i:[\"\"],h=d.length,p=0,g=0,v=0;p<r;++p)for(var m=0,y=eo(e,f+1,f=Z(g=a[p])),b=e;m<h;++m)(b=(g>0?d[m]+\" \"+y:et(y,/&\\f/g,d[m])).trim())&&(l[v++]=b);return eh(e,t,n,0===o?ek:c,l,s,u)}function ej(e,t,n,r){return eh(e,t,n,eS,eo(e,0,r),eo(e,r+1,-1),r)}var eM=function(e,t,n){for(var r=0,o=0;r=o,o=ev(),38===r&&12===o&&(t[n]=1),!em(o);)eg();return eo(ed,e,eu)},eP=function(e,t){var n=-1,r=44;do switch(em(r)){case 0:38===r&&12===ev()&&(t[n]=1),e[n]+=eM(eu-1,t,n);break;case 2:e[n]+=eb(r);break;case 4:if(44===r){e[++n]=58===ev()?\"&\\f\":\"\",t[n]=e[n].length;break}default:e[n]+=J(r)}while(r=eg());return e},eF=function(e,t){var n;return n=eP(ey(e),t),ed=\"\",n},eT=new WeakMap,eI=function(e){if(\"rule\"===e.type&&e.parent&&!(e.length<1)){for(var t=e.value,n=e.parent,r=e.column===n.column&&e.line===n.line;\"rule\"!==n.type;)if(!(n=n.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||eT.get(n))&&!r){eT.set(e,!0);for(var o=[],i=eF(t,o),a=n.props,c=0,l=0;c<i.length;c++)for(var s=0;s<a.length;s++,l++)e.props[l]=o[c]?i[c].replace(/&\\f/g,a[s]):a[s]+\" \"+i[c]}}},eN=function(e){if(\"decl\"===e.type){var t=e.value;108===t.charCodeAt(0)&&98===t.charCodeAt(2)&&(e.return=\"\",e.value=\"\")}},eR=[function(e,t,n,r){if(e.length>-1&&!e.return)switch(e.type){case eS:e.return=function e(t,n){switch(45^er(t,0)?(((n<<2^er(t,0))<<2^er(t,1))<<2^er(t,2))<<2^er(t,3):0){case 5103:return eC+\"print-\"+t+t;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return eC+t+t;case 5349:case 4246:case 4810:case 6968:case 2756:return eC+t+ex+t+eA+t+t;case 6828:case 4268:return eC+t+eA+t+t;case 6165:return eC+t+eA+\"flex-\"+t+t;case 5187:return eC+t+et(t,/(\\w+).+(:[^]+)/,eC+\"box-$1$2\"+eA+\"flex-$1$2\")+t;case 5443:return eC+t+eA+\"flex-item-\"+et(t,/flex-|-self/,\"\")+t;case 4675:return eC+t+eA+\"flex-line-pack\"+et(t,/align-content|flex-|-self/,\"\")+t;case 5548:return eC+t+eA+et(t,\"shrink\",\"negative\")+t;case 5292:return eC+t+eA+et(t,\"basis\",\"preferred-size\")+t;case 6060:return eC+\"box-\"+et(t,\"-grow\",\"\")+eC+t+eA+et(t,\"grow\",\"positive\")+t;case 4554:return eC+et(t,/([^-])(transform)/g,\"$1\"+eC+\"$2\")+t;case 6187:return et(et(et(t,/(zoom-|grab)/,eC+\"$1\"),/(image-set)/,eC+\"$1\"),t,\"\")+t;case 5495:case 3959:return et(t,/(image-set\\([^]*)/,eC+\"$1$`$1\");case 4968:return et(et(t,/(.+:)(flex-)?(.*)/,eC+\"box-pack:$3\"+eA+\"flex-pack:$3\"),/s.+-b[^;]+/,\"justify\")+eC+t+t;case 4095:case 3583:case 4068:case 2532:return et(t,/(.+)-inline(.+)/,eC+\"$1$2\")+t;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(ei(t)-1-n>6)switch(er(t,n+1)){case 109:if(45!==er(t,n+4))break;case 102:return et(t,/(.+:)(.+)-([^]+)/,\"$1\"+eC+\"$2-$3$1\"+ex+(108==er(t,n+3)?\"$3\":\"$2-$3\"))+t;case 115:return~en(t,\"stretch\")?e(et(t,\"stretch\",\"fill-available\"),n)+t:t}break;case 4949:if(115!==er(t,n+1))break;case 6444:switch(er(t,ei(t)-3-(~en(t,\"!important\")&&10))){case 107:return et(t,\":\",\":\"+eC)+t;case 101:return et(t,/(.+:)([^;!]+)(;|!.+)?/,\"$1\"+eC+(45===er(t,14)?\"inline-\":\"\")+\"box$3$1\"+eC+\"$2$3$1\"+eA+\"$2box$3\")+t}break;case 5936:switch(er(t,n+11)){case 114:return eC+t+eA+et(t,/[svh]\\w+-[tblr]{2}/,\"tb\")+t;case 108:return eC+t+eA+et(t,/[svh]\\w+-[tblr]{2}/,\"tb-rl\")+t;case 45:return eC+t+eA+et(t,/[svh]\\w+-[tblr]{2}/,\"lr\")+t}return eC+t+eA+t+t}return t}(e.value,e.length);break;case eE:return eO([ep(e,{value:et(e.value,\"@\",\"@\"+eC)})],r);case ek:if(e.length){var o,i;return o=e.props,i=function(t){var n;switch(n=t,(n=/(::plac\\w+|:read-\\w+)/.exec(n))?n[0]:n){case\":read-only\":case\":read-write\":return eO([ep(e,{props:[et(t,/:(read-\\w+)/,\":\"+ex+\"$1\")]})],r);case\"::placeholder\":return eO([ep(e,{props:[et(t,/:(plac\\w+)/,\":\"+eC+\"input-$1\")]}),ep(e,{props:[et(t,/:(plac\\w+)/,\":\"+ex+\"$1\")]}),ep(e,{props:[et(t,/:(plac\\w+)/,eA+\"input-$1\")]})],r)}return\"\"},o.map(i).join(\"\")}}}],ez=function(e){var t,n,r,o,i,a=e.key;if(\"css\"===a){var c=document.querySelectorAll(\"style[data-emotion]:not([data-s])\");Array.prototype.forEach.call(c,function(e){-1!==e.getAttribute(\"data-emotion\").indexOf(\" \")&&(document.head.appendChild(e),e.setAttribute(\"data-s\",\"\"))})}var l=e.stylisPlugins||eR,s={},u=[];o=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^=\"'+a+' \"]'),function(e){for(var t=e.getAttribute(\"data-emotion\").split(\" \"),n=1;n<t.length;n++)s[t[n]]=!0;u.push(e)});var f=(n=(t=[eI,eN].concat(l,[e_,(r=function(e){i.insert(e)},function(e){!e.root&&(e=e.return)&&r(e)})])).length,function(e,r,o,i){for(var a=\"\",c=0;c<n;c++)a+=t[c](e,r,o,i)||\"\";return a}),d=function(e){var t,n;return eO((n=function e(t,n,r,o,i,a,c,l,s){for(var u,f=0,d=0,h=c,p=0,g=0,v=0,m=1,y=1,b=1,A=0,x=\"\",C=i,w=a,k=o,S=x;y;)switch(v=A,A=eg()){case 40:if(108!=v&&58==er(S,h-1)){-1!=en(S+=et(eb(A),\"&\",\"&\\f\"),\"&\\f\")&&(b=-1);break}case 34:case 39:case 91:S+=eb(A);break;case 9:case 10:case 13:case 32:S+=function(e){for(;ef=ev();)if(ef<33)eg();else break;return em(e)>2||em(ef)>3?\"\":\" \"}(v);break;case 92:S+=function(e,t){for(var n;--t&&eg()&&!(ef<48)&&!(ef>102)&&(!(ef>57)||!(ef<65))&&(!(ef>70)||!(ef<97)););return n=eu+(t<6&&32==ev()&&32==eg()),eo(ed,e,n)}(eu-1,7);continue;case 47:switch(ev()){case 42:case 47:ea((u=function(e,t){for(;eg();)if(e+ef===57)break;else if(e+ef===84&&47===ev())break;return\"/*\"+eo(ed,t,eu-1)+\"*\"+J(47===e?e:eg())}(eg(),eu),eh(u,n,r,ew,J(ef),eo(u,2,-2),0)),s);break;default:S+=\"/\"}break;case 123*m:l[f++]=ei(S)*b;case 125*m:case 59:case 0:switch(A){case 0:case 125:y=0;case 59+d:-1==b&&(S=et(S,/\\f/g,\"\")),g>0&&ei(S)-h&&ea(g>32?ej(S+\";\",o,r,h-1):ej(et(S,\" \",\"\")+\";\",o,r,h-2),s);break;case 59:S+=\";\";default:if(ea(k=e$(S,n,r,f,d,i,l,x,C=[],w=[],h),a),123===A)if(0===d)e(S,n,k,k,C,a,h,l,w);else switch(99===p&&110===er(S,3)?100:p){case 100:case 108:case 109:case 115:e(t,k,k,o&&ea(e$(t,k,k,0,0,i,l,x,i,C=[],h),w),i,w,h,l,o?C:w);break;default:e(S,k,k,k,[\"\"],w,0,l,w)}}f=d=g=0,m=b=1,x=S=\"\",h=c;break;case 58:h=1+ei(S),g=v;default:if(m<1){if(123==A)--m;else if(125==A&&0==m++&&125==(ef=eu>0?er(ed,--eu):0,el--,10===ef&&(el=1,ec--),ef))continue}switch(S+=J(A),A*m){case 38:b=d>0?1:(S+=\"\\f\",-1);break;case 44:l[f++]=(ei(S)-1)*b,b=1;break;case 64:45===ev()&&(S+=eb(eg())),p=ev(),d=h=ei(x=S+=function(e){for(;!em(ev());)eg();return eo(ed,e,eu)}(eu)),A++;break;case 45:45===v&&2==ei(S)&&(m=0)}}return a}(\"\",null,null,null,[\"\"],t=ey(t=e),0,[0],t),ed=\"\",n),f)},h={key:a,sheet:new Y({key:a,container:o,nonce:e.nonce,speedy:e.speedy,prepend:e.prepend,insertionPoint:e.insertionPoint}),nonce:e.nonce,inserted:s,registered:{},insert:function(e,t,n,r){i=n,d(e?e+\"{\"+t.styles+\"}\":t.styles),r&&(h.inserted[t.name]=!0)}};return h.sheet.hydrate(u),h},eL={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},eH=/[A-Z]|^ms/g,eB=/_EMO_([^_]+?)_([^]*?)_EMO_/g,eD=function(e){return 45===e.charCodeAt(1)},eW=function(e){return null!=e&&\"boolean\"!=typeof e},eV=(b=function(e){return eD(e)?e:e.replace(eH,\"-$&\").toLowerCase()},A=Object.create(null),function(e){return void 0===A[e]&&(A[e]=b(e)),A[e]}),eq=function(e,t){switch(e){case\"animation\":case\"animationName\":if(\"string\"==typeof t)return t.replace(eB,function(e,t,n){return g={name:t,styles:n,next:g},t})}return 1===eL[e]||eD(e)||\"number\"!=typeof t||0===t?t:t+\"px\"};function eU(e,t,n){if(null==n)return\"\";if(void 0!==n.__emotion_styles)return n;switch(typeof n){case\"boolean\":return\"\";case\"object\":if(1===n.anim)return g={name:n.name,styles:n.styles,next:g},n.name;if(void 0!==n.styles){var r=n.next;if(void 0!==r)for(;void 0!==r;)g={name:r.name,styles:r.styles,next:g},r=r.next;return n.styles+\";\"}return function(e,t,n){var r=\"\";if(Array.isArray(n))for(var o=0;o<n.length;o++)r+=eU(e,t,n[o])+\";\";else for(var i in n){var a=n[i];if(\"object\"!=typeof a)null!=t&&void 0!==t[a]?r+=i+\"{\"+t[a]+\"}\":eW(a)&&(r+=eV(i)+\":\"+eq(i,a)+\";\");else if(Array.isArray(a)&&\"string\"==typeof a[0]&&(null==t||void 0===t[a[0]]))for(var c=0;c<a.length;c++)eW(a[c])&&(r+=eV(i)+\":\"+eq(i,a[c])+\";\");else{var l=eU(e,t,a);switch(i){case\"animation\":case\"animationName\":r+=eV(i)+\":\"+l+\";\";break;default:r+=i+\"{\"+l+\"}\"}}}return r}(e,t,n);case\"function\":if(void 0!==e){var o=g,i=n(e);return g=o,eU(e,t,i)}}if(null==t)return n;var a=t[n];return void 0!==a?a:n}var eG=/label:\\s*([^\\s;{]+)\\s*(;|$)/g;function eX(e,t,n){if(1===e.length&&\"object\"==typeof e[0]&&null!==e[0]&&void 0!==e[0].styles)return e[0];var r,o=!0,i=\"\";g=void 0;var a=e[0];null==a||void 0===a.raw?(o=!1,i+=eU(n,t,a)):i+=a[0];for(var c=1;c<e.length;c++)i+=eU(n,t,e[c]),o&&(i+=a[c]);eG.lastIndex=0;for(var l=\"\";null!==(r=eG.exec(i));)l+=\"-\"+r[1];return{name:function(e){for(var t,n=0,r=0,o=e.length;o>=4;++r,o-=4)t=(65535&(t=255&e.charCodeAt(r)|(255&e.charCodeAt(++r))<<8|(255&e.charCodeAt(++r))<<16|(255&e.charCodeAt(++r))<<24))*0x5bd1e995+((t>>>16)*59797<<16),t^=t>>>24,n=(65535&t)*0x5bd1e995+((t>>>16)*59797<<16)^(65535&n)*0x5bd1e995+((n>>>16)*59797<<16);switch(o){case 3:n^=(255&e.charCodeAt(r+2))<<16;case 2:n^=(255&e.charCodeAt(r+1))<<8;case 1:n^=255&e.charCodeAt(r),n=(65535&n)*0x5bd1e995+((n>>>16)*59797<<16)}return n^=n>>>13,(((n=(65535&n)*0x5bd1e995+((n>>>16)*59797<<16))^n>>>15)>>>0).toString(36)}(i)+l,styles:i,next:g}}function eK(e,t,n){var r=\"\";return n.split(\" \").forEach(function(n){void 0!==e[n]?t.push(e[n]+\";\"):n&&(r+=n+\" \")}),r}var eQ=function(e,t,n){var r=e.key+\"-\"+t.name;!1===n&&void 0===e.registered[r]&&(e.registered[r]=t.styles)},eY=function(e,t,n){eQ(e,t,n);var r=e.key+\"-\"+t.name;if(void 0===e.inserted[t.name]){var o=t;do e.insert(t===o?\".\"+r:\"\",o,e.sheet,!0),o=o.next;while(void 0!==o)}};function eZ(e,t){if(void 0===e.inserted[t.name])return e.insert(\"\",t,e.sheet,!0)}function eJ(e,t,n){var r=[],o=eK(e,r,n);return r.length<2?n:o+t(r)}var e0=function(e){var t=ez(e);t.sheet.speedy=function(e){this.isSpeedy=e},t.compat=!0;var n=function(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];var o=eX(n,t.registered,void 0);return eY(t,o,!1),t.key+\"-\"+o.name};return{css:n,cx:function(){for(var e=arguments.length,r=Array(e),o=0;o<e;o++)r[o]=arguments[o];return eJ(t.registered,n,e1(r))},injectGlobal:function(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];var o=eX(n,t.registered);eZ(t,o)},keyframes:function(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];var o=eX(n,t.registered),i=\"animation-\"+o.name;return eZ(t,{name:o.name,styles:\"@keyframes \"+i+\"{\"+o.styles+\"}\"}),i},hydrate:function(e){e.forEach(function(e){t.inserted[e]=!0})},flush:function(){t.registered={},t.inserted={},t.sheet.flush()},sheet:t.sheet,cache:t,getRegisteredStyles:eK.bind(null,t.registered),merge:eJ.bind(null,t.registered,n)}},e1=function e(t){for(var n=\"\",r=0;r<t.length;r++){var o=t[r];if(null!=o){var i=void 0;switch(typeof o){case\"boolean\":break;case\"object\":if(Array.isArray(o))i=e(o);else for(var a in i=\"\",o)o[a]&&a&&(i&&(i+=\" \"),i+=a);break;default:i=o}i&&(n&&(n+=\" \"),n+=i)}}return n},e2=e0({key:\"css\"}),e5=(e2.flush,e2.hydrate,e2.cx,e2.merge,e2.getRegisteredStyles,e2.injectGlobal,e2.keyframes,e2.css,e2.sheet,e2.cache),e4=function(){function e(){(0,X.A)(this,e),(0,Q.A)(this,\"_cacheList\",[e5])}return(0,K.A)(e,[{key:\"add\",value:function(e){var t=this.getCache(e.key);return t||(this._cacheList.push(e),e)}},{key:\"delete\",value:function(e){this._cacheList=this._cacheList.filter(function(t){return t.key!==e.key})}},{key:\"hasCache\",value:function(e){return this._cacheList.some(function(t){return t.key===e.key})}},{key:\"getCache\",value:function(e){return this._cacheList.find(function(t){return t.key===e})}},{key:\"getCacheList\",value:function(){return this._cacheList}}]),e}(),e6=\"u\">typeof document,e3=function(e,t){return\"\".concat(e,\"-\").concat(t)},e8=function(e,t,n,r){var o=r.hashPriority||\"high\";eQ(e,t,n);var i=\".\".concat(e3(e.key,t.name)),a=\"low\"===o?\":where(\".concat(i,\")\"):i;if(void 0===e.inserted[t.name]){var c=\"\",l=t;do{var s=e.insert(t===l?a:\"\",l,e.sheet,!0);e6||void 0===s||(c+=s),l=l.next}while(void 0!==l);if(!e6&&0!==c.length)return c}},e9=n(2284),e7=function(e){return\"object\"===(0,e9.A)(e)&&\"styles\"in e&&\"name\"in e&&\"toString\"in e},te=function e(t){for(var n=\"\",r=0;r<t.length;r++){var o=t[r];if(null!==o){var i=void 0;switch((0,e9.A)(o)){case\"boolean\":break;case\"object\":if(Array.isArray(o))i=e(o);else for(var a in i=\"\",o)o[a]&&a&&(i&&(i+=\" \"),i+=a);break;default:i=o}i&&(n&&(n+=\" \"),n+=i)}}return n},tt=function(e,t,n){var r=[],o=eK(e,r,n);return r.length<2?n:o+t(r)},tn=function(e,t){var n,r=(n={hashPriority:t.hashPriority||\"high\",label:t.label},function(){for(var t=arguments.length,r=Array(t),o=0;o<t;o++)r[o]=arguments[o];var i=eX(r,e.registered,void 0);return e8(e,i,!1,n),e3(e.key,i.name)}),o=function(){for(var t=arguments.length,n=Array(t),o=0;o<t;o++)n[o]=arguments[o];var i=n.map(function(e){return e7(e)?r(e):e});return tt(e.registered,r,te(i))};return{css:r,cx:o}},tr=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return eX(t)},to=n(8168),ti=function(e){var t=new WeakMap;return function(n){if(t.has(n))return t.get(n);var r=e(n);return t.set(n,r),r}},ta=!!U.useInsertionEffect&&U.useInsertionEffect,tc=ta||function(e){return e()},tl=ta||U.useLayoutEffect,ts=U.createContext(\"u\">typeof HTMLElement?ez({key:\"css\"}):null);ts.Provider;var tu=function(e){return(0,U.forwardRef)(function(t,n){return e(t,(0,U.useContext)(ts),n)})},tf=U.createContext({}),td=ti(function(e){return ti(function(t){return\"function\"==typeof t?t(e):(0,to.A)({},e,t)})}),th={}.hasOwnProperty,tp=\"__EMOTION_TYPE_PLEASE_DO_NOT_USE__\",tg=function(e,t){var n={};for(var r in t)th.call(t,r)&&(n[r]=t[r]);return n[tp]=e,n},tv=function(e){var t=e.cache,n=e.serialized,r=e.isStringTag;return eQ(t,n,r),tc(function(){return eY(t,n,r)}),null},tm=tu(function(e,t,n){var r=e.css;\"string\"==typeof r&&void 0!==t.registered[r]&&(r=t.registered[r]);var o=e[tp],i=[r],a=\"\";\"string\"==typeof e.className?a=eK(t.registered,i,e.className):null!=e.className&&(a=e.className+\" \");var c=eX(i,void 0,U.useContext(tf));a+=t.key+\"-\"+c.name;var l={};for(var s in e)th.call(e,s)&&\"css\"!==s&&s!==tp&&(l[s]=e[s]);return l.className=a,n&&(l.ref=n),U.createElement(U.Fragment,null,U.createElement(tv,{cache:t,serialized:c,isStringTag:\"string\"==typeof o}),U.createElement(o,l))});n(4146);var ty=function(e,t){var n=arguments;if(null==t||!th.call(t,\"css\"))return U.createElement.apply(void 0,n);var r=n.length,o=Array(r);o[0]=tm,o[1]=tg(e,t);for(var i=2;i<r;i++)o[i]=n[i];return U.createElement.apply(null,o)};x=ty||(ty={}),C||(C=x.JSX||(x.JSX={}));var tb=tu(function(e,t){var n=eX([e.styles],void 0,U.useContext(tf)),r=U.useRef();return tl(function(){var e=t.key+\"-global\",o=new t.sheet.constructor({key:e,nonce:t.sheet.nonce,container:t.sheet.container,speedy:t.sheet.isSpeedy}),i=!1,a=document.querySelector('style[data-emotion=\"'+e+\" \"+n.name+'\"]');return t.sheet.tags.length&&(o.before=t.sheet.tags[0]),null!==a&&(i=!0,a.setAttribute(\"data-emotion\",e),o.hydrate([a])),r.current=[o,i],function(){o.flush()}},[t]),tl(function(){var e=r.current,o=e[0];if(e[1]){e[1]=!1;return}if(void 0!==n.next&&eY(t,n.next,!0),o.tags.length){var i=o.tags[o.tags.length-1].nextElementSibling;o.before=i,o.flush()}t.insert(\"\",n,o,!1)},[t,n.name]),null}),tA=n(4848),tx=n(1697),tC=n(6191),tw=[\"children\",\"prefix\",\"speedy\",\"getStyleManager\",\"container\",\"nonce\",\"insertionPoint\",\"stylisPlugins\",\"linters\"],tk=n(7046),tS=n(5924),tE=n(723),tO=n(3596),t_=n(8365),t$=n(9806),tj=n(8690),tM=n(1892),tP=n(1463),tF=n(7484),tT=n(9128);let tI=(e,t)=>new tT.q(e).setAlpha(t).toRgbString(),tN=(e,t)=>new tT.q(e).lighten(t).toHexString(),tR=e=>{let t=(0,tP.cM)(e,{theme:\"dark\"});return{1:t[0],2:t[1],3:t[2],4:t[3],5:t[6],6:t[5],7:t[4],8:t[6],9:t[5],10:t[4]}},tz=(e,t)=>{let n=e||\"#000\",r=t||\"#fff\";return{colorBgBase:n,colorTextBase:r,colorText:tI(r,.85),colorTextSecondary:tI(r,.65),colorTextTertiary:tI(r,.45),colorTextQuaternary:tI(r,.25),colorFill:tI(r,.18),colorFillSecondary:tI(r,.12),colorFillTertiary:tI(r,.08),colorFillQuaternary:tI(r,.04),colorBgSolid:tI(r,.95),colorBgSolidHover:tI(r,1),colorBgSolidActive:tI(r,.9),colorBgElevated:tN(n,12),colorBgContainer:tN(n,8),colorBgLayout:tN(n,0),colorBgSpotlight:tN(n,26),colorBgBlur:tI(r,.04),colorBorder:tN(n,26),colorBorderSecondary:tN(n,19)}},tL={defaultSeed:t$.sb.token,useToken:function(){let[e,t,n]=(0,t_.Ay)();return{theme:e,token:t,hashId:n}},defaultAlgorithm:tS.A,darkAlgorithm:(e,t)=>{let n=Object.keys(tE.r).map(t=>{let n=(0,tP.cM)(e[t],{theme:\"dark\"});return Array(10).fill(1).reduce((e,r,o)=>(e[`${t}-${o+1}`]=n[o],e[`${t}${o+1}`]=n[o],e),{})}).reduce((e,t)=>e=Object.assign(Object.assign({},e),t),{});return Object.assign(Object.assign(Object.assign({},null!=t?t:(0,tS.A)(e)),n),(0,tF.A)(e,{generateColorPalettes:tR,generateNeutralColorPalettes:tz}))},compactAlgorithm:(e,t)=>{let n=null!=t?t:(0,tS.A)(e),r=n.fontSizeSM,o=n.controlHeight-4;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},n),function(e){let{sizeUnit:t,sizeStep:n}=e,r=n-2;return{sizeXXL:t*(r+10),sizeXL:t*(r+6),sizeLG:t*(r+2),sizeMD:t*(r+2),sizeMS:t*(r+1),size:t*r,sizeSM:t*r,sizeXS:t*(r-1),sizeXXS:t*(r-1)}}(null!=t?t:e)),(0,tM.A)(r)),{controlHeight:o}),(0,tj.A)(Object.assign(Object.assign({},n),{controlHeight:o})))},getDesignToken:e=>{let t=(null==e?void 0:e.algorithm)?(0,tC.an)(e.algorithm):(0,tC.an)(tS.A),n=Object.assign(Object.assign({},tE.A),null==e?void 0:e.token);return(0,tC.lO)(n,{override:null==e?void 0:e.token},t,tO.A)},defaultConfig:t$.sb,_internalContext:t$.vG};var tH=function(){return tL.useToken().token},tB=function(){var e=tH(),t={xs:\"@media (max-width: \".concat(e.screenXSMax,\"px)\"),sm:\"@media (max-width: \".concat(e.screenSMMax,\"px)\"),md:\"@media (max-width: \".concat(e.screenMDMax,\"px)\"),lg:\"@media (max-width: \".concat(e.screenLGMax,\"px)\"),xl:\"@media (max-width: \".concat(e.screenXLMax,\"px)\"),xxl:\"@media (min-width: \".concat(e.screenXXLMin,\"px)\")};return(0,U.useMemo)(function(){return(0,q.A)((0,q.A)({},t),{},{mobile:t.xs,tablet:t.md,laptop:t.lg,desktop:t.xxl})},[e])},tD=[\"stylish\",\"appearance\",\"isDarkMode\",\"prefixCls\",\"iconPrefixCls\"],tW=[\"prefixCls\",\"iconPrefixCls\"],tV=function(e){var t=U.useContext(tf);return e.theme!==t&&(t=td(t)(e.theme)),U.createElement(tf.Provider,{value:t},e.children)},tq=function(e){if(e.ThemeProvider)return e.ThemeProvider;var t=e.ThemeContext;return function(e){return(0,tA.jsx)(t.Provider,{value:e.theme,children:e.children})}},tU=n(3098);let tG=G().createContext({});var tX=n(2279),tK=n(1053),tQ=n(8104),tY=n(8450),tZ=n(8210);function tJ(){}let t0=U.createContext({}),t1=()=>{let e=()=>{};return e.deprecated=tJ,e},t2=(0,U.createContext)(void 0);var t5=n(7628);let t4=Object.assign({},t5.A.Modal),t6=[],t3=()=>t6.reduce((e,t)=>Object.assign(Object.assign({},e),t),t5.A.Modal);var t8=n(685);let t9=e=>{let{locale:t={},children:n,_ANT_MARK__:r}=e;U.useEffect(()=>(function(e){if(e){let t=Object.assign({},e);return t6.push(t),t4=t3(),()=>{t6=t6.filter(e=>e!==t),t4=t3()}}t4=Object.assign({},t5.A.Modal)})(null==t?void 0:t.Modal),[t]);let o=U.useMemo(()=>Object.assign(Object.assign({},t),{exist:!0}),[t]);return U.createElement(t8.A.Provider,{value:o},n)};var t7=n(998),ne=n(5089);let nt=`-ant-${Date.now()}-${Math.random()}`,nn=U.createContext(!1),nr=e=>{let{children:t,disabled:n}=e,r=U.useContext(nn);return U.createElement(nn.Provider,{value:null!=n?n:r},t)},no=U.createContext(void 0),ni=e=>{let{children:t,size:n}=e,r=U.useContext(no);return U.createElement(no.Provider,{value:n||r},t)};var na=n(3210);let{useId:nc}=Object.assign({},U),nl=void 0===nc?()=>\"\":nc;var ns=n(7839);function nu(e){let{children:t}=e,[,n]=(0,t_.Ay)(),{motion:r}=n,o=U.useRef(!1);return(o.current=o.current||!1===r,o.current)?U.createElement(ns.Kq,{motion:r},t):t}let nf=()=>null;var nd=n(5905),nh=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)0>t.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let np=[\"getTargetContainer\",\"getPopupContainer\",\"renderEmpty\",\"input\",\"pagination\",\"form\",\"select\",\"button\"];function ng(){return r||tX.yH}function nv(){return o||tX.pM}let nm=()=>({getPrefixCls:(e,t)=>t||(e?`${ng()}-${e}`:ng()),getIconPrefixCls:nv,getRootPrefixCls:()=>r||ng(),getTheme:()=>i,holderRender:a}),ny=e=>{var t,n,r;let o,i,a,{children:c,csp:l,autoInsertSpaceInButton:s,alert:u,anchor:f,form:d,locale:h,componentSize:p,direction:g,space:v,splitter:m,virtual:y,dropdownMatchSelectWidth:b,popupMatchSelectWidth:A,popupOverflow:x,legacyLocale:C,parentContext:w,iconPrefixCls:k,theme:S,componentDisabled:E,segmented:O,statistic:_,spin:$,calendar:j,carousel:M,cascader:P,collapse:F,typography:T,checkbox:I,descriptions:N,divider:R,drawer:z,skeleton:L,steps:H,image:B,layout:D,list:W,mentions:V,modal:q,progress:G,result:X,slider:K,breadcrumb:Q,menu:Y,pagination:Z,input:J,textArea:ee,empty:et,badge:en,radio:er,rate:eo,switch:ei,transfer:ea,avatar:ec,message:el,tag:es,table:eu,card:ef,tabs:ed,timeline:eh,timePicker:ep,upload:eg,notification:ev,tree:em,colorPicker:ey,datePicker:eb,rangePicker:eA,flex:ex,wave:eC,dropdown:ew,warning:ek,tour:eS,floatButtonGroup:eE,variant:eO,inputNumber:e_,treeSelect:e$}=e,ej=U.useCallback((t,n)=>{let{prefixCls:r}=e;if(n)return n;let o=r||w.getPrefixCls(\"\");return t?`${o}-${t}`:o},[w.getPrefixCls,e.prefixCls]),eM=k||w.iconPrefixCls||tX.pM,eP=l||w.csp;((e,t)=>{let[n,r]=(0,t_.Ay)();return(0,tC.IV)({theme:n,token:r,hashId:\"\",path:[\"ant-design-icons\",e],nonce:()=>null==t?void 0:t.nonce,layer:{name:\"antd\"}},()=>[(0,nd.jz)(e)])})(eM,eP);let eF=(t=w.theme,n={prefixCls:ej(\"\")},t1(\"ConfigProvider\"),i=!1!==(o=S||{}).inherit&&t?t:Object.assign(Object.assign({},t$.sb),{hashed:null!=(r=null==t?void 0:t.hashed)?r:t$.sb.hashed,cssVar:null==t?void 0:t.cssVar}),a=nl(),(0,tQ.A)(()=>{var e,r;if(!S)return t;let c=Object.assign({},i.components);Object.keys(S.components||{}).forEach(e=>{c[e]=Object.assign(Object.assign({},c[e]),S.components[e])});let l=`css-var-${a.replace(/:/g,\"\")}`,s=(null!=(e=o.cssVar)?e:i.cssVar)&&Object.assign(Object.assign(Object.assign({prefix:null==n?void 0:n.prefixCls},\"object\"==typeof i.cssVar?i.cssVar:{}),\"object\"==typeof o.cssVar?o.cssVar:{}),{key:\"object\"==typeof o.cssVar&&(null==(r=o.cssVar)?void 0:r.key)||l});return Object.assign(Object.assign(Object.assign({},i),o),{token:Object.assign(Object.assign({},i.token),o.token),components:c,cssVar:s})},[o,i],(e,t)=>e.some((e,n)=>{let r=t[n];return!(0,na.A)(e,r,!0)}))),eT={csp:eP,autoInsertSpaceInButton:s,alert:u,anchor:f,locale:h||C,direction:g,space:v,splitter:m,virtual:y,popupMatchSelectWidth:null!=A?A:b,popupOverflow:x,getPrefixCls:ej,iconPrefixCls:eM,theme:eF,segmented:O,statistic:_,spin:$,calendar:j,carousel:M,cascader:P,collapse:F,typography:T,checkbox:I,descriptions:N,divider:R,drawer:z,skeleton:L,steps:H,image:B,input:J,textArea:ee,layout:D,list:W,mentions:V,modal:q,progress:G,result:X,slider:K,breadcrumb:Q,menu:Y,pagination:Z,empty:et,badge:en,radio:er,rate:eo,switch:ei,transfer:ea,avatar:ec,message:el,tag:es,table:eu,card:ef,tabs:ed,timeline:eh,timePicker:ep,upload:eg,notification:ev,tree:em,colorPicker:ey,datePicker:eb,rangePicker:eA,flex:ex,wave:eC,dropdown:ew,warning:ek,tour:eS,floatButtonGroup:eE,variant:eO,inputNumber:e_,treeSelect:e$},eI=Object.assign({},w);Object.keys(eT).forEach(e=>{void 0!==eT[e]&&(eI[e]=eT[e])}),np.forEach(t=>{let n=e[t];n&&(eI[t]=n)}),void 0!==s&&(eI.button=Object.assign({autoInsertSpace:s},eI.button));let eN=(0,tQ.A)(()=>eI,eI,(e,t)=>{let n=Object.keys(e),r=Object.keys(t);return n.length!==r.length||n.some(n=>e[n]!==t[n])}),eR=U.useMemo(()=>({prefixCls:eM,csp:eP}),[eM,eP]),ez=U.createElement(U.Fragment,null,U.createElement(nf,{dropdownMatchSelectWidth:b}),c),eL=U.useMemo(()=>{var e,t,n,r;return(0,tY.h)((null==(e=t5.A.Form)?void 0:e.defaultValidateMessages)||{},(null==(n=null==(t=eN.locale)?void 0:t.Form)?void 0:n.defaultValidateMessages)||{},(null==(r=eN.form)?void 0:r.validateMessages)||{},(null==d?void 0:d.validateMessages)||{})},[eN,null==d?void 0:d.validateMessages]);Object.keys(eL).length>0&&(ez=U.createElement(t2.Provider,{value:eL},ez)),h&&(ez=U.createElement(t9,{locale:h,_ANT_MARK__:\"internalMark\"},ez)),(eM||eP)&&(ez=U.createElement(tK.A.Provider,{value:eR},ez)),p&&(ez=U.createElement(ni,{size:p},ez)),ez=U.createElement(nu,null,ez);let eH=U.useMemo(()=>{let e=eF||{},{algorithm:t,token:n,components:r,cssVar:o}=e,i=nh(e,[\"algorithm\",\"token\",\"components\",\"cssVar\"]),a=t&&(!Array.isArray(t)||t.length>0)?(0,tC.an)(t):t$.zQ,c={};Object.entries(r||{}).forEach(e=>{let[t,n]=e,r=Object.assign({},n);\"algorithm\"in r&&(!0===r.algorithm?r.theme=a:(Array.isArray(r.algorithm)||\"function\"==typeof r.algorithm)&&(r.theme=(0,tC.an)(r.algorithm)),delete r.algorithm),c[t]=r});let l=Object.assign(Object.assign({},tE.A),n);return Object.assign(Object.assign({},i),{theme:a,token:l,components:c,override:Object.assign({override:l},c),cssVar:o})},[eF]);return S&&(ez=U.createElement(t$.vG.Provider,{value:eH},ez)),eN.warning&&(ez=U.createElement(t0.Provider,{value:eN.warning},ez)),void 0!==E&&(ez=U.createElement(nr,{disabled:E},ez)),U.createElement(tX.QO.Provider,{value:eN},ez)},nb=e=>{let t=U.useContext(tX.QO),n=U.useContext(t8.A);return U.createElement(ny,Object.assign({parentContext:t,legacyLocale:n},e))};nb.ConfigContext=tX.QO,nb.SizeContext=no,nb.config=e=>{let{prefixCls:t,iconPrefixCls:n,theme:c,holderRender:l}=e;if(void 0!==t&&(r=t),void 0!==n&&(o=n),\"holderRender\"in e&&(a=l),c)if(Object.keys(c).some(e=>e.endsWith(\"Color\"))){let e;e=function(e,t){let n={},r=(e,t)=>{let n=e.clone();return(n=(null==t?void 0:t(n))||n).toRgbString()},o=(e,t)=>{let o=new tT.q(e),i=(0,tP.cM)(o.toRgbString());n[`${t}-color`]=r(o),n[`${t}-color-disabled`]=i[1],n[`${t}-color-hover`]=i[4],n[`${t}-color-active`]=i[6],n[`${t}-color-outline`]=o.clone().setAlpha(.2).toRgbString(),n[`${t}-color-deprecated-bg`]=i[0],n[`${t}-color-deprecated-border`]=i[2]};if(t.primaryColor){o(t.primaryColor,\"primary\");let e=new tT.q(t.primaryColor),i=(0,tP.cM)(e.toRgbString());i.forEach((e,t)=>{n[`primary-${t+1}`]=e}),n[\"primary-color-deprecated-l-35\"]=r(e,e=>e.lighten(35)),n[\"primary-color-deprecated-l-20\"]=r(e,e=>e.lighten(20)),n[\"primary-color-deprecated-t-20\"]=r(e,e=>e.tint(20)),n[\"primary-color-deprecated-t-50\"]=r(e,e=>e.tint(50)),n[\"primary-color-deprecated-f-12\"]=r(e,e=>e.setAlpha(.12*e.getAlpha()));let a=new tT.q(i[0]);n[\"primary-color-active-deprecated-f-30\"]=r(a,e=>e.setAlpha(.3*e.getAlpha())),n[\"primary-color-active-deprecated-d-02\"]=r(a,e=>e.darken(2))}t.successColor&&o(t.successColor,\"success\"),t.warningColor&&o(t.warningColor,\"warning\"),t.errorColor&&o(t.errorColor,\"error\"),t.infoColor&&o(t.infoColor,\"info\");let i=Object.keys(n).map(t=>`--${e}-${t}: ${n[t]};`);return`\n  :root {\n    ${i.join(\"\\n\")}\n  }\n  `.trim()}(ng(),c),(0,t7.A)()&&(0,ne.BD)(e,`${nt}-dynamic-theme`)}else i=c},nb.useConfig=function(){return{componentDisabled:(0,U.useContext)(nn),componentSize:(0,U.useContext)(no)}},Object.defineProperty(nb,\"SizeContext\",{get:()=>no});var nA=n(9871);let nx={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z\"}}]},name:\"check-circle\",theme:\"filled\"};var nC=n(3956),nw=U.forwardRef(function(e,t){return U.createElement(nC.A,(0,to.A)({},e,{ref:t,icon:nx}))});let nk={icon:{tag:\"svg\",attrs:{\"fill-rule\":\"evenodd\",viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm127.98 274.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z\"}}]},name:\"close-circle\",theme:\"filled\"};var nS=U.forwardRef(function(e,t){return U.createElement(nC.A,(0,to.A)({},e,{ref:t,icon:nk}))});let nE={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z\"}}]},name:\"exclamation-circle\",theme:\"filled\"};var nO=U.forwardRef(function(e,t){return U.createElement(nC.A,(0,to.A)({},e,{ref:t,icon:nE}))});let n_={icon:{tag:\"svg\",attrs:{viewBox:\"64 64 896 896\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 010-96 48.01 48.01 0 010 96z\"}}]},name:\"info-circle\",theme:\"filled\"};var n$=U.forwardRef(function(e,t){return U.createElement(nC.A,(0,to.A)({},e,{ref:t,icon:n_}))});let nj={icon:{tag:\"svg\",attrs:{viewBox:\"0 0 1024 1024\",focusable:\"false\"},children:[{tag:\"path\",attrs:{d:\"M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z\"}}]},name:\"loading\",theme:\"outlined\"};var nM=U.forwardRef(function(e,t){return U.createElement(nC.A,(0,to.A)({},e,{ref:t,icon:nj}))}),nP=n(6942),nF=n.n(nP),nT=n(4646),nI={MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,PERIOD:190,SLASH:191,APOSTROPHE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,WIN_IME:229,isTextModifyingKeyEvent:function(e){var t=e.keyCode;if(e.altKey&&!e.ctrlKey||e.metaKey||t>=nI.F1&&t<=nI.F12)return!1;switch(t){case nI.ALT:case nI.CAPS_LOCK:case nI.CONTEXT_MENU:case nI.CTRL:case nI.DOWN:case nI.END:case nI.ESC:case nI.HOME:case nI.INSERT:case nI.LEFT:case nI.MAC_FF_META:case nI.META:case nI.NUMLOCK:case nI.NUM_CENTER:case nI.PAGE_DOWN:case nI.PAGE_UP:case nI.PAUSE:case nI.PRINT_SCREEN:case nI.RIGHT:case nI.SHIFT:case nI.UP:case nI.WIN_KEY:case nI.WIN_KEY_RIGHT:return!1;default:return!0}},isCharacterKey:function(e){if(e>=nI.ZERO&&e<=nI.NINE||e>=nI.NUM_ZERO&&e<=nI.NUM_MULTIPLY||e>=nI.A&&e<=nI.Z||-1!==window.navigator.userAgent.indexOf(\"WebKit\")&&0===e)return!0;switch(e){case nI.SPACE:case nI.QUESTION_MARK:case nI.NUM_PLUS:case nI.NUM_MINUS:case nI.NUM_PERIOD:case nI.NUM_DIVISION:case nI.SEMICOLON:case nI.DASH:case nI.EQUALS:case nI.COMMA:case nI.PERIOD:case nI.SLASH:case nI.APOSTROPHE:case nI.SINGLE_QUOTE:case nI.OPEN_SQUARE_BRACKET:case nI.BACKSLASH:case nI.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}},nN=n(2065),nR=U.forwardRef(function(e,t){var n=e.prefixCls,r=e.style,o=e.className,i=e.duration,a=void 0===i?4.5:i,c=e.showProgress,l=e.pauseOnHover,s=void 0===l||l,u=e.eventKey,f=e.content,d=e.closable,h=e.closeIcon,p=void 0===h?\"x\":h,g=e.props,v=e.onClick,m=e.onNoticeClose,y=e.times,b=e.hovering,A=U.useState(!1),x=(0,tk.A)(A,2),C=x[0],w=x[1],k=U.useState(0),S=(0,tk.A)(k,2),E=S[0],O=S[1],_=U.useState(0),$=(0,tk.A)(_,2),j=$[0],M=$[1],P=b||C,F=a>0&&c,T=function(){m(u)};U.useEffect(function(){if(!P&&a>0){var e=Date.now()-j,t=setTimeout(function(){T()},1e3*a-j);return function(){s&&clearTimeout(t),M(Date.now()-e)}}},[a,P,y]),U.useEffect(function(){if(!P&&F&&(s||0===j)){var e,t=performance.now();return!function n(){cancelAnimationFrame(e),e=requestAnimationFrame(function(e){var r=Math.min((e+j-t)/(1e3*a),1);O(100*r),r<1&&n()})}(),function(){s&&cancelAnimationFrame(e)}}},[a,j,P,F,y]);var I=U.useMemo(function(){return\"object\"===(0,e9.A)(d)&&null!==d?d:d?{closeIcon:p}:{}},[d,p]),N=(0,nN.A)(I,!0),R=100-(!E||E<0?0:E>100?100:E),z=\"\".concat(n,\"-notice\");return U.createElement(\"div\",(0,to.A)({},g,{ref:t,className:nF()(z,o,(0,Q.A)({},\"\".concat(z,\"-closable\"),d)),style:r,onMouseEnter:function(e){var t;w(!0),null==g||null==(t=g.onMouseEnter)||t.call(g,e)},onMouseLeave:function(e){var t;w(!1),null==g||null==(t=g.onMouseLeave)||t.call(g,e)},onClick:v}),U.createElement(\"div\",{className:\"\".concat(z,\"-content\")},f),d&&U.createElement(\"a\",(0,to.A)({tabIndex:0,className:\"\".concat(z,\"-close\"),onKeyDown:function(e){(\"Enter\"===e.key||\"Enter\"===e.code||e.keyCode===nI.ENTER)&&T()},\"aria-label\":\"Close\"},N,{onClick:function(e){e.preventDefault(),e.stopPropagation(),T()}}),I.closeIcon),F&&U.createElement(\"progress\",{className:\"\".concat(z,\"-progress\"),max:\"100\",value:R},R+\"%\"))}),nz=G().createContext({});let nL=function(e){var t=e.children,n=e.classNames;return G().createElement(nz.Provider,{value:{classNames:n}},t)},nH=function(e){var t,n,r,o={offset:8,threshold:3,gap:16};return e&&\"object\"===(0,e9.A)(e)&&(o.offset=null!=(t=e.offset)?t:8,o.threshold=null!=(n=e.threshold)?n:3,o.gap=null!=(r=e.gap)?r:16),[!!e,o]};var nB=[\"className\",\"style\",\"classNames\",\"styles\"];let nD=function(e){var t=e.configList,n=e.placement,r=e.prefixCls,o=e.className,i=e.style,a=e.motion,c=e.onAllNoticeRemoved,l=e.onNoticeClose,s=e.stack,u=(0,U.useContext)(nz).classNames,f=(0,U.useRef)({}),d=(0,U.useState)(null),h=(0,tk.A)(d,2),p=h[0],g=h[1],v=(0,U.useState)([]),m=(0,tk.A)(v,2),y=m[0],b=m[1],A=t.map(function(e){return{config:e,key:String(e.key)}}),x=nH(s),C=(0,tk.A)(x,2),w=C[0],k=C[1],S=k.offset,E=k.threshold,O=k.gap,_=w&&(y.length>0||A.length<=E),$=\"function\"==typeof a?a(n):a;return(0,U.useEffect)(function(){w&&y.length>1&&b(function(e){return e.filter(function(e){return A.some(function(t){return e===t.key})})})},[y,A,w]),(0,U.useEffect)(function(){var e,t;w&&f.current[null==(e=A[A.length-1])?void 0:e.key]&&g(f.current[null==(t=A[A.length-1])?void 0:t.key])},[A,w]),G().createElement(ns.aF,(0,to.A)({key:n,className:nF()(r,\"\".concat(r,\"-\").concat(n),null==u?void 0:u.list,o,(0,Q.A)((0,Q.A)({},\"\".concat(r,\"-stack\"),!!w),\"\".concat(r,\"-stack-expanded\"),_)),style:i,keys:A,motionAppear:!0},$,{onAllRemoved:function(){c(n)}}),function(e,t){var o=e.config,i=e.className,a=e.style,c=e.index,s=o.key,d=o.times,h=String(s),g=o.className,v=o.style,m=o.classNames,x=o.styles,C=(0,tx.A)(o,nB),k=A.findIndex(function(e){return e.key===h}),E={};if(w){var $=A.length-1-(k>-1?k:c-1),j=\"top\"===n||\"bottom\"===n?\"-50%\":\"0\";if($>0){E.height=_?null==(M=f.current[h])?void 0:M.offsetHeight:null==p?void 0:p.offsetHeight;for(var M,P,F,T,I=0,N=0;N<$;N++)I+=(null==(T=f.current[A[A.length-1-N].key])?void 0:T.offsetHeight)+O;var R=(_?I:$*S)*(n.startsWith(\"top\")?1:-1),z=!_&&null!=p&&p.offsetWidth&&null!=(P=f.current[h])&&P.offsetWidth?((null==p?void 0:p.offsetWidth)-2*S*($<3?$:3))/(null==(F=f.current[h])?void 0:F.offsetWidth):1;E.transform=\"translate3d(\".concat(j,\", \").concat(R,\"px, 0) scaleX(\").concat(z,\")\")}else E.transform=\"translate3d(\".concat(j,\", 0, 0)\")}return G().createElement(\"div\",{ref:t,className:nF()(\"\".concat(r,\"-notice-wrapper\"),i,null==m?void 0:m.wrapper),style:(0,q.A)((0,q.A)((0,q.A)({},a),E),null==x?void 0:x.wrapper),onMouseEnter:function(){return b(function(e){return e.includes(h)?e:[].concat((0,tU.A)(e),[h])})},onMouseLeave:function(){return b(function(e){return e.filter(function(e){return e!==h})})}},G().createElement(nR,(0,to.A)({},C,{ref:function(e){k>-1?f.current[h]=e:delete f.current[h]},prefixCls:r,classNames:m,styles:x,className:nF()(g,null==u?void 0:u.notice),style:v,times:d,key:s,eventKey:s,onNoticeClose:l,hovering:w&&y.length>0})))})};var nW=U.forwardRef(function(e,t){var n=e.prefixCls,r=void 0===n?\"rc-notification\":n,o=e.container,i=e.motion,a=e.maxCount,c=e.className,l=e.style,s=e.onAllRemoved,u=e.stack,f=e.renderNotifications,d=U.useState([]),h=(0,tk.A)(d,2),p=h[0],g=h[1],v=function(e){var t,n=p.find(function(t){return t.key===e});null==n||null==(t=n.onClose)||t.call(n),g(function(t){return t.filter(function(t){return t.key!==e})})};U.useImperativeHandle(t,function(){return{open:function(e){g(function(t){var n,r=(0,tU.A)(t),o=r.findIndex(function(t){return t.key===e.key}),i=(0,q.A)({},e);return o>=0?(i.times=((null==(n=t[o])?void 0:n.times)||0)+1,r[o]=i):(i.times=0,r.push(i)),a>0&&r.length>a&&(r=r.slice(-a)),r})},close:function(e){v(e)},destroy:function(){g([])}}});var m=U.useState({}),y=(0,tk.A)(m,2),b=y[0],A=y[1];U.useEffect(function(){var e={};p.forEach(function(t){var n=t.placement,r=void 0===n?\"topRight\":n;r&&(e[r]=e[r]||[],e[r].push(t))}),Object.keys(b).forEach(function(t){e[t]=e[t]||[]}),A(e)},[p]);var x=function(e){A(function(t){var n=(0,q.A)({},t);return(n[e]||[]).length||delete n[e],n})},C=U.useRef(!1);if(U.useEffect(function(){Object.keys(b).length>0?C.current=!0:C.current&&(null==s||s(),C.current=!1)},[b]),!o)return null;var w=Object.keys(b);return(0,nT.createPortal)(U.createElement(U.Fragment,null,w.map(function(e){var t=b[e],n=U.createElement(nD,{key:e,configList:t,placement:e,prefixCls:r,className:null==c?void 0:c(e),style:null==l?void 0:l(e),motion:i,onNoticeClose:v,onAllNoticeRemoved:x,stack:u});return f?f(n,{prefixCls:r,key:e}):n})),o)}),nV=n(1470),nq=[\"getContainer\",\"motion\",\"prefixCls\",\"maxCount\",\"className\",\"style\",\"onAllRemoved\",\"stack\",\"renderNotifications\"],nU=function(){return document.body},nG=0;function nX(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.getContainer,n=void 0===t?nU:t,r=e.motion,o=e.prefixCls,i=e.maxCount,a=e.className,c=e.style,l=e.onAllRemoved,s=e.stack,u=e.renderNotifications,f=(0,tx.A)(e,nq),d=U.useState(),h=(0,tk.A)(d,2),p=h[0],g=h[1],v=U.useRef(),m=U.createElement(nW,{container:p,ref:v,prefixCls:o,motion:r,maxCount:i,className:a,style:c,onAllRemoved:l,stack:s,renderNotifications:u}),y=U.useState([]),b=(0,tk.A)(y,2),A=b[0],x=b[1],C=(0,nV._q)(function(e){var t=function(){for(var e={},t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return n.forEach(function(t){t&&Object.keys(t).forEach(function(n){var r=t[n];void 0!==r&&(e[n]=r)})}),e}(f,e);(null===t.key||void 0===t.key)&&(t.key=\"rc-notification-\".concat(nG),nG+=1),x(function(e){return[].concat((0,tU.A)(e),[{type:\"open\",config:t}])})}),w=U.useMemo(function(){return{open:C,close:function(e){x(function(t){return[].concat((0,tU.A)(t),[{type:\"close\",key:e}])})},destroy:function(){x(function(e){return[].concat((0,tU.A)(e),[{type:\"destroy\"}])})}}},[]);return U.useEffect(function(){g(n())}),U.useEffect(function(){if(v.current&&A.length){var e,t;A.forEach(function(e){switch(e.type){case\"open\":v.current.open(e.config);break;case\"close\":v.current.close(e.key);break;case\"destroy\":v.current.destroy()}}),x(function(n){return e===n&&t||(e=n,t=n.filter(function(e){return!A.includes(e)})),t})}},[A]),[w,m]}let nK=e=>{let[,,,,t]=(0,t_.Ay)();return t?`${e}-css-var`:\"\"},nQ=G().createContext(void 0),nY={Modal:100,Drawer:100,Popover:100,Popconfirm:100,Tooltip:100,Tour:100,FloatButton:100},nZ={SelectLike:50,Dropdown:50,DatePicker:50,Menu:50,ImagePreview:1};var nJ=n(7358),n0=n(224);let n1=(0,nJ.OF)(\"Message\",e=>[(e=>{let{componentCls:t,iconCls:n,boxShadow:r,colorText:o,colorSuccess:i,colorError:a,colorWarning:c,colorInfo:l,fontSizeLG:s,motionEaseInOutCirc:u,motionDurationSlow:f,marginXS:d,paddingXS:h,borderRadiusLG:p,zIndexPopup:g,contentPadding:v,contentBg:m}=e,y=`${t}-notice`,b=new tC.Mo(\"MessageMoveIn\",{\"0%\":{padding:0,transform:\"translateY(-100%)\",opacity:0},\"100%\":{padding:h,transform:\"translateY(0)\",opacity:1}}),A=new tC.Mo(\"MessageMoveOut\",{\"0%\":{maxHeight:e.height,padding:h,opacity:1},\"100%\":{maxHeight:0,padding:0,opacity:0}}),x={padding:h,textAlign:\"center\",[`${t}-custom-content`]:{display:\"flex\",alignItems:\"center\"},[`${t}-custom-content > ${n}`]:{marginInlineEnd:d,fontSize:s},[`${y}-content`]:{display:\"inline-block\",padding:v,background:m,borderRadius:p,boxShadow:r,pointerEvents:\"all\"},[`${t}-success > ${n}`]:{color:i},[`${t}-error > ${n}`]:{color:a},[`${t}-warning > ${n}`]:{color:c},[`${t}-info > ${n},\n      ${t}-loading > ${n}`]:{color:l}};return[{[t]:Object.assign(Object.assign({},(0,nd.dF)(e)),{color:o,position:\"fixed\",top:d,width:\"100%\",pointerEvents:\"none\",zIndex:g,[`${t}-move-up`]:{animationFillMode:\"forwards\"},[`\n        ${t}-move-up-appear,\n        ${t}-move-up-enter\n      `]:{animationName:b,animationDuration:f,animationPlayState:\"paused\",animationTimingFunction:u},[`\n        ${t}-move-up-appear${t}-move-up-appear-active,\n        ${t}-move-up-enter${t}-move-up-enter-active\n      `]:{animationPlayState:\"running\"},[`${t}-move-up-leave`]:{animationName:A,animationDuration:f,animationPlayState:\"paused\",animationTimingFunction:u},[`${t}-move-up-leave${t}-move-up-leave-active`]:{animationPlayState:\"running\"},\"&-rtl\":{direction:\"rtl\",span:{direction:\"rtl\"}}})},{[t]:{[`${y}-wrapper`]:Object.assign({},x)}},{[`${t}-notice-pure-panel`]:Object.assign(Object.assign({},x),{padding:0,textAlign:\"start\"})}]})((0,n0.oX)(e,{height:150}))],e=>({zIndexPopup:e.zIndexPopupBase+1e3+10,contentBg:e.colorBgElevated,contentPadding:`${(e.controlHeightLG-e.fontSize*e.lineHeight)/2}px ${e.paddingSM}px`}));var n2=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)0>t.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let n5={info:U.createElement(n$,null),success:U.createElement(nw,null),error:U.createElement(nS,null),warning:U.createElement(nO,null),loading:U.createElement(nM,null)},n4=e=>{let{prefixCls:t,type:n,icon:r,children:o}=e;return U.createElement(\"div\",{className:nF()(`${t}-custom-content`,`${t}-${n}`)},r||n5[n],U.createElement(\"span\",null,o))};var n6=n(5100);function n3(e){let t,n=new Promise(n=>{t=e(()=>{n(!0)})}),r=()=>{null==t||t()};return r.then=(e,t)=>n.then(e,t),r.promise=n,r}var n8=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)0>t.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let n9=e=>{let{children:t,prefixCls:n}=e,r=nK(n),[o,i,a]=n1(n,r);return o(U.createElement(nL,{classNames:{list:nF()(i,a,r)}},t))},n7=(e,t)=>{let{prefixCls:n,key:r}=t;return U.createElement(n9,{prefixCls:n,key:r},e)},re=U.forwardRef((e,t)=>{let{top:n,prefixCls:r,getContainer:o,maxCount:i,duration:a=3,rtl:c,transitionName:l,onAllRemoved:s}=e,{getPrefixCls:u,getPopupContainer:f,message:d,direction:h}=U.useContext(tX.QO),p=r||u(\"message\"),g=U.createElement(\"span\",{className:`${p}-close-x`},U.createElement(n6.A,{className:`${p}-close-icon`})),[v,m]=nX({prefixCls:p,style:()=>({left:\"50%\",transform:\"translateX(-50%)\",top:null!=n?n:8}),className:()=>nF()({[`${p}-rtl`]:null!=c?c:\"rtl\"===h}),motion:()=>({motionName:null!=l?l:`${p}-move-up`}),closable:!1,closeIcon:g,duration:a,getContainer:()=>(null==o?void 0:o())||(null==f?void 0:f())||document.body,maxCount:i,onAllRemoved:s,renderNotifications:n7});return U.useImperativeHandle(t,()=>Object.assign(Object.assign({},v),{prefixCls:p,message:d})),m}),rt=0;function rn(e){let t=U.useRef(null);return t1(\"Message\"),[U.useMemo(()=>{let e=e=>{var n;null==(n=t.current)||n.close(e)},n=n=>{if(!t.current){let e=()=>{};return e.then=()=>{},e}let{open:r,prefixCls:o,message:i}=t.current,a=`${o}-notice`,{content:c,icon:l,type:s,key:u,className:f,style:d,onClose:h}=n,p=n8(n,[\"content\",\"icon\",\"type\",\"key\",\"className\",\"style\",\"onClose\"]),g=u;return null==g&&(rt+=1,g=`antd-message-${rt}`),n3(t=>(r(Object.assign(Object.assign({},p),{key:g,content:U.createElement(n4,{prefixCls:o,type:s,icon:l},c),placement:\"top\",className:nF()(s&&`${a}-${s}`,f,null==i?void 0:i.className),style:Object.assign(Object.assign({},null==i?void 0:i.style),d),onClose:()=>{null==h||h(),t()}})),()=>{e(g)}))},r={open:n,destroy:n=>{var r;void 0!==n?e(n):null==(r=t.current)||r.destroy()}};return[\"info\",\"success\",\"warning\",\"error\",\"loading\"].forEach(e=>{r[e]=(t,r,o)=>{let i,a,c;return i=t&&\"object\"==typeof t&&\"content\"in t?t:{content:t},\"function\"==typeof r?c=r:(a=r,c=o),n(Object.assign(Object.assign({onClose:c,duration:a},i),{type:e}))}}),r},[]),U.createElement(re,Object.assign({key:\"message-holder\"},e,{ref:t}))]}let rr=null,ro=[],ri={};function ra(){let{getContainer:e,duration:t,rtl:n,maxCount:r,top:o}=ri,i=(null==e?void 0:e())||document.body;return{getContainer:()=>i,duration:t,rtl:n,maxCount:r,top:o}}let rc=G().forwardRef((e,t)=>{let{messageConfig:n,sync:r}=e,{getPrefixCls:o}=(0,U.useContext)(tX.QO),i=ri.prefixCls||o(\"message\"),a=(0,U.useContext)(tG),[c,l]=rn(Object.assign(Object.assign(Object.assign({},n),{prefixCls:i}),a.message));return G().useImperativeHandle(t,()=>{let e=Object.assign({},c);return Object.keys(e).forEach(t=>{e[t]=function(){return r(),c[t].apply(c,arguments)}}),{instance:e,sync:r}}),l}),rl=G().forwardRef((e,t)=>{let[n,r]=G().useState(ra),o=()=>{r(ra)};G().useEffect(o,[]);let i=nm(),a=i.getRootPrefixCls(),c=i.getIconPrefixCls(),l=i.getTheme(),s=G().createElement(rc,{ref:t,sync:o,messageConfig:n});return G().createElement(nb,{prefixCls:a,iconPrefixCls:c,theme:l},i.holderRender?i.holderRender(s):s)});function rs(){if(!rr){let e=document.createDocumentFragment(),t={fragment:e};rr=t,(0,nA.K)()(G().createElement(rl,{ref:e=>{let{instance:n,sync:r}=e||{};Promise.resolve().then(()=>{!t.instance&&n&&(t.instance=n,t.sync=r,rs())})}}),e);return}rr.instance&&(ro.forEach(e=>{let{type:t,skipped:n}=e;if(!n)switch(t){case\"open\":let r=rr.instance.open(Object.assign(Object.assign({},ri),e.config));null==r||r.then(e.resolve),e.setCloseFn(r);break;case\"destroy\":null==rr||rr.instance.destroy(e.key);break;default:var o;let i=(o=rr.instance)[t].apply(o,(0,tU.A)(e.args));null==i||i.then(e.resolve),e.setCloseFn(i)}}),ro=[])}let ru={open:function(e){let t=n3(t=>{let n,r={type:\"open\",config:e,resolve:t,setCloseFn:e=>{n=e}};return ro.push(r),()=>{n?n():r.skipped=!0}});return rs(),t},destroy:e=>{ro.push({type:\"destroy\",key:e}),rs()},config:function(e){var t;ri=Object.assign(Object.assign({},ri),e),null==(t=null==rr?void 0:rr.sync)||t.call(rr)},useMessage:function(e){return rn(e)},_InternalPanelDoNotUseOrYouWillBeFired:e=>{let{prefixCls:t,className:n,type:r,icon:o,content:i}=e,a=n2(e,[\"prefixCls\",\"className\",\"type\",\"icon\",\"content\"]),{getPrefixCls:c}=U.useContext(tX.QO),l=t||c(\"message\"),s=nK(l),[u,f,d]=n1(l,s);return u(U.createElement(nR,Object.assign({},a,{prefixCls:l,className:nF()(n,f,`${l}-notice-pure-panel`,d,s),eventKey:\"pure\",duration:null,content:U.createElement(n4,{prefixCls:l,type:r,icon:o},i)})))}};[\"success\",\"info\",\"warning\",\"error\",\"loading\"].forEach(e=>{ru[e]=function(){let t;for(var n=arguments.length,r=Array(n),o=0;o<n;o++)r[o]=arguments[o];return nm(),t=n3(t=>{let n,o={type:e,args:r,resolve:t,setCloseFn:e=>{n=e}};return ro.push(o),()=>{n?n():o.skipped=!0}}),rs(),t}});let rf=[\"top\",\"topLeft\",\"topRight\",\"bottom\",\"bottomLeft\",\"bottomRight\"],rd={topLeft:\"left\",topRight:\"right\",bottomLeft:\"left\",bottomRight:\"right\",top:\"left\",bottom:\"left\"},rh=e=>{let{iconCls:t,componentCls:n,boxShadow:r,fontSizeLG:o,notificationMarginBottom:i,borderRadiusLG:a,colorSuccess:c,colorInfo:l,colorWarning:s,colorError:u,colorTextHeading:f,notificationBg:d,notificationPadding:h,notificationMarginEdge:p,notificationProgressBg:g,notificationProgressHeight:v,fontSize:m,lineHeight:y,width:b,notificationIconSize:A,colorText:x}=e,C=`${n}-notice`;return{position:\"relative\",marginBottom:i,marginInlineStart:\"auto\",background:d,borderRadius:a,boxShadow:r,[C]:{padding:h,width:b,maxWidth:`calc(100vw - ${(0,tC.zA)(e.calc(p).mul(2).equal())})`,overflow:\"hidden\",lineHeight:y,wordWrap:\"break-word\"},[`${C}-message`]:{marginBottom:e.marginXS,color:f,fontSize:o,lineHeight:e.lineHeightLG},[`${C}-description`]:{fontSize:m,color:x},[`${C}-closable ${C}-message`]:{paddingInlineEnd:e.paddingLG},[`${C}-with-icon ${C}-message`]:{marginBottom:e.marginXS,marginInlineStart:e.calc(e.marginSM).add(A).equal(),fontSize:o},[`${C}-with-icon ${C}-description`]:{marginInlineStart:e.calc(e.marginSM).add(A).equal(),fontSize:m},[`${C}-icon`]:{position:\"absolute\",fontSize:A,lineHeight:1,[`&-success${t}`]:{color:c},[`&-info${t}`]:{color:l},[`&-warning${t}`]:{color:s},[`&-error${t}`]:{color:u}},[`${C}-close`]:Object.assign({position:\"absolute\",top:e.notificationPaddingVertical,insetInlineEnd:e.notificationPaddingHorizontal,color:e.colorIcon,outline:\"none\",width:e.notificationCloseButtonSize,height:e.notificationCloseButtonSize,borderRadius:e.borderRadiusSM,transition:`background-color ${e.motionDurationMid}, color ${e.motionDurationMid}`,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",\"&:hover\":{color:e.colorIconHover,backgroundColor:e.colorBgTextHover},\"&:active\":{backgroundColor:e.colorBgTextActive}},(0,nd.K8)(e)),[`${C}-progress`]:{position:\"absolute\",display:\"block\",appearance:\"none\",WebkitAppearance:\"none\",inlineSize:`calc(100% - ${(0,tC.zA)(a)} * 2)`,left:{_skip_check_:!0,value:a},right:{_skip_check_:!0,value:a},bottom:0,blockSize:v,border:0,\"&, &::-webkit-progress-bar\":{borderRadius:a,backgroundColor:\"rgba(0, 0, 0, 0.04)\"},\"&::-moz-progress-bar\":{background:g},\"&::-webkit-progress-value\":{borderRadius:a,background:g}},[`${C}-btn`]:{float:\"right\",marginTop:e.marginSM}}},rp=e=>({zIndexPopup:e.zIndexPopupBase+1e3+50,width:384}),rg=e=>{let t=e.paddingMD,n=e.paddingLG;return(0,n0.oX)(e,{notificationBg:e.colorBgElevated,notificationPaddingVertical:t,notificationPaddingHorizontal:n,notificationIconSize:e.calc(e.fontSizeLG).mul(e.lineHeightLG).equal(),notificationCloseButtonSize:e.calc(e.controlHeightLG).mul(.55).equal(),notificationMarginBottom:e.margin,notificationPadding:`${(0,tC.zA)(e.paddingMD)} ${(0,tC.zA)(e.paddingContentHorizontalLG)}`,notificationMarginEdge:e.marginLG,animationMaxHeight:150,notificationStackLayer:3,notificationProgressHeight:2,notificationProgressBg:`linear-gradient(90deg, ${e.colorPrimaryBorderHover}, ${e.colorPrimary})`})},rv=(0,nJ.OF)(\"Notification\",e=>{let t=rg(e);return[(e=>{let{componentCls:t,notificationMarginBottom:n,notificationMarginEdge:r,motionDurationMid:o,motionEaseInOut:i}=e,a=`${t}-notice`,c=new tC.Mo(\"antNotificationFadeOut\",{\"0%\":{maxHeight:e.animationMaxHeight,marginBottom:n},\"100%\":{maxHeight:0,marginBottom:0,paddingTop:0,paddingBottom:0,opacity:0}});return[{[t]:Object.assign(Object.assign({},(0,nd.dF)(e)),{position:\"fixed\",zIndex:e.zIndexPopup,marginRight:{value:r,_skip_check_:!0},[`${t}-hook-holder`]:{position:\"relative\"},[`${t}-fade-appear-prepare`]:{opacity:\"0 !important\"},[`${t}-fade-enter, ${t}-fade-appear`]:{animationDuration:e.motionDurationMid,animationTimingFunction:i,animationFillMode:\"both\",opacity:0,animationPlayState:\"paused\"},[`${t}-fade-leave`]:{animationTimingFunction:i,animationFillMode:\"both\",animationDuration:o,animationPlayState:\"paused\"},[`${t}-fade-enter${t}-fade-enter-active, ${t}-fade-appear${t}-fade-appear-active`]:{animationPlayState:\"running\"},[`${t}-fade-leave${t}-fade-leave-active`]:{animationName:c,animationPlayState:\"running\"},\"&-rtl\":{direction:\"rtl\",[`${a}-btn`]:{float:\"left\"}}})},{[t]:{[`${a}-wrapper`]:Object.assign({},rh(e))}}]})(t),(e=>{let{componentCls:t,notificationMarginEdge:n,animationMaxHeight:r}=e,o=`${t}-notice`,i=new tC.Mo(\"antNotificationFadeIn\",{\"0%\":{transform:\"translate3d(100%, 0, 0)\",opacity:0},\"100%\":{transform:\"translate3d(0, 0, 0)\",opacity:1}});return{[t]:{[`&${t}-top, &${t}-bottom`]:{marginInline:0,[o]:{marginInline:\"auto auto\"}},[`&${t}-top`]:{[`${t}-fade-enter${t}-fade-enter-active, ${t}-fade-appear${t}-fade-appear-active`]:{animationName:new tC.Mo(\"antNotificationTopFadeIn\",{\"0%\":{top:-r,opacity:0},\"100%\":{top:0,opacity:1}})}},[`&${t}-bottom`]:{[`${t}-fade-enter${t}-fade-enter-active, ${t}-fade-appear${t}-fade-appear-active`]:{animationName:new tC.Mo(\"antNotificationBottomFadeIn\",{\"0%\":{bottom:e.calc(r).mul(-1).equal(),opacity:0},\"100%\":{bottom:0,opacity:1}})}},[`&${t}-topRight, &${t}-bottomRight`]:{[`${t}-fade-enter${t}-fade-enter-active, ${t}-fade-appear${t}-fade-appear-active`]:{animationName:i}},[`&${t}-topLeft, &${t}-bottomLeft`]:{marginRight:{value:0,_skip_check_:!0},marginLeft:{value:n,_skip_check_:!0},[o]:{marginInlineEnd:\"auto\",marginInlineStart:0},[`${t}-fade-enter${t}-fade-enter-active, ${t}-fade-appear${t}-fade-appear-active`]:{animationName:new tC.Mo(\"antNotificationLeftFadeIn\",{\"0%\":{transform:\"translate3d(-100%, 0, 0)\",opacity:0},\"100%\":{transform:\"translate3d(0, 0, 0)\",opacity:1}})}}}}})(t),(e=>{let{componentCls:t}=e;return Object.assign({[`${t}-stack`]:{[`& > ${t}-notice-wrapper`]:Object.assign({transition:`all ${e.motionDurationSlow}, backdrop-filter 0s`,position:\"absolute\"},(e=>{let t={};for(let n=1;n<e.notificationStackLayer;n++)t[`&:nth-last-child(${n+1})`]={overflow:\"hidden\",[`& > ${e.componentCls}-notice`]:{opacity:0,transition:`opacity ${e.motionDurationMid}`}};return Object.assign({[`&:not(:nth-last-child(-n+${e.notificationStackLayer}))`]:{opacity:0,overflow:\"hidden\",color:\"transparent\",pointerEvents:\"none\"}},t)})(e))},[`${t}-stack:not(${t}-stack-expanded)`]:{[`& > ${t}-notice-wrapper`]:Object.assign({},(e=>{let t={};for(let n=1;n<e.notificationStackLayer;n++)t[`&:nth-last-child(${n+1})`]={background:e.colorBgBlur,backdropFilter:\"blur(10px)\",\"-webkit-backdrop-filter\":\"blur(10px)\"};return Object.assign({},t)})(e))},[`${t}-stack${t}-stack-expanded`]:{[`& > ${t}-notice-wrapper`]:{\"&:not(:nth-last-child(-n + 1))\":{opacity:1,overflow:\"unset\",color:\"inherit\",pointerEvents:\"auto\",[`& > ${e.componentCls}-notice`]:{opacity:1}},\"&:after\":{content:'\"\"',position:\"absolute\",height:e.margin,width:\"100%\",insetInline:0,bottom:e.calc(e.margin).mul(-1).equal(),background:\"transparent\",pointerEvents:\"auto\"}}}},rf.map(t=>((e,t)=>{let{componentCls:n}=e;return{[`${n}-${t}`]:{[`&${n}-stack > ${n}-notice-wrapper`]:{[t.startsWith(\"top\")?\"top\":\"bottom\"]:0,[rd[t]]:{value:0,_skip_check_:!0}}}}})(e,t)).reduce((e,t)=>Object.assign(Object.assign({},e),t),{}))})(t)]},rp),rm=(0,nJ.bf)([\"Notification\",\"PurePanel\"],e=>{let t=`${e.componentCls}-notice`,n=rg(e);return{[`${t}-pure-panel`]:Object.assign(Object.assign({},rh(n)),{width:n.width,maxWidth:`calc(100vw - ${(0,tC.zA)(e.calc(n.notificationMarginEdge).mul(2).equal())})`,margin:0})}},rp);var ry=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)0>t.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};function rb(e,t){return null===t||!1===t?null:t||U.createElement(n6.A,{className:`${e}-close-icon`})}let rA={success:nw,info:n$,error:nS,warning:nO},rx=e=>{let{prefixCls:t,icon:n,type:r,message:o,description:i,btn:a,role:c=\"alert\"}=e,l=null;return n?l=U.createElement(\"span\",{className:`${t}-icon`},n):r&&(l=U.createElement(rA[r]||null,{className:nF()(`${t}-icon`,`${t}-icon-${r}`)})),U.createElement(\"div\",{className:nF()({[`${t}-with-icon`]:l}),role:c},l,U.createElement(\"div\",{className:`${t}-message`},o),U.createElement(\"div\",{className:`${t}-description`},i),a&&U.createElement(\"div\",{className:`${t}-btn`},a))};var rC=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)0>t.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let rw=e=>{let{children:t,prefixCls:n}=e,r=nK(n),[o,i,a]=rv(n,r);return o(G().createElement(nL,{classNames:{list:nF()(i,a,r)}},t))},rk=(e,t)=>{let{prefixCls:n,key:r}=t;return G().createElement(rw,{prefixCls:n,key:r},e)},rS=G().forwardRef((e,t)=>{let{top:n,bottom:r,prefixCls:o,getContainer:i,maxCount:a,rtl:c,onAllRemoved:l,stack:s,duration:u,pauseOnHover:f=!0,showProgress:d}=e,{getPrefixCls:h,getPopupContainer:p,notification:g,direction:v}=(0,U.useContext)(tX.QO),[,m]=(0,t_.Ay)(),y=o||h(\"notification\"),[b,A]=nX({prefixCls:y,style:e=>(function(e,t,n){let r;switch(e){case\"top\":r={left:\"50%\",transform:\"translateX(-50%)\",right:\"auto\",top:t,bottom:\"auto\"};break;case\"topLeft\":r={left:0,top:t,bottom:\"auto\"};break;case\"topRight\":r={right:0,top:t,bottom:\"auto\"};break;case\"bottom\":r={left:\"50%\",transform:\"translateX(-50%)\",right:\"auto\",top:\"auto\",bottom:n};break;case\"bottomLeft\":r={left:0,top:\"auto\",bottom:n};break;default:r={right:0,top:\"auto\",bottom:n}}return r})(e,null!=n?n:24,null!=r?r:24),className:()=>nF()({[`${y}-rtl`]:null!=c?c:\"rtl\"===v}),motion:()=>({motionName:`${y}-fade`}),closable:!0,closeIcon:rb(y),duration:null!=u?u:4.5,getContainer:()=>(null==i?void 0:i())||(null==p?void 0:p())||document.body,maxCount:a,pauseOnHover:f,showProgress:d,onAllRemoved:l,renderNotifications:rk,stack:!1!==s&&{threshold:\"object\"==typeof s?null==s?void 0:s.threshold:void 0,offset:8,gap:m.margin}});return G().useImperativeHandle(t,()=>Object.assign(Object.assign({},b),{prefixCls:y,notification:g})),A});function rE(e){let t=G().useRef(null);return t1(\"Notification\"),[G().useMemo(()=>{let n=n=>{var r;if(!t.current)return;let{open:o,prefixCls:i,notification:a}=t.current,c=`${i}-notice`,{message:l,description:s,icon:u,type:f,btn:d,className:h,style:p,role:g=\"alert\",closeIcon:v,closable:m}=n,y=rC(n,[\"message\",\"description\",\"icon\",\"type\",\"btn\",\"className\",\"style\",\"role\",\"closeIcon\",\"closable\"]),b=rb(c,void 0!==v?v:null==a?void 0:a.closeIcon);return o(Object.assign(Object.assign({placement:null!=(r=null==e?void 0:e.placement)?r:\"topRight\"},y),{content:G().createElement(rx,{prefixCls:c,icon:u,type:f,message:l,description:s,btn:d,role:g}),className:nF()(f&&`${c}-${f}`,h,null==a?void 0:a.className),style:Object.assign(Object.assign({},null==a?void 0:a.style),p),closeIcon:b,closable:null!=m?m:!!b}))},r={open:n,destroy:e=>{var n,r;void 0!==e?null==(n=t.current)||n.close(e):null==(r=t.current)||r.destroy()}};return[\"success\",\"info\",\"warning\",\"error\"].forEach(e=>{r[e]=t=>n(Object.assign(Object.assign({},t),{type:e}))}),r},[]),G().createElement(rS,Object.assign({key:\"notification-holder\"},e,{ref:t}))]}let rO=null,r_=[],r$={};function rj(){let{getContainer:e,rtl:t,maxCount:n,top:r,bottom:o,showProgress:i,pauseOnHover:a}=r$,c=(null==e?void 0:e())||document.body;return{getContainer:()=>c,rtl:t,maxCount:n,top:r,bottom:o,showProgress:i,pauseOnHover:a}}let rM=G().forwardRef((e,t)=>{let{notificationConfig:n,sync:r}=e,{getPrefixCls:o}=(0,U.useContext)(tX.QO),i=r$.prefixCls||o(\"notification\"),a=(0,U.useContext)(tG),[c,l]=rE(Object.assign(Object.assign(Object.assign({},n),{prefixCls:i}),a.notification));return G().useEffect(r,[]),G().useImperativeHandle(t,()=>{let e=Object.assign({},c);return Object.keys(e).forEach(t=>{e[t]=function(){return r(),c[t].apply(c,arguments)}}),{instance:e,sync:r}}),l}),rP=G().forwardRef((e,t)=>{let[n,r]=G().useState(rj),o=()=>{r(rj)};G().useEffect(o,[]);let i=nm(),a=i.getRootPrefixCls(),c=i.getIconPrefixCls(),l=i.getTheme(),s=G().createElement(rM,{ref:t,sync:o,notificationConfig:n});return G().createElement(nb,{prefixCls:a,iconPrefixCls:c,theme:l},i.holderRender?i.holderRender(s):s)});function rF(){if(!rO){let e=document.createDocumentFragment(),t={fragment:e};rO=t,(0,nA.K)()(G().createElement(rP,{ref:e=>{let{instance:n,sync:r}=e||{};Promise.resolve().then(()=>{!t.instance&&n&&(t.instance=n,t.sync=r,rF())})}}),e);return}rO.instance&&(r_.forEach(e=>{switch(e.type){case\"open\":rO.instance.open(Object.assign(Object.assign({},r$),e.config));break;case\"destroy\":null==rO||rO.instance.destroy(e.key)}}),r_=[])}function rT(e){nm(),r_.push({type:\"open\",config:e}),rF()}let rI={open:rT,destroy:e=>{r_.push({type:\"destroy\",key:e}),rF()},config:function(e){var t;r$=Object.assign(Object.assign({},r$),e),null==(t=null==rO?void 0:rO.sync)||t.call(rO)},useNotification:function(e){return rE(e)},_InternalPanelDoNotUseOrYouWillBeFired:e=>{let{prefixCls:t,className:n,icon:r,type:o,message:i,description:a,btn:c,closable:l=!0,closeIcon:s,className:u}=e,f=ry(e,[\"prefixCls\",\"className\",\"icon\",\"type\",\"message\",\"description\",\"btn\",\"closable\",\"closeIcon\",\"className\"]),{getPrefixCls:d}=U.useContext(tX.QO),h=t||d(\"notification\"),p=`${h}-notice`,g=nK(h),[v,m,y]=rv(h,g);return v(U.createElement(\"div\",{className:nF()(`${p}-pure-panel`,m,n,y,g)},U.createElement(rm,{prefixCls:h}),U.createElement(nR,Object.assign({},f,{prefixCls:h,eventKey:\"pure\",duration:null,closable:l,className:nF()({notificationClassName:u}),closeIcon:rb(h,s),content:U.createElement(rx,{prefixCls:p,icon:r,type:o,message:i,description:a,btn:c})}))))}};[\"success\",\"info\",\"warning\",\"error\"].forEach(e=>{rI[e]=t=>rT(Object.assign(Object.assign({},t),{type:e}))});let rN=(e,t,n)=>void 0!==n?n:`${e}-${t}`;var rR=n(9155),rz=n(1233),rL=n(9853),rH=n(8719),rB=n(7460),rD=n(6288);let rW=U.createContext(null),rV=e=>{let{children:t}=e;return U.createElement(rW.Provider,{value:null},t)};var rq=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)0>t.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let rU=U.createContext(void 0);var rG=n(682);let rX=/^[\\u4E00-\\u9FA5]{2}$/,rK=rX.test.bind(rX);function rQ(e){return\"danger\"===e?{danger:!0}:{type:e}}function rY(e){return\"string\"==typeof e}function rZ(e){return\"text\"===e||\"link\"===e}let rJ=(0,U.forwardRef)((e,t)=>{let{className:n,style:r,children:o,prefixCls:i}=e,a=nF()(`${i}-icon`,n);return G().createElement(\"span\",{ref:t,className:a,style:r},o)}),r0=(0,U.forwardRef)((e,t)=>{let{prefixCls:n,className:r,style:o,iconClassName:i}=e,a=nF()(`${n}-loading-icon`,r);return G().createElement(rJ,{prefixCls:n,className:a,style:o,ref:t},G().createElement(nM,{className:i}))}),r1=()=>({width:0,opacity:0,transform:\"scale(0)\"}),r2=e=>({width:e.scrollWidth,opacity:1,transform:\"scale(1)\"}),r5=e=>{let{prefixCls:t,loading:n,existIcon:r,className:o,style:i,mount:a}=e;return r?G().createElement(r0,{prefixCls:t,className:o,style:i}):G().createElement(ns.Ay,{visible:!!n,motionName:`${t}-loading-icon-motion`,motionAppear:!a,motionEnter:!a,motionLeave:!a,removeOnLeave:!0,onAppearStart:r1,onAppearActive:r2,onEnterStart:r1,onEnterActive:r2,onLeaveStart:r2,onLeaveActive:r1},(e,n)=>{let{className:r,style:a}=e,c=Object.assign(Object.assign({},i),a);return G().createElement(r0,{prefixCls:t,className:nF()(o,r),style:c,ref:n})})},r4=(e,t)=>({[`> span, > ${e}`]:{\"&:not(:last-child)\":{[`&, & > ${e}`]:{\"&:not(:disabled)\":{borderInlineEndColor:t}}},\"&:not(:first-child)\":{[`&, & > ${e}`]:{\"&:not(:disabled)\":{borderInlineStartColor:t}}}}});var r6=n(5501),r3=n(6903),r8=n(8250),r9=[\"b\"],r7=[\"v\"],oe=function(e){return Math.round(Number(e||0))},ot=function(e){if(e instanceof r8.Y)return e;if(e&&\"object\"===(0,e9.A)(e)&&\"h\"in e&&\"b\"in e){var t=e.b,n=(0,tx.A)(e,r9);return(0,q.A)((0,q.A)({},n),{},{v:t})}return\"string\"==typeof e&&/hsb/.test(e)?e.replace(/hsb/,\"hsv\"):e},on=function(e){(0,r6.A)(n,e);var t=(0,r3.A)(n);function n(e){return(0,X.A)(this,n),t.call(this,ot(e))}return(0,K.A)(n,[{key:\"toHsbString\",value:function(){var e=this.toHsb(),t=oe(100*e.s),n=oe(100*e.b),r=oe(e.h),o=e.a,i=\"hsb(\".concat(r,\", \").concat(t,\"%, \").concat(n,\"%)\"),a=\"hsba(\".concat(r,\", \").concat(t,\"%, \").concat(n,\"%, \").concat(o.toFixed(2*(0!==o)),\")\");return 1===o?i:a}},{key:\"toHsb\",value:function(){var e=this.toHsv(),t=e.v,n=(0,tx.A)(e,r7);return(0,q.A)((0,q.A)({},n),{},{b:t,a:this.a})}}]),n}(r8.Y);new on(\"#1677ff\");let or=(0,K.A)(function e(t){var n;if((0,X.A)(this,e),this.cleared=!1,t instanceof e){this.metaColor=t.metaColor.clone(),this.colors=null==(n=t.colors)?void 0:n.map(t=>({color:new e(t.color),percent:t.percent})),this.cleared=t.cleared;return}let r=Array.isArray(t);r&&t.length?(this.colors=t.map(t=>{let{color:n,percent:r}=t;return{color:new e(n),percent:r}}),this.metaColor=new on(this.colors[0].color.metaColor)):this.metaColor=new on(r?\"\":t),t&&(!r||this.colors)||(this.metaColor=this.metaColor.setA(0),this.cleared=!0)},[{key:\"toHsb\",value:function(){return this.metaColor.toHsb()}},{key:\"toHsbString\",value:function(){return this.metaColor.toHsbString()}},{key:\"toHex\",value:function(){var e,t;return e=this.toHexString(),t=this.metaColor.a<1,e&&(null==e?void 0:e.replace(/[^\\w/]/g,\"\").slice(0,t?8:6))||\"\"}},{key:\"toHexString\",value:function(){return this.metaColor.toHexString()}},{key:\"toRgb\",value:function(){return this.metaColor.toRgb()}},{key:\"toRgbString\",value:function(){return this.metaColor.toRgbString()}},{key:\"isGradient\",value:function(){return!!this.colors&&!this.cleared}},{key:\"getColors\",value:function(){return this.colors||[{color:this,percent:0}]}},{key:\"toCssString\",value:function(){let{colors:e}=this;if(e){let t=e.map(e=>`${e.color.toRgbString()} ${e.percent}%`).join(\", \");return`linear-gradient(90deg, ${t})`}return this.metaColor.toRgbString()}},{key:\"equals\",value:function(e){return!!e&&this.isGradient()===e.isGradient()&&(this.isGradient()?this.colors.length===e.colors.length&&this.colors.every((t,n)=>{let r=e.colors[n];return t.percent===r.percent&&t.color.equals(r.color)}):this.toHexString()===e.toHexString())}}]);n(2533);var oo=n(4925);let oi=e=>{let{paddingInline:t,onlyIconSize:n}=e;return(0,n0.oX)(e,{buttonPaddingHorizontal:t,buttonPaddingVertical:0,buttonIconOnlyFontSize:n})},oa=e=>{var t,n,r,o,i,a;let c=null!=(t=e.contentFontSize)?t:e.fontSize,l=null!=(n=e.contentFontSizeSM)?n:e.fontSize,s=null!=(r=e.contentFontSizeLG)?r:e.fontSizeLG,u=null!=(o=e.contentLineHeight)?o:(0,oo.k)(c),f=null!=(i=e.contentLineHeightSM)?i:(0,oo.k)(l),d=null!=(a=e.contentLineHeightLG)?a:(0,oo.k)(s),h=((e,t)=>{let{r:n,g:r,b:o,a:i}=e.toRgb(),a=new on(e.toRgbString()).onBackground(t).toHsv();return i<=.5?a.v>.5:.299*n+.587*r+.114*o>192})(new or(e.colorBgSolid),\"#fff\")?\"#000\":\"#fff\";return{fontWeight:400,defaultShadow:`0 ${e.controlOutlineWidth}px 0 ${e.controlTmpOutline}`,primaryShadow:`0 ${e.controlOutlineWidth}px 0 ${e.controlOutline}`,dangerShadow:`0 ${e.controlOutlineWidth}px 0 ${e.colorErrorOutline}`,primaryColor:e.colorTextLightSolid,dangerColor:e.colorTextLightSolid,borderColorDisabled:e.colorBorder,defaultGhostColor:e.colorBgContainer,ghostBg:\"transparent\",defaultGhostBorderColor:e.colorBgContainer,paddingInline:e.paddingContentHorizontal-e.lineWidth,paddingInlineLG:e.paddingContentHorizontal-e.lineWidth,paddingInlineSM:8-e.lineWidth,onlyIconSize:e.fontSizeLG,onlyIconSizeSM:e.fontSizeLG-2,onlyIconSizeLG:e.fontSizeLG+2,groupBorderColor:e.colorPrimaryHover,linkHoverBg:\"transparent\",textTextColor:e.colorText,textTextHoverColor:e.colorText,textTextActiveColor:e.colorText,textHoverBg:e.colorFillTertiary,defaultColor:e.colorText,defaultBg:e.colorBgContainer,defaultBorderColor:e.colorBorder,defaultBorderColorDisabled:e.colorBorder,defaultHoverBg:e.colorBgContainer,defaultHoverColor:e.colorPrimaryHover,defaultHoverBorderColor:e.colorPrimaryHover,defaultActiveBg:e.colorBgContainer,defaultActiveColor:e.colorPrimaryActive,defaultActiveBorderColor:e.colorPrimaryActive,solidTextColor:h,contentFontSize:c,contentFontSizeSM:l,contentFontSizeLG:s,contentLineHeight:u,contentLineHeightSM:f,contentLineHeightLG:d,paddingBlock:Math.max((e.controlHeight-c*u)/2-e.lineWidth,0),paddingBlockSM:Math.max((e.controlHeightSM-l*f)/2-e.lineWidth,0),paddingBlockLG:Math.max((e.controlHeightLG-s*d)/2-e.lineWidth,0)}},oc=(e,t,n)=>({[`&:not(:disabled):not(${e}-disabled)`]:{\"&:hover\":t,\"&:active\":n}}),ol=(e,t,n,r,o,i,a,c)=>({[`&${e}-background-ghost`]:Object.assign(Object.assign({color:n||void 0,background:t,borderColor:r||void 0,boxShadow:\"none\"},oc(e,Object.assign({background:t},a),Object.assign({background:t},c))),{\"&:disabled\":{cursor:\"not-allowed\",color:o||void 0,borderColor:i||void 0}})}),os=(e,t,n,r)=>Object.assign(Object.assign({},(r&&[\"link\",\"text\"].includes(r)?e=>({[`&:disabled, &${e.componentCls}-disabled`]:{cursor:\"not-allowed\",color:e.colorTextDisabled}}):e=>({[`&:disabled, &${e.componentCls}-disabled`]:Object.assign({},{cursor:\"not-allowed\",borderColor:e.borderColorDisabled,color:e.colorTextDisabled,background:e.colorBgContainerDisabled,boxShadow:\"none\"})}))(e)),oc(e.componentCls,t,n)),ou=(e,t,n,r,o)=>({[`&${e.componentCls}-variant-solid`]:Object.assign({color:t,background:n},os(e,r,o))}),of=(e,t,n,r,o)=>({[`&${e.componentCls}-variant-outlined, &${e.componentCls}-variant-dashed`]:Object.assign({borderColor:t,background:n},os(e,r,o))}),od=e=>({[`&${e.componentCls}-variant-dashed`]:{borderStyle:\"dashed\"}}),oh=(e,t,n,r)=>({[`&${e.componentCls}-variant-filled`]:Object.assign({boxShadow:\"none\",background:t},os(e,n,r))}),op=(e,t,n,r,o)=>({[`&${e.componentCls}-variant-${n}`]:Object.assign({color:t,boxShadow:\"none\"},os(e,r,o,n))}),og=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",{componentCls:n,controlHeight:r,fontSize:o,borderRadius:i,buttonPaddingHorizontal:a,iconCls:c,buttonPaddingVertical:l,buttonIconOnlyFontSize:s}=e;return[{[t]:{fontSize:o,height:r,padding:`${(0,tC.zA)(l)} ${(0,tC.zA)(a)}`,borderRadius:i,[`&${n}-icon-only`]:{width:r,[c]:{fontSize:s,verticalAlign:\"calc(-0.125em - 1px)\"}}}},{[`${n}${n}-circle${t}`]:{minWidth:e.controlHeight,paddingInlineStart:0,paddingInlineEnd:0,borderRadius:\"50%\"}},{[`${n}${n}-round${t}`]:{borderRadius:e.controlHeight,paddingInlineStart:e.calc(e.controlHeight).div(2).equal(),paddingInlineEnd:e.calc(e.controlHeight).div(2).equal()}}]},ov=(0,nJ.OF)(\"Button\",e=>{let t=oi(e);return[(e=>{let{componentCls:t,iconCls:n,fontWeight:r,opacityLoading:o,motionDurationSlow:i,motionEaseInOut:a,marginXS:c,calc:l}=e;return{[t]:{outline:\"none\",position:\"relative\",display:\"inline-flex\",gap:e.marginXS,alignItems:\"center\",justifyContent:\"center\",fontWeight:r,whiteSpace:\"nowrap\",textAlign:\"center\",backgroundImage:\"none\",background:\"transparent\",border:`${(0,tC.zA)(e.lineWidth)} ${e.lineType} transparent`,cursor:\"pointer\",transition:`all ${e.motionDurationMid} ${e.motionEaseInOut}`,userSelect:\"none\",touchAction:\"manipulation\",color:e.colorText,\"&:disabled > *\":{pointerEvents:\"none\"},[`${t}-icon > svg`]:(0,nd.Nk)(),\"> a\":{color:\"currentColor\"},\"&:not(:disabled)\":(0,nd.K8)(e),[`&${t}-two-chinese-chars::first-letter`]:{letterSpacing:\"0.34em\"},[`&${t}-two-chinese-chars > *:not(${n})`]:{marginInlineEnd:\"-0.34em\",letterSpacing:\"0.34em\"},[`&${t}-icon-only`]:{paddingInline:0,[`&${t}-compact-item`]:{flex:\"none\"},[`&${t}-round`]:{width:\"auto\"}},[`&${t}-loading`]:{opacity:o,cursor:\"default\"},[`${t}-loading-icon`]:{transition:[\"width\",\"opacity\",\"margin\"].map(e=>`${e} ${i} ${a}`).join(\",\")},[`&:not(${t}-icon-end)`]:{[`${t}-loading-icon-motion`]:{\"&-appear-start, &-enter-start\":{marginInlineEnd:l(c).mul(-1).equal()},\"&-appear-active, &-enter-active\":{marginInlineEnd:0},\"&-leave-start\":{marginInlineEnd:0},\"&-leave-active\":{marginInlineEnd:l(c).mul(-1).equal()}}},\"&-icon-end\":{flexDirection:\"row-reverse\",[`${t}-loading-icon-motion`]:{\"&-appear-start, &-enter-start\":{marginInlineStart:l(c).mul(-1).equal()},\"&-appear-active, &-enter-active\":{marginInlineStart:0},\"&-leave-start\":{marginInlineStart:0},\"&-leave-active\":{marginInlineStart:l(c).mul(-1).equal()}}}}}})(t),og((0,n0.oX)(t,{fontSize:t.contentFontSize}),t.componentCls),og((0,n0.oX)(t,{controlHeight:t.controlHeightSM,fontSize:t.contentFontSizeSM,padding:t.paddingXS,buttonPaddingHorizontal:t.paddingInlineSM,buttonPaddingVertical:0,borderRadius:t.borderRadiusSM,buttonIconOnlyFontSize:t.onlyIconSizeSM}),`${t.componentCls}-sm`),og((0,n0.oX)(t,{controlHeight:t.controlHeightLG,fontSize:t.contentFontSizeLG,buttonPaddingHorizontal:t.paddingInlineLG,buttonPaddingVertical:0,borderRadius:t.borderRadiusLG,buttonIconOnlyFontSize:t.onlyIconSizeLG}),`${t.componentCls}-lg`),(e=>{let{componentCls:t}=e;return{[t]:{[`&${t}-block`]:{width:\"100%\"}}}})(t),(e=>{let{componentCls:t}=e;return{[`${t}-color-default`]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({color:e.defaultColor,boxShadow:e.defaultShadow},ou(e,e.solidTextColor,e.colorBgSolid,{color:e.solidTextColor,background:e.colorBgSolidHover},{color:e.solidTextColor,background:e.colorBgSolidActive})),od(e)),oh(e,e.colorFillTertiary,{background:e.colorFillSecondary},{background:e.colorFill})),op(e,e.textTextColor,\"link\",{color:e.colorLinkHover,background:e.linkHoverBg},{color:e.colorLinkActive})),ol(e.componentCls,e.ghostBg,e.defaultGhostColor,e.defaultGhostBorderColor,e.colorTextDisabled,e.colorBorder)),[`${t}-color-primary`]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({color:e.colorPrimary,boxShadow:e.primaryShadow},of(e,e.colorPrimary,e.colorBgContainer,{color:e.colorPrimaryTextHover,borderColor:e.colorPrimaryHover,background:e.colorBgContainer},{color:e.colorPrimaryTextActive,borderColor:e.colorPrimaryActive,background:e.colorBgContainer})),od(e)),oh(e,e.colorPrimaryBg,{background:e.colorPrimaryBgHover},{background:e.colorPrimaryBorder})),op(e,e.colorLink,\"text\",{color:e.colorPrimaryTextHover,background:e.colorPrimaryBg},{color:e.colorPrimaryTextActive,background:e.colorPrimaryBorder})),ol(e.componentCls,e.ghostBg,e.colorPrimary,e.colorPrimary,e.colorTextDisabled,e.colorBorder,{color:e.colorPrimaryHover,borderColor:e.colorPrimaryHover},{color:e.colorPrimaryActive,borderColor:e.colorPrimaryActive})),[`${t}-color-dangerous`]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({color:e.colorError,boxShadow:e.dangerShadow},ou(e,e.dangerColor,e.colorError,{background:e.colorErrorHover},{background:e.colorErrorActive})),of(e,e.colorError,e.colorBgContainer,{color:e.colorErrorHover,borderColor:e.colorErrorBorderHover},{color:e.colorErrorActive,borderColor:e.colorErrorActive})),od(e)),oh(e,e.colorErrorBg,{background:e.colorErrorBgFilledHover},{background:e.colorErrorBgActive})),op(e,e.colorError,\"text\",{color:e.colorErrorHover,background:e.colorErrorBg},{color:e.colorErrorHover,background:e.colorErrorBgActive})),op(e,e.colorError,\"link\",{color:e.colorErrorHover},{color:e.colorErrorActive})),ol(e.componentCls,e.ghostBg,e.colorError,e.colorError,e.colorTextDisabled,e.colorBorder,{color:e.colorErrorHover,borderColor:e.colorErrorHover},{color:e.colorErrorActive,borderColor:e.colorErrorActive}))}})(t),Object.assign(Object.assign(Object.assign(Object.assign({},of(t,t.defaultBorderColor,t.defaultBg,{color:t.defaultHoverColor,borderColor:t.defaultHoverBorderColor,background:t.defaultHoverBg},{color:t.defaultActiveColor,borderColor:t.defaultActiveBorderColor,background:t.defaultActiveBg})),op(t,t.textTextColor,\"text\",{color:t.textTextHoverColor,background:t.textHoverBg},{color:t.textTextActiveColor,background:t.colorBgTextActive})),ou(t,t.primaryColor,t.colorPrimary,{background:t.colorPrimaryHover,color:t.primaryColor},{background:t.colorPrimaryActive,color:t.primaryColor})),op(t,t.colorLink,\"link\",{color:t.colorLinkHover,background:t.linkHoverBg},{color:t.colorLinkActive})),(e=>{let{componentCls:t,fontSize:n,lineWidth:r,groupBorderColor:o,colorErrorHover:i}=e;return{[`${t}-group`]:[{position:\"relative\",display:\"inline-flex\",[`> span, > ${t}`]:{\"&:not(:last-child)\":{[`&, & > ${t}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},\"&:not(:first-child)\":{marginInlineStart:e.calc(r).mul(-1).equal(),[`&, & > ${t}`]:{borderStartStartRadius:0,borderEndStartRadius:0}}},[t]:{position:\"relative\",zIndex:1,\"&:hover, &:focus, &:active\":{zIndex:2},\"&[disabled]\":{zIndex:0}},[`${t}-icon-only`]:{fontSize:n}},r4(`${t}-primary`,o),r4(`${t}-danger`,i)]}})(t)]},oa,{unitless:{fontWeight:!0,contentLineHeight:!0,contentLineHeightSM:!0,contentLineHeightLG:!0}}),om=(0,nJ.bf)([\"Button\",\"compact\"],e=>{var t;let n,r=oi(e);return[function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{focus:!0},{componentCls:n}=e,r=`${n}-compact`;return{[r]:Object.assign(Object.assign({},function(e,t,n){let{focusElCls:r,focus:o,borderElCls:i}=n,a=i?\"> *\":\"\",c=[\"hover\",o?\"focus\":null,\"active\"].filter(Boolean).map(e=>`&:${e} ${a}`).join(\",\");return{[`&-item:not(${t}-last-item)`]:{marginInlineEnd:e.calc(e.lineWidth).mul(-1).equal()},\"&-item\":Object.assign(Object.assign({[c]:{zIndex:2}},r?{[`&${r}`]:{zIndex:2}}:{}),{[`&[disabled] ${a}`]:{zIndex:0}})}}(e,r,t)),function(e,t,n){let{borderElCls:r}=n,o=r?`> ${r}`:\"\";return{[`&-item:not(${t}-first-item):not(${t}-last-item) ${o}`]:{borderRadius:0},[`&-item:not(${t}-last-item)${t}-first-item`]:{[`& ${o}, &${e}-sm ${o}, &${e}-lg ${o}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&-item:not(${t}-first-item)${t}-last-item`]:{[`& ${o}, &${e}-sm ${o}, &${e}-lg ${o}`]:{borderStartStartRadius:0,borderEndStartRadius:0}}}}(n,r,t))}}(r),{[n=`${r.componentCls}-compact-vertical`]:Object.assign(Object.assign({},{[`&-item:not(${n}-last-item)`]:{marginBottom:r.calc(r.lineWidth).mul(-1).equal()},\"&-item\":{\"&:hover,&:focus,&:active\":{zIndex:2},\"&[disabled]\":{zIndex:0}}}),(t=r.componentCls,{[`&-item:not(${n}-first-item):not(${n}-last-item)`]:{borderRadius:0},[`&-item${n}-first-item:not(${n}-last-item)`]:{[`&, &${t}-sm, &${t}-lg`]:{borderEndEndRadius:0,borderEndStartRadius:0}},[`&-item${n}-last-item:not(${n}-first-item)`]:{[`&, &${t}-sm, &${t}-lg`]:{borderStartStartRadius:0,borderStartEndRadius:0}}}))},(e=>{let{componentCls:t,colorPrimaryHover:n,lineWidth:r,calc:o}=e,i=o(r).mul(-1).equal(),a=e=>({[`${t}-compact${e?\"-vertical\":\"\"}-item${t}-primary:not([disabled])`]:{\"& + &::before\":{position:\"absolute\",top:e?i:0,insetInlineStart:e?0:i,backgroundColor:n,content:'\"\"',width:e?\"100%\":r,height:e?r:\"100%\"}}});return Object.assign(Object.assign({},a()),a(!0))})(r)]},oa);var oy=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)0>t.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let ob={default:[\"default\",\"outlined\"],primary:[\"primary\",\"solid\"],dashed:[\"default\",\"dashed\"],link:[\"primary\",\"link\"],text:[\"default\",\"text\"]},oA=G().forwardRef((e,t)=>{var n,r,o,i,a,c;let l,s,u,f,d,{loading:h=!1,prefixCls:p,color:g,variant:v,type:m,danger:y=!1,shape:b=\"default\",size:A,styles:x,disabled:C,className:w,rootClassName:k,children:S,icon:E,iconPosition:O=\"start\",ghost:_=!1,block:$=!1,htmlType:j=\"button\",classNames:M,style:P={},autoInsertSpace:F,autoFocus:T}=e,I=oy(e,[\"loading\",\"prefixCls\",\"color\",\"variant\",\"type\",\"danger\",\"shape\",\"size\",\"styles\",\"disabled\",\"className\",\"rootClassName\",\"children\",\"icon\",\"iconPosition\",\"ghost\",\"block\",\"htmlType\",\"classNames\",\"style\",\"autoInsertSpace\",\"autoFocus\"]),N=m||\"default\",[R,z]=(0,U.useMemo)(()=>{if(g&&v)return[g,v];let e=ob[N]||[];return y?[\"danger\",e[1]]:e},[m,g,v,y]),L=\"danger\"===R?\"dangerous\":R,{getPrefixCls:H,direction:B,button:D}=(0,U.useContext)(tX.QO),W=null==(n=null!=F?F:null==D?void 0:D.autoInsertSpace)||n,V=H(\"btn\",p),[q,X,K]=ov(V),Q=(0,U.useContext)(nn),Y=null!=C?C:Q,Z=(0,U.useContext)(rU),J=(0,U.useMemo)(()=>(function(e){if(\"object\"==typeof e&&e){let t=null==e?void 0:e.delay;return{loading:(t=Number.isNaN(t)||\"number\"!=typeof t?0:t)<=0,delay:t}}return{loading:!!e,delay:0}})(h),[h]),[ee,et]=(0,U.useState)(J.loading),[en,er]=(0,U.useState)(!1),eo=(0,U.useRef)(null),ei=(0,rH.xK)(t,eo),ea=1===U.Children.count(S)&&!E&&!rZ(z),ec=(0,U.useRef)(!0);G().useEffect(()=>(ec.current=!1,()=>{ec.current=!0}),[]),(0,U.useEffect)(()=>{let e=null;return J.delay>0?e=setTimeout(()=>{e=null,et(!0)},J.delay):et(J.loading),function(){e&&(clearTimeout(e),e=null)}},[J]),(0,U.useEffect)(()=>{if(!eo.current||!W)return;let e=eo.current.textContent||\"\";ea&&rK(e)?en||er(!0):en&&er(!1)}),(0,U.useEffect)(()=>{T&&eo.current&&eo.current.focus()},[]);let el=G().useCallback(t=>{var n;ee||Y?t.preventDefault():null==(n=e.onClick)||n.call(e,t)},[e.onClick,ee,Y]),{compactSize:es,compactItemClassnames:eu}=(l=U.useContext(rW),s=U.useMemo(()=>{if(!l)return\"\";let{compactDirection:e,isFirstItem:t,isLastItem:n}=l,r=\"vertical\"===e?\"-vertical-\":\"-\";return nF()(`${V}-compact${r}item`,{[`${V}-compact${r}first-item`]:t,[`${V}-compact${r}last-item`]:n,[`${V}-compact${r}item-rtl`]:\"rtl\"===B})},[V,B,l]),{compactSize:null==l?void 0:l.compactSize,compactDirection:null==l?void 0:l.compactDirection,compactItemClassnames:s}),ef=(a=e=>{var t,n;return null!=(n=null!=(t=null!=A?A:es)?t:Z)?n:e},u=G().useContext(no),G().useMemo(()=>a?a instanceof Function?a(u):u:u,[a,u])),ed=ef&&null!=(r=({large:\"lg\",small:\"sm\",middle:void 0})[ef])?r:\"\",eh=ee?\"loading\":E,ep=(0,rL.A)(I,[\"navigate\"]),eg=nF()(V,X,K,{[`${V}-${b}`]:\"default\"!==b&&b,[`${V}-${N}`]:N,[`${V}-dangerous`]:y,[`${V}-color-${L}`]:L,[`${V}-variant-${z}`]:z,[`${V}-${ed}`]:ed,[`${V}-icon-only`]:!S&&0!==S&&!!eh,[`${V}-background-ghost`]:_&&!rZ(z),[`${V}-loading`]:ee,[`${V}-two-chinese-chars`]:en&&W&&!ee,[`${V}-block`]:$,[`${V}-rtl`]:\"rtl\"===B,[`${V}-icon-end`]:\"end\"===O},eu,w,k,null==D?void 0:D.className),ev=Object.assign(Object.assign({},null==D?void 0:D.style),P),em=nF()(null==M?void 0:M.icon,null==(o=null==D?void 0:D.classNames)?void 0:o.icon),ey=Object.assign(Object.assign({},(null==x?void 0:x.icon)||{}),(null==(i=null==D?void 0:D.styles)?void 0:i.icon)||{}),eb=E&&!ee?G().createElement(rJ,{prefixCls:V,className:em,style:ey},E):G().createElement(r5,{existIcon:!!E,prefixCls:V,loading:ee,mount:ec.current}),eA=S||0===S?(c=ea&&W,f=!1,d=[],G().Children.forEach(S,e=>{let t=typeof e,n=\"string\"===t||\"number\"===t;if(f&&n){let t=d.length-1,n=d[t];d[t]=`${n}${e}`}else d.push(e);f=n}),G().Children.map(d,e=>(function(e,t){if(null==e)return;let n=t?\" \":\"\";return\"string\"!=typeof e&&\"number\"!=typeof e&&rY(e.type)&&rK(e.props.children)?(0,rG.Ob)(e,{children:e.props.children.split(\"\").join(n)}):rY(e)?rK(e)?G().createElement(\"span\",null,e.split(\"\").join(n)):G().createElement(\"span\",null,e):(0,rG.zv)(e)?G().createElement(\"span\",null,e):e})(e,c))):null;if(void 0!==ep.href)return q(G().createElement(\"a\",Object.assign({},ep,{className:nF()(eg,{[`${V}-disabled`]:Y}),href:Y?void 0:ep.href,style:ev,onClick:el,ref:ei,tabIndex:Y?-1:0}),eb,eA));let ex=G().createElement(\"button\",Object.assign({},I,{type:j,className:eg,style:ev,onClick:el,disabled:Y,ref:ei}),eb,eA,eu&&G().createElement(om,{prefixCls:V}));return rZ(z)||(ex=G().createElement(rB.A,{component:\"Button\",disabled:ee},ex)),q(ex)});function ox(e){return!!(null==e?void 0:e.then)}oA.Group=e=>{let{getPrefixCls:t,direction:n}=U.useContext(tX.QO),{prefixCls:r,size:o,className:i}=e,a=rq(e,[\"prefixCls\",\"size\",\"className\"]),c=t(\"btn-group\",r),[,,l]=(0,t_.Ay)(),s=\"\";switch(o){case\"large\":s=\"lg\";break;case\"small\":s=\"sm\"}let u=nF()(c,{[`${c}-${s}`]:s,[`${c}-rtl`]:\"rtl\"===n},i,l);return U.createElement(rU.Provider,{value:o},U.createElement(\"div\",Object.assign({},a,{className:u})))},oA.__ANT_BUTTON=!0;let oC=e=>{let{type:t,children:n,prefixCls:r,buttonProps:o,close:i,autoFocus:a,emitEvent:c,isSilent:l,quitOnNullishReturnValue:s,actionFn:u}=e,f=U.useRef(!1),d=U.useRef(null),[h,p]=(0,rz.A)(!1),g=function(){null==i||i.apply(void 0,arguments)};return U.useEffect(()=>{let e=null;return a&&(e=setTimeout(()=>{var e;null==(e=d.current)||e.focus({preventScroll:!0})})),()=>{e&&clearTimeout(e)}},[]),U.createElement(oA,Object.assign({},rQ(t),{onClick:e=>{let t;if(!f.current){var n;if(f.current=!0,!u)return void g();if(c){if(t=u(e),s&&!ox(t)){f.current=!1,g(e);return}}else if(u.length)t=u(i),f.current=!1;else if(!ox(t=u()))return void g();ox(n=t)&&(p(!0),n.then(function(){p(!1,!0),g.apply(void 0,arguments),f.current=!1},e=>{if(p(!1,!0),f.current=!1,null==l||!l())return Promise.reject(e)}))}},loading:h,prefixCls:r},o,{ref:d}),n)},ow=G().createContext({}),{Provider:ok}=ow,oS=()=>{let{autoFocusButton:e,cancelButtonProps:t,cancelTextLocale:n,isSilent:r,mergedOkCancel:o,rootPrefixCls:i,close:a,onCancel:c,onConfirm:l}=(0,U.useContext)(ow);return o?G().createElement(oC,{isSilent:r,actionFn:c,close:function(){null==a||a.apply(void 0,arguments),null==l||l(!1)},autoFocus:\"cancel\"===e,buttonProps:t,prefixCls:`${i}-btn`},n):null},oE=()=>{let{autoFocusButton:e,close:t,isSilent:n,okButtonProps:r,rootPrefixCls:o,okTextLocale:i,okType:a,onConfirm:c,onOk:l}=(0,U.useContext)(ow);return G().createElement(oC,{isSilent:n,type:a||\"primary\",actionFn:l,close:function(){null==t||t.apply(void 0,arguments),null==c||c(!0)},autoFocus:\"ok\"===e,buttonProps:r,prefixCls:`${o}-btn`},i)};var oO=U.createContext(null),o_=n(981),o$=[],oj=\"rc-util-locker-\".concat(Date.now()),oM=0,oP=function(e){return!1!==e&&((0,t7.A)()&&e?\"string\"==typeof e?document.querySelector(e):\"function\"==typeof e?e():e:null)},oF=U.forwardRef(function(e,t){var n,r,o,i=e.open,a=e.autoLock,c=e.getContainer,l=(e.debug,e.autoDestroy),s=void 0===l||l,u=e.children,f=U.useState(i),d=(0,tk.A)(f,2),h=d[0],p=d[1],g=h||i;U.useEffect(function(){(s||i)&&p(i)},[i,s]);var v=U.useState(function(){return oP(c)}),m=(0,tk.A)(v,2),y=m[0],b=m[1];U.useEffect(function(){var e=oP(c);b(null!=e?e:null)});var A=function(e){var t=U.useState(function(){return(0,t7.A)()?document.createElement(\"div\"):null}),n=(0,tk.A)(t,1)[0],r=U.useRef(!1),o=U.useContext(oO),i=U.useState(o$),a=(0,tk.A)(i,2),c=a[0],l=a[1],s=o||(r.current?void 0:function(e){l(function(t){return[e].concat((0,tU.A)(t))})});function u(){n.parentElement||document.body.appendChild(n),r.current=!0}function f(){var e;null==(e=n.parentElement)||e.removeChild(n),r.current=!1}return(0,o_.A)(function(){return e?o?o(u):u():f(),f},[e]),(0,o_.A)(function(){c.length&&(c.forEach(function(e){return e()}),l(o$))},[c]),[n,s]}(g&&!y),x=(0,tk.A)(A,2),C=x[0],w=x[1],k=null!=y?y:C;n=!!(a&&i&&(0,t7.A)()&&(k===C||k===document.body)),r=U.useState(function(){return oM+=1,\"\".concat(oj,\"_\").concat(oM)}),o=(0,tk.A)(r,1)[0],(0,o_.A)(function(){if(n){var e,t=(e=document.body,\"u\"<typeof document||!e||!(e instanceof Element)?{width:0,height:0}:function(e){var t,n,r=\"rc-scrollbar-measure-\".concat(Math.random().toString(36).substring(7)),o=document.createElement(\"div\");o.id=r;var i=o.style;if(i.position=\"absolute\",i.left=\"0\",i.top=\"0\",i.width=\"100px\",i.height=\"100px\",i.overflow=\"scroll\",e){var a=getComputedStyle(e);i.scrollbarColor=a.scrollbarColor,i.scrollbarWidth=a.scrollbarWidth;var c=getComputedStyle(e,\"::-webkit-scrollbar\"),l=parseInt(c.width,10),s=parseInt(c.height,10);try{var u=l?\"width: \".concat(c.width,\";\"):\"\",f=s?\"height: \".concat(c.height,\";\"):\"\";(0,ne.BD)(\"\\n#\".concat(r,\"::-webkit-scrollbar {\\n\").concat(u,\"\\n\").concat(f,\"\\n}\"),r)}catch(e){console.error(e),t=l,n=s}}document.body.appendChild(o);var d=e&&t&&!isNaN(t)?t:o.offsetWidth-o.clientWidth,h=e&&n&&!isNaN(n)?n:o.offsetHeight-o.clientHeight;return document.body.removeChild(o),(0,ne.m6)(r),{width:d,height:h}}(e)).width,r=document.body.scrollHeight>(window.innerHeight||document.documentElement.clientHeight)&&window.innerWidth>document.body.offsetWidth;(0,ne.BD)(\"\\nhtml body {\\n  overflow-y: hidden;\\n  \".concat(r?\"width: calc(100% - \".concat(t,\"px);\"):\"\",\"\\n}\"),o)}else(0,ne.m6)(o);return function(){(0,ne.m6)(o)}},[n,o]);var S=null;u&&(0,rH.f3)(u)&&t&&(S=u.ref);var E=(0,rH.xK)(S,t);if(!g||!(0,t7.A)()||void 0===y)return null;var O=!1===k,_=u;return t&&(_=U.cloneElement(u,{ref:E})),U.createElement(oO.Provider,{value:w},O?_:(0,nT.createPortal)(_,k))}),oT=U.createContext({}),oI=n(4808),oN=0,oR=(0,q.A)({},U).useId;let oz=oR?function(e){var t=oR();return e||t}:function(e){var t=U.useState(\"ssr-id\"),n=(0,tk.A)(t,2),r=n[0],o=n[1];return(U.useEffect(function(){var e=oN;oN+=1,o(\"rc_unique_\".concat(e))},[]),e)?e:r};function oL(e,t,n){var r=t;return!r&&n&&(r=\"\".concat(e,\"-\").concat(n)),r}function oH(e,t){var n=e[\"page\".concat(t?\"Y\":\"X\",\"Offset\")],r=\"scroll\".concat(t?\"Top\":\"Left\");if(\"number\"!=typeof n){var o=e.document;\"number\"!=typeof(n=o.documentElement[r])&&(n=o.body[r])}return n}let oB=U.memo(function(e){return e.children},function(e,t){return!t.shouldUpdate});var oD={width:0,height:0,overflow:\"hidden\",outline:\"none\"},oW={outline:\"none\"},oV=G().forwardRef(function(e,t){var n=e.prefixCls,r=e.className,o=e.style,i=e.title,a=e.ariaId,c=e.footer,l=e.closable,s=e.closeIcon,u=e.onClose,f=e.children,d=e.bodyStyle,h=e.bodyProps,p=e.modalRender,g=e.onMouseDown,v=e.onMouseUp,m=e.holderRef,y=e.visible,b=e.forceRender,A=e.width,x=e.height,C=e.classNames,w=e.styles,k=G().useContext(oT).panel,S=(0,rH.xK)(m,k),E=(0,U.useRef)(),O=(0,U.useRef)();G().useImperativeHandle(t,function(){return{focus:function(){var e;null==(e=E.current)||e.focus({preventScroll:!0})},changeActive:function(e){var t=document.activeElement;e&&t===O.current?E.current.focus({preventScroll:!0}):e||t!==E.current||O.current.focus({preventScroll:!0})}}});var _={};void 0!==A&&(_.width=A),void 0!==x&&(_.height=x);var $=c?G().createElement(\"div\",{className:nF()(\"\".concat(n,\"-footer\"),null==C?void 0:C.footer),style:(0,q.A)({},null==w?void 0:w.footer)},c):null,j=i?G().createElement(\"div\",{className:nF()(\"\".concat(n,\"-header\"),null==C?void 0:C.header),style:(0,q.A)({},null==w?void 0:w.header)},G().createElement(\"div\",{className:\"\".concat(n,\"-title\"),id:a},i)):null,M=(0,U.useMemo)(function(){return\"object\"===(0,e9.A)(l)&&null!==l?l:l?{closeIcon:null!=s?s:G().createElement(\"span\",{className:\"\".concat(n,\"-close-x\")})}:{}},[l,s,n]),P=(0,nN.A)(M,!0),F=\"object\"===(0,e9.A)(l)&&l.disabled,T=l?G().createElement(\"button\",(0,to.A)({type:\"button\",onClick:u,\"aria-label\":\"Close\"},P,{className:\"\".concat(n,\"-close\"),disabled:F}),M.closeIcon):null,I=G().createElement(\"div\",{className:nF()(\"\".concat(n,\"-content\"),null==C?void 0:C.content),style:null==w?void 0:w.content},T,j,G().createElement(\"div\",(0,to.A)({className:nF()(\"\".concat(n,\"-body\"),null==C?void 0:C.body),style:(0,q.A)((0,q.A)({},d),null==w?void 0:w.body)},h),f),$);return G().createElement(\"div\",{key:\"dialog-element\",role:\"dialog\",\"aria-labelledby\":i?a:null,\"aria-modal\":\"true\",ref:S,style:(0,q.A)((0,q.A)({},o),_),className:nF()(n,r),onMouseDown:g,onMouseUp:v},G().createElement(\"div\",{ref:E,tabIndex:0,style:oW},G().createElement(oB,{shouldUpdate:y||b},p?p(I):I)),G().createElement(\"div\",{tabIndex:0,ref:O,style:oD}))}),oq=U.forwardRef(function(e,t){var n=e.prefixCls,r=e.title,o=e.style,i=e.className,a=e.visible,c=e.forceRender,l=e.destroyOnClose,s=e.motionName,u=e.ariaId,f=e.onVisibleChanged,d=e.mousePosition,h=(0,U.useRef)(),p=U.useState(),g=(0,tk.A)(p,2),v=g[0],m=g[1],y={};function b(){var e,t,n,r,o,i=(n={left:(t=(e=h.current).getBoundingClientRect()).left,top:t.top},o=(r=e.ownerDocument).defaultView||r.parentWindow,n.left+=oH(o),n.top+=oH(o,!0),n);m(d&&(d.x||d.y)?\"\".concat(d.x-i.left,\"px \").concat(d.y-i.top,\"px\"):\"\")}return v&&(y.transformOrigin=v),U.createElement(ns.Ay,{visible:a,onVisibleChanged:f,onAppearPrepare:b,onEnterPrepare:b,forceRender:c,motionName:s,removeOnLeave:l,ref:h},function(a,c){var l=a.className,s=a.style;return U.createElement(oV,(0,to.A)({},e,{ref:t,title:r,ariaId:u,prefixCls:n,holderRef:c,style:(0,q.A)((0,q.A)((0,q.A)({},s),o),y),className:nF()(i,l)}))})});oq.displayName=\"Content\";let oU=function(e){var t=e.prefixCls,n=e.style,r=e.visible,o=e.maskProps,i=e.motionName,a=e.className;return U.createElement(ns.Ay,{key:\"mask\",visible:r,motionName:i,leavedClassName:\"\".concat(t,\"-mask-hidden\")},function(e,r){var i=e.className,c=e.style;return U.createElement(\"div\",(0,to.A)({ref:r,style:(0,q.A)((0,q.A)({},c),n),className:nF()(\"\".concat(t,\"-mask\"),i,a)},o))})},oG=function(e){var t=e.prefixCls,n=void 0===t?\"rc-dialog\":t,r=e.zIndex,o=e.visible,i=void 0!==o&&o,a=e.keyboard,c=void 0===a||a,l=e.focusTriggerAfterClose,s=void 0===l||l,u=e.wrapStyle,f=e.wrapClassName,d=e.wrapProps,h=e.onClose,p=e.afterOpenChange,g=e.afterClose,v=e.transitionName,m=e.animation,y=e.closable,b=e.mask,A=void 0===b||b,x=e.maskTransitionName,C=e.maskAnimation,w=e.maskClosable,k=e.maskStyle,S=e.maskProps,E=e.rootClassName,O=e.classNames,_=e.styles,$=(0,U.useRef)(),j=(0,U.useRef)(),M=(0,U.useRef)(),P=U.useState(i),F=(0,tk.A)(P,2),T=F[0],I=F[1],N=oz();function R(e){null==h||h(e)}var z=(0,U.useRef)(!1),L=(0,U.useRef)(),H=null;(void 0===w||w)&&(H=function(e){z.current?z.current=!1:j.current===e.target&&R(e)}),(0,U.useEffect)(function(){i&&(I(!0),(0,oI.A)(j.current,document.activeElement)||($.current=document.activeElement))},[i]),(0,U.useEffect)(function(){return function(){clearTimeout(L.current)}},[]);var B=(0,q.A)((0,q.A)((0,q.A)({zIndex:r},u),null==_?void 0:_.wrapper),{},{display:T?null:\"none\"});return U.createElement(\"div\",(0,to.A)({className:nF()(\"\".concat(n,\"-root\"),E)},(0,nN.A)(e,{data:!0})),U.createElement(oU,{prefixCls:n,visible:A&&i,motionName:oL(n,x,C),style:(0,q.A)((0,q.A)({zIndex:r},k),null==_?void 0:_.mask),maskProps:S,className:null==O?void 0:O.mask}),U.createElement(\"div\",(0,to.A)({tabIndex:-1,onKeyDown:function(e){if(c&&e.keyCode===nI.ESC){e.stopPropagation(),R(e);return}i&&e.keyCode===nI.TAB&&M.current.changeActive(!e.shiftKey)},className:nF()(\"\".concat(n,\"-wrap\"),f,null==O?void 0:O.wrapper),ref:j,onClick:H,style:B},d),U.createElement(oq,(0,to.A)({},e,{onMouseDown:function(){clearTimeout(L.current),z.current=!0},onMouseUp:function(){L.current=setTimeout(function(){z.current=!1})},ref:M,closable:void 0===y||y,ariaId:N,prefixCls:n,visible:i&&T,onClose:R,onVisibleChanged:function(e){if(e){if(!(0,oI.A)(j.current,document.activeElement)){var t;null==(t=M.current)||t.focus()}}else{if(I(!1),A&&$.current&&s){try{$.current.focus({preventScroll:!0})}catch(e){}$.current=null}T&&(null==g||g())}null==p||p(e)},motionName:oL(n,v,m)}))))};var oX=function(e){var t=e.visible,n=e.getContainer,r=e.forceRender,o=e.destroyOnClose,i=void 0!==o&&o,a=e.afterClose,c=e.panelRef,l=U.useState(t),s=(0,tk.A)(l,2),u=s[0],f=s[1],d=U.useMemo(function(){return{panel:c}},[c]);return(U.useEffect(function(){t&&f(!0)},[t]),r||!i||u)?U.createElement(oT.Provider,{value:d},U.createElement(oF,{open:t||r||u,autoDestroy:!1,getContainer:n,autoLock:t||u},U.createElement(oG,(0,to.A)({},e,{destroyOnClose:i,afterClose:function(){null==a||a(),f(!1)}})))):null};oX.displayName=\"Dialog\";var oK=n(1079),oQ=n(467),oY=n(9417),oZ=\"RC_FORM_INTERNAL_HOOKS\",oJ=function(){(0,tZ.Ay)(!1,\"Can not find FormContext. Please make sure you wrap Field under Form.\")},o0=U.createContext({getFieldValue:oJ,getFieldsValue:oJ,getFieldError:oJ,getFieldWarning:oJ,getFieldsError:oJ,isFieldsTouched:oJ,isFieldTouched:oJ,isFieldValidating:oJ,isFieldsValidating:oJ,resetFields:oJ,setFields:oJ,setFieldValue:oJ,setFieldsValue:oJ,validateFields:oJ,submit:oJ,getInternalHooks:function(){return oJ(),{dispatch:oJ,initEntityValue:oJ,registerField:oJ,useSubscribe:oJ,setInitialValues:oJ,destroyForm:oJ,setCallbacks:oJ,registerWatch:oJ,getFields:oJ,setValidateMessages:oJ,setPreserve:oJ,getInitialValue:oJ}}}),o1=U.createContext(null);function o2(e){return null==e?[]:Array.isArray(e)?e:[e]}function o5(){return{default:\"Validation error on field %s\",required:\"%s is required\",enum:\"%s must be one of %s\",whitespace:\"%s cannot be empty\",date:{format:\"%s date %s is invalid for format %s\",parse:\"%s date could not be parsed, %s is invalid \",invalid:\"%s date %s is invalid\"},types:{string:\"%s is not a %s\",method:\"%s is not a %s (function)\",array:\"%s is not an %s\",object:\"%s is not an %s\",number:\"%s is not a %s\",date:\"%s is not a %s\",boolean:\"%s is not a %s\",integer:\"%s is not an %s\",float:\"%s is not a %s\",regexp:\"%s is not a valid %s\",email:\"%s is not a valid %s\",tel:\"%s is not a valid %s\",url:\"%s is not a valid %s\",hex:\"%s is not a valid %s\"},string:{len:\"%s must be exactly %s characters\",min:\"%s must be at least %s characters\",max:\"%s cannot be longer than %s characters\",range:\"%s must be between %s and %s characters\"},number:{len:\"%s must equal %s\",min:\"%s cannot be less than %s\",max:\"%s cannot be greater than %s\",range:\"%s must be between %s and %s\"},array:{len:\"%s must be exactly %s in length\",min:\"%s cannot be less than %s in length\",max:\"%s cannot be greater than %s in length\",range:\"%s must be between %s and %s in length\"},pattern:{mismatch:\"%s value %s does not match pattern %s\"},clone:function(){var e=JSON.parse(JSON.stringify(this));return e.clone=this.clone,e}}}var o4=o5(),o6=n(3954),o3=n(3662),o8=n(2176);function o9(e){var t=\"function\"==typeof Map?new Map:void 0;return(o9=function(e){if(null===e||!function(e){try{return -1!==Function.toString.call(e).indexOf(\"[native code]\")}catch(t){return\"function\"==typeof e}}(e))return e;if(\"function\"!=typeof e)throw TypeError(\"Super expression must either be null or a function\");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return function(e,t,n){if((0,o8.A)())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var o=new(e.bind.apply(e,r));return n&&(0,o3.A)(o,n.prototype),o}(e,arguments,(0,o6.A)(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),(0,o3.A)(n,e)})(e)}var o7=/%[sdj%]/g;function ie(e){if(!e||!e.length)return null;var t={};return e.forEach(function(e){var n=e.field;t[n]=t[n]||[],t[n].push(e)}),t}function it(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var o=0,i=n.length;return\"function\"==typeof e?e.apply(null,n):\"string\"==typeof e?e.replace(o7,function(e){if(\"%%\"===e)return\"%\";if(o>=i)return e;switch(e){case\"%s\":return String(n[o++]);case\"%d\":return Number(n[o++]);case\"%j\":try{return JSON.stringify(n[o++])}catch(e){return\"[Circular]\"}default:return e}}):e}function ir(e,t){return!!(null==e||\"array\"===t&&Array.isArray(e)&&!e.length)||(\"string\"===t||\"url\"===t||\"hex\"===t||\"email\"===t||\"date\"===t||\"pattern\"===t||\"tel\"===t)&&\"string\"==typeof e&&!e||!1}function io(e,t,n){var r=0,o=e.length;!function i(a){if(a&&a.length)return void n(a);var c=r;r+=1,c<o?t(e[c],i):n([])}([])}\"u\">typeof process&&process.env;var ii=function(e){(0,r6.A)(n,e);var t=(0,r3.A)(n);function n(e,r){var o;return(0,X.A)(this,n),o=t.call(this,\"Async Validation Error\"),(0,Q.A)((0,oY.A)(o),\"errors\",void 0),(0,Q.A)((0,oY.A)(o),\"fields\",void 0),o.errors=e,o.fields=r,o}return(0,K.A)(n)}(o9(Error));function ia(e,t){return function(n){var r;return(r=e.fullFields?function(e,t){for(var n=e,r=0;r<t.length&&void 0!=n;r++)n=n[t[r]];return n}(t,e.fullFields):t[n.field||e.fullField],n&&void 0!==n.message)?(n.field=n.field||e.fullField,n.fieldValue=r,n):{message:\"function\"==typeof n?n():n,fieldValue:r,field:n.field||e.fullField}}}function ic(e,t){if(t){for(var n in t)if(t.hasOwnProperty(n)){var r=t[n];\"object\"===(0,e9.A)(r)&&\"object\"===(0,e9.A)(e[n])?e[n]=(0,q.A)((0,q.A)({},e[n]),r):e[n]=r}}return e}var il=\"enum\";let is=function(e,t,n,r,o,i){e.required&&(!n.hasOwnProperty(e.field)||ir(t,i||e.type))&&r.push(it(o.messages.required,e.fullField))},iu=function(){if(v)return v;var e=\"[a-fA-F\\\\d:]\",t=function(t){return t&&t.includeBoundaries?\"(?:(?<=\\\\s|^)(?=\".concat(e,\")|(?<=\").concat(e,\")(?=\\\\s|$))\"):\"\"},n=\"(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}\",r=\"[a-fA-F\\\\d]{1,4}\",o=[\"(?:\".concat(r,\":){7}(?:\").concat(r,\"|:)\"),\"(?:\".concat(r,\":){6}(?:\").concat(n,\"|:\").concat(r,\"|:)\"),\"(?:\".concat(r,\":){5}(?::\").concat(n,\"|(?::\").concat(r,\"){1,2}|:)\"),\"(?:\".concat(r,\":){4}(?:(?::\").concat(r,\"){0,1}:\").concat(n,\"|(?::\").concat(r,\"){1,3}|:)\"),\"(?:\".concat(r,\":){3}(?:(?::\").concat(r,\"){0,2}:\").concat(n,\"|(?::\").concat(r,\"){1,4}|:)\"),\"(?:\".concat(r,\":){2}(?:(?::\").concat(r,\"){0,3}:\").concat(n,\"|(?::\").concat(r,\"){1,5}|:)\"),\"(?:\".concat(r,\":){1}(?:(?::\").concat(r,\"){0,4}:\").concat(n,\"|(?::\").concat(r,\"){1,6}|:)\"),\"(?::(?:(?::\".concat(r,\"){0,5}:\").concat(n,\"|(?::\").concat(r,\"){1,7}|:))\")],i=\"(?:\".concat(o.join(\"|\"),\")\").concat(\"(?:%[0-9a-zA-Z]{1,})?\"),a=new RegExp(\"(?:^\".concat(n,\"$)|(?:^\").concat(i,\"$)\")),c=new RegExp(\"^\".concat(n,\"$\")),l=new RegExp(\"^\".concat(i,\"$\")),s=function(e){return e&&e.exact?a:RegExp(\"(?:\".concat(t(e)).concat(n).concat(t(e),\")|(?:\").concat(t(e)).concat(i).concat(t(e),\")\"),\"g\")};s.v4=function(e){return e&&e.exact?c:RegExp(\"\".concat(t(e)).concat(n).concat(t(e)),\"g\")},s.v6=function(e){return e&&e.exact?l:RegExp(\"\".concat(t(e)).concat(i).concat(t(e)),\"g\")};var u=s.v4().source,f=s.v6().source,d=\"(?:\".concat(\"(?:(?:[a-z]+:)?//)\",\"|www\\\\.)\").concat(\"(?:\\\\S+(?::\\\\S*)?@)?\",\"(?:localhost|\").concat(u,\"|\").concat(f,\"|\").concat(\"(?:(?:[a-z\\\\u00a1-\\\\uffff0-9][-_]*)*[a-z\\\\u00a1-\\\\uffff0-9]+)\").concat(\"(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*\").concat(\"(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,}))\",\")\").concat(\"(?::\\\\d{2,5})?\").concat('(?:[/?#][^\\\\s\"]*)?');return v=RegExp(\"(?:^\".concat(d,\"$)\"),\"i\")};var id=/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+\\.)+[a-zA-Z\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]{2,}))$/,ih=/^(\\+[0-9]{1,3}[-\\s\\u2011]?)?(\\([0-9]{1,4}\\)[-\\s\\u2011]?)?([0-9]+[-\\s\\u2011]?)*[0-9]+$/,ip=/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,ig={integer:function(e){return ig.number(e)&&parseInt(e,10)===e},float:function(e){return ig.number(e)&&!ig.integer(e)},array:function(e){return Array.isArray(e)},regexp:function(e){if(e instanceof RegExp)return!0;try{return new RegExp(e),!0}catch(e){return!1}},date:function(e){return\"function\"==typeof e.getTime&&\"function\"==typeof e.getMonth&&\"function\"==typeof e.getYear&&!isNaN(e.getTime())},number:function(e){return!isNaN(e)&&\"number\"==typeof e},object:function(e){return\"object\"===(0,e9.A)(e)&&!ig.array(e)},method:function(e){return\"function\"==typeof e},email:function(e){return\"string\"==typeof e&&e.length<=320&&!!e.match(id)},tel:function(e){return\"string\"==typeof e&&e.length<=32&&!!e.match(ih)},url:function(e){return\"string\"==typeof e&&e.length<=2048&&!!e.match(iu())},hex:function(e){return\"string\"==typeof e&&!!e.match(ip)}};let iv=is,im=function(e,t,n,r,o){(/^\\s+$/.test(t)||\"\"===t)&&r.push(it(o.messages.whitespace,e.fullField))},iy=function(e,t,n,r,o){if(e.required&&void 0===t)return void is(e,t,n,r,o);var i=e.type;[\"integer\",\"float\",\"array\",\"regexp\",\"object\",\"method\",\"email\",\"tel\",\"number\",\"date\",\"url\",\"hex\"].indexOf(i)>-1?ig[i](t)||r.push(it(o.messages.types[i],e.fullField,e.type)):i&&(0,e9.A)(t)!==e.type&&r.push(it(o.messages.types[i],e.fullField,e.type))},ib=function(e,t,n,r,o){var i=\"number\"==typeof e.len,a=\"number\"==typeof e.min,c=\"number\"==typeof e.max,l=t,s=null,u=\"number\"==typeof t,f=\"string\"==typeof t,d=Array.isArray(t);if(u?s=\"number\":f?s=\"string\":d&&(s=\"array\"),!s)return!1;d&&(l=t.length),f&&(l=t.replace(/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g,\"_\").length),i?l!==e.len&&r.push(it(o.messages[s].len,e.fullField,e.len)):a&&!c&&l<e.min?r.push(it(o.messages[s].min,e.fullField,e.min)):c&&!a&&l>e.max?r.push(it(o.messages[s].max,e.fullField,e.max)):a&&c&&(l<e.min||l>e.max)&&r.push(it(o.messages[s].range,e.fullField,e.min,e.max))},iA=function(e,t,n,r,o){e[il]=Array.isArray(e[il])?e[il]:[],-1===e[il].indexOf(t)&&r.push(it(o.messages[il],e.fullField,e[il].join(\", \")))},ix=function(e,t,n,r,o){e.pattern&&(e.pattern instanceof RegExp?(e.pattern.lastIndex=0,e.pattern.test(t)||r.push(it(o.messages.pattern.mismatch,e.fullField,t,e.pattern))):\"string\"==typeof e.pattern&&(new RegExp(e.pattern).test(t)||r.push(it(o.messages.pattern.mismatch,e.fullField,t,e.pattern))))},iC=function(e,t,n,r,o){var i=e.type,a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(ir(t,i)&&!e.required)return n();iv(e,t,r,a,o,i),ir(t,i)||iy(e,t,r,a,o)}n(a)},iw={string:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(ir(t,\"string\")&&!e.required)return n();iv(e,t,r,i,o,\"string\"),ir(t,\"string\")||(iy(e,t,r,i,o),ib(e,t,r,i,o),ix(e,t,r,i,o),!0===e.whitespace&&im(e,t,r,i,o))}n(i)},method:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(ir(t)&&!e.required)return n();iv(e,t,r,i,o),void 0!==t&&iy(e,t,r,i,o)}n(i)},number:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(\"\"===t&&(t=void 0),ir(t)&&!e.required)return n();iv(e,t,r,i,o),void 0!==t&&(iy(e,t,r,i,o),ib(e,t,r,i,o))}n(i)},boolean:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(ir(t)&&!e.required)return n();iv(e,t,r,i,o),void 0!==t&&iy(e,t,r,i,o)}n(i)},regexp:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(ir(t)&&!e.required)return n();iv(e,t,r,i,o),ir(t)||iy(e,t,r,i,o)}n(i)},integer:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(ir(t)&&!e.required)return n();iv(e,t,r,i,o),void 0!==t&&(iy(e,t,r,i,o),ib(e,t,r,i,o))}n(i)},float:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(ir(t)&&!e.required)return n();iv(e,t,r,i,o),void 0!==t&&(iy(e,t,r,i,o),ib(e,t,r,i,o))}n(i)},array:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(null==t&&!e.required)return n();iv(e,t,r,i,o,\"array\"),null!=t&&(iy(e,t,r,i,o),ib(e,t,r,i,o))}n(i)},object:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(ir(t)&&!e.required)return n();iv(e,t,r,i,o),void 0!==t&&iy(e,t,r,i,o)}n(i)},enum:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(ir(t)&&!e.required)return n();iv(e,t,r,i,o),void 0!==t&&iA(e,t,r,i,o)}n(i)},pattern:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(ir(t,\"string\")&&!e.required)return n();iv(e,t,r,i,o),ir(t,\"string\")||ix(e,t,r,i,o)}n(i)},date:function(e,t,n,r,o){var i,a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(ir(t,\"date\")&&!e.required)return n();iv(e,t,r,a,o),!ir(t,\"date\")&&(i=t instanceof Date?t:new Date(t),iy(e,i,r,a,o),i&&ib(e,i.getTime(),r,a,o))}n(a)},url:iC,hex:iC,email:iC,tel:iC,required:function(e,t,n,r,o){var i=[],a=Array.isArray(t)?\"array\":(0,e9.A)(t);iv(e,t,r,i,o,a),n(i)},any:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(ir(t)&&!e.required)return n();iv(e,t,r,i,o)}n(i)}};var ik=function(){function e(t){(0,X.A)(this,e),(0,Q.A)(this,\"rules\",null),(0,Q.A)(this,\"_messages\",o4),this.define(t)}return(0,K.A)(e,[{key:\"define\",value:function(e){var t=this;if(!e)throw Error(\"Cannot configure a schema with no rules\");if(\"object\"!==(0,e9.A)(e)||Array.isArray(e))throw Error(\"Rules must be an object\");this.rules={},Object.keys(e).forEach(function(n){var r=e[n];t.rules[n]=Array.isArray(r)?r:[r]})}},{key:\"messages\",value:function(e){return e&&(this._messages=ic(o5(),e)),this._messages}},{key:\"validate\",value:function(t){var n=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},i=t,a=r,c=o;if(\"function\"==typeof a&&(c=a,a={}),!this.rules||0===Object.keys(this.rules).length)return c&&c(null,i),Promise.resolve(i);if(a.messages){var l=this.messages();l===o4&&(l=o5()),ic(l,a.messages),a.messages=l}else a.messages=this.messages();var s={};(a.keys||Object.keys(this.rules)).forEach(function(e){var r=n.rules[e],o=i[e];r.forEach(function(r){var a=r;\"function\"==typeof a.transform&&(i===t&&(i=(0,q.A)({},i)),null!=(o=i[e]=a.transform(o))&&(a.type=a.type||(Array.isArray(o)?\"array\":(0,e9.A)(o)))),(a=\"function\"==typeof a?{validator:a}:(0,q.A)({},a)).validator=n.getValidationMethod(a),a.validator&&(a.field=e,a.fullField=a.fullField||e,a.type=n.getType(a),s[e]=s[e]||[],s[e].push({rule:a,value:o,source:i,field:e}))})});var u={};return function(e,t,n,r,o){if(t.first){var i=new Promise(function(t,i){var a;io((a=[],Object.keys(e).forEach(function(t){a.push.apply(a,(0,tU.A)(e[t]||[]))}),a),n,function(e){return r(e),e.length?i(new ii(e,ie(e))):t(o)})});return i.catch(function(e){return e}),i}var a=!0===t.firstFields?Object.keys(e):t.firstFields||[],c=Object.keys(e),l=c.length,s=0,u=[],f=new Promise(function(t,i){var f=function(e){if(u.push.apply(u,e),++s===l)return r(u),u.length?i(new ii(u,ie(u))):t(o)};c.length||(r(u),t(o)),c.forEach(function(t){var r=e[t];if(-1!==a.indexOf(t))io(r,n,f);else{var o=[],i=0,c=r.length;function l(e){o.push.apply(o,(0,tU.A)(e||[])),++i===c&&f(o)}r.forEach(function(e){n(e,l)})}})});return f.catch(function(e){return e}),f}(s,a,function(t,n){var r,o,c,l=t.rule,s=(\"object\"===l.type||\"array\"===l.type)&&(\"object\"===(0,e9.A)(l.fields)||\"object\"===(0,e9.A)(l.defaultField));function f(e,t){return(0,q.A)((0,q.A)({},t),{},{fullField:\"\".concat(l.fullField,\".\").concat(e),fullFields:l.fullFields?[].concat((0,tU.A)(l.fullFields),[e]):[e]})}function d(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],o=Array.isArray(r)?r:[r];!a.suppressWarning&&o.length&&e.warning(\"async-validator:\",o),o.length&&void 0!==l.message&&null!==l.message&&(o=[].concat(l.message));var c=o.map(ia(l,i));if(a.first&&c.length)return u[l.field]=1,n(c);if(s){if(l.required&&!t.value)return void 0!==l.message?c=[].concat(l.message).map(ia(l,i)):a.error&&(c=[a.error(l,it(a.messages.required,l.field))]),n(c);var d={};l.defaultField&&Object.keys(t.value).map(function(e){d[e]=l.defaultField});var h={};Object.keys(d=(0,q.A)((0,q.A)({},d),t.rule.fields)).forEach(function(e){var t=d[e],n=Array.isArray(t)?t:[t];h[e]=n.map(f.bind(null,e))});var p=new e(h);p.messages(a.messages),t.rule.options&&(t.rule.options.messages=a.messages,t.rule.options.error=a.error),p.validate(t.value,t.rule.options||a,function(e){var t=[];c&&c.length&&t.push.apply(t,(0,tU.A)(c)),e&&e.length&&t.push.apply(t,(0,tU.A)(e)),n(t.length?t:null)})}else n(c)}if(s=s&&(l.required||!l.required&&t.value),l.field=t.field,l.asyncValidator)r=l.asyncValidator(l,t.value,d,t.source,a);else if(l.validator){try{r=l.validator(l,t.value,d,t.source,a)}catch(e){null==(o=(c=console).error)||o.call(c,e),a.suppressValidatorError||setTimeout(function(){throw e},0),d(e.message)}!0===r?d():!1===r?d(\"function\"==typeof l.message?l.message(l.fullField||l.field):l.message||\"\".concat(l.fullField||l.field,\" fails\")):r instanceof Array?d(r):r instanceof Error&&d(r.message)}r&&r.then&&r.then(function(){return d()},function(e){return d(e)})},function(e){for(var t=[],n={},r=0;r<e.length;r++)!function(e){if(Array.isArray(e)){var n;t=(n=t).concat.apply(n,(0,tU.A)(e))}else t.push(e)}(e[r]);t.length?(n=ie(t),c(t,n)):c(null,i)},i)}},{key:\"getType\",value:function(e){if(void 0===e.type&&e.pattern instanceof RegExp&&(e.type=\"pattern\"),\"function\"!=typeof e.validator&&e.type&&!iw.hasOwnProperty(e.type))throw Error(it(\"Unknown rule type %s\",e.type));return e.type||\"string\"}},{key:\"getValidationMethod\",value:function(e){if(\"function\"==typeof e.validator)return e.validator;var t=Object.keys(e),n=t.indexOf(\"message\");return(-1!==n&&t.splice(n,1),1===t.length&&\"required\"===t[0])?iw.required:iw[this.getType(e)]||void 0}}]),e}();(0,Q.A)(ik,\"register\",function(e,t){if(\"function\"!=typeof t)throw Error(\"Cannot register a validator by type, validator is not a function\");iw[e]=t}),(0,Q.A)(ik,\"warning\",function(){}),(0,Q.A)(ik,\"messages\",o4),(0,Q.A)(ik,\"validators\",iw);var iS=\"'${name}' is not a valid ${type}\",iE={default:\"Validation error on field '${name}'\",required:\"'${name}' is required\",enum:\"'${name}' must be one of [${enum}]\",whitespace:\"'${name}' cannot be empty\",date:{format:\"'${name}' is invalid for format date\",parse:\"'${name}' could not be parsed as date\",invalid:\"'${name}' is invalid date\"},types:{string:iS,method:iS,array:iS,object:iS,number:iS,date:iS,boolean:iS,integer:iS,float:iS,regexp:iS,email:iS,url:iS,hex:iS},string:{len:\"'${name}' must be exactly ${len} characters\",min:\"'${name}' must be at least ${min} characters\",max:\"'${name}' cannot be longer than ${max} characters\",range:\"'${name}' must be between ${min} and ${max} characters\"},number:{len:\"'${name}' must equal ${len}\",min:\"'${name}' cannot be less than ${min}\",max:\"'${name}' cannot be greater than ${max}\",range:\"'${name}' must be between ${min} and ${max}\"},array:{len:\"'${name}' must be exactly ${len} in length\",min:\"'${name}' cannot be less than ${min} in length\",max:\"'${name}' cannot be greater than ${max} in length\",range:\"'${name}' must be between ${min} and ${max} in length\"},pattern:{mismatch:\"'${name}' does not match pattern ${pattern}\"}},iO=\"CODE_LOGIC_ERROR\";function i_(e,t,n,r,o){return i$.apply(this,arguments)}function i$(){return(i$=(0,oQ.A)((0,oK.A)().mark(function e(t,n,r,o,i){var a,c,l,s,u,f,d,h,p;return(0,oK.A)().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=(0,q.A)({},r),delete a.ruleIndex,ik.warning=function(){},a.validator&&(c=a.validator,a.validator=function(){try{return c.apply(void 0,arguments)}catch(e){return console.error(e),Promise.reject(iO)}}),l=null,a&&\"array\"===a.type&&a.defaultField&&(l=a.defaultField,delete a.defaultField),s=new ik((0,Q.A)({},t,[a])),u=(0,tY.h)(iE,o.validateMessages),s.messages(u),f=[],e.prev=10,e.next=13,Promise.resolve(s.validate((0,Q.A)({},t,n),(0,q.A)({},o)));case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(10),e.t0.errors&&(f=e.t0.errors.map(function(e,t){var n=e.message,r=n===iO?u.default:n;return U.isValidElement(r)?U.cloneElement(r,{key:\"error_\".concat(t)}):r}));case 18:if(!(!f.length&&l&&Array.isArray(n)&&n.length>0)){e.next=23;break}return e.next=21,Promise.all(n.map(function(e,n){return i_(\"\".concat(t,\".\").concat(n),e,l,o,i)}));case 21:return d=e.sent,e.abrupt(\"return\",d.reduce(function(e,t){return[].concat((0,tU.A)(e),(0,tU.A)(t))},[]));case 23:return h=(0,q.A)((0,q.A)({},r),{},{name:t,enum:(r.enum||[]).join(\", \")},i),p=f.map(function(e){return\"string\"==typeof e?function(e,t){return e.replace(/\\\\?\\$\\{\\w+\\}/g,function(e){return e.startsWith(\"\\\\\")?e.slice(1):t[e.slice(2,-1)]})}(e,h):e}),e.abrupt(\"return\",p);case 26:case\"end\":return e.stop()}},e,null,[[10,15]])}))).apply(this,arguments)}function ij(){return(ij=(0,oQ.A)((0,oK.A)().mark(function e(t){return(0,oK.A)().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",Promise.all(t).then(function(e){var t;return(t=[]).concat.apply(t,(0,tU.A)(e))}));case 1:case\"end\":return e.stop()}},e)}))).apply(this,arguments)}function iM(){return(iM=(0,oQ.A)((0,oK.A)().mark(function e(t){var n;return(0,oK.A)().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=0,e.abrupt(\"return\",new Promise(function(e){t.forEach(function(r){r.then(function(r){r.errors.length&&e([r]),(n+=1)===t.length&&e([])})})}));case 2:case\"end\":return e.stop()}},e)}))).apply(this,arguments)}var iP=n(6300);function iF(e){return o2(e)}function iT(e,t){var n={};return t.forEach(function(t){var r=(0,iP.A)(e,t);n=(0,tY.A)(n,t,r)}),n}function iI(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return e&&e.some(function(e){return iN(t,e,n)})}function iN(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return!!e&&!!t&&(!!n||e.length===t.length)&&t.every(function(t,n){return e[n]===t})}function iR(e){var t=arguments.length<=1?void 0:arguments[1];return t&&t.target&&\"object\"===(0,e9.A)(t.target)&&e in t.target?t.target[e]:t}function iz(e,t,n){var r=e.length;if(t<0||t>=r||n<0||n>=r)return e;var o=e[t],i=t-n;return i>0?[].concat((0,tU.A)(e.slice(0,n)),[o],(0,tU.A)(e.slice(n,t)),(0,tU.A)(e.slice(t+1,r))):i<0?[].concat((0,tU.A)(e.slice(0,t)),(0,tU.A)(e.slice(t+1,n+1)),[o],(0,tU.A)(e.slice(n+1,r))):e}var iL=[\"name\"],iH=[];function iB(e,t,n,r,o,i){return\"function\"==typeof e?e(t,n,\"source\"in i?{source:i.source}:{}):r!==o}var iD=function(e){(0,r6.A)(n,e);var t=(0,r3.A)(n);function n(e){var r;return(0,X.A)(this,n),r=t.call(this,e),(0,Q.A)((0,oY.A)(r),\"state\",{resetCount:0}),(0,Q.A)((0,oY.A)(r),\"cancelRegisterFunc\",null),(0,Q.A)((0,oY.A)(r),\"mounted\",!1),(0,Q.A)((0,oY.A)(r),\"touched\",!1),(0,Q.A)((0,oY.A)(r),\"dirty\",!1),(0,Q.A)((0,oY.A)(r),\"validatePromise\",void 0),(0,Q.A)((0,oY.A)(r),\"prevValidating\",void 0),(0,Q.A)((0,oY.A)(r),\"errors\",iH),(0,Q.A)((0,oY.A)(r),\"warnings\",iH),(0,Q.A)((0,oY.A)(r),\"cancelRegister\",function(){var e=r.props,t=e.preserve,n=e.isListField,o=e.name;r.cancelRegisterFunc&&r.cancelRegisterFunc(n,t,iF(o)),r.cancelRegisterFunc=null}),(0,Q.A)((0,oY.A)(r),\"getNamePath\",function(){var e=r.props,t=e.name,n=e.fieldContext.prefixName;return void 0!==t?[].concat((0,tU.A)(void 0===n?[]:n),(0,tU.A)(t)):[]}),(0,Q.A)((0,oY.A)(r),\"getRules\",function(){var e=r.props,t=e.rules,n=e.fieldContext;return(void 0===t?[]:t).map(function(e){return\"function\"==typeof e?e(n):e})}),(0,Q.A)((0,oY.A)(r),\"refresh\",function(){r.mounted&&r.setState(function(e){return{resetCount:e.resetCount+1}})}),(0,Q.A)((0,oY.A)(r),\"metaCache\",null),(0,Q.A)((0,oY.A)(r),\"triggerMetaEvent\",function(e){var t=r.props.onMetaChange;if(t){var n=(0,q.A)((0,q.A)({},r.getMeta()),{},{destroy:e});(0,na.A)(r.metaCache,n)||t(n),r.metaCache=n}else r.metaCache=null}),(0,Q.A)((0,oY.A)(r),\"onStoreChange\",function(e,t,n){var o=r.props,i=o.shouldUpdate,a=o.dependencies,c=void 0===a?[]:a,l=o.onReset,s=n.store,u=r.getNamePath(),f=r.getValue(e),d=r.getValue(s),h=t&&iI(t,u);switch(\"valueUpdate\"===n.type&&\"external\"===n.source&&!(0,na.A)(f,d)&&(r.touched=!0,r.dirty=!0,r.validatePromise=null,r.errors=iH,r.warnings=iH,r.triggerMetaEvent()),n.type){case\"reset\":if(!t||h){r.touched=!1,r.dirty=!1,r.validatePromise=void 0,r.errors=iH,r.warnings=iH,r.triggerMetaEvent(),null==l||l(),r.refresh();return}break;case\"remove\":if(i&&iB(i,e,s,f,d,n))return void r.reRender();break;case\"setField\":var p=n.data;if(h){\"touched\"in p&&(r.touched=p.touched),\"validating\"in p&&!(\"originRCField\"in p)&&(r.validatePromise=p.validating?Promise.resolve([]):null),\"errors\"in p&&(r.errors=p.errors||iH),\"warnings\"in p&&(r.warnings=p.warnings||iH),r.dirty=!0,r.triggerMetaEvent(),r.reRender();return}if(\"value\"in p&&iI(t,u,!0)||i&&!u.length&&iB(i,e,s,f,d,n))return void r.reRender();break;case\"dependenciesUpdate\":if(c.map(iF).some(function(e){return iI(n.relatedFields,e)}))return void r.reRender();break;default:if(h||(!c.length||u.length||i)&&iB(i,e,s,f,d,n))return void r.reRender()}!0===i&&r.reRender()}),(0,Q.A)((0,oY.A)(r),\"validateRules\",function(e){var t=r.getNamePath(),n=r.getValue(),o=e||{},i=o.triggerName,a=o.validateOnly,c=Promise.resolve().then((0,oQ.A)((0,oK.A)().mark(function o(){var a,l,s,u,f,d,h;return(0,oK.A)().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(r.mounted){o.next=2;break}return o.abrupt(\"return\",[]);case 2:if(s=void 0!==(l=(a=r.props).validateFirst)&&l,u=a.messageVariables,f=a.validateDebounce,d=r.getRules(),i&&(d=d.filter(function(e){return e}).filter(function(e){var t=e.validateTrigger;return!t||o2(t).includes(i)})),!(f&&i)){o.next=10;break}return o.next=8,new Promise(function(e){setTimeout(e,f)});case 8:if(r.validatePromise===c){o.next=10;break}return o.abrupt(\"return\",[]);case 10:return(h=function(e,t,n,r,o,i){var a,c,l=e.join(\".\"),s=n.map(function(e,t){var n=e.validator,r=(0,q.A)((0,q.A)({},e),{},{ruleIndex:t});return n&&(r.validator=function(e,t,r){var o=!1,i=n(e,t,function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];Promise.resolve().then(function(){(0,tZ.Ay)(!o,\"Your validator function has already return a promise. `callback` will be ignored.\"),o||r.apply(void 0,t)})});o=i&&\"function\"==typeof i.then&&\"function\"==typeof i.catch,(0,tZ.Ay)(o,\"`callback` is deprecated. Please return a promise instead.\"),o&&i.then(function(){r()}).catch(function(e){r(e||\" \")})}),r}).sort(function(e,t){var n=e.warningOnly,r=e.ruleIndex,o=t.warningOnly,i=t.ruleIndex;return!!n==!!o?r-i:n?1:-1});if(!0===o)c=new Promise((a=(0,oQ.A)((0,oK.A)().mark(function e(n,o){var a,c,u;return(0,oK.A)().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:a=0;case 1:if(!(a<s.length)){e.next=12;break}return c=s[a],e.next=5,i_(l,t,c,r,i);case 5:if(!(u=e.sent).length){e.next=9;break}return o([{errors:u,rule:c}]),e.abrupt(\"return\");case 9:a+=1,e.next=1;break;case 12:n([]);case 13:case\"end\":return e.stop()}},e)})),function(e,t){return a.apply(this,arguments)}));else{var u=s.map(function(e){return i_(l,t,e,r,i).then(function(t){return{errors:t,rule:e}})});c=(o?function(e){return iM.apply(this,arguments)}(u):function(e){return ij.apply(this,arguments)}(u)).then(function(e){return Promise.reject(e)})}return c.catch(function(e){return e}),c}(t,n,d,e,s,u)).catch(function(e){return e}).then(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:iH;if(r.validatePromise===c){r.validatePromise=null;var t,n=[],o=[];null==(t=e.forEach)||t.call(e,function(e){var t=e.rule.warningOnly,r=e.errors,i=void 0===r?iH:r;t?o.push.apply(o,(0,tU.A)(i)):n.push.apply(n,(0,tU.A)(i))}),r.errors=n,r.warnings=o,r.triggerMetaEvent(),r.reRender()}}),o.abrupt(\"return\",h);case 13:case\"end\":return o.stop()}},o)})));return void 0!==a&&a||(r.validatePromise=c,r.dirty=!0,r.errors=iH,r.warnings=iH,r.triggerMetaEvent(),r.reRender()),c}),(0,Q.A)((0,oY.A)(r),\"isFieldValidating\",function(){return!!r.validatePromise}),(0,Q.A)((0,oY.A)(r),\"isFieldTouched\",function(){return r.touched}),(0,Q.A)((0,oY.A)(r),\"isFieldDirty\",function(){return!!r.dirty||void 0!==r.props.initialValue||void 0!==(0,r.props.fieldContext.getInternalHooks(oZ).getInitialValue)(r.getNamePath())}),(0,Q.A)((0,oY.A)(r),\"getErrors\",function(){return r.errors}),(0,Q.A)((0,oY.A)(r),\"getWarnings\",function(){return r.warnings}),(0,Q.A)((0,oY.A)(r),\"isListField\",function(){return r.props.isListField}),(0,Q.A)((0,oY.A)(r),\"isList\",function(){return r.props.isList}),(0,Q.A)((0,oY.A)(r),\"isPreserve\",function(){return r.props.preserve}),(0,Q.A)((0,oY.A)(r),\"getMeta\",function(){return r.prevValidating=r.isFieldValidating(),{touched:r.isFieldTouched(),validating:r.prevValidating,errors:r.errors,warnings:r.warnings,name:r.getNamePath(),validated:null===r.validatePromise}}),(0,Q.A)((0,oY.A)(r),\"getOnlyChild\",function(e){if(\"function\"==typeof e){var t=r.getMeta();return(0,q.A)((0,q.A)({},r.getOnlyChild(e(r.getControlled(),t,r.props.fieldContext))),{},{isFunction:!0})}var n=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=[];return G().Children.forEach(t,function(t){(null!=t||n.keepEmpty)&&(Array.isArray(t)?r=r.concat(e(t)):(0,rD.A)(t)&&t.props?r=r.concat(e(t.props.children,n)):r.push(t))}),r}(e);return 1===n.length&&U.isValidElement(n[0])?{child:n[0],isFunction:!1}:{child:n,isFunction:!1}}),(0,Q.A)((0,oY.A)(r),\"getValue\",function(e){var t=r.props.fieldContext.getFieldsValue,n=r.getNamePath();return(0,iP.A)(e||t(!0),n)}),(0,Q.A)((0,oY.A)(r),\"getControlled\",function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=r.props,n=t.name,o=t.trigger,i=t.validateTrigger,a=t.getValueFromEvent,c=t.normalize,l=t.valuePropName,s=t.getValueProps,u=t.fieldContext,f=void 0!==i?i:u.validateTrigger,d=r.getNamePath(),h=u.getInternalHooks,p=u.getFieldsValue,g=h(oZ).dispatch,v=r.getValue(),m=s||function(e){return(0,Q.A)({},l,e)},y=e[o],b=void 0!==n?m(v):{},A=(0,q.A)((0,q.A)({},e),b);return A[o]=function(){r.touched=!0,r.dirty=!0,r.triggerMetaEvent();for(var e,t=arguments.length,n=Array(t),o=0;o<t;o++)n[o]=arguments[o];e=a?a.apply(void 0,n):iR.apply(void 0,[l].concat(n)),c&&(e=c(e,v,p(!0))),e!==v&&g({type:\"updateValue\",namePath:d,value:e}),y&&y.apply(void 0,n)},o2(f||[]).forEach(function(e){var t=A[e];A[e]=function(){t&&t.apply(void 0,arguments);var n=r.props.rules;n&&n.length&&g({type:\"validateField\",namePath:d,triggerName:e})}}),A}),e.fieldContext&&(0,(0,e.fieldContext.getInternalHooks)(oZ).initEntityValue)((0,oY.A)(r)),r}return(0,K.A)(n,[{key:\"componentDidMount\",value:function(){var e=this.props,t=e.shouldUpdate,n=e.fieldContext;if(this.mounted=!0,n){var r=(0,n.getInternalHooks)(oZ).registerField;this.cancelRegisterFunc=r(this)}!0===t&&this.reRender()}},{key:\"componentWillUnmount\",value:function(){this.cancelRegister(),this.triggerMetaEvent(!0),this.mounted=!1}},{key:\"reRender\",value:function(){this.mounted&&this.forceUpdate()}},{key:\"render\",value:function(){var e,t=this.state.resetCount,n=this.props.children,r=this.getOnlyChild(n),o=r.child;return r.isFunction?e=o:U.isValidElement(o)?e=U.cloneElement(o,this.getControlled(o.props)):((0,tZ.Ay)(!o,\"`children` of Field is not validate ReactElement.\"),e=o),U.createElement(U.Fragment,{key:t},e)}}]),n}(U.Component);(0,Q.A)(iD,\"contextType\",o0),(0,Q.A)(iD,\"defaultProps\",{trigger:\"onChange\",valuePropName:\"value\"});let iW=function(e){var t,n=e.name,r=(0,tx.A)(e,iL),o=U.useContext(o0),i=U.useContext(o1),a=void 0!==n?iF(n):void 0,c=null!=(t=r.isListField)?t:!!i,l=\"keep\";return c||(l=\"_\".concat((a||[]).join(\"_\"))),U.createElement(iD,(0,to.A)({key:l,name:a,isListField:c},r,{fieldContext:o}))};var iV=\"__@field_split__\";function iq(e){return e.map(function(e){return\"\".concat((0,e9.A)(e),\":\").concat(e)}).join(iV)}var iU=function(){function e(){(0,X.A)(this,e),(0,Q.A)(this,\"kvs\",new Map)}return(0,K.A)(e,[{key:\"set\",value:function(e,t){this.kvs.set(iq(e),t)}},{key:\"get\",value:function(e){return this.kvs.get(iq(e))}},{key:\"update\",value:function(e,t){var n=t(this.get(e));n?this.set(e,n):this.delete(e)}},{key:\"delete\",value:function(e){this.kvs.delete(iq(e))}},{key:\"map\",value:function(e){return(0,tU.A)(this.kvs.entries()).map(function(t){var n=(0,tk.A)(t,2),r=n[0],o=n[1];return e({key:r.split(iV).map(function(e){var t=e.match(/^([^:]*):(.*)$/),n=(0,tk.A)(t,3),r=n[1],o=n[2];return\"number\"===r?Number(o):o}),value:o})})}},{key:\"toJSON\",value:function(){var e={};return this.map(function(t){var n=t.key,r=t.value;return e[n.join(\".\")]=r,null}),e}}]),e}(),iG=[\"name\"],iX=(0,K.A)(function e(t){var n=this;(0,X.A)(this,e),(0,Q.A)(this,\"formHooked\",!1),(0,Q.A)(this,\"forceRootUpdate\",void 0),(0,Q.A)(this,\"subscribable\",!0),(0,Q.A)(this,\"store\",{}),(0,Q.A)(this,\"fieldEntities\",[]),(0,Q.A)(this,\"initialValues\",{}),(0,Q.A)(this,\"callbacks\",{}),(0,Q.A)(this,\"validateMessages\",null),(0,Q.A)(this,\"preserve\",null),(0,Q.A)(this,\"lastValidatePromise\",null),(0,Q.A)(this,\"getForm\",function(){return{getFieldValue:n.getFieldValue,getFieldsValue:n.getFieldsValue,getFieldError:n.getFieldError,getFieldWarning:n.getFieldWarning,getFieldsError:n.getFieldsError,isFieldsTouched:n.isFieldsTouched,isFieldTouched:n.isFieldTouched,isFieldValidating:n.isFieldValidating,isFieldsValidating:n.isFieldsValidating,resetFields:n.resetFields,setFields:n.setFields,setFieldValue:n.setFieldValue,setFieldsValue:n.setFieldsValue,validateFields:n.validateFields,submit:n.submit,_init:!0,getInternalHooks:n.getInternalHooks}}),(0,Q.A)(this,\"getInternalHooks\",function(e){return e===oZ?(n.formHooked=!0,{dispatch:n.dispatch,initEntityValue:n.initEntityValue,registerField:n.registerField,useSubscribe:n.useSubscribe,setInitialValues:n.setInitialValues,destroyForm:n.destroyForm,setCallbacks:n.setCallbacks,setValidateMessages:n.setValidateMessages,getFields:n.getFields,setPreserve:n.setPreserve,getInitialValue:n.getInitialValue,registerWatch:n.registerWatch}):((0,tZ.Ay)(!1,\"`getInternalHooks` is internal usage. Should not call directly.\"),null)}),(0,Q.A)(this,\"useSubscribe\",function(e){n.subscribable=e}),(0,Q.A)(this,\"prevWithoutPreserves\",null),(0,Q.A)(this,\"setInitialValues\",function(e,t){if(n.initialValues=e||{},t){var r,o=(0,tY.h)(e,n.store);null==(r=n.prevWithoutPreserves)||r.map(function(t){var n=t.key;o=(0,tY.A)(o,n,(0,iP.A)(e,n))}),n.prevWithoutPreserves=null,n.updateStore(o)}}),(0,Q.A)(this,\"destroyForm\",function(e){if(e)n.updateStore({});else{var t=new iU;n.getFieldEntities(!0).forEach(function(e){n.isMergedPreserve(e.isPreserve())||t.set(e.getNamePath(),!0)}),n.prevWithoutPreserves=t}}),(0,Q.A)(this,\"getInitialValue\",function(e){var t=(0,iP.A)(n.initialValues,e);return e.length?(0,tY.h)(t):t}),(0,Q.A)(this,\"setCallbacks\",function(e){n.callbacks=e}),(0,Q.A)(this,\"setValidateMessages\",function(e){n.validateMessages=e}),(0,Q.A)(this,\"setPreserve\",function(e){n.preserve=e}),(0,Q.A)(this,\"watchList\",[]),(0,Q.A)(this,\"registerWatch\",function(e){return n.watchList.push(e),function(){n.watchList=n.watchList.filter(function(t){return t!==e})}}),(0,Q.A)(this,\"notifyWatch\",function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(n.watchList.length){var t=n.getFieldsValue(),r=n.getFieldsValue(!0);n.watchList.forEach(function(n){n(t,r,e)})}}),(0,Q.A)(this,\"timeoutId\",null),(0,Q.A)(this,\"warningUnhooked\",function(){}),(0,Q.A)(this,\"updateStore\",function(e){n.store=e}),(0,Q.A)(this,\"getFieldEntities\",function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return e?n.fieldEntities.filter(function(e){return e.getNamePath().length}):n.fieldEntities}),(0,Q.A)(this,\"getFieldsMap\",function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=new iU;return n.getFieldEntities(e).forEach(function(e){var n=e.getNamePath();t.set(n,e)}),t}),(0,Q.A)(this,\"getFieldEntitiesForNamePathList\",function(e){if(!e)return n.getFieldEntities(!0);var t=n.getFieldsMap(!0);return e.map(function(e){var n=iF(e);return t.get(n)||{INVALIDATE_NAME_PATH:iF(e)}})}),(0,Q.A)(this,\"getFieldsValue\",function(e,t){if(n.warningUnhooked(),!0===e||Array.isArray(e)?(r=e,o=t):e&&\"object\"===(0,e9.A)(e)&&(i=e.strict,o=e.filter),!0===r&&!o)return n.store;var r,o,i,a=n.getFieldEntitiesForNamePathList(Array.isArray(r)?r:null),c=[];return a.forEach(function(e){var t,n,a,l=\"INVALIDATE_NAME_PATH\"in e?e.INVALIDATE_NAME_PATH:e.getNamePath();if(i){if(null!=(a=e.isList)&&a.call(e))return}else if(!r&&null!=(t=(n=e).isListField)&&t.call(n))return;if(o){var s=\"getMeta\"in e?e.getMeta():null;o(s)&&c.push(l)}else c.push(l)}),iT(n.store,c.map(iF))}),(0,Q.A)(this,\"getFieldValue\",function(e){n.warningUnhooked();var t=iF(e);return(0,iP.A)(n.store,t)}),(0,Q.A)(this,\"getFieldsError\",function(e){return n.warningUnhooked(),n.getFieldEntitiesForNamePathList(e).map(function(t,n){return!t||\"INVALIDATE_NAME_PATH\"in t?{name:iF(e[n]),errors:[],warnings:[]}:{name:t.getNamePath(),errors:t.getErrors(),warnings:t.getWarnings()}})}),(0,Q.A)(this,\"getFieldError\",function(e){n.warningUnhooked();var t=iF(e);return n.getFieldsError([t])[0].errors}),(0,Q.A)(this,\"getFieldWarning\",function(e){n.warningUnhooked();var t=iF(e);return n.getFieldsError([t])[0].warnings}),(0,Q.A)(this,\"isFieldsTouched\",function(){n.warningUnhooked();for(var e,t=arguments.length,r=Array(t),o=0;o<t;o++)r[o]=arguments[o];var i=r[0],a=r[1],c=!1;0===r.length?e=null:1===r.length?Array.isArray(i)?(e=i.map(iF),c=!1):(e=null,c=i):(e=i.map(iF),c=a);var l=n.getFieldEntities(!0),s=function(e){return e.isFieldTouched()};if(!e)return c?l.every(function(e){return s(e)||e.isList()}):l.some(s);var u=new iU;e.forEach(function(e){u.set(e,[])}),l.forEach(function(t){var n=t.getNamePath();e.forEach(function(e){e.every(function(e,t){return n[t]===e})&&u.update(e,function(e){return[].concat((0,tU.A)(e),[t])})})});var f=function(e){return e.some(s)},d=u.map(function(e){return e.value});return c?d.every(f):d.some(f)}),(0,Q.A)(this,\"isFieldTouched\",function(e){return n.warningUnhooked(),n.isFieldsTouched([e])}),(0,Q.A)(this,\"isFieldsValidating\",function(e){n.warningUnhooked();var t=n.getFieldEntities();if(!e)return t.some(function(e){return e.isFieldValidating()});var r=e.map(iF);return t.some(function(e){return iI(r,e.getNamePath())&&e.isFieldValidating()})}),(0,Q.A)(this,\"isFieldValidating\",function(e){return n.warningUnhooked(),n.isFieldsValidating([e])}),(0,Q.A)(this,\"resetWithFieldInitialValue\",function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=new iU,o=n.getFieldEntities(!0);o.forEach(function(e){var t=e.props.initialValue,n=e.getNamePath();if(void 0!==t){var o=r.get(n)||new Set;o.add({entity:e,value:t}),r.set(n,o)}}),t.entities?e=t.entities:t.namePathList?(e=[],t.namePathList.forEach(function(t){var n,o=r.get(t);o&&(n=e).push.apply(n,(0,tU.A)((0,tU.A)(o).map(function(e){return e.entity})))})):e=o,e.forEach(function(e){if(void 0!==e.props.initialValue){var o=e.getNamePath();if(void 0!==n.getInitialValue(o))(0,tZ.Ay)(!1,\"Form already set 'initialValues' with path '\".concat(o.join(\".\"),\"'. Field can not overwrite it.\"));else{var i=r.get(o);if(i&&i.size>1)(0,tZ.Ay)(!1,\"Multiple Field with path '\".concat(o.join(\".\"),\"' set 'initialValue'. Can not decide which one to pick.\"));else if(i){var a=n.getFieldValue(o);e.isListField()||t.skipExist&&void 0!==a||n.updateStore((0,tY.A)(n.store,o,(0,tU.A)(i)[0].value))}}}})}),(0,Q.A)(this,\"resetFields\",function(e){n.warningUnhooked();var t=n.store;if(!e){n.updateStore((0,tY.h)(n.initialValues)),n.resetWithFieldInitialValue(),n.notifyObservers(t,null,{type:\"reset\"}),n.notifyWatch();return}var r=e.map(iF);r.forEach(function(e){var t=n.getInitialValue(e);n.updateStore((0,tY.A)(n.store,e,t))}),n.resetWithFieldInitialValue({namePathList:r}),n.notifyObservers(t,r,{type:\"reset\"}),n.notifyWatch(r)}),(0,Q.A)(this,\"setFields\",function(e){n.warningUnhooked();var t=n.store,r=[];e.forEach(function(e){var o=e.name,i=(0,tx.A)(e,iG),a=iF(o);r.push(a),\"value\"in i&&n.updateStore((0,tY.A)(n.store,a,i.value)),n.notifyObservers(t,[a],{type:\"setField\",data:e})}),n.notifyWatch(r)}),(0,Q.A)(this,\"getFields\",function(){return n.getFieldEntities(!0).map(function(e){var t=e.getNamePath(),r=e.getMeta(),o=(0,q.A)((0,q.A)({},r),{},{name:t,value:n.getFieldValue(t)});return Object.defineProperty(o,\"originRCField\",{value:!0}),o})}),(0,Q.A)(this,\"initEntityValue\",function(e){var t=e.props.initialValue;if(void 0!==t){var r=e.getNamePath();void 0===(0,iP.A)(n.store,r)&&n.updateStore((0,tY.A)(n.store,r,t))}}),(0,Q.A)(this,\"isMergedPreserve\",function(e){var t=void 0!==e?e:n.preserve;return null==t||t}),(0,Q.A)(this,\"registerField\",function(e){n.fieldEntities.push(e);var t=e.getNamePath();if(n.notifyWatch([t]),void 0!==e.props.initialValue){var r=n.store;n.resetWithFieldInitialValue({entities:[e],skipExist:!0}),n.notifyObservers(r,[e.getNamePath()],{type:\"valueUpdate\",source:\"internal\"})}return function(r,o){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(n.fieldEntities=n.fieldEntities.filter(function(t){return t!==e}),!n.isMergedPreserve(o)&&(!r||i.length>1)){var a=r?void 0:n.getInitialValue(t);if(t.length&&n.getFieldValue(t)!==a&&n.fieldEntities.every(function(e){return!iN(e.getNamePath(),t)})){var c=n.store;n.updateStore((0,tY.A)(c,t,a,!0)),n.notifyObservers(c,[t],{type:\"remove\"}),n.triggerDependenciesUpdate(c,t)}}n.notifyWatch([t])}}),(0,Q.A)(this,\"dispatch\",function(e){switch(e.type){case\"updateValue\":var t=e.namePath,r=e.value;n.updateValue(t,r);break;case\"validateField\":var o=e.namePath,i=e.triggerName;n.validateFields([o],{triggerName:i})}}),(0,Q.A)(this,\"notifyObservers\",function(e,t,r){if(n.subscribable){var o=(0,q.A)((0,q.A)({},r),{},{store:n.getFieldsValue(!0)});n.getFieldEntities().forEach(function(n){(0,n.onStoreChange)(e,t,o)})}else n.forceRootUpdate()}),(0,Q.A)(this,\"triggerDependenciesUpdate\",function(e,t){var r=n.getDependencyChildrenFields(t);return r.length&&n.validateFields(r),n.notifyObservers(e,r,{type:\"dependenciesUpdate\",relatedFields:[t].concat((0,tU.A)(r))}),r}),(0,Q.A)(this,\"updateValue\",function(e,t){var r=iF(e),o=n.store;n.updateStore((0,tY.A)(n.store,r,t)),n.notifyObservers(o,[r],{type:\"valueUpdate\",source:\"internal\"}),n.notifyWatch([r]);var i=n.triggerDependenciesUpdate(o,r),a=n.callbacks.onValuesChange;a&&a(iT(n.store,[r]),n.getFieldsValue()),n.triggerOnFieldsChange([r].concat((0,tU.A)(i)))}),(0,Q.A)(this,\"setFieldsValue\",function(e){n.warningUnhooked();var t=n.store;if(e){var r=(0,tY.h)(n.store,e);n.updateStore(r)}n.notifyObservers(t,null,{type:\"valueUpdate\",source:\"external\"}),n.notifyWatch()}),(0,Q.A)(this,\"setFieldValue\",function(e,t){n.setFields([{name:e,value:t,errors:[],warnings:[]}])}),(0,Q.A)(this,\"getDependencyChildrenFields\",function(e){var t=new Set,r=[],o=new iU;return n.getFieldEntities().forEach(function(e){(e.props.dependencies||[]).forEach(function(t){var n=iF(t);o.update(n,function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Set;return t.add(e),t})})}),!function e(n){(o.get(n)||new Set).forEach(function(n){if(!t.has(n)){t.add(n);var o=n.getNamePath();n.isFieldDirty()&&o.length&&(r.push(o),e(o))}})}(e),r}),(0,Q.A)(this,\"triggerOnFieldsChange\",function(e,t){var r=n.callbacks.onFieldsChange;if(r){var o=n.getFields();if(t){var i=new iU;t.forEach(function(e){var t=e.name,n=e.errors;i.set(t,n)}),o.forEach(function(e){e.errors=i.get(e.name)||e.errors})}var a=o.filter(function(t){return iI(e,t.name)});a.length&&r(a,o)}}),(0,Q.A)(this,\"validateFields\",function(e,t){n.warningUnhooked(),Array.isArray(e)||\"string\"==typeof e||\"string\"==typeof t?(a=e,c=t):c=e;var r,o,i,a,c,l=!!a,s=l?a.map(iF):[],u=[],f=String(Date.now()),d=new Set,h=c||{},p=h.recursive,g=h.dirty;n.getFieldEntities(!0).forEach(function(e){if((l||s.push(e.getNamePath()),e.props.rules&&e.props.rules.length)&&(!g||e.isFieldDirty())){var t=e.getNamePath();if(d.add(t.join(f)),!l||iI(s,t,p)){var r=e.validateRules((0,q.A)({validateMessages:(0,q.A)((0,q.A)({},iE),n.validateMessages)},c));u.push(r.then(function(){return{name:t,errors:[],warnings:[]}}).catch(function(e){var n,r=[],o=[];return(null==(n=e.forEach)||n.call(e,function(e){var t=e.rule.warningOnly,n=e.errors;t?o.push.apply(o,(0,tU.A)(n)):r.push.apply(r,(0,tU.A)(n))}),r.length)?Promise.reject({name:t,errors:r,warnings:o}):{name:t,errors:r,warnings:o}}))}}});var v=(r=!1,o=u.length,i=[],u.length?new Promise(function(e,t){u.forEach(function(n,a){n.catch(function(e){return r=!0,e}).then(function(n){o-=1,i[a]=n,o>0||(r&&t(i),e(i))})})}):Promise.resolve([]));n.lastValidatePromise=v,v.catch(function(e){return e}).then(function(e){var t=e.map(function(e){return e.name});n.notifyObservers(n.store,t,{type:\"validateFinish\"}),n.triggerOnFieldsChange(t,e)});var m=v.then(function(){return n.lastValidatePromise===v?Promise.resolve(n.getFieldsValue(s)):Promise.reject([])}).catch(function(e){var t=e.filter(function(e){return e&&e.errors.length});return Promise.reject({values:n.getFieldsValue(s),errorFields:t,outOfDate:n.lastValidatePromise!==v})});m.catch(function(e){return e});var y=s.filter(function(e){return d.has(e.join(f))});return n.triggerOnFieldsChange(y),m}),(0,Q.A)(this,\"submit\",function(){n.warningUnhooked(),n.validateFields().then(function(e){var t=n.callbacks.onFinish;if(t)try{t(e)}catch(e){console.error(e)}}).catch(function(e){var t=n.callbacks.onFinishFailed;t&&t(e)})}),this.forceRootUpdate=t});let iK=function(e){var t=U.useRef(),n=U.useState({}),r=(0,tk.A)(n,2)[1];return t.current||(e?t.current=e:t.current=new iX(function(){r({})}).getForm()),[t.current]};var iQ=U.createContext({triggerFormChange:function(){},triggerFormFinish:function(){},registerForm:function(){},unregisterForm:function(){}}),iY=[\"name\",\"initialValues\",\"fields\",\"form\",\"preserve\",\"children\",\"component\",\"validateMessages\",\"validateTrigger\",\"onValuesChange\",\"onFieldsChange\",\"onFinish\",\"onFinishFailed\",\"clearOnDestroy\"];function iZ(e){try{return JSON.stringify(e)}catch(e){return Math.random()}}var iJ=function(){},i0=U.forwardRef(function(e,t){var n,r=e.name,o=e.initialValues,i=e.fields,a=e.form,c=e.preserve,l=e.children,s=e.component,u=void 0===s?\"form\":s,f=e.validateMessages,d=e.validateTrigger,h=void 0===d?\"onChange\":d,p=e.onValuesChange,g=e.onFieldsChange,v=e.onFinish,m=e.onFinishFailed,y=e.clearOnDestroy,b=(0,tx.A)(e,iY),A=U.useRef(null),x=U.useContext(iQ),C=iK(a),w=(0,tk.A)(C,1)[0],k=w.getInternalHooks(oZ),S=k.useSubscribe,E=k.setInitialValues,O=k.setCallbacks,_=k.setValidateMessages,$=k.setPreserve,j=k.destroyForm;U.useImperativeHandle(t,function(){return(0,q.A)((0,q.A)({},w),{},{nativeElement:A.current})}),U.useEffect(function(){return x.registerForm(r,w),function(){x.unregisterForm(r)}},[x,w,r]),_((0,q.A)((0,q.A)({},x.validateMessages),f)),O({onValuesChange:p,onFieldsChange:function(e){if(x.triggerFormChange(r,e),g){for(var t=arguments.length,n=Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];g.apply(void 0,[e].concat(n))}},onFinish:function(e){x.triggerFormFinish(r,e),v&&v(e)},onFinishFailed:m}),$(c);var M=U.useRef(null);E(o,!M.current),M.current||(M.current=!0),U.useEffect(function(){return function(){return j(y)}},[]);var P=\"function\"==typeof l;n=P?l(w.getFieldsValue(!0),w):l,S(!P);var F=U.useRef();U.useEffect(function(){!function(e,t){if(e===t)return!0;if(!e&&t||e&&!t||!e||!t||\"object\"!==(0,e9.A)(e)||\"object\"!==(0,e9.A)(t))return!1;var n=new Set([].concat(Object.keys(e),Object.keys(t)));return(0,tU.A)(n).every(function(n){var r=e[n],o=t[n];return\"function\"==typeof r&&\"function\"==typeof o||r===o})}(F.current||[],i||[])&&w.setFields(i||[]),F.current=i},[i,w]);var T=U.useMemo(function(){return(0,q.A)((0,q.A)({},w),{},{validateTrigger:h})},[w,h]),I=U.createElement(o1.Provider,{value:null},U.createElement(o0.Provider,{value:T},n));return!1===u?I:U.createElement(u,(0,to.A)({},b,{ref:A,onSubmit:function(e){e.preventDefault(),e.stopPropagation(),w.submit()},onReset:function(e){var t;e.preventDefault(),w.resetFields(),null==(t=b.onReset)||t.call(b,e)}}),I)});i0.FormProvider=function(e){var t=e.validateMessages,n=e.onFormChange,r=e.onFormFinish,o=e.children,i=U.useContext(iQ),a=U.useRef({});return U.createElement(iQ.Provider,{value:(0,q.A)((0,q.A)({},i),{},{validateMessages:(0,q.A)((0,q.A)({},i.validateMessages),t),triggerFormChange:function(e,t){n&&n(e,{changedFields:t,forms:a.current}),i.triggerFormChange(e,t)},triggerFormFinish:function(e,t){r&&r(e,{values:t,forms:a.current}),i.triggerFormFinish(e,t)},registerForm:function(e,t){e&&(a.current=(0,q.A)((0,q.A)({},a.current),{},(0,Q.A)({},e,t))),i.registerForm(e,t)},unregisterForm:function(e){var t=(0,q.A)({},a.current);delete t[e],a.current=t,i.unregisterForm(e)}})},o)},i0.Field=iW,i0.List=function(e){var t=e.name,n=e.initialValue,r=e.children,o=e.rules,i=e.validateTrigger,a=e.isListField,c=U.useContext(o0),l=U.useContext(o1),s=U.useRef({keys:[],id:0}).current,u=U.useMemo(function(){var e=iF(c.prefixName)||[];return[].concat((0,tU.A)(e),(0,tU.A)(iF(t)))},[c.prefixName,t]),f=U.useMemo(function(){return(0,q.A)((0,q.A)({},c),{},{prefixName:u})},[c,u]),d=U.useMemo(function(){return{getKey:function(e){var t=u.length,n=e[t];return[s.keys[n],e.slice(t+1)]}}},[u]);return\"function\"!=typeof r?((0,tZ.Ay)(!1,\"Form.List only accepts function as children.\"),null):U.createElement(o1.Provider,{value:d},U.createElement(o0.Provider,{value:f},U.createElement(iW,{name:[],shouldUpdate:function(e,t,n){return\"internal\"!==n.source&&e!==t},rules:o,validateTrigger:i,initialValue:n,isList:!0,isListField:null!=a?a:!!l},function(e,t){var n=e.value,o=e.onChange,i=c.getFieldValue,a=function(){return i(u||[])||[]},l=(void 0===n?[]:n)||[];return Array.isArray(l)||(l=[]),r(l.map(function(e,t){var n=s.keys[t];return void 0===n&&(s.keys[t]=s.id,n=s.keys[t],s.id+=1),{name:t,key:n,isListField:!0}}),{add:function(e,t){var n=a();t>=0&&t<=n.length?(s.keys=[].concat((0,tU.A)(s.keys.slice(0,t)),[s.id],(0,tU.A)(s.keys.slice(t))),o([].concat((0,tU.A)(n.slice(0,t)),[e],(0,tU.A)(n.slice(t))))):(s.keys=[].concat((0,tU.A)(s.keys),[s.id]),o([].concat((0,tU.A)(n),[e]))),s.id+=1},remove:function(e){var t=a(),n=new Set(Array.isArray(e)?e:[e]);n.size<=0||(s.keys=s.keys.filter(function(e,t){return!n.has(t)}),o(t.filter(function(e,t){return!n.has(t)})))},move:function(e,t){if(e!==t){var n=a();e<0||e>=n.length||t<0||t>=n.length||(s.keys=iz(s.keys,e,t),o(iz(n,e,t)))}}},t)})))},i0.useForm=iK,i0.useWatch=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=t[0],o=t[1],i=void 0===o?{}:o,a=i&&i._init?{form:i}:i,c=a.form,l=(0,U.useState)(),s=(0,tk.A)(l,2),u=s[0],f=s[1],d=(0,U.useMemo)(function(){return iZ(u)},[u]),h=(0,U.useRef)(d);h.current=d;var p=(0,U.useContext)(o0),g=c||p,v=g&&g._init,m=iF(r),y=(0,U.useRef)(m);return y.current=m,iJ(m),(0,U.useEffect)(function(){if(v){var e=g.getFieldsValue,t=(0,g.getInternalHooks)(oZ).registerWatch,n=function(e,t){var n=a.preserve?t:e;return\"function\"==typeof r?r(n):(0,iP.A)(n,y.current)},o=t(function(e,t){var r=n(e,t),o=iZ(r);h.current!==o&&(h.current=o,f(r))}),i=n(e(),e(!0));return u!==i&&f(i),o}},[v]),u};let i1=U.createContext({}),i2=e=>{let{children:t,status:n,override:r}=e,o=U.useContext(i1),i=U.useMemo(()=>{let e=Object.assign({},o);return r&&delete e.isFormItemInput,n&&(delete e.status,delete e.hasFeedback,delete e.feedbackIcon),e},[n,r,o]);return U.createElement(i1.Provider,{value:i},t)},i5=e=>{let{space:t,form:n,children:r}=e;if(null==r)return null;let o=r;return n&&(o=G().createElement(i2,{override:!0,status:!0},o)),t&&(o=G().createElement(rV,null,o)),o};var i4=n(64);let i6=e=>{let{prefixCls:t,className:n,style:r,size:o,shape:i}=e,a=nF()({[`${t}-lg`]:\"large\"===o,[`${t}-sm`]:\"small\"===o}),c=nF()({[`${t}-circle`]:\"circle\"===i,[`${t}-square`]:\"square\"===i,[`${t}-round`]:\"round\"===i}),l=U.useMemo(()=>\"number\"==typeof o?{width:o,height:o,lineHeight:`${o}px`}:{},[o]);return U.createElement(\"span\",{className:nF()(t,a,c,n),style:Object.assign(Object.assign({},l),r)})},i3=new tC.Mo(\"ant-skeleton-loading\",{\"0%\":{backgroundPosition:\"100% 50%\"},\"100%\":{backgroundPosition:\"0 50%\"}}),i8=e=>({height:e,lineHeight:(0,tC.zA)(e)}),i9=e=>Object.assign({width:e},i8(e)),i7=(e,t)=>Object.assign({width:t(e).mul(5).equal(),minWidth:t(e).mul(5).equal()},i8(e)),ae=e=>Object.assign({width:e},i8(e)),at=(e,t,n)=>{let{skeletonButtonCls:r}=e;return{[`${n}${r}-circle`]:{width:t,minWidth:t,borderRadius:\"50%\"},[`${n}${r}-round`]:{borderRadius:t}}},an=(e,t)=>Object.assign({width:t(e).mul(2).equal(),minWidth:t(e).mul(2).equal()},i8(e)),ar=(0,nJ.OF)(\"Skeleton\",e=>{let{componentCls:t,calc:n}=e;return[(e=>{let{componentCls:t,skeletonAvatarCls:n,skeletonTitleCls:r,skeletonParagraphCls:o,skeletonButtonCls:i,skeletonInputCls:a,skeletonImageCls:c,controlHeight:l,controlHeightLG:s,controlHeightSM:u,gradientFromColor:f,padding:d,marginSM:h,borderRadius:p,titleHeight:g,blockRadius:v,paragraphLiHeight:m,controlHeightXS:y,paragraphMarginTop:b}=e;return{[t]:{display:\"table\",width:\"100%\",[`${t}-header`]:{display:\"table-cell\",paddingInlineEnd:d,verticalAlign:\"top\",[n]:Object.assign({display:\"inline-block\",verticalAlign:\"top\",background:f},i9(l)),[`${n}-circle`]:{borderRadius:\"50%\"},[`${n}-lg`]:Object.assign({},i9(s)),[`${n}-sm`]:Object.assign({},i9(u))},[`${t}-content`]:{display:\"table-cell\",width:\"100%\",verticalAlign:\"top\",[r]:{width:\"100%\",height:g,background:f,borderRadius:v,[`+ ${o}`]:{marginBlockStart:u}},[o]:{padding:0,\"> li\":{width:\"100%\",height:m,listStyle:\"none\",background:f,borderRadius:v,\"+ li\":{marginBlockStart:y}}},[`${o}> li:last-child:not(:first-child):not(:nth-child(2))`]:{width:\"61%\"}},[`&-round ${t}-content`]:{[`${r}, ${o} > li`]:{borderRadius:p}}},[`${t}-with-avatar ${t}-content`]:{[r]:{marginBlockStart:h,[`+ ${o}`]:{marginBlockStart:b}}},[`${t}${t}-element`]:Object.assign(Object.assign(Object.assign(Object.assign({display:\"inline-block\",width:\"auto\"},(e=>{let{borderRadiusSM:t,skeletonButtonCls:n,controlHeight:r,controlHeightLG:o,controlHeightSM:i,gradientFromColor:a,calc:c}=e;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({[n]:Object.assign({display:\"inline-block\",verticalAlign:\"top\",background:a,borderRadius:t,width:c(r).mul(2).equal(),minWidth:c(r).mul(2).equal()},an(r,c))},at(e,r,n)),{[`${n}-lg`]:Object.assign({},an(o,c))}),at(e,o,`${n}-lg`)),{[`${n}-sm`]:Object.assign({},an(i,c))}),at(e,i,`${n}-sm`))})(e)),(e=>{let{skeletonAvatarCls:t,gradientFromColor:n,controlHeight:r,controlHeightLG:o,controlHeightSM:i}=e;return{[t]:Object.assign({display:\"inline-block\",verticalAlign:\"top\",background:n},i9(r)),[`${t}${t}-circle`]:{borderRadius:\"50%\"},[`${t}${t}-lg`]:Object.assign({},i9(o)),[`${t}${t}-sm`]:Object.assign({},i9(i))}})(e)),(e=>{let{controlHeight:t,borderRadiusSM:n,skeletonInputCls:r,controlHeightLG:o,controlHeightSM:i,gradientFromColor:a,calc:c}=e;return{[r]:Object.assign({display:\"inline-block\",verticalAlign:\"top\",background:a,borderRadius:n},i7(t,c)),[`${r}-lg`]:Object.assign({},i7(o,c)),[`${r}-sm`]:Object.assign({},i7(i,c))}})(e)),(e=>{let{skeletonImageCls:t,imageSizeBase:n,gradientFromColor:r,borderRadiusSM:o,calc:i}=e;return{[t]:Object.assign(Object.assign({display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",verticalAlign:\"middle\",background:r,borderRadius:o},ae(i(n).mul(2).equal())),{[`${t}-path`]:{fill:\"#bfbfbf\"},[`${t}-svg`]:Object.assign(Object.assign({},ae(n)),{maxWidth:i(n).mul(4).equal(),maxHeight:i(n).mul(4).equal()}),[`${t}-svg${t}-svg-circle`]:{borderRadius:\"50%\"}}),[`${t}${t}-circle`]:{borderRadius:\"50%\"}}})(e)),[`${t}${t}-block`]:{width:\"100%\",[i]:{width:\"100%\"},[a]:{width:\"100%\"}},[`${t}${t}-active`]:{[`\n        ${r},\n        ${o} > li,\n        ${n},\n        ${i},\n        ${a},\n        ${c}\n      `]:Object.assign({},{background:e.skeletonLoadingBackground,backgroundSize:\"400% 100%\",animationName:i3,animationDuration:e.skeletonLoadingMotionDuration,animationTimingFunction:\"ease\",animationIterationCount:\"infinite\"})}}})((0,n0.oX)(e,{skeletonAvatarCls:`${t}-avatar`,skeletonTitleCls:`${t}-title`,skeletonParagraphCls:`${t}-paragraph`,skeletonButtonCls:`${t}-button`,skeletonInputCls:`${t}-input`,skeletonImageCls:`${t}-image`,imageSizeBase:n(e.controlHeight).mul(1.5).equal(),borderRadius:100,skeletonLoadingBackground:`linear-gradient(90deg, ${e.gradientFromColor} 25%, ${e.gradientToColor} 37%, ${e.gradientFromColor} 63%)`,skeletonLoadingMotionDuration:\"1.4s\"}))]},e=>{let{colorFillContent:t,colorFill:n}=e;return{color:t,colorGradientEnd:n,gradientFromColor:t,gradientToColor:n,titleHeight:e.controlHeight/2,blockRadius:e.borderRadiusSM,paragraphMarginTop:e.marginLG+e.marginXXS,paragraphLiHeight:e.controlHeight/2}},{deprecatedTokens:[[\"color\",\"gradientFromColor\"],[\"colorGradientEnd\",\"gradientToColor\"]]}),ao=e=>{let{prefixCls:t,className:n,style:r,rows:o}=e,i=(0,tU.A)(Array(o)).map((t,n)=>U.createElement(\"li\",{key:n,style:{width:((e,t)=>{let{width:n,rows:r=2}=t;return Array.isArray(n)?n[e]:r-1===e?n:void 0})(n,e)}}));return U.createElement(\"ul\",{className:nF()(t,n),style:r},i)},ai=e=>{let{prefixCls:t,className:n,width:r,style:o}=e;return U.createElement(\"h3\",{className:nF()(t,n),style:Object.assign({width:r},o)})};function aa(e){return e&&\"object\"==typeof e?e:{}}let ac=e=>{let{prefixCls:t,loading:n,className:r,rootClassName:o,style:i,children:a,avatar:c=!1,title:l=!0,paragraph:s=!0,active:u,round:f}=e,{getPrefixCls:d,direction:h,skeleton:p}=U.useContext(tX.QO),g=d(\"skeleton\",t),[v,m,y]=ar(g);if(n||!(\"loading\"in e)){let e,t,n=!!c,a=!!l,d=!!s;if(n){let t=Object.assign(Object.assign({prefixCls:`${g}-avatar`},a&&!d?{size:\"large\",shape:\"square\"}:{size:\"large\",shape:\"circle\"}),aa(c));e=U.createElement(\"div\",{className:`${g}-header`},U.createElement(i6,Object.assign({},t)))}if(a||d){let e,r;if(a){let t=Object.assign(Object.assign({prefixCls:`${g}-title`},!n&&d?{width:\"38%\"}:n&&d?{width:\"50%\"}:{}),aa(l));e=U.createElement(ai,Object.assign({},t))}if(d){let e,t=Object.assign(Object.assign({prefixCls:`${g}-paragraph`},(e={},n&&a||(e.width=\"61%\"),!n&&a?e.rows=3:e.rows=2,e)),aa(s));r=U.createElement(ao,Object.assign({},t))}t=U.createElement(\"div\",{className:`${g}-content`},e,r)}let b=nF()(g,{[`${g}-with-avatar`]:n,[`${g}-active`]:u,[`${g}-rtl`]:\"rtl\"===h,[`${g}-round`]:f},null==p?void 0:p.className,r,o,m,y);return v(U.createElement(\"div\",{className:b,style:Object.assign(Object.assign({},null==p?void 0:p.style),i)},e,t))}return null!=a?a:null};ac.Button=e=>{let{prefixCls:t,className:n,rootClassName:r,active:o,block:i=!1,size:a=\"default\"}=e,{getPrefixCls:c}=U.useContext(tX.QO),l=c(\"skeleton\",t),[s,u,f]=ar(l),d=(0,rL.A)(e,[\"prefixCls\"]),h=nF()(l,`${l}-element`,{[`${l}-active`]:o,[`${l}-block`]:i},n,r,u,f);return s(U.createElement(\"div\",{className:h},U.createElement(i6,Object.assign({prefixCls:`${l}-button`,size:a},d))))},ac.Avatar=e=>{let{prefixCls:t,className:n,rootClassName:r,active:o,shape:i=\"circle\",size:a=\"default\"}=e,{getPrefixCls:c}=U.useContext(tX.QO),l=c(\"skeleton\",t),[s,u,f]=ar(l),d=(0,rL.A)(e,[\"prefixCls\",\"className\"]),h=nF()(l,`${l}-element`,{[`${l}-active`]:o},n,r,u,f);return s(U.createElement(\"div\",{className:h},U.createElement(i6,Object.assign({prefixCls:`${l}-avatar`,shape:i,size:a},d))))},ac.Input=e=>{let{prefixCls:t,className:n,rootClassName:r,active:o,block:i,size:a=\"default\"}=e,{getPrefixCls:c}=U.useContext(tX.QO),l=c(\"skeleton\",t),[s,u,f]=ar(l),d=(0,rL.A)(e,[\"prefixCls\"]),h=nF()(l,`${l}-element`,{[`${l}-active`]:o,[`${l}-block`]:i},n,r,u,f);return s(U.createElement(\"div\",{className:h},U.createElement(i6,Object.assign({prefixCls:`${l}-input`,size:a},d))))},ac.Image=e=>{let{prefixCls:t,className:n,rootClassName:r,style:o,active:i}=e,{getPrefixCls:a}=U.useContext(tX.QO),c=a(\"skeleton\",t),[l,s,u]=ar(c),f=nF()(c,`${c}-element`,{[`${c}-active`]:i},n,r,s,u);return l(U.createElement(\"div\",{className:f},U.createElement(\"div\",{className:nF()(`${c}-image`,n),style:o},U.createElement(\"svg\",{viewBox:\"0 0 1098 1024\",xmlns:\"http://www.w3.org/2000/svg\",className:`${c}-image-svg`},U.createElement(\"title\",null,\"Image placeholder\"),U.createElement(\"path\",{d:\"M365.714286 329.142857q0 45.714286-32.036571 77.677714t-77.677714 32.036571-77.677714-32.036571-32.036571-77.677714 32.036571-77.677714 77.677714-32.036571 77.677714 32.036571 32.036571 77.677714zM950.857143 548.571429l0 256-804.571429 0 0-109.714286 182.857143-182.857143 91.428571 91.428571 292.571429-292.571429zM1005.714286 146.285714l-914.285714 0q-7.460571 0-12.873143 5.412571t-5.412571 12.873143l0 694.857143q0 7.460571 5.412571 12.873143t12.873143 5.412571l914.285714 0q7.460571 0 12.873143-5.412571t5.412571-12.873143l0-694.857143q0-7.460571-5.412571-12.873143t-12.873143-5.412571zM1097.142857 164.571429l0 694.857143q0 37.741714-26.843429 64.585143t-64.585143 26.843429l-914.285714 0q-37.741714 0-64.585143-26.843429t-26.843429-64.585143l0-694.857143q0-37.741714 26.843429-64.585143t64.585143-26.843429l914.285714 0q37.741714 0 64.585143 26.843429t26.843429 64.585143z\",className:`${c}-image-path`})))))},ac.Node=e=>{let{prefixCls:t,className:n,rootClassName:r,style:o,active:i,children:a}=e,{getPrefixCls:c}=U.useContext(tX.QO),l=c(\"skeleton\",t),[s,u,f]=ar(l),d=nF()(l,`${l}-element`,{[`${l}-active`]:i},u,n,r,f);return s(U.createElement(\"div\",{className:d},U.createElement(\"div\",{className:nF()(`${l}-image`,n),style:o},a)))};var al=n(6956);function as(){}let au=U.createContext({add:as,remove:as}),af=()=>{let{cancelButtonProps:e,cancelTextLocale:t,onCancel:n}=(0,U.useContext)(ow);return G().createElement(oA,Object.assign({onClick:n},e),t)},ad=()=>{let{confirmLoading:e,okButtonProps:t,okType:n,okTextLocale:r,onOk:o}=(0,U.useContext)(ow);return G().createElement(oA,Object.assign({},rQ(n),{loading:e,onClick:o},t),r)};function ah(e,t){return G().createElement(\"span\",{className:`${e}-close-x`},t||G().createElement(n6.A,{className:`${e}-close-icon`}))}let ap=e=>{let t,{okText:n,okType:r=\"primary\",cancelText:o,confirmLoading:i,onOk:a,onCancel:c,okButtonProps:l,cancelButtonProps:s,footer:u}=e,[f]=(0,rR.A)(\"Modal\",t4),d={confirmLoading:i,okButtonProps:l,cancelButtonProps:s,okTextLocale:n||(null==f?void 0:f.okText),cancelTextLocale:o||(null==f?void 0:f.cancelText),okType:r,onOk:a,onCancel:c},h=G().useMemo(()=>d,(0,tU.A)(Object.values(d)));return\"function\"==typeof u||void 0===u?(t=G().createElement(G().Fragment,null,G().createElement(af,null),G().createElement(ad,null)),\"function\"==typeof u&&(t=u(t,{OkBtn:ad,CancelBtn:af})),t=G().createElement(ok,{value:h},t)):t=u,G().createElement(nr,{disabled:!1},t)},ag=function(e,t,n,r){let o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],i=o?\"&\":\"\";return{[`\n      ${i}${e}-enter,\n      ${i}${e}-appear\n    `]:Object.assign(Object.assign({},{animationDuration:r,animationFillMode:\"both\"}),{animationPlayState:\"paused\"}),[`${i}${e}-leave`]:Object.assign(Object.assign({},{animationDuration:r,animationFillMode:\"both\"}),{animationPlayState:\"paused\"}),[`\n      ${i}${e}-enter${e}-enter-active,\n      ${i}${e}-appear${e}-appear-active\n    `]:{animationName:t,animationPlayState:\"running\"},[`${i}${e}-leave${e}-leave-active`]:{animationName:n,animationPlayState:\"running\",pointerEvents:\"none\"}}},av=new tC.Mo(\"antFadeIn\",{\"0%\":{opacity:0},\"100%\":{opacity:1}}),am=new tC.Mo(\"antFadeOut\",{\"0%\":{opacity:1},\"100%\":{opacity:0}}),ay=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],{antCls:n}=e,r=`${n}-fade`,o=t?\"&\":\"\";return[ag(r,av,am,e.motionDurationMid,t),{[`\n        ${o}${r}-enter,\n        ${o}${r}-appear\n      `]:{opacity:0,animationTimingFunction:\"linear\"},[`${o}${r}-leave`]:{animationTimingFunction:\"linear\"}}]},ab=new tC.Mo(\"antZoomIn\",{\"0%\":{transform:\"scale(0.2)\",opacity:0},\"100%\":{transform:\"scale(1)\",opacity:1}}),aA=new tC.Mo(\"antZoomOut\",{\"0%\":{transform:\"scale(1)\"},\"100%\":{transform:\"scale(0.2)\",opacity:0}}),ax=new tC.Mo(\"antZoomBigIn\",{\"0%\":{transform:\"scale(0.8)\",opacity:0},\"100%\":{transform:\"scale(1)\",opacity:1}}),aC=new tC.Mo(\"antZoomBigOut\",{\"0%\":{transform:\"scale(1)\"},\"100%\":{transform:\"scale(0.8)\",opacity:0}}),aw=new tC.Mo(\"antZoomUpIn\",{\"0%\":{transform:\"scale(0.8)\",transformOrigin:\"50% 0%\",opacity:0},\"100%\":{transform:\"scale(1)\",transformOrigin:\"50% 0%\"}}),ak=new tC.Mo(\"antZoomUpOut\",{\"0%\":{transform:\"scale(1)\",transformOrigin:\"50% 0%\"},\"100%\":{transform:\"scale(0.8)\",transformOrigin:\"50% 0%\",opacity:0}}),aS={zoom:{inKeyframes:ab,outKeyframes:aA},\"zoom-big\":{inKeyframes:ax,outKeyframes:aC},\"zoom-big-fast\":{inKeyframes:ax,outKeyframes:aC},\"zoom-left\":{inKeyframes:new tC.Mo(\"antZoomLeftIn\",{\"0%\":{transform:\"scale(0.8)\",transformOrigin:\"0% 50%\",opacity:0},\"100%\":{transform:\"scale(1)\",transformOrigin:\"0% 50%\"}}),outKeyframes:new tC.Mo(\"antZoomLeftOut\",{\"0%\":{transform:\"scale(1)\",transformOrigin:\"0% 50%\"},\"100%\":{transform:\"scale(0.8)\",transformOrigin:\"0% 50%\",opacity:0}})},\"zoom-right\":{inKeyframes:new tC.Mo(\"antZoomRightIn\",{\"0%\":{transform:\"scale(0.8)\",transformOrigin:\"100% 50%\",opacity:0},\"100%\":{transform:\"scale(1)\",transformOrigin:\"100% 50%\"}}),outKeyframes:new tC.Mo(\"antZoomRightOut\",{\"0%\":{transform:\"scale(1)\",transformOrigin:\"100% 50%\"},\"100%\":{transform:\"scale(0.8)\",transformOrigin:\"100% 50%\",opacity:0}})},\"zoom-up\":{inKeyframes:aw,outKeyframes:ak},\"zoom-down\":{inKeyframes:new tC.Mo(\"antZoomDownIn\",{\"0%\":{transform:\"scale(0.8)\",transformOrigin:\"50% 100%\",opacity:0},\"100%\":{transform:\"scale(1)\",transformOrigin:\"50% 100%\"}}),outKeyframes:new tC.Mo(\"antZoomDownOut\",{\"0%\":{transform:\"scale(1)\",transformOrigin:\"50% 100%\"},\"100%\":{transform:\"scale(0.8)\",transformOrigin:\"50% 100%\",opacity:0}})}};function aE(e){return{position:e,inset:0}}let aO=e=>{let t=e.padding,n=e.fontSizeHeading5,r=e.lineHeightHeading5;return(0,n0.oX)(e,{modalHeaderHeight:e.calc(e.calc(r).mul(n).equal()).add(e.calc(t).mul(2).equal()).equal(),modalFooterBorderColorSplit:e.colorSplit,modalFooterBorderStyle:e.lineType,modalFooterBorderWidth:e.lineWidth,modalCloseIconColor:e.colorIcon,modalCloseIconHoverColor:e.colorIconHover,modalCloseBtnSize:e.controlHeight,modalConfirmIconSize:e.fontHeight,modalTitleHeight:e.calc(e.titleFontSize).mul(e.titleLineHeight).equal()})},a_=e=>({footerBg:\"transparent\",headerBg:e.colorBgElevated,titleLineHeight:e.lineHeightHeading5,titleFontSize:e.fontSizeHeading5,contentBg:e.colorBgElevated,titleColor:e.colorTextHeading,contentPadding:e.wireframe?0:`${(0,tC.zA)(e.paddingMD)} ${(0,tC.zA)(e.paddingContentHorizontalLG)}`,headerPadding:e.wireframe?`${(0,tC.zA)(e.padding)} ${(0,tC.zA)(e.paddingLG)}`:0,headerBorderBottom:e.wireframe?`${(0,tC.zA)(e.lineWidth)} ${e.lineType} ${e.colorSplit}`:\"none\",headerMarginBottom:e.wireframe?0:e.marginXS,bodyPadding:e.wireframe?e.paddingLG:0,footerPadding:e.wireframe?`${(0,tC.zA)(e.paddingXS)} ${(0,tC.zA)(e.padding)}`:0,footerBorderTop:e.wireframe?`${(0,tC.zA)(e.lineWidth)} ${e.lineType} ${e.colorSplit}`:\"none\",footerBorderRadius:e.wireframe?`0 0 ${(0,tC.zA)(e.borderRadiusLG)} ${(0,tC.zA)(e.borderRadiusLG)}`:0,footerMarginTop:e.wireframe?0:e.marginSM,confirmBodyPadding:e.wireframe?`${(0,tC.zA)(2*e.padding)} ${(0,tC.zA)(2*e.padding)} ${(0,tC.zA)(e.paddingLG)}`:0,confirmIconMarginInlineEnd:e.wireframe?e.margin:e.marginSM,confirmBtnsMarginTop:e.wireframe?e.marginLG:e.marginSM}),a$=(0,nJ.OF)(\"Modal\",e=>{let t=aO(e);return[(e=>{let{componentCls:t}=e;return[{[`${t}-root`]:{[`${t}-wrap-rtl`]:{direction:\"rtl\"},[`${t}-centered`]:{textAlign:\"center\",\"&::before\":{display:\"inline-block\",width:0,height:\"100%\",verticalAlign:\"middle\",content:'\"\"'},[t]:{top:0,display:\"inline-block\",paddingBottom:0,textAlign:\"start\",verticalAlign:\"middle\"}},[`@media (max-width: ${e.screenSMMax}px)`]:{[t]:{maxWidth:\"calc(100vw - 16px)\",margin:`${(0,tC.zA)(e.marginXS)} auto`},[`${t}-centered`]:{[t]:{flex:1}}}}},{[t]:Object.assign(Object.assign({},(0,nd.dF)(e)),{pointerEvents:\"none\",position:\"relative\",top:100,width:\"auto\",maxWidth:`calc(100vw - ${(0,tC.zA)(e.calc(e.margin).mul(2).equal())})`,margin:\"0 auto\",paddingBottom:e.paddingLG,[`${t}-title`]:{margin:0,color:e.titleColor,fontWeight:e.fontWeightStrong,fontSize:e.titleFontSize,lineHeight:e.titleLineHeight,wordWrap:\"break-word\"},[`${t}-content`]:{position:\"relative\",backgroundColor:e.contentBg,backgroundClip:\"padding-box\",border:0,borderRadius:e.borderRadiusLG,boxShadow:e.boxShadow,pointerEvents:\"auto\",padding:e.contentPadding},[`${t}-close`]:Object.assign({position:\"absolute\",top:e.calc(e.modalHeaderHeight).sub(e.modalCloseBtnSize).div(2).equal(),insetInlineEnd:e.calc(e.modalHeaderHeight).sub(e.modalCloseBtnSize).div(2).equal(),zIndex:e.calc(e.zIndexPopupBase).add(10).equal(),padding:0,color:e.modalCloseIconColor,fontWeight:e.fontWeightStrong,lineHeight:1,textDecoration:\"none\",background:\"transparent\",borderRadius:e.borderRadiusSM,width:e.modalCloseBtnSize,height:e.modalCloseBtnSize,border:0,outline:0,cursor:\"pointer\",transition:`color ${e.motionDurationMid}, background-color ${e.motionDurationMid}`,\"&-x\":{display:\"flex\",fontSize:e.fontSizeLG,fontStyle:\"normal\",lineHeight:(0,tC.zA)(e.modalCloseBtnSize),justifyContent:\"center\",textTransform:\"none\",textRendering:\"auto\"},\"&:disabled\":{pointerEvents:\"none\"},\"&:hover\":{color:e.modalCloseIconHoverColor,backgroundColor:e.colorBgTextHover,textDecoration:\"none\"},\"&:active\":{backgroundColor:e.colorBgTextActive}},(0,nd.K8)(e)),[`${t}-header`]:{color:e.colorText,background:e.headerBg,borderRadius:`${(0,tC.zA)(e.borderRadiusLG)} ${(0,tC.zA)(e.borderRadiusLG)} 0 0`,marginBottom:e.headerMarginBottom,padding:e.headerPadding,borderBottom:e.headerBorderBottom},[`${t}-body`]:{fontSize:e.fontSize,lineHeight:e.lineHeight,wordWrap:\"break-word\",padding:e.bodyPadding,[`${t}-body-skeleton`]:{width:\"100%\",height:\"100%\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",margin:`${(0,tC.zA)(e.margin)} auto`}},[`${t}-footer`]:{textAlign:\"end\",background:e.footerBg,marginTop:e.footerMarginTop,padding:e.footerPadding,borderTop:e.footerBorderTop,borderRadius:e.footerBorderRadius,[`> ${e.antCls}-btn + ${e.antCls}-btn`]:{marginInlineStart:e.marginXS}},[`${t}-open`]:{overflow:\"hidden\"}})},{[`${t}-pure-panel`]:{top:\"auto\",padding:0,display:\"flex\",flexDirection:\"column\",[`${t}-content,\n          ${t}-body,\n          ${t}-confirm-body-wrapper`]:{display:\"flex\",flexDirection:\"column\",flex:\"auto\"},[`${t}-confirm-body`]:{marginBottom:\"auto\"}}}]})(t),(e=>{let{componentCls:t}=e;return{[`${t}-root`]:{[`${t}-wrap-rtl`]:{direction:\"rtl\",[`${t}-confirm-body`]:{direction:\"rtl\"}}}}})(t),(e=>{let{componentCls:t,antCls:n}=e;return[{[`${t}-root`]:{[`${t}${n}-zoom-enter, ${t}${n}-zoom-appear`]:{transform:\"none\",opacity:0,animationDuration:e.motionDurationSlow,userSelect:\"none\"},[`${t}${n}-zoom-leave ${t}-content`]:{pointerEvents:\"none\"},[`${t}-mask`]:Object.assign(Object.assign({},aE(\"fixed\")),{zIndex:e.zIndexPopupBase,height:\"100%\",backgroundColor:e.colorBgMask,pointerEvents:\"none\",[`${t}-hidden`]:{display:\"none\"}}),[`${t}-wrap`]:Object.assign(Object.assign({},aE(\"fixed\")),{zIndex:e.zIndexPopupBase,overflow:\"auto\",outline:0,WebkitOverflowScrolling:\"touch\"})}},{[`${t}-root`]:ay(e)}]})(t),((e,t)=>{let{antCls:n}=e,r=`${n}-${t}`,{inKeyframes:o,outKeyframes:i}=aS[t];return[ag(r,o,i,\"zoom-big-fast\"===t?e.motionDurationFast:e.motionDurationMid),{[`\n        ${r}-enter,\n        ${r}-appear\n      `]:{transform:\"scale(0)\",opacity:0,animationTimingFunction:e.motionEaseOutCirc,\"&-prepare\":{transform:\"none\"}},[`${r}-leave`]:{animationTimingFunction:e.motionEaseInOutCirc}}]})(t,\"zoom\")]},a_,{unitless:{titleLineHeight:!0}});var aj=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)0>t.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};(0,t7.A)()&&window.document.documentElement&&document.documentElement.addEventListener(\"click\",e=>{c={x:e.pageX,y:e.pageY},setTimeout(()=>{c=null},100)},!0);let aM=e=>{var t,n;let r,o,{getPopupContainer:i,getPrefixCls:a,direction:l,modal:s}=U.useContext(tX.QO),u=t=>{let{onCancel:n}=e;null==n||n(t)},{prefixCls:f,className:d,rootClassName:h,open:p,wrapClassName:g,centered:v,getContainer:m,focusTriggerAfterClose:y=!0,style:b,visible:A,width:x=520,footer:C,classNames:w,styles:k,children:S,loading:E}=e,O=aj(e,[\"prefixCls\",\"className\",\"rootClassName\",\"open\",\"wrapClassName\",\"centered\",\"getContainer\",\"focusTriggerAfterClose\",\"style\",\"visible\",\"width\",\"footer\",\"classNames\",\"styles\",\"children\",\"loading\"]),_=a(\"modal\",f),$=a(),j=nK(_),[M,P,F]=a$(_,j),T=nF()(g,{[`${_}-centered`]:!!v,[`${_}-wrap-rtl`]:\"rtl\"===l}),I=null===C||E?null:U.createElement(ap,Object.assign({},e,{onOk:t=>{let{onOk:n}=e;null==n||n(t)},onCancel:u})),[N,R,z]=(0,i4.A)((0,i4.d)(e),(0,i4.d)(s),{closable:!0,closeIcon:U.createElement(n6.A,{className:`${_}-close-icon`}),closeIconRender:e=>ah(_,e)}),L=(n=`.${_}-content`,r=U.useContext(au),o=U.useRef(null),(0,al.A)(e=>{if(e){let t=n?e.querySelector(n):e;r.add(t),o.current=t}else r.remove(o.current)})),[H,B]=((e,t)=>{let n,[,r]=(0,t_.Ay)(),o=G().useContext(nQ),i=e in nY;if(void 0!==t)n=[t,t];else{let a=null!=o?o:0;i?a+=(o?0:r.zIndexPopupBase)+nY[e]:a+=nZ[e],n=[void 0===o?t:a,a]}return n})(\"Modal\",O.zIndex);return M(U.createElement(i5,{form:!0,space:!0},U.createElement(nQ.Provider,{value:B},U.createElement(oX,Object.assign({width:x},O,{zIndex:H,getContainer:void 0===m?i:m,prefixCls:_,rootClassName:nF()(P,h,F,j),footer:I,visible:null!=p?p:A,mousePosition:null!=(t=O.mousePosition)?t:c,onClose:u,closable:N?{disabled:z,closeIcon:R}:N,closeIcon:R,focusTriggerAfterClose:y,transitionName:rN($,\"zoom\",e.transitionName),maskTransitionName:rN($,\"fade\",e.maskTransitionName),className:nF()(P,d,null==s?void 0:s.className),style:Object.assign(Object.assign({},null==s?void 0:s.style),b),classNames:Object.assign(Object.assign(Object.assign({},null==s?void 0:s.classNames),w),{wrapper:nF()(T,null==w?void 0:w.wrapper)}),styles:Object.assign(Object.assign({},null==s?void 0:s.styles),k),panelRef:L}),E?U.createElement(ac,{active:!0,title:!1,paragraph:{rows:4},className:`${_}-body-skeleton`}):S))))},aP=(0,nJ.bf)([\"Modal\",\"confirm\"],e=>[(e=>{let{componentCls:t,titleFontSize:n,titleLineHeight:r,modalConfirmIconSize:o,fontSize:i,lineHeight:a,modalTitleHeight:c,fontHeight:l,confirmBodyPadding:s}=e,u=`${t}-confirm`;return{[u]:{\"&-rtl\":{direction:\"rtl\"},[`${e.antCls}-modal-header`]:{display:\"none\"},[`${u}-body-wrapper`]:Object.assign({},(0,nd.t6)()),[`&${t} ${t}-body`]:{padding:s},[`${u}-body`]:{display:\"flex\",flexWrap:\"nowrap\",alignItems:\"start\",[`> ${e.iconCls}`]:{flex:\"none\",fontSize:o,marginInlineEnd:e.confirmIconMarginInlineEnd,marginTop:e.calc(e.calc(l).sub(o).equal()).div(2).equal()},[`&-has-title > ${e.iconCls}`]:{marginTop:e.calc(e.calc(c).sub(o).equal()).div(2).equal()}},[`${u}-paragraph`]:{display:\"flex\",flexDirection:\"column\",flex:\"auto\",rowGap:e.marginXS,maxWidth:`calc(100% - ${(0,tC.zA)(e.marginSM)})`},[`${e.iconCls} + ${u}-paragraph`]:{maxWidth:`calc(100% - ${(0,tC.zA)(e.calc(e.modalConfirmIconSize).add(e.marginSM).equal())})`},[`${u}-title`]:{color:e.colorTextHeading,fontWeight:e.fontWeightStrong,fontSize:n,lineHeight:r},[`${u}-content`]:{color:e.colorText,fontSize:i,lineHeight:a},[`${u}-btns`]:{textAlign:\"end\",marginTop:e.confirmBtnsMarginTop,[`${e.antCls}-btn + ${e.antCls}-btn`]:{marginBottom:0,marginInlineStart:e.marginXS}}},[`${u}-error ${u}-body > ${e.iconCls}`]:{color:e.colorError},[`${u}-warning ${u}-body > ${e.iconCls},\n        ${u}-confirm ${u}-body > ${e.iconCls}`]:{color:e.colorWarning},[`${u}-info ${u}-body > ${e.iconCls}`]:{color:e.colorInfo},[`${u}-success ${u}-body > ${e.iconCls}`]:{color:e.colorSuccess}}})(aO(e))],a_,{order:-1e3});var aF=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)0>t.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};function aT(e){let{prefixCls:t,icon:n,okText:r,cancelText:o,confirmPrefixCls:i,type:a,okCancel:c,footer:l,locale:s}=e,u=aF(e,[\"prefixCls\",\"icon\",\"okText\",\"cancelText\",\"confirmPrefixCls\",\"type\",\"okCancel\",\"footer\",\"locale\"]),f=n;if(!n&&null!==n)switch(a){case\"info\":f=U.createElement(n$,null);break;case\"success\":f=U.createElement(nw,null);break;case\"error\":f=U.createElement(nS,null);break;default:f=U.createElement(nO,null)}let d=null!=c?c:\"confirm\"===a,h=null!==e.autoFocusButton&&(e.autoFocusButton||\"ok\"),[p]=(0,rR.A)(\"Modal\"),g=s||p,v=r||(d?null==g?void 0:g.okText:null==g?void 0:g.justOkText),m=Object.assign({autoFocusButton:h,cancelTextLocale:o||(null==g?void 0:g.cancelText),okTextLocale:v,mergedOkCancel:d},u),y=U.useMemo(()=>m,(0,tU.A)(Object.values(m))),b=U.createElement(U.Fragment,null,U.createElement(oS,null),U.createElement(oE,null)),A=void 0!==e.title&&null!==e.title,x=`${i}-body`;return U.createElement(\"div\",{className:`${i}-body-wrapper`},U.createElement(\"div\",{className:nF()(x,{[`${x}-has-title`]:A})},f,U.createElement(\"div\",{className:`${i}-paragraph`},A&&U.createElement(\"span\",{className:`${i}-title`},e.title),U.createElement(\"div\",{className:`${i}-content`},e.content))),void 0===l||\"function\"==typeof l?U.createElement(ok,{value:y},U.createElement(\"div\",{className:`${i}-btns`},\"function\"==typeof l?l(b,{OkBtn:oE,CancelBtn:oS}):b)):l,U.createElement(aP,{prefixCls:t}))}let aI=e=>{let{close:t,zIndex:n,afterClose:r,open:o,keyboard:i,centered:a,getContainer:c,maskStyle:l,direction:s,prefixCls:u,wrapClassName:f,rootPrefixCls:d,bodyStyle:h,closable:p=!1,closeIcon:g,modalRender:v,focusTriggerAfterClose:m,onConfirm:y,styles:b}=e,A=`${u}-confirm`,x=e.width||416,C=e.style||{},w=void 0===e.mask||e.mask,k=void 0!==e.maskClosable&&e.maskClosable,S=nF()(A,`${A}-${e.type}`,{[`${A}-rtl`]:\"rtl\"===s},e.className),[,E]=(0,t_.Ay)(),O=U.useMemo(()=>void 0!==n?n:E.zIndexPopupBase+1e3,[n,E]);return U.createElement(aM,{prefixCls:u,className:S,wrapClassName:nF()({[`${A}-centered`]:!!e.centered},f),onCancel:()=>{null==t||t({triggerCancel:!0}),null==y||y(!1)},open:o,title:\"\",footer:null,transitionName:rN(d||\"\",\"zoom\",e.transitionName),maskTransitionName:rN(d||\"\",\"fade\",e.maskTransitionName),mask:w,maskClosable:k,style:C,styles:Object.assign({body:h,mask:l},b),width:x,zIndex:O,afterClose:r,keyboard:i,centered:a,getContainer:c,closable:p,closeIcon:g,modalRender:v,focusTriggerAfterClose:m},U.createElement(aT,Object.assign({},e,{confirmPrefixCls:A})))},aN=e=>{let{rootPrefixCls:t,iconPrefixCls:n,direction:r,theme:o}=e;return U.createElement(nb,{prefixCls:t,iconPrefixCls:n,direction:r,theme:o},U.createElement(aI,Object.assign({},e)))},aR=[],az=\"\",aL=e=>{var t,n;let{prefixCls:r,getContainer:o,direction:i}=e,a=t4,c=(0,U.useContext)(tX.QO),l=az||c.getPrefixCls(),s=r||`${l}-modal`,u=o;return!1===u&&(u=void 0),G().createElement(aN,Object.assign({},e,{rootPrefixCls:l,prefixCls:s,iconPrefixCls:c.iconPrefixCls,theme:c.theme,direction:null!=i?i:c.direction,locale:null!=(n=null==(t=c.locale)?void 0:t.Modal)?n:a,getContainer:u}))};function aH(e){let t,n,r=nm(),o=document.createDocumentFragment(),i=Object.assign(Object.assign({},e),{close:l,open:!0});function a(){for(var t,r=arguments.length,o=Array(r),i=0;i<r;i++)o[i]=arguments[i];o.some(e=>null==e?void 0:e.triggerCancel)&&(null==(t=e.onCancel)||t.call.apply(t,[e,()=>{}].concat((0,tU.A)(o.slice(1)))));for(let e=0;e<aR.length;e++)if(aR[e]===l){aR.splice(e,1);break}n()}function c(e){clearTimeout(t),t=setTimeout(()=>{let t=r.getPrefixCls(void 0,az),i=r.getIconPrefixCls(),a=r.getTheme(),c=G().createElement(aL,Object.assign({},e));n=(0,nA.K)()(G().createElement(nb,{prefixCls:t,iconPrefixCls:i,theme:a},r.holderRender?r.holderRender(c):c),o)})}function l(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];(i=Object.assign(Object.assign({},i),{open:!1,afterClose:()=>{\"function\"==typeof e.afterClose&&e.afterClose(),a.apply(this,n)}})).visible&&delete i.visible,c(i)}return c(i),aR.push(l),{destroy:l,update:function(e){c(i=\"function\"==typeof e?e(i):Object.assign(Object.assign({},i),e))}}}function aB(e){return Object.assign(Object.assign({},e),{type:\"warning\"})}function aD(e){return Object.assign(Object.assign({},e),{type:\"info\"})}function aW(e){return Object.assign(Object.assign({},e),{type:\"success\"})}function aV(e){return Object.assign(Object.assign({},e),{type:\"error\"})}function aq(e){return Object.assign(Object.assign({},e),{type:\"confirm\"})}var aU=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)0>t.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let aG=(w=e=>{let{prefixCls:t,className:n,closeIcon:r,closable:o,type:i,title:a,children:c,footer:l}=e,s=aU(e,[\"prefixCls\",\"className\",\"closeIcon\",\"closable\",\"type\",\"title\",\"children\",\"footer\"]),{getPrefixCls:u}=U.useContext(tX.QO),f=u(),d=t||u(\"modal\"),h=nK(f),[p,g,v]=a$(d,h),m=`${d}-confirm`,y={};return y=i?{closable:null!=o&&o,title:\"\",footer:\"\",children:U.createElement(aT,Object.assign({},e,{prefixCls:d,confirmPrefixCls:m,rootPrefixCls:f,content:c}))}:{closable:null==o||o,title:a,footer:null!==l&&U.createElement(ap,Object.assign({},e)),children:c},p(U.createElement(oV,Object.assign({prefixCls:d,className:nF()(g,`${d}-pure-panel`,i&&m,i&&`${m}-${i}`,n,v,h)},s,{closeIcon:ah(d,r),closable:o},y)))},e=>U.createElement(nb,{theme:{token:{motion:!1,zIndexPopupBase:0}}},U.createElement(w,Object.assign({},e))));var aX=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)0>t.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let aK=U.forwardRef((e,t)=>{var n,{afterClose:r,config:o}=e,i=aX(e,[\"afterClose\",\"config\"]);let[a,c]=U.useState(!0),[l,s]=U.useState(o),{direction:u,getPrefixCls:f}=U.useContext(tX.QO),d=f(\"modal\"),h=f(),p=function(){c(!1);for(var e,t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];n.some(e=>null==e?void 0:e.triggerCancel)&&(null==(e=l.onCancel)||e.call.apply(e,[l,()=>{}].concat((0,tU.A)(n.slice(1)))))};U.useImperativeHandle(t,()=>({destroy:p,update:e=>{s(t=>Object.assign(Object.assign({},t),e))}}));let g=null!=(n=l.okCancel)?n:\"confirm\"===l.type,[v]=(0,rR.A)(\"Modal\",t5.A.Modal);return U.createElement(aN,Object.assign({prefixCls:d,rootPrefixCls:h},l,{close:p,open:a,afterClose:()=>{var e;r(),null==(e=l.afterClose)||e.call(l)},okText:l.okText||(g?null==v?void 0:v.okText:null==v?void 0:v.justOkText),direction:l.direction||u,cancelText:l.cancelText||(null==v?void 0:v.cancelText)},i))}),aQ=0,aY=U.memo(U.forwardRef((e,t)=>{let[n,r]=function(){let[e,t]=U.useState([]);return[e,U.useCallback(e=>(t(t=>[].concat((0,tU.A)(t),[e])),()=>{t(t=>t.filter(t=>t!==e))}),[])]}();return U.useImperativeHandle(t,()=>({patchElement:r}),[]),U.createElement(U.Fragment,null,n)}));function aZ(e){return aH(aB(e))}aM.useModal=function(){let e=U.useRef(null),[t,n]=U.useState([]);U.useEffect(()=>{t.length&&((0,tU.A)(t).forEach(e=>{e()}),n([]))},[t]);let r=U.useCallback(t=>function(r){var o;let i,a;aQ+=1;let c=U.createRef(),l=new Promise(e=>{i=e}),s=!1,u=U.createElement(aK,{key:`modal-${aQ}`,config:t(r),ref:c,afterClose:()=>{null==a||a()},isSilent:()=>s,onConfirm:e=>{i(e)}});return(a=null==(o=e.current)?void 0:o.patchElement(u))&&aR.push(a),{destroy:()=>{function e(){var e;null==(e=c.current)||e.destroy()}c.current?e():n(t=>[].concat((0,tU.A)(t),[e]))},update:e=>{function t(){var t;null==(t=c.current)||t.update(e)}c.current?t():n(e=>[].concat((0,tU.A)(e),[t]))},then:e=>(s=!0,l.then(e))}},[]);return[U.useMemo(()=>({info:r(aD),success:r(aW),error:r(aV),warning:r(aB),confirm:r(aq)}),[]),U.createElement(aY,{key:\"modal-holder\",ref:e})]},aM.info=function(e){return aH(aD(e))},aM.success=function(e){return aH(aW(e))},aM.error=function(e){return aH(aV(e))},aM.warning=aZ,aM.warn=aZ,aM.confirm=function(e){return aH(aq(e))},aM.destroyAll=function(){for(;aR.length;){let e=aR.pop();e&&e()}},aM.config=function(e){let{rootPrefixCls:t}=e;az=t},aM._InternalPanelDoNotUseOrYouWillBeFired=aG;var aJ=function(e){return\"u\">typeof window?matchMedia&&matchMedia(\"(prefers-color-scheme: \".concat(e,\")\")):{matches:!1}},a0=(0,U.createContext)({appearance:\"light\",setAppearance:function(){},isDarkMode:!1,themeMode:\"light\",setThemeMode:function(){},browserPrefers:null!=(m=aJ(\"dark\"))&&m.matches?\"dark\":\"light\"}),a1=function(){return(0,U.useContext)(a0)},a2=(0,U.memo)(function(e){var t=e.children,n=e.theme,r=e.prefixCls,o=e.getStaticInstance,i=e.staticInstanceConfig,a=a1(),c=a.appearance,l=a.isDarkMode,s=ru.useMessage(null==i?void 0:i.message),u=(0,tk.A)(s,2),f=u[0],d=u[1],h=rI.useNotification(null==i?void 0:i.notification),p=(0,tk.A)(h,2),g=p[0],v=p[1],m=aM.useModal(),y=(0,tk.A)(m,2),b=y[0],A=y[1];(0,U.useEffect)(function(){null==o||o({message:f,modal:b,notification:g})},[]);var x=(0,U.useMemo)(function(){var e=l?tL.darkAlgorithm:tL.defaultAlgorithm,t=n;if(\"function\"==typeof n&&(t=n(c)),!t)return{algorithm:e};var r=t.algorithm?t.algorithm instanceof Array?t.algorithm:[t.algorithm]:[];return(0,q.A)((0,q.A)({},t),{},{algorithm:t.algorithm?[e].concat((0,tU.A)(r)):e})},[n,l]);return(0,tA.jsxs)(nb,{prefixCls:r,theme:x,children:[d,v,A,t]})});function a5(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}a2.displayName=\"AntdProvider\";let a4=function(e,t){var n,r=t||{},o=r.defaultValue,i=r.value,a=r.onChange,c=r.postState,l=function(e){if(Array.isArray(e))return e}(n=G().useState(function(){return void 0!==i?i:void 0!==o?\"function\"==typeof o?o():o:\"function\"==typeof e?e():e}))||function(e){var t=null==e?null:\"u\">typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=t){var n,r,o,i,a=[],c=!0,l=!1;try{o=(t=t.call(e)).next,!1;for(;!(c=(n=o.call(t)).done)&&(a.push(n.value),2!==a.length);c=!0);}catch(e){l=!0,r=e}finally{try{if(!c&&null!=t.return&&(i=t.return(),Object(i)!==i))return}finally{if(l)throw r}}return a}}(n)||function(e){if(e){if(\"string\"==typeof e)return a5(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if(\"Object\"===t&&e.constructor&&(t=e.constructor.name),\"Map\"===t||\"Set\"===t)return Array.from(e);if(\"Arguments\"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return a5(e,2)}}(n)||function(){throw TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}(),s=l[0],u=l[1],f=void 0!==i?i:s;return c&&(f=c(f)),[f,function(e){u(e),f!==e&&a&&a(e,f)}]};var a6=function(e){\"function\"==typeof U.startTransition?(0,U.startTransition)(e):e()},a3=function(e){var t=e.themeMode,n=e.setAppearance,r=e.setBrowserPrefers,o=function(){a6(function(){aJ(\"dark\").matches?n(\"dark\"):n(\"light\")})},i=function(){a6(function(){aJ(\"dark\").matches?r(\"dark\"):r(\"light\")})};return(0,U.useLayoutEffect)(function(){return\"auto\"!==t?void a6(function(){n(t)}):(setTimeout(o,1),y||(y=aJ(\"dark\")),y.addEventListener(\"change\",o),function(){y.removeEventListener(\"change\",o)})},[t]),(0,U.useLayoutEffect)(function(){return y||(y=aJ(\"dark\")),y.addEventListener(\"change\",i),function(){y.removeEventListener(\"change\",i)}},[]),null},a8=(0,U.memo)(function(e){var t,n=e.children,r=e.appearance,o=e.defaultAppearance,i=e.onAppearanceChange,a=e.themeMode,c=e.defaultThemeMode,l=e.onThemeModeChange,s=(0,e.useTheme)(),u=s.appearance,f=s.themeMode,d=a4(\"light\",{value:a,defaultValue:null!=c?c:f,onChange:function(e){return null==l?void 0:l(e)}}),h=(0,tk.A)(d,2),p=h[0],g=h[1],v=a4(\"light\",{value:r,defaultValue:null!=o?o:u,onChange:function(e){return null==i?void 0:i(e)}}),m=(0,tk.A)(v,2),y=m[0],b=m[1],A=(0,U.useState)(null!=(t=aJ(\"dark\"))&&t.matches?\"dark\":\"light\"),x=(0,tk.A)(A,2),C=x[0],w=x[1];return(0,tA.jsxs)(a0.Provider,{value:{themeMode:p,setThemeMode:g,appearance:y,setAppearance:b,isDarkMode:\"dark\"===y,browserPrefers:C},children:[\"u\">typeof window&&(0,tA.jsx)(a3,{themeMode:p,setAppearance:b,setBrowserPrefers:w}),n]})});a8.displayName=\"ThemeSwitcher\";var a9=function(e){var t=e.css,n=e.token;return{buttonDefaultHover:t({backgroundColor:n.colorBgContainer,border:\"1px solid \".concat(n.colorBorder),cursor:\"pointer\",\":hover\":{color:n.colorPrimaryHover,borderColor:n.colorPrimaryHover},\":active\":{color:n.colorPrimaryActive,borderColor:n.colorPrimaryActive}})}},a7=function(){var e=tH(),t=a1(),n=t.appearance,r=t.isDarkMode;return(0,U.useMemo)(function(){return Object.fromEntries(Object.entries(a9({token:e,css:tr,appearance:n,isDarkMode:r})).map(function(e){var t=(0,tk.A)(e,2);return[t[0],t[1].styles]}))},[e,n,r])},ce=function(){var e=tH(),t=a7();return(0,U.useMemo)(function(){return(0,q.A)((0,q.A)({},e),{},{stylish:t})},[e,t])},ct=[\"stylish\"];let cn=function(e){var t=e.children,n=e.customToken,r=e.defaultCustomToken,o=e.customStylish,i=e.prefixCls,a=e.StyledThemeProvider,c=a1(),l=c.appearance,s=c.isDarkMode,u=ce(),f=u.stylish,d=(0,tx.A)(u,ct),h=(0,U.useMemo)(function(){return r?r instanceof Function?r({token:d,appearance:l,isDarkMode:s}):r:{}},[r,d,l]),p=(0,U.useMemo)(function(){return n instanceof Function?(0,q.A)((0,q.A)({},h),n({token:d,appearance:l,isDarkMode:s})):(0,q.A)((0,q.A)({},h),n)},[h,n,d,l]),g=(0,U.useMemo)(function(){return o?o({token:(0,q.A)((0,q.A)({},d),p),stylish:f,appearance:l,isDarkMode:s,css:tr}):{}},[o,d,p,f,l]),v=(0,U.useMemo)(function(){return(0,q.A)((0,q.A)({},g),f)},[g,f]),m=(0,q.A)((0,q.A)((0,q.A)((0,q.A)({},d),p),{},{stylish:v},c),{},{prefixCls:i});return(0,tA.jsx)(a,{theme:m,children:t})};var cr=new e4;void 0!==n.g&&(n.g.__ANTD_STYLE_CACHE_MANAGER_FOR_SSR__=cr);var co=(k={key:\"acss\",speedy:!1},j=$=e0({key:(_=(0,q.A)((0,q.A)({},k),{},{key:null!=(S=k.key)?S:\"zcss\",speedy:null!=(E=k.speedy)&&E})).key,speedy:_.speedy,container:_.container}),P=M=(0,U.createContext)(j),F=(0,U.memo)(function(e){var t=e.children,r=e.prefix,o=e.speedy,i=e.getStyleManager,a=e.container,c=e.nonce,l=e.insertionPoint,s=e.stylisPlugins,u=e.linters,f=(0,tx.A)(e,tw),d=(0,U.useContext)(P),h=null!=r?r:d.sheet.key,p=null!=a?a:d.sheet.container,g=null!=o?o:d.sheet.isSpeedy,v=(0,U.useMemo)(function(){var e=e0({speedy:null!=g&&g,key:h,container:p,nonce:c,insertionPoint:l,stylisPlugins:s});if(void 0!==n.g){var t=n.g.__ANTD_STYLE_CACHE_MANAGER_FOR_SSR__;t&&(e.cache=t.add(e.cache))}return e},[h,g,p,c,l,s]);(0,U.useEffect)(function(){null==i||i(v)},[v]);var m=(0,tA.jsx)(P.Provider,{value:v,children:t});return Object.keys(f).length||p?(0,tA.jsx)(tC.N7,(0,q.A)((0,q.A)({linters:u,container:p},f),{},{children:m})):m}),$.cache=cr.add($.cache),T=(0,U.createContext)(_.customToken?_.customToken:{}),I=null==(O=_.styled)?void 0:O.ThemeContext,R={StyleEngineContext:N=(0,U.createContext)({CustomThemeContext:T,StyledThemeContext:I,prefixCls:null==_?void 0:_.prefixCls,iconPrefixCls:null==_?void 0:_.iconPrefixCls})},z=function(){var e=R.StyleEngineContext,t=(0,U.useContext)(e),n=t.StyledThemeContext,r=t.CustomThemeContext,o=t.prefixCls,i=ce(),a=a1(),c=(0,U.useContext)(r),l=(0,U.useContext)(null!=n?n:tf)||{},s=(0,U.useContext)(nb.ConfigContext),u=s.iconPrefixCls,f=(0,s.getPrefixCls)(),d=o&&\"ant\"!==o?o:f,h=(0,U.useMemo)(function(){return(0,q.A)((0,q.A)((0,q.A)((0,q.A)({},i),a),c),{},{prefixCls:d,iconPrefixCls:u})},[i,a,c,d,u]);return l&&0!==Object.keys(l).length?(0,q.A)((0,q.A)({},l),{},{prefixCls:d,iconPrefixCls:u}):h},s=(l={hashPriority:_.hashPriority,useTheme:z,EmotionContext:M}).hashPriority,u=l.useTheme,f=l.EmotionContext,L=function(e,t){var n=null==t?void 0:t.__BABEL_FILE_NAME__,r=!!n;return function(o){var i=u(),a=tn((0,U.useContext)(f).cache,{hashPriority:(null==t?void 0:t.hashPriority)||s,label:null==t?void 0:t.label}),c=a.cx,l=a.css,d=tB(),h=(0,U.useMemo)(function(){var t;if(e instanceof Function){var a=i.stylish,s=i.appearance,u=i.isDarkMode,f=i.prefixCls,h=i.iconPrefixCls,p=(0,tx.A)(i,tD),g=function(e){return Object.entries(e).map(function(e){var t=(0,tk.A)(e,2),n=t[0],r=t[1],o=r;return e7(r)||(o=tr(r)),d[n]?\"\".concat(d[n],\" {\").concat(o.styles,\"}\"):\"\"}).join(\"\")};Object.assign(g,d),t=e({token:p,stylish:a,appearance:s,isDarkMode:u,prefixCls:f,iconPrefixCls:h,cx:c,css:tr,responsive:g},o)}else t=e;return\"object\"===(0,e9.A)(t)&&(t=e7(t)?l(t):Object.fromEntries(Object.entries(t).map(function(e){var t=(0,tk.A)(e,2),o=t[0],i=t[1],a=r?\"\".concat(n,\"-\").concat(o):void 0;return\"object\"===(0,e9.A)(i)?r?[o,l(i,\"label:\".concat(a))]:[o,l(i)]:[o,i]}))),t},[o,i]);return(0,U.useMemo)(function(){var e=i.prefixCls,t=i.iconPrefixCls;return{styles:h,cx:c,theme:(0,tx.A)(i,tW),prefixCls:e,iconPrefixCls:t}},[h,i])}},H=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,U.memo)(function(e){var n=z();return(0,tA.jsx)(tb,{styles:eX(t,void 0,(0,q.A)((0,q.A)({},e),{},{theme:n}))})})},B=function(e){var t=L(e);return function(e){return t(e).styles}},(h=(d={styledConfig:_.styled,StyleEngineContext:N,useTheme:z}).styledConfig?tq(d.styledConfig):void 0,p=d.StyleEngineContext,D=(0,U.memo)(function(e){var t=e.children,n=e.customToken,r=e.customStylish,o=e.theme,i=e.getStaticInstance,a=e.prefixCls,c=e.staticInstanceConfig,l=e.appearance,s=e.defaultAppearance,u=e.onAppearanceChange,f=e.themeMode,g=e.defaultThemeMode,v=e.onThemeModeChange,m=e.styled,y=(0,U.useContext)(p),b=y.prefixCls,A=y.StyledThemeContext,x=y.CustomThemeContext,C=(0,U.useContext)(x),w=m?tq(m):h||tV,k=a||b;return(0,tA.jsx)(p.Provider,{value:{prefixCls:k,StyledThemeContext:(null==m?void 0:m.ThemeContext)||A||tf,CustomThemeContext:x},children:(0,tA.jsx)(a8,{themeMode:f,defaultThemeMode:g,onThemeModeChange:v,defaultAppearance:s,appearance:l,onAppearanceChange:u,useTheme:d.useTheme,children:(0,tA.jsx)(a2,{prefixCls:k,staticInstanceConfig:c,theme:o,getStaticInstance:i,children:(0,tA.jsx)(cn,{prefixCls:k,customToken:n,defaultCustomToken:C,customStylish:r,StyledThemeProvider:w,children:t})})})})})).displayName=\"AntdStyleThemeProvider\",W=tn($.cache,{hashPriority:_.hashPriority}).cx,V=$.injectGlobal,{createStyles:L,createGlobalStyle:H,createStylish:B,css:tr,cx:W,keyframes:$.keyframes,injectGlobal:V,styleManager:$,useTheme:z,StyleProvider:F,ThemeProvider:D}),ci=co.createStyles;co.createGlobalStyle,co.createStylish,co.css,co.cx,co.keyframes,co.injectGlobal,co.styleManager,co.ThemeProvider,co.StyleProvider,co.useTheme},64(e,t,n){\"use strict\";n.d(t,{A:()=>f,d:()=>c});var r=n(2812),o=n.n(r),i=n(5100),a=n(2065);function c(e){if(e)return{closable:e.closable,closeIcon:e.closeIcon}}function l(e){let{closable:t,closeIcon:n}=e||{};return o().useMemo(()=>{if(!t&&(!1===t||!1===n||null===n))return!1;if(void 0===t&&void 0===n)return null;let e={closeIcon:\"boolean\"!=typeof n&&null!==n?n:void 0};return t&&\"object\"==typeof t&&(e=Object.assign(Object.assign({},e),t)),e},[t,n])}function s(){let e={};for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return n.forEach(t=>{t&&Object.keys(t).forEach(n=>{void 0!==t[n]&&(e[n]=t[n])})}),e}let u={};function f(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:u,r=l(e),c=l(t),f=\"boolean\"!=typeof r&&!!(null==r?void 0:r.disabled),d=o().useMemo(()=>Object.assign({closeIcon:o().createElement(i.A,null)},n),[n]),h=o().useMemo(()=>!1!==r&&(r?s(d,c,r):!1!==c&&(c?s(d,c):!!d.closable&&d)),[r,c,d]);return o().useMemo(()=>{if(!1===h)return[!1,null,f];let{closeIconRender:e}=d,{closeIcon:t}=h,n=t;if(null!=n){e&&(n=e(t));let r=(0,a.A)(h,!0);Object.keys(r).length&&(n=o().isValidElement(n)?o().cloneElement(n,r):o().createElement(\"span\",Object.assign({},r),n))}return[!0,n,f]},[h,d])}},682(e,t,n){\"use strict\";n.d(t,{Ob:()=>c,fx:()=>a,zv:()=>i});var r=n(2812),o=n.n(r);function i(e){return e&&o().isValidElement(e)&&e.type===o().Fragment}let a=(e,t,n)=>o().isValidElement(e)?o().cloneElement(e,\"function\"==typeof n?n(e.props||{}):n):t;function c(e,t){return a(e,e,t)}},7460(e,t,n){\"use strict\";n.d(t,{A:()=>x});var r=n(2812),o=n.n(r),i=n(6942),a=n.n(i);let c=function(e){if(!e)return!1;if(e instanceof Element){if(e.offsetParent)return!0;if(e.getBBox){var t=e.getBBox(),n=t.width,r=t.height;if(n||r)return!0}if(e.getBoundingClientRect){var o=e.getBoundingClientRect(),i=o.width,a=o.height;if(i||a)return!0}}return!1};var l=n(8719),s=n(2279),u=n(682);let f=(0,n(7358).Or)(\"Wave\",e=>[(e=>{let{componentCls:t,colorPrimary:n}=e;return{[t]:{position:\"absolute\",background:\"transparent\",pointerEvents:\"none\",boxSizing:\"border-box\",color:`var(--wave-color, ${n})`,boxShadow:\"0 0 0 0 currentcolor\",opacity:.2,\"&.wave-motion-appear\":{transition:`box-shadow 0.4s ${e.motionEaseOutCirc},opacity 2s ${e.motionEaseOutCirc}`,\"&-active\":{boxShadow:\"0 0 0 6px currentcolor\",opacity:0},\"&.wave-quick\":{transition:`box-shadow ${e.motionDurationSlow} ${e.motionEaseInOut},opacity ${e.motionDurationSlow} ${e.motionEaseInOut}`}}}}})(e)]);var d=n(6956),h=n(5371),p=n(8365);let g=`${s.yH}-wave-target`;var v=n(7839),m=n(9871);function y(e){return e&&\"#fff\"!==e&&\"#ffffff\"!==e&&\"rgb(255, 255, 255)\"!==e&&\"rgba(255, 255, 255, 1)\"!==e&&!/rgba\\((?:\\d*, ){3}0\\)/.test(e)&&\"transparent\"!==e}function b(e){return Number.isNaN(e)?0:e}let A=e=>{let{className:t,target:n,component:o,registerUnmount:i}=e,c=r.useRef(null),s=r.useRef(null);r.useEffect(()=>{s.current=i()},[]);let[u,f]=r.useState(null),[d,p]=r.useState([]),[m,A]=r.useState(0),[x,C]=r.useState(0),[w,k]=r.useState(0),[S,E]=r.useState(0),[O,_]=r.useState(!1),$={left:m,top:x,width:w,height:S,borderRadius:d.map(e=>`${e}px`).join(\" \")};function j(){let e=getComputedStyle(n);f(function(e){let{borderTopColor:t,borderColor:n,backgroundColor:r}=getComputedStyle(e);return y(t)?t:y(n)?n:y(r)?r:null}(n));let t=\"static\"===e.position,{borderLeftWidth:r,borderTopWidth:o}=e;A(t?n.offsetLeft:b(-parseFloat(r))),C(t?n.offsetTop:b(-parseFloat(o))),k(n.offsetWidth),E(n.offsetHeight);let{borderTopLeftRadius:i,borderTopRightRadius:a,borderBottomLeftRadius:c,borderBottomRightRadius:l}=e;p([i,a,l,c].map(e=>b(parseFloat(e))))}if(u&&($[\"--wave-color\"]=u),r.useEffect(()=>{if(n){let e,t=(0,h.A)(()=>{j(),_(!0)});return\"u\">typeof ResizeObserver&&(e=new ResizeObserver(j)).observe(n),()=>{h.A.cancel(t),null==e||e.disconnect()}}},[]),!O)return null;let M=(\"Checkbox\"===o||\"Radio\"===o)&&(null==n?void 0:n.classList.contains(g));return r.createElement(v.Ay,{visible:!0,motionAppear:!0,motionName:\"wave-motion\",motionDeadline:5e3,onAppearEnd:(e,t)=>{var n,r;if(t.deadline||\"opacity\"===t.propertyName){let e=null==(n=c.current)?void 0:n.parentElement;null==(r=s.current)||r.call(s).then(()=>{null==e||e.remove()})}return!1}},(e,n)=>{let{className:o}=e;return r.createElement(\"div\",{ref:(0,l.K4)(c,n),className:a()(t,o,{\"wave-quick\":M}),style:$})})},x=e=>{let{children:t,disabled:n,component:i}=e,{getPrefixCls:v}=(0,r.useContext)(s.QO),y=(0,r.useRef)(null),b=v(\"wave\"),[,x]=f(b),C=((e,t,n)=>{let{wave:o}=r.useContext(s.QO),[,i,a]=(0,p.Ay)(),c=(0,d.A)(c=>{let l=e.current;if((null==o?void 0:o.disabled)||!l)return;let s=l.querySelector(`.${g}`)||l,{showEffect:u}=o||{};(u||((e,t)=>{var n;let{component:o}=t;if(\"Checkbox\"===o&&!(null==(n=e.querySelector(\"input\"))?void 0:n.checked))return;let i=document.createElement(\"div\");i.style.position=\"absolute\",i.style.left=\"0px\",i.style.top=\"0px\",null==e||e.insertBefore(i,null==e?void 0:e.firstChild);let a=(0,m.K)(),c=null;c=a(r.createElement(A,Object.assign({},t,{target:e,registerUnmount:function(){return c}})),i)}))(s,{className:t,token:i,component:n,event:c,hashId:a})}),l=r.useRef(null);return e=>{h.A.cancel(l.current),l.current=(0,h.A)(()=>{c(e)})}})(y,a()(b,x),i);if(o().useEffect(()=>{let e=y.current;if(!e||1!==e.nodeType||n)return;let t=t=>{!c(t.target)||!e.getAttribute||e.getAttribute(\"disabled\")||e.disabled||e.className.includes(\"disabled\")||e.className.includes(\"-leave\")||C(t)};return e.addEventListener(\"click\",t,!0),()=>{e.removeEventListener(\"click\",t,!0)}},[n]),!o().isValidElement(t))return null!=t?t:null;let w=(0,l.f3)(t)?(0,l.K4)((0,l.A9)(t),y):y;return(0,u.Ob)(t,{ref:w})}},9871(e,t,n){\"use strict\";n.d(t,{K:()=>m}),n(2812);var r,o=n(4646),i=n(1079),a=n(467),c=n(2284),l=(0,n(9379).A)({},o),s=l.version,u=l.render,f=l.unmountComponentAtNode;try{Number((s||\"\").split(\".\")[0])>=18&&(r=l.createRoot)}catch(e){}function d(e){var t=l.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;t&&\"object\"===(0,c.A)(t)&&(t.usingClientEntryPoint=e)}var h=\"__rc_react_root__\";function p(){return(p=(0,a.A)((0,i.A)().mark(function e(t){return(0,i.A)().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",Promise.resolve().then(function(){var e;null==(e=t[h])||e.unmount(),delete t[h]}));case 1:case\"end\":return e.stop()}},e)}))).apply(this,arguments)}function g(){return(g=(0,a.A)((0,i.A)().mark(function e(t){return(0,i.A)().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===r){e.next=2;break}return e.abrupt(\"return\",function(e){return p.apply(this,arguments)}(t));case 2:f(t);case 3:case\"end\":return e.stop()}},e)}))).apply(this,arguments)}let v=(e,t)=>(!function(e,t){var n;if(r)return d(!0),n=t[h]||r(t),d(!1),n.render(e),t[h]=n;null==u||u(e,t)}(e,t),()=>(function(e){return g.apply(this,arguments)})(t));function m(){return v}},2279(e,t,n){\"use strict\";n.d(t,{QO:()=>a,pM:()=>i,yH:()=>o});var r=n(2812);let o=\"ant\",i=\"anticon\",a=r.createContext({getPrefixCls:(e,t)=>t||(e?`${o}-${e}`:o),iconPrefixCls:i}),{Consumer:c}=a},685(e,t,n){\"use strict\";n.d(t,{A:()=>r});let r=(0,n(2812).createContext)(void 0)},7628(e,t,n){\"use strict\";n.d(t,{A:()=>l});var r=n(9379),o=(0,r.A)((0,r.A)({},{yearFormat:\"YYYY\",dayFormat:\"D\",cellMeridiemFormat:\"A\",monthBeforeYear:!0}),{},{locale:\"en_US\",today:\"Today\",now:\"Now\",backToToday:\"Back to today\",ok:\"OK\",clear:\"Clear\",month:\"Month\",year:\"Year\",timeSelect:\"select time\",dateSelect:\"select date\",weekSelect:\"Choose a week\",monthSelect:\"Choose a month\",yearSelect:\"Choose a year\",decadeSelect:\"Choose a decade\",dateFormat:\"M/D/YYYY\",dateTimeFormat:\"M/D/YYYY HH:mm:ss\",previousMonth:\"Previous month (PageUp)\",nextMonth:\"Next month (PageDown)\",previousYear:\"Last year (Control + left)\",nextYear:\"Next year (Control + right)\",previousDecade:\"Last decade\",nextDecade:\"Next decade\",previousCentury:\"Last century\",nextCentury:\"Next century\"});let i={placeholder:\"Select time\",rangePlaceholder:[\"Start time\",\"End time\"]},a={lang:Object.assign({placeholder:\"Select date\",yearPlaceholder:\"Select year\",quarterPlaceholder:\"Select quarter\",monthPlaceholder:\"Select month\",weekPlaceholder:\"Select week\",rangePlaceholder:[\"Start date\",\"End date\"],rangeYearPlaceholder:[\"Start year\",\"End year\"],rangeQuarterPlaceholder:[\"Start quarter\",\"End quarter\"],rangeMonthPlaceholder:[\"Start month\",\"End month\"],rangeWeekPlaceholder:[\"Start week\",\"End week\"]},o),timePickerLocale:Object.assign({},i)},c=\"${label} is not a valid ${type}\",l={locale:\"en\",Pagination:{items_per_page:\"/ page\",jump_to:\"Go to\",jump_to_confirm:\"confirm\",page:\"Page\",prev_page:\"Previous Page\",next_page:\"Next Page\",prev_5:\"Previous 5 Pages\",next_5:\"Next 5 Pages\",prev_3:\"Previous 3 Pages\",next_3:\"Next 3 Pages\",page_size:\"Page Size\"},DatePicker:a,TimePicker:i,Calendar:a,global:{placeholder:\"Please select\"},Table:{filterTitle:\"Filter menu\",filterConfirm:\"OK\",filterReset:\"Reset\",filterEmptyText:\"No filters\",filterCheckall:\"Select all items\",filterSearchPlaceholder:\"Search in filters\",emptyText:\"No data\",selectAll:\"Select current page\",selectInvert:\"Invert current page\",selectNone:\"Clear all data\",selectionAll:\"Select all data\",sortTitle:\"Sort\",expand:\"Expand row\",collapse:\"Collapse row\",triggerDesc:\"Click to sort descending\",triggerAsc:\"Click to sort ascending\",cancelSort:\"Click to cancel sorting\"},Tour:{Next:\"Next\",Previous:\"Previous\",Finish:\"Finish\"},Modal:{okText:\"OK\",cancelText:\"Cancel\",justOkText:\"OK\"},Popconfirm:{okText:\"OK\",cancelText:\"Cancel\"},Transfer:{titles:[\"\",\"\"],searchPlaceholder:\"Search here\",itemUnit:\"item\",itemsUnit:\"items\",remove:\"Remove\",selectCurrent:\"Select current page\",removeCurrent:\"Remove current page\",selectAll:\"Select all data\",deselectAll:\"Deselect all data\",removeAll:\"Remove all data\",selectInvert:\"Invert current page\"},Upload:{uploading:\"Uploading...\",removeFile:\"Remove file\",uploadError:\"Upload error\",previewFile:\"Preview file\",downloadFile:\"Download file\"},Empty:{description:\"No data\"},Icon:{icon:\"icon\"},Text:{edit:\"Edit\",copy:\"Copy\",copied:\"Copied\",expand:\"Expand\",collapse:\"Collapse\"},Form:{optional:\"(optional)\",defaultValidateMessages:{default:\"Field validation error for ${label}\",required:\"Please enter ${label}\",enum:\"${label} must be one of [${enum}]\",whitespace:\"${label} cannot be a blank character\",date:{format:\"${label} date format is invalid\",parse:\"${label} cannot be converted to a date\",invalid:\"${label} is an invalid date\"},types:{string:c,method:c,array:c,object:c,number:c,date:c,boolean:c,integer:c,float:c,regexp:c,email:c,url:c,hex:c},string:{len:\"${label} must be ${len} characters\",min:\"${label} must be at least ${min} characters\",max:\"${label} must be up to ${max} characters\",range:\"${label} must be between ${min}-${max} characters\"},number:{len:\"${label} must be equal to ${len}\",min:\"${label} must be minimum ${min}\",max:\"${label} must be maximum ${max}\",range:\"${label} must be between ${min}-${max}\"},array:{len:\"Must be ${len} ${label}\",min:\"At least ${min} ${label}\",max:\"At most ${max} ${label}\",range:\"The amount of ${label} must be between ${min}-${max}\"},pattern:{mismatch:\"${label} does not match the pattern ${pattern}\"}}},Image:{preview:\"Preview\"},QRCode:{expired:\"QR code expired\",refresh:\"Refresh\",scanned:\"Scanned\"},ColorPicker:{presetEmpty:\"Empty\",transparent:\"Transparent\",singleColor:\"Single\",gradientColor:\"Gradient\"}}},9155(e,t,n){\"use strict\";n.d(t,{A:()=>a});var r=n(2812),o=n(685),i=n(7628);let a=(e,t)=>{let n=r.useContext(o.A);return[r.useMemo(()=>{var r;let o=t||i.A[e],a=null!=(r=null==n?void 0:n[e])?r:{};return Object.assign(Object.assign({},\"function\"==typeof o?o():o),a||{})},[e,t,n]),r.useMemo(()=>{let e=null==n?void 0:n.locale;return(null==n?void 0:n.exist)&&!e?i.A.locale:e},[n])]}},5905(e,t,n){\"use strict\";n.d(t,{K8:()=>s,Nk:()=>i,av:()=>c,dF:()=>o,jz:()=>u,t6:()=>a,vj:()=>l});var r=n(6191);let o=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{boxSizing:\"border-box\",margin:0,padding:0,color:e.colorText,fontSize:e.fontSize,lineHeight:e.lineHeight,listStyle:\"none\",fontFamily:t?\"inherit\":e.fontFamily}},i=()=>({display:\"inline-flex\",alignItems:\"center\",color:\"inherit\",fontStyle:\"normal\",lineHeight:0,textAlign:\"center\",textTransform:\"none\",verticalAlign:\"-0.125em\",textRendering:\"optimizeLegibility\",\"-webkit-font-smoothing\":\"antialiased\",\"-moz-osx-font-smoothing\":\"grayscale\",\"> *\":{lineHeight:1},svg:{display:\"inline-block\"}}),a=()=>({\"&::before\":{display:\"table\",content:'\"\"'},\"&::after\":{display:\"table\",clear:\"both\",content:'\"\"'}}),c=e=>({a:{color:e.colorLink,textDecoration:e.linkDecoration,backgroundColor:\"transparent\",outline:\"none\",cursor:\"pointer\",transition:`color ${e.motionDurationSlow}`,\"-webkit-text-decoration-skip\":\"objects\",\"&:hover\":{color:e.colorLinkHover},\"&:active\":{color:e.colorLinkActive},\"&:active, &:hover\":{textDecoration:e.linkHoverDecoration,outline:0},\"&:focus\":{textDecoration:e.linkFocusDecoration,outline:0},\"&[disabled]\":{color:e.colorTextDisabled,cursor:\"not-allowed\"}}}),l=(e,t,n,r)=>{let o=`[class^=\"${t}\"], [class*=\" ${t}\"]`,i=n?`.${n}`:o,a={boxSizing:\"border-box\",\"&::before, &::after\":{boxSizing:\"border-box\"}},c={};return!1!==r&&(c={fontFamily:e.fontFamily,fontSize:e.fontSize}),{[i]:Object.assign(Object.assign(Object.assign({},c),a),{[o]:a})}},s=e=>({\"&:focus-visible\":Object.assign({},{outline:`${(0,r.zA)(e.lineWidthFocus)} solid ${e.colorPrimaryBorder}`,outlineOffset:1,transition:\"outline-offset 0s, outline 0s\"})}),u=e=>({[`.${e}`]:Object.assign(Object.assign({},i()),{[`.${e} .${e}-icon`]:{display:\"block\"}})})},9806(e,t,n){\"use strict\";n.d(t,{sb:()=>s,vG:()=>u,zQ:()=>l});var r=n(2812),o=n.n(r),i=n(6191),a=n(5924),c=n(723);let l=(0,i.an)(a.A),s={token:c.A,override:{override:c.A},hashed:!0},u=o().createContext(s)},5924(e,t,n){\"use strict\";n.d(t,{A:()=>h});var r=n(1463),o=n(723),i=n(7484),a=n(8690),c=n(1892),l=n(9128);let s=(e,t)=>new l.q(e).setAlpha(t).toRgbString(),u=(e,t)=>new l.q(e).darken(t).toHexString(),f=e=>{let t=(0,r.cM)(e);return{1:t[0],2:t[1],3:t[2],4:t[3],5:t[4],6:t[5],7:t[6],8:t[4],9:t[5],10:t[6]}},d=(e,t)=>{let n=e||\"#fff\",r=t||\"#000\";return{colorBgBase:n,colorTextBase:r,colorText:s(r,.88),colorTextSecondary:s(r,.65),colorTextTertiary:s(r,.45),colorTextQuaternary:s(r,.25),colorFill:s(r,.15),colorFillSecondary:s(r,.06),colorFillTertiary:s(r,.04),colorFillQuaternary:s(r,.02),colorBgSolid:s(r,1),colorBgSolidHover:s(r,.75),colorBgSolidActive:s(r,.95),colorBgLayout:u(n,4),colorBgContainer:u(n,0),colorBgElevated:u(n,0),colorBgSpotlight:s(r,.85),colorBgBlur:\"transparent\",colorBorder:u(n,15),colorBorderSecondary:u(n,6)}};function h(e){r.uy.pink=r.uy.magenta,r.UA.pink=r.UA.magenta;let t=Object.keys(o.r).map(t=>{let n=e[t]===r.uy[t]?r.UA[t]:(0,r.cM)(e[t]);return Array(10).fill(1).reduce((e,r,o)=>(e[`${t}-${o+1}`]=n[o],e[`${t}${o+1}`]=n[o],e),{})}).reduce((e,t)=>e=Object.assign(Object.assign({},e),t),{});return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},e),t),(0,i.A)(e,{generateColorPalettes:f,generateNeutralColorPalettes:d})),(0,c.A)(e.fontSize)),function(e){let{sizeUnit:t,sizeStep:n}=e;return{sizeXXL:t*(n+8),sizeXL:t*(n+4),sizeLG:t*(n+2),sizeMD:t*(n+1),sizeMS:t*n,size:t*n,sizeSM:t*(n-1),sizeXS:t*(n-2),sizeXXS:t*(n-3)}}(e)),(0,a.A)(e)),function(e){let t,n,r,o,{motionUnit:i,motionBase:a,borderRadius:c,lineWidth:l}=e;return Object.assign({motionDurationFast:`${(a+i).toFixed(1)}s`,motionDurationMid:`${(a+2*i).toFixed(1)}s`,motionDurationSlow:`${(a+3*i).toFixed(1)}s`,lineWidthBold:l+1},(t=c,n=c,r=c,o=c,c<6&&c>=5?t=c+1:c<16&&c>=6?t=c+2:c>=16&&(t=16),c<7&&c>=5?n=4:c<8&&c>=7?n=5:c<14&&c>=8?n=6:c<16&&c>=14?n=7:c>=16&&(n=8),c<6&&c>=2?r=1:c>=6&&(r=2),c>4&&c<8?o=4:c>=8&&(o=6),{borderRadius:c,borderRadiusXS:r,borderRadiusSM:n,borderRadiusLG:t,borderRadiusOuter:o}))}(e))}},723(e,t,n){\"use strict\";n.d(t,{A:()=>o,r:()=>r});let r={blue:\"#1677FF\",purple:\"#722ED1\",cyan:\"#13C2C2\",green:\"#52C41A\",magenta:\"#EB2F96\",pink:\"#EB2F96\",red:\"#F5222D\",orange:\"#FA8C16\",yellow:\"#FADB14\",volcano:\"#FA541C\",geekblue:\"#2F54EB\",gold:\"#FAAD14\",lime:\"#A0D911\"},o=Object.assign(Object.assign({},r),{colorPrimary:\"#1677ff\",colorSuccess:\"#52c41a\",colorWarning:\"#faad14\",colorError:\"#ff4d4f\",colorInfo:\"#1677ff\",colorLink:\"\",colorTextBase:\"\",colorBgBase:\"\",fontFamily:`-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,\n'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\n'Noto Color Emoji'`,fontFamilyCode:\"'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace\",fontSize:14,lineWidth:1,lineType:\"solid\",motionUnit:.1,motionBase:0,motionEaseOutCirc:\"cubic-bezier(0.08, 0.82, 0.17, 1)\",motionEaseInOutCirc:\"cubic-bezier(0.78, 0.14, 0.15, 0.86)\",motionEaseOut:\"cubic-bezier(0.215, 0.61, 0.355, 1)\",motionEaseInOut:\"cubic-bezier(0.645, 0.045, 0.355, 1)\",motionEaseOutBack:\"cubic-bezier(0.12, 0.4, 0.29, 1.46)\",motionEaseInBack:\"cubic-bezier(0.71, -0.46, 0.88, 0.6)\",motionEaseInQuint:\"cubic-bezier(0.755, 0.05, 0.855, 0.06)\",motionEaseOutQuint:\"cubic-bezier(0.23, 1, 0.32, 1)\",borderRadius:6,sizeUnit:4,sizeStep:4,sizePopupArrow:16,controlHeight:32,zIndexBase:0,zIndexPopupBase:1e3,opacityImage:1,wireframe:!1,motion:!0})},7484(e,t,n){\"use strict\";n.d(t,{A:()=>o});var r=n(9128);function o(e,t){let{generateColorPalettes:n,generateNeutralColorPalettes:o}=t,{colorSuccess:i,colorWarning:a,colorError:c,colorInfo:l,colorPrimary:s,colorBgBase:u,colorTextBase:f}=e,d=n(s),h=n(i),p=n(a),g=n(c),v=n(l),m=o(u,f),y=n(e.colorLink||e.colorInfo),b=new r.q(g[1]).mix(new r.q(g[3]),50).toHexString();return Object.assign(Object.assign({},m),{colorPrimaryBg:d[1],colorPrimaryBgHover:d[2],colorPrimaryBorder:d[3],colorPrimaryBorderHover:d[4],colorPrimaryHover:d[5],colorPrimary:d[6],colorPrimaryActive:d[7],colorPrimaryTextHover:d[8],colorPrimaryText:d[9],colorPrimaryTextActive:d[10],colorSuccessBg:h[1],colorSuccessBgHover:h[2],colorSuccessBorder:h[3],colorSuccessBorderHover:h[4],colorSuccessHover:h[4],colorSuccess:h[6],colorSuccessActive:h[7],colorSuccessTextHover:h[8],colorSuccessText:h[9],colorSuccessTextActive:h[10],colorErrorBg:g[1],colorErrorBgHover:g[2],colorErrorBgFilledHover:b,colorErrorBgActive:g[3],colorErrorBorder:g[3],colorErrorBorderHover:g[4],colorErrorHover:g[5],colorError:g[6],colorErrorActive:g[7],colorErrorTextHover:g[8],colorErrorText:g[9],colorErrorTextActive:g[10],colorWarningBg:p[1],colorWarningBgHover:p[2],colorWarningBorder:p[3],colorWarningBorderHover:p[4],colorWarningHover:p[4],colorWarning:p[6],colorWarningActive:p[7],colorWarningTextHover:p[8],colorWarningText:p[9],colorWarningTextActive:p[10],colorInfoBg:v[1],colorInfoBgHover:v[2],colorInfoBorder:v[3],colorInfoBorderHover:v[4],colorInfoHover:v[4],colorInfo:v[6],colorInfoActive:v[7],colorInfoTextHover:v[8],colorInfoText:v[9],colorInfoTextActive:v[10],colorLinkHover:y[4],colorLink:y[6],colorLinkActive:y[7],colorBgMask:new r.q(\"#000\").setAlpha(.45).toRgbString(),colorWhite:\"#fff\"})}},8690(e,t,n){\"use strict\";n.d(t,{A:()=>r});let r=e=>{let{controlHeight:t}=e;return{controlHeightSM:.75*t,controlHeightXS:.5*t,controlHeightLG:1.25*t}}},1892(e,t,n){\"use strict\";n.d(t,{A:()=>o});var r=n(4925);let o=e=>{let t=(0,r.A)(e),n=t.map(e=>e.size),o=t.map(e=>e.lineHeight),i=n[1],a=n[0],c=n[2],l=o[1],s=o[0],u=o[2];return{fontSizeSM:a,fontSize:i,fontSizeLG:c,fontSizeXL:n[3],fontSizeHeading1:n[6],fontSizeHeading2:n[5],fontSizeHeading3:n[4],fontSizeHeading4:n[3],fontSizeHeading5:n[2],lineHeight:l,lineHeightLG:u,lineHeightSM:s,fontHeight:Math.round(l*i),fontHeightLG:Math.round(u*c),fontHeightSM:Math.round(s*a),lineHeightHeading1:o[6],lineHeightHeading2:o[5],lineHeightHeading3:o[4],lineHeightHeading4:o[3],lineHeightHeading5:o[2]}}},4925(e,t,n){\"use strict\";function r(e){return(e+8)/e}function o(e){let t=Array(10).fill(null).map((t,n)=>{let r=e*Math.pow(Math.E,(n-1)/5);return 2*Math.floor((n>1?Math.floor(r):Math.ceil(r))/2)});return t[1]=e,t.map(e=>({size:e,lineHeight:r(e)}))}n.d(t,{A:()=>o,k:()=>r})},8365(e,t,n){\"use strict\";n.d(t,{Ay:()=>p,Is:()=>u});var r=n(2812),o=n.n(r),i=n(6191),a=n(9806),c=n(723),l=n(3596),s=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)0>t.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let u={lineHeight:!0,lineHeightSM:!0,lineHeightLG:!0,lineHeightHeading1:!0,lineHeightHeading2:!0,lineHeightHeading3:!0,lineHeightHeading4:!0,lineHeightHeading5:!0,opacityLoading:!0,fontWeightStrong:!0,zIndexPopupBase:!0,zIndexBase:!0,opacityImage:!0},f={size:!0,sizeSM:!0,sizeLG:!0,sizeMD:!0,sizeXS:!0,sizeXXS:!0,sizeMS:!0,sizeXL:!0,sizeXXL:!0,sizeUnit:!0,sizeStep:!0,motionBase:!0,motionUnit:!0},d={screenXS:!0,screenXSMin:!0,screenXSMax:!0,screenSM:!0,screenSMMin:!0,screenSMMax:!0,screenMD:!0,screenMDMin:!0,screenMDMax:!0,screenLG:!0,screenLGMin:!0,screenLGMax:!0,screenXL:!0,screenXLMin:!0,screenXLMax:!0,screenXXL:!0,screenXXLMin:!0},h=(e,t,n)=>{let r=n.getDerivativeToken(e),{override:o}=t,i=s(t,[\"override\"]),a=Object.assign(Object.assign({},r),{override:o});return a=(0,l.A)(a),i&&Object.entries(i).forEach(e=>{let[t,n]=e,{theme:r}=n,o=s(n,[\"theme\"]),i=o;r&&(i=h(Object.assign(Object.assign({},a),o),{override:o},r)),a[t]=i}),a};function p(){let{token:e,hashed:t,theme:n,override:r,cssVar:s}=o().useContext(a.vG),p=`5.22.7-${t||\"\"}`,g=n||a.zQ,[v,m,y]=(0,i.hV)(g,[c.A,e],{salt:p,override:r,getComputedToken:h,formatToken:l.A,cssVar:s&&{prefix:s.prefix,key:s.key,unitless:u,ignore:f,preserve:d}});return[g,y,t?m:\"\",v,s]}},3596(e,t,n){\"use strict\";n.d(t,{A:()=>l});var r=n(9128),o=n(723);function i(e){return e>=0&&e<=255}let a=function(e,t){let{r:n,g:o,b:a,a:c}=new r.q(e).toRgb();if(c<1)return e;let{r:l,g:s,b:u}=new r.q(t).toRgb();for(let e=.01;e<=1;e+=.01){let t=Math.round((n-l*(1-e))/e),c=Math.round((o-s*(1-e))/e),f=Math.round((a-u*(1-e))/e);if(i(t)&&i(c)&&i(f))return new r.q({r:t,g:c,b:f,a:Math.round(100*e)/100}).toRgbString()}return new r.q({r:n,g:o,b:a,a:1}).toRgbString()};var c=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)0>t.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};function l(e){let{override:t}=e,n=c(e,[\"override\"]),i=Object.assign({},t);Object.keys(o.A).forEach(e=>{delete i[e]});let l=Object.assign(Object.assign({},n),i);return!1===l.motion&&(l.motionDurationFast=\"0s\",l.motionDurationMid=\"0s\",l.motionDurationSlow=\"0s\"),Object.assign(Object.assign(Object.assign({},l),{colorFillContent:l.colorFillSecondary,colorFillContentHover:l.colorFill,colorFillAlter:l.colorFillQuaternary,colorBgContainerDisabled:l.colorFillTertiary,colorBorderBg:l.colorBgContainer,colorSplit:a(l.colorBorderSecondary,l.colorBgContainer),colorTextPlaceholder:l.colorTextQuaternary,colorTextDisabled:l.colorTextQuaternary,colorTextHeading:l.colorText,colorTextLabel:l.colorTextSecondary,colorTextDescription:l.colorTextTertiary,colorTextLightSolid:l.colorWhite,colorHighlight:l.colorError,colorBgTextHover:l.colorFillSecondary,colorBgTextActive:l.colorFill,colorIcon:l.colorTextTertiary,colorIconHover:l.colorText,colorErrorOutline:a(l.colorErrorBg,l.colorBgContainer),colorWarningOutline:a(l.colorWarningBg,l.colorBgContainer),fontSizeIcon:l.fontSizeSM,lineWidthFocus:3*l.lineWidth,lineWidth:l.lineWidth,controlOutlineWidth:2*l.lineWidth,controlInteractiveSize:l.controlHeight/2,controlItemBgHover:l.colorFillTertiary,controlItemBgActive:l.colorPrimaryBg,controlItemBgActiveHover:l.colorPrimaryBgHover,controlItemBgActiveDisabled:l.colorFill,controlTmpOutline:l.colorFillQuaternary,controlOutline:a(l.colorPrimaryBg,l.colorBgContainer),lineType:l.lineType,borderRadius:l.borderRadius,borderRadiusXS:l.borderRadiusXS,borderRadiusSM:l.borderRadiusSM,borderRadiusLG:l.borderRadiusLG,fontWeightStrong:600,opacityLoading:.65,linkDecoration:\"none\",linkHoverDecoration:\"none\",linkFocusDecoration:\"none\",controlPaddingHorizontal:12,controlPaddingHorizontalSM:8,paddingXXS:l.sizeXXS,paddingXS:l.sizeXS,paddingSM:l.sizeSM,padding:l.size,paddingMD:l.sizeMD,paddingLG:l.sizeLG,paddingXL:l.sizeXL,paddingContentHorizontalLG:l.sizeLG,paddingContentVerticalLG:l.sizeMS,paddingContentHorizontal:l.sizeMS,paddingContentVertical:l.sizeSM,paddingContentHorizontalSM:l.size,paddingContentVerticalSM:l.sizeXS,marginXXS:l.sizeXXS,marginXS:l.sizeXS,marginSM:l.sizeSM,margin:l.size,marginMD:l.sizeMD,marginLG:l.sizeLG,marginXL:l.sizeXL,marginXXL:l.sizeXXL,boxShadow:`\n      0 6px 16px 0 rgba(0, 0, 0, 0.08),\n      0 3px 6px -4px rgba(0, 0, 0, 0.12),\n      0 9px 28px 8px rgba(0, 0, 0, 0.05)\n    `,boxShadowSecondary:`\n      0 6px 16px 0 rgba(0, 0, 0, 0.08),\n      0 3px 6px -4px rgba(0, 0, 0, 0.12),\n      0 9px 28px 8px rgba(0, 0, 0, 0.05)\n    `,boxShadowTertiary:`\n      0 1px 2px 0 rgba(0, 0, 0, 0.03),\n      0 1px 6px -1px rgba(0, 0, 0, 0.02),\n      0 2px 4px 0 rgba(0, 0, 0, 0.02)\n    `,screenXS:480,screenXSMin:480,screenXSMax:575,screenSM:576,screenSMMin:576,screenSMMax:767,screenMD:768,screenMDMin:768,screenMDMax:991,screenLG:992,screenLGMin:992,screenLGMax:1199,screenXL:1200,screenXLMin:1200,screenXLMax:1599,screenXXL:1600,screenXXLMin:1600,boxShadowPopoverArrow:\"2px 2px 5px rgba(0, 0, 0, 0.05)\",boxShadowCard:`\n      0 1px 2px -2px ${new r.q(\"rgba(0, 0, 0, 0.16)\").toRgbString()},\n      0 3px 6px 0 ${new r.q(\"rgba(0, 0, 0, 0.12)\").toRgbString()},\n      0 5px 12px 4px ${new r.q(\"rgba(0, 0, 0, 0.09)\").toRgbString()}\n    `,boxShadowDrawerRight:`\n      -6px 0 16px 0 rgba(0, 0, 0, 0.08),\n      -3px 0 6px -4px rgba(0, 0, 0, 0.12),\n      -9px 0 28px 8px rgba(0, 0, 0, 0.05)\n    `,boxShadowDrawerLeft:`\n      6px 0 16px 0 rgba(0, 0, 0, 0.08),\n      3px 0 6px -4px rgba(0, 0, 0, 0.12),\n      9px 0 28px 8px rgba(0, 0, 0, 0.05)\n    `,boxShadowDrawerUp:`\n      0 6px 16px 0 rgba(0, 0, 0, 0.08),\n      0 3px 6px -4px rgba(0, 0, 0, 0.12),\n      0 9px 28px 8px rgba(0, 0, 0, 0.05)\n    `,boxShadowDrawerDown:`\n      0 -6px 16px 0 rgba(0, 0, 0, 0.08),\n      0 -3px 6px -4px rgba(0, 0, 0, 0.12),\n      0 -9px 28px 8px rgba(0, 0, 0, 0.05)\n    `,boxShadowTabsOverflowLeft:\"inset 10px 0 8px -8px rgba(0, 0, 0, 0.08)\",boxShadowTabsOverflowRight:\"inset -10px 0 8px -8px rgba(0, 0, 0, 0.08)\",boxShadowTabsOverflowTop:\"inset 0 10px 8px -8px rgba(0, 0, 0, 0.08)\",boxShadowTabsOverflowBottom:\"inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08)\"}),i)}},7358(e,t,n){\"use strict\";n.d(t,{OF:()=>l,Or:()=>s,bf:()=>u});var r=n(2812),o=n(224),i=n(2279),a=n(5905),c=n(8365);let{genStyleHooks:l,genComponentStyleHook:s,genSubStyleComponent:u}=(0,o.L_)({usePrefix:()=>{let{getPrefixCls:e,iconPrefixCls:t}=(0,r.useContext)(i.QO);return{rootPrefixCls:e(),iconPrefixCls:t}},useToken:()=>{let[e,t,n,r,o]=(0,c.Ay)();return{theme:e,realToken:t,hashId:n,token:r,cssVar:o}},useCSP:()=>{let{csp:e}=(0,r.useContext)(i.QO);return null!=e?e:{}},getResetStyles:(e,t)=>{var n;return[{\"&\":(0,a.av)(e)},(0,a.jz)(null!=(n=null==t?void 0:t.prefix.iconPrefixCls)?n:i.pM)]},getCommonStyle:a.vj,getCompUnitless:()=>c.Is})},4146(e,t,n){\"use strict\";var r=n(6744),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},i={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},a={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},c={};function l(e){return r.isMemo(e)?a:c[e.$$typeof]||o}c[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},c[r.Memo]=a;var s=Object.defineProperty,u=Object.getOwnPropertyNames,f=Object.getOwnPropertySymbols,d=Object.getOwnPropertyDescriptor,h=Object.getPrototypeOf,p=Object.prototype;e.exports=function e(t,n,r){if(\"string\"!=typeof n){if(p){var o=h(n);o&&o!==p&&e(t,o,r)}var a=u(n);f&&(a=a.concat(f(n)));for(var c=l(t),g=l(n),v=0;v<a.length;++v){var m=a[v];if(!i[m]&&!(r&&r[m])&&!(g&&g[m])&&!(c&&c[m])){var y=d(n,m);try{s(t,m,y)}catch(e){}}}}return t}},2543(e,t,n){e=n.nmd(e),(function(){var r,o=\"Expected a function\",i=\"__lodash_hash_undefined__\",a=\"__lodash_placeholder__\",c=1/0,l=0/0,s=[[\"ary\",128],[\"bind\",1],[\"bindKey\",2],[\"curry\",8],[\"curryRight\",16],[\"flip\",512],[\"partial\",32],[\"partialRight\",64],[\"rearg\",256]],u=\"[object Arguments]\",f=\"[object Array]\",d=\"[object Boolean]\",h=\"[object Date]\",p=\"[object Error]\",g=\"[object Function]\",v=\"[object GeneratorFunction]\",m=\"[object Map]\",y=\"[object Number]\",b=\"[object Object]\",A=\"[object Promise]\",x=\"[object RegExp]\",C=\"[object Set]\",w=\"[object String]\",k=\"[object Symbol]\",S=\"[object WeakMap]\",E=\"[object ArrayBuffer]\",O=\"[object DataView]\",_=\"[object Float32Array]\",$=\"[object Float64Array]\",j=\"[object Int8Array]\",M=\"[object Int16Array]\",P=\"[object Int32Array]\",F=\"[object Uint8Array]\",T=\"[object Uint8ClampedArray]\",I=\"[object Uint16Array]\",N=\"[object Uint32Array]\",R=/\\b__p \\+= '';/g,z=/\\b(__p \\+=) '' \\+/g,L=/(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g,H=/&(?:amp|lt|gt|quot|#39);/g,B=/[&<>\"']/g,D=RegExp(H.source),W=RegExp(B.source),V=/<%-([\\s\\S]+?)%>/g,q=/<%([\\s\\S]+?)%>/g,U=/<%=([\\s\\S]+?)%>/g,G=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,X=/^\\w*$/,K=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,Q=/[\\\\^$.*+?()[\\]{}|]/g,Y=RegExp(Q.source),Z=/^\\s+/,J=/\\s/,ee=/\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,et=/\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,en=/,? & /,er=/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g,eo=/[()=,{}\\[\\]\\/\\s]/,ei=/\\\\(\\\\)?/g,ea=/\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g,ec=/\\w*$/,el=/^[-+]0x[0-9a-f]+$/i,es=/^0b[01]+$/i,eu=/^\\[object .+?Constructor\\]$/,ef=/^0o[0-7]+$/i,ed=/^(?:0|[1-9]\\d*)$/,eh=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,ep=/($^)/,eg=/['\\n\\r\\u2028\\u2029\\\\]/g,ev=\"\\\\ud800-\\\\udfff\",em=\"\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff\",ey=\"\\\\u2700-\\\\u27bf\",eb=\"a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff\",eA=\"A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde\",ex=\"\\\\ufe0e\\\\ufe0f\",eC=\"\\\\xac\\\\xb1\\\\xd7\\\\xf7\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\\\\u2000-\\\\u206f \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\",ew=\"['’]\",ek=\"[\"+eC+\"]\",eS=\"[\"+em+\"]\",eE=\"[\"+eb+\"]\",eO=\"[^\"+ev+eC+\"\\\\d+\"+ey+eb+eA+\"]\",e_=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",e$=\"[^\"+ev+\"]\",ej=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",eM=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",eP=\"[\"+eA+\"]\",eF=\"\\\\u200d\",eT=\"(?:\"+eE+\"|\"+eO+\")\",eI=\"(?:\"+eP+\"|\"+eO+\")\",eN=\"(?:\"+ew+\"(?:d|ll|m|re|s|t|ve))?\",eR=\"(?:\"+ew+\"(?:D|LL|M|RE|S|T|VE))?\",ez=\"(?:\"+eS+\"|\"+e_+\")?\",eL=\"[\"+ex+\"]?\",eH=\"(?:\"+eF+\"(?:\"+[e$,ej,eM].join(\"|\")+\")\"+eL+ez+\")*\",eB=eL+ez+eH,eD=\"(?:\"+[\"[\"+ey+\"]\",ej,eM].join(\"|\")+\")\"+eB,eW=\"(?:\"+[e$+eS+\"?\",eS,ej,eM,\"[\"+ev+\"]\"].join(\"|\")+\")\",eV=RegExp(ew,\"g\"),eq=RegExp(eS,\"g\"),eU=RegExp(e_+\"(?=\"+e_+\")|\"+eW+eB,\"g\"),eG=RegExp([eP+\"?\"+eE+\"+\"+eN+\"(?=\"+[ek,eP,\"$\"].join(\"|\")+\")\",eI+\"+\"+eR+\"(?=\"+[ek,eP+eT,\"$\"].join(\"|\")+\")\",eP+\"?\"+eT+\"+\"+eN,eP+\"+\"+eR,\"\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])|\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])|\\\\d+\",eD].join(\"|\"),\"g\"),eX=RegExp(\"[\"+eF+ev+em+ex+\"]\"),eK=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,eQ=[\"Array\",\"Buffer\",\"DataView\",\"Date\",\"Error\",\"Float32Array\",\"Float64Array\",\"Function\",\"Int8Array\",\"Int16Array\",\"Int32Array\",\"Map\",\"Math\",\"Object\",\"Promise\",\"RegExp\",\"Set\",\"String\",\"Symbol\",\"TypeError\",\"Uint8Array\",\"Uint8ClampedArray\",\"Uint16Array\",\"Uint32Array\",\"WeakMap\",\"_\",\"clearTimeout\",\"isFinite\",\"parseInt\",\"setTimeout\"],eY=-1,eZ={};eZ[_]=eZ[$]=eZ[j]=eZ[M]=eZ[P]=eZ[F]=eZ[T]=eZ[I]=eZ[N]=!0,eZ[u]=eZ[f]=eZ[E]=eZ[d]=eZ[O]=eZ[h]=eZ[p]=eZ[g]=eZ[m]=eZ[y]=eZ[b]=eZ[x]=eZ[C]=eZ[w]=eZ[S]=!1;var eJ={};eJ[u]=eJ[f]=eJ[E]=eJ[O]=eJ[d]=eJ[h]=eJ[_]=eJ[$]=eJ[j]=eJ[M]=eJ[P]=eJ[m]=eJ[y]=eJ[b]=eJ[x]=eJ[C]=eJ[w]=eJ[k]=eJ[F]=eJ[T]=eJ[I]=eJ[N]=!0,eJ[p]=eJ[g]=eJ[S]=!1;var e0={\"\\\\\":\"\\\\\",\"'\":\"'\",\"\\n\":\"n\",\"\\r\":\"r\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"},e1=parseFloat,e2=parseInt,e5=\"object\"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,e4=\"object\"==typeof self&&self&&self.Object===Object&&self,e6=e5||e4||Function(\"return this\")(),e3=t&&!t.nodeType&&t,e8=e3&&e&&!e.nodeType&&e,e9=e8&&e8.exports===e3,e7=e9&&e5.process,te=function(){try{var e=e8&&e8.require&&e8.require(\"util\").types;if(e)return e;return e7&&e7.binding&&e7.binding(\"util\")}catch(e){}}(),tt=te&&te.isArrayBuffer,tn=te&&te.isDate,tr=te&&te.isMap,to=te&&te.isRegExp,ti=te&&te.isSet,ta=te&&te.isTypedArray;function tc(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function tl(e,t,n,r){for(var o=-1,i=null==e?0:e.length;++o<i;){var a=e[o];t(r,a,n(a),e)}return r}function ts(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e}function tu(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(!t(e[n],n,e))return!1;return!0}function tf(e,t){for(var n=-1,r=null==e?0:e.length,o=0,i=[];++n<r;){var a=e[n];t(a,n,e)&&(i[o++]=a)}return i}function td(e,t){return!!(null==e?0:e.length)&&tC(e,t,0)>-1}function th(e,t,n){for(var r=-1,o=null==e?0:e.length;++r<o;)if(n(t,e[r]))return!0;return!1}function tp(e,t){for(var n=-1,r=null==e?0:e.length,o=Array(r);++n<r;)o[n]=t(e[n],n,e);return o}function tg(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e}function tv(e,t,n,r){var o=-1,i=null==e?0:e.length;for(r&&i&&(n=e[++o]);++o<i;)n=t(n,e[o],o,e);return n}function tm(e,t,n,r){var o=null==e?0:e.length;for(r&&o&&(n=e[--o]);o--;)n=t(n,e[o],o,e);return n}function ty(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}var tb=tE(\"length\");function tA(e,t,n){var r;return n(e,function(e,n,o){if(t(e,n,o))return r=n,!1}),r}function tx(e,t,n,r){for(var o=e.length,i=n+(r?1:-1);r?i--:++i<o;)if(t(e[i],i,e))return i;return -1}function tC(e,t,n){return t==t?function(e,t,n){for(var r=n-1,o=e.length;++r<o;)if(e[r]===t)return r;return -1}(e,t,n):tx(e,tk,n)}function tw(e,t,n,r){for(var o=n-1,i=e.length;++o<i;)if(r(e[o],t))return o;return -1}function tk(e){return e!=e}function tS(e,t){var n=null==e?0:e.length;return n?t$(e,t)/n:l}function tE(e){return function(t){return null==t?r:t[e]}}function tO(e){return function(t){return null==e?r:e[t]}}function t_(e,t,n,r,o){return o(e,function(e,o,i){n=r?(r=!1,e):t(n,e,o,i)}),n}function t$(e,t){for(var n,o=-1,i=e.length;++o<i;){var a=t(e[o]);r!==a&&(n=r===n?a:n+a)}return n}function tj(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}function tM(e){return e?e.slice(0,tG(e)+1).replace(Z,\"\"):e}function tP(e){return function(t){return e(t)}}function tF(e,t){return tp(t,function(t){return e[t]})}function tT(e,t){return e.has(t)}function tI(e,t){for(var n=-1,r=e.length;++n<r&&tC(t,e[n],0)>-1;);return n}function tN(e,t){for(var n=e.length;n--&&tC(t,e[n],0)>-1;);return n}var tR=tO({À:\"A\",Á:\"A\",Â:\"A\",Ã:\"A\",Ä:\"A\",Å:\"A\",à:\"a\",á:\"a\",â:\"a\",ã:\"a\",ä:\"a\",å:\"a\",Ç:\"C\",ç:\"c\",Ð:\"D\",ð:\"d\",È:\"E\",É:\"E\",Ê:\"E\",Ë:\"E\",è:\"e\",é:\"e\",ê:\"e\",ë:\"e\",Ì:\"I\",Í:\"I\",Î:\"I\",Ï:\"I\",ì:\"i\",í:\"i\",î:\"i\",ï:\"i\",Ñ:\"N\",ñ:\"n\",Ò:\"O\",Ó:\"O\",Ô:\"O\",Õ:\"O\",Ö:\"O\",Ø:\"O\",ò:\"o\",ó:\"o\",ô:\"o\",õ:\"o\",ö:\"o\",ø:\"o\",Ù:\"U\",Ú:\"U\",Û:\"U\",Ü:\"U\",ù:\"u\",ú:\"u\",û:\"u\",ü:\"u\",Ý:\"Y\",ý:\"y\",ÿ:\"y\",Æ:\"Ae\",æ:\"ae\",Þ:\"Th\",þ:\"th\",ß:\"ss\",Ā:\"A\",Ă:\"A\",Ą:\"A\",ā:\"a\",ă:\"a\",ą:\"a\",Ć:\"C\",Ĉ:\"C\",Ċ:\"C\",Č:\"C\",ć:\"c\",ĉ:\"c\",ċ:\"c\",č:\"c\",Ď:\"D\",Đ:\"D\",ď:\"d\",đ:\"d\",Ē:\"E\",Ĕ:\"E\",Ė:\"E\",Ę:\"E\",Ě:\"E\",ē:\"e\",ĕ:\"e\",ė:\"e\",ę:\"e\",ě:\"e\",Ĝ:\"G\",Ğ:\"G\",Ġ:\"G\",Ģ:\"G\",ĝ:\"g\",ğ:\"g\",ġ:\"g\",ģ:\"g\",Ĥ:\"H\",Ħ:\"H\",ĥ:\"h\",ħ:\"h\",Ĩ:\"I\",Ī:\"I\",Ĭ:\"I\",Į:\"I\",İ:\"I\",ĩ:\"i\",ī:\"i\",ĭ:\"i\",į:\"i\",ı:\"i\",Ĵ:\"J\",ĵ:\"j\",Ķ:\"K\",ķ:\"k\",ĸ:\"k\",Ĺ:\"L\",Ļ:\"L\",Ľ:\"L\",Ŀ:\"L\",Ł:\"L\",ĺ:\"l\",ļ:\"l\",ľ:\"l\",ŀ:\"l\",ł:\"l\",Ń:\"N\",Ņ:\"N\",Ň:\"N\",Ŋ:\"N\",ń:\"n\",ņ:\"n\",ň:\"n\",ŋ:\"n\",Ō:\"O\",Ŏ:\"O\",Ő:\"O\",ō:\"o\",ŏ:\"o\",ő:\"o\",Ŕ:\"R\",Ŗ:\"R\",Ř:\"R\",ŕ:\"r\",ŗ:\"r\",ř:\"r\",Ś:\"S\",Ŝ:\"S\",Ş:\"S\",Š:\"S\",ś:\"s\",ŝ:\"s\",ş:\"s\",š:\"s\",Ţ:\"T\",Ť:\"T\",Ŧ:\"T\",ţ:\"t\",ť:\"t\",ŧ:\"t\",Ũ:\"U\",Ū:\"U\",Ŭ:\"U\",Ů:\"U\",Ű:\"U\",Ų:\"U\",ũ:\"u\",ū:\"u\",ŭ:\"u\",ů:\"u\",ű:\"u\",ų:\"u\",Ŵ:\"W\",ŵ:\"w\",Ŷ:\"Y\",ŷ:\"y\",Ÿ:\"Y\",Ź:\"Z\",Ż:\"Z\",Ž:\"Z\",ź:\"z\",ż:\"z\",ž:\"z\",Ĳ:\"IJ\",ĳ:\"ij\",Œ:\"Oe\",œ:\"oe\",ŉ:\"'n\",ſ:\"s\"}),tz=tO({\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"});function tL(e){return\"\\\\\"+e0[e]}function tH(e){return eX.test(e)}function tB(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}function tD(e,t){return function(n){return e(t(n))}}function tW(e,t){for(var n=-1,r=e.length,o=0,i=[];++n<r;){var c=e[n];(c===t||c===a)&&(e[n]=a,i[o++]=n)}return i}function tV(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}function tq(e){return tH(e)?function(e){for(var t=eU.lastIndex=0;eU.test(e);)++t;return t}(e):tb(e)}function tU(e){return tH(e)?e.match(eU)||[]:e.split(\"\")}function tG(e){for(var t=e.length;t--&&J.test(e.charAt(t)););return t}var tX=tO({\"&amp;\":\"&\",\"&lt;\":\"<\",\"&gt;\":\">\",\"&quot;\":'\"',\"&#39;\":\"'\"}),tK=function e(t){var n,J,ev,em,ey=(t=null==t?e6:tK.defaults(e6.Object(),t,tK.pick(e6,eQ))).Array,eb=t.Date,eA=t.Error,ex=t.Function,eC=t.Math,ew=t.Object,ek=t.RegExp,eS=t.String,eE=t.TypeError,eO=ey.prototype,e_=ex.prototype,e$=ew.prototype,ej=t[\"__core-js_shared__\"],eM=e_.toString,eP=e$.hasOwnProperty,eF=0,eT=(n=/[^.]+$/.exec(ej&&ej.keys&&ej.keys.IE_PROTO||\"\"))?\"Symbol(src)_1.\"+n:\"\",eI=e$.toString,eN=eM.call(ew),eR=e6._,ez=ek(\"^\"+eM.call(eP).replace(Q,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),eL=e9?t.Buffer:r,eH=t.Symbol,eB=t.Uint8Array,eD=eL?eL.allocUnsafe:r,eW=tD(ew.getPrototypeOf,ew),eU=ew.create,eX=e$.propertyIsEnumerable,e0=eO.splice,e5=eH?eH.isConcatSpreadable:r,e4=eH?eH.iterator:r,e3=eH?eH.toStringTag:r,e8=function(){try{var e=od(ew,\"defineProperty\");return e({},\"\",{}),e}catch(e){}}(),e7=t.clearTimeout!==e6.clearTimeout&&t.clearTimeout,te=eb&&eb.now!==e6.Date.now&&eb.now,tb=t.setTimeout!==e6.setTimeout&&t.setTimeout,tO=eC.ceil,tQ=eC.floor,tY=ew.getOwnPropertySymbols,tZ=eL?eL.isBuffer:r,tJ=t.isFinite,t0=eO.join,t1=tD(ew.keys,ew),t2=eC.max,t5=eC.min,t4=eb.now,t6=t.parseInt,t3=eC.random,t8=eO.reverse,t9=od(t,\"DataView\"),t7=od(t,\"Map\"),ne=od(t,\"Promise\"),nt=od(t,\"Set\"),nn=od(t,\"WeakMap\"),nr=od(ew,\"create\"),no=nn&&new nn,ni={},na=oR(t9),nc=oR(t7),nl=oR(ne),ns=oR(nt),nu=oR(nn),nf=eH?eH.prototype:r,nd=nf?nf.valueOf:r,nh=nf?nf.toString:r;function np(e){if(iX(e)&&!iR(e)&&!(e instanceof ny)){if(e instanceof nm)return e;if(eP.call(e,\"__wrapped__\"))return oz(e)}return new nm(e)}var ng=function(){function e(){}return function(t){if(!iG(t))return{};if(eU)return eU(t);e.prototype=t;var n=new e;return e.prototype=r,n}}();function nv(){}function nm(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=r}function ny(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=0xffffffff,this.__views__=[]}function nb(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function nA(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function nx(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function nC(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new nx;++t<n;)this.add(e[t])}function nw(e){var t=this.__data__=new nA(e);this.size=t.size}function nk(e,t){var n=iR(e),r=!n&&iN(e),o=!n&&!r&&iB(e),i=!n&&!r&&!o&&i2(e),a=n||r||o||i,c=a?tj(e.length,eS):[],l=c.length;for(var s in e)(t||eP.call(e,s))&&!(a&&(\"length\"==s||o&&(\"offset\"==s||\"parent\"==s)||i&&(\"buffer\"==s||\"byteLength\"==s||\"byteOffset\"==s)||ob(s,l)))&&c.push(s);return c}function nS(e){var t=e.length;return t?e[rs(0,t-1)]:r}np.templateSettings={escape:V,evaluate:q,interpolate:U,variable:\"\",imports:{_:np}},np.prototype=nv.prototype,np.prototype.constructor=np,nm.prototype=ng(nv.prototype),nm.prototype.constructor=nm,ny.prototype=ng(nv.prototype),ny.prototype.constructor=ny,nb.prototype.clear=function(){this.__data__=nr?nr(null):{},this.size=0},nb.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=!!t,t},nb.prototype.get=function(e){var t=this.__data__;if(nr){var n=t[e];return n===i?r:n}return eP.call(t,e)?t[e]:r},nb.prototype.has=function(e){var t=this.__data__;return nr?t[e]!==r:eP.call(t,e)},nb.prototype.set=function(e,t){var n=this.__data__;return this.size+=+!this.has(e),n[e]=nr&&r===t?i:t,this},nA.prototype.clear=function(){this.__data__=[],this.size=0},nA.prototype.delete=function(e){var t=this.__data__,n=n_(t,e);return!(n<0)&&(n==t.length-1?t.pop():e0.call(t,n,1),--this.size,!0)},nA.prototype.get=function(e){var t=this.__data__,n=n_(t,e);return n<0?r:t[n][1]},nA.prototype.has=function(e){return n_(this.__data__,e)>-1},nA.prototype.set=function(e,t){var n=this.__data__,r=n_(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},nx.prototype.clear=function(){this.size=0,this.__data__={hash:new nb,map:new(t7||nA),string:new nb}},nx.prototype.delete=function(e){var t=ou(this,e).delete(e);return this.size-=!!t,t},nx.prototype.get=function(e){return ou(this,e).get(e)},nx.prototype.has=function(e){return ou(this,e).has(e)},nx.prototype.set=function(e,t){var n=ou(this,e),r=n.size;return n.set(e,t),this.size+=+(n.size!=r),this},nC.prototype.add=nC.prototype.push=function(e){return this.__data__.set(e,i),this},nC.prototype.has=function(e){return this.__data__.has(e)};function nE(e,t,n){(r===n||iF(e[t],n))&&(r!==n||t in e)||nM(e,t,n)}function nO(e,t,n){var o=e[t];eP.call(e,t)&&iF(o,n)&&(r!==n||t in e)||nM(e,t,n)}function n_(e,t){for(var n=e.length;n--;)if(iF(e[n][0],t))return n;return -1}function n$(e,t,n,r){return nz(e,function(e,o,i){t(r,e,n(e),i)}),r}function nj(e,t){return e&&rB(t,ap(t),e)}function nM(e,t,n){\"__proto__\"==t&&e8?e8(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function nP(e,t){for(var n=-1,o=t.length,i=ey(o),a=null==e;++n<o;)i[n]=a?r:as(e,t[n]);return i}function nF(e,t,n){return e==e&&(r!==n&&(e=e<=n?e:n),r!==t&&(e=e>=t?e:t)),e}function nT(e,t,n,o,i,a){var c,l=1&t,s=2&t,f=4&t;if(n&&(c=i?n(e,o,i,a):n(e)),r!==c)return c;if(!iG(e))return e;var p=iR(e);if(p){if(S=(A=e).length,R=new A.constructor(S),S&&\"string\"==typeof A[0]&&eP.call(A,\"index\")&&(R.index=A.index,R.input=A.input),c=R,!l)return rH(e,c)}else{var A,S,R,z,L,H,B,D,W=og(e),V=W==g||W==v;if(iB(e))return rT(e,l);if(W==b||W==u||V&&!i){if(c=s||V?{}:om(e),!l){return s?(z=e,L=(D=c)&&rB(e,ag(e),D),rB(z,op(z),L)):(H=e,B=nj(c,e),rB(H,oh(H),B))}}else{if(!eJ[W])return i?e:{};c=function(e,t,n){var r,o,i=e.constructor;switch(t){case E:return rI(e);case d:case h:return new i(+e);case O:return r=n?rI(e.buffer):e.buffer,new e.constructor(r,e.byteOffset,e.byteLength);case _:case $:case j:case M:case P:case F:case T:case I:case N:return rN(e,n);case m:return new i;case y:case w:return new i(e);case x:return(o=new e.constructor(e.source,ec.exec(e))).lastIndex=e.lastIndex,o;case C:return new i;case k:return nd?ew(nd.call(e)):{}}}(e,W,l)}}a||(a=new nw);var q=a.get(e);if(q)return q;a.set(e,c),iJ(e)?e.forEach(function(r){c.add(nT(r,t,n,r,e,a))}):iK(e)&&e.forEach(function(r,o){c.set(o,nT(r,t,n,o,e,a))});var U=f?s?oi:oo:s?ag:ap,G=p?r:U(e);return ts(G||e,function(r,o){G&&(r=e[o=r]),nO(c,o,nT(r,t,n,o,e,a))}),c}function nI(e,t,n){var o=n.length;if(null==e)return!o;for(e=ew(e);o--;){var i=n[o],a=t[i],c=e[i];if(r===c&&!(i in e)||!a(c))return!1}return!0}function nN(e,t,n){if(\"function\"!=typeof e)throw new eE(o);return oj(function(){e.apply(r,n)},t)}function nR(e,t,n,r){var o=-1,i=td,a=!0,c=e.length,l=[],s=t.length;if(!c)return l;n&&(t=tp(t,tP(n))),r?(i=th,a=!1):t.length>=200&&(i=tT,a=!1,t=new nC(t));e:for(;++o<c;){var u=e[o],f=null==n?u:n(u);if(u=r||0!==u?u:0,a&&f==f){for(var d=s;d--;)if(t[d]===f)continue e;l.push(u)}else i(t,f,r)||l.push(u)}return l}nw.prototype.clear=function(){this.__data__=new nA,this.size=0},nw.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},nw.prototype.get=function(e){return this.__data__.get(e)},nw.prototype.has=function(e){return this.__data__.has(e)},nw.prototype.set=function(e,t){var n=this.__data__;if(n instanceof nA){var r=n.__data__;if(!t7||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new nx(r)}return n.set(e,t),this.size=n.size,this};var nz=rV(nU),nL=rV(nG,!0);function nH(e,t){var n=!0;return nz(e,function(e,r,o){return n=!!t(e,r,o)}),n}function nB(e,t,n){for(var o=-1,i=e.length;++o<i;){var a=e[o],c=t(a);if(null!=c&&(r===l?c==c&&!i1(c):n(c,l)))var l=c,s=a}return s}function nD(e,t){var n=[];return nz(e,function(e,r,o){t(e,r,o)&&n.push(e)}),n}function nW(e,t,n,r,o){var i=-1,a=e.length;for(n||(n=oy),o||(o=[]);++i<a;){var c=e[i];t>0&&n(c)?t>1?nW(c,t-1,n,r,o):tg(o,c):r||(o[o.length]=c)}return o}var nV=rq(),nq=rq(!0);function nU(e,t){return e&&nV(e,t,ap)}function nG(e,t){return e&&nq(e,t,ap)}function nX(e,t){return tf(t,function(t){return iV(e[t])})}function nK(e,t){t=rM(t,e);for(var n=0,o=t.length;null!=e&&n<o;)e=e[oN(t[n++])];return n&&n==o?e:r}function nQ(e,t,n){var r=t(e);return iR(e)?r:tg(r,n(e))}function nY(e){var t;return null==e?r===e?\"[object Undefined]\":\"[object Null]\":e3&&e3 in ew(e)?function(e){var t=eP.call(e,e3),n=e[e3];try{e[e3]=r;var o=!0}catch(e){}var i=eI.call(e);return o&&(t?e[e3]=n:delete e[e3]),i}(e):(t=e,eI.call(t))}function nZ(e,t){return e>t}function nJ(e,t){return null!=e&&eP.call(e,t)}function n0(e,t){return null!=e&&t in ew(e)}function n1(e,t,n){for(var o=n?th:td,i=e[0].length,a=e.length,c=a,l=ey(a),s=1/0,u=[];c--;){var f=e[c];c&&t&&(f=tp(f,tP(t))),s=t5(f.length,s),l[c]=!n&&(t||i>=120&&f.length>=120)?new nC(c&&f):r}f=e[0];var d=-1,h=l[0];e:for(;++d<i&&u.length<s;){var p=f[d],g=t?t(p):p;if(p=n||0!==p?p:0,!(h?tT(h,g):o(u,g,n))){for(c=a;--c;){var v=l[c];if(!(v?tT(v,g):o(e[c],g,n)))continue e}h&&h.push(g),u.push(p)}}return u}function n2(e,t,n){t=rM(t,e);var o=null==(e=oO(e,t))?e:e[oN(oK(t))];return null==o?r:tc(o,e,n)}function n5(e){return iX(e)&&nY(e)==u}function n4(e,t,n,o,i){return e===t||(null!=e&&null!=t&&(iX(e)||iX(t))?function(e,t,n,o,i,a){var c=iR(e),l=iR(t),s=c?f:og(e),g=l?f:og(t);s=s==u?b:s,g=g==u?b:g;var v=s==b,A=g==b,S=s==g;if(S&&iB(e)){if(!iB(t))return!1;c=!0,v=!1}if(S&&!v)return a||(a=new nw),c||i2(e)?on(e,t,n,o,i,a):function(e,t,n,r,o,i,a){switch(n){case O:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)break;e=e.buffer,t=t.buffer;case E:if(e.byteLength!=t.byteLength||!i(new eB(e),new eB(t)))break;return!0;case d:case h:case y:return iF(+e,+t);case p:return e.name==t.name&&e.message==t.message;case x:case w:return e==t+\"\";case m:var c=tB;case C:var l=1&r;if(c||(c=tV),e.size!=t.size&&!l)break;var s=a.get(e);if(s)return s==t;r|=2,a.set(e,t);var u=on(c(e),c(t),r,o,i,a);return a.delete(e),u;case k:if(nd)return nd.call(e)==nd.call(t)}return!1}(e,t,s,n,o,i,a);if(!(1&n)){var _=v&&eP.call(e,\"__wrapped__\"),$=A&&eP.call(t,\"__wrapped__\");if(_||$){var j=_?e.value():e,M=$?t.value():t;return a||(a=new nw),i(j,M,n,o,a)}}return!!S&&(a||(a=new nw),function(e,t,n,o,i,a){var c=1&n,l=oo(e),s=l.length;if(s!=oo(t).length&&!c)return!1;for(var u=s;u--;){var f=l[u];if(!(c?f in t:eP.call(t,f)))return!1}var d=a.get(e),h=a.get(t);if(d&&h)return d==t&&h==e;var p=!0;a.set(e,t),a.set(t,e);for(var g=c;++u<s;){var v=e[f=l[u]],m=t[f];if(o)var y=c?o(m,v,f,t,e,a):o(v,m,f,e,t,a);if(!(r===y?v===m||i(v,m,n,o,a):y)){p=!1;break}g||(g=\"constructor\"==f)}if(p&&!g){var b=e.constructor,A=t.constructor;b!=A&&\"constructor\"in e&&\"constructor\"in t&&!(\"function\"==typeof b&&b instanceof b&&\"function\"==typeof A&&A instanceof A)&&(p=!1)}return a.delete(e),a.delete(t),p}(e,t,n,o,i,a))}(e,t,n,o,n4,i):e!=e&&t!=t)}function n6(e,t,n,o){var i=n.length,a=i,c=!o;if(null==e)return!a;for(e=ew(e);i--;){var l=n[i];if(c&&l[2]?l[1]!==e[l[0]]:!(l[0]in e))return!1}for(;++i<a;){var s=(l=n[i])[0],u=e[s],f=l[1];if(c&&l[2]){if(r===u&&!(s in e))return!1}else{var d=new nw;if(o)var h=o(u,f,s,e,t,d);if(!(r===h?n4(f,u,3,o,d):h))return!1}}return!0}function n3(e){var t;return!(!iG(e)||(t=e,eT&&eT in t))&&(iV(e)?ez:eu).test(oR(e))}function n8(e){return\"function\"==typeof e?e:null==e?aH:\"object\"==typeof e?iR(e)?rn(e[0],e[1]):rt(e):aK(e)}function n9(e){if(!ok(e))return t1(e);var t=[];for(var n in ew(e))eP.call(e,n)&&\"constructor\"!=n&&t.push(n);return t}function n7(e,t){return e<t}function re(e,t){var n=-1,r=iL(e)?ey(e.length):[];return nz(e,function(e,o,i){r[++n]=t(e,o,i)}),r}function rt(e){var t=of(e);return 1==t.length&&t[0][2]?oS(t[0][0],t[0][1]):function(n){return n===e||n6(n,e,t)}}function rn(e,t){var n;return ox(e)&&(n=t)==n&&!iG(n)?oS(oN(e),t):function(n){var o=as(n,e);return r===o&&o===t?au(n,e):n4(t,o,3)}}function rr(e,t,n,o,i){e!==t&&nV(t,function(a,c){if(i||(i=new nw),iG(a))!function(e,t,n,o,i,a,c){var l=o_(e,n),s=o_(t,n),u=c.get(s);if(u)return nE(e,n,u);var f=a?a(l,s,n+\"\",e,t,c):r,d=r===f;if(d){var h=iR(s),p=!h&&iB(s),g=!h&&!p&&i2(s);f=s,h||p||g?iR(l)?f=l:iH(l)?f=rH(l):p?(d=!1,f=rT(s,!0)):g?(d=!1,f=rN(s,!0)):f=[]:iY(s)||iN(s)?(f=l,iN(l)?f=ae(l):(!iG(l)||iV(l))&&(f=om(s))):d=!1}d&&(c.set(s,f),i(f,s,o,a,c),c.delete(s)),nE(e,n,f)}(e,t,c,n,rr,o,i);else{var l=o?o(o_(e,c),a,c+\"\",e,t,i):r;r===l&&(l=a),nE(e,c,l)}},ag)}function ro(e,t){var n=e.length;if(n)return ob(t+=t<0?n:0,n)?e[t]:r}function ri(e,t,n){t=t.length?tp(t,function(e){return iR(e)?function(t){return nK(t,1===e.length?e[0]:e)}:e}):[aH];var r=-1;t=tp(t,tP(os()));var o=re(e,function(e,n,o){return{criteria:tp(t,function(t){return t(e)}),index:++r,value:e}}),i=o.length;for(o.sort(function(e,t){return function(e,t,n){for(var r=-1,o=e.criteria,i=t.criteria,a=o.length,c=n.length;++r<a;){var l=rR(o[r],i[r]);if(l){if(r>=c)return l;return l*(\"desc\"==n[r]?-1:1)}}return e.index-t.index}(e,t,n)});i--;)o[i]=o[i].value;return o}function ra(e,t,n){for(var r=-1,o=t.length,i={};++r<o;){var a=t[r],c=nK(e,a);n(c,a)&&rd(i,rM(a,e),c)}return i}function rc(e,t,n,r){var o=r?tw:tC,i=-1,a=t.length,c=e;for(e===t&&(t=rH(t)),n&&(c=tp(e,tP(n)));++i<a;)for(var l=0,s=t[i],u=n?n(s):s;(l=o(c,u,l,r))>-1;)c!==e&&e0.call(c,l,1),e0.call(e,l,1);return e}function rl(e,t){for(var n=e?t.length:0,r=n-1;n--;){var o=t[n];if(n==r||o!==i){var i=o;ob(o)?e0.call(e,o,1):rw(e,o)}}return e}function rs(e,t){return e+tQ(t3()*(t-e+1))}function ru(e,t){var n=\"\";if(!e||t<1||t>0x1fffffffffffff)return n;do t%2&&(n+=e),(t=tQ(t/2))&&(e+=e);while(t);return n}function rf(e,t){return oM(oE(e,t,aH),e+\"\")}function rd(e,t,n,o){if(!iG(e))return e;t=rM(t,e);for(var i=-1,a=t.length,c=a-1,l=e;null!=l&&++i<a;){var s=oN(t[i]),u=n;if(\"__proto__\"===s||\"constructor\"===s||\"prototype\"===s)break;if(i!=c){var f=l[s];u=o?o(f,s,l):r,r===u&&(u=iG(f)?f:ob(t[i+1])?[]:{})}nO(l,s,u),l=l[s]}return e}var rh=no?function(e,t){return no.set(e,t),e}:aH,rp=e8?function(e,t){return e8(e,\"toString\",{configurable:!0,enumerable:!1,value:aR(t),writable:!0})}:aH;function rg(e,t,n){var r=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var i=ey(o);++r<o;)i[r]=e[r+t];return i}function rv(e,t){var n;return nz(e,function(e,r,o){return!(n=t(e,r,o))}),!!n}function rm(e,t,n){var r=0,o=null==e?r:e.length;if(\"number\"==typeof t&&t==t&&o<=0x7fffffff){for(;r<o;){var i=r+o>>>1,a=e[i];null!==a&&!i1(a)&&(n?a<=t:a<t)?r=i+1:o=i}return o}return ry(e,t,aH,n)}function ry(e,t,n,o){var i=0,a=null==e?0:e.length;if(0===a)return 0;for(var c=(t=n(t))!=t,l=null===t,s=i1(t),u=r===t;i<a;){var f=tQ((i+a)/2),d=n(e[f]),h=r!==d,p=null===d,g=d==d,v=i1(d);if(c)var m=o||g;else m=u?g&&(o||h):l?g&&h&&(o||!p):s?g&&h&&!p&&(o||!v):!p&&!v&&(o?d<=t:d<t);m?i=f+1:a=f}return t5(a,0xfffffffe)}function rb(e,t){for(var n=-1,r=e.length,o=0,i=[];++n<r;){var a=e[n],c=t?t(a):a;if(!n||!iF(c,l)){var l=c;i[o++]=0===a?0:a}}return i}function rA(e){return\"number\"==typeof e?e:i1(e)?l:+e}function rx(e){if(\"string\"==typeof e)return e;if(iR(e))return tp(e,rx)+\"\";if(i1(e))return nh?nh.call(e):\"\";var t=e+\"\";return\"0\"==t&&1/e==-c?\"-0\":t}function rC(e,t,n){var r=-1,o=td,i=e.length,a=!0,c=[],l=c;if(n)a=!1,o=th;else if(i>=200){var s=t?null:r3(e);if(s)return tV(s);a=!1,o=tT,l=new nC}else l=t?[]:c;e:for(;++r<i;){var u=e[r],f=t?t(u):u;if(u=n||0!==u?u:0,a&&f==f){for(var d=l.length;d--;)if(l[d]===f)continue e;t&&l.push(f),c.push(u)}else o(l,f,n)||(l!==c&&l.push(f),c.push(u))}return c}function rw(e,t){t=rM(t,e);var n=-1,r=t.length;if(!r)return!0;for(var o=null==e||\"object\"!=typeof e&&\"function\"!=typeof e;++n<r;){var i=t[n];if(\"string\"==typeof i){if(\"__proto__\"===i&&!eP.call(e,\"__proto__\"))return!1;if(\"constructor\"===i&&n+1<r&&\"string\"==typeof t[n+1]&&\"prototype\"===t[n+1]){if(o&&0===n)continue;return!1}}}var a=oO(e,t);return null==a||delete a[oN(oK(t))]}function rk(e,t,n,r){return rd(e,t,n(nK(e,t)),r)}function rS(e,t,n,r){for(var o=e.length,i=r?o:-1;(r?i--:++i<o)&&t(e[i],i,e););return n?rg(e,r?0:i,r?i+1:o):rg(e,r?i+1:0,r?o:i)}function rE(e,t){var n=e;return n instanceof ny&&(n=n.value()),tv(t,function(e,t){return t.func.apply(t.thisArg,tg([e],t.args))},n)}function rO(e,t,n){var r=e.length;if(r<2)return r?rC(e[0]):[];for(var o=-1,i=ey(r);++o<r;)for(var a=e[o],c=-1;++c<r;)c!=o&&(i[o]=nR(i[o]||a,e[c],t,n));return rC(nW(i,1),t,n)}function r_(e,t,n){for(var o=-1,i=e.length,a=t.length,c={};++o<i;){var l=o<a?t[o]:r;n(c,e[o],l)}return c}function r$(e){return iH(e)?e:[]}function rj(e){return\"function\"==typeof e?e:aH}function rM(e,t){return iR(e)?e:ox(e,t)?[e]:oI(at(e))}function rP(e,t,n){var o=e.length;return n=r===n?o:n,!t&&n>=o?e:rg(e,t,n)}var rF=e7||function(e){return e6.clearTimeout(e)};function rT(e,t){if(t)return e.slice();var n=e.length,r=eD?eD(n):new e.constructor(n);return e.copy(r),r}function rI(e){var t=new e.constructor(e.byteLength);return new eB(t).set(new eB(e)),t}function rN(e,t){var n=t?rI(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function rR(e,t){if(e!==t){var n=r!==e,o=null===e,i=e==e,a=i1(e),c=r!==t,l=null===t,s=t==t,u=i1(t);if(!l&&!u&&!a&&e>t||a&&c&&s&&!l&&!u||o&&c&&s||!n&&s||!i)return 1;if(!o&&!a&&!u&&e<t||u&&n&&i&&!o&&!a||l&&n&&i||!c&&i||!s)return -1}return 0}function rz(e,t,n,r){for(var o=-1,i=e.length,a=n.length,c=-1,l=t.length,s=t2(i-a,0),u=ey(l+s),f=!r;++c<l;)u[c]=t[c];for(;++o<a;)(f||o<i)&&(u[n[o]]=e[o]);for(;s--;)u[c++]=e[o++];return u}function rL(e,t,n,r){for(var o=-1,i=e.length,a=-1,c=n.length,l=-1,s=t.length,u=t2(i-c,0),f=ey(u+s),d=!r;++o<u;)f[o]=e[o];for(var h=o;++l<s;)f[h+l]=t[l];for(;++a<c;)(d||o<i)&&(f[h+n[a]]=e[o++]);return f}function rH(e,t){var n=-1,r=e.length;for(t||(t=ey(r));++n<r;)t[n]=e[n];return t}function rB(e,t,n,o){var i=!n;n||(n={});for(var a=-1,c=t.length;++a<c;){var l=t[a],s=o?o(n[l],e[l],l,n,e):r;r===s&&(s=e[l]),i?nM(n,l,s):nO(n,l,s)}return n}function rD(e,t){return function(n,r){var o=iR(n)?tl:n$,i=t?t():{};return o(n,e,os(r,2),i)}}function rW(e){return rf(function(t,n){var o=-1,i=n.length,a=i>1?n[i-1]:r,c=i>2?n[2]:r;for(a=e.length>3&&\"function\"==typeof a?(i--,a):r,c&&oA(n[0],n[1],c)&&(a=i<3?r:a,i=1),t=ew(t);++o<i;){var l=n[o];l&&e(t,l,o,a)}return t})}function rV(e,t){return function(n,r){if(null==n)return n;if(!iL(n))return e(n,r);for(var o=n.length,i=t?o:-1,a=ew(n);(t?i--:++i<o)&&!1!==r(a[i],i,a););return n}}function rq(e){return function(t,n,r){for(var o=-1,i=ew(t),a=r(t),c=a.length;c--;){var l=a[e?c:++o];if(!1===n(i[l],l,i))break}return t}}function rU(e){return function(t){var n=tH(t=at(t))?tU(t):r,o=n?n[0]:t.charAt(0),i=n?rP(n,1).join(\"\"):t.slice(1);return o[e]()+i}}function rG(e){return function(t){return tv(aT(aE(t).replace(eV,\"\")),e,\"\")}}function rX(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var n=ng(e.prototype),r=e.apply(n,t);return iG(r)?r:n}}function rK(e){return function(t,n,o){var i=ew(t);if(!iL(t)){var a=os(n,3);t=ap(t),n=function(e){return a(i[e],e,i)}}var c=e(t,n,o);return c>-1?i[a?t[c]:c]:r}}function rQ(e){return or(function(t){var n=t.length,i=n,a=nm.prototype.thru;for(e&&t.reverse();i--;){var c=t[i];if(\"function\"!=typeof c)throw new eE(o);if(a&&!l&&\"wrapper\"==oc(c))var l=new nm([],!0)}for(i=l?i:n;++i<n;){var s=oc(c=t[i]),u=\"wrapper\"==s?oa(c):r;l=u&&oC(u[0])&&424==u[1]&&!u[4].length&&1==u[9]?l[oc(u[0])].apply(l,u[3]):1==c.length&&oC(c)?l[s]():l.thru(c)}return function(){var e=arguments,r=e[0];if(l&&1==e.length&&iR(r))return l.plant(r).value();for(var o=0,i=n?t[o].apply(this,e):r;++o<n;)i=t[o].call(this,i);return i}})}function rY(e,t,n,o,i,a,c,l,s,u){var f=128&t,d=1&t,h=2&t,p=24&t,g=512&t,v=h?r:rX(e);function m(){for(var y=arguments.length,b=ey(y),A=y;A--;)b[A]=arguments[A];if(p)var x=ol(m),C=function(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}(b,x);if(o&&(b=rz(b,o,i,p)),a&&(b=rL(b,a,c,p)),y-=C,p&&y<u){var w=tW(b,x);return r4(e,t,rY,m.placeholder,n,b,w,l,s,u-y)}var k=d?n:this,S=h?k[e]:e;return y=b.length,l?b=function(e,t){for(var n=e.length,o=t5(t.length,n),i=rH(e);o--;){var a=t[o];e[o]=ob(a,n)?i[a]:r}return e}(b,l):g&&y>1&&b.reverse(),f&&s<y&&(b.length=s),this&&this!==e6&&this instanceof m&&(S=v||rX(S)),S.apply(k,b)}return m}function rZ(e,t){return function(n,r){var o,i;return o=t(r),i={},nU(n,function(t,n,r){e(i,o(t),n,r)}),i}}function rJ(e,t){return function(n,o){var i;if(r===n&&r===o)return t;if(r!==n&&(i=n),r!==o){if(r===i)return o;\"string\"==typeof n||\"string\"==typeof o?(n=rx(n),o=rx(o)):(n=rA(n),o=rA(o)),i=e(n,o)}return i}}function r0(e){return or(function(t){return t=tp(t,tP(os())),rf(function(n){var r=this;return e(t,function(e){return tc(e,r,n)})})})}function r1(e,t){var n=(t=r===t?\" \":rx(t)).length;if(n<2)return n?ru(t,e):t;var o=ru(t,tO(e/tq(t)));return tH(t)?rP(tU(o),0,e).join(\"\"):o.slice(0,e)}function r2(e){return function(t,n,o){o&&\"number\"!=typeof o&&oA(t,n,o)&&(n=o=r),t=i3(t),r===n?(n=t,t=0):n=i3(n),o=r===o?t<n?1:-1:i3(o);for(var i=t,a=n,c=o,l=-1,s=t2(tO((a-i)/(c||1)),0),u=ey(s);s--;)u[e?s:++l]=i,i+=c;return u}}function r5(e){return function(t,n){return(\"string\"!=typeof t||\"string\"!=typeof n)&&(t=i7(t),n=i7(n)),e(t,n)}}function r4(e,t,n,o,i,a,c,l,s,u){var f=8&t,d=f?c:r,h=f?r:c,p=f?a:r,g=f?r:a;t|=f?32:64,4&(t&=~(f?64:32))||(t&=-4);var v=[e,t,i,p,d,g,h,l,s,u],m=n.apply(r,v);return oC(e)&&o$(m,v),m.placeholder=o,oP(m,e,t)}function r6(e){var t=eC[e];return function(e,n){if(e=i7(e),(n=null==n?0:t5(i8(n),292))&&tJ(e)){var r=(at(e)+\"e\").split(\"e\");return+((r=(at(t(r[0]+\"e\"+(+r[1]+n)))+\"e\").split(\"e\"))[0]+\"e\"+(r[1]-n))}return t(e)}}var r3=nt&&1/tV(new nt([,-0]))[1]==c?function(e){return new nt(e)}:aq;function r8(e){return function(t){var n,r,o=og(t);return o==m?tB(t):o==C?(n=-1,r=Array(t.size),t.forEach(function(e){r[++n]=[e,e]}),r):tp(e(t),function(e){return[e,t[e]]})}}function r9(e,t,n,i,c,l,s,u){var f=2&t;if(!f&&\"function\"!=typeof e)throw new eE(o);var d=i?i.length:0;if(d||(t&=-97,i=c=r),s=r===s?s:t2(i8(s),0),u=r===u?u:i8(u),d-=c?c.length:0,64&t){var h=i,p=c;i=c=r}var g=f?r:oa(e),v=[e,t,n,i,c,h,p,l,s,u];if(g&&function(e,t){var n=e[1],r=t[1],o=n|r,i=o<131,c=128==r&&8==n||128==r&&256==n&&e[7].length<=t[8]||384==r&&t[7].length<=t[8]&&8==n;if(i||c){1&r&&(e[2]=t[2],o|=1&n?0:4);var l=t[3];if(l){var s=e[3];e[3]=s?rz(s,l,t[4]):l,e[4]=s?tW(e[3],a):t[4]}(l=t[5])&&(s=e[5],e[5]=s?rL(s,l,t[6]):l,e[6]=s?tW(e[5],a):t[6]),(l=t[7])&&(e[7]=l),128&r&&(e[8]=null==e[8]?t[8]:t5(e[8],t[8])),null==e[9]&&(e[9]=t[9]),e[0]=t[0],e[1]=o}}(v,g),e=v[0],t=v[1],n=v[2],i=v[3],c=v[4],(u=v[9]=v[9]===r?f?0:e.length:t2(v[9]-d,0))||!(24&t)||(t&=-25),t&&1!=t)8==t||16==t?_=function(e,t,n){var o=rX(e);function i(){for(var a=arguments.length,c=ey(a),l=a,s=ol(i);l--;)c[l]=arguments[l];var u=a<3&&c[0]!==s&&c[a-1]!==s?[]:tW(c,s);return(a-=u.length)<n?r4(e,t,rY,i.placeholder,r,c,u,r,r,n-a):tc(this&&this!==e6&&this instanceof i?o:e,this,c)}return i}(e,t,u):32!=t&&33!=t||c.length?_=rY.apply(r,v):(m=e,y=t,b=n,A=i,x=1&y,C=rX(m),_=function e(){for(var t=-1,n=arguments.length,r=-1,o=A.length,i=ey(o+n),a=this&&this!==e6&&this instanceof e?C:m;++r<o;)i[r]=A[r];for(;n--;)i[r++]=arguments[++t];return tc(a,x?b:this,i)});else var m,y,b,A,x,C,w,k,S,E,O,_=(w=e,k=t,S=n,E=1&k,O=rX(w),function e(){return(this&&this!==e6&&this instanceof e?O:w).apply(E?S:this,arguments)});return oP((g?rh:o$)(_,v),e,t)}function r7(e,t,n,o){return r===e||iF(e,e$[n])&&!eP.call(o,n)?t:e}function oe(e,t,n,o,i,a){return iG(e)&&iG(t)&&(a.set(t,e),rr(e,t,r,oe,a),a.delete(t)),e}function ot(e){return iY(e)?r:e}function on(e,t,n,o,i,a){var c=1&n,l=e.length,s=t.length;if(l!=s&&!(c&&s>l))return!1;var u=a.get(e),f=a.get(t);if(u&&f)return u==t&&f==e;var d=-1,h=!0,p=2&n?new nC:r;for(a.set(e,t),a.set(t,e);++d<l;){var g=e[d],v=t[d];if(o)var m=c?o(v,g,d,t,e,a):o(g,v,d,e,t,a);if(r!==m){if(m)continue;h=!1;break}if(p){if(!ty(t,function(e,t){if(!tT(p,t)&&(g===e||i(g,e,n,o,a)))return p.push(t)})){h=!1;break}}else if(!(g===v||i(g,v,n,o,a))){h=!1;break}}return a.delete(e),a.delete(t),h}function or(e){return oM(oE(e,r,oV),e+\"\")}function oo(e){return nQ(e,ap,oh)}function oi(e){return nQ(e,ag,op)}var oa=no?function(e){return no.get(e)}:aq;function oc(e){for(var t=e.name+\"\",n=ni[t],r=eP.call(ni,t)?n.length:0;r--;){var o=n[r],i=o.func;if(null==i||i==e)return o.name}return t}function ol(e){return(eP.call(np,\"placeholder\")?np:e).placeholder}function os(){var e=np.iteratee||aB;return e=e===aB?n8:e,arguments.length?e(arguments[0],arguments[1]):e}function ou(e,t){var n,r,o=e.__data__;return(\"string\"==(r=typeof(n=t))||\"number\"==r||\"symbol\"==r||\"boolean\"==r?\"__proto__\"!==n:null===n)?o[\"string\"==typeof t?\"string\":\"hash\"]:o.map}function of(e){for(var t=ap(e),n=t.length;n--;){var r,o=t[n],i=e[o];t[n]=[o,i,(r=i)==r&&!iG(r)]}return t}function od(e,t){var n=null==e?r:e[t];return n3(n)?n:r}var oh=tY?function(e){return null==e?[]:tf(tY(e=ew(e)),function(t){return eX.call(e,t)})}:aZ,op=tY?function(e){for(var t=[];e;)tg(t,oh(e)),e=eW(e);return t}:aZ,og=nY;function ov(e,t,n){t=rM(t,e);for(var r=-1,o=t.length,i=!1;++r<o;){var a=oN(t[r]);if(!(i=null!=e&&n(e,a)))break;e=e[a]}return i||++r!=o?i:!!(o=null==e?0:e.length)&&iU(o)&&ob(a,o)&&(iR(e)||iN(e))}function om(e){return\"function\"!=typeof e.constructor||ok(e)?{}:ng(eW(e))}function oy(e){return iR(e)||iN(e)||!!(e5&&e&&e[e5])}function ob(e,t){var n=typeof e;return!!(t=null==t?0x1fffffffffffff:t)&&(\"number\"==n||\"symbol\"!=n&&ed.test(e))&&e>-1&&e%1==0&&e<t}function oA(e,t,n){if(!iG(n))return!1;var r=typeof t;return(\"number\"==r?!!(iL(n)&&ob(t,n.length)):\"string\"==r&&t in n)&&iF(n[t],e)}function ox(e,t){if(iR(e))return!1;var n=typeof e;return!!(\"number\"==n||\"symbol\"==n||\"boolean\"==n||null==e||i1(e))||X.test(e)||!G.test(e)||null!=t&&e in ew(t)}function oC(e){var t=oc(e),n=np[t];if(\"function\"!=typeof n||!(t in ny.prototype))return!1;if(e===n)return!0;var r=oa(n);return!!r&&e===r[0]}(t9&&og(new t9(new ArrayBuffer(1)))!=O||t7&&og(new t7)!=m||ne&&og(ne.resolve())!=A||nt&&og(new nt)!=C||nn&&og(new nn)!=S)&&(og=function(e){var t=nY(e),n=t==b?e.constructor:r,o=n?oR(n):\"\";if(o)switch(o){case na:return O;case nc:return m;case nl:return A;case ns:return C;case nu:return S}return t});var ow=ej?iV:aJ;function ok(e){var t=e&&e.constructor;return e===(\"function\"==typeof t&&t.prototype||e$)}function oS(e,t){return function(n){return null!=n&&n[e]===t&&(r!==t||e in ew(n))}}function oE(e,t,n){return t=t2(r===t?e.length-1:t,0),function(){for(var r=arguments,o=-1,i=t2(r.length-t,0),a=ey(i);++o<i;)a[o]=r[t+o];o=-1;for(var c=ey(t+1);++o<t;)c[o]=r[o];return c[t]=n(a),tc(e,this,c)}}function oO(e,t){return t.length<2?e:nK(e,rg(t,0,-1))}function o_(e,t){if((\"constructor\"!==t||\"function\"!=typeof e[t])&&\"__proto__\"!=t)return e[t]}var o$=oF(rh),oj=tb||function(e,t){return e6.setTimeout(e,t)},oM=oF(rp);function oP(e,t,n){var r,o,i,a=t+\"\";return oM(e,function(e,t){var n=t.length;if(!n)return e;var r=n-1;return t[r]=(n>1?\"& \":\"\")+t[r],t=t.join(n>2?\", \":\" \"),e.replace(ee,\"{\\n/* [wrapped with \"+t+\"] */\\n\")}(a,(r=(i=a.match(et))?i[1].split(en):[],o=n,ts(s,function(e){var t=\"_.\"+e[0];o&e[1]&&!td(r,t)&&r.push(t)}),r.sort())))}function oF(e){var t=0,n=0;return function(){var o=t4(),i=16-(o-n);if(n=o,i>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(r,arguments)}}function oT(e,t){var n=-1,o=e.length,i=o-1;for(t=r===t?o:t;++n<t;){var a=rs(n,i),c=e[a];e[a]=e[n],e[n]=c}return e.length=t,e}var oI=(ev=(J=iO(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(\"\"),e.replace(K,function(e,n,r,o){t.push(r?o.replace(ei,\"$1\"):n||e)}),t},function(e){return 500===ev.size&&ev.clear(),e})).cache,J);function oN(e){if(\"string\"==typeof e||i1(e))return e;var t=e+\"\";return\"0\"==t&&1/e==-c?\"-0\":t}function oR(e){if(null!=e){try{return eM.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"}function oz(e){if(e instanceof ny)return e.clone();var t=new nm(e.__wrapped__,e.__chain__);return t.__actions__=rH(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}var oL=rf(function(e,t){return iH(e)?nR(e,nW(t,1,iH,!0)):[]}),oH=rf(function(e,t){var n=oK(t);return iH(n)&&(n=r),iH(e)?nR(e,nW(t,1,iH,!0),os(n,2)):[]}),oB=rf(function(e,t){var n=oK(t);return iH(n)&&(n=r),iH(e)?nR(e,nW(t,1,iH,!0),r,n):[]});function oD(e,t,n){var r=null==e?0:e.length;if(!r)return -1;var o=null==n?0:i8(n);return o<0&&(o=t2(r+o,0)),tx(e,os(t,3),o)}function oW(e,t,n){var o=null==e?0:e.length;if(!o)return -1;var i=o-1;return r!==n&&(i=i8(n),i=n<0?t2(o+i,0):t5(i,o-1)),tx(e,os(t,3),i,!0)}function oV(e){return(null==e?0:e.length)?nW(e,1):[]}function oq(e){return e&&e.length?e[0]:r}var oU=rf(function(e){var t=tp(e,r$);return t.length&&t[0]===e[0]?n1(t):[]}),oG=rf(function(e){var t=oK(e),n=tp(e,r$);return t===oK(n)?t=r:n.pop(),n.length&&n[0]===e[0]?n1(n,os(t,2)):[]}),oX=rf(function(e){var t=oK(e),n=tp(e,r$);return(t=\"function\"==typeof t?t:r)&&n.pop(),n.length&&n[0]===e[0]?n1(n,r,t):[]});function oK(e){var t=null==e?0:e.length;return t?e[t-1]:r}var oQ=rf(oY);function oY(e,t){return e&&e.length&&t&&t.length?rc(e,t):e}var oZ=or(function(e,t){var n=null==e?0:e.length,r=nP(e,t);return rl(e,tp(t,function(e){return ob(e,n)?+e:e}).sort(rR)),r});function oJ(e){return null==e?e:t8.call(e)}var o0=rf(function(e){return rC(nW(e,1,iH,!0))}),o1=rf(function(e){var t=oK(e);return iH(t)&&(t=r),rC(nW(e,1,iH,!0),os(t,2))}),o2=rf(function(e){var t=oK(e);return t=\"function\"==typeof t?t:r,rC(nW(e,1,iH,!0),r,t)});function o5(e){if(!(e&&e.length))return[];var t=0;return e=tf(e,function(e){if(iH(e))return t=t2(e.length,t),!0}),tj(t,function(t){return tp(e,tE(t))})}function o4(e,t){if(!(e&&e.length))return[];var n=o5(e);return null==t?n:tp(n,function(e){return tc(t,r,e)})}var o6=rf(function(e,t){return iH(e)?nR(e,t):[]}),o3=rf(function(e){return rO(tf(e,iH))}),o8=rf(function(e){var t=oK(e);return iH(t)&&(t=r),rO(tf(e,iH),os(t,2))}),o9=rf(function(e){var t=oK(e);return t=\"function\"==typeof t?t:r,rO(tf(e,iH),r,t)}),o7=rf(o5),ie=rf(function(e){var t=e.length,n=t>1?e[t-1]:r;return n=\"function\"==typeof n?(e.pop(),n):r,o4(e,n)});function it(e){var t=np(e);return t.__chain__=!0,t}function ir(e,t){return t(e)}var io=or(function(e){var t=e.length,n=t?e[0]:0,o=this.__wrapped__,i=function(t){return nP(t,e)};return!(t>1)&&!this.__actions__.length&&o instanceof ny&&ob(n)?((o=o.slice(n,+n+ +!!t)).__actions__.push({func:ir,args:[i],thisArg:r}),new nm(o,this.__chain__).thru(function(e){return t&&!e.length&&e.push(r),e})):this.thru(i)}),ii=rD(function(e,t,n){eP.call(e,n)?++e[n]:nM(e,n,1)}),ia=rK(oD),ic=rK(oW);function il(e,t){return(iR(e)?ts:nz)(e,os(t,3))}function is(e,t){return(iR(e)?function(e,t){for(var n=null==e?0:e.length;n--&&!1!==t(e[n],n,e););return e}:nL)(e,os(t,3))}var iu=rD(function(e,t,n){eP.call(e,n)?e[n].push(t):nM(e,n,[t])}),id=rf(function(e,t,n){var r=-1,o=\"function\"==typeof t,i=iL(e)?ey(e.length):[];return nz(e,function(e){i[++r]=o?tc(t,e,n):n2(e,t,n)}),i}),ih=rD(function(e,t,n){nM(e,n,t)});function ip(e,t){return(iR(e)?tp:re)(e,os(t,3))}var ig=rD(function(e,t,n){e[+!n].push(t)},function(){return[[],[]]}),iv=rf(function(e,t){if(null==e)return[];var n=t.length;return n>1&&oA(e,t[0],t[1])?t=[]:n>2&&oA(t[0],t[1],t[2])&&(t=[t[0]]),ri(e,nW(t,1),[])}),im=te||function(){return e6.Date.now()};function iy(e,t,n){return t=n?r:t,t=e&&null==t?e.length:t,r9(e,128,r,r,r,r,t)}function ib(e,t){var n;if(\"function\"!=typeof t)throw new eE(o);return e=i8(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=r),n}}var iA=rf(function(e,t,n){var r=1;if(n.length){var o=tW(n,ol(iA));r|=32}return r9(e,r,t,n,o)}),ix=rf(function(e,t,n){var r=3;if(n.length){var o=tW(n,ol(ix));r|=32}return r9(t,r,e,n,o)});function iC(e,t,n){t=n?r:t;var o=r9(e,8,r,r,r,r,r,t);return o.placeholder=iC.placeholder,o}function iw(e,t,n){t=n?r:t;var o=r9(e,16,r,r,r,r,r,t);return o.placeholder=iw.placeholder,o}function ik(e,t,n){var i,a,c,l,s,u,f=0,d=!1,h=!1,p=!0;if(\"function\"!=typeof e)throw new eE(o);function g(t){var n=i,o=a;return i=a=r,f=t,l=e.apply(o,n)}function v(e){var n=e-u,o=e-f;return r===u||n>=t||n<0||h&&o>=c}function m(){var e,n,r,o=im();if(v(o))return y(o);s=oj(m,(e=o-u,n=o-f,r=t-e,h?t5(r,c-n):r))}function y(e){return(s=r,p&&i)?g(e):(i=a=r,l)}function b(){var e,n=im(),o=v(n);if(i=arguments,a=this,u=n,o){if(r===s)return f=e=u,s=oj(m,t),d?g(e):l;if(h)return rF(s),s=oj(m,t),g(u)}return r===s&&(s=oj(m,t)),l}return t=i7(t)||0,iG(n)&&(d=!!n.leading,c=(h=\"maxWait\"in n)?t2(i7(n.maxWait)||0,t):c,p=\"trailing\"in n?!!n.trailing:p),b.cancel=function(){r!==s&&rF(s),f=0,i=u=a=s=r},b.flush=function(){return r===s?l:y(im())},b}var iS=rf(function(e,t){return nN(e,1,t)}),iE=rf(function(e,t,n){return nN(e,i7(t)||0,n)});function iO(e,t){if(\"function\"!=typeof e||null!=t&&\"function\"!=typeof t)throw new eE(o);var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var a=e.apply(this,r);return n.cache=i.set(o,a)||i,a};return n.cache=new(iO.Cache||nx),n}function i_(e){if(\"function\"!=typeof e)throw new eE(o);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}iO.Cache=nx;var i$=rf(function(e,t){var n=(t=1==t.length&&iR(t[0])?tp(t[0],tP(os())):tp(nW(t,1),tP(os()))).length;return rf(function(r){for(var o=-1,i=t5(r.length,n);++o<i;)r[o]=t[o].call(this,r[o]);return tc(e,this,r)})}),ij=rf(function(e,t){var n=tW(t,ol(ij));return r9(e,32,r,t,n)}),iM=rf(function(e,t){var n=tW(t,ol(iM));return r9(e,64,r,t,n)}),iP=or(function(e,t){return r9(e,256,r,r,r,t)});function iF(e,t){return e===t||e!=e&&t!=t}var iT=r5(nZ),iI=r5(function(e,t){return e>=t}),iN=n5(function(){return arguments}())?n5:function(e){return iX(e)&&eP.call(e,\"callee\")&&!eX.call(e,\"callee\")},iR=ey.isArray,iz=tt?tP(tt):function(e){return iX(e)&&nY(e)==E};function iL(e){return null!=e&&iU(e.length)&&!iV(e)}function iH(e){return iX(e)&&iL(e)}var iB=tZ||aJ,iD=tn?tP(tn):function(e){return iX(e)&&nY(e)==h};function iW(e){if(!iX(e))return!1;var t=nY(e);return t==p||\"[object DOMException]\"==t||\"string\"==typeof e.message&&\"string\"==typeof e.name&&!iY(e)}function iV(e){if(!iG(e))return!1;var t=nY(e);return t==g||t==v||\"[object AsyncFunction]\"==t||\"[object Proxy]\"==t}function iq(e){return\"number\"==typeof e&&e==i8(e)}function iU(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=0x1fffffffffffff}function iG(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}function iX(e){return null!=e&&\"object\"==typeof e}var iK=tr?tP(tr):function(e){return iX(e)&&og(e)==m};function iQ(e){return\"number\"==typeof e||iX(e)&&nY(e)==y}function iY(e){if(!iX(e)||nY(e)!=b)return!1;var t=eW(e);if(null===t)return!0;var n=eP.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof n&&n instanceof n&&eM.call(n)==eN}var iZ=to?tP(to):function(e){return iX(e)&&nY(e)==x},iJ=ti?tP(ti):function(e){return iX(e)&&og(e)==C};function i0(e){return\"string\"==typeof e||!iR(e)&&iX(e)&&nY(e)==w}function i1(e){return\"symbol\"==typeof e||iX(e)&&nY(e)==k}var i2=ta?tP(ta):function(e){return iX(e)&&iU(e.length)&&!!eZ[nY(e)]},i5=r5(n7),i4=r5(function(e,t){return e<=t});function i6(e){if(!e)return[];if(iL(e))return i0(e)?tU(e):rH(e);if(e4&&e[e4]){for(var t,n=e[e4](),r=[];!(t=n.next()).done;)r.push(t.value);return r}var o=og(e);return(o==m?tB:o==C?tV:aw)(e)}function i3(e){return e?(e=i7(e))===c||e===-c?(e<0?-1:1)*17976931348623157e292:e==e?e:0:0===e?e:0}function i8(e){var t=i3(e),n=t%1;return t==t?n?t-n:t:0}function i9(e){return e?nF(i8(e),0,0xffffffff):0}function i7(e){if(\"number\"==typeof e)return e;if(i1(e))return l;if(iG(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=iG(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=tM(e);var n=es.test(e);return n||ef.test(e)?e2(e.slice(2),n?2:8):el.test(e)?l:+e}function ae(e){return rB(e,ag(e))}function at(e){return null==e?\"\":rx(e)}var an=rW(function(e,t){if(ok(t)||iL(t))return void rB(t,ap(t),e);for(var n in t)eP.call(t,n)&&nO(e,n,t[n])}),ar=rW(function(e,t){rB(t,ag(t),e)}),ao=rW(function(e,t,n,r){rB(t,ag(t),e,r)}),ai=rW(function(e,t,n,r){rB(t,ap(t),e,r)}),aa=or(nP),ac=rf(function(e,t){e=ew(e);var n=-1,o=t.length,i=o>2?t[2]:r;for(i&&oA(t[0],t[1],i)&&(o=1);++n<o;)for(var a=t[n],c=ag(a),l=-1,s=c.length;++l<s;){var u=c[l],f=e[u];(r===f||iF(f,e$[u])&&!eP.call(e,u))&&(e[u]=a[u])}return e}),al=rf(function(e){return e.push(r,oe),tc(am,r,e)});function as(e,t,n){var o=null==e?r:nK(e,t);return r===o?n:o}function au(e,t){return null!=e&&ov(e,t,n0)}var af=rZ(function(e,t,n){null!=t&&\"function\"!=typeof t.toString&&(t=eI.call(t)),e[t]=n},aR(aH)),ad=rZ(function(e,t,n){null!=t&&\"function\"!=typeof t.toString&&(t=eI.call(t)),eP.call(e,t)?e[t].push(n):e[t]=[n]},os),ah=rf(n2);function ap(e){return iL(e)?nk(e):n9(e)}function ag(e){return iL(e)?nk(e,!0):function(e){if(!iG(e)){var t=e,n=[];if(null!=t)for(var r in ew(t))n.push(r);return n}var o=ok(e),i=[];for(var a in e)\"constructor\"==a&&(o||!eP.call(e,a))||i.push(a);return i}(e)}var av=rW(function(e,t,n){rr(e,t,n)}),am=rW(function(e,t,n,r){rr(e,t,n,r)}),ay=or(function(e,t){var n={};if(null==e)return n;var r=!1;t=tp(t,function(t){return t=rM(t,e),r||(r=t.length>1),t}),rB(e,oi(e),n),r&&(n=nT(n,7,ot));for(var o=t.length;o--;)rw(n,t[o]);return n}),ab=or(function(e,t){return null==e?{}:ra(e,t,function(t,n){return au(e,n)})});function aA(e,t){if(null==e)return{};var n=tp(oi(e),function(e){return[e]});return t=os(t),ra(e,n,function(e,n){return t(e,n[0])})}var ax=r8(ap),aC=r8(ag);function aw(e){return null==e?[]:tF(e,ap(e))}var ak=rG(function(e,t,n){return t=t.toLowerCase(),e+(n?aS(t):t)});function aS(e){return aF(at(e).toLowerCase())}function aE(e){return(e=at(e))&&e.replace(eh,tR).replace(eq,\"\")}var aO=rG(function(e,t,n){return e+(n?\"-\":\"\")+t.toLowerCase()}),a_=rG(function(e,t,n){return e+(n?\" \":\"\")+t.toLowerCase()}),a$=rU(\"toLowerCase\"),aj=rG(function(e,t,n){return e+(n?\"_\":\"\")+t.toLowerCase()}),aM=rG(function(e,t,n){return e+(n?\" \":\"\")+aF(t)}),aP=rG(function(e,t,n){return e+(n?\" \":\"\")+t.toUpperCase()}),aF=rU(\"toUpperCase\");function aT(e,t,n){if(e=at(e),t=n?r:t,r===t){var o;return(o=e,eK.test(o))?e.match(eG)||[]:e.match(er)||[]}return e.match(t)||[]}var aI=rf(function(e,t){try{return tc(e,r,t)}catch(e){return iW(e)?e:new eA(e)}}),aN=or(function(e,t){return ts(t,function(t){nM(e,t=oN(t),iA(e[t],e))}),e});function aR(e){return function(){return e}}var az=rQ(),aL=rQ(!0);function aH(e){return e}function aB(e){return n8(\"function\"==typeof e?e:nT(e,1))}var aD=rf(function(e,t){return function(n){return n2(n,e,t)}}),aW=rf(function(e,t){return function(n){return n2(e,n,t)}});function aV(e,t,n){var r=ap(t),o=nX(t,r);null!=n||iG(t)&&(o.length||!r.length)||(n=t,t=e,e=this,o=nX(t,ap(t)));var i=!(iG(n)&&\"chain\"in n)||!!n.chain,a=iV(e);return ts(o,function(n){var r=t[n];e[n]=r,a&&(e.prototype[n]=function(){var t=this.__chain__;if(i||t){var n=e(this.__wrapped__);return(n.__actions__=rH(this.__actions__)).push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,tg([this.value()],arguments))})}),e}function aq(){}var aU=r0(tp),aG=r0(tu),aX=r0(ty);function aK(e){return ox(e)?tE(oN(e)):function(t){return nK(t,e)}}var aQ=r2(),aY=r2(!0);function aZ(){return[]}function aJ(){return!1}var a0=rJ(function(e,t){return e+t},0),a1=r6(\"ceil\"),a2=rJ(function(e,t){return e/t},1),a5=r6(\"floor\"),a4=rJ(function(e,t){return e*t},1),a6=r6(\"round\"),a3=rJ(function(e,t){return e-t},0);return np.after=function(e,t){if(\"function\"!=typeof t)throw new eE(o);return e=i8(e),function(){if(--e<1)return t.apply(this,arguments)}},np.ary=iy,np.assign=an,np.assignIn=ar,np.assignInWith=ao,np.assignWith=ai,np.at=aa,np.before=ib,np.bind=iA,np.bindAll=aN,np.bindKey=ix,np.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return iR(e)?e:[e]},np.chain=it,np.chunk=function(e,t,n){t=(n?oA(e,t,n):r===t)?1:t2(i8(t),0);var o=null==e?0:e.length;if(!o||t<1)return[];for(var i=0,a=0,c=ey(tO(o/t));i<o;)c[a++]=rg(e,i,i+=t);return c},np.compact=function(e){for(var t=-1,n=null==e?0:e.length,r=0,o=[];++t<n;){var i=e[t];i&&(o[r++]=i)}return o},np.concat=function(){var e=arguments.length;if(!e)return[];for(var t=ey(e-1),n=arguments[0],r=e;r--;)t[r-1]=arguments[r];return tg(iR(n)?rH(n):[n],nW(t,1))},np.cond=function(e){var t=null==e?0:e.length,n=os();return e=t?tp(e,function(e){if(\"function\"!=typeof e[1])throw new eE(o);return[n(e[0]),e[1]]}):[],rf(function(n){for(var r=-1;++r<t;){var o=e[r];if(tc(o[0],this,n))return tc(o[1],this,n)}})},np.conforms=function(e){var t,n;return n=ap(t=nT(e,1)),function(e){return nI(e,t,n)}},np.constant=aR,np.countBy=ii,np.create=function(e,t){var n=ng(e);return null==t?n:nj(n,t)},np.curry=iC,np.curryRight=iw,np.debounce=ik,np.defaults=ac,np.defaultsDeep=al,np.defer=iS,np.delay=iE,np.difference=oL,np.differenceBy=oH,np.differenceWith=oB,np.drop=function(e,t,n){var o=null==e?0:e.length;return o?rg(e,(t=n||r===t?1:i8(t))<0?0:t,o):[]},np.dropRight=function(e,t,n){var o=null==e?0:e.length;return o?rg(e,0,(t=o-(t=n||r===t?1:i8(t)))<0?0:t):[]},np.dropRightWhile=function(e,t){return e&&e.length?rS(e,os(t,3),!0,!0):[]},np.dropWhile=function(e,t){return e&&e.length?rS(e,os(t,3),!0):[]},np.fill=function(e,t,n,o){var i=null==e?0:e.length;if(!i)return[];n&&\"number\"!=typeof n&&oA(e,t,n)&&(n=0,o=i);var a=n,c=o,l=e.length;for((a=i8(a))<0&&(a=-a>l?0:l+a),(c=r===c||c>l?l:i8(c))<0&&(c+=l),c=a>c?0:i9(c);a<c;)e[a++]=t;return e},np.filter=function(e,t){return(iR(e)?tf:nD)(e,os(t,3))},np.flatMap=function(e,t){return nW(ip(e,t),1)},np.flatMapDeep=function(e,t){return nW(ip(e,t),c)},np.flatMapDepth=function(e,t,n){return n=r===n?1:i8(n),nW(ip(e,t),n)},np.flatten=oV,np.flattenDeep=function(e){return(null==e?0:e.length)?nW(e,c):[]},np.flattenDepth=function(e,t){return(null==e?0:e.length)?nW(e,t=r===t?1:i8(t)):[]},np.flip=function(e){return r9(e,512)},np.flow=az,np.flowRight=aL,np.fromPairs=function(e){for(var t=-1,n=null==e?0:e.length,r={};++t<n;){var o=e[t];r[o[0]]=o[1]}return r},np.functions=function(e){return null==e?[]:nX(e,ap(e))},np.functionsIn=function(e){return null==e?[]:nX(e,ag(e))},np.groupBy=iu,np.initial=function(e){return(null==e?0:e.length)?rg(e,0,-1):[]},np.intersection=oU,np.intersectionBy=oG,np.intersectionWith=oX,np.invert=af,np.invertBy=ad,np.invokeMap=id,np.iteratee=aB,np.keyBy=ih,np.keys=ap,np.keysIn=ag,np.map=ip,np.mapKeys=function(e,t){var n={};return t=os(t,3),nU(e,function(e,r,o){nM(n,t(e,r,o),e)}),n},np.mapValues=function(e,t){var n={};return t=os(t,3),nU(e,function(e,r,o){nM(n,r,t(e,r,o))}),n},np.matches=function(e){return rt(nT(e,1))},np.matchesProperty=function(e,t){return rn(e,nT(t,1))},np.memoize=iO,np.merge=av,np.mergeWith=am,np.method=aD,np.methodOf=aW,np.mixin=aV,np.negate=i_,np.nthArg=function(e){return e=i8(e),rf(function(t){return ro(t,e)})},np.omit=ay,np.omitBy=function(e,t){return aA(e,i_(os(t)))},np.once=function(e){return ib(2,e)},np.orderBy=function(e,t,n,o){return null==e?[]:(iR(t)||(t=null==t?[]:[t]),iR(n=o?r:n)||(n=null==n?[]:[n]),ri(e,t,n))},np.over=aU,np.overArgs=i$,np.overEvery=aG,np.overSome=aX,np.partial=ij,np.partialRight=iM,np.partition=ig,np.pick=ab,np.pickBy=aA,np.property=aK,np.propertyOf=function(e){return function(t){return null==e?r:nK(e,t)}},np.pull=oQ,np.pullAll=oY,np.pullAllBy=function(e,t,n){return e&&e.length&&t&&t.length?rc(e,t,os(n,2)):e},np.pullAllWith=function(e,t,n){return e&&e.length&&t&&t.length?rc(e,t,r,n):e},np.pullAt=oZ,np.range=aQ,np.rangeRight=aY,np.rearg=iP,np.reject=function(e,t){return(iR(e)?tf:nD)(e,i_(os(t,3)))},np.remove=function(e,t){var n=[];if(!(e&&e.length))return n;var r=-1,o=[],i=e.length;for(t=os(t,3);++r<i;){var a=e[r];t(a,r,e)&&(n.push(a),o.push(r))}return rl(e,o),n},np.rest=function(e,t){if(\"function\"!=typeof e)throw new eE(o);return rf(e,t=r===t?t:i8(t))},np.reverse=oJ,np.sampleSize=function(e,t,n){return t=(n?oA(e,t,n):r===t)?1:i8(t),(iR(e)?function(e,t){return oT(rH(e),nF(t,0,e.length))}:function(e,t){var n=aw(e);return oT(n,nF(t,0,n.length))})(e,t)},np.set=function(e,t,n){return null==e?e:rd(e,t,n)},np.setWith=function(e,t,n,o){return o=\"function\"==typeof o?o:r,null==e?e:rd(e,t,n,o)},np.shuffle=function(e){return(iR(e)?function(e){return oT(rH(e))}:function(e){return oT(aw(e))})(e)},np.slice=function(e,t,n){var o=null==e?0:e.length;return o?(n&&\"number\"!=typeof n&&oA(e,t,n)?(t=0,n=o):(t=null==t?0:i8(t),n=r===n?o:i8(n)),rg(e,t,n)):[]},np.sortBy=iv,np.sortedUniq=function(e){return e&&e.length?rb(e):[]},np.sortedUniqBy=function(e,t){return e&&e.length?rb(e,os(t,2)):[]},np.split=function(e,t,n){return(n&&\"number\"!=typeof n&&oA(e,t,n)&&(t=n=r),n=r===n?0xffffffff:n>>>0)?(e=at(e))&&(\"string\"==typeof t||null!=t&&!iZ(t))&&!(t=rx(t))&&tH(e)?rP(tU(e),0,n):e.split(t,n):[]},np.spread=function(e,t){if(\"function\"!=typeof e)throw new eE(o);return t=null==t?0:t2(i8(t),0),rf(function(n){var r=n[t],o=rP(n,0,t);return r&&tg(o,r),tc(e,this,o)})},np.tail=function(e){var t=null==e?0:e.length;return t?rg(e,1,t):[]},np.take=function(e,t,n){return e&&e.length?rg(e,0,(t=n||r===t?1:i8(t))<0?0:t):[]},np.takeRight=function(e,t,n){var o=null==e?0:e.length;return o?rg(e,(t=o-(t=n||r===t?1:i8(t)))<0?0:t,o):[]},np.takeRightWhile=function(e,t){return e&&e.length?rS(e,os(t,3),!1,!0):[]},np.takeWhile=function(e,t){return e&&e.length?rS(e,os(t,3)):[]},np.tap=function(e,t){return t(e),e},np.throttle=function(e,t,n){var r=!0,i=!0;if(\"function\"!=typeof e)throw new eE(o);return iG(n)&&(r=\"leading\"in n?!!n.leading:r,i=\"trailing\"in n?!!n.trailing:i),ik(e,t,{leading:r,maxWait:t,trailing:i})},np.thru=ir,np.toArray=i6,np.toPairs=ax,np.toPairsIn=aC,np.toPath=function(e){return iR(e)?tp(e,oN):i1(e)?[e]:rH(oI(at(e)))},np.toPlainObject=ae,np.transform=function(e,t,n){var r=iR(e),o=r||iB(e)||i2(e);if(t=os(t,4),null==n){var i=e&&e.constructor;n=o?r?new i:[]:iG(e)&&iV(i)?ng(eW(e)):{}}return(o?ts:nU)(e,function(e,r,o){return t(n,e,r,o)}),n},np.unary=function(e){return iy(e,1)},np.union=o0,np.unionBy=o1,np.unionWith=o2,np.uniq=function(e){return e&&e.length?rC(e):[]},np.uniqBy=function(e,t){return e&&e.length?rC(e,os(t,2)):[]},np.uniqWith=function(e,t){return t=\"function\"==typeof t?t:r,e&&e.length?rC(e,r,t):[]},np.unset=function(e,t){return null==e||rw(e,t)},np.unzip=o5,np.unzipWith=o4,np.update=function(e,t,n){return null==e?e:rk(e,t,rj(n))},np.updateWith=function(e,t,n,o){return o=\"function\"==typeof o?o:r,null==e?e:rk(e,t,rj(n),o)},np.values=aw,np.valuesIn=function(e){return null==e?[]:tF(e,ag(e))},np.without=o6,np.words=aT,np.wrap=function(e,t){return ij(rj(t),e)},np.xor=o3,np.xorBy=o8,np.xorWith=o9,np.zip=o7,np.zipObject=function(e,t){return r_(e||[],t||[],nO)},np.zipObjectDeep=function(e,t){return r_(e||[],t||[],rd)},np.zipWith=ie,np.entries=ax,np.entriesIn=aC,np.extend=ar,np.extendWith=ao,aV(np,np),np.add=a0,np.attempt=aI,np.camelCase=ak,np.capitalize=aS,np.ceil=a1,np.clamp=function(e,t,n){return r===n&&(n=t,t=r),r!==n&&(n=(n=i7(n))==n?n:0),r!==t&&(t=(t=i7(t))==t?t:0),nF(i7(e),t,n)},np.clone=function(e){return nT(e,4)},np.cloneDeep=function(e){return nT(e,5)},np.cloneDeepWith=function(e,t){return nT(e,5,t=\"function\"==typeof t?t:r)},np.cloneWith=function(e,t){return nT(e,4,t=\"function\"==typeof t?t:r)},np.conformsTo=function(e,t){return null==t||nI(e,t,ap(t))},np.deburr=aE,np.defaultTo=function(e,t){return null==e||e!=e?t:e},np.divide=a2,np.endsWith=function(e,t,n){e=at(e),t=rx(t);var o=e.length,i=n=r===n?o:nF(i8(n),0,o);return(n-=t.length)>=0&&e.slice(n,i)==t},np.eq=iF,np.escape=function(e){return(e=at(e))&&W.test(e)?e.replace(B,tz):e},np.escapeRegExp=function(e){return(e=at(e))&&Y.test(e)?e.replace(Q,\"\\\\$&\"):e},np.every=function(e,t,n){var o=iR(e)?tu:nH;return n&&oA(e,t,n)&&(t=r),o(e,os(t,3))},np.find=ia,np.findIndex=oD,np.findKey=function(e,t){return tA(e,os(t,3),nU)},np.findLast=ic,np.findLastIndex=oW,np.findLastKey=function(e,t){return tA(e,os(t,3),nG)},np.floor=a5,np.forEach=il,np.forEachRight=is,np.forIn=function(e,t){return null==e?e:nV(e,os(t,3),ag)},np.forInRight=function(e,t){return null==e?e:nq(e,os(t,3),ag)},np.forOwn=function(e,t){return e&&nU(e,os(t,3))},np.forOwnRight=function(e,t){return e&&nG(e,os(t,3))},np.get=as,np.gt=iT,np.gte=iI,np.has=function(e,t){return null!=e&&ov(e,t,nJ)},np.hasIn=au,np.head=oq,np.identity=aH,np.includes=function(e,t,n,r){e=iL(e)?e:aw(e),n=n&&!r?i8(n):0;var o=e.length;return n<0&&(n=t2(o+n,0)),i0(e)?n<=o&&e.indexOf(t,n)>-1:!!o&&tC(e,t,n)>-1},np.indexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return -1;var o=null==n?0:i8(n);return o<0&&(o=t2(r+o,0)),tC(e,t,o)},np.inRange=function(e,t,n){var o,i,a;return t=i3(t),r===n?(n=t,t=0):n=i3(n),(o=e=i7(e))>=t5(i=t,a=n)&&o<t2(i,a)},np.invoke=ah,np.isArguments=iN,np.isArray=iR,np.isArrayBuffer=iz,np.isArrayLike=iL,np.isArrayLikeObject=iH,np.isBoolean=function(e){return!0===e||!1===e||iX(e)&&nY(e)==d},np.isBuffer=iB,np.isDate=iD,np.isElement=function(e){return iX(e)&&1===e.nodeType&&!iY(e)},np.isEmpty=function(e){if(null==e)return!0;if(iL(e)&&(iR(e)||\"string\"==typeof e||\"function\"==typeof e.splice||iB(e)||i2(e)||iN(e)))return!e.length;var t=og(e);if(t==m||t==C)return!e.size;if(ok(e))return!n9(e).length;for(var n in e)if(eP.call(e,n))return!1;return!0},np.isEqual=function(e,t){return n4(e,t)},np.isEqualWith=function(e,t,n){var o=(n=\"function\"==typeof n?n:r)?n(e,t):r;return r===o?n4(e,t,r,n):!!o},np.isError=iW,np.isFinite=function(e){return\"number\"==typeof e&&tJ(e)},np.isFunction=iV,np.isInteger=iq,np.isLength=iU,np.isMap=iK,np.isMatch=function(e,t){return e===t||n6(e,t,of(t))},np.isMatchWith=function(e,t,n){return n=\"function\"==typeof n?n:r,n6(e,t,of(t),n)},np.isNaN=function(e){return iQ(e)&&e!=+e},np.isNative=function(e){if(ow(e))throw new eA(\"Unsupported core-js use. Try https://npms.io/search?q=ponyfill.\");return n3(e)},np.isNil=function(e){return null==e},np.isNull=function(e){return null===e},np.isNumber=iQ,np.isObject=iG,np.isObjectLike=iX,np.isPlainObject=iY,np.isRegExp=iZ,np.isSafeInteger=function(e){return iq(e)&&e>=-0x1fffffffffffff&&e<=0x1fffffffffffff},np.isSet=iJ,np.isString=i0,np.isSymbol=i1,np.isTypedArray=i2,np.isUndefined=function(e){return r===e},np.isWeakMap=function(e){return iX(e)&&og(e)==S},np.isWeakSet=function(e){return iX(e)&&\"[object WeakSet]\"==nY(e)},np.join=function(e,t){return null==e?\"\":t0.call(e,t)},np.kebabCase=aO,np.last=oK,np.lastIndexOf=function(e,t,n){var o=null==e?0:e.length;if(!o)return -1;var i=o;return r!==n&&(i=(i=i8(n))<0?t2(o+i,0):t5(i,o-1)),t==t?function(e,t,n){for(var r=n+1;r--&&e[r]!==t;);return r}(e,t,i):tx(e,tk,i,!0)},np.lowerCase=a_,np.lowerFirst=a$,np.lt=i5,np.lte=i4,np.max=function(e){return e&&e.length?nB(e,aH,nZ):r},np.maxBy=function(e,t){return e&&e.length?nB(e,os(t,2),nZ):r},np.mean=function(e){return tS(e,aH)},np.meanBy=function(e,t){return tS(e,os(t,2))},np.min=function(e){return e&&e.length?nB(e,aH,n7):r},np.minBy=function(e,t){return e&&e.length?nB(e,os(t,2),n7):r},np.stubArray=aZ,np.stubFalse=aJ,np.stubObject=function(){return{}},np.stubString=function(){return\"\"},np.stubTrue=function(){return!0},np.multiply=a4,np.nth=function(e,t){return e&&e.length?ro(e,i8(t)):r},np.noConflict=function(){return e6._===this&&(e6._=eR),this},np.noop=aq,np.now=im,np.pad=function(e,t,n){e=at(e);var r=(t=i8(t))?tq(e):0;if(!t||r>=t)return e;var o=(t-r)/2;return r1(tQ(o),n)+e+r1(tO(o),n)},np.padEnd=function(e,t,n){e=at(e);var r=(t=i8(t))?tq(e):0;return t&&r<t?e+r1(t-r,n):e},np.padStart=function(e,t,n){e=at(e);var r=(t=i8(t))?tq(e):0;return t&&r<t?r1(t-r,n)+e:e},np.parseInt=function(e,t,n){return n||null==t?t=0:t&&(t*=1),t6(at(e).replace(Z,\"\"),t||0)},np.random=function(e,t,n){if(n&&\"boolean\"!=typeof n&&oA(e,t,n)&&(t=n=r),r===n&&(\"boolean\"==typeof t?(n=t,t=r):\"boolean\"==typeof e&&(n=e,e=r)),r===e&&r===t?(e=0,t=1):(e=i3(e),r===t?(t=e,e=0):t=i3(t)),e>t){var o=e;e=t,t=o}if(n||e%1||t%1){var i=t3();return t5(e+i*(t-e+e1(\"1e-\"+((i+\"\").length-1))),t)}return rs(e,t)},np.reduce=function(e,t,n){var r=iR(e)?tv:t_,o=arguments.length<3;return r(e,os(t,4),n,o,nz)},np.reduceRight=function(e,t,n){var r=iR(e)?tm:t_,o=arguments.length<3;return r(e,os(t,4),n,o,nL)},np.repeat=function(e,t,n){return t=(n?oA(e,t,n):r===t)?1:i8(t),ru(at(e),t)},np.replace=function(){var e=arguments,t=at(e[0]);return e.length<3?t:t.replace(e[1],e[2])},np.result=function(e,t,n){t=rM(t,e);var o=-1,i=t.length;for(i||(i=1,e=r);++o<i;){var a=null==e?r:e[oN(t[o])];r===a&&(o=i,a=n),e=iV(a)?a.call(e):a}return e},np.round=a6,np.runInContext=e,np.sample=function(e){return(iR(e)?nS:function(e){return nS(aw(e))})(e)},np.size=function(e){if(null==e)return 0;if(iL(e))return i0(e)?tq(e):e.length;var t=og(e);return t==m||t==C?e.size:n9(e).length},np.snakeCase=aj,np.some=function(e,t,n){var o=iR(e)?ty:rv;return n&&oA(e,t,n)&&(t=r),o(e,os(t,3))},np.sortedIndex=function(e,t){return rm(e,t)},np.sortedIndexBy=function(e,t,n){return ry(e,t,os(n,2))},np.sortedIndexOf=function(e,t){var n=null==e?0:e.length;if(n){var r=rm(e,t);if(r<n&&iF(e[r],t))return r}return -1},np.sortedLastIndex=function(e,t){return rm(e,t,!0)},np.sortedLastIndexBy=function(e,t,n){return ry(e,t,os(n,2),!0)},np.sortedLastIndexOf=function(e,t){if(null==e?0:e.length){var n=rm(e,t,!0)-1;if(iF(e[n],t))return n}return -1},np.startCase=aM,np.startsWith=function(e,t,n){return e=at(e),n=null==n?0:nF(i8(n),0,e.length),t=rx(t),e.slice(n,n+t.length)==t},np.subtract=a3,np.sum=function(e){return e&&e.length?t$(e,aH):0},np.sumBy=function(e,t){return e&&e.length?t$(e,os(t,2)):0},np.template=function(e,t,n){var o=np.templateSettings;n&&oA(e,t,n)&&(t=r),e=at(e),t=ao({},t,o,r7);var i,a,c=ao({},t.imports,o.imports,r7),l=ap(c),s=tF(c,l),u=0,f=t.interpolate||ep,d=\"__p += '\",h=ek((t.escape||ep).source+\"|\"+f.source+\"|\"+(f===U?ea:ep).source+\"|\"+(t.evaluate||ep).source+\"|$\",\"g\"),p=\"//# sourceURL=\"+(eP.call(t,\"sourceURL\")?(t.sourceURL+\"\").replace(/\\s/g,\" \"):\"lodash.templateSources[\"+ ++eY+\"]\")+\"\\n\";e.replace(h,function(t,n,r,o,c,l){return r||(r=o),d+=e.slice(u,l).replace(eg,tL),n&&(i=!0,d+=\"' +\\n__e(\"+n+\") +\\n'\"),c&&(a=!0,d+=\"';\\n\"+c+\";\\n__p += '\"),r&&(d+=\"' +\\n((__t = (\"+r+\")) == null ? '' : __t) +\\n'\"),u=l+t.length,t}),d+=\"';\\n\";var g=eP.call(t,\"variable\")&&t.variable;if(g){if(eo.test(g))throw new eA(\"Invalid `variable` option passed into `_.template`\")}else d=\"with (obj) {\\n\"+d+\"\\n}\\n\";d=(a?d.replace(R,\"\"):d).replace(z,\"$1\").replace(L,\"$1;\"),d=\"function(\"+(g||\"obj\")+\") {\\n\"+(g?\"\":\"obj || (obj = {});\\n\")+\"var __t, __p = ''\"+(i?\", __e = _.escape\":\"\")+(a?\", __j = Array.prototype.join;\\nfunction print() { __p += __j.call(arguments, '') }\\n\":\";\\n\")+d+\"return __p\\n}\";var v=aI(function(){return ex(l,p+\"return \"+d).apply(r,s)});if(v.source=d,iW(v))throw v;return v},np.times=function(e,t){if((e=i8(e))<1||e>0x1fffffffffffff)return[];var n=0xffffffff,r=t5(e,0xffffffff);t=os(t),e-=0xffffffff;for(var o=tj(r,t);++n<e;)t(n);return o},np.toFinite=i3,np.toInteger=i8,np.toLength=i9,np.toLower=function(e){return at(e).toLowerCase()},np.toNumber=i7,np.toSafeInteger=function(e){return e?nF(i8(e),-0x1fffffffffffff,0x1fffffffffffff):0===e?e:0},np.toString=at,np.toUpper=function(e){return at(e).toUpperCase()},np.trim=function(e,t,n){if((e=at(e))&&(n||r===t))return tM(e);if(!e||!(t=rx(t)))return e;var o=tU(e),i=tU(t),a=tI(o,i),c=tN(o,i)+1;return rP(o,a,c).join(\"\")},np.trimEnd=function(e,t,n){if((e=at(e))&&(n||r===t))return e.slice(0,tG(e)+1);if(!e||!(t=rx(t)))return e;var o=tU(e),i=tN(o,tU(t))+1;return rP(o,0,i).join(\"\")},np.trimStart=function(e,t,n){if((e=at(e))&&(n||r===t))return e.replace(Z,\"\");if(!e||!(t=rx(t)))return e;var o=tU(e),i=tI(o,tU(t));return rP(o,i).join(\"\")},np.truncate=function(e,t){var n=30,o=\"...\";if(iG(t)){var i=\"separator\"in t?t.separator:i;n=\"length\"in t?i8(t.length):n,o=\"omission\"in t?rx(t.omission):o}var a=(e=at(e)).length;if(tH(e)){var c=tU(e);a=c.length}if(n>=a)return e;var l=n-tq(o);if(l<1)return o;var s=c?rP(c,0,l).join(\"\"):e.slice(0,l);if(r===i)return s+o;if(c&&(l+=s.length-l),iZ(i)){if(e.slice(l).search(i)){var u,f=s;for(i.global||(i=ek(i.source,at(ec.exec(i))+\"g\")),i.lastIndex=0;u=i.exec(f);)var d=u.index;s=s.slice(0,r===d?l:d)}}else if(e.indexOf(rx(i),l)!=l){var h=s.lastIndexOf(i);h>-1&&(s=s.slice(0,h))}return s+o},np.unescape=function(e){return(e=at(e))&&D.test(e)?e.replace(H,tX):e},np.uniqueId=function(e){var t=++eF;return at(e)+t},np.upperCase=aP,np.upperFirst=aF,np.each=il,np.eachRight=is,np.first=oq,aV(np,(em={},nU(np,function(e,t){eP.call(np.prototype,t)||(em[t]=e)}),em),{chain:!1}),np.VERSION=\"4.17.23\",ts([\"bind\",\"bindKey\",\"curry\",\"curryRight\",\"partial\",\"partialRight\"],function(e){np[e].placeholder=np}),ts([\"drop\",\"take\"],function(e,t){ny.prototype[e]=function(n){n=r===n?1:t2(i8(n),0);var o=this.__filtered__&&!t?new ny(this):this.clone();return o.__filtered__?o.__takeCount__=t5(n,o.__takeCount__):o.__views__.push({size:t5(n,0xffffffff),type:e+(o.__dir__<0?\"Right\":\"\")}),o},ny.prototype[e+\"Right\"]=function(t){return this.reverse()[e](t).reverse()}}),ts([\"filter\",\"map\",\"takeWhile\"],function(e,t){var n=t+1,r=1==n||3==n;ny.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:os(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}}),ts([\"head\",\"last\"],function(e,t){var n=\"take\"+(t?\"Right\":\"\");ny.prototype[e]=function(){return this[n](1).value()[0]}}),ts([\"initial\",\"tail\"],function(e,t){var n=\"drop\"+(t?\"\":\"Right\");ny.prototype[e]=function(){return this.__filtered__?new ny(this):this[n](1)}}),ny.prototype.compact=function(){return this.filter(aH)},ny.prototype.find=function(e){return this.filter(e).head()},ny.prototype.findLast=function(e){return this.reverse().find(e)},ny.prototype.invokeMap=rf(function(e,t){return\"function\"==typeof e?new ny(this):this.map(function(n){return n2(n,e,t)})}),ny.prototype.reject=function(e){return this.filter(i_(os(e)))},ny.prototype.slice=function(e,t){e=i8(e);var n=this;return n.__filtered__&&(e>0||t<0)?new ny(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),r!==t&&(n=(t=i8(t))<0?n.dropRight(-t):n.take(t-e)),n)},ny.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},ny.prototype.toArray=function(){return this.take(0xffffffff)},nU(ny.prototype,function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),o=/^(?:head|last)$/.test(t),i=np[o?\"take\"+(\"last\"==t?\"Right\":\"\"):t],a=o||/^find/.test(t);i&&(np.prototype[t]=function(){var t=this.__wrapped__,c=o?[1]:arguments,l=t instanceof ny,s=c[0],u=l||iR(t),f=function(e){var t=i.apply(np,tg([e],c));return o&&d?t[0]:t};u&&n&&\"function\"==typeof s&&1!=s.length&&(l=u=!1);var d=this.__chain__,h=!!this.__actions__.length,p=a&&!d,g=l&&!h;if(!a&&u){t=g?t:new ny(this);var v=e.apply(t,c);return v.__actions__.push({func:ir,args:[f],thisArg:r}),new nm(v,d)}return p&&g?e.apply(this,c):(v=this.thru(f),p?o?v.value()[0]:v.value():v)})}),ts([\"pop\",\"push\",\"shift\",\"sort\",\"splice\",\"unshift\"],function(e){var t=eO[e],n=/^(?:push|sort|unshift)$/.test(e)?\"tap\":\"thru\",r=/^(?:pop|shift)$/.test(e);np.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var o=this.value();return t.apply(iR(o)?o:[],e)}return this[n](function(n){return t.apply(iR(n)?n:[],e)})}}),nU(ny.prototype,function(e,t){var n=np[t];if(n){var r=n.name+\"\";eP.call(ni,r)||(ni[r]=[]),ni[r].push({name:t,func:n})}}),ni[rY(r,2).name]=[{name:\"wrapper\",func:r}],ny.prototype.clone=function(){var e=new ny(this.__wrapped__);return e.__actions__=rH(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=rH(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=rH(this.__views__),e},ny.prototype.reverse=function(){if(this.__filtered__){var e=new ny(this);e.__dir__=-1,e.__filtered__=!0}else e=this.clone(),e.__dir__*=-1;return e},ny.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=iR(e),r=t<0,o=n?e.length:0,i=function(e,t,n){for(var r=-1,o=n.length;++r<o;){var i=n[r],a=i.size;switch(i.type){case\"drop\":e+=a;break;case\"dropRight\":t-=a;break;case\"take\":t=t5(t,e+a);break;case\"takeRight\":e=t2(e,t-a)}}return{start:e,end:t}}(0,o,this.__views__),a=i.start,c=i.end,l=c-a,s=r?c:a-1,u=this.__iteratees__,f=u.length,d=0,h=t5(l,this.__takeCount__);if(!n||!r&&o==l&&h==l)return rE(e,this.__actions__);var p=[];e:for(;l--&&d<h;){for(var g=-1,v=e[s+=t];++g<f;){var m=u[g],y=m.iteratee,b=m.type,A=y(v);if(2==b)v=A;else if(!A)if(1==b)continue e;else break e}p[d++]=v}return p},np.prototype.at=io,np.prototype.chain=function(){return it(this)},np.prototype.commit=function(){return new nm(this.value(),this.__chain__)},np.prototype.next=function(){this.__values__===r&&(this.__values__=i6(this.value()));var e=this.__index__>=this.__values__.length,t=e?r:this.__values__[this.__index__++];return{done:e,value:t}},np.prototype.plant=function(e){for(var t,n=this;n instanceof nv;){var o=oz(n);o.__index__=0,o.__values__=r,t?i.__wrapped__=o:t=o;var i=o;n=n.__wrapped__}return i.__wrapped__=e,t},np.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof ny){var t=e;return this.__actions__.length&&(t=new ny(this)),(t=t.reverse()).__actions__.push({func:ir,args:[oJ],thisArg:r}),new nm(t,this.__chain__)}return this.thru(oJ)},np.prototype.toJSON=np.prototype.valueOf=np.prototype.value=function(){return rE(this.__wrapped__,this.__actions__)},np.prototype.first=np.prototype.head,e4&&(np.prototype[e4]=function(){return this}),np}();\"function\"==typeof define&&\"object\"==typeof define.amd&&define.amd?(e6._=tK,define(function(){return tK})):e8?((e8.exports=tK)._=tK,e3._=tK):e6._=tK}).call(this)},7839(e,t,n){\"use strict\";n.d(t,{Kq:()=>w,aF:()=>ey,Ay:()=>eb});var r,o,i,a,c,l=n(4467),s=n(9379),u=n(7046),f=n(2284),d=n(6942),h=n.n(d),p=n(2812),g=n.n(p),v=n(4646),m=n.n(v);function y(e){return e instanceof HTMLElement||e instanceof SVGElement}var b=n(8719),A=n(1697),x=[\"children\"],C=p.createContext({});function w(e){var t=e.children,n=(0,A.A)(e,x);return p.createElement(C.Provider,{value:n},t)}var k=n(3029),S=n(2901),E=n(5501),O=n(6903),_=function(e){(0,E.A)(n,e);var t=(0,O.A)(n);function n(){return(0,k.A)(this,n),t.apply(this,arguments)}return(0,S.A)(n,[{key:\"render\",value:function(){return this.props.children}}]),n}(p.Component),$=n(1470),j=n(1233),M=n(6956),P=\"none\",F=\"appear\",T=\"enter\",I=\"leave\",N=\"none\",R=\"prepare\",z=\"start\",L=\"active\",H=\"prepared\",B=n(998);function D(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[\"Webkit\".concat(e)]=\"webkit\".concat(t),n[\"Moz\".concat(e)]=\"moz\".concat(t),n[\"ms\".concat(e)]=\"MS\".concat(t),n[\"O\".concat(e)]=\"o\".concat(t.toLowerCase()),n}var W=(r=(0,B.A)(),o=\"u\">typeof window?window:{},i={animationend:D(\"Animation\",\"AnimationEnd\"),transitionend:D(\"Transition\",\"TransitionEnd\")},r&&(\"AnimationEvent\"in o||delete i.animationend.animation,\"TransitionEvent\"in o||delete i.transitionend.transition),i),V={};(0,B.A)()&&(V=document.createElement(\"div\").style);var q={};function U(e){if(q[e])return q[e];var t=W[e];if(t)for(var n=Object.keys(t),r=n.length,o=0;o<r;o+=1){var i=n[o];if(Object.prototype.hasOwnProperty.call(t,i)&&i in V)return q[e]=t[i],q[e]}return\"\"}var G=U(\"animationend\"),X=U(\"transitionend\"),K=!!(G&&X),Q=G||\"animationend\",Y=X||\"transitionend\";function Z(e,t){return e?\"object\"===(0,f.A)(e)?e[t.replace(/-\\w/g,function(e){return e[1].toUpperCase()})]:\"\".concat(e,\"-\").concat(t):null}let J=function(e){var t=(0,p.useRef)();function n(t){t&&(t.removeEventListener(Y,e),t.removeEventListener(Q,e))}return p.useEffect(function(){return function(){n(t.current)}},[]),[function(r){t.current&&t.current!==r&&n(t.current),r&&r!==t.current&&(r.addEventListener(Y,e),r.addEventListener(Q,e),t.current=r)},n]};var ee=(0,B.A)()?p.useLayoutEffect:p.useEffect,et=n(5371);let en=function(){var e=p.useRef(null);function t(){et.A.cancel(e.current)}return p.useEffect(function(){return function(){t()}},[]),[function n(r){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;t();var i=(0,et.A)(function(){o<=1?r({isCanceled:function(){return i!==e.current}}):n(r,o-1)});e.current=i},t]};var er=[R,z,L,\"end\"],eo=[R,H];function ei(e){return e===L||\"end\"===e}let ea=function(e,t,n){var r=(0,j.A)(N),o=(0,u.A)(r,2),i=o[0],a=o[1],c=en(),l=(0,u.A)(c,2),s=l[0],f=l[1],d=t?eo:er;return ee(function(){if(i!==N&&\"end\"!==i){var e=d.indexOf(i),t=d[e+1],r=n(i);!1===r?a(t,!0):t&&s(function(e){function n(){e.isCanceled()||a(t,!0)}!0===r?n():Promise.resolve(r).then(n)})}},[e,i]),p.useEffect(function(){return function(){f()}},[]),[function(){a(R,!0)},i]},ec=(a=K,\"object\"===(0,f.A)(K)&&(a=K.transitionSupport),(c=p.forwardRef(function(e,t){var n=e.visible,r=void 0===n||n,o=e.removeOnLeave,i=void 0===o||o,c=e.forceRender,d=e.children,v=e.motionName,A=e.leavedClassName,x=e.eventProps,w=p.useContext(C).motion,k=!!(e.motionName&&a&&!1!==w),S=(0,p.useRef)(),E=(0,p.useRef)(),O=function(e,t,n,r){var o,i,a,c=r.motionEnter,f=void 0===c||c,d=r.motionAppear,h=void 0===d||d,g=r.motionLeave,v=void 0===g||g,m=r.motionDeadline,y=r.motionLeaveImmediately,b=r.onAppearPrepare,A=r.onEnterPrepare,x=r.onLeavePrepare,C=r.onAppearStart,w=r.onEnterStart,k=r.onLeaveStart,S=r.onAppearActive,E=r.onEnterActive,O=r.onLeaveActive,_=r.onAppearEnd,N=r.onEnterEnd,B=r.onLeaveEnd,D=r.onVisibleChanged,W=(0,j.A)(),V=(0,u.A)(W,2),q=V[0],U=V[1],G=(o=p.useReducer(function(e){return e+1},0),i=(0,u.A)(o,2)[1],a=p.useRef(P),[(0,M.A)(function(){return a.current}),(0,M.A)(function(e){a.current=\"function\"==typeof e?e(a.current):e,i()})]),X=(0,u.A)(G,2),K=X[0],Q=X[1],Y=(0,j.A)(null),Z=(0,u.A)(Y,2),et=Z[0],en=Z[1],er=K(),eo=(0,p.useRef)(!1),ec=(0,p.useRef)(null),el=(0,p.useRef)(!1);function es(){Q(P),en(null,!0)}var eu=(0,$._q)(function(e){var t,r=K();if(r!==P){var o=n();if(!e||e.deadline||e.target===o){var i=el.current;r===F&&i?t=null==_?void 0:_(o,e):r===T&&i?t=null==N?void 0:N(o,e):r===I&&i&&(t=null==B?void 0:B(o,e)),i&&!1!==t&&es()}}}),ef=J(eu),ed=(0,u.A)(ef,1)[0],eh=function(e){switch(e){case F:return(0,l.A)((0,l.A)((0,l.A)({},R,b),z,C),L,S);case T:return(0,l.A)((0,l.A)((0,l.A)({},R,A),z,w),L,E);case I:return(0,l.A)((0,l.A)((0,l.A)({},R,x),z,k),L,O);default:return{}}},ep=p.useMemo(function(){return eh(er)},[er]),eg=ea(er,!e,function(e){if(e===R){var t,r=ep[R];return!!r&&r(n())}return ey in ep&&en((null==(t=ep[ey])?void 0:t.call(ep,n(),null))||null),ey===L&&er!==P&&(ed(n()),m>0&&(clearTimeout(ec.current),ec.current=setTimeout(function(){eu({deadline:!0})},m))),ey===H&&es(),!0}),ev=(0,u.A)(eg,2),em=ev[0],ey=ev[1];el.current=ei(ey);var eb=(0,p.useRef)(null);ee(function(){if(!eo.current||eb.current!==t){U(t);var n,r=eo.current;eo.current=!0,!r&&t&&h&&(n=F),r&&t&&f&&(n=T),(r&&!t&&v||!r&&y&&!t&&v)&&(n=I);var o=eh(n);n&&(e||o[R])?(Q(n),em()):Q(P),eb.current=t}},[t]),(0,p.useEffect)(function(){(er!==F||h)&&(er!==T||f)&&(er!==I||v)||Q(P)},[h,f,v]),(0,p.useEffect)(function(){return function(){eo.current=!1,clearTimeout(ec.current)}},[]);var eA=p.useRef(!1);(0,p.useEffect)(function(){q&&(eA.current=!0),void 0!==q&&er===P&&((eA.current||q)&&(null==D||D(q)),eA.current=!0)},[q,er]);var ex=et;return ep[R]&&ey===z&&(ex=(0,s.A)({transition:\"none\"},ex)),[er,ey,ex,null!=q?q:t]}(k,r,function(){try{var e,t,n,r;return S.current instanceof HTMLElement?S.current:(r=(t=e=E.current)&&\"object\"===(0,f.A)(t)&&y(t.nativeElement)?t.nativeElement:y(t)?t:null)?r:e instanceof g().Component?null==(n=m().findDOMNode)?void 0:n.call(m(),e):null}catch(e){return null}},e),N=(0,u.A)(O,4),B=N[0],D=N[1],W=N[2],V=N[3],q=p.useRef(V);V&&(q.current=!0);var U=p.useCallback(function(e){S.current=e,(0,b.Xf)(t,e)},[t]),G=(0,s.A)((0,s.A)({},x),{},{visible:r});if(d)if(B===P)X=V?d((0,s.A)({},G),U):!i&&q.current&&A?d((0,s.A)((0,s.A)({},G),{},{className:A}),U):!c&&(i||A)?null:d((0,s.A)((0,s.A)({},G),{},{style:{display:\"none\"}}),U);else{D===R?K=\"prepare\":ei(D)?K=\"active\":D===z&&(K=\"start\");var X,K,Q=Z(v,\"\".concat(B,\"-\").concat(K));X=d((0,s.A)((0,s.A)({},G),{},{className:h()(Z(v,B),(0,l.A)((0,l.A)({},Q,Q&&K),v,\"string\"==typeof v)),style:W}),U)}else X=null;return p.isValidElement(X)&&(0,b.f3)(X)&&((0,b.A9)(X)||(X=p.cloneElement(X,{ref:U}))),p.createElement(_,{ref:E},X)})).displayName=\"CSSMotion\",c);var el=n(8168),es=n(9417),eu=\"keep\",ef=\"remove\",ed=\"removed\";function eh(e){var t;return t=e&&\"object\"===(0,f.A)(e)&&\"key\"in e?e:{key:e},(0,s.A)((0,s.A)({},t),{},{key:String(t.key)})}function ep(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.map(eh)}var eg=[\"component\",\"children\",\"onVisibleChanged\",\"onAllRemoved\"],ev=[\"status\"],em=[\"eventProps\",\"visible\",\"children\",\"motionName\",\"motionAppear\",\"motionEnter\",\"motionLeave\",\"motionLeaveImmediately\",\"motionDeadline\",\"removeOnLeave\",\"leavedClassName\",\"onAppearPrepare\",\"onAppearStart\",\"onAppearActive\",\"onAppearEnd\",\"onEnterStart\",\"onEnterActive\",\"onEnterEnd\",\"onLeaveStart\",\"onLeaveActive\",\"onLeaveEnd\"];let ey=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ec,n=function(e){(0,E.A)(r,e);var n=(0,O.A)(r);function r(){var e;(0,k.A)(this,r);for(var t=arguments.length,o=Array(t),i=0;i<t;i++)o[i]=arguments[i];return e=n.call.apply(n,[this].concat(o)),(0,l.A)((0,es.A)(e),\"state\",{keyEntities:[]}),(0,l.A)((0,es.A)(e),\"removeKey\",function(t){e.setState(function(e){return{keyEntities:e.keyEntities.map(function(e){return e.key!==t?e:(0,s.A)((0,s.A)({},e),{},{status:ed})})}},function(){0===e.state.keyEntities.filter(function(e){return e.status!==ed}).length&&e.props.onAllRemoved&&e.props.onAllRemoved()})}),e}return(0,S.A)(r,[{key:\"render\",value:function(){var e=this,n=this.state.keyEntities,r=this.props,o=r.component,i=r.children,a=r.onVisibleChanged,c=(r.onAllRemoved,(0,A.A)(r,eg)),l=o||p.Fragment,u={};return em.forEach(function(e){u[e]=c[e],delete c[e]}),delete c.keys,p.createElement(l,c,n.map(function(n,r){var o=n.status,c=(0,A.A)(n,ev);return p.createElement(t,(0,el.A)({},u,{key:c.key,visible:\"add\"===o||o===eu,eventProps:c,onVisibleChanged:function(t){null==a||a(t,{key:c.key}),t||e.removeKey(c.key)}}),function(e,t){return i((0,s.A)((0,s.A)({},e),{},{index:r}),t)})}))}}],[{key:\"getDerivedStateFromProps\",value:function(e,t){var n=e.keys,r=t.keyEntities;return{keyEntities:(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=[],r=0,o=t.length,i=ep(e),a=ep(t);i.forEach(function(e){for(var t=!1,i=r;i<o;i+=1){var c=a[i];if(c.key===e.key){r<i&&(n=n.concat(a.slice(r,i).map(function(e){return(0,s.A)((0,s.A)({},e),{},{status:\"add\"})})),r=i),n.push((0,s.A)((0,s.A)({},c),{},{status:eu})),r+=1,t=!0;break}}t||n.push((0,s.A)((0,s.A)({},e),{},{status:ef}))}),r<o&&(n=n.concat(a.slice(r).map(function(e){return(0,s.A)((0,s.A)({},e),{},{status:\"add\"})})));var c={};return n.forEach(function(e){var t=e.key;c[t]=(c[t]||0)+1}),Object.keys(c).filter(function(e){return c[e]>1}).forEach(function(e){(n=n.filter(function(t){var n=t.key,r=t.status;return n!==e||r!==ef})).forEach(function(t){t.key===e&&(t.status=eu)})}),n})(r,ep(n)).filter(function(e){var t=r.find(function(t){var n=t.key;return e.key===n});return!t||t.status!==ed||e.status!==ef})}}}]),r}(p.Component);return(0,l.A)(n,\"defaultProps\",{component:\"div\"}),n}(K),eb=ec},998(e,t,n){\"use strict\";function r(){return!!(\"u\">typeof window&&window.document&&window.document.createElement)}n.d(t,{A:()=>r})},4808(e,t,n){\"use strict\";function r(e,t){if(!e)return!1;if(e.contains)return e.contains(t);for(var n=t;n;){if(n===e)return!0;n=n.parentNode}return!1}n.d(t,{A:()=>r})},5089(e,t,n){\"use strict\";n.d(t,{BD:()=>g,m6:()=>p});var r=n(9379),o=n(998),i=n(4808),a=\"data-rc-order\",c=\"data-rc-priority\",l=new Map;function s(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.mark;return t?t.startsWith(\"data-\")?t:\"data-\".concat(t):\"rc-util-key\"}function u(e){return e.attachTo?e.attachTo:document.querySelector(\"head\")||document.body}function f(e){return Array.from((l.get(e)||e).children).filter(function(e){return\"STYLE\"===e.tagName})}function d(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(0,o.A)())return null;var n=t.csp,r=t.prepend,i=t.priority,l=void 0===i?0:i,s=\"queue\"===r?\"prependQueue\":r?\"prepend\":\"append\",d=\"prependQueue\"===s,h=document.createElement(\"style\");h.setAttribute(a,s),d&&l&&h.setAttribute(c,\"\".concat(l)),null!=n&&n.nonce&&(h.nonce=null==n?void 0:n.nonce),h.innerHTML=e;var p=u(t),g=p.firstChild;if(r){if(d){var v=(t.styles||f(p)).filter(function(e){return!![\"prepend\",\"prependQueue\"].includes(e.getAttribute(a))&&l>=Number(e.getAttribute(c)||0)});if(v.length)return p.insertBefore(h,v[v.length-1].nextSibling),h}p.insertBefore(h,g)}else p.appendChild(h);return h}function h(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=u(t);return(t.styles||f(n)).find(function(n){return n.getAttribute(s(t))===e})}function p(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=h(e,t);n&&u(t).removeChild(n)}function g(e,t){var n,o,a,c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},p=u(c),g=f(p),v=(0,r.A)((0,r.A)({},c),{},{styles:g}),m=l.get(p);if(!m||!(0,i.A)(document,m)){var y=d(\"\",v),b=y.parentNode;l.set(p,b),p.removeChild(y)}var A=h(t,v);if(A)return null!=(n=v.csp)&&n.nonce&&A.nonce!==(null==(o=v.csp)?void 0:o.nonce)&&(A.nonce=null==(a=v.csp)?void 0:a.nonce),A.innerHTML!==e&&(A.innerHTML=e),A;var x=d(e,v);return x.setAttribute(s(v),t),x}},6288(e,t,n){\"use strict\";n.d(t,{A:()=>c});var r=n(2284),o=Symbol.for(\"react.element\"),i=Symbol.for(\"react.transitional.element\"),a=Symbol.for(\"react.fragment\");function c(e){return e&&\"object\"===(0,r.A)(e)&&(e.$$typeof===o||e.$$typeof===i)&&e.type===a}},6956(e,t,n){\"use strict\";n.d(t,{A:()=>o});var r=n(2812);function o(e){var t=r.useRef();return t.current=e,r.useCallback(function(){for(var e,n=arguments.length,r=Array(n),o=0;o<n;o++)r[o]=arguments[o];return null==(e=t.current)?void 0:e.call.apply(e,[t].concat(r))},[])}},981(e,t,n){\"use strict\";n.d(t,{A:()=>i});var r=n(2812),o=(0,n(998).A)()?r.useLayoutEffect:r.useEffect;let i=function(e,t){var n=r.useRef(!0);o(function(){return e(n.current)},t),o(function(){return n.current=!1,function(){n.current=!0}},[])}},8104(e,t,n){\"use strict\";n.d(t,{A:()=>o});var r=n(2812);function o(e,t,n){var o=r.useRef({});return(!(\"value\"in o.current)||n(o.current.condition,t))&&(o.current.value=e(),o.current.condition=t),o.current.value}},2533(e,t,n){\"use strict\";n(6956),n(981),n(1233)},1233(e,t,n){\"use strict\";n.d(t,{A:()=>i});var r=n(7046),o=n(2812);function i(e){var t=o.useRef(!1),n=o.useState(e),i=(0,r.A)(n,2),a=i[0],c=i[1];return o.useEffect(function(){return t.current=!1,function(){t.current=!0}},[]),[a,function(e,n){n&&t.current||c(e)}]}},1470(e,t,n){\"use strict\";n.d(t,{_q:()=>r.A});var r=n(6956);n(2533),n(8719),n(8450),n(8210)},3210(e,t,n){\"use strict\";n.d(t,{A:()=>i});var r=n(2284),o=n(8210);let i=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=new Set;return function e(t,a){var c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,l=i.has(t);if((0,o.Ay)(!l,\"Warning: There may be circular references\"),l)return!1;if(t===a)return!0;if(n&&c>1)return!1;i.add(t);var s=c+1;if(Array.isArray(t)){if(!Array.isArray(a)||t.length!==a.length)return!1;for(var u=0;u<t.length;u++)if(!e(t[u],a[u],s))return!1;return!0}if(t&&a&&\"object\"===(0,r.A)(t)&&\"object\"===(0,r.A)(a)){var f=Object.keys(t);return f.length===Object.keys(a).length&&f.every(function(n){return e(t[n],a[n],s)})}return!1}(e,t)}},9853(e,t,n){\"use strict\";function r(e,t){var n=Object.assign({},e);return Array.isArray(t)&&t.forEach(function(e){delete n[e]}),n}n.d(t,{A:()=>r})},2065(e,t,n){\"use strict\";n.d(t,{A:()=>a});var r=n(9379),o=\"\".concat(\"accept acceptCharset accessKey action allowFullScreen allowTransparency\\n    alt async autoComplete autoFocus autoPlay capture cellPadding cellSpacing challenge\\n    charSet checked classID className colSpan cols content contentEditable contextMenu\\n    controls coords crossOrigin data dateTime default defer dir disabled download draggable\\n    encType form formAction formEncType formMethod formNoValidate formTarget frameBorder\\n    headers height hidden high href hrefLang htmlFor httpEquiv icon id inputMode integrity\\n    is keyParams keyType kind label lang list loop low manifest marginHeight marginWidth max maxLength media\\n    mediaGroup method min minLength multiple muted name noValidate nonce open\\n    optimum pattern placeholder poster preload radioGroup readOnly rel required\\n    reversed role rowSpan rows sandbox scope scoped scrolling seamless selected\\n    shape size sizes span spellCheck src srcDoc srcLang srcSet start step style\\n    summary tabIndex target title type useMap value width wmode wrap\",\" \").concat(\"onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown\\n    onKeyPress onKeyUp onFocus onBlur onChange onInput onSubmit onClick onContextMenu onDoubleClick\\n    onDrag onDragEnd onDragEnter onDragExit onDragLeave onDragOver onDragStart onDrop onMouseDown\\n    onMouseEnter onMouseLeave onMouseMove onMouseOut onMouseOver onMouseUp onSelect onTouchCancel\\n    onTouchEnd onTouchMove onTouchStart onScroll onWheel onAbort onCanPlay onCanPlayThrough\\n    onDurationChange onEmptied onEncrypted onEnded onError onLoadedData onLoadedMetadata\\n    onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onError\").split(/[\\s\\n]+/);function i(e,t){return 0===e.indexOf(t)}function a(e){var t,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];t=!1===n?{aria:!0,data:!0,attr:!0}:!0===n?{aria:!0}:(0,r.A)({},n);var a={};return Object.keys(e).forEach(function(n){(t.aria&&(\"role\"===n||i(n,\"aria-\"))||t.data&&i(n,\"data-\")||t.attr&&o.includes(n))&&(a[n]=e[n])}),a}},5371(e,t,n){\"use strict\";n.d(t,{A:()=>l});var r=function(e){return+setTimeout(e,16)},o=function(e){return clearTimeout(e)};\"u\">typeof window&&\"requestAnimationFrame\"in window&&(r=function(e){return window.requestAnimationFrame(e)},o=function(e){return window.cancelAnimationFrame(e)});var i=0,a=new Map,c=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=i+=1;return!function t(o){if(0===o)a.delete(n),e();else{var i=r(function(){t(o-1)});a.set(n,i)}}(t),n};c.cancel=function(e){var t=a.get(e);return a.delete(e),o(t)};let l=c},8719(e,t,n){\"use strict\";n.d(t,{A9:()=>p,K4:()=>u,Xf:()=>s,f3:()=>d,xK:()=>f});var r=n(2284),o=n(2812),i=n(6351),a=n(8104),c=n(6288),l=Number(o.version.split(\".\")[0]),s=function(e,t){\"function\"==typeof e?e(t):\"object\"===(0,r.A)(e)&&e&&\"current\"in e&&(e.current=t)},u=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=t.filter(Boolean);return r.length<=1?r[0]:function(e){t.forEach(function(t){s(t,e)})}},f=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,a.A)(function(){return u.apply(void 0,t)},t,function(e,t){return e.length!==t.length||e.every(function(e,n){return e!==t[n]})})},d=function(e){if(!e)return!1;if(h(e)&&l>=19)return!0;var t,n,r=(0,i.isMemo)(e)?e.type.type:e.type;return(\"function\"!=typeof r||!!(null!=(t=r.prototype)&&t.render)||r.$$typeof===i.ForwardRef)&&(\"function\"!=typeof e||!!(null!=(n=e.prototype)&&n.render)||e.$$typeof===i.ForwardRef)};function h(e){return(0,o.isValidElement)(e)&&!(0,c.A)(e)}var p=function(e){return e&&h(e)?e.props.propertyIsEnumerable(\"ref\")?e.props.ref:e.ref:null}},6300(e,t,n){\"use strict\";function r(e,t){for(var n=e,r=0;r<t.length;r+=1){if(null==n)return;n=n[t[r]]}return n}n.d(t,{A:()=>r})},8450(e,t,n){\"use strict\";n.d(t,{A:()=>f,h:()=>p});var r=n(2284),o=n(9379),i=n(3098),a=n(6369),c=n(3893),l=n(7800),s=n(6562),u=n(6300);function f(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return t.length&&r&&void 0===n&&!(0,u.A)(e,t.slice(0,-1))?e:function e(t,n,r,u){if(!n.length)return r;var f,d=(0,a.A)(n)||(0,c.A)(n)||(0,l.A)(n)||(0,s.A)(),h=d[0],p=d.slice(1);return f=t||\"number\"!=typeof h?Array.isArray(t)?(0,i.A)(t):(0,o.A)({},t):[],u&&void 0===r&&1===p.length?delete f[h][p[0]]:f[h]=e(f[h],p,r,u),f}(e,t,n,r)}function d(e){return Array.isArray(e)?[]:{}}var h=\"u\"<typeof Reflect?Object.keys:Reflect.ownKeys;function p(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];var o=d(t[0]);return t.forEach(function(e){!function t(n,a){var c=new Set(a),l=(0,u.A)(e,n),s=Array.isArray(l);if(s||\"object\"===(0,r.A)(l)&&null!==l&&Object.getPrototypeOf(l)===Object.prototype){if(!c.has(l)){c.add(l);var p=(0,u.A)(o,n);s?o=f(o,n,[]):p&&\"object\"===(0,r.A)(p)||(o=f(o,n,d(l))),h(l).forEach(function(e){t([].concat((0,i.A)(n),[e]),c)})}}else o=f(o,n,l)}([])}),o}},8210(e,t,n){\"use strict\";n.d(t,{$e:()=>i,Ay:()=>s});var r={},o=[];function i(e,t){}function a(e,t){}function c(e,t,n){t||r[n]||(e(!1,n),r[n]=!0)}function l(e,t){c(i,e,t)}l.preMessage=function(e){o.push(e)},l.resetWarned=function(){r={}},l.noteOnce=function(e,t){c(a,e,t)};let s=l},7787(e,t){\"use strict\";var n=Symbol.for(\"react.element\"),r=Symbol.for(\"react.portal\"),o=Symbol.for(\"react.fragment\"),i=Symbol.for(\"react.strict_mode\"),a=Symbol.for(\"react.profiler\"),c=Symbol.for(\"react.provider\"),l=Symbol.for(\"react.context\"),s=Symbol.for(\"react.server_context\"),u=Symbol.for(\"react.forward_ref\"),f=Symbol.for(\"react.suspense\"),d=Symbol.for(\"react.suspense_list\"),h=Symbol.for(\"react.memo\"),p=Symbol.for(\"react.lazy\");Symbol.for(\"react.offscreen\");Symbol.for(\"react.module.reference\"),t.ForwardRef=u,t.isMemo=function(e){return function(e){if(\"object\"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case n:switch(e=e.type){case o:case a:case i:case f:case d:return e;default:switch(e=e&&e.$$typeof){case s:case l:case u:case p:case h:case c:return e;default:return t}}case r:return t}}}(e)===h}},6351(e,t,n){\"use strict\";e.exports=n(7787)},2799(e,t){\"use strict\";var n=\"function\"==typeof Symbol&&Symbol.for,r=n?Symbol.for(\"react.element\"):60103,o=n?Symbol.for(\"react.portal\"):60106,i=n?Symbol.for(\"react.fragment\"):60107,a=n?Symbol.for(\"react.strict_mode\"):60108,c=n?Symbol.for(\"react.profiler\"):60114,l=n?Symbol.for(\"react.provider\"):60109,s=n?Symbol.for(\"react.context\"):60110,u=n?Symbol.for(\"react.async_mode\"):60111,f=n?Symbol.for(\"react.concurrent_mode\"):60111,d=n?Symbol.for(\"react.forward_ref\"):60112,h=n?Symbol.for(\"react.suspense\"):60113,p=n?Symbol.for(\"react.suspense_list\"):60120,g=n?Symbol.for(\"react.memo\"):60115,v=n?Symbol.for(\"react.lazy\"):60116,m=n?Symbol.for(\"react.block\"):60121,y=n?Symbol.for(\"react.fundamental\"):60117,b=n?Symbol.for(\"react.responder\"):60118,A=n?Symbol.for(\"react.scope\"):60119;function x(e){if(\"object\"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case u:case f:case i:case c:case a:case h:return e;default:switch(e=e&&e.$$typeof){case s:case d:case v:case g:case l:return e;default:return t}}case o:return t}}}function C(e){return x(e)===f}t.AsyncMode=u,t.ConcurrentMode=f,t.ContextConsumer=s,t.ContextProvider=l,t.Element=r,t.ForwardRef=d,t.Fragment=i,t.Lazy=v,t.Memo=g,t.Portal=o,t.Profiler=c,t.StrictMode=a,t.Suspense=h,t.isAsyncMode=function(e){return C(e)||x(e)===u},t.isConcurrentMode=C,t.isContextConsumer=function(e){return x(e)===s},t.isContextProvider=function(e){return x(e)===l},t.isElement=function(e){return\"object\"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return x(e)===d},t.isFragment=function(e){return x(e)===i},t.isLazy=function(e){return x(e)===v},t.isMemo=function(e){return x(e)===g},t.isPortal=function(e){return x(e)===o},t.isProfiler=function(e){return x(e)===c},t.isStrictMode=function(e){return x(e)===a},t.isSuspense=function(e){return x(e)===h},t.isValidElementType=function(e){return\"string\"==typeof e||\"function\"==typeof e||e===i||e===f||e===c||e===a||e===h||e===p||\"object\"==typeof e&&null!==e&&(e.$$typeof===v||e.$$typeof===g||e.$$typeof===l||e.$$typeof===s||e.$$typeof===d||e.$$typeof===y||e.$$typeof===b||e.$$typeof===A||e.$$typeof===m)},t.typeOf=x},6744(e,t,n){\"use strict\";e.exports=n(2799)},1020(e,t,n){\"use strict\";var r=n(2812),o=Symbol.for(\"react.element\"),i=Symbol.for(\"react.fragment\"),a=Object.prototype.hasOwnProperty,c=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function s(e,t,n){var r,i={},s=null,u=null;for(r in void 0!==n&&(s=\"\"+n),void 0!==t.key&&(s=\"\"+t.key),void 0!==t.ref&&(u=t.ref),t)a.call(t,r)&&!l.hasOwnProperty(r)&&(i[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===i[r]&&(i[r]=t[r]);return{$$typeof:o,type:e,key:s,ref:u,props:i,_owner:c.current}}t.Fragment=i,t.jsx=s,t.jsxs=s},4848(e,t,n){\"use strict\";e.exports=n(1020)},6942(e){!function(){\"use strict\";var t={}.hasOwnProperty;function n(){for(var e=\"\",o=0;o<arguments.length;o++){var i=arguments[o];i&&(e=r(e,function(e){if(\"string\"==typeof e||\"number\"==typeof e)return e;if(\"object\"!=typeof e)return\"\";if(Array.isArray(e))return n.apply(null,e);if(e.toString!==Object.prototype.toString&&!e.toString.toString().includes(\"[native code]\"))return e.toString();var o=\"\";for(var i in e)t.call(e,i)&&e[i]&&(o=r(o,i));return o}(i)))}return e}function r(e,t){return t?e?e+\" \"+t:e+t:e}e.exports?(n.default=n,e.exports=n):\"function\"==typeof define&&\"object\"==typeof define.amd&&define.amd?define(\"classnames\",[],function(){return n}):window.classNames=n}()},3145(e,t,n){\"use strict\";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}n.d(t,{A:()=>r})},6369(e,t,n){\"use strict\";function r(e){if(Array.isArray(e))return e}n.d(t,{A:()=>r})},9417(e,t,n){\"use strict\";function r(e){if(void 0===e)throw ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}n.d(t,{A:()=>r})},467(e,t,n){\"use strict\";function r(e,t,n,r,o,i,a){try{var c=e[i](a),l=c.value}catch(e){return void n(e)}c.done?t(l):Promise.resolve(l).then(r,o)}function o(e){return function(){var t=this,n=arguments;return new Promise(function(o,i){var a=e.apply(t,n);function c(e){r(a,o,i,c,l,\"next\",e)}function l(e){r(a,o,i,c,l,\"throw\",e)}c(void 0)})}}n.d(t,{A:()=>o})},3029(e,t,n){\"use strict\";function r(e,t){if(!(e instanceof t))throw TypeError(\"Cannot call a class as a function\")}n.d(t,{A:()=>r})},2901(e,t,n){\"use strict\";n.d(t,{A:()=>i});var r=n(6192);function o(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,(0,r.A)(o.key),o)}}function i(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),Object.defineProperty(e,\"prototype\",{writable:!1}),e}},6903(e,t,n){\"use strict\";n.d(t,{A:()=>c});var r=n(3954),o=n(2176),i=n(2284),a=n(9417);function c(e){var t=(0,o.A)();return function(){var n,o=(0,r.A)(e);n=t?Reflect.construct(o,arguments,(0,r.A)(this).constructor):o.apply(this,arguments);if(n&&(\"object\"==(0,i.A)(n)||\"function\"==typeof n))return n;if(void 0!==n)throw TypeError(\"Derived constructors may only return object or undefined\");return(0,a.A)(this)}}},4467(e,t,n){\"use strict\";n.d(t,{A:()=>o});var r=n(6192);function o(e,t,n){return(t=(0,r.A)(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},8168(e,t,n){\"use strict\";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 r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}n.d(t,{A:()=>r})},3954(e,t,n){\"use strict\";function r(e){return(r=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}n.d(t,{A:()=>r})},5501(e,t,n){\"use strict\";n.d(t,{A:()=>o});var r=n(3662);function o(e,t){if(\"function\"!=typeof t&&null!==t)throw TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&(0,r.A)(e,t)}},2176(e,t,n){\"use strict\";function r(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(r=function(){return!!e})()}n.d(t,{A:()=>r})},3893(e,t,n){\"use strict\";function r(e){if(\"u\">typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}n.d(t,{A:()=>r})},6562(e,t,n){\"use strict\";function r(){throw TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}n.d(t,{A:()=>r})},9379(e,t,n){\"use strict\";n.d(t,{A:()=>i});var r=n(4467);function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach(function(t){(0,r.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}},1697(e,t,n){\"use strict\";function r(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n={};for(var r in e)if(({}).hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],-1===t.indexOf(n)&&({}).propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}n.d(t,{A:()=>r})},1079(e,t,n){\"use strict\";function r(e,t){this.v=e,this.k=t}function o(e,t,n,r){var i=Object.defineProperty;try{i({},\"\",{})}catch(e){i=0}(o=function(e,t,n,r){function a(t,n){o(e,t,function(e){return this._invoke(t,n,e)})}t?i?i(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(a(\"next\",0),a(\"throw\",1),a(\"return\",2))})(e,t,n,r)}function i(){var e,t,n=\"function\"==typeof Symbol?Symbol:{},r=n.iterator||\"@@iterator\",a=n.toStringTag||\"@@toStringTag\";function c(n,r,i,a){var c=Object.create((r&&r.prototype instanceof s?r:s).prototype);return o(c,\"_invoke\",function(n,r,o){var i,a,c,s=0,u=o||[],f=!1,d={p:0,n:0,v:e,a:h,f:h.bind(e,4),d:function(t,n){return i=t,a=0,c=e,d.n=n,l}};function h(n,r){for(a=n,c=r,t=0;!f&&s&&!o&&t<u.length;t++){var o,i=u[t],h=d.p,p=i[2];n>3?(o=p===r)&&(c=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=h&&((o=n<2&&h<i[1])?(a=0,d.v=r,d.n=i[1]):h<p&&(o=n<3||i[0]>r||r>p)&&(i[4]=n,i[5]=r,d.n=p,a=0))}if(o||n>1)return l;throw f=!0,r}return function(o,u,p){if(s>1)throw TypeError(\"Generator is already running\");for(f&&1===u&&h(u,p),a=u,c=p;(t=a<2?e:c)||!f;){i||(a?a<3?(a>1&&(d.n=-1),h(a,c)):d.n=c:d.v=c);try{if(s=2,i){if(a||(o=\"next\"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError(\"iterator result is not an object\");if(!t.done)return t;c=t.value,a<2&&(a=0)}else 1===a&&(t=i.return)&&t.call(i),a<2&&(c=TypeError(\"The iterator does not provide a '\"+o+\"' method\"),a=1);i=e}else if((t=(f=d.n<0)?c:n.call(r,d))!==l)break}catch(t){i=e,a=1,c=t}finally{s=1}}return{value:t,done:f}}}(n,i,a),!0),c}var l={};function s(){}function u(){}function f(){}t=Object.getPrototypeOf;var d=f.prototype=s.prototype=Object.create([][r]?t(t([][r]())):(o(t={},r,function(){return this}),t));function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,o(e,a,\"GeneratorFunction\")),e.prototype=Object.create(d),e}return u.prototype=f,o(d,\"constructor\",f),o(f,\"constructor\",u),u.displayName=\"GeneratorFunction\",o(f,a,\"GeneratorFunction\"),o(d),o(d,a,\"Generator\"),o(d,r,function(){return this}),o(d,\"toString\",function(){return\"[object Generator]\"}),(i=function(){return{w:c,m:h}})()}function a(e,t){var n;this.next||(o(a.prototype),o(a.prototype,\"function\"==typeof Symbol&&Symbol.asyncIterator||\"@asyncIterator\",function(){return this})),o(this,\"_invoke\",function(o,i,a){function c(){return new t(function(n,i){!function n(o,i,a,c){try{var l=e[o](i),s=l.value;return s instanceof r?t.resolve(s.v).then(function(e){n(\"next\",e,a,c)},function(e){n(\"throw\",e,a,c)}):t.resolve(s).then(function(e){l.value=e,a(l)},function(e){return n(\"throw\",e,a,c)})}catch(e){c(e)}}(o,a,n,i)})}return n=n?n.then(c,c):c()},!0)}function c(e,t,n,r,o){return new a(i().w(e,t,n,r),o||Promise)}function l(e){var t=Object(e),n=[];for(var r in t)n.unshift(r);return function e(){for(;n.length;)if((r=n.pop())in t)return e.value=r,e.done=!1,e;return e.done=!0,e}}n.d(t,{A:()=>f});var s=n(2284);function u(e){if(null!=e){var t=e[\"function\"==typeof Symbol&&Symbol.iterator||\"@@iterator\"],n=0;if(t)return t.call(e);if(\"function\"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}throw TypeError((0,s.A)(e)+\" is not iterable\")}function f(){var e=i(),t=e.m(f),n=(Object.getPrototypeOf?Object.getPrototypeOf(t):t.__proto__).constructor;function o(e){var t=\"function\"==typeof e&&e.constructor;return!!t&&(t===n||\"GeneratorFunction\"===(t.displayName||t.name))}var s={throw:1,return:2,break:3,continue:3};function d(e){var t,n;return function(r){t||(t={stop:function(){return n(r.a,2)},catch:function(){return r.v},abrupt:function(e,t){return n(r.a,s[e],t)},delegateYield:function(e,o,i){return t.resultName=o,n(r.d,u(e),i)},finish:function(e){return n(r.f,e)}},n=function(e,n,o){r.p=t.prev,r.n=t.next;try{return e(n,o)}finally{t.next=r.n}}),t.resultName&&(t[t.resultName]=r.v,t.resultName=void 0),t.sent=r.v,t.next=r.n;try{return e.call(this,t)}finally{r.p=t.prev,r.n=t.next}}}return(f=function(){return{wrap:function(t,n,r,o){return e.w(d(t),n,r,o&&o.reverse())},isGeneratorFunction:o,mark:e.m,awrap:function(e,t){return new r(e,t)},AsyncIterator:a,async:function(e,t,n,r,i){return(o(t)?c:function(e,t,n,r,o){var i=c(e,t,n,r,o);return i.next().then(function(e){return e.done?e.value:i.next()})})(d(e),t,n,r,i)},keys:l,values:u}})()}},3662(e,t,n){\"use strict\";function r(e,t){return(r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}n.d(t,{A:()=>r})},7046(e,t,n){\"use strict\";n.d(t,{A:()=>a});var r=n(6369),o=n(7800),i=n(6562);function a(e,t){return(0,r.A)(e)||function(e,t){var n=null==e?null:\"u\">typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var r,o,i,a,c=[],l=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){s=!0,o=e}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(s)throw o}}return c}}(e,t)||(0,o.A)(e,t)||(0,i.A)()}},3098(e,t,n){\"use strict\";n.d(t,{A:()=>a});var r=n(3145),o=n(3893),i=n(7800);function a(e){return function(e){if(Array.isArray(e))return(0,r.A)(e)}(e)||(0,o.A)(e)||(0,i.A)(e)||function(){throw TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}},6192(e,t,n){\"use strict\";n.d(t,{A:()=>o});var r=n(2284);function o(e){var t=function(e,t){if(\"object\"!=(0,r.A)(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!=(0,r.A)(o))return o;throw TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"==(0,r.A)(t)?t:t+\"\"}},2284(e,t,n){\"use strict\";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)}n.d(t,{A:()=>r})},7800(e,t,n){\"use strict\";n.d(t,{A:()=>o});var r=n(3145);function o(e,t){if(e){if(\"string\"==typeof e)return(0,r.A)(e,t);var n=({}).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)?(0,r.A)(e,t):void 0}}},3888(e,t,n){\"use strict\";function r(){return{accessor:(e,t)=>\"function\"==typeof e?{...t,accessorFn:e}:{...t,accessorKey:e},display:e=>e,group:e=>e}}n.d(t,{FB:()=>r});let o=(e,t,n)=>{let[r,o]=n,i=e.getValue(t);return i>=r&&i<=o};function i(e){return null==e||\"\"===e}o.resolveFilterValue=e=>{let[t,n]=e,r=\"number\"!=typeof t?parseFloat(t):t,o=\"number\"!=typeof n?parseFloat(n):n,i=null===t||Number.isNaN(r)?-1/0:r,a=null===n||Number.isNaN(o)?1/0:o;if(i>a){let e=i;i=a,a=e}return[i,a]},o.autoRemove=e=>i(e)||i(e[0])&&i(e[1])},1635(e,t,n){\"use strict\";n.d(t,{Cg:()=>r});function r(e,t,n,r){var o,i=arguments.length,a=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,r);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}}}]);"
  },
  {
    "path": "src/Resources/public/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/async/840.4693a4bb.js.LICENSE.txt",
    "content": "/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n\n/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */\n\n/**\n   * table-core\n   *\n   * Copyright (c) TanStack\n   *\n   * This source code is licensed under the MIT license found in the\n   * LICENSE.md file in the root directory of this source tree.\n   *\n   * @license MIT\n   */\n\n/**\n * @license\n * Lodash <https://lodash.com/>\n * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**![check-circle](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTUxMiA2NEMyNjQuNiA2NCA2NCAyNjQuNiA2NCA1MTJzMjAwLjYgNDQ4IDQ0OCA0NDggNDQ4LTIwMC42IDQ0OC00NDhTNzU5LjQgNjQgNTEyIDY0em0xOTMuNSAzMDEuN2wtMjEwLjYgMjkyYTMxLjggMzEuOCAwIDAxLTUxLjcgMEwzMTguNSA0ODQuOWMtMy44LTUuMyAwLTEyLjcgNi41LTEyLjdoNDYuOWMxMC4yIDAgMTkuOSA0LjkgMjUuOSAxMy4zbDcxLjIgOTguOCAxNTcuMi0yMThjNi04LjMgMTUuNi0xMy4zIDI1LjktMTMuM0g2OTljNi41IDAgMTAuMyA3LjQgNi41IDEyLjd6IiAvPjwvc3ZnPg==) */\n\n/**![close-circle](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIGZpbGwtcnVsZT0iZXZlbm9kZCIgdmlld0JveD0iNjQgNjQgODk2IDg5NiIgZm9jdXNhYmxlPSJmYWxzZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNTEyIDY0YzI0Ny40IDAgNDQ4IDIwMC42IDQ0OCA0NDhTNzU5LjQgOTYwIDUxMiA5NjAgNjQgNzU5LjQgNjQgNTEyIDI2NC42IDY0IDUxMiA2NHptMTI3Ljk4IDI3NC44MmgtLjA0bC0uMDguMDZMNTEyIDQ2Ni43NSAzODQuMTQgMzM4Ljg4Yy0uMDQtLjA1LS4wNi0uMDYtLjA4LS4wNmEuMTIuMTIgMCAwMC0uMDcgMGMtLjAzIDAtLjA1LjAxLS4wOS4wNWwtNDUuMDIgNDUuMDJhLjIuMiAwIDAwLS4wNS4wOS4xMi4xMiAwIDAwMCAuMDd2LjAyYS4yNy4yNyAwIDAwLjA2LjA2TDQ2Ni43NSA1MTIgMzM4Ljg4IDYzOS44NmMtLjA1LjA0LS4wNi4wNi0uMDYuMDhhLjEyLjEyIDAgMDAwIC4wN2MwIC4wMy4wMS4wNS4wNS4wOWw0NS4wMiA0NS4wMmEuMi4yIDAgMDAuMDkuMDUuMTIuMTIgMCAwMC4wNyAwYy4wMiAwIC4wNC0uMDEuMDgtLjA1TDUxMiA1NTcuMjVsMTI3Ljg2IDEyNy44N2MuMDQuMDQuMDYuMDUuMDguMDVhLjEyLjEyIDAgMDAuMDcgMGMuMDMgMCAuMDUtLjAxLjA5LS4wNWw0NS4wMi00NS4wMmEuMi4yIDAgMDAuMDUtLjA5LjEyLjEyIDAgMDAwLS4wN3YtLjAyYS4yNy4yNyAwIDAwLS4wNS0uMDZMNTU3LjI1IDUxMmwxMjcuODctMTI3Ljg2Yy4wNC0uMDQuMDUtLjA2LjA1LS4wOGEuMTIuMTIgMCAwMDAtLjA3YzAtLjAzLS4wMS0uMDUtLjA1LS4wOWwtNDUuMDItNDUuMDJhLjIuMiAwIDAwLS4wOS0uMDUuMTIuMTIgMCAwMC0uMDcgMHoiIC8+PC9zdmc+) */\n\n/**![close](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIGZpbGwtcnVsZT0iZXZlbm9kZCIgdmlld0JveD0iNjQgNjQgODk2IDg5NiIgZm9jdXNhYmxlPSJmYWxzZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNzk5Ljg2IDE2Ni4zMWMuMDIgMCAuMDQuMDIuMDguMDZsNTcuNjkgNTcuN2MuMDQuMDMuMDUuMDUuMDYuMDhhLjEyLjEyIDAgMDEwIC4wNmMwIC4wMy0uMDIuMDUtLjA2LjA5TDU2OS45MyA1MTJsMjg3LjcgMjg3LjdjLjA0LjA0LjA1LjA2LjA2LjA5YS4xMi4xMiAwIDAxMCAuMDdjMCAuMDItLjAyLjA0LS4wNi4wOGwtNTcuNyA1Ny42OWMtLjAzLjA0LS4wNS4wNS0uMDcuMDZhLjEyLjEyIDAgMDEtLjA3IDBjLS4wMyAwLS4wNS0uMDItLjA5LS4wNkw1MTIgNTY5LjkzbC0yODcuNyAyODcuN2MtLjA0LjA0LS4wNi4wNS0uMDkuMDZhLjEyLjEyIDAgMDEtLjA3IDBjLS4wMiAwLS4wNC0uMDItLjA4LS4wNmwtNTcuNjktNTcuN2MtLjA0LS4wMy0uMDUtLjA1LS4wNi0uMDdhLjEyLjEyIDAgMDEwLS4wN2MwLS4wMy4wMi0uMDUuMDYtLjA5TDQ1NC4wNyA1MTJsLTI4Ny43LTI4Ny43Yy0uMDQtLjA0LS4wNS0uMDYtLjA2LS4wOWEuMTIuMTIgMCAwMTAtLjA3YzAtLjAyLjAyLS4wNC4wNi0uMDhsNTcuNy01Ny42OWMuMDMtLjA0LjA1LS4wNS4wNy0uMDZhLjEyLjEyIDAgMDEuMDcgMGMuMDMgMCAuMDUuMDIuMDkuMDZMNTEyIDQ1NC4wN2wyODcuNy0yODcuN2MuMDQtLjA0LjA2LS4wNS4wOS0uMDZhLjEyLjEyIDAgMDEuMDcgMHoiIC8+PC9zdmc+) */\n\n/**![exclamation-circle](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTUxMiA2NEMyNjQuNiA2NCA2NCAyNjQuNiA2NCA1MTJzMjAwLjYgNDQ4IDQ0OCA0NDggNDQ4LTIwMC42IDQ0OC00NDhTNzU5LjQgNjQgNTEyIDY0em0tMzIgMjMyYzAtNC40IDMuNi04IDgtOGg0OGM0LjQgMCA4IDMuNiA4IDh2MjcyYzAgNC40LTMuNiA4LTggOGgtNDhjLTQuNCAwLTgtMy42LTgtOFYyOTZ6bTMyIDQ0MGE0OC4wMSA0OC4wMSAwIDAxMC05NiA0OC4wMSA0OC4wMSAwIDAxMCA5NnoiIC8+PC9zdmc+) */\n\n/**![info-circle](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTUxMiA2NEMyNjQuNiA2NCA2NCAyNjQuNiA2NCA1MTJzMjAwLjYgNDQ4IDQ0OCA0NDggNDQ4LTIwMC42IDQ0OC00NDhTNzU5LjQgNjQgNTEyIDY0em0zMiA2NjRjMCA0LjQtMy42IDgtOCA4aC00OGMtNC40IDAtOC0zLjYtOC04VjQ1NmMwLTQuNCAzLjYtOCA4LThoNDhjNC40IDAgOCAzLjYgOCA4djI3MnptLTMyLTM0NGE0OC4wMSA0OC4wMSAwIDAxMC05NiA0OC4wMSA0OC4wMSAwIDAxMCA5NnoiIC8+PC9zdmc+) */\n\n/**![loading](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTk4OCA1NDhjLTE5LjkgMC0zNi0xNi4xLTM2LTM2IDAtNTkuNC0xMS42LTExNy0zNC42LTE3MS4zYTQ0MC40NSA0NDAuNDUgMCAwMC05NC4zLTEzOS45IDQzNy43MSA0MzcuNzEgMCAwMC0xMzkuOS05NC4zQzYyOSA4My42IDU3MS40IDcyIDUxMiA3MmMtMTkuOSAwLTM2LTE2LjEtMzYtMzZzMTYuMS0zNiAzNi0zNmM2OS4xIDAgMTM2LjIgMTMuNSAxOTkuMyA0MC4zQzc3Mi4zIDY2IDgyNyAxMDMgODc0IDE1MGM0NyA0NyA4My45IDEwMS44IDEwOS43IDE2Mi43IDI2LjcgNjMuMSA0MC4yIDEzMC4yIDQwLjIgMTk5LjMuMSAxOS45LTE2IDM2LTM1LjkgMzZ6IiAvPjwvc3ZnPg==) */"
  },
  {
    "path": "src/Resources/public/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/async/__federation_expose_default_export.87553f32.js",
    "content": "/*! For license information please see __federation_expose_default_export.87553f32.js.LICENSE.txt */\n\"use strict\";(self[\"chunk_pimcore_datahub_bundle \"]=self[\"chunk_pimcore_datahub_bundle \"]||[]).push([[\"525\"],{9376(e,l,n){n.r(l),n.d(l,{BaseDetailView:()=>d.Wc,ColumnLocaleControl:()=>B,DynamicTypeDataHubAdapterAbstract:()=>r.E,DynamicTypeDataHubAdapterRegistry:()=>s.f,stringifyYaml:()=>p,DataHubLogTab:()=>$,PermissionsTab:()=>a.K,ConfigToolbar:()=>d.MM,ADVANCED_COLUMN_KEY:()=>k,GeneralTab:()=>i.a,ColumnConfigModal:()=>I,advancedFromSchemaColumn:()=>w,parseYaml:()=>u,ColumnPreview:()=>P,ConfigContainer:()=>t.y,advancedToSchemaColumn:()=>F,ADVANCED_COLUMN_TYPE:()=>S,bundleServiceIds:()=>o.s,isValidYaml:()=>m,MigrationModal:()=>x,useAddColumnDropdown:()=>T,BaseColumnEditor:()=>R,useDetailView:()=>d.iO,ColumnEditorItemBody:()=>N,ColumnPipelineForm:()=>L});var t=n(6985),i=n(970),a=n(6427),o=n(17),r=n(5667),s=n(8576),d=n(7799),c=n(5308);let u=e=>(0,c.parse)(e),p=(e,l)=>(0,c.stringify)(e,{indent:2,...l}),m=e=>{try{return(0,c.parse)(e),!0}catch{return!1}};var g=n(4848),h=n(2812),y=n.n(h),f=n(2696),v=n(4781);let x=e=>{let{open:l,title:n,iconName:t=\"settings\",legacyConfig:i,renderToolbarLeft:a,onConfirm:o,onClose:r,children:s}=e,{t:d}=(0,v.useTranslation)(),[c,u]=(0,h.useState)(!1),m=p(i),y=(0,g.jsx)(f.ModalTitle,{iconName:t,children:n});return c?(0,g.jsxs)(f.Modal,{footer:null,onCancel:()=>{u(!1)},open:l,size:\"XL\",title:y,children:[(0,g.jsxs)(f.Flex,{gap:\"small\",style:{height:\"calc(80vh - 120px)\",overflow:\"hidden\"},children:[(0,g.jsx)(f.Flex,{style:{flex:1,minWidth:0,overflow:\"hidden\"},vertical:!0,children:s}),(0,g.jsx)(\"div\",{style:{width:1,background:\"var(--ant-color-split, rgba(0,0,0,.06))\",flexShrink:0}}),(0,g.jsxs)(f.Flex,{gap:\"small\",style:{flex:1,minWidth:0,overflow:\"auto\"},vertical:!0,children:[(0,g.jsx)(f.Alert,{description:d(\"data-hub.migration-modal.legacy-notice\"),showIcon:!0,type:\"warning\"}),(0,g.jsx)(f.CodeEditor,{height:\"100%\",preset:\"yaml\",readOnly:!0,value:m})]})]}),(0,g.jsxs)(f.Toolbar,{padding:{x:\"none\",y:\"small\"},theme:\"secondary\",children:[a,(0,g.jsxs)(f.Space,{size:\"extra-small\",children:[(0,g.jsx)(f.Button,{onClick:()=>{u(!1)},type:\"default\",children:d(\"data-hub.migration-modal.cancel\")}),(0,g.jsx)(f.Button,{onClick:o,type:\"primary\",children:d(\"data-hub.migration-modal.confirm-migration\")})]})]})]}):(0,g.jsxs)(f.Modal,{footer:null,onCancel:r,open:l,size:\"XL\",title:y,children:[(0,g.jsxs)(f.Flex,{gap:\"small\",vertical:!0,children:[(0,g.jsx)(f.Alert,{description:d(\"data-hub.migration-modal.legacy-notice\"),showIcon:!0,type:\"warning\"}),(0,g.jsx)(f.CodeEditor,{height:\"400px\",preset:\"yaml\",readOnly:!0,value:m})]}),(0,g.jsx)(f.Toolbar,{padding:{x:\"none\",y:\"small\"},theme:\"secondary\",children:(0,g.jsx)(f.Space,{size:\"extra-small\",children:(0,g.jsx)(f.Button,{onClick:()=>{u(!0)},type:\"primary\",children:d(\"data-hub.migration-modal.start-migration\")})})})]})};var j=n(1161),b=n(3090),C=n(2543);let T=(e,l)=>{let{t:n}=(0,v.useTranslation)();return(0,h.useMemo)(()=>{let t={},i=0;e.forEach(e=>{(Array.isArray(e.group)?e.group.some(e=>Array.isArray(e))?e.group:[e.group]:\"string\"==typeof e.group?[e.group]:[String(e.group)]).forEach(l=>{let n;n=\"string\"==typeof l?l.split(\".\"):Array.isArray(l)?l.map(e=>String(e)):[String(l)];let i=t;n.forEach((l,t)=>{(0,C.isNil)(i[l])&&(i[l]={items:[],subGroups:{}}),t===n.length-1?i[l].items.push(e):i=i[l].subGroups})})});let a=e=>Object.entries(e).map(e=>{let[t,o]=e,r={key:`group-${i++}`,label:n(t)},s=[...(0,C.isEmpty)(Object.keys(o.subGroups))?[]:a(o.subGroups),...o.items.map(e=>{let t=e.key;if(!(0,C.isNil)(e.config)&&\"fieldDefinition\"in e.config){let l=e.config.fieldDefinition;t=(null==l?void 0:l.title)??e.key}return{key:e.key,label:n(t),onClick:()=>{l(e)}}})];return s.length>0&&(r.children=s),r});return{items:a(t)}},[e,n,l])},I=e=>{let{entity:l,classDefinitionId:n,columns:t,columnConfig:i,open:a,title:o,onApply:r,onCancel:s,language:d,onLanguageChange:c,renderEditor:u}=e,{t:p}=(0,v.useTranslation)(),m=(0,f.useAlertModal)(),{getByName:C}=(0,b.useClassDefinitions)(),I=y().useMemo(()=>{var e;return void 0!==n?n:(null==(e=C(l))?void 0:e.id)??l},[n,l,C]),[k,S]=(0,h.useState)([]),[w,F]=(0,h.useState)(!1),A=(0,h.useRef)(null),D=void 0!==i&&!w,{data:E}=j.api.endpoints.dataObjectGetAvailableGridColumns.useQuery({classId:I,folderId:1},{skip:!D}),P=T((null==E?void 0:E.columns)??[],(0,h.useCallback)(e=>{var l;null==(l=A.current)||l.addColumn(e)},[])),L=e=>{S(e),F(!0)},N=()=>{F(!1),s()},_=(0,g.jsx)(f.ModalTitle,{iconName:\"settings\",children:o});return D?(0,g.jsx)(x,{legacyConfig:i,onClose:N,onConfirm:()=>{var e;let l=(null==(e=A.current)?void 0:e.getColumns())??k;0===l.length?m.warn({title:p(\"data-hub.migration-modal.confirm-empty-columns-title\"),content:p(\"data-hub.migration-modal.confirm-empty-columns-content\"),okText:p(\"data-hub.migration-modal.confirm-empty-columns-ok\"),cancelText:p(\"data-hub.migration-modal.confirm-empty-columns-cancel\"),okCancel:!0,onOk:()=>{L(l)}}):L(l)},open:a,renderToolbarLeft:(0,g.jsx)(f.Dropdown,{menu:P,children:(0,g.jsx)(f.IconTextButton,{icon:{value:\"new\"},children:p(\"data-hub.column-config-modal.add-column\")})}),title:o,children:(0,g.jsx)(f.Flex,{style:{flex:1,minWidth:0,overflow:\"hidden\"},vertical:!0,children:u({ref:A,classDefinitionId:I,columns:k,entity:l,hideToolbar:!0,language:d,onLanguageChange:c,onApply:e=>{S(e)},onCancel:()=>{}})})}):(0,g.jsx)(f.Modal,{footer:null,onCancel:N,open:a,size:\"XL\",title:_,children:u({ref:A,classDefinitionId:I,columns:w?k:t,entity:l,hideToolbar:!1,language:d,onLanguageChange:c,onApply:e=>{r(e),N()},onCancel:N})})},k=\"advanced\",S=\"dataobject.advanced\",w=e=>{var l,n;return{_id:crypto.randomUUID(),key:e.key,fieldtype:e.fieldtype,type:e.type,config:e.config,pipeline:e.type===S?{title:e.key!==k?e.key:e.title,sourceFields:((null==(l=e.config)?void 0:l.advancedColumns)??[]).map(e=>({...e,config:e.config??{}})),transformers:null==(n=e.config)?void 0:n.transformers}:void 0,locale:e.locale}},F=e=>{var l;return{key:e.type===S&&(null==(l=e.pipeline)?void 0:l.title)!==void 0&&\"\"!==e.pipeline.title?e.pipeline.title:e.key,fieldtype:e.fieldtype,type:e.type,config:void 0!==e.pipeline?{advancedColumns:(e.pipeline.sourceFields??[]).map(e=>({...e,config:e.config??{}})),transformers:e.pipeline.transformers}:e.config,locale:e.locale}},A=(0,n(3888).FB)(),D=e=>{let{value:l}=e,n=(0,v.useInjection)(v.serviceIds[\"DynamicTypes/AdvancedGridCellRegistry\"]),t=l.map((e,l)=>{let t=n.hasDynamicType(e.type),i=`${e.type.replace(/\\./g,\"_\")}-${l}`;return A.accessor(i,{header:e.type,meta:{editable:!1,type:t?e.type:\"dataobject.adapter\",config:{...t?{}:{dataObjectType:e.type,dataObjectConfig:{}}}}})}),i={};return l.forEach((e,l)=>{i[`${e.type.replace(/\\./g,\"_\")}-${l}`]=e.value}),(0,g.jsx)(f.GridContentRenderer,{children:(0,g.jsx)(f.Grid,{autoWidth:!0,columns:t,data:[i]})})},E=e=>{var l;let{column:n,objectId:t,pipelineValue:i}=e,{t:a}=(0,v.useTranslation)(),{currentLanguage:o}=(0,b.useLanguageSelection)(),r=void 0!==i&&Object.keys(i).length>0?i:n.pipeline,s=!0===n.localizable?n.locale??o:void 0,{data:d,error:c,isFetching:u}=j.api.endpoints.dataObjectGetGridPreview.useQuery({body:{objectId:t,column:{type:n.type,key:n.key,locale:s,config:void 0!==r?{advancedColumns:r.sourceFields??[],transformers:r.transformers}:void 0}}}),p=(0,h.useRef)(d);if(void 0!==d&&(p.current=d),void 0!==c){let e=\"error\"in c?c.error:a(\"data-hub.column-config-modal.preview.error\");return(0,g.jsx)(f.Text,{type:\"danger\",children:e})}if(u&&void 0===p.current)return(0,g.jsx)(f.Text,{type:\"secondary\",children:a(\"data-hub.column-config-modal.preview.loading\")});let m=null==(l=p.current)?void 0:l.value;return null!=m&&Array.isArray(m)&&0!==m.length?(0,g.jsx)(D,{value:m}):(0,g.jsx)(f.Text,{type:\"secondary\",children:a(\"data-hub.column-config-modal.preview.no-data\")})},P=e=>{let{column:l,objectId:n,pipelineValue:t}=e,{t:i}=(0,v.useTranslation)(),[a,o]=(0,h.useState)(t);return(0,h.useEffect)(()=>{let e=setTimeout(()=>{o(t)},300);return()=>{clearTimeout(e)}},[t]),(0,g.jsx)(f.Box,{padding:{top:\"small\",bottom:\"none\",x:\"small\"},children:(0,g.jsxs)(f.Flex,{align:\"center\",gap:\"small\",children:[(0,g.jsxs)(f.Text,{style:{wordBreak:\"keep-all\"},children:[i(\"grid.advanced-column.preview\"),\":\"]}),null===n?(0,g.jsx)(f.Text,{type:\"secondary\",children:i(\"data-hub.column-config-modal.preview.placeholder\")}):(0,g.jsx)(E,{column:l,objectId:n,pipelineValue:a})]})})},L=e=>{let{column:l,entity:n,config:t,objectId:i,value:a,onChange:o,sourceFieldsRegistryId:r,transformersRegistryId:s}=e,{t:d}=(0,v.useTranslation)(),[c]=f.Form.useForm(),[u,p]=(0,h.useState)(a??{});return(0,h.useEffect)(()=>{c.setFieldValue(\"value\",a??{})},[a]),(0,g.jsx)(f.Form,{form:c,initialValues:{value:a??{}},layout:\"vertical\",onValuesChange:e=>{let l=c.getFieldValue(\"value\");void 0===l||(0,C.isEqual)(u,l)||(p(l),null==o||o(l))},children:(0,g.jsx)(f.PipelineConfigProvider,{initialConfig:t??{},children:(0,g.jsx)(f.Form.Item,{name:\"value\",children:(0,g.jsx)(f.Pipeline,{items:[{id:\"title\",component:(0,g.jsx)(f.Pipeline.CustomItem,{children:(0,g.jsx)(f.Box,{padding:{top:\"mini\",bottom:\"mini\",x:\"none\"},children:(0,g.jsx)(f.Form.Item,{name:\"title\",children:(0,g.jsx)(f.Input,{placeholder:d(\"data-hub.column-config-modal.pipeline.title\"),style:{maxWidth:\"100%\"}})})})})},{id:\"fields\",component:(0,g.jsx)(f.Pipeline.CustomItem,{children:(0,g.jsx)(f.SplitLayout,{leftItem:{children:(0,g.jsx)(f.Pipeline.DynamicGroupItem,{dynamicTypeRegistryId:r,id:\"sourceFields\",showTitle:!0,translationKeyPrefix:\"data-hub.column-config-modal.pipeline\"}),size:50},rightItem:{children:(0,g.jsx)(f.Pipeline.DynamicGroupItem,{dynamicTypeRegistryId:s,id:\"transformers\",showTitle:!0,translationKeyPrefix:\"data-hub.column-config-modal.pipeline\"}),size:50},withDivider:!0})})},{id:\"preview\",component:(0,g.jsx)(f.Pipeline.CustomItem,{children:void 0!==l&&(0,g.jsx)(P,{column:l,objectId:i??null,pipelineValue:u})})}],value:a??{}})})})})},N=e=>{let{column:l,entity:n,objectId:t,onPipelineChange:i,sourceFieldsRegistryId:a,transformersRegistryId:o}=e;return(0,g.jsx)(L,{column:l,config:l.pipelineConfig,entity:n,objectId:t,onChange:e=>{i(l._id,e)},sourceFieldsRegistryId:a,transformersRegistryId:o,value:l.pipeline})};var _=n(8972);let B=e=>{let{value:l,onChange:n}=e,t=(0,_.useUser)(),i=[\"-\",...Array.isArray(t.contentLanguages)?t.contentLanguages:[]];return(0,g.jsx)(f.LanguageSelection,{languages:i,onSelectLanguage:e=>{n(\"-\"===e?null:e)},selectedLanguage:l??\"-\"})};var z=n(7925),G=n(5303),M=n(3842);let O=[{key:\"id\",type:\"system.id\",group:[\"system\"],config:[]},{key:\"fullpath\",type:\"system.string\",group:[\"system\"],config:[]}],R=(0,h.forwardRef)(function(e,l){var n;let{entity:t,classDefinitionId:i,columns:a,onApply:o,onCancel:r,hideToolbar:s=!1,sourceFieldsRegistryId:d,transformersRegistryId:c,language:u,onLanguageChange:p}=e,{t:m}=(0,v.useTranslation)(),y=(0,_.useUser)(),x=u??(null==(n=y.contentLanguages)?void 0:n[0])??\"en\",[I,k]=(0,h.useState)(x),[A,D]=(0,h.useState)(!1);(0,h.useEffect)(()=>{null==p||p(I)},[]);let E=(0,h.useCallback)(e=>{k(e),null==p||p(e)},[p]),P=(0,h.useMemo)(()=>({currentLanguage:I,setCurrentLanguage:E,hasLocalizedFields:A,setHasLocalizedFields:D}),[I,E,A]),{draft:L,isLoading:R,objectId:H,addColumnMenu:V,openElementSelector:W,handleAddColumnOfType:U,handlePipelineChange:Y,handleRemove:Q,handleApply:$,handleDiscard:K,handleLocaleChange:X,handleReorder:q,getColumns:J}=(e=>{let{entity:l,classDefinitionId:n,columns:t,onApply:i,onCancel:a}=e,{getByName:o}=(0,b.useClassDefinitions)(),r=(0,h.useMemo)(()=>{var e;return(0,C.isNil)(n)?(null==(e=o(l))?void 0:e.id)??l:n},[n,l,o]),{data:s,isLoading:d}=j.api.endpoints.dataObjectGetAvailableGridColumns.useQuery({classId:r,folderId:1}),[c,u]=(0,h.useState)(()=>t.map(w));(0,h.useEffect)(()=>{u(t.map(w))},[t]);let[p,m]=(0,h.useState)(null),g=(0,h.useRef)(!1),{data:y}=j.api.endpoints.dataObjectGetGrid.useQuery({classId:r,body:{folderId:1,columns:O,filters:{includeDescendants:!0,page:1,pageSize:1}}},{skip:void 0===r});(0,h.useEffect)(()=>{var e;if(g.current)return;let l=null==y||null==(e=y.items)?void 0:e[0];(null==l?void 0:l.id)!==void 0&&m(l.id)},[null==y?void 0:y.items]);let{open:f}=(0,M.useElementSelector)({selectionType:M.SelectionType.Single,areas:{object:!0,asset:!1,document:!1},config:{objects:{allowedTypes:[\"object\"],...void 0!==l?{allowedClasses:[l]}:{}}},onFinish:e=>{var l;let n=null==e||null==(l=e.items)?void 0:l[0];void 0!==n&&(g.current=!0,m(n.data.id))}}),v=(null==s?void 0:s.columns)??[];(0,h.useEffect)(()=>{0!==v.length&&u(e=>e.map(e=>{let l=v.find(l=>l.key===e.key||e.type===S&&l.type===e.type);return void 0===l?e:{...e,localizable:e.localizable??l.localizable,pipelineConfig:e.pipelineConfig??l.config}}))},[v]);let x=(0,h.useCallback)(e=>{u(l=>[...l,{_id:crypto.randomUUID(),key:e.key,fieldtype:e.key,type:e.type,pipelineConfig:e.config,localizable:e.localizable}])},[]),I=T(v,x);return{draft:c,isLoading:d,objectId:p,availableFields:v,addColumnMenu:I,openElementSelector:f,handleAddColumnOfType:x,handlePipelineChange:(e,l)=>{u(n=>n.map(n=>n._id===e?{...n,pipeline:l}:n))},handleRemove:e=>{u(l=>l.filter(l=>l._id!==e))},handleApply:()=>{i(c.filter(e=>\"\"!==e.key).map(F))},handleDiscard:()=>{u(t.map(w)),a()},handleLocaleChange:(e,l)=>{u(n=>n.map(n=>n._id===e?{...n,locale:l}:n))},handleReorder:e=>{u(l=>e.map(e=>l.find(l=>l._id===e)).filter(e=>void 0!==e))},getColumns:()=>c.filter(e=>\"\"!==e.key).map(F)}})({entity:t,classDefinitionId:i,columns:a,onApply:o,onCancel:r});(0,h.useImperativeHandle)(l,()=>({getColumns:J,addColumn:U}),[J,U]);let Z=L.map(e=>{var l,n;let i=e.type===S,a=\"\"===e.key?\"\":e.key;return{id:e._id,sortable:!0,type:i?\"collapse\":\"default\",children:i?(0,g.jsx)(z.A,{color:\"purple\",children:(0,C.isNil)(null==(l=e.pipeline)?void 0:l.title)?a:String(null==(n=e.pipeline)?void 0:n.title)}):(0,g.jsx)(z.A,{children:a}),...i?{body:void 0!==e.pipelineConfig?(0,g.jsx)(N,{column:e,entity:t,objectId:H,onPipelineChange:Y,sourceFieldsRegistryId:d,transformersRegistryId:c}):(0,g.jsx)(f.Spin,{})}:{},renderRightToolbar:(0,g.jsxs)(f.Space,{size:\"mini\",children:[!0===e.localizable&&i&&(0,g.jsx)(B,{onChange:l=>{X(e._id,l)},value:e.locale}),(0,g.jsx)(f.IconButton,{icon:{value:\"trash\"},onClick:()=>{Q(e._id)},theme:\"secondary\"})]})}});return R?(0,g.jsx)(f.Flex,{align:\"center\",justify:\"center\",style:{minHeight:200},children:(0,g.jsx)(f.Spin,{})}):(0,g.jsx)(b.LanguageSelectionContext.Provider,{value:P,children:(0,g.jsx)(f.ContentLayout,{renderToolbar:s?void 0:(0,g.jsxs)(f.Toolbar,{padding:{x:\"none\",y:\"small\"},theme:\"secondary\",children:[(0,g.jsx)(f.Dropdown,{menu:V,children:(0,g.jsx)(f.IconTextButton,{icon:{value:\"new\"},children:m(\"data-hub.column-config-modal.add-column\")})}),(0,g.jsxs)(f.Space,{size:\"extra-small\",children:[(0,g.jsx)(f.Button,{onClick:K,type:\"default\",children:m(\"data-hub.column-config-modal.discard\")}),(0,g.jsx)(f.Button,{onClick:$,type:\"primary\",children:m(\"data-hub.column-config-modal.apply\")})]})]}),renderTopBar:(0,g.jsxs)(f.Toolbar,{align:\"center\",position:\"content\",theme:\"secondary\",children:[(0,g.jsx)(f.Button,{onClick:W,children:m(\"data-hub.column-config-modal.preview.select-object\")}),(0,g.jsx)(b.LanguageSelectionWithProvider,{})]}),children:(0,g.jsx)(f.Content,{padded:!0,padding:{x:\"none\",y:\"small\"},style:{height:\"calc(80vh - 200px)\"},children:(0,g.jsxs)(f.Space,{direction:\"vertical\",style:{width:\"100%\"},children:[0===L.length&&(0,g.jsx)(G.A,{image:G.A.PRESENTED_IMAGE_SIMPLE}),L.length>0&&(0,g.jsx)(f.StackList,{items:Z,onItemsChange:e=>{q(e.map(e=>String(e.id)))},sortable:!0})]})})})})});var H=n(1436),V=n(969);let W=(0,n(5840).rU)(e=>{let{css:l}=e;return{fullWidth:l`\n      width: 100%;\n    `}}),U=\"YYYY-MM-DD HH:mm\",Y=()=>{let{t:e}=(0,v.useTranslation)(),{styles:l}=W(),[n]=f.Form.useForm(),{dateFrom:t,setDateFrom:i,dateTo:a,setDateTo:o,relatedObjectId:r,setRelatedObjectId:s,message:d,setMessage:c,pid:u,setPid:p,resetFilters:m,updateFilters:h,isLoading:y}=(0,V.useFilter)();return(0,g.jsx)(f.ContentLayout,{renderToolbar:(0,g.jsxs)(f.Toolbar,{theme:\"secondary\",children:[(0,g.jsx)(f.IconTextButton,{disabled:y,icon:{value:\"close\"},onClick:()=>{m(),n.resetFields()},type:\"link\",children:e(\"sidebar.clear-all-filters\")}),(0,g.jsx)(f.Button,{disabled:y,loading:y,onClick:h,type:\"primary\",children:e(\"button.apply\")})]}),children:(0,g.jsx)(f.Content,{padded:!0,children:(0,g.jsx)(f.Form,{form:n,layout:\"vertical\",children:(0,g.jsxs)(f.Space,{className:l.fullWidth,direction:\"vertical\",size:\"none\",children:[(0,g.jsx)(f.Title,{children:e(\"application-logger.sidebar.search-parameter\")}),(0,g.jsx)(f.Form.Item,{label:e(\"application-logger.filter.date-from\"),name:\"dateFrom\",children:(0,g.jsx)(f.DatePicker,{className:\"w-full\",format:U,onChange:e=>{i(e)},outputType:\"dateString\",showTime:{format:\"HH:mm\"},value:t})}),(0,g.jsx)(f.Form.Item,{label:e(\"application-logger.filter.date-to\"),name:\"dateTo\",children:(0,g.jsx)(f.DatePicker,{className:\"w-full\",format:U,onChange:e=>{o(e)},outputType:\"dateString\",showTime:{format:\"HH:mm\"},value:a})}),(0,g.jsx)(f.Form.Item,{label:e(\"application-logger.filter.priority\"),name:\"priority\",children:(0,g.jsx)(V.PrioritySelect,{})}),(0,g.jsx)(f.Form.Item,{label:e(\"application-logger.filter.message\"),name:\"message\",children:(0,g.jsx)(f.Input,{onChange:e=>{let l=e.target.value;c(\"\"===l?null:l)},value:d??void 0})}),(0,g.jsx)(f.Form.Item,{label:e(\"application-logger.filter.related-object-id\"),name:\"relatedObjectId\",children:(0,g.jsx)(f.Input,{min:\"0\",onChange:e=>{let l=e.target.value;s(\"\"===l?null:Number.parseInt(l))},step:\"1\",type:\"number\",value:r??void 0})}),(0,g.jsx)(f.Form.Item,{label:e(\"application-logger.filter.pid\"),name:\"pid\",children:(0,g.jsx)(f.Input,{min:\"0\",onChange:e=>{let l=e.target.value;p(\"\"===l?null:Number.parseInt(l))},step:\"1\",type:\"number\",value:u??void 0})})]})})})})},Q=e=>{let{children:l}=e,[n,t]=(0,h.useState)(\"filter\"),i=(0,h.useMemo)(()=>({entries:[],buttons:[],sizing:\"default\",highlights:[],activeTab:n,setEntries:()=>{},setButtons:()=>{},setSizing:()=>{},setHighlights:()=>{},setActiveTab:t,addEntry:()=>{},removeEntry:()=>{},addButton:()=>{},removeButton:()=>{},toggleHighlight:()=>{},openTab:e=>{t(e)},closeTab:()=>{t(\"\")},toggleTab:e=>{t(l=>l===e?\"\":e)}}),[n]);return(0,g.jsx)(f.SidebarContext.Provider,{value:i,children:l})},$=e=>(0,g.jsx)(V.FilterProvider,{children:(0,g.jsx)(K,{...e})}),K=e=>{let{componentPrefix:l,configName:n}=e,{t}=(0,v.useTranslation)(),i=[{key:\"filter\",icon:(0,g.jsx)(f.Icon,{options:{width:\"16px\",height:\"16px\"},value:\"filter\"}),component:(0,g.jsx)(Y,{})}],a=(0,v.useAppDispatch)(),[o,r]=(0,h.useState)(1),[s,d]=(0,h.useState)(20),{columnFilters:c,setIsLoading:u}=(0,V.useFilter)(),p=[...c,{key:\"component\",type:\"equals\",filterValue:l+n}],{data:m,isFetching:y}=(0,V.useBundleApplicationLoggerGetCollectionQuery)({body:{filters:{page:o,pageSize:s,columnFilters:p}}}),x=(null==m?void 0:m.totalItems)??0,j=(0,h.useCallback)(()=>{a(V.api.util.invalidateTags(H.invalidatingTags.APPLICATION_LOGGER()))},[a]),{refreshInterval:b,setRefreshInterval:T}=(e=>{let[l,n]=(0,h.useState)(void 0),t=(0,h.useCallback)(e,[e]);return(0,h.useEffect)(()=>{if((0,C.isNil)(l))return;let e=setInterval(()=>{t()},1e3*Number.parseInt(l));return()=>{clearInterval(e)}},[l,t]),{refreshInterval:l,setRefreshInterval:n}})(j);return(0,h.useEffect)(()=>{u(y)},[y]),(0,g.jsx)(Q,{children:(0,g.jsx)(f.ContentLayout,{className:\"h-full\",renderSidebar:(0,g.jsx)(f.Sidebar,{entries:i}),renderToolbar:(0,g.jsxs)(f.Toolbar,{justify:\"space-between\",theme:\"secondary\",children:[(0,g.jsxs)(f.Flex,{align:\"center\",gap:8,children:[!(0,C.isNil)(b)&&(0,g.jsx)(\"span\",{children:t(\"application-logger.refresh-interval\")}),(0,g.jsx)(f.CreatableSelect,{allowClear:!0,inputType:\"number\",minWidth:200,numberInputProps:{min:1},onChange:T,onCreateOption:e=>({value:e,label:t(\"application-logger.refresh-interval.seconds\",{seconds:e})}),options:[{value:\"3\",label:t(\"application-logger.refresh-interval.seconds\",{seconds:3})},{value:\"5\",label:t(\"application-logger.refresh-interval.seconds\",{seconds:5})},{value:\"10\",label:t(\"application-logger.refresh-interval.seconds\",{seconds:10})},{value:\"30\",label:t(\"application-logger.refresh-interval.seconds\",{seconds:30})},{value:\"60\",label:t(\"application-logger.refresh-interval.seconds\",{seconds:60})}],placeholder:t(\"application-logger.refresh-interval.select\"),validate:e=>!Number.isNaN(Number.parseInt(e))&&Number.parseInt(e)>0,value:b})]}),(0,g.jsxs)(f.Flex,{children:[(0,g.jsx)(f.IconButton,{disabled:y,icon:{value:\"refresh\"},onClick:j}),x>0&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(f.Divider,{size:\"small\",type:\"vertical\"}),(0,g.jsx)(f.Pagination,{current:o,defaultPageSize:s,onChange:(e,l)=>{r(e),d(l)},showSizeChanger:!0,showTotal:e=>t(\"pagination.show-total\",{total:e}),total:x})]})]})]}),children:(0,g.jsx)(f.Content,{loading:y,padded:!0,children:(0,g.jsx)(V.ApplicationLoggerTable,{items:(null==m?void 0:m.items)??[]})})})})}}}]);"
  },
  {
    "path": "src/Resources/public/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/async/__federation_expose_default_export.87553f32.js.LICENSE.txt",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */"
  },
  {
    "path": "src/Resources/public/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/async/__federation_expose_plugins.c4cf01bd.js",
    "content": "/*! For license information please see __federation_expose_plugins.c4cf01bd.js.LICENSE.txt */\n\"use strict\";(self[\"chunk_pimcore_datahub_bundle \"]=self[\"chunk_pimcore_datahub_bundle \"]||[]).push([[\"185\"],{102(e,t,r){r.r(t),r.d(t,{DataHubPlugin:()=>ty});var a=r(2977),i=r(4781),n=r(6985),l=r(17);let s={onInit:()=>{a.container.get(l.s[\"DataHub/DynamicTypes/Adapter/Registry\"]).registerDynamicType(a.container.get(l.s[\"DataHub/DynamicTypes/Adapter/GraphQL\"]));let e=a.container.get(i.serviceIds.widgetManager),t=a.container.get(i.serviceIds.mainNavRegistry);e.registerWidget({name:\"data-hub-configuration\",component:n.y}),t.registerMainNavItem({path:\"AutomationIntegration/DataHub\",label:\"data-hub.configuration\",order:100,permission:\"plugin_datahub_config\",perspectivePermission:\"automationIntegration.dataHubConfiguration\",className:\"item-style-modifier\",widgetConfig:{name:\"Data Hub Configuration\",id:\"data-hub-configuration\",component:\"data-hub-configuration\",config:{translationKey:\"data-hub.configuration\",icon:{type:\"name\",value:\"datahub\"}}}})}},o={onInit:()=>{let e=a.container.get(l.s[\"DataHub/DynamicTypes/Operator/GraphQL/QueryRegistry\"]);e.registerDynamicType(a.container.get(l.s[\"DataHub/DynamicTypes/Operator/Alias\"])),e.registerDynamicType(a.container.get(l.s[\"DataHub/DynamicTypes/Operator/Concatenator\"])),e.registerDynamicType(a.container.get(l.s[\"DataHub/DynamicTypes/Operator/DateFormatter\"])),e.registerDynamicType(a.container.get(l.s[\"DataHub/DynamicTypes/Operator/ElementCounter\"])),e.registerDynamicType(a.container.get(l.s[\"DataHub/DynamicTypes/Operator/Substring\"])),e.registerDynamicType(a.container.get(l.s[\"DataHub/DynamicTypes/Operator/Text\"])),e.registerDynamicType(a.container.get(l.s[\"DataHub/DynamicTypes/Operator/Thumbnail\"])),e.registerDynamicType(a.container.get(l.s[\"DataHub/DynamicTypes/Operator/ThumbnailHtml\"])),e.registerDynamicType(a.container.get(l.s[\"DataHub/DynamicTypes/Operator/TranslateValue\"])),e.registerDynamicType(a.container.get(l.s[\"DataHub/DynamicTypes/Operator/Trimmer\"]));let t=a.container.get(l.s[\"DataHub/DynamicTypes/Operator/GraphQL/MutationRegistry\"]);t.registerDynamicType(a.container.get(l.s[\"DataHub/DynamicTypes/Operator/IfEmpty\"])),t.registerDynamicType(a.container.get(l.s[\"DataHub/DynamicTypes/Operator/LocaleCollector\"])),t.registerDynamicType(a.container.get(l.s[\"DataHub/DynamicTypes/Operator/LocaleSwitcher\"])),e.registerGroupConfig(\"formatter\",{icon:{type:\"name\",value:\"formatters\",colorToken:\"colorCodingRed2\"},priority:10}),e.registerGroupConfig(\"transformer\",{icon:{type:\"name\",value:\"transformers\",colorToken:\"colorCodingViolet2\"},priority:20}),e.registerGroupConfig(\"other\",{icon:{type:\"name\",value:\"other-operators\",colorToken:\"colorCodingBeige2\"},priority:30}),t.registerGroupConfig(\"other\",{icon:{type:\"name\",value:\"other-operators\",colorToken:\"colorCodingBeige2\"},priority:30})}};var u=r(8576),c=r(1635),d=r(4848),p=r(2812),m=r.n(p),h=r(5667),b=r(2696),g=r(7799),y=r(970),x=r(3888),f=r(2543),j=r(3090),C=r(9788);let v=e=>{let{type:t,value:r=[],onChange:a}=e,{t:n}=(0,i.useTranslation)(),[l,s]=(0,p.useState)(!1),[o,u]=(0,p.useState)([]),{getAllClassDefinitions:c}=(0,j.useClassDefinitions)(),m=(0,p.useMemo)(()=>c(),[c]),h=(0,p.useMemo)(()=>r.map(e=>e.entity),[r]),g=(0,p.useMemo)(()=>m.filter(e=>!h.includes(e.name)).map(e=>({value:e.name,label:e.name,searchValue:e.name})),[m,h]),y=()=>{u([]),s(!1)},x=()=>{o.length>0&&!(0,f.isNil)(a)&&a([...r,...o.map(e=>\"query\"===t?{id:e,entity:e}:{id:e,entity:e,create:!1,update:!0,delete:!1})]),u([]),s(!1)},v=(0,p.useMemo)(()=>({key:t,id:t,title:(0,d.jsx)(d.Fragment,{children:n(`data-hub.schema.${t}-schema`)}),info:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(b.IconTextButton,{icon:{value:\"add-find\"},onClick:e=>{e.stopPropagation(),u([]),s(!0)},children:n(\"add\")}),l&&(0,d.jsxs)(C.f,{children:[(0,d.jsx)(b.Select,{listHeight:150,mode:\"multiple\",onChange:e=>{u(e)},optionFilterProp:\"searchValue\",options:g,placeholder:n(\"data-hub.schema.select-class\"),placement:\"topLeft\",showSearch:!0,style:{width:\"400px\"},value:o}),(0,d.jsxs)(b.Flex,{gap:\"small\",justify:\"flex-end\",style:{marginTop:\"12px\"},children:[(0,d.jsx)(b.Button,{onClick:y,type:\"default\",children:n(\"button.cancel\")}),(0,d.jsx)(b.Button,{onClick:x,type:\"primary\",children:n(\"button.apply\")})]})]})]}),children:(0,d.jsx)(b.OperationalGrid.Grid,{})}),[t,l,g,o]);return(0,d.jsx)(b.Accordion,{activeKey:t,bordered:!0,collapsible:\"icon\",items:[v],size:\"small\",table:!0})};var k=r(8267);function T(e,t){return e.map(e=>{let r=t(e);return{...r,attributes:{...r.attributes,...Array.isArray(e.attributes.children)?{children:T(e.attributes.children,t)}:{}}}})}function D(e){return T(e,e=>({...e,attributes:{...e.attributes}}))}function S(e){return T(e,e=>({...e,key:(0,k.isNonEmptyString)(e.key)?e.key:(0,k.uuid)(),attributes:{...e.attributes}}))}function N(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];for(let a=0;a<e.length;a++){let i=e[a],n=[...r,a];if(i.key===t)return n;if(Array.isArray(i.attributes.children)){let e=N(i.attributes.children,t,n);if(!(0,f.isNil)(e))return e}}return null}function I(e,t){if(0===t.length)return null;let r=e[t[0]]??null;for(let e=1;e<t.length&&!(0,f.isNil)(r);e++){let a=r.attributes.children;if(!Array.isArray(a))return null;r=a[t[e]]??null}return r}function w(e,t){if(0===t.length)return{parent:null,index:-1};if(1===t.length)return{parent:e,index:t[0]};let r=I(e,t.slice(0,-1));return(0,f.isNil)(r)||!Array.isArray(r.attributes.children)?{parent:null,index:-1}:{parent:r.attributes.children,index:t[t.length-1]}}function F(e,t,r){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"after\",i=D(e),n={...t,key:(0,k.isNonEmptyString)(t.key)?t.key:(0,k.uuid)(),attributes:{...t.attributes,...Array.isArray(t.attributes.children)?{children:D(t.attributes.children)}:{}}};if(0===r.length)return i.push(n),i;if(\"into\"===a){let t=I(i,r);return(0,f.isNil)(t)?e:(Array.isArray(t.attributes.children)||(t.attributes.children=[]),t.attributes.children.push(n),i)}let{parent:l,index:s}=w(i,r);return(0,f.isNil)(l)||-1===s?e:(l.splice(\"before\"===a?s:s+1,0,n),i)}function O(e,t){if(0===t.length)return{items:e,removed:null};let r=D(e),{parent:a,index:i}=w(r,t);if((0,f.isNil)(a)||-1===i||i>=a.length)return{items:e,removed:null};let[n]=a.splice(i,1);return{items:r,removed:n}}function A(e){return e.map(e=>{let{children:t,...r}=e.attributes,a={...r};return(0,f.isNil)(t)||(a.children=A(t)),{key:String(e.key??\"\"),isOperator:e.isOperator,attributes:a}})}function M(e){return\"class-attribute\"===e.type?{key:(0,k.uuid)(),isOperator:!1,attributes:{attribute:String(e.data.attribute??e.data.key??\"\"),label:String(e.data.title??\"\"),dataType:String(e.data.dataType??\"text\")}}:\"operator\"===e.type?{key:(0,k.uuid)(),isOperator:!0,attributes:{label:String(e.data.title??\"\"),class:String(e.data.operatorId??\"\"),type:\"operator\",children:[]}}:null}class E{toData(){return{key:this.key,isOperator:this.isOperator,attributes:{...this.attributes}}}constructor(e,t){this.key=e,this.attributes=t}}class G extends E{canHaveChildren(){return!1}canAcceptChild(e){return arguments.length>1&&void 0!==arguments[1]&&arguments[1],!1}getActions(){return[{key:\"delete\",icon:\"trash\"}]}getChildren(e){return[]}constructor(...e){super(...e),this.isOperator=!1}}class P extends E{getOperatorType(){return this.operatorRegistry.getDynamicType(String(this.attributes.class??\"\"),!1)}canHaveChildren(){var e;let t=this.getOperatorType();return void 0!==t&&((null==(e=t.allowsChildren)?void 0:e.call(t))??!1)}canAcceptChild(e){var t,r,a;let i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.getOperatorType();if(void 0===n||!this.canHaveChildren())return!1;if(i)return!0;let l=this.toData(),s=(r=e.attributes,a=e.isOperator,{dataType:r.dataType,isOperator:a,operatorClass:a&&!(0,f.isNil)(r.class)?String(r.class):void 0});return(null==(t=n.allowChild)?void 0:t.call(n,l,s))??!0}getActions(){return[{key:\"edit\",icon:\"edit\"},{key:\"delete\",icon:\"trash\"}]}getChildren(e){return(this.attributes.children??[]).map(t=>H(t,e))}constructor(e,t,r){super(e,t),this.operatorRegistry=r,this.isOperator=!0}}function H(e,t){return e.isOperator?new P(e.key,e.attributes,t):new G(e.key,e.attributes)}function L(e,t,r){if(\"tree-item\"!==e.type||(0,f.isNil)(e.data.key))return null;let a=N(t,String(e.data.key));if((0,f.isNil)(a))return null;let i=I(t,a);return(0,f.isNil)(i)?null:{item:H(i,r),path:a}}function $(e,t){let r=M(e);return(0,f.isNil)(r)?null:H(r,t)}let B=(0,p.createContext)(null),V=()=>{let e=(0,p.useContext)(B);if(null===e)throw Error(\"useTreeContext must be used within a TreeProvider\");return e},z=e=>{let{children:t,entityConfig:r,operatorRegistryServiceId:a,disabled:n=!1,onEntityConfigChange:l,onOperatorAdded:s}=e,o=(0,i.useInjection)(a),u=(0,i.useInjection)(i.serviceIds[\"DynamicTypes/FieldDefinitionRegistry\"]),{items:c,findPath:m,getItem:h,deleteByKey:b,insert:g,appendToRoot:y,updateItemAttributes:x,move:j,canDrop:C,canDropToRoot:v}=(e=>{let{entityConfig:t,onEntityConfigChange:r,operatorRegistry:a}=e,i=(0,p.useRef)(!1),[n,l]=(0,p.useState)(()=>{var e;return S(A((null==t||null==(e=t.columnConfig)?void 0:e.columns)??[]))}),s=(0,p.useRef)(n);s.current=n,(0,p.useEffect)(()=>{var e;if(i.current){i.current=!1;return}l(S(A((null==t||null==(e=t.columnConfig)?void 0:e.columns)??[])))},[t]);let o=(0,p.useCallback)(e=>{i.current=!0,s.current=e,l(e);let a=function e(t){return t.map(t=>{let{children:r,...a}=t.attributes,i={label:a.label??\"\",dataType:a.dataType??\"\",...a};return(0,f.isNil)(r)||Object.assign(i,{children:e(r)}),{key:t.key,isOperator:t.isOperator,attributes:i}})}(e);r({...t,columnConfig:{...null==t?void 0:t.columnConfig,columns:a}})},[t,r]),u=(0,p.useCallback)(e=>N(n,e),[n]),c=(0,p.useCallback)(e=>I(n,e),[n]),d=(0,p.useCallback)(e=>{let t=N(n,e);if((0,f.isNil)(t))return;let{items:r}=O(n,t);o(r)},[n,o]),m=(0,p.useCallback)((e,t,r)=>{o(F(n,e,t,r))},[n,o]),h=(0,p.useCallback)(e=>{o([...n,e])},[n,o]),b=(0,p.useCallback)((e,t)=>{o(T(n,r=>r.key===e?{...r,attributes:{...r.attributes,...t}}:r))},[n,o]),g=(0,p.useCallback)((e,t,r)=>{let a=N(n,e);if((0,f.isNil)(a))return;let{items:i,removed:l}=O(n,a);(0,f.isNil)(l)||o(F(i,l,function(e,t){if(0===e.length||0===t.length)return e;if(e.length>=t.length){let r=t.length-1;if(t.slice(0,r).every((t,r)=>t===e[r])&&t[r]<e[r]){let t=[...e];return t[r]--,t}}return e}(t,a),r))},[n,o]);return{items:n,updateItems:o,updateItemAttributes:b,findPath:u,getItem:c,deleteByKey:d,insert:m,appendToRoot:h,move:g,canDrop:(0,p.useCallback)((e,t,r)=>{let i=s.current;if(\"tree-item\"===e.type&&e.data.key===t)return!1;let n=N(i,t);if((0,f.isNil)(n))return!1;let l=I(i,n);if((0,f.isNil)(l))return!1;if(\"into\"===r)return function(e,t,r,a,i){let n=H(t,i);if(!n.canHaveChildren())return!1;let l=L(e,a,i);if(!(0,f.isNil)(l)){var s;let e=(s=l.path,s.length===r.length+1&&s.slice(0,-1).every((e,t)=>e===r[t]));return n.canAcceptChild(l.item,e)}let o=$(e,i);return!(0,f.isNil)(o)&&n.canAcceptChild(o,!1)}(e,l,n,i,a);if(n.length<=1)return!0;let o=I(i,n.slice(0,-1));return(0,f.isNil)(o)||function(e,t,r,a,i){let n=H(t,i),l=L(e,a,i);if(!(0,f.isNil)(l)){var s;return s=l.path,!!(s.length===r.length&&s.slice(0,-1).every((e,t)=>e===r.slice(0,-1)[t]))||n.canAcceptChild(l.item,!1)}let o=$(e,i);return!(0,f.isNil)(o)&&n.canAcceptChild(o,!1)}(e,o,n,i,a)},[a]),canDropToRoot:(0,p.useCallback)(e=>!0,[])}})({entityConfig:r,onEntityConfigChange:l,operatorRegistry:o}),k=(0,p.useCallback)(e=>\"class-attribute\"===e.type||\"operator\"===e.type||\"tree-item\"===e.type,[]),D=(0,p.useCallback)((e,t,r)=>{let a=m(t);if((0,f.isNil)(a))return void console.warn(\"handleDrop: Target not found\",t);if(\"tree-item\"===e.type&&!(0,f.isNil)(e.data.key))return void j(String(e.data.key),a,r);let i=M(e);!(0,f.isNil)(i)&&(g(i,a,r),i.isOperator&&(null==s||s(i)))},[m,j,g,s]),w=(0,p.useCallback)(e=>{if(\"tree-item\"===e.type&&!(0,f.isNil)(e.data.key)){let t=m(String(e.data.key));if(!(0,f.isNil)(t)&&1===t.length)return;j(String(e.data.key),[c.length],\"before\");return}let t=M(e);!(0,f.isNil)(t)&&(y(t),t.isOperator&&(null==s||s(t)))},[c,m,j,y,s]),E=(0,p.useMemo)(()=>({items:c,operatorRegistry:o,fieldDefinitionRegistry:u,findPath:m,getItem:h,deleteByKey:b,insert:g,move:j,updateItemAttributes:x,canDrop:C,canDropToRoot:v,isValidDragType:k,handleDrop:D,handleDropToRoot:w}),[c,o,u,m,h,b,g,j,x,C,v,k,D,w]);return(0,d.jsx)(B.Provider,{value:E,children:t})};function R(){let{t:e}=(0,i.useTranslation)(),t=(0,p.useCallback)(t=>e(`data-hub.operator.${(0,f.kebabCase)(t.id)}`),[]);return{getLocalizedName:t,getGroup:(0,p.useCallback)(t=>{let r=t.getGroup(),a=t.getSubGroup();return{group:e(`data-hub.operator.group.${(0,f.kebabCase)(r)}`),subGroup:(0,f.isNil)(a)?void 0:e(`data-hub.operator.subgroup.${(0,f.kebabCase)(a)}`)}},[]),getIcon:(0,p.useCallback)((e,t)=>{let r=e.getIcon();if(!(0,f.isNil)(r.colorToken))return r;let a=e.getGroup(),i=t.getGroupConfig(a);return(0,f.isNil)(null==i?void 0:i.icon.colorToken)?r:{...r,colorToken:i.icon.colorToken}},[])}}let q=e=>{let{itemData:t,initialComponent:r,hasExpandedChildren:a,disabled:i=!1}=e,{operatorRegistry:n,fieldDefinitionRegistry:l,canDrop:s,isValidDragType:o,handleDrop:u}=V(),{getIcon:c}=R(),m=t.key,h=H(t,n),g=e=>\"tree-item\"===e.type&&e.data.key===m,y=(0,p.useMemo)(()=>{let e=[{id:\"sorting-top\",className:\"dnd__sorting dnd__sorting--top\",isValidContext:e=>o(e),isValidData:e=>!g(e)&&s(e,m,\"before\"),position:{x:0,y:0,width:\"100%\",height:\"30%\"},onDrop:e=>{u(e,m,\"before\")}},{id:\"drop-middle\",isValidContext:e=>o(e),isValidData:e=>!g(e)&&h.canHaveChildren()&&s(e,m,\"into\"),position:{x:\"0\",y:\"30%\",width:\"100%\",height:\"40%\"},onDrop:e=>{u(e,m,\"into\")}}];return a||e.push({id:\"sorting-bottom\",className:\"dnd__sorting dnd__sorting--bottom\",isValidContext:e=>o(e),isValidData:e=>!g(e)&&s(e,m,\"after\"),position:{x:0,y:\"70%\",width:\"100%\",height:\"30%\"},onDrop:e=>{u(e,m,\"after\")}}),e},[m,h,o,s,u,a]),x=(0,p.useMemo)(()=>{if(t.isOperator&&!(0,f.isNil)(t.attributes.class)){let e=n.getDynamicType(String(t.attributes.class),!1);return(0,f.isNil)(e)?void 0:c(e,n)}if(!(0,f.isNil)(t.attributes.dataType)){let e=l.getDynamicType(String(t.attributes.dataType),!1);return(null==e?void 0:e.getIcon())??void 0}},[t,n,l,c]),j=(0,p.useMemo)(()=>({type:\"tree-item\",data:{key:m,isOperator:t.isOperator,title:String(t.attributes.label??t.attributes.attribute??\"\"),dataType:t.attributes.dataType,operatorClass:t.attributes.class},icon:x??{value:\"info\"},title:String(t.attributes.label??t.attributes.attribute??\"\")}),[m,t,x]);return i?(0,d.jsx)(d.Fragment,{children:r}):(0,d.jsx)(b.Draggable,{info:j,children:(0,d.jsx)(b.HotspotDroppable,{disableDndActiveIndicator:!0,hotspots:y,children:r})})};var K=r(5840);let _=(0,K.rU)(e=>{let{token:t,css:r}=e;return{dropZone:r`\n      padding: ${t.paddingSM}px ${t.paddingXS}px;\n      text-align: center;\n      color: ${t.colorTextTertiary};\n      border: 1px dashed ${t.colorBorder};\n      border-radius: ${t.borderRadius}px;\n      min-height: 100px;\n    `}});var W=r(6942),Q=r.n(W);let U=(0,p.forwardRef)(function(e,t){let{t:r}=(0,i.useTranslation)(),{getStateClasses:a}=(0,b.useDroppable)(),{styles:n}=_(),l=a();return(0,d.jsx)(b.Flex,{align:\"center\",className:Q()(n.dropZone,l.join(\" \")),justify:\"center\",ref:t,children:r(\"data-hub.schema.drag-class-attributes-or-operators\")})}),X=()=>{let{isValidDragType:e,canDropToRoot:t,handleDropToRoot:r}=V(),a=(0,p.useCallback)(t=>e(t),[e]),i=(0,p.useCallback)(e=>t(e),[t]),n=(0,p.useCallback)(e=>{r(e)},[r]);return(0,d.jsx)(b.Droppable,{isValidContext:a,isValidData:i,onDrop:n,children:(0,d.jsx)(U,{})})},Y=(0,K.rU)(e=>{let{css:t,token:r}=e;return{treeContainer:t`\n      .ant-tree-title {\n        white-space: nowrap;\n      }\n      \n      .ant-tree-list-holder-inner .ant-tree-treenode {\n        padding: 1px ${r.paddingXS}px;\n      }\n    `}}),Z={value:\"system-columns\",colorToken:\"colorCodingGreen1\"},J=[{key:\"system-id\",attribute:\"id\",translationKey:\"data-hub.schema.system.id\",iconProps:Z},{key:\"system-fullpath\",attribute:\"fullpath\",translationKey:\"data-hub.schema.system.fullpath\",iconProps:Z},{key:\"system-key\",attribute:\"key\",translationKey:\"data-hub.schema.system.key\",iconProps:Z},{key:\"system-published\",attribute:\"published\",translationKey:\"data-hub.schema.system.published\",iconProps:Z},{key:\"system-creationDate\",attribute:\"creationDate\",translationKey:\"data-hub.schema.system.creationDate\",iconProps:Z},{key:\"system-modificationDate\",attribute:\"modificationDate\",translationKey:\"data-hub.schema.system.modificationDate\",iconProps:Z},{key:\"system-filename\",attribute:\"filename\",translationKey:\"data-hub.schema.system.filename\",iconProps:Z},{key:\"system-classname\",attribute:\"classname\",translationKey:\"data-hub.schema.system.classname\",iconProps:Z},{key:\"system-index\",attribute:\"index\",translationKey:\"data-hub.schema.system.index\",iconProps:Z}],ee=new Map(J.map(e=>[e.attribute,e])),et=e=>{let t,{operatorModalConfig:r,disabled:a,setOperatorModalConfig:n}=e,{items:l,operatorRegistry:s,fieldDefinitionRegistry:o,deleteByKey:u,findPath:c,getItem:m,updateItemAttributes:h}=V(),{styles:g}=Y(),y=(e=>{let{items:t,operatorRegistry:r,fieldDefinitionRegistry:a,disabled:n=!1}=e,{t:l}=(0,i.useTranslation)(),{getLocalizedName:s,getIcon:o}=R();return(0,p.useMemo)(()=>{let e=t=>{var i;let u=H(t,r),c=(e=>{let t,i;if(e.isOperator){let t=r.getDynamicType(String(e.attributes.class??\"\"),!1),a={key:e.key,isOperator:!0,attributes:e.attributes};if(null===t)return{icon:void 0,iconProps:void 0,title:String(e.attributes.label??\"\")};let i=o(t,r);return{icon:(0,d.jsx)(b.Icon,{...i,iconColorGroup:\"operator\"}),iconProps:i,title:t.getLabel(a,s(t))??String(e.attributes.label??\"\")}}if(\"system\"===e.attributes.dataType){let t,r;return t=e.attributes.attribute??\"\",void 0===(r=ee.get(t))?{icon:void 0,iconProps:void 0,title:void 0}:{icon:(0,d.jsx)(b.Icon,{...r.iconProps}),iconProps:r.iconProps,title:l(r.translationKey)}}return i=null==(t=a.getDynamicType(e.attributes.dataType??\"\",!1))?void 0:t.getIcon(),{icon:(0,f.isNil)(i)?void 0:(0,d.jsx)(b.Icon,{...i,iconColorGroup:\"fieldDefinition\"}),iconProps:i,title:e.attributes.label??e.attributes.attribute??\"\"}})(t),p=[];return n?t.isOperator&&(p=[{key:\"view\",icon:\"view\"}]):p=u.getActions(),{key:t.key,title:c.title,icon:c.icon,iconProps:c.iconProps,className:\"ant-tree-node--has-drag-and-drop\",actions:p,itemData:t,children:null==(i=t.attributes.children)?void 0:i.map(e)}};return t.map(e)},[t,r,a,n])})({items:l,operatorRegistry:s,fieldDefinitionRegistry:o,disabled:a}),x=(0,p.useMemo)(()=>(function e(t){return(0,f.flatMap)(t,t=>{let r=t.attributes.children;return[t.key,...Array.isArray(r)?e(r):[]]})})(l),[l]),[j,C]=(0,p.useState)([]),v=(0,p.useRef)([]);(0,p.useEffect)(()=>{let e=v.current,t=x.map(String);if(0===e.length&&t.length>0){v.current=t,C(t);return}if(t.length>e.length){let r=t.filter(t=>!e.includes(t)),a=new Set(j.map(String));r.forEach(e=>{let t=c(e);if(null!==t&&t.length>1){let e=m(t.slice(0,-1));(null==e?void 0:e.isOperator)===!0&&a.add(String(e.key))}}),v.current=t,C(Array.from(a));return}if(t.length<e.length){let e=j.filter(e=>t.includes(String(e)));v.current=t,C(e);return}v.current=t},[x,j,c,m]);let T=(0,p.useCallback)(e=>{C(e)},[]),D=(0,p.useCallback)(e=>{(0,f.isNil)(r)||(h(r.itemData.key,e.attributes),n(null))},[r,h,n]),S=(0,p.useCallback)(()=>{n(null)},[n]),N=(0,p.useCallback)((e,t)=>{if(\"delete\"===t){if(a)return;u(e);return}if(\"edit\"===t||\"view\"===t){let t=c(e);if(null===t)return;let r=m(t);if(!(null==r?void 0:r.isOperator)||!(0,k.isNonEmptyString)(r.attributes.class))return;n({itemData:r,operatorId:r.attributes.class})}},[a,u,c,m,n]),I=(0,p.useMemo)(()=>new Set(j),[j]),w=(0,p.useCallback)((e,t)=>{let r=I.has(e.key),i=void 0!==e.children&&e.children.length>0;return(0,d.jsx)(q,{disabled:a,hasExpandedChildren:r&&i,initialComponent:t,itemData:e.itemData})},[I,a]);return(0,d.jsxs)(d.Fragment,{children:[0===l.length?a?(0,d.jsx)(\"div\",{style:{padding:\"16px\",textAlign:\"center\",color:\"#999\"},children:\"No fields configured\"}):(0,d.jsx)(X,{}):(0,d.jsx)(b.TreeElement,{blockNode:!0,className:g.treeContainer,defaultExpandedKeys:j,onActionsClick:N,onExpand:T,selectable:!1,showIcon:!0,titleRender:w,treeData:y}),!(0,f.isNil)(r)&&(t=s.getDynamicType(r.operatorId,!1),(0,f.isNil)(t)?null:t.getConfigModal({config:{key:r.itemData.key,isOperator:!0,attributes:r.itemData.attributes},operator:t,disabled:a,onApply:D,onCancel:S}))]})},er=e=>{let{entityConfig:t,operatorRegistryServiceId:r,disabled:a=!1,onEntityConfigChange:i}=e,[n,l]=(0,p.useState)(null),s=(0,p.useCallback)(e=>{(0,k.isNonEmptyString)(e.attributes.class)&&l({itemData:e,operatorId:e.attributes.class})},[]);return(0,d.jsx)(z,{disabled:a,entityConfig:t,onEntityConfigChange:i,onOperatorAdded:s,operatorRegistryServiceId:r,children:(0,d.jsx)(et,{disabled:a,operatorModalConfig:n,setOperatorModalConfig:l})})},ea=(0,K.rU)(e=>{let{css:t,token:r}=e;return{contentLayout:t`\n      height: 60vh;\n      border-bottom: 1px solid ${r.colorBorderSecondary};\n      \n      .pimcore-content-layout__content {\n        padding-right: ${r.padding}px;\n      }\n    `,gridContainer:t`\n      display: grid;\n      grid-template-columns: 1fr 1fr 1fr;\n      gap: ${r.marginXS}px;\n      width: 100%;\n      align-items: stretch;\n    `}}),ei=e=>{let{node:t,initialComponent:r}=e;return!0!==t.isFieldDefinition?(0,d.jsx)(d.Fragment,{children:r}):(0,d.jsx)(b.Draggable,{info:{type:\"class-attribute\",data:{key:String(t.key),attribute:t.attribute,title:String(t.title),dataType:String(t.dataType??\"text\")},icon:t.iconProps,title:String(t.title)},children:r})};var en=r(3513),el=r(9707);let es=(e,t)=>Array.isArray(e)?e.reduce((e,r)=>{var a,i;let n=!0===r.isFieldDefinition&&(((null==(a=r.title)?void 0:a.toString().toLowerCase().includes(t.toLowerCase()))??!1)||((null==(i=r.attribute)?void 0:i.toLowerCase().includes(t.toLowerCase()))??!1)),l=!(0,f.isNil)(r.children)&&Array.isArray(r.children)?es(r.children,t):[];return(n||l.length>0)&&e.push({...r,children:l.length>0?l:r.children}),e},[]):[],eo=e=>(0,f.flatMapDeep)(e,e=>[...(0,f.isNil)(e.key)?[]:[String(e.key)],...!(0,f.isNil)(e.children)&&Array.isArray(e.children)?eo(e.children):[]]),eu=e=>e.filter(e=>\"objectbricks\"!==e.dataType||!0!==e.isFieldDefinition).map(e=>({...e,children:!(0,f.isNil)(e.children)&&Array.isArray(e.children)?eu(e.children):e.children})),ec=e=>{let{classId:t,enabled:r,searchValue:a=\"\"}=e,n=(0,i.useInjection)(i.serviceIds[\"DynamicTypes/FieldDefinitionRegistry\"]),{t:l}=(0,i.useTranslation)(),{data:s,isLoading:o,isFetching:u}=(0,en.useClassDefinitionGetLayoutByIdQuery)({id:t},{skip:!r,refetchOnMountOrArgChange:!0}),c=(0,p.useMemo)(()=>{let e,t;return(0,f.isNil)(s)?[]:(e=[],t=r=>{r.forEach(r=>{if(\"objectbricks\"===r.fieldtype){let t=r.allowedTypes??[];t.length>0&&e.push({name:r.name,title:r.title??null,allowedTypes:t})}Array.isArray(r.children)&&t(r.children)})},Array.isArray(s.children)&&t(s.children),e)},[s]),m=(0,p.useMemo)(()=>Array.from(new Set((0,f.flatMap)(c,e=>e.allowedTypes))),[c]),{layouts:h,isLoading:g}=(e=>{let t=(0,i.useAppDispatch)(),[r,a]=(0,p.useState)(new Map),[n,l]=(0,p.useState)(e.length>0),s=[...e].sort((e,t)=>e.localeCompare(t)).join(\",\");return(0,p.useEffect)(()=>{if(0===e.length){a(new Map),l(!1);return}l(!0);let r=!1,i=e.map(e=>t(en.api.endpoints.classObjectBrickGetLayoutByKey.initiate({key:e})));return Promise.all(i).then(t=>{if(r)return;let i=new Map;e.forEach((e,r)=>{var a;let n=null==(a=t[r])?void 0:a.data;(0,f.isNil)(n)||i.set(e,n)}),a(i),l(!1)}),()=>{r=!0,i.forEach(e=>{e.unsubscribe()})}},[t,s]),{layouts:r,isLoading:n}})(m),y=(0,p.useMemo)(()=>{let e=e=>t=>{let{fieldDefinition:r,initialTreeItem:a}=t,i=n.getDynamicType(r.fieldtype,!1),l=i instanceof el.DynamicTypeFieldDefinitionDataAbstract,{icon:s,...o}=a,u=r.title??r.name;if(!(0,f.isNil)(e)&&l){let t=`${e}~${r.name}`,n=`${u} (${e}.${r.name})`;return{...o,title:n,className:\"ant-tree-node--has-drag-and-drop\",icon:a.icon,dataType:r.fieldtype,attribute:t,iconProps:(null==i?void 0:i.getIcon())??{value:\"info\"},isFieldDefinition:!0}}let c=l?`${u} (${r.name})`:a.title;return{...o,title:c,className:l?\"ant-tree-node--has-drag-and-drop\":void 0,icon:a.icon,dataType:r.fieldtype,attribute:r.name,iconProps:(null==i?void 0:i.getIcon())??{value:\"info\"},isFieldDefinition:l}};try{let t=(()=>{if((0,f.isNil)(s))return[];let t=(0,el.reduce)({layout:s});if((null==t?void 0:t.structure)===void 0)return[];let{structure:r,fieldDefinitions:a}=t,i=(0,el.buildTree)({structure:r,fieldDefinitions:a,itemCallback:e()});return eu((null==i?void 0:i.children)??[])})();return[{key:\"object-columns\",title:l(\"data-hub.schema.data-object-columns\"),isLeaf:!1,icon:(0,d.jsx)(b.Icon,{value:\"data-object\"}),iconProps:{value:\"data-object\"},children:t},{key:\"system-columns\",title:l(\"data-hub.schema.system-columns\"),isLeaf:!1,icon:(0,d.jsx)(b.Icon,{...Z}),iconProps:Z,children:J.map(e=>{let{key:t,attribute:r,translationKey:a,iconProps:i}=e;return{key:t,title:l(a),isLeaf:!0,dataType:\"system\",icon:(0,d.jsx)(b.Icon,{...i}),iconProps:i,className:\"ant-tree-node--has-drag-and-drop\",attribute:r,isFieldDefinition:!0}})},...(0,f.isNil)(s)||0===h.size?[]:(0,f.flatMap)(m,t=>{let r=h.get(t);if((0,f.isNil)(r))return[];let a=(0,el.reduce)({layout:r});if((0,f.isNil)(null==a?void 0:a.structure))return[];let{structure:i,fieldDefinitions:n}=a,l=(0,el.buildTree)({structure:i,fieldDefinitions:n,itemCallback:e(t)});return[{key:`brick-group-${t}`,title:`${t} Columns`,isLeaf:!1,icon:(0,d.jsx)(b.Icon,{value:\"object-bricks\"}),iconProps:{value:\"object-bricks\"},children:(null==l?void 0:l.children)??[]}]})]}catch(e){return console.error(\"Error building class attributes tree:\",e),[]}},[s,h,m,n,l]),x=(0,p.useMemo)(()=>\"\"===a?y:es(y,a),[a,y]),j=(0,p.useMemo)(()=>\"\"===a?eo(y):eo(x),[a,y,x]),C=(0,p.useCallback)(()=>{let e=t=>(0,f.flatMap)(t,t=>!0===t.isFieldDefinition?[t]:(0,f.isNil)(t.children)?[]:e(t.children)),t=y.find(e=>\"object-columns\"===e.key);return[...(0,f.isNil)(t)||(0,f.isNil)(t.children)?[]:e(t.children),...e(y.filter(e=>\"string\"==typeof e.key&&e.key.startsWith(\"brick-group-\")))]},[y]),v=!o&&!u&&m.length>0&&0===h.size;return{classAttributesTree:y,filteredTree:x,expandedKeys:j,getFieldDefinitions:C,isLoading:o||u||g||v}},ed=(0,K.rU)(e=>{let{css:t}=e;return{treeContainer:t`\n      .ant-tree-title {\n        white-space: nowrap;\n      }\n    `}}),ep=e=>{let{classId:t,enabled:r}=e,{t:a}=(0,i.useTranslation)(),{styles:n}=ed(),[l,s]=(0,p.useState)(\"\"),{filteredTree:o,expandedKeys:u,isLoading:c}=ec({classId:t,enabled:r,searchValue:l}),m=(0,p.useCallback)((e,t)=>(0,d.jsx)(ei,{initialComponent:t,node:e}),[]);return(0,d.jsx)(b.ContentLayout,{renderTopBar:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(b.SidebarTitle,{withBorder:!0,children:a(\"data-hub.schema.class-attributes\")}),(0,d.jsx)(b.Box,{padding:\"small\",children:(0,d.jsx)(b.SearchInput,{onChange:e=>{s(e.target.value)},placeholder:a(\"search\"),style:{width:\"100%\",maxWidth:\"100%\"},value:l,withoutAddon:!0})})]}),children:(0,d.jsx)(b.Content,{loading:c,padding:{x:\"small\",top:\"extra-small\",bottom:\"small\"},children:(0,d.jsx)(b.TreeElement,{className:n.treeContainer,defaultExpandedKeys:u,draggable:!1,selectable:!1,showIcon:!0,titleRender:m,treeData:o})})})},em=e=>{let{groupKey:t,subGroupKey:r,operator:a}=e,i=(0,f.isNil)(r)?`${t}-${a.id}`:`${t}-${r}-${a.id}`;return(0,d.jsx)(b.Draggable,{info:{type:\"operator\",data:{key:i,title:a.localizedName,operatorId:a.id},icon:a.icon,title:a.localizedName},children:(0,d.jsx)(b.GridButton,{icon:a.icon,label:a.localizedName})},i)},eh=e=>{let{operatorRegistryServiceId:t,gridContainerClassName:r,groupName:a,translatedGroupName:n}=e,{t:l}=(0,i.useTranslation)(),s=(0,i.useInjection)(t),{getLocalizedName:o,getGroup:u,getIcon:c}=R(),m=(0,p.useMemo)(()=>{let e=s.getDynamicTypes(),t=new Map;return e.forEach(e=>{var r;if(e.getGroup()!==a)return;let i=u(e).subGroup;t.has(i)||t.set(i,[]),null==(r=t.get(i))||r.push({id:e.id,icon:c(e,s),localizedName:o(e)})}),t},[s,a,o,u,c]),h=(0,p.useMemo)(()=>Array.from(m.keys()).some(e=>void 0!==e),[m]);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(b.SidebarTitle,{withBorder:!0,children:n}),(0,d.jsx)(b.Box,{padding:h?{x:\"extra-small\"}:void 0,children:Array.from(m.entries()).map(e=>{let[t,a]=e,i=a.sort((e,t)=>e.localizedName.localeCompare(t.localizedName));return void 0===t?(0,d.jsx)(b.Box,{className:r,padding:{x:\"extra-small\",bottom:\"small\"},children:i.map(e=>(0,d.jsx)(em,{groupKey:n,operator:e},`${n}-${e.id}`))},`${n}-direct`):(0,d.jsx)(b.Panel,{border:!1,collapsed:!1,contentPadding:\"extra-small\",theme:\"card-with-highlight\",title:l(t),children:(0,d.jsx)(b.Box,{className:r,children:i.map(e=>(0,d.jsx)(em,{groupKey:n,operator:e,subGroupKey:t},`${n}-${t}-${e.id}`))})},`${n}-${t}`)})})]})},eb=e=>{let{classId:t,enabled:r,entityConfig:a,onEntityConfigChange:n}=e,{t:l}=(0,i.useTranslation)(),{getFieldDefinitions:s}=ec({classId:t,enabled:r}),o=(0,p.useCallback)(()=>{var e;if((0,f.isNil)(a))return;let t=s(),r=(null==(e=a.columnConfig)?void 0:e.columns)??[],i=new Set(r.map(e=>{var t;return null==(t=e.attributes)?void 0:t.attribute}).filter(e=>!(0,f.isNil)(e))),l=t.filter(e=>!(0,f.isNil)(e.attribute)&&!i.has(e.attribute)).map(e=>({key:(0,k.uuid)(),isOperator:!1,attributes:{attribute:e.attribute,label:String(e.title??e.attribute),dataType:e.dataType??\"text\"}}));l.length>0&&n({...a,columnConfig:{...a.columnConfig,columns:[...r,...l]}})},[a,s,n]),u=(0,p.useCallback)(()=>{var e;if((0,f.isNil)(a))return!1;let t=s(),r=new Set(((null==(e=a.columnConfig)?void 0:e.columns)??[]).map(e=>{var t;return null==(t=e.attributes)?void 0:t.attribute}).filter(e=>!(0,f.isNil)(e)));return 0===t.filter(e=>!(0,f.isNil)(e.attribute)&&!r.has(e.attribute)).length},[a,s]);return(0,d.jsx)(b.Button,{disabled:u(),onClick:o,children:l(\"data-hub.schema.insert-all-definitions\")})},eg=e=>{var t;let{open:r,className:a,operatorRegistryServiceId:n,type:l=\"query\",disabled:s=!1,onCancel:o,onApply:u}=e,{t:c}=(0,i.useTranslation)(),{styles:h}=ea(),g=b.Form.useFormInstance(),{getByName:y}=(0,j.useClassDefinitions)(),x=y(a),C=(null==x?void 0:x.id)??\"\",v=r&&!(0,f.isNil)(x),k=(e=>{let{classId:t,enabled:r,operatorRegistryServiceId:a,gridContainerClassName:n}=e,{t:l}=(0,i.useTranslation)(),s=(0,i.useInjection)(a),{getGroup:o}=R(),{getGroupIcon:u}={getGroupIcon:m().useCallback(e=>{let t=s.getGroupConfig(e);return(null==t?void 0:t.icon)??{type:\"name\",value:\"data-object\"}},[s])};return(0,p.useMemo)(()=>{let e=[];e.push({key:\"class-attributes\",icon:(0,d.jsx)(b.Icon,{value:\"data-object\"}),tooltip:l(\"data-hub.schema.class-attributes\"),component:(0,d.jsx)(ep,{classId:t,enabled:r})});let i=s.getDynamicTypes(),c=new Map;return i.forEach(e=>{let t=e.getGroup(),{group:r}=o(e),a=s.getGroupConfig(t),i=(null==a?void 0:a.priority)??999;c.has(r)||c.set(r,{groupName:t,priority:i})}),Array.from(c.entries()).sort((e,t)=>{let[,r]=e,[,a]=t;return r.priority-a.priority}).forEach(t=>{let[r,i]=t,s=u(i.groupName);e.push({key:r,icon:(0,d.jsx)(b.Icon,{...s}),tooltip:l(r),component:(0,d.jsx)(b.Content,{children:(0,d.jsx)(eh,{gridContainerClassName:n,groupName:i.groupName,operatorRegistryServiceId:a,translatedGroupName:r})})})}),e},[t,r,a,n])})({classId:C,enabled:v,operatorRegistryServiceId:n,gridContainerClassName:h.gridContainer}),[T,D]=(0,p.useState)(void 0);return(0,p.useEffect)(()=>{if(r){let e=(g.getFieldValue([\"schema\",l])??[]).find(e=>e.entity===a);D((0,f.isNil)(e)?void 0:(0,f.cloneDeep)(e))}},[r,g,a,l]),(0,d.jsx)(b.Modal,{footer:s?null:(0,d.jsxs)(b.Flex,{gap:\"small\",justify:\"space-between\",children:[(0,d.jsx)(eb,{classId:C,enabled:v,entityConfig:T,onEntityConfigChange:D}),(0,d.jsx)(b.Button,{onClick:()=>{let e=g.getFieldValue([\"schema\",l])??[],t=e.findIndex(e=>e.entity===a);if(-1!==t&&!(0,f.isNil)(T)){let r=[...e];r[t]=T,g.setFieldValue([\"schema\",l],r,{triggerChange:!0})}u()},type:\"primary\",children:c(\"button.apply\")})]}),onCancel:o,open:r,size:\"XL\",title:c(`data-hub.schema.${l}-modal-title`,{entity:a}),children:(0,d.jsx)(b.ContentLayout,{className:h.contentLayout,renderSidebar:s?void 0:(0,d.jsx)(b.SidebarProvider,{initialActiveTab:null==(t=k[0])?void 0:t.key,children:(0,d.jsx)(b.Sidebar,{entries:k,sizing:\"large\"})}),children:(0,d.jsxs)(b.Content,{padded:!0,padding:{right:\"medium\"},children:[(0,d.jsx)(b.Title,{level:3,children:c(\"data-hub.schema.available-fields\")}),(0,d.jsx)(er,{disabled:s,entityConfig:T,onEntityConfigChange:D,operatorRegistryServiceId:n})]})})},`${a}-${l}`)},ey=e=>{let{value:t=[],onChange:r,isWriteable:a=!0}=e,{t:n}=(0,i.useTranslation)(),[s,o]=(0,p.useState)(!1),[u,c]=(0,p.useState)(null),m=(0,p.useMemo)(()=>[(0,x.FB)().accessor(\"entity\",{header:n(\"data-hub.schema.entity\"),size:300,meta:{type:\"input-text\",editable:a,autoWidth:!0}}),{id:\"settings\",header:n(\"data-hub.schema.settings\"),size:100,cell:e=>(0,d.jsx)(b.Flex,{align:\"center\",justify:\"center\",children:(0,d.jsx)(b.IconButton,{disabled:!1,icon:{value:\"settings\"},onClick:()=>{c(t[e.row.index]),o(!0)},type:\"link\"})})},{id:\"actions\",header:\"\",size:60,cell:e=>(0,d.jsx)(b.Flex,{align:\"center\",justify:\"center\",children:(0,d.jsx)(b.IconButton,{icon:{value:\"trash\"},onClick:()=>{let a=[...t];a.splice(e.row.index,1),(0,f.isNil)(r)||r(a)},type:\"link\"})})}],[n,t,r,a]);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(b.OperationalGrid,{autoWidth:!0,columns:m,onChange:r,value:t,children:(0,d.jsx)(b.OperationalGrid.Operations,{children:()=>(0,d.jsx)(v,{onChange:r,type:\"query\",value:t})})}),s&&(0,d.jsx)(eg,{className:(null==u?void 0:u.entity)??\"\",disabled:!a,onApply:()=>{o(!1)},onCancel:()=>{o(!1)},open:s,operatorRegistryServiceId:l.s[\"DataHub/DynamicTypes/Operator/GraphQL/QueryRegistry\"]})]})},ex=e=>{let{value:t=[],onChange:r,isWriteable:a=!0}=e,{t:n}=(0,i.useTranslation)(),[s,o]=(0,p.useState)(!1),[u,c]=(0,p.useState)(null),m=(0,p.useMemo)(()=>{let e=(0,x.FB)();return[e.accessor(\"entity\",{header:n(\"data-hub.schema.entity\"),size:200,meta:{type:\"input-text\",editable:a,autoWidth:!0}}),e.accessor(\"create\",{header:n(\"data-hub.workspaces.create\"),size:80,meta:{type:\"checkbox\",editable:a,config:{align:\"center\",disabled:!a}}}),e.accessor(\"update\",{header:n(\"data-hub.workspaces.update\"),size:80,meta:{type:\"checkbox\",editable:a,config:{align:\"center\",disabled:!a}}}),e.accessor(\"delete\",{header:n(\"data-hub.workspaces.delete\"),size:80,meta:{type:\"checkbox\",editable:a,config:{align:\"center\",disabled:!a}}}),{id:\"settings\",header:n(\"data-hub.schema.settings\"),size:100,cell:e=>(0,d.jsx)(b.Flex,{align:\"center\",justify:\"center\",children:(0,d.jsx)(b.IconButton,{disabled:!1,icon:{value:\"settings\"},onClick:()=>{c(t[e.row.index]),o(!0)},type:\"link\"})})},{id:\"actions\",header:\"\",size:60,cell:e=>(0,d.jsx)(b.Flex,{align:\"center\",justify:\"center\",children:(0,d.jsx)(b.IconButton,{icon:{value:\"trash\"},onClick:()=>{let a=[...t];a.splice(e.row.index,1),(0,f.isNil)(r)||r(a)},type:\"link\"})})}]},[t,r,n,a]);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(b.OperationalGrid,{autoWidth:!0,columns:m,onChange:r,value:t,children:(0,d.jsx)(b.OperationalGrid.Operations,{children:()=>(0,d.jsx)(v,{onChange:r,type:\"mutation\",value:t})})}),s&&!(0,f.isNil)(u)&&(0,d.jsx)(eg,{className:u.entity,disabled:!a,onApply:()=>{o(!1)},onCancel:()=>{o(!1)},open:s,operatorRegistryServiceId:l.s[\"DataHub/DynamicTypes/Operator/GraphQL/MutationRegistry\"],type:\"mutation\"})]})},ef=e=>{let{value:t=[],onChange:r,isWriteable:a=!0}=e,{t:n}=(0,i.useTranslation)(),l=(0,p.useMemo)(()=>{let e=(0,x.FB)();return[e.accessor(\"name\",{header:\"\",size:200,meta:{autoWidth:!0},cell:e=>{let t=e.getValue();return(0,d.jsx)(b.Flex,{align:\"center\",style:{paddingLeft:\"12px\"},children:n(`data-hub.schema.special.${t}`)})}}),e.accessor(\"create\",{header:n(\"data-hub.workspaces.create\"),size:80,meta:{type:\"checkbox\",editable:e=>a&&e.createPossible,tooltip:e=>a?e.createPossible?null:n(\"data-hub.schema.operation-not-implemented\"):null,config:{align:\"center\",disabled:e=>!a||!e.createPossible}}}),e.accessor(\"read\",{header:n(\"data-hub.workspaces.read\"),size:80,meta:{type:\"checkbox\",editable:e=>a&&e.readPossible,tooltip:e=>a?e.readPossible?null:n(\"data-hub.schema.operation-not-implemented\"):null,config:{align:\"center\",disabled:e=>!a||!e.readPossible}}}),e.accessor(\"update\",{header:n(\"data-hub.workspaces.update\"),size:80,meta:{type:\"checkbox\",editable:e=>a&&e.updatePossible,tooltip:e=>a?e.updatePossible?null:n(\"data-hub.schema.operation-not-implemented\"):null,config:{align:\"center\",disabled:e=>!a||!e.updatePossible}}}),e.accessor(\"delete\",{header:n(\"data-hub.workspaces.delete\"),size:80,meta:{type:\"checkbox\",editable:e=>a&&e.deletePossible,tooltip:e=>a?e.deletePossible?null:n(\"data-hub.schema.operation-not-implemented\"):null,config:{align:\"center\",disabled:e=>!a||!e.deletePossible}}})]},[n,a]),s=(0,p.useMemo)(()=>({key:\"genericTypes\",id:\"genericTypes\",title:(0,d.jsx)(d.Fragment,{children:n(\"data-hub.schema.generic-types\")}),children:(0,d.jsx)(b.OperationalGrid.Grid,{})}),[n]);return(0,d.jsx)(b.OperationalGrid,{autoWidth:!0,columns:l,onChange:r,value:t,children:(0,d.jsx)(b.OperationalGrid.Operations,{children:()=>(0,d.jsx)(b.Accordion,{activeKey:\"genericTypes\",bordered:!0,collapsible:\"icon\",items:[s],size:\"small\",table:!0})})})};var ej=r(7565);let eC=e=>{let{isWriteable:t=!0}=e;return(0,d.jsx)(b.FormKit.Panel,{contentPadding:\"extra-small\",children:(0,d.jsx)(ej.Y,{children:(0,d.jsxs)(b.Flex,{gap:\"small\",vertical:!0,children:[(0,d.jsx)(b.Form.Item,{name:[\"schema\",\"query\"],noStyle:!0,children:(0,d.jsx)(ey,{isWriteable:t})}),(0,d.jsx)(b.Form.Item,{name:[\"schema\",\"mutation\"],noStyle:!0,children:(0,d.jsx)(ex,{isWriteable:t})}),(0,d.jsx)(b.Form.Item,{name:[\"schema\",\"genericTypes\"],noStyle:!0,children:(0,d.jsx)(ef,{isWriteable:t})})]})})})},ev=e=>{let{type:t,value:r=[],onChange:a}=e,{t:n}=(0,i.useTranslation)(),l=()=>{(0,f.isNil)(a)||a([...r,{path:\"\",create:!1,read:!0,update:!1,delete:!1}])},s=(0,p.useMemo)(()=>({key:t,id:t,title:(0,d.jsx)(d.Fragment,{children:n(`data-hub.workspaces.${t}`)}),info:(0,d.jsx)(b.IconTextButton,{icon:{value:\"add-find\"},onClick:e=>{e.stopPropagation(),l()},children:n(\"add\")}),children:(0,d.jsx)(b.OperationalGrid.Grid,{})}),[t,r,l,n]);return(0,d.jsx)(b.Accordion,{activeKey:t,bordered:!0,collapsible:\"icon\",items:[s],size:\"small\",table:!0})},ek=e=>{let{type:t,value:r=[],onChange:a,isWriteable:n=!0}=e,{t:l}=(0,i.useTranslation)(),s=\"documents\"===t?\"document-link\":\"assets\"===t?\"asset-link\":\"object-link\",o=(0,p.useMemo)(()=>{let e=(0,x.FB)();return[e.accessor(\"path\",{header:l(\"data-hub.workspaces.path\"),size:300,meta:{editable:n,type:s,autoWidth:!0}}),e.accessor(\"create\",{header:l(\"data-hub.workspaces.create\"),size:80,meta:{type:\"checkbox\",editable:n,config:{align:\"center\",disabled:!n}}}),e.accessor(\"read\",{header:l(\"data-hub.workspaces.read\"),size:80,meta:{type:\"checkbox\",editable:n,config:{align:\"center\",disabled:!n}}}),e.accessor(\"update\",{header:l(\"data-hub.workspaces.update\"),size:80,meta:{type:\"checkbox\",editable:n,config:{align:\"center\",disabled:!n}}}),e.accessor(\"delete\",{header:l(\"data-hub.workspaces.delete\"),size:80,meta:{type:\"checkbox\",editable:n,config:{align:\"center\",disabled:!n}}}),{id:\"actions\",header:\"\",size:60,cell:e=>(0,d.jsx)(b.Flex,{align:\"center\",justify:\"center\",children:(0,d.jsx)(b.IconButton,{icon:{value:\"trash\"},onClick:()=>{let t=[...r];t.splice(e.row.index,1),(0,f.isNil)(a)||a(t)},type:\"link\"})}),enableResizing:!1,enableSorting:!1}]},[s,l,r,a,n]);return(0,d.jsx)(b.OperationalGrid,{autoWidth:!0,columns:o,onChange:a,value:r,children:(0,d.jsx)(b.OperationalGrid.Operations,{children:()=>(0,d.jsx)(ev,{onChange:a,type:t,value:r})})})},eT=e=>{let{isWriteable:t=!0}=e,{t:r}=(0,i.useTranslation)(),a=b.Form.useFormInstance(),n=[{value:\"datahub_apikey\",label:r(\"data-hub.security.method.apikey\")}];return(0,d.jsxs)(b.FormKit.Panel,{contentPadding:\"extra-small\",children:[(0,d.jsxs)(b.FormKit.Panel,{contentPadding:\"extra-small\",title:r(\"data-hub.security.authentication\"),children:[(0,d.jsx)(b.Form.Item,{initialValue:\"datahub_apikey\",label:r(\"data-hub.security.method\"),name:[\"security\",\"method\"],children:(0,d.jsx)(b.Select,{options:n})}),(0,d.jsx)(b.Form.Item,{label:r(\"data-hub.security.apikey\"),name:[\"security\",\"apikey\"],tooltip:r(\"data-hub.security.apikey-description\"),children:(0,d.jsx)(b.TextArea,{autoSize:{minRows:4,maxRows:10}})}),(0,d.jsx)(b.Box,{margin:{bottom:\"small\"},children:(0,d.jsx)(b.Button,{onClick:()=>{let e=String(a.getFieldValue([\"security\",\"apikey\"])??\"\"),t=Array.from(crypto.getRandomValues(new Uint8Array(16))).map(e=>e.toString(16).padStart(2,\"0\")).join(\"\"),r=e.length>0?`${e}\n${t}`:t;a.setFieldsValue({security:{apikey:r}},{triggerChange:!0})},type:\"default\",children:r(\"data-hub.security.generate-apikey\")})}),(0,d.jsx)(b.Form.Item,{name:[\"security\",\"skipPermissionCheck\"],valuePropName:\"checked\",children:(0,d.jsx)(b.Switch,{labelRight:r(\"data-hub.security.skip-permission-check\")})}),(0,d.jsx)(b.Form.Item,{name:[\"security\",\"disableIntrospection\"],valuePropName:\"checked\",children:(0,d.jsx)(b.Switch,{labelRight:r(\"data-hub.security.disable-introspection\"),tooltip:r(\"data-hub.security.introspection-description\")})})]}),(0,d.jsx)(b.FormKit.Panel,{contentPadding:\"extra-small\",title:r(\"data-hub.workspaces.title\"),children:(0,d.jsxs)(b.Flex,{gap:\"small\",vertical:!0,children:[(0,d.jsx)(b.Form.Item,{name:[\"workspaces\",\"documents\"],noStyle:!0,children:(0,d.jsx)(ek,{isWriteable:t,type:\"documents\"})}),(0,d.jsx)(b.Form.Item,{name:[\"workspaces\",\"assets\"],noStyle:!0,children:(0,d.jsx)(ek,{isWriteable:t,type:\"assets\"})}),(0,d.jsx)(b.Form.Item,{name:[\"workspaces\",\"objects\"],noStyle:!0,children:(0,d.jsx)(ek,{isWriteable:t,type:\"objects\"})})]})})]})};var eD=r(6427),eS=r(1436);let eN=eS.api.enhanceEndpoints({addTagTypes:[\"Bundle Data Hub\"]}).injectEndpoints({endpoints:e=>({bundleDataHubGraphqlExplorer:e.query({query:e=>({url:`/pimcore-studio/api/bundle/data-hub/graphql/explorer/${e.clientname}`}),providesTags:[\"Bundle Data Hub\"]}),bundleDataHubGraphqlExplorerUrl:e.query({query:e=>({url:`/pimcore-studio/api/bundle/data-hub/graphql/explorer-url/${e.name}`}),providesTags:[\"Bundle Data Hub\"]})}),overrideExisting:!1}),{useBundleDataHubGraphqlExplorerQuery:eI,useBundleDataHubGraphqlExplorerUrlQuery:ew}=eN,{useBundleDataHubGraphqlExplorerQuery:eF,useLazyBundleDataHubGraphqlExplorerQuery:eO,useBundleDataHubGraphqlExplorerUrlQuery:eA,useLazyBundleDataHubGraphqlExplorerUrlQuery:eM}=eN.enhanceEndpoints({addTagTypes:[\"DataHubGraphql\"],endpoints:{bundleDataHubGraphqlExplorer:{providesTags:(e,t,r)=>[{type:\"DataHubGraphql\",id:r.clientname}]}}});var eE=r(6030);function eG(e){var t;return{cpath:(t=e.path,(0,f.isString)(t)?t:(null==t?void 0:t.fullPath)??\"\"),create:e.create??!1,read:e.read??!1,update:e.update??!1,delete:e.delete??!1}}function eP(e){return{path:e.cpath??\"\",create:e.create??!1,read:e.read??!1,update:e.update??!1,delete:e.delete??!1}}function eH(e,t){return{id:e.id,name:e.name,read:e.read??!1,update:e.update??!1,delete:e.delete??!1}}function eL(e,t){return{id:e.id,name:e.name??(\"role\"===t?e.role??\"\":e.user??\"\"),read:e.read??!1,update:e.update??!1,delete:e.delete??!1}}function e$(e){return{name:e.name,readAllowed:e.read??!1,createAllowed:e.create??!1,updateAllowed:e.update??!1,deleteAllowed:e.delete??!1}}function eB(e){return{name:e.name,readPossible:e.readPossible??!1,createPossible:e.createPossible??!1,updatePossible:e.updatePossible??!1,deletePossible:e.deletePossible??!1,read:e.readAllowed??!1,create:e.createAllowed??!1,update:e.updateAllowed??!1,delete:e.deleteAllowed??!1}}function eV(e){return Array.isArray(e)?e.map(e=>{let{entity:t,id:r,...a}=e;return{id:r,name:t??a.name??r,...a}}):Object.entries(e).map(e=>{let[t,r]=e,{entity:a,...i}=r;return{id:t,name:a??i.name??t,...i}})}function ez(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return(0,f.isNil)(e)?t:Array.isArray(e)?e.map(e=>({...e,entity:e.name??e.id})):Object.entries(e).map(e=>{let[t,r]=e;return{id:t,...r,entity:r.name??t}})}function eR(e,t){var r,a,i,n,l,s,o,u,c,d;let{userPermissions:p,...m}=t;return{...m,general:{...t.general,active:e.active,description:e.description,group:e.group},security:{...t.security,method:null==(r=e.security)?void 0:r.method,apikey:(u=null==(a=e.security)?void 0:a.apikey,(0,f.isNil)(u)?[]:\"string\"==typeof u?u.split(\"\\n\").filter(e=>\"\"!==e.trim()):[]),skipPermissionCheck:(null==(i=e.security)?void 0:i.skipPermissionCheck)??!1,disableIntrospection:(null==(n=e.security)?void 0:n.disableIntrospection)??!1},workspaces:{document:((null==(c=e.workspaces)?void 0:c.documents)??[]).map(eG),asset:((null==c?void 0:c.assets)??[]).map(eG),object:((null==c?void 0:c.objects)??[]).map(eG)},permissions:{role:((null==(d=e.permissions)?void 0:d.roles)??[]).map(e=>eH(e,\"role\")),user:((null==d?void 0:d.users)??[]).map(e=>eH(e,\"user\"))},schema:{...t.schema,queryEntities:eV((null==(l=e.schema)?void 0:l.query)??[]),mutationEntities:eV((null==(s=e.schema)?void 0:s.mutation)??[]),specialEntities:((null==(o=e.schema)?void 0:o.genericTypes)??[]).map(e$)}}}function eq(e,t){var r,a,i,n,l,s,o,u,c,d,p,m,h;return{active:(null==(r=e.general)?void 0:r.active)??!0,name:t,description:(null==(a=e.general)?void 0:a.description)??\"\",group:(null==(i=e.general)?void 0:i.group)??\"\",security:{method:(null==(n=e.security)?void 0:n.method)??\"datahub_apikey\",apikey:(p=null==(l=e.security)?void 0:l.apikey,(0,f.isNil)(p)?\"\":Array.isArray(p)?p.join(\"\\n\"):p),skipPermissionCheck:(null==(s=e.security)?void 0:s.skipPermissionCheck)??!1,disableIntrospection:(null==(o=e.security)?void 0:o.disableIntrospection)??!1},workspaces:{documents:((null==(m=e.workspaces)?void 0:m.document)??[]).map(eP),assets:((null==m?void 0:m.asset)??[]).map(eP),objects:((null==m?void 0:m.object)??[]).map(eP)},permissions:{roles:((null==(h=e.permissions)?void 0:h.role)??[]).map(e=>eL(e,\"role\")),users:((null==h?void 0:h.user)??[]).map(e=>eL(e,\"user\"))},schema:{query:ez(null==(u=e.schema)?void 0:u.queryEntities,[]),mutation:ez(null==(c=e.schema)?void 0:c.mutationEntities,[]),genericTypes:((null==(d=e.schema)?void 0:d.specialEntities)??[]).map(eB)}}}var eK=r(2703);let e_=e=>{var t;let{configName:r,onChange:a,onDelete:n}=e,{t:l}=(0,i.useTranslation)(),{data:s,error:o,isLoading:u,isFetching:c,refetch:m,requestId:h}=(0,eE.dS)({name:r},{refetchOnMountOrArgChange:!0}),{data:x}=eA({name:r}),[j,{error:C,isLoading:v}]=(0,eE.Vn)();(0,p.useEffect)(()=>{(0,f.isNil)(o)||(0,eK.trackError)(new eK.ApiError(o))},[o]),(0,p.useEffect)(()=>{(0,f.isNil)(C)||(0,eK.trackError)(new eK.ApiError(C))},[C]);let k=u||c,T=(null==s?void 0:s.configuration)??{},D=(null==T||null==(t=T.general)?void 0:t.writeable)??!0,S=async(e,t)=>{let a=await j({name:r,bundleDataHubUpdateConfiguration:{data:JSON.stringify(e),modificationDate:t}}).unwrap();return{modificationDate:null==a?void 0:a.modificationDate}},{form:N,isDirty:I,initialValues:w,handleSave:F,handleValuesChange:O}=(0,g.iO)({configName:r,configData:T,modificationDate:null==s?void 0:s.modificationDate,isLoading:k,requestId:h,transformToForm:eq,transformToBackend:eR,onSave:S,onChange:a}),A=[{key:\"general\",label:l(\"data-hub.tabs.general\"),children:(0,d.jsx)(y.a,{adapterTypeLabel:l(\"data-hub.adapter.graphql\")})},{key:\"schema\",label:l(\"data-hub.tabs.schema-definition\"),children:(0,d.jsx)(eC,{isWriteable:D})},{key:\"security\",label:l(\"data-hub.tabs.security-definition\"),children:(0,d.jsx)(eT,{isWriteable:D})},{key:\"permissions\",label:l(\"data-hub.tabs.permissions\"),children:(0,d.jsx)(eD.K,{isWriteable:D})}],M=(0,d.jsx)(g.MM,{additionalButtons:[(0,d.jsx)(b.IconTextButton,{disabled:!1,icon:{value:\"graphql\",colorToken:\"colorCodingViolet4\"},onClick:()=>{if(void 0!==x&&!(0,f.isEmpty)(x.explorerUrl)){let e=x.explorerUrl;if(\"datahub_apikey\"===N.getFieldValue([\"security\",\"method\"])){let t=N.getFieldValue([\"security\",\"apikey\"]);if(!(0,f.isNil)(t)&&!(0,f.isEmpty)(t)){let r=t.split(\"\\n\")[0];(0,f.isEmpty)(r)||(e=`${e}?apikey=${r}`)}}window.open(e,\"_blank\")}},children:l(\"data-hub.open-in-tab\")},\"open-in-tab\")],configName:r,isDirty:I,isLoading:k,isSaving:v,isWriteable:D,onDelete:n,onRefresh:m,onSave:F});return(0,d.jsx)(g.Wc,{disabled:!D,form:N,initialValues:w,isLoading:k,onValuesChange:O,requestId:h??\"\",tabs:A,toolbar:M})};class eW extends h.E{getIcon(){return{type:\"name\",value:\"graphql\",colorToken:\"colorCodingViolet4\"}}renderDetailView(e){return(0,d.jsx)(e_,{...e})}constructor(...e){super(...e),this.id=\"graphql\"}}eW=(0,c.Cg)([(0,i.injectable)()],eW);var eQ=r(3842);class eU extends eQ.DynamicTypeRegistryAbstract{registerGroupConfig(e,t){this.groupConfigs.set(e,t)}getGroupConfig(e){return this.groupConfigs.get(e)}constructor(...e){super(...e),this.groupConfigs=new Map}}eU=(0,c.Cg)([(0,i.injectable)()],eU);class eX{getGroup(){return\"other\"}getSubGroup(){}getMaxChildCount(){}allowChild(e,t){let r=this.getMaxChildCount();if(void 0!==r){let t=e.attributes;if((Array.isArray(null==t?void 0:t.children)?t.children.length:0)>=r)return!1}let a=this.allowedChildTypes();return!(a.length>0)||(null==t?void 0:t.dataType)===void 0||a.includes(t.dataType)}allowsChildren(){return!0}allowedChildTypes(){return[]}}eX=(0,c.Cg)([(0,i.injectable)()],eX);let eY=e=>{let{children:t,initialValues:r,size:a,footer:n,disabled:l=!1,...s}=e,{onCancel:o}=s,{t:u}=(0,i.useTranslation)(),{localizedName:c,getInitialValues:m,updateAttributes:h}=function(e){let{operator:t,config:r,onApply:a}=e,{getLocalizedName:i}=R(),n=(0,p.useMemo)(()=>i(t),[i,t]),l=(0,p.useCallback)(e=>{a({...r,attributes:{...r.attributes,...e}})},[r,a]),s=(0,p.useCallback)(e=>({label:n,...e,...r.attributes}),[r.attributes,n]);return{localizedName:n,updateAttributes:l,getInitialValues:s}}(s),[g]=b.Form.useForm();(0,p.useEffect)(()=>{let e=m(r);g.setFieldsValue(e)},[]);let y=(0,p.useCallback)(async()=>{l||h(await g.validateFields())},[l,g,h]);return(0,p.useEffect)(()=>{if(l)return;let e=e=>{\"Enter\"===e.key&&y()};return document.addEventListener(\"keydown\",e),()=>{document.removeEventListener(\"keydown\",e)}},[l,y]),(0,d.jsx)(b.Modal,{footer:(null==n?void 0:n({handleApply:y,onCancel:o,disabled:l}))??(l?null:void 0),okText:u(\"apply\"),onCancel:o,onOk:void 0!==n||l?void 0:()=>{y()},open:!0,size:a,title:c,children:(0,d.jsx)(b.FormKit,{formProps:{form:g,disabled:l},children:t({form:g})})})},eZ=e=>{let{t}=(0,i.useTranslation)();return(0,d.jsx)(eY,{...e,children:()=>(0,d.jsx)(b.Form.Item,{label:t(\"data-hub.label\"),name:\"label\",children:(0,d.jsx)(b.Input,{})})})};class eJ extends eX{getIcon(){return{type:\"name\",value:\"text-input\"}}getLabel(e,t){let r=e.attributes.label;return(0,k.isNonEmptyString)(r)?r:t}getConfigModal(e){return(0,d.jsx)(eZ,{...e})}getGroup(){return\"other\"}getMaxChildCount(){return 1}constructor(...e){super(...e),this.id=\"Alias\"}}eJ=(0,c.Cg)([(0,i.injectable)()],eJ);let e0=e=>{let{t}=(0,i.useTranslation)();return(0,d.jsx)(eY,{...e,initialValues:{glue:\"\"},children:()=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(b.Form.Item,{label:t(\"data-hub.label\"),name:\"label\",children:(0,d.jsx)(b.Input,{})}),(0,d.jsx)(b.Form.Item,{label:t(\"data-hub.operator.glue\"),name:\"glue\",children:(0,d.jsx)(b.Input,{})})]})})};class e1 extends eX{getIcon(){return{type:\"name\",value:\"operator-concatenator\"}}getLabel(e,t){let r=e.attributes.label,a=e.attributes.glue,i=(0,k.isNonEmptyString)(r)?r:t;return(0,f.isNil)(a)||\"\"===a?i:(0,d.jsxs)(d.Fragment,{children:[i,\" \",(0,d.jsxs)(b.Text,{type:\"secondary\",children:[\"(\",a,\")\"]})]})}getConfigModal(e){return(0,d.jsx)(e0,{...e})}getGroup(){return\"transformer\"}getSubGroup(){return\"other\"}allowsChildren(){return!0}constructor(...e){super(...e),this.id=\"Concatenator\"}}e1=(0,c.Cg)([(0,i.injectable)()],e1);let e2=e=>{let{t}=(0,i.useTranslation)(),r=()=>{window.open(\"https://www.php.net/manual/en/function.date.php\",\"_blank\",\"noopener,noreferrer\")};return(0,d.jsx)(eY,{...e,footer:e=>{let{handleApply:a,onCancel:i,disabled:n}=e;return n?null:(0,d.jsxs)(b.Flex,{justify:\"space-between\",children:[(0,d.jsx)(b.IconTextButton,{icon:{value:\"help-circle\"},onClick:r,type:\"default\",children:t(\"data-hub.help\")}),(0,d.jsxs)(b.Flex,{gap:\"small\",children:[(0,d.jsx)(b.Button,{onClick:i,children:t(\"cancel\")}),(0,d.jsx)(b.Button,{onClick:()=>{a()},type:\"primary\",children:t(\"apply\")})]})]})},initialValues:{format:\"Y-m-d H:i:s\"},size:\"M\",children:()=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(b.Form.Item,{label:t(\"data-hub.label\"),name:\"label\",children:(0,d.jsx)(b.Input,{maxLength:255})}),(0,d.jsx)(b.Form.Item,{label:t(\"data-hub.operator.dateformatter.format\"),name:\"format\",children:(0,d.jsx)(b.Input,{maxLength:255})})]})})};class e8 extends eX{getIcon(){return{type:\"name\",value:\"date-formatter\"}}getLabel(e,t){let r=e.attributes.label,a=e.attributes.format,i=(0,k.isNonEmptyString)(r)?r:t;return(0,f.isNil)(a)?i:(0,d.jsxs)(d.Fragment,{children:[i,\" \",(0,d.jsxs)(b.Text,{type:\"secondary\",children:[\"(\",a,\")\"]})]})}getConfigModal(e){return(0,d.jsx)(e2,{...e})}getGroup(){return\"formatter\"}getSubGroup(){return\"other\"}getMaxChildCount(){return 1}constructor(...e){super(...e),this.id=\"DateFormatter\"}}e8=(0,c.Cg)([(0,i.injectable)()],e8);let e3=e=>{let{t}=(0,i.useTranslation)();return(0,d.jsx)(eY,{...e,initialValues:{countEmpty:!1},children:()=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(b.Form.Item,{label:t(\"data-hub.label\"),name:\"label\",children:(0,d.jsx)(b.Input,{})}),(0,d.jsx)(b.Form.Item,{name:\"countEmpty\",children:(0,d.jsx)(b.Switch,{labelRight:t(\"data-hub.operator.element-counter.count-empty\")})})]})})};class e6 extends eX{getIcon(){return{type:\"name\",value:\"counter\"}}getLabel(e,t){let r=e.attributes.label;return(0,k.isNonEmptyString)(r)?r:t}getConfigModal(e){return(0,d.jsx)(e3,{...e})}getGroup(){return\"transformer\"}getSubGroup(){return\"other\"}allowsChildren(){return!0}constructor(...e){super(...e),this.id=\"ElementCounter\"}}e6=(0,c.Cg)([(0,i.injectable)()],e6);let e5=e=>{let{t}=(0,i.useTranslation)();return(0,d.jsx)(eY,{...e,initialValues:{start:0,ellipses:!1},children:()=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(b.Form.Item,{label:t(\"data-hub.label\"),name:\"label\",children:(0,d.jsx)(b.Input,{})}),(0,d.jsx)(b.Form.Item,{label:t(\"data-hub.operator.start\"),name:\"start\",children:(0,d.jsx)(b.InputNumber,{min:0,style:{width:\"100%\"}})}),(0,d.jsx)(b.Form.Item,{label:t(\"data-hub.operator.length\"),name:\"length\",children:(0,d.jsx)(b.InputNumber,{min:0,style:{width:\"100%\"}})}),(0,d.jsx)(b.Form.Item,{name:\"ellipses\",children:(0,d.jsx)(b.Switch,{labelRight:t(\"data-hub.operator.ellipses\")})})]})})};class e7 extends eX{getIcon(){return{type:\"name\",value:\"substring\"}}getLabel(e,t){let r=e.attributes.label,a=e.attributes.start,i=e.attributes.length,n=(0,k.isNonEmptyString)(r)?r:t;return(0,f.isNil)(a)&&(0,f.isNil)(i)?n:(0,d.jsxs)(d.Fragment,{children:[n,\" \",(0,d.jsxs)(b.Text,{type:\"secondary\",children:[\"(\",a,\",\",i??\"∞\",\")\"]})]})}getConfigModal(e){return(0,d.jsx)(e5,{...e})}getGroup(){return\"transformer\"}getSubGroup(){return\"string\"}getMaxChildCount(){return 1}constructor(...e){super(...e),this.id=\"Substring\"}}e7=(0,c.Cg)([(0,i.injectable)()],e7);let e9=e=>{let{t}=(0,i.useTranslation)();return(0,d.jsx)(eY,{...e,initialValues:{textValue:\"\"},children:()=>(0,d.jsx)(b.Form.Item,{label:t(\"data-hub.operator.text\"),name:\"textValue\",children:(0,d.jsx)(b.Input,{})})})};class e4 extends eX{getIcon(){return{type:\"name\",value:\"long-text\"}}getLabel(e,t){let r=e.attributes.textValue;return(0,k.isNonEmptyString)(r)?r:t}getConfigModal(e){return(0,d.jsx)(e9,{...e})}getGroup(){return\"formatter\"}getSubGroup(){return\"string\"}allowsChildren(){return!1}constructor(...e){super(...e),this.id=\"Text\"}}e4=(0,c.Cg)([(0,i.injectable)()],e4);let{useBundleDataHubThumbnailsCollectionQuery:te}=eS.api.enhanceEndpoints({addTagTypes:[\"Bundle Data Hub\"]}).injectEndpoints({endpoints:e=>({bundleDataHubThumbnailsCollection:e.query({query:()=>({url:\"/pimcore-studio/api/bundle/data-hub/thumbnails\"}),providesTags:[\"Bundle Data Hub\"]})}),overrideExisting:!1}),tt=e=>{let{...t}=e,{data:r}=te(),a=(null==r?void 0:r.items.map(e=>({label:e.text,value:e.id})))??[];return(0,d.jsx)(b.Select,{options:a,showSearch:!0,style:{width:\"100%\"},...t})},tr=e=>{let{t}=(0,i.useTranslation)();return(0,d.jsx)(eY,{...e,children:()=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(b.Form.Item,{label:t(\"data-hub.label\"),name:\"label\",children:(0,d.jsx)(b.Input,{})}),(0,d.jsx)(b.Form.Item,{label:t(\"data-hub.thumbnail\"),name:\"thumbnailConfig\",children:(0,d.jsx)(tt,{placeholder:t(\"data-hub.operator.thumbnail.thumbnail-name\")})})]})})};class ta extends eX{getIcon(){return{type:\"name\",value:\"image-thumbnail\"}}getLabel(e,t){let r=e.attributes.label,a=e.attributes.thumbnailConfig,i=(0,k.isNonEmptyString)(r)?r:t;return(0,f.isNil)(a)||\"\"===a?i:(0,d.jsxs)(d.Fragment,{children:[i,\" \",(0,d.jsxs)(b.Text,{type:\"secondary\",children:[\"(\",a,\")\"]})]})}getGroup(){return\"transformer\"}getSubGroup(){return\"other\"}getConfigModal(e){return(0,d.jsx)(tr,{...e})}getMaxChildCount(){return 1}constructor(...e){super(...e),this.id=\"Thumbnail\"}}ta=(0,c.Cg)([(0,i.injectable)()],ta);let ti=e=>{let{t}=(0,i.useTranslation)();return(0,d.jsx)(eY,{...e,children:()=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(b.Form.Item,{label:t(\"data-hub.label\"),name:\"label\",children:(0,d.jsx)(b.Input,{})}),(0,d.jsx)(b.Form.Item,{label:t(\"data-hub.thumbnail\"),name:\"thumbnailHtmlConfig\",children:(0,d.jsx)(tt,{placeholder:t(\"data-hub.operator.thumbnail-html.thumbnail-name\")})})]})})};class tn extends eX{getIcon(){return{type:\"name\",value:\"thumbnail-html\"}}getLabel(e,t){let r=e.attributes.label,a=e.attributes.thumbnailHtmlConfig,i=(0,k.isNonEmptyString)(r)?r:t;return(0,f.isNil)(a)||\"\"===a?i:(0,d.jsxs)(d.Fragment,{children:[i,\" \",(0,d.jsxs)(b.Text,{type:\"secondary\",children:[\"(\",a,\")\"]})]})}getGroup(){return\"transformer\"}getSubGroup(){return\"other\"}getConfigModal(e){return(0,d.jsx)(ti,{...e})}getMaxChildCount(){return 1}constructor(...e){super(...e),this.id=\"ThumbnailHtml\"}}tn=(0,c.Cg)([(0,i.injectable)()],tn);let tl=e=>{let{t}=(0,i.useTranslation)();return(0,d.jsx)(eY,{...e,children:()=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(b.Form.Item,{label:t(\"data-hub.label\"),name:\"label\",children:(0,d.jsx)(b.Input,{})}),(0,d.jsx)(b.Form.Item,{label:t(\"data-hub.prefix\"),name:\"prefix\",children:(0,d.jsx)(b.Input,{})})]})})};class ts extends eX{getIcon(){return{type:\"name\",value:\"translate\"}}getLabel(e,t){let r=e.attributes.label,a=e.attributes.prefix,i=(0,k.isNonEmptyString)(r)?r:t;return(0,f.isNil)(a)||\"\"===a?i:(0,d.jsxs)(d.Fragment,{children:[i,\" \",(0,d.jsxs)(b.Text,{type:\"secondary\",children:[\"(\",a,\")\"]})]})}getGroup(){return\"transformer\"}getSubGroup(){return\"string\"}getConfigModal(e){return(0,d.jsx)(tl,{...e})}getMaxChildCount(){return 1}constructor(...e){super(...e),this.id=\"TranslateValue\"}}ts=(0,c.Cg)([(0,i.injectable)()],ts);let to=e=>{let{t}=(0,i.useTranslation)();return(0,d.jsx)(eY,{...e,initialValues:{trim:3},children:()=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(b.Form.Item,{label:t(\"data-hub.label\"),name:\"label\",children:(0,d.jsx)(b.Input,{})}),(0,d.jsx)(b.Form.Item,{label:t(\"data-hub.operator.trim\"),name:\"trim\",children:(0,d.jsx)(b.Select,{options:[{label:t(\"data-hub.operator.trim.disabled\"),value:0},{label:t(\"data-hub.operator.trim.left\"),value:1},{label:t(\"data-hub.operator.trim.right\"),value:2},{label:t(\"data-hub.operator.trim.both\"),value:3}]})})]})})};class tu extends eX{getIcon(){return{type:\"name\",value:\"trimmer\"}}getLabel(e,t){let r=e.attributes.label,a=e.attributes.trim,n=(0,k.isNonEmptyString)(r)?r:t;return!(0,f.isNil)(a)&&a>0?(0,d.jsx)(()=>{let{t:e}=(0,i.useTranslation)(),t=[\"disabled\",\"left\",\"right\",\"both\"][a];if((0,f.isNil)(t))return(0,d.jsx)(d.Fragment,{children:n});let r=e(`data-hub.operator.trim.${t}`);return(0,d.jsxs)(d.Fragment,{children:[n,\" \",(0,d.jsxs)(b.Text,{type:\"secondary\",children:[\"(\",r,\")\"]})]})},{}):n}getConfigModal(e){return(0,d.jsx)(to,{...e})}getGroup(){return\"transformer\"}getSubGroup(){return\"string\"}getMaxChildCount(){return 1}constructor(...e){super(...e),this.id=\"Trimmer\"}}tu=(0,c.Cg)([(0,i.injectable)()],tu);let tc=e=>{let{t}=(0,i.useTranslation)();return(0,d.jsx)(eY,{...e,children:()=>(0,d.jsx)(b.Form.Item,{label:t(\"data-hub.label\"),name:\"label\",children:(0,d.jsx)(b.Input,{})})})};class td extends eX{getIcon(){return{type:\"name\",value:\"settings-brightness\"}}getLabel(e,t){let r=e.attributes.label;return(0,k.isNonEmptyString)(r)?r:t}getGroup(){return\"other\"}getConfigModal(e){return(0,d.jsx)(tc,{...e})}getMaxChildCount(){return 1}constructor(...e){super(...e),this.id=\"IfEmpty\"}}td=(0,c.Cg)([(0,i.injectable)()],td);let tp=e=>{let{t}=(0,i.useTranslation)();return(0,d.jsx)(eY,{...e,children:()=>(0,d.jsx)(b.Form.Item,{label:t(\"data-hub.label\"),name:\"label\",children:(0,d.jsx)(b.Input,{})})})};class tm extends eX{getIcon(){return{type:\"name\",value:\"locale-collector\"}}getLabel(e,t){let r=e.attributes.label;return(0,k.isNonEmptyString)(r)?r:t}getGroup(){return\"other\"}getConfigModal(e){return(0,d.jsx)(tp,{...e})}getMaxChildCount(){return 1}allowedChildTypes(){return[\"booleanSelect\",\"checkbox\",\"country\",\"countrymultiselect\",\"date\",\"datetime\",\"email\",\"externalImage\",\"geopoint\",\"firstname\",\"gender\",\"input\",\"image\",\"language\",\"lastname\",\"newsletterActive\",\"manyToOneRelation\",\"multiselect\",\"newsletterConfirmed\",\"numeric\",\"select\",\"slider\",\"textarea\",\"time\",\"wysiwyg\"]}constructor(...e){super(...e),this.id=\"LocaleCollector\"}}tm=(0,c.Cg)([(0,i.injectable)()],tm);var th=r(1922);let tb=e=>{let{t}=(0,i.useTranslation)(),r=(0,eK.useSettings)(),{getDisplayName:a}=(0,th.useLanguageLookup)(),n=(r.validLanguages??[]).map(e=>({value:e,label:`${a(e)} [${e}]`}));return(0,d.jsx)(eY,{...e,initialValues:{locale:\"\"},size:\"M\",children:()=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(b.Form.Item,{label:t(\"data-hub.label\"),name:\"label\",children:(0,d.jsx)(b.Input,{maxLength:255})}),(0,d.jsx)(b.Form.Item,{label:t(\"data-hub.locale\"),name:\"locale\",children:(0,d.jsx)(b.Select,{options:n,placeholder:t(\"data-hub.locale.select\")})})]})})};class tg extends eX{getIcon(){return{type:\"name\",value:\"locale-switcher\"}}getLabel(e,t){let r=e.attributes.label,a=e.attributes.locale,i=(0,k.isNonEmptyString)(r)?r:t;return(0,f.isNil)(a)||\"\"===a?i:(0,d.jsxs)(d.Fragment,{children:[i,\" \",(0,d.jsxs)(b.Text,{type:\"secondary\",children:[\"(\",a,\")\"]})]})}getConfigModal(e){return(0,d.jsx)(tb,{...e})}getMaxChildCount(){return 1}constructor(...e){super(...e),this.id=\"LocaleSwitcher\"}}void 0!==(e=r.hmd(e)).hot&&e.hot.accept();let ty={name:\"data-hub-plugin\",onInit:e=>{let{container:t}=e;t.bind(String(l.s[\"DataHub/DynamicTypes/Adapter/Registry\"])).to(u.f).inSingletonScope(),t.bind(String(l.s[\"DataHub/DynamicTypes/Adapter/GraphQL\"])).to(eW).inSingletonScope(),t.bind(String(l.s[\"DataHub/DynamicTypes/Operator/GraphQL/QueryRegistry\"])).to(eU).inSingletonScope(),t.bind(String(l.s[\"DataHub/DynamicTypes/Operator/GraphQL/MutationRegistry\"])).to(eU).inSingletonScope(),t.bind(String(l.s[\"DataHub/DynamicTypes/Operator/Alias\"])).to(eJ).inSingletonScope(),t.bind(String(l.s[\"DataHub/DynamicTypes/Operator/Concatenator\"])).to(e1).inSingletonScope(),t.bind(String(l.s[\"DataHub/DynamicTypes/Operator/DateFormatter\"])).to(e8).inSingletonScope(),t.bind(String(l.s[\"DataHub/DynamicTypes/Operator/ElementCounter\"])).to(e6).inSingletonScope(),t.bind(String(l.s[\"DataHub/DynamicTypes/Operator/Substring\"])).to(e7).inSingletonScope(),t.bind(String(l.s[\"DataHub/DynamicTypes/Operator/Text\"])).to(e4).inSingletonScope(),t.bind(String(l.s[\"DataHub/DynamicTypes/Operator/Thumbnail\"])).to(ta).inSingletonScope(),t.bind(String(l.s[\"DataHub/DynamicTypes/Operator/ThumbnailHtml\"])).to(tn).inSingletonScope(),t.bind(String(l.s[\"DataHub/DynamicTypes/Operator/TranslateValue\"])).to(ts).inSingletonScope(),t.bind(String(l.s[\"DataHub/DynamicTypes/Operator/Trimmer\"])).to(tu).inSingletonScope(),t.bind(String(l.s[\"DataHub/DynamicTypes/Operator/IfEmpty\"])).to(td).inSingletonScope(),t.bind(String(l.s[\"DataHub/DynamicTypes/Operator/LocaleCollector\"])).to(tm).inSingletonScope(),t.bind(String(l.s[\"DataHub/DynamicTypes/Operator/LocaleSwitcher\"])).to(tg).inSingletonScope()},onStartup:e=>{let{moduleSystem:t}=e;t.registerModule(s),t.registerModule(o)}}}}]);"
  },
  {
    "path": "src/Resources/public/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/async/__federation_expose_plugins.c4cf01bd.js.LICENSE.txt",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */"
  },
  {
    "path": "src/Resources/public/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/main.9c3ad8a2.js",
    "content": "/*! For license information please see main.9c3ad8a2.js.LICENSE.txt */\n(()=>{var __webpack_modules__={3109(){},6619(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"});let o=r(8130);t.logAndReport=function(e,t,r,n,a,i){return n(o.getShortErrorMsg(e,t,r,a))}},9810(e,t,r){let o=r(924),n={[o.RUNTIME_001]:\"Failed to get remoteEntry exports.\",[o.RUNTIME_002]:'The remote entry interface does not contain \"init\"',[o.RUNTIME_003]:\"Failed to get manifest.\",[o.RUNTIME_004]:\"Failed to locate remote.\",[o.RUNTIME_005]:\"Invalid loadShareSync function call from bundler runtime\",[o.RUNTIME_006]:\"Invalid loadShareSync function call from runtime\",[o.RUNTIME_007]:\"Failed to get remote snapshot.\",[o.RUNTIME_008]:\"Failed to load script resources.\",[o.RUNTIME_009]:\"Please call createInstance first.\",[o.RUNTIME_010]:'The name option cannot be changed after initialization. If you want to create a new instance with a different name, please use \"createInstance\" api.',[o.RUNTIME_011]:\"The remoteEntry URL is missing from the remote snapshot.\"},a={[o.TYPE_001]:\"Failed to generate type declaration. Execute the below cmd to reproduce and fix the error.\"},i={[o.BUILD_001]:\"Failed to find expose module.\",[o.BUILD_002]:\"PublicPath is required in prod mode.\"},s={...n,...a,...i};t.buildDescMap=i,t.errorDescMap=s,t.runtimeDescMap=n,t.typeDescMap=a},924(e,t){let r=\"RUNTIME-001\",o=\"RUNTIME-002\",n=\"RUNTIME-003\",a=\"RUNTIME-004\",i=\"RUNTIME-005\",s=\"RUNTIME-006\",l=\"RUNTIME-007\",u=\"RUNTIME-008\",c=\"RUNTIME-009\",d=\"RUNTIME-010\",f=\"RUNTIME-011\",p=\"TYPE-001\",h=\"BUILD-002\";t.BUILD_001=\"BUILD-001\",t.BUILD_002=h,t.RUNTIME_001=r,t.RUNTIME_002=o,t.RUNTIME_003=n,t.RUNTIME_004=a,t.RUNTIME_005=i,t.RUNTIME_006=s,t.RUNTIME_007=l,t.RUNTIME_008=u,t.RUNTIME_009=c,t.RUNTIME_010=d,t.RUNTIME_011=f,t.TYPE_001=p},8130(e,t){let r=e=>`View the docs to see how to solve: https://module-federation.io/guide/troubleshooting/${e.split(\"-\")[0].toLowerCase()}#${e.toLowerCase()}`;t.getShortErrorMsg=(e,t,o,n)=>{let a=[`${[t[e]]} #${e}`];return o&&a.push(`args: ${JSON.stringify(o)}`),a.push(r(e)),n&&a.push(`Original Error Message:\n ${n}`),a.join(\"\\n\")}},4363(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"});let o=r(924),n=r(8130),a=r(9810);t.BUILD_001=o.BUILD_001,t.BUILD_002=o.BUILD_002,t.RUNTIME_001=o.RUNTIME_001,t.RUNTIME_002=o.RUNTIME_002,t.RUNTIME_003=o.RUNTIME_003,t.RUNTIME_004=o.RUNTIME_004,t.RUNTIME_005=o.RUNTIME_005,t.RUNTIME_006=o.RUNTIME_006,t.RUNTIME_007=o.RUNTIME_007,t.RUNTIME_008=o.RUNTIME_008,t.RUNTIME_009=o.RUNTIME_009,t.RUNTIME_010=o.RUNTIME_010,t.RUNTIME_011=o.RUNTIME_011,t.TYPE_001=o.TYPE_001,t.buildDescMap=a.buildDescMap,t.errorDescMap=a.errorDescMap,t.getShortErrorMsg=n.getShortErrorMsg,t.runtimeDescMap=a.runtimeDescMap,t.typeDescMap=a.typeDescMap},1748(e,t){var r=Object.defineProperty;t.__exportAll=(e,t)=>{let o={};for(var n in e)r(o,n,{get:e[n],enumerable:!0});return t||r(o,Symbol.toStringTag,{value:\"Module\"}),o}},2926(e,t){let r=\"default\";t.DEFAULT_REMOTE_TYPE=\"global\",t.DEFAULT_SCOPE=r},5871(e,t,r){let o=r(8628),n=r(2926),a=r(8369),i=r(7829),s=r(8457),l=r(556);r(1132);let u=r(2003),c=r(6227),d=r(2964),f=r(2593),p=r(2299),h=r(317);r(4317);let m=r(4260),g=r(4710),y=r(9152),E=r(7300),_=r(1777),S=r(630),b=r(4363);t.ModuleFederation=class{initOptions(e){e.name&&e.name!==this.options.name&&o.error((0,b.getShortErrorMsg)(b.RUNTIME_010,b.runtimeDescMap)),this.registerPlugins(e.plugins);let t=this.formatOptions(this.options,e);return this.options=t,t}async loadShare(e,t){return this.sharedHandler.loadShare(e,t)}loadShareSync(e,t){return this.sharedHandler.loadShareSync(e,t)}initializeSharing(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n.DEFAULT_SCOPE,t=arguments.length>1?arguments[1]:void 0;return this.sharedHandler.initializeSharing(e,t)}initRawContainer(e,t,r){let o=l.getRemoteInfo({name:e,entry:t}),n=new u.Module({host:this,remoteInfo:o});return n.remoteEntryExports=r,this.moduleCache.set(e,n),n}async loadRemote(e,t){return this.remoteHandler.loadRemote(e,t)}async preloadRemote(e){return this.remoteHandler.preloadRemote(e)}initShareScopeMap(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.sharedHandler.initShareScopeMap(e,t,r)}formatOptions(e,t){let{allShareInfos:r}=a.formatShareConfigs(e,t),{userOptions:o,options:n}=this.hooks.lifecycle.beforeInit.emit({origin:this,userOptions:t,options:e,shareInfo:r}),i=this.remoteHandler.formatAndRegisterRemote(n,o),{allShareInfos:s}=this.sharedHandler.registerShared(n,o),l=[...n.plugins];o.plugins&&o.plugins.forEach(e=>{l.includes(e)||l.push(e)});let u={...e,...t,plugins:l,remotes:i,shared:s};return this.hooks.lifecycle.init.emit({origin:this,options:u}),u}registerPlugins(e){let t=s.registerPlugins(e,this);this.options.plugins=this.options.plugins.reduce((e,t)=>(t&&e&&!e.find(e=>e.name===t.name)&&e.push(t),e),t||[])}registerRemotes(e,t){return this.remoteHandler.registerRemotes(e,t)}registerShared(e){this.sharedHandler.registerShared(this.options,{...this.options,shared:e})}constructor(e){this.hooks=new h.PluginSystem({beforeInit:new f.SyncWaterfallHook(\"beforeInit\"),init:new c.SyncHook,beforeInitContainer:new p.AsyncWaterfallHook(\"beforeInitContainer\"),initContainer:new p.AsyncWaterfallHook(\"initContainer\")}),this.version=\"2.2.3\",this.moduleCache=new Map,this.loaderHook=new h.PluginSystem({getModuleInfo:new c.SyncHook,createScript:new c.SyncHook,createLink:new c.SyncHook,fetch:new d.AsyncHook,loadEntryError:new d.AsyncHook,getModuleFactory:new d.AsyncHook}),this.bridgeHook=new h.PluginSystem({beforeBridgeRender:new c.SyncHook,afterBridgeRender:new c.SyncHook,beforeBridgeDestroy:new c.SyncHook,afterBridgeDestroy:new c.SyncHook});const t=[m.snapshotPlugin(),g.generatePreloadAssetsPlugin()],r={id:i.getBuilderId(),name:e.name,plugins:t,remotes:[],shared:{},inBrowser:S.isBrowserEnvValue};this.name=e.name,this.options=r,this.snapshotHandler=new y.SnapshotHandler(this),this.sharedHandler=new E.SharedHandler(this),this.remoteHandler=new _.RemoteHandler(this),this.shareScopeMap=this.sharedHandler.shareScopeMap,this.registerPlugins([...r.plugins,...e.plugins||[]]),this.options=this.formatOptions(r,e)}}},4391(e,t,r){let o=r(8628),n=r(9350),a=r(630),i=\"object\"==typeof globalThis?globalThis:window,s=(()=>{try{return document.defaultView}catch{return i}})(),l=s;function u(e,t,r){Object.defineProperty(e,t,{value:r,configurable:!1,writable:!0})}function c(e,t){return Object.hasOwnProperty.call(e,t)}c(i,\"__GLOBAL_LOADING_REMOTE_ENTRY__\")||u(i,\"__GLOBAL_LOADING_REMOTE_ENTRY__\",{});let d=i.__GLOBAL_LOADING_REMOTE_ENTRY__;function f(e){var t,r,o,n,a,i;c(e,\"__VMOK__\")&&!c(e,\"__FEDERATION__\")&&u(e,\"__FEDERATION__\",e.__VMOK__),c(e,\"__FEDERATION__\")||(u(e,\"__FEDERATION__\",{__GLOBAL_PLUGIN__:[],__INSTANCES__:[],moduleInfo:{},__SHARE__:{},__MANIFEST_LOADING__:{},__PRELOADED_MAP__:new Map}),u(e,\"__VMOK__\",e.__FEDERATION__)),(t=e.__FEDERATION__).__GLOBAL_PLUGIN__??(t.__GLOBAL_PLUGIN__=[]),(r=e.__FEDERATION__).__INSTANCES__??(r.__INSTANCES__=[]),(o=e.__FEDERATION__).moduleInfo??(o.moduleInfo={}),(n=e.__FEDERATION__).__SHARE__??(n.__SHARE__={}),(a=e.__FEDERATION__).__MANIFEST_LOADING__??(a.__MANIFEST_LOADING__={}),(i=e.__FEDERATION__).__PRELOADED_MAP__??(i.__PRELOADED_MAP__=new Map)}function p(){i.__FEDERATION__.__GLOBAL_PLUGIN__=[],i.__FEDERATION__.__INSTANCES__=[],i.__FEDERATION__.moduleInfo={},i.__FEDERATION__.__SHARE__={},i.__FEDERATION__.__MANIFEST_LOADING__={},Object.keys(d).forEach(e=>{delete d[e]})}function h(e){i.__FEDERATION__.__INSTANCES__.push(e)}function m(){return i.__FEDERATION__.__DEBUG_CONSTRUCTOR__}function g(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,a.isDebugMode)();t&&(i.__FEDERATION__.__DEBUG_CONSTRUCTOR__=e,i.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__=\"2.2.3\")}function y(e,t){if(\"string\"==typeof t)if(e[t])return{value:e[t],key:t};else{for(let r of Object.keys(e)){let[o,n]=r.split(\":\"),a=`${o}:${t}`,i=e[a];if(i)return{value:i,key:a}}return{value:void 0,key:t}}o.error(`getInfoWithoutType: \"key\" must be a string, got ${typeof t} (${JSON.stringify(t)}).`)}f(i),f(s);let E=()=>s.__FEDERATION__.moduleInfo,_=(e,t)=>{let r=y(t,n.getFMId(e)).value;if(r&&!r.version&&\"version\"in e&&e.version&&(r.version=e.version),r)return r;if(\"version\"in e&&e.version){let{version:t,...r}=e,o=n.getFMId(r),a=y(s.__FEDERATION__.moduleInfo,o).value;if((null==a?void 0:a.version)===t)return a}},S=e=>_(e,s.__FEDERATION__.moduleInfo),b=(e,t)=>{let r=n.getFMId(e);return s.__FEDERATION__.moduleInfo[r]=t,s.__FEDERATION__.moduleInfo},v=e=>(s.__FEDERATION__.moduleInfo={...s.__FEDERATION__.moduleInfo,...e},()=>{for(let t of Object.keys(e))delete s.__FEDERATION__.moduleInfo[t]}),R=(e,t)=>{let r=t||`__FEDERATION_${e}:custom__`;return{remoteEntryKey:r,entryExports:i[r]}},I=e=>{let{__GLOBAL_PLUGIN__:t}=s.__FEDERATION__;e.forEach(e=>{-1===t.findIndex(t=>t.name===e.name)?t.push(e):o.warn(`The plugin ${e.name} has been registered.`)})},M=()=>s.__FEDERATION__.__GLOBAL_PLUGIN__,N=e=>i.__FEDERATION__.__PRELOADED_MAP__.get(e),T=e=>i.__FEDERATION__.__PRELOADED_MAP__.set(e,!0);t.CurrentGlobal=i,t.Global=l,t.addGlobalSnapshot=v,t.getGlobalFederationConstructor=m,t.getGlobalHostPlugins=M,t.getGlobalSnapshot=E,t.getGlobalSnapshotInfoByModuleInfo=S,t.getInfoWithoutType=y,t.getPreloaded=N,t.getRemoteEntryExports=R,t.getTargetSnapshotInfoByModuleInfo=_,t.globalLoading=d,t.nativeGlobal=s,t.registerGlobalPlugins=I,t.resetFederationGlobalInfo=p,t.setGlobalFederationConstructor=g,t.setGlobalFederationInstance=h,t.setGlobalSnapshotInfoByModuleInfo=b,t.setPreloaded=T},3509(e,t,r){let o=r(4391),n=r(8369),a=r(6079),i=r(556);r(1132);let s=r(9599),l={getRegisteredShare:n.getRegisteredShare,getGlobalShareScope:n.getGlobalShareScope};t.default={global:{Global:o.Global,nativeGlobal:o.nativeGlobal,resetFederationGlobalInfo:o.resetFederationGlobalInfo,setGlobalFederationInstance:o.setGlobalFederationInstance,getGlobalFederationConstructor:o.getGlobalFederationConstructor,setGlobalFederationConstructor:o.setGlobalFederationConstructor,getInfoWithoutType:o.getInfoWithoutType,getGlobalSnapshot:o.getGlobalSnapshot,getTargetSnapshotInfoByModuleInfo:o.getTargetSnapshotInfoByModuleInfo,getGlobalSnapshotInfoByModuleInfo:o.getGlobalSnapshotInfoByModuleInfo,setGlobalSnapshotInfoByModuleInfo:o.setGlobalSnapshotInfoByModuleInfo,addGlobalSnapshot:o.addGlobalSnapshot,getRemoteEntryExports:o.getRemoteEntryExports,registerGlobalPlugins:o.registerGlobalPlugins,getGlobalHostPlugins:o.getGlobalHostPlugins,getPreloaded:o.getPreloaded,setPreloaded:o.setPreloaded},share:l,utils:{matchRemoteWithNameAndExpose:a.matchRemoteWithNameAndExpose,preloadAssets:s.preloadAssets,getRemoteInfo:i.getRemoteInfo}}},5922(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"});let o=r(8628),n=r(9350),a=r(4391),i=r(3957),s=r(8369),l=r(6079),u=r(556);r(1132);let c=r(3509),d=r(2003),f=r(5871),p=r(7703),h=r(630),m=c.default;t.CurrentGlobal=a.CurrentGlobal,t.Global=a.Global,t.Module=d.Module,t.ModuleFederation=f.ModuleFederation,t.addGlobalSnapshot=a.addGlobalSnapshot,t.assert=o.assert,t.error=o.error,t.getGlobalFederationConstructor=a.getGlobalFederationConstructor,t.getGlobalSnapshot=a.getGlobalSnapshot,t.getInfoWithoutType=a.getInfoWithoutType,t.getRegisteredShare=s.getRegisteredShare,t.getRemoteEntry=u.getRemoteEntry,t.getRemoteInfo=u.getRemoteInfo,t.helpers=m,t.isStaticResourcesEqual=n.isStaticResourcesEqual,Object.defineProperty(t,\"loadScript\",{enumerable:!0,get:function(){return h.loadScript}}),Object.defineProperty(t,\"loadScriptNode\",{enumerable:!0,get:function(){return h.loadScriptNode}}),t.matchRemoteWithNameAndExpose=l.matchRemoteWithNameAndExpose,t.registerGlobalPlugins=a.registerGlobalPlugins,t.resetFederationGlobalInfo=a.resetFederationGlobalInfo,t.safeWrapper=n.safeWrapper,t.satisfy=i.satisfy,t.setGlobalFederationConstructor=a.setGlobalFederationConstructor,t.setGlobalFederationInstance=a.setGlobalFederationInstance,Object.defineProperty(t,\"types\",{enumerable:!0,get:function(){return p.type_exports}})},2003(e,t,r){let o=r(8628),n=r(9350),a=r(556),i=r(8393);r(1132);let s=r(630),l=r(4363);function u(e,t,r){let o=t,n=Array.isArray(e.shareScope)?e.shareScope:[e.shareScope];n.length||n.push(\"default\"),n.forEach(e=>{o[e]||(o[e]={})});let a={version:e.version||\"\",shareScopeKeys:Array.isArray(e.shareScope)?n:e.shareScope||\"default\"};return Object.defineProperty(a,\"shareScopeMap\",{value:o,enumerable:!1}),{remoteEntryInitOptions:a,shareScope:o[n[0]],initScope:r??[]}}t.Module=class{async getEntry(){if(this.remoteEntryExports)return this.remoteEntryExports;let e=await a.getRemoteEntry({origin:this.host,remoteInfo:this.remoteInfo,remoteEntryExports:this.remoteEntryExports});return o.assert(e,`remoteEntryExports is undefined \n ${(0,s.safeToString)(this.remoteInfo)}`),this.remoteEntryExports=e,this.remoteEntryExports}async init(e,t,r){let n=await this.getEntry();if(this.inited)return n;if(this.initPromise)return await this.initPromise,n;this.initing=!0,this.initPromise=(async()=>{let{remoteEntryInitOptions:a,shareScope:s,initScope:c}=u(this.remoteInfo,this.host.shareScopeMap,r),d=await this.host.hooks.lifecycle.beforeInitContainer.emit({shareScope:s,remoteEntryInitOptions:a,initScope:c,remoteInfo:this.remoteInfo,origin:this.host});void 0===(null==n?void 0:n.init)&&o.error(l.RUNTIME_002,l.runtimeDescMap,{hostName:this.host.name,remoteName:this.remoteInfo.name,remoteEntryUrl:this.remoteInfo.entry,remoteEntryKey:this.remoteInfo.entryGlobalName},void 0,i.optionsToMFContext(this.host.options)),await n.init(d.shareScope,d.initScope,d.remoteEntryInitOptions),await this.host.hooks.lifecycle.initContainer.emit({...d,id:e,remoteSnapshot:t,remoteEntryExports:n}),this.inited=!0})();try{await this.initPromise}finally{this.initing=!1,this.initPromise=void 0}return n}async get(e,t,r,a){let i,{loadFactory:s=!0}=r||{loadFactory:!0},l=await this.init(e,a);this.lib=l,(i=await this.host.loaderHook.lifecycle.getModuleFactory.emit({remoteEntryExports:l,expose:t,moduleInfo:this.remoteInfo}))||(i=await l.get(t)),o.assert(i,`${n.getFMId(this.remoteInfo)} remote don't export ${t}.`);let u=n.processModuleAlias(this.remoteInfo.name,t),c=this.wraperFactory(i,u);return s?await c():c}wraperFactory(e,t){function r(e,t){e&&\"object\"==typeof e&&Object.isExtensible(e)&&!Object.getOwnPropertyDescriptor(e,Symbol.for(\"mf_module_id\"))&&Object.defineProperty(e,Symbol.for(\"mf_module_id\"),{value:t,enumerable:!1})}return e instanceof Promise?async()=>{let o=await e();return r(o,t),o}:()=>{let o=e();return r(o,t),o}}constructor({remoteInfo:e,host:t}){this.inited=!1,this.initing=!1,this.lib=void 0,this.remoteInfo=e,this.host=t}}},4710(e,t,r){let o=r(9350),n=r(4391),a=r(8369);r(1132);let i=r(9599),s=r(4260),l=r(630);function u(e){let t=e.split(\":\");return 1===t.length?{name:t[0],version:void 0}:2===t.length?{name:t[0],version:t[1]}:{name:t[1],version:t[2]}}function c(e,t,r,a){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},s=arguments.length>5?arguments[5]:void 0,{value:d}=n.getInfoWithoutType(e,o.getFMId(t)),f=s||d;if(f&&!(0,l.isManifestProvider)(f)&&(r(f,t,a),f.remotesInfo))for(let t of Object.keys(f.remotesInfo)){if(i[t])continue;i[t]=!0;let o=u(t),n=f.remotesInfo[t];c(e,{name:o.name,version:n.matchedVersion},r,!1,i,void 0)}}let d=(e,t)=>document.querySelector(`${e}[${\"link\"===e?\"href\":\"src\"}=\"${t}\"]`);function f(e,t,r,s,u){let f=[],p=[],h=[],m=new Set,g=new Set,{options:y}=e,{preloadConfig:E}=t,{depsRemote:_}=E;if(c(s,r,(t,r,a)=>{var s;let u;if(a)u=E;else if(Array.isArray(_)){let e=_.find(e=>e.nameOrAlias===r.name||e.nameOrAlias===r.alias);if(!e)return;u=i.defaultPreloadArgs(e)}else{if(!0!==_)return;u=E}let c=(0,l.getResourceUrl)(t,o.getRemoteEntryInfoFromSnapshot(t).url);c&&h.push({name:r.name,moduleInfo:{name:r.name,entry:c,type:\"remoteEntryType\"in t?t.remoteEntryType:\"global\",entryGlobalName:\"globalName\"in t?t.globalName:r.name,shareScope:\"\",version:\"version\"in t?t.version:void 0},url:c});let d=\"modules\"in t?t.modules:[],m=i.normalizePreloadExposes(u.exposes);function g(e){let r=e.map(e=>(0,l.getResourceUrl)(t,e));return u.filter?r.filter(u.filter):r}if(m.length&&\"modules\"in t&&(d=null==t||null==(s=t.modules)?void 0:s.reduce((e,t)=>((null==m?void 0:m.indexOf(t.moduleName))!==-1&&e.push(t),e),[])),d){let o=d.length;for(let a=0;a<o;a++){let o=d[a],i=`${r.name}/${o.moduleName}`;e.remoteHandler.hooks.lifecycle.handlePreloadModule.emit({id:\".\"===o.moduleName?r.name:i,name:r.name,remoteSnapshot:t,preloadConfig:u,remote:r,origin:e}),n.getPreloaded(i)||(\"all\"===u.resourceCategory?(f.push(...g(o.assets.css.async)),f.push(...g(o.assets.css.sync)),p.push(...g(o.assets.js.async)),p.push(...g(o.assets.js.sync))):\"sync\"===u.resourceCategory&&(f.push(...g(o.assets.css.sync)),p.push(...g(o.assets.js.sync))),n.setPreloaded(i))}}},!0,{},u),u.shared&&u.shared.length>0){let t=(t,r)=>{let{shared:o}=a.getRegisteredShare(e.shareScopeMap,r.sharedName,t,e.sharedHandler.hooks.lifecycle.resolveShare)||{};o&&\"function\"==typeof o.lib&&(r.assets.js.sync.forEach(e=>{m.add(e)}),r.assets.css.sync.forEach(e=>{g.add(e)}))};u.shared.forEach(e=>{var r;let n=null==(r=y.shared)?void 0:r[e.sharedName];if(!n)return;let a=e.version?n.find(t=>t.version===e.version):n;a&&o.arrayOptions(a).forEach(r=>{t(r,e)})})}let S=p.filter(e=>!m.has(e)&&!d(\"script\",e));return{cssAssets:f.filter(e=>!g.has(e)&&!d(\"link\",e)),jsAssetsWithoutEntry:S,entryAssets:h.filter(e=>!d(\"script\",e.url))}}t.generatePreloadAssetsPlugin=function(){return{name:\"generate-preload-assets-plugin\",async generatePreloadAssets(e){let{origin:t,preloadOptions:r,remoteInfo:n,remote:a,globalSnapshot:i,remoteSnapshot:u}=e;return l.isBrowserEnvValue?o.isRemoteInfoWithEntry(a)&&o.isPureRemoteEntry(a)?{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[{name:a.name,url:a.entry,moduleInfo:{name:n.name,entry:a.entry,type:n.type||\"global\",entryGlobalName:\"\",shareScope:\"\"}}]}:(s.assignRemoteInfo(n,u),f(t,r,n,i,u)):{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[]}}}}},9152(e,t,r){let o=r(8628),n=r(9350),a=r(4391),i=r(8393);r(1132);let s=r(2964),l=r(2299),u=r(317);r(4317);let c=r(630),d=r(4363);function f(e,t){let r=a.getGlobalSnapshotInfoByModuleInfo({name:t.name,version:t.options.version}),o=r&&\"remotesInfo\"in r&&r.remotesInfo&&a.getInfoWithoutType(r.remotesInfo,e.name).value;return o&&o.matchedVersion?{hostGlobalSnapshot:r,globalSnapshot:a.getGlobalSnapshot(),remoteSnapshot:a.getGlobalSnapshotInfoByModuleInfo({name:e.name,version:o.matchedVersion})}:{hostGlobalSnapshot:void 0,globalSnapshot:a.getGlobalSnapshot(),remoteSnapshot:a.getGlobalSnapshotInfoByModuleInfo({name:e.name,version:\"version\"in e?e.version:void 0})}}t.SnapshotHandler=class{async loadRemoteSnapshotInfo(e){let t,r,{moduleInfo:s,id:l,expose:u}=e,{options:f}=this.HostInstance;await this.hooks.lifecycle.beforeLoadRemoteSnapshot.emit({options:f,moduleInfo:s});let p=a.getGlobalSnapshotInfoByModuleInfo({name:this.HostInstance.options.name,version:this.HostInstance.options.version});p||(p={version:this.HostInstance.options.version||\"\",remoteEntry:\"\",remotesInfo:{}},a.addGlobalSnapshot({[this.HostInstance.options.name]:p})),p&&\"remotesInfo\"in p&&!a.getInfoWithoutType(p.remotesInfo,s.name).value&&(\"version\"in s||\"entry\"in s)&&(p.remotesInfo={...null==p?void 0:p.remotesInfo,[s.name]:{matchedVersion:\"version\"in s?s.version:s.entry}});let{hostGlobalSnapshot:h,remoteSnapshot:m,globalSnapshot:g}=this.getGlobalRemoteInfo(s),{remoteSnapshot:y,globalSnapshot:E}=await this.hooks.lifecycle.loadSnapshot.emit({options:f,moduleInfo:s,hostGlobalSnapshot:h,remoteSnapshot:m,globalSnapshot:g});if(y)if((0,c.isManifestProvider)(y)){let e=c.isBrowserEnvValue?y.remoteEntry:y.ssrRemoteEntry||y.remoteEntry||\"\",o=await this.getManifestJson(e,s,{}),n=a.setGlobalSnapshotInfoByModuleInfo({...s,entry:e},o);t=o,r=n}else{let{remoteSnapshot:e}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:s,remoteSnapshot:y,from:\"global\"});t=e,r=E}else if(n.isRemoteInfoWithEntry(s)){let e=await this.getManifestJson(s.entry,s,{}),o=a.setGlobalSnapshotInfoByModuleInfo(s,e),{remoteSnapshot:n}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:s,remoteSnapshot:e,from:\"global\"});t=n,r=o}else o.error(d.RUNTIME_007,d.runtimeDescMap,{remoteName:s.name,remoteVersion:s.version,hostName:this.HostInstance.options.name,globalSnapshot:JSON.stringify(E)},void 0,i.optionsToMFContext(this.HostInstance.options));return await this.hooks.lifecycle.afterLoadSnapshot.emit({id:l,host:this.HostInstance,options:f,moduleInfo:s,remoteSnapshot:t}),{remoteSnapshot:t,globalSnapshot:r}}getGlobalRemoteInfo(e){return f(e,this.HostInstance)}async getManifestJson(e,t,r){let n=async()=>{let r=this.manifestCache.get(e);if(r)return r;try{let t=await this.loaderHook.lifecycle.fetch.emit(e,{});t&&t instanceof Response||(t=await fetch(e,{})),r=await t.json()}catch(n){(r=await this.HostInstance.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:e,error:n,from:\"runtime\",lifecycle:\"afterResolve\",origin:this.HostInstance}))||(delete this.manifestLoading[e],o.error(d.RUNTIME_003,d.runtimeDescMap,{manifestUrl:e,moduleName:t.name,hostName:this.HostInstance.options.name},`${n}`,i.optionsToMFContext(this.HostInstance.options)))}return o.assert(r.metaData&&r.exposes&&r.shared,`\"${e}\" is not a valid federation manifest for remote \"${t.name}\". Missing required fields: ${[!r.metaData&&\"metaData\",!r.exposes&&\"exposes\",!r.shared&&\"shared\"].filter(Boolean).join(\", \")}.`),this.manifestCache.set(e,r),r},a=async()=>{let r=await n(),o=(0,c.generateSnapshotFromManifest)(r,{version:e}),{remoteSnapshot:a}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:t,manifestJson:r,remoteSnapshot:o,manifestUrl:e,from:\"manifest\"});return a};return this.manifestLoading[e]||(this.manifestLoading[e]=a().then(e=>e)),this.manifestLoading[e]}constructor(e){this.loadingHostSnapshot=null,this.manifestCache=new Map,this.hooks=new u.PluginSystem({beforeLoadRemoteSnapshot:new s.AsyncHook(\"beforeLoadRemoteSnapshot\"),loadSnapshot:new l.AsyncWaterfallHook(\"loadGlobalSnapshot\"),loadRemoteSnapshot:new l.AsyncWaterfallHook(\"loadRemoteSnapshot\"),afterLoadSnapshot:new l.AsyncWaterfallHook(\"afterLoadSnapshot\")}),this.manifestLoading=a.Global.__FEDERATION__.__MANIFEST_LOADING__,this.HostInstance=e,this.loaderHook=e.loaderHook}},t.getGlobalRemoteInfo=f},4260(e,t,r){let o=r(8628),n=r(9350);r(1132);let a=r(9599),i=r(630),s=r(4363);function l(e,t){let r=n.getRemoteEntryInfoFromSnapshot(t);r.url||o.error(s.RUNTIME_011,s.runtimeDescMap,{remoteName:e.name});let a=(0,i.getResourceUrl)(t,r.url);i.isBrowserEnvValue||a.startsWith(\"http\")||(a=`https:${a}`),e.type=r.type,e.entryGlobalName=r.globalName,e.entry=a,e.version=t.version,e.buildVersion=t.buildVersion}function u(){return{name:\"snapshot-plugin\",async afterResolve(e){let{remote:t,pkgNameOrAlias:r,expose:o,origin:i,remoteInfo:s,id:u}=e;if(!n.isRemoteInfoWithEntry(t)||!n.isPureRemoteEntry(t)){let{remoteSnapshot:n,globalSnapshot:c}=await i.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:t,id:u});l(s,n);let d={remote:t,preloadConfig:{nameOrAlias:r,exposes:[o],resourceCategory:\"sync\",share:!1,depsRemote:!1}},f=await i.remoteHandler.hooks.lifecycle.generatePreloadAssets.emit({origin:i,preloadOptions:d,remoteInfo:s,remote:t,remoteSnapshot:n,globalSnapshot:c});return f&&a.preloadAssets(s,i,f,!1),{...e,remoteSnapshot:n}}return e}}}t.assignRemoteInfo=l,t.snapshotPlugin=u},1777(e,t,r){let o=r(8628),n=r(4391),a=r(2926),i=r(8369),s=r(6079),l=r(556),u=r(8393);r(1132);let c=r(9599),d=r(2003),f=r(6227),p=r(2964),h=r(2593),m=r(2299),g=r(317);r(4317);let y=r(9152),E=r(630),_=r(4363);t.RemoteHandler=class{formatAndRegisterRemote(e,t){return(t.remotes||[]).reduce((e,t)=>(this.registerRemote(t,e,{force:!1}),e),e.remotes)}setIdToRemoteMap(e,t){let{remote:r,expose:o}=t,{name:n,alias:a}=r;if(this.idToRemoteMap[e]={name:r.name,expose:o},a&&e.startsWith(n)){let t=e.replace(n,a);this.idToRemoteMap[t]={name:r.name,expose:o};return}if(a&&e.startsWith(a)){let t=e.replace(a,n);this.idToRemoteMap[t]={name:r.name,expose:o}}}async loadRemote(e,t){let{host:r}=this;try{let{loadFactory:o=!0}=t||{loadFactory:!0},{module:n,moduleOptions:a,remoteMatchInfo:i}=await this.getRemoteModuleAndOptions({id:e}),{pkgNameOrAlias:s,remote:l,expose:u,id:c,remoteSnapshot:d}=i,f=await n.get(c,u,t,d),p=await this.hooks.lifecycle.onLoad.emit({id:c,pkgNameOrAlias:s,expose:u,exposeModule:o?f:void 0,exposeModuleFactory:o?void 0:f,remote:l,options:a,moduleInstance:n,origin:r});if(this.setIdToRemoteMap(e,i),\"function\"==typeof p)return p;return f}catch(a){let{from:o=\"runtime\"}=t||{from:\"runtime\"},n=await this.hooks.lifecycle.errorLoadRemote.emit({id:e,error:a,from:o,lifecycle:\"onLoad\",origin:r});if(!n)throw a;return n}}async preloadRemote(e){let{host:t}=this;await this.hooks.lifecycle.beforePreloadRemote.emit({preloadOps:e,options:t.options,origin:t});let r=c.formatPreloadArgs(t.options.remotes,e);await Promise.all(r.map(async e=>{let{remote:r}=e,o=l.getRemoteInfo(r),{globalSnapshot:n,remoteSnapshot:a}=await t.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:r}),i=await this.hooks.lifecycle.generatePreloadAssets.emit({origin:t,preloadOptions:e,remote:r,remoteInfo:o,globalSnapshot:n,remoteSnapshot:a});i&&c.preloadAssets(o,t,i)}))}registerRemotes(e,t){let{host:r}=this;e.forEach(e=>{this.registerRemote(e,r.options.remotes,{force:null==t?void 0:t.force})})}async getRemoteModuleAndOptions(e){let t,{host:r}=this,{id:n}=e;try{t=await this.hooks.lifecycle.beforeRequest.emit({id:n,options:r.options,origin:r})}catch(e){if(!(t=await this.hooks.lifecycle.errorLoadRemote.emit({id:n,options:r.options,origin:r,from:\"runtime\",error:e,lifecycle:\"beforeRequest\"})))throw e}let{id:a}=t,i=s.matchRemoteWithNameAndExpose(r.options.remotes,a);i||o.error(_.RUNTIME_004,_.runtimeDescMap,{hostName:r.options.name,requestId:a},void 0,u.optionsToMFContext(r.options));let{remote:c}=i,f=l.getRemoteInfo(c),p=await r.sharedHandler.hooks.lifecycle.afterResolve.emit({id:a,...i,options:r.options,origin:r,remoteInfo:f}),{remote:h,expose:m}=p;o.assert(h&&m,`The 'beforeRequest' hook was executed, but it failed to return the correct 'remote' and 'expose' values while loading ${a}.`);let g=r.moduleCache.get(h.name),y={host:r,remoteInfo:f};return g||(g=new d.Module(y),r.moduleCache.set(h.name,g)),{module:g,moduleOptions:y,remoteMatchInfo:p}}registerRemote(e,t,r){let{host:n}=this,i=()=>{if(e.alias){let r=t.find(t=>{var r;return e.alias&&(t.name.startsWith(e.alias)||(null==(r=t.alias)?void 0:r.startsWith(e.alias)))});o.assert(!r,`The alias ${e.alias} of remote ${e.name} is not allowed to be the prefix of ${r&&r.name} name or alias`)}\"entry\"in e&&E.isBrowserEnvValue&&\"u\">typeof window&&!e.entry.startsWith(\"http\")&&(e.entry=new URL(e.entry,window.location.origin).href),e.shareScope||(e.shareScope=a.DEFAULT_SCOPE),e.type||(e.type=a.DEFAULT_REMOTE_TYPE)};this.hooks.lifecycle.beforeRegisterRemote.emit({remote:e,origin:n});let s=t.find(t=>t.name===e.name);if(s){let o=[`The remote \"${e.name}\" is already registered.`,\"Please note that overriding it may cause unexpected errors.\"];(null==r?void 0:r.force)&&(this.removeRemote(s),i(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:n}),(0,E.warn)(o.join(\" \")))}else i(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:n})}removeRemote(e){try{let{host:r}=this,{name:o}=e,a=r.options.remotes.findIndex(e=>e.name===o);-1!==a&&r.options.remotes.splice(a,1);let s=r.moduleCache.get(e.name);if(s){var t;let o=s.remoteInfo,a=o.entryGlobalName;n.CurrentGlobal[a]&&((null==(t=Object.getOwnPropertyDescriptor(n.CurrentGlobal,a))?void 0:t.configurable)?delete n.CurrentGlobal[a]:n.CurrentGlobal[a]=void 0);let u=l.getRemoteEntryUniqueKey(s.remoteInfo);n.globalLoading[u]&&delete n.globalLoading[u],r.snapshotHandler.manifestCache.delete(o.entry);let c=o.buildVersion?(0,E.composeKeyWithSeparator)(o.name,o.buildVersion):o.name,d=n.CurrentGlobal.__FEDERATION__.__INSTANCES__.findIndex(e=>o.buildVersion?e.options.id===c:e.name===c);if(-1!==d){let e=n.CurrentGlobal.__FEDERATION__.__INSTANCES__[d];c=e.options.id||c;let t=i.getGlobalShareScope(),r=!0,a=[];Object.keys(t).forEach(e=>{let n=t[e];n&&Object.keys(n).forEach(t=>{let i=n[t];i&&Object.keys(i).forEach(n=>{let s=i[n];s&&Object.keys(s).forEach(i=>{let l=s[i];l&&\"object\"==typeof l&&l.from===o.name&&(l.loaded||l.loading?(l.useIn=l.useIn.filter(e=>e!==o.name),l.useIn.length?r=!1:a.push([e,t,n,i])):a.push([e,t,n,i]))})})})}),r&&(e.shareScopeMap={},delete t[c]),a.forEach(e=>{var r,o,n;let[a,i,s,l]=e;null==(n=t[a])||null==(o=n[i])||null==(r=o[s])||delete r[l]}),n.CurrentGlobal.__FEDERATION__.__INSTANCES__.splice(d,1)}let{hostGlobalSnapshot:f}=y.getGlobalRemoteInfo(e,r);if(f){let t=f&&\"remotesInfo\"in f&&f.remotesInfo&&n.getInfoWithoutType(f.remotesInfo,e.name).key;t&&(delete f.remotesInfo[t],n.Global.__FEDERATION__.__MANIFEST_LOADING__[t]&&delete n.Global.__FEDERATION__.__MANIFEST_LOADING__[t])}r.moduleCache.delete(e.name)}}catch(e){o.logger.error(`removeRemote failed: ${e instanceof Error?e.message:String(e)}`)}}constructor(e){this.hooks=new g.PluginSystem({beforeRegisterRemote:new h.SyncWaterfallHook(\"beforeRegisterRemote\"),registerRemote:new h.SyncWaterfallHook(\"registerRemote\"),beforeRequest:new m.AsyncWaterfallHook(\"beforeRequest\"),onLoad:new p.AsyncHook(\"onLoad\"),handlePreloadModule:new f.SyncHook(\"handlePreloadModule\"),errorLoadRemote:new p.AsyncHook(\"errorLoadRemote\"),beforePreloadRemote:new p.AsyncHook(\"beforePreloadRemote\"),generatePreloadAssets:new p.AsyncHook(\"generatePreloadAssets\"),afterPreloadRemote:new p.AsyncHook,loadEntry:new p.AsyncHook}),this.host=e,this.idToRemoteMap={}}}},7300(e,t,r){let o=r(8628),n=r(2926),a=r(8369),i=r(8393);r(1132);let s=r(2964),l=r(2593),u=r(2299),c=r(317);r(4317);let d=r(4363);t.SharedHandler=class{registerShared(e,t){let{newShareInfos:r,allShareInfos:o}=a.formatShareConfigs(e,t);return Object.keys(r).forEach(e=>{r[e].forEach(r=>{r.scope.forEach(o=>{var n;this.hooks.lifecycle.beforeRegisterShare.emit({origin:this.host,pkgName:e,shared:r}),(null==(n=this.shareScopeMap[o])?void 0:n[e])||this.setShared({pkgName:e,lib:r.lib,get:r.get,loaded:r.loaded||!!r.lib,shared:r,from:t.name})})})}),{newShareInfos:r,allShareInfos:o}}async loadShare(e,t){let{host:r}=this,n=a.getTargetSharedOptions({pkgName:e,extraOptions:t,shareInfos:r.options.shared});(null==n?void 0:n.scope)&&await Promise.all(n.scope.map(async e=>{await Promise.all(this.initializeSharing(e,{strategy:n.strategy}))}));let{shareInfo:i}=await this.hooks.lifecycle.beforeLoadShare.emit({pkgName:e,shareInfo:n,shared:r.options.shared,origin:r});o.assert(i,`Cannot find shared \"${e}\" in host \"${r.options.name}\". Ensure the shared config for \"${e}\" is declared in the federation plugin options and the host has been initialized before loading shares.`);let{shared:s,useTreesShaking:l}=a.getRegisteredShare(this.shareScopeMap,e,i,this.hooks.lifecycle.resolveShare)||{};if(s){let t=a.directShare(s,l);if(t.lib)return a.addUseIn(t,r.options.name),t.lib;if(t.loading&&!t.loaded){let e=await t.loading;return t.loaded=!0,t.lib||(t.lib=e),a.addUseIn(t,r.options.name),e}{let o=(async()=>{let e=await t.get();return a.addUseIn(t,r.options.name),t.loaded=!0,t.lib=e,e})();return this.setShared({pkgName:e,loaded:!1,shared:s,from:r.options.name,lib:null,loading:o,treeShaking:l?t:void 0}),o}}{if(null==t?void 0:t.customShareInfo)return!1;let o=a.shouldUseTreeShaking(i.treeShaking),n=a.directShare(i,o),s=(async()=>{let t=await n.get();n.lib=t,n.loaded=!0,a.addUseIn(n,r.options.name);let{shared:o,useTreesShaking:s}=a.getRegisteredShare(this.shareScopeMap,e,i,this.hooks.lifecycle.resolveShare)||{};if(o){let e=a.directShare(o,s);e.lib=t,e.loaded=!0,o.from=i.from}return t})();return this.setShared({pkgName:e,loaded:!1,shared:i,from:r.options.name,lib:null,loading:s,treeShaking:o?n:void 0}),s}}initializeSharing(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n.DEFAULT_SCOPE,t=arguments.length>1?arguments[1]:void 0,{host:r}=this,o=null==t?void 0:t.from,i=null==t?void 0:t.strategy,s=null==t?void 0:t.initScope,l=[];if(\"build\"!==o){let{initTokens:t}=this;s||(s=[]);let r=t[e];if(r||(r=t[e]={from:this.host.name}),s.indexOf(r)>=0)return l;s.push(r)}let u=this.shareScopeMap,c=r.options.name;u[e]||(u[e]={});let d=u[e],f=(e,t)=>{var r;let{version:o,eager:n}=t;d[e]=d[e]||{};let i=d[e],s=i[o]&&a.directShare(i[o]),l=!!(s&&(\"eager\"in s&&s.eager||\"shareConfig\"in s&&(null==(r=s.shareConfig)?void 0:r.eager)));(!s||\"loaded-first\"!==s.strategy&&!s.loaded&&(!n!=!l?n:c>i[o].from))&&(i[o]=t)},p=async e=>{let t,{module:o}=await r.remoteHandler.getRemoteModuleAndOptions({id:e});try{t=await o.getEntry()}catch(o){if(!(t=await r.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:e,error:o,from:\"runtime\",lifecycle:\"beforeLoadShare\",origin:r})))return}finally{(null==t?void 0:t.init)&&!o.initing&&(o.remoteEntryExports=t,await o.init(void 0,void 0,s))}};return Object.keys(r.options.shared).forEach(t=>{r.options.shared[t].forEach(r=>{r.scope.includes(e)&&f(t,r)})}),(\"version-first\"===r.options.shareStrategy||\"version-first\"===i)&&r.options.remotes.forEach(t=>{t.shareScope===e&&l.push(p(t.name))}),l}loadShareSync(e,t){let{host:r}=this,n=a.getTargetSharedOptions({pkgName:e,extraOptions:t,shareInfos:r.options.shared});(null==n?void 0:n.scope)&&n.scope.forEach(e=>{this.initializeSharing(e,{strategy:n.strategy})});let{shared:s,useTreesShaking:l}=a.getRegisteredShare(this.shareScopeMap,e,n,this.hooks.lifecycle.resolveShare)||{};if(s){if(\"function\"==typeof s.lib)return a.addUseIn(s,r.options.name),s.loaded||(s.loaded=!0,s.from===r.options.name&&(n.loaded=!0)),s.lib;if(\"function\"==typeof s.get){let t=s.get();if(!(t instanceof Promise))return a.addUseIn(s,r.options.name),this.setShared({pkgName:e,loaded:!0,from:r.options.name,lib:t,shared:s}),t}}if(n.lib)return n.loaded||(n.loaded=!0),n.lib;if(n.get){let a=n.get();return a instanceof Promise&&o.error((null==t?void 0:t.from)===\"build\"?d.RUNTIME_005:d.RUNTIME_006,d.runtimeDescMap,{hostName:r.options.name,sharedPkgName:e},void 0,i.optionsToMFContext(r.options)),n.lib=a,this.setShared({pkgName:e,loaded:!0,from:r.options.name,lib:n.lib,shared:n}),n.lib}o.error(d.RUNTIME_006,d.runtimeDescMap,{hostName:r.options.name,sharedPkgName:e},void 0,i.optionsToMFContext(r.options))}initShareScopeMap(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{host:o}=this;this.shareScopeMap[e]=t,this.hooks.lifecycle.initContainerShareScopeMap.emit({shareScope:t,options:o.options,origin:o,scopeName:e,hostShareScopeMap:r.hostShareScopeMap})}setShared(e){let{pkgName:t,shared:r,from:o,lib:n,loading:a,loaded:i,get:s,treeShaking:l}=e,{version:u,scope:c=\"default\",...d}=r,f=Array.isArray(c)?c:[c],p=e=>{let t=(e,t,r)=>{r&&!e[t]&&(e[t]=r)},r=l?e.treeShaking:e;t(r,\"loaded\",i),t(r,\"loading\",a),t(r,\"get\",s)};f.forEach(e=>{this.shareScopeMap[e]||(this.shareScopeMap[e]={}),this.shareScopeMap[e][t]||(this.shareScopeMap[e][t]={}),this.shareScopeMap[e][t][u]||(this.shareScopeMap[e][t][u]={version:u,scope:[e],...d,lib:n});let r=this.shareScopeMap[e][t][u];p(r),o&&r.from!==o&&(r.from=o)})}_setGlobalShareScopeMap(e){let t=a.getGlobalShareScope(),r=e.id||e.name;r&&!t[r]&&(t[r]=this.shareScopeMap)}constructor(e){this.hooks=new c.PluginSystem({beforeRegisterShare:new l.SyncWaterfallHook(\"beforeRegisterShare\"),afterResolve:new u.AsyncWaterfallHook(\"afterResolve\"),beforeLoadShare:new u.AsyncWaterfallHook(\"beforeLoadShare\"),loadShare:new s.AsyncHook,resolveShare:new l.SyncWaterfallHook(\"resolveShare\"),initContainerShareScopeMap:new l.SyncWaterfallHook(\"initContainerShareScopeMap\")}),this.host=e,this.shareScopeMap={},this.initTokens={},this._setGlobalShareScopeMap(e.options)}}},7703(e,t,r){var o=r(1748).__exportAll({});Object.defineProperty(t,\"type_exports\",{enumerable:!0,get:function(){return o}})},8393(e,t){function r(e){return{name:e.name,alias:e.alias,entry:\"entry\"in e?e.entry:void 0,version:\"version\"in e?e.version:void 0,type:e.type,entryGlobalName:e.entryGlobalName,shareScope:e.shareScope}}t.optionsToMFContext=function(e){var t,o,n,a,i,s;let l={};for(let[t,r]of Object.entries(e.shared)){let e=r[0];e&&(l[t]={version:e.version,singleton:null==(n=e.shareConfig)?void 0:n.singleton,requiredVersion:(null==(a=e.shareConfig)?void 0:a.requiredVersion)!==!1&&(null==(i=e.shareConfig)?void 0:i.requiredVersion),eager:e.eager,strictVersion:null==(s=e.shareConfig)?void 0:s.strictVersion})}return{project:{name:e.name,mfRole:(null==(t=e.remotes)?void 0:t.length)>0?\"host\":\"unknown\"},mfConfig:{name:e.name,remotes:(null==(o=e.remotes)?void 0:o.map(r))??[],shared:l}}}},7829(e,t,r){r(630),t.getBuilderId=function(){return\"pimcore_datahub_bundle:0.0.1\"}},2964(e,t,r){let o=r(6227);t.AsyncHook=class extends o.SyncHook{emit(){let e;for(var t=arguments.length,r=Array(t),o=0;o<t;o++)r[o]=arguments[o];let n=Array.from(this.listeners);if(n.length>0){let t=0,o=e=>!1!==e&&(t<n.length?Promise.resolve(n[t++].apply(null,r)).then(o):e);e=o()}return Promise.resolve(e)}}},2299(e,t,r){let o=r(8628),n=r(9350),a=r(6227),i=r(2593);t.AsyncWaterfallHook=class extends a.SyncHook{emit(e){n.isObject(e)||o.error(`The response data for the \"${this.type}\" hook must be an object.`);let t=Array.from(this.listeners);if(t.length>0){let r=0,n=t=>(o.warn(t),this.onerror(t),e),a=o=>{if(i.checkReturnData(e,o)){if(e=o,r<t.length)try{return Promise.resolve(t[r++](e)).then(a,n)}catch(e){return n(e)}}else this.onerror(`A plugin returned an incorrect value for the \"${this.type}\" type.`);return e};return Promise.resolve(a(e))}return Promise.resolve(e)}constructor(e){super(),this.onerror=o.error,this.type=e}}},4317(e,t,r){r(6227),r(2964),r(2593),r(2299),r(317)},317(e,t,r){let o=r(8628),n=r(9350);r(1132),t.PluginSystem=class{applyPlugin(e,t){o.assert(n.isPlainObject(e),\"Plugin configuration is invalid.\");let r=e.name;if(o.assert(r,\"A name must be provided by the plugin.\"),!this.registerPlugins[r]){var a;this.registerPlugins[r]=e,null==(a=e.apply)||a.call(e,t),Object.keys(this.lifecycle).forEach(t=>{let r=e[t];r&&this.lifecycle[t].on(r)})}}removePlugin(e){o.assert(e,\"A name is required.\");let t=this.registerPlugins[e];o.assert(t,`The plugin \"${e}\" is not registered.`),Object.keys(t).forEach(e=>{\"name\"!==e&&this.lifecycle[e].remove(t[e])})}constructor(e){this.registerPlugins={},this.lifecycle=e,this.lifecycleKeys=Object.keys(e)}}},6227(e,t){t.SyncHook=class{on(e){\"function\"==typeof e&&this.listeners.add(e)}once(e){let t=this;this.on(function r(){for(var o=arguments.length,n=Array(o),a=0;a<o;a++)n[a]=arguments[a];return t.remove(r),e.apply(null,n)})}emit(){let e;for(var t=arguments.length,r=Array(t),o=0;o<t;o++)r[o]=arguments[o];return this.listeners.size>0&&this.listeners.forEach(t=>{e=t(...r)}),e}remove(e){this.listeners.delete(e)}removeAll(){this.listeners.clear()}constructor(e){this.type=\"\",this.listeners=new Set,e&&(this.type=e)}}},2593(e,t,r){let o=r(8628),n=r(9350),a=r(6227);function i(e,t){if(!n.isObject(t))return!1;if(e!==t){for(let r in e)if(!(r in t))return!1}return!0}t.SyncWaterfallHook=class extends a.SyncHook{emit(e){for(let t of(n.isObject(e)||o.error(`The data for the \"${this.type}\" hook should be an object.`),this.listeners))try{let r=t(e);if(i(e,r))e=r;else{this.onerror(`A plugin returned an unacceptable value for the \"${this.type}\" type.`);break}}catch(e){o.warn(e),this.onerror(e)}return e}constructor(e){super(),this.onerror=o.error,this.type=e}},t.checkReturnData=i},1132(e,t,r){r(8628),r(9350),r(7829),r(6079),r(8457),r(556),r(8393),r(630)},556(e,t,r){let o=r(8628),n=r(4391),a=r(2926),i=r(630),s=r(4363),l=\".then(callbacks[0]).catch(callbacks[1])\";async function u(e){let{entry:t,remoteEntryExports:r}=e;return new Promise((e,n)=>{try{r?e(r):\"u\">typeof FEDERATION_ALLOW_NEW_FUNCTION?Function(\"callbacks\",`import(\"${t}\")${l}`)([e,n]):import(t).then(e).catch(n)}catch(e){o.error(`Failed to load ESM entry from \"${t}\". ${e instanceof Error?e.message:String(e)}`)}})}async function c(e){let{entry:t,remoteEntryExports:r}=e;return new Promise((e,n)=>{try{r?e(r):Function(\"callbacks\",`System.import(\"${t}\")${l}`)([e,n])}catch(e){o.error(`Failed to load SystemJS entry from \"${t}\". ${e instanceof Error?e.message:String(e)}`)}})}function d(e,t,r){let{remoteEntryKey:a,entryExports:i}=n.getRemoteEntryExports(e,t);return i||o.error(s.RUNTIME_001,s.runtimeDescMap,{remoteName:e,remoteEntryUrl:r,remoteEntryKey:a}),i}async function f(e){let{name:t,globalName:r,entry:a,loaderHook:l,getEntryUrl:u}=e,{entryExports:c}=n.getRemoteEntryExports(t,r);if(c)return c;let f=u?u(a):a;return(0,i.loadScript)(f,{attrs:{},createScriptHook:(e,t)=>{let r=l.lifecycle.createScript.emit({url:e,attrs:t});if(r&&(r instanceof HTMLScriptElement||\"script\"in r||\"timeout\"in r))return r}}).then(()=>d(t,r,a),e=>{let r=e instanceof Error?e.message:String(e);o.error(s.RUNTIME_008,s.runtimeDescMap,{remoteName:t,resourceUrl:f},r)})}async function p(e){let{remoteInfo:t,remoteEntryExports:r,loaderHook:o,getEntryUrl:n}=e,{entry:a,entryGlobalName:i,name:s,type:l}=t;switch(l){case\"esm\":case\"module\":return u({entry:a,remoteEntryExports:r});case\"system\":return c({entry:a,remoteEntryExports:r});default:return f({entry:a,globalName:i,name:s,loaderHook:o,getEntryUrl:n})}}async function h(e){let{remoteInfo:t,loaderHook:r}=e,{entry:a,entryGlobalName:s,name:l,type:u}=t,{entryExports:c}=n.getRemoteEntryExports(l,s);return c||(0,i.loadScriptNode)(a,{attrs:{name:l,globalName:s,type:u},loaderHook:{createScriptHook:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=r.lifecycle.createScript.emit({url:e,attrs:t});if(o&&\"url\"in o)return o}}}).then(()=>d(l,s,a)).catch(e=>{o.error(`Failed to load Node.js entry for remote \"${l}\" from \"${a}\". ${e instanceof Error?e.message:String(e)}`)})}function m(e){let{entry:t,name:r}=e;return(0,i.composeKeyWithSeparator)(r,t)}async function g(e){let{origin:t,remoteEntryExports:r,remoteInfo:o,getEntryUrl:a,_inErrorHandling:l=!1}=e,u=m(o);if(r)return r;if(!n.globalLoading[u]){let e=t.remoteHandler.hooks.lifecycle.loadEntry,c=t.loaderHook;n.globalLoading[u]=e.emit({loaderHook:c,remoteInfo:o,remoteEntryExports:r}).then(e=>e||((\"u\">typeof ENV_TARGET?\"web\"===ENV_TARGET:i.isBrowserEnvValue)?p({remoteInfo:o,remoteEntryExports:r,loaderHook:c,getEntryUrl:a}):h({remoteInfo:o,loaderHook:c}))).catch(async e=>{let a=m(o),i=e instanceof Error&&e.message.includes(\"ScriptExecutionError\");if(e instanceof Error&&e.message.includes(s.RUNTIME_008)&&!i&&!l){let e=e=>g({...e,_inErrorHandling:!0}),i=await t.loaderHook.lifecycle.loadEntryError.emit({getRemoteEntry:e,origin:t,remoteInfo:o,remoteEntryExports:r,globalLoading:n.globalLoading,uniqueKey:a});if(i)return i}throw e})}return n.globalLoading[u]}function y(e){return{...e,entry:\"entry\"in e?e.entry:\"\",type:e.type||a.DEFAULT_REMOTE_TYPE,entryGlobalName:e.entryGlobalName||e.name,shareScope:e.shareScope||a.DEFAULT_SCOPE}}t.getRemoteEntry=g,t.getRemoteEntryUniqueKey=m,t.getRemoteInfo=y},8628(e,t,r){let o=r(630),n=r(6619),a=\"[ Federation Runtime ]\",i=(0,o.createLogger)(a);function s(e,t,r,o,i){if(void 0!==t)return(0,n.logAndReport)(e,t,r??{},e=>{throw Error(`${a}: ${e}`)},o,i);let s=e;if(s instanceof Error)throw s.message.startsWith(a)||(s.message=`${a}: ${s.message}`),s;throw Error(`${a}: ${s}`)}function l(e){e instanceof Error&&(e.message.startsWith(a)||(e.message=`${a}: ${e.message}`)),i.warn(e)}t.assert=function(e,t,r,o,n){e||(void 0!==r?s(t,r,o,void 0,n):s(t))},t.error=s,t.logger=i,t.warn=l},6079(e,t){function r(e,t){for(let r of e){let e=t.startsWith(r.name),o=t.replace(r.name,\"\");if(e){if(o.startsWith(\"/\"))return{pkgNameOrAlias:r.name,expose:o=`.${o}`,remote:r};else if(\"\"===o)return{pkgNameOrAlias:r.name,expose:\".\",remote:r}}let n=r.alias&&t.startsWith(r.alias),a=r.alias&&t.replace(r.alias,\"\");if(r.alias&&n){if(a&&a.startsWith(\"/\"))return{pkgNameOrAlias:r.alias,expose:a=`.${a}`,remote:r};else if(\"\"===a)return{pkgNameOrAlias:r.alias,expose:\".\",remote:r}}}}t.matchRemote=function(e,t){for(let r of e)if(t===r.name||r.alias&&t===r.alias)return r},t.matchRemoteWithNameAndExpose=r},8457(e,t,r){let o=r(4391);t.registerPlugins=function(e,t){let r=o.getGlobalHostPlugins(),n=[t.hooks,t.remoteHandler.hooks,t.sharedHandler.hooks,t.snapshotHandler.hooks,t.loaderHook,t.bridgeHook];return r.length>0&&r.forEach(t=>{(null==e?void 0:e.find(e=>e.name!==t.name))&&e.push(t)}),e&&e.length>0&&e.forEach(e=>{n.forEach(r=>{r.applyPlugin(e,t)})}),e}},9599(e,t,r){let o=r(8628),n=r(6079),a=r(556),i=r(630);function s(e){return{resourceCategory:\"sync\",share:!0,depsRemote:!0,prefetchInterface:!1,...e}}function l(e,t){return t.map(t=>{let r=n.matchRemote(e,t.nameOrAlias);return o.assert(r,`Unable to preload ${t.nameOrAlias} as it is not included in ${!r&&(0,i.safeToString)({remoteInfo:r,remotes:e})}`),{remote:r,preloadConfig:s(t)}})}function u(e){return e?e.map(e=>\".\"===e?e:e.startsWith(\"./\")?e.replace(\"./\",\"\"):e):[]}function c(e,t,r){let o=!(arguments.length>3)||void 0===arguments[3]||arguments[3],{cssAssets:n,jsAssetsWithoutEntry:s,entryAssets:l}=r;if(t.options.inBrowser){if(l.forEach(r=>{let{moduleInfo:o}=r,n=t.moduleCache.get(e.name);n?a.getRemoteEntry({origin:t,remoteInfo:o,remoteEntryExports:n.remoteEntryExports}):a.getRemoteEntry({origin:t,remoteInfo:o,remoteEntryExports:void 0})}),o){let e={rel:\"preload\",as:\"style\"};n.forEach(r=>{let{link:o,needAttach:n}=(0,i.createLink)({url:r,cb:()=>{},attrs:e,createLinkHook:(e,r)=>{let o=t.loaderHook.lifecycle.createLink.emit({url:e,attrs:r});if(o instanceof HTMLLinkElement)return o}});n&&document.head.appendChild(o)})}else{let e={rel:\"stylesheet\",type:\"text/css\"};n.forEach(r=>{let{link:o,needAttach:n}=(0,i.createLink)({url:r,cb:()=>{},attrs:e,createLinkHook:(e,r)=>{let o=t.loaderHook.lifecycle.createLink.emit({url:e,attrs:r});if(o instanceof HTMLLinkElement)return o},needDeleteLink:!1});n&&document.head.appendChild(o)})}if(o){let e={rel:\"preload\",as:\"script\"};s.forEach(r=>{let{link:o,needAttach:n}=(0,i.createLink)({url:r,cb:()=>{},attrs:e,createLinkHook:(e,r)=>{let o=t.loaderHook.lifecycle.createLink.emit({url:e,attrs:r});if(o instanceof HTMLLinkElement)return o}});n&&document.head.appendChild(o)})}else{let r={fetchpriority:\"high\",type:(null==e?void 0:e.type)===\"module\"?\"module\":\"text/javascript\"};s.forEach(e=>{let{script:o,needAttach:n}=(0,i.createScript)({url:e,cb:()=>{},attrs:r,createScriptHook:(e,r)=>{let o=t.loaderHook.lifecycle.createScript.emit({url:e,attrs:r});if(o instanceof HTMLScriptElement)return o},needDeleteScript:!0});n&&document.head.appendChild(o)})}}}t.defaultPreloadArgs=s,t.formatPreloadArgs=l,t.normalizePreloadExposes=u,t.preloadAssets=c},632(e,t){function r(e,t){return(e=Number(e)||e)>(t=Number(t)||t)?1:e===t?0:-1}function o(e,t){let{preRelease:o}=e,{preRelease:n}=t;if(void 0===o&&n)return 1;if(o&&void 0===n)return -1;if(void 0===o&&void 0===n)return 0;for(let e=0,t=o.length;e<=t;e++){let t=o[e],a=n[e];if(t!==a){if(void 0===t&&void 0===a)return 0;if(!t)return 1;if(!a)return -1;return r(t,a)}}return 0}function n(e,t){return r(e.major,t.major)||r(e.minor,t.minor)||r(e.patch,t.patch)||o(e,t)}function a(e,t){return e.version===t.version}t.compare=function(e,t){switch(e.operator){case\"\":case\"=\":return a(e,t);case\">\":return 0>n(e,t);case\">=\":return a(e,t)||0>n(e,t);case\"<\":return n(e,t)>0;case\"<=\":return a(e,t)||n(e,t)>0;case void 0:return!0;default:return!1}}},9570(e,t){let r=\"[0-9A-Za-z-]+\",o=`(?:\\\\+(${r}(?:\\\\.${r})*))`,n=\"0|[1-9]\\\\d*\",a=\"[0-9]+\",i=\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\",s=`(?:${a}|${i})`,l=`(?:-?(${s}(?:\\\\.${s})*))`,u=`(?:${n}|${i})`,c=`(?:-(${u}(?:\\\\.${u})*))`,d=`${n}|x|X|\\\\*`,f=`[v=\\\\s]*(${d})(?:\\\\.(${d})(?:\\\\.(${d})(?:${c})?${o}?)?)?`,p=`^\\\\s*(${f})\\\\s+-\\\\s+(${f})\\\\s*$`,h=`[v=\\\\s]*${`(${a})\\\\.(${a})\\\\.(${a})`}${l}?${o}?`,m=\"((?:<|>)?=?)\",g=`(\\\\s*)${m}\\\\s*(${h}|${f})`,y=\"(?:~>?)\",E=`(\\\\s*)${y}\\\\s+`,_=\"(?:\\\\^)\",S=`(\\\\s*)${_}\\\\s+`,b=\"(<|>)?=?\\\\s*\\\\*\",v=`^${_}${f}$`,R=`v?${`(${n})\\\\.(${n})\\\\.(${n})`}${c}?${o}?`,I=`^${y}${f}$`,M=`^${m}\\\\s*${f}$`,N=`^${m}\\\\s*(${R})$|^$`,T=\"^\\\\s*>=\\\\s*0.0.0\\\\s*$\";t.caret=v,t.caretTrim=S,t.comparator=N,t.comparatorTrim=g,t.gte0=T,t.hyphenRange=p,t.star=b,t.tilde=I,t.tildeTrim=E,t.xRange=M},3957(e,t,r){let o=r(78),n=r(3810),a=r(632);function i(e){return o.pipe(n.parseCarets,n.parseTildes,n.parseXRanges,n.parseStar)(e)}function s(e){return o.pipe(n.parseHyphen,n.parseComparatorTrim,n.parseTildeTrim,n.parseCaretTrim)(e.trim()).split(/\\s+/).join(\" \")}t.satisfy=function(e,t){if(!e)return!1;let r=o.extractComparator(e);if(!r)return!1;let[,l,,u,c,d,f]=r,p={operator:l,version:o.combineVersion(u,c,d,f),major:u,minor:c,patch:d,preRelease:null==f?void 0:f.split(\".\")};for(let e of t.split(\"||\")){let t=e.trim();if(!t||\"*\"===t||\"x\"===t)return!0;try{let e=s(t);if(!e.trim())return!0;let r=e.split(\" \").map(e=>i(e)).join(\" \");if(!r.trim())return!0;let l=r.split(/\\s+/).map(e=>n.parseGTE0(e)).filter(Boolean);if(0===l.length)continue;let u=!0;for(let e of l){let t=o.extractComparator(e);if(!t){u=!1;break}let[,r,,n,i,s,l]=t;if(!a.compare({operator:r,version:o.combineVersion(n,i,s,l),major:n,minor:i,patch:s,preRelease:null==l?void 0:l.split(\".\")},p)){u=!1;break}}if(u)return!0}catch(e){console.error(`[semver] Error processing range part \"${t}\":`,e);continue}}return!1}},3810(e,t,r){let o=r(9570),n=r(78);function a(e){return e.replace(n.parseRegex(o.hyphenRange),(e,t,r,o,a,i,s,l,u,c,d,f)=>(t=n.isXVersion(r)?\"\":n.isXVersion(o)?`>=${r}.0.0`:n.isXVersion(a)?`>=${r}.${o}.0`:`>=${t}`,l=n.isXVersion(u)?\"\":n.isXVersion(c)?`<${Number(u)+1}.0.0-0`:n.isXVersion(d)?`<${u}.${Number(c)+1}.0-0`:f?`<=${u}.${c}.${d}-${f}`:`<=${l}`,`${t} ${l}`.trim()))}function i(e){return e.replace(n.parseRegex(o.comparatorTrim),\"$1$2$3\")}function s(e){return e.replace(n.parseRegex(o.tildeTrim),\"$1~\")}function l(e){return e.trim().split(/\\s+/).map(e=>e.replace(n.parseRegex(o.caret),(e,t,r,o,a)=>{if(n.isXVersion(t))return\"\";if(n.isXVersion(r))return`>=${t}.0.0 <${Number(t)+1}.0.0-0`;if(n.isXVersion(o))if(\"0\"===t)return`>=${t}.${r}.0 <${t}.${Number(r)+1}.0-0`;else return`>=${t}.${r}.0 <${Number(t)+1}.0.0-0`;if(a)if(\"0\"!==t)return`>=${t}.${r}.${o}-${a} <${Number(t)+1}.0.0-0`;else if(\"0\"===r)return`>=${t}.${r}.${o}-${a} <${t}.${r}.${Number(o)+1}-0`;else return`>=${t}.${r}.${o}-${a} <${t}.${Number(r)+1}.0-0`;if(\"0\"===t)if(\"0\"===r)return`>=${t}.${r}.${o} <${t}.${r}.${Number(o)+1}-0`;else return`>=${t}.${r}.${o} <${t}.${Number(r)+1}.0-0`;return`>=${t}.${r}.${o} <${Number(t)+1}.0.0-0`})).join(\" \")}function u(e){return e.trim().split(/\\s+/).map(e=>e.replace(n.parseRegex(o.tilde),(e,t,r,o,a)=>n.isXVersion(t)?\"\":n.isXVersion(r)?`>=${t}.0.0 <${Number(t)+1}.0.0-0`:n.isXVersion(o)?`>=${t}.${r}.0 <${t}.${Number(r)+1}.0-0`:a?`>=${t}.${r}.${o}-${a} <${t}.${Number(r)+1}.0-0`:`>=${t}.${r}.${o} <${t}.${Number(r)+1}.0-0`)).join(\" \")}function c(e){return e.split(/\\s+/).map(e=>e.trim().replace(n.parseRegex(o.xRange),(e,t,r,o,a,i)=>{let s=n.isXVersion(r),l=s||n.isXVersion(o),u=l||n.isXVersion(a);if(\"=\"===t&&u&&(t=\"\"),i=\"\",s)if(\">\"===t||\"<\"===t)return\"<0.0.0-0\";else return\"*\";return t&&u?(l&&(o=0),a=0,\">\"===t?(t=\">=\",l?(r=Number(r)+1,o=0):o=Number(o)+1,a=0):\"<=\"===t&&(t=\"<\",l?r=Number(r)+1:o=Number(o)+1),\"<\"===t&&(i=\"-0\"),`${t+r}.${o}.${a}${i}`):l?`>=${r}.0.0${i} <${Number(r)+1}.0.0-0`:u?`>=${r}.${o}.0${i} <${r}.${Number(o)+1}.0-0`:e})).join(\" \")}function d(e){return e.trim().replace(n.parseRegex(o.star),\"\")}function f(e){return e.trim().replace(n.parseRegex(o.gte0),\"\")}t.parseCaretTrim=function(e){return e.replace(n.parseRegex(o.caretTrim),\"$1^\")},t.parseCarets=l,t.parseComparatorTrim=i,t.parseGTE0=f,t.parseHyphen=a,t.parseStar=d,t.parseTildeTrim=s,t.parseTildes=u,t.parseXRanges=c},78(e,t,r){let o=r(9570);function n(e){return new RegExp(e)}function a(e){return!e||\"x\"===e.toLowerCase()||\"*\"===e}function i(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return e=>t.reduce((e,t)=>t(e),e)}function s(e){return e.match(n(o.comparator))}t.combineVersion=function(e,t,r,o){let n=`${e}.${t}.${r}`;return o?`${n}-${o}`:n},t.extractComparator=s,t.isXVersion=a,t.parseRegex=n,t.pipe=i},8369(e,t,r){let o=r(8628),n=r(9350),a=r(4391),i=r(2926),s=r(3957),l=r(630);function u(e,t,r,n){var a,i;let s;return s=\"get\"in e?e.get:\"lib\"in e?()=>Promise.resolve(e.lib):()=>Promise.resolve(()=>{o.error(`Cannot get shared \"${r}\" from \"${t}\": neither \"get\" nor \"lib\" is provided in the share config.`)}),(null==(a=e.shareConfig)?void 0:a.eager)&&(null==(i=e.treeShaking)?void 0:i.mode)&&o.error(`Invalid shared config for \"${r}\" from \"${t}\": cannot use both \"eager: true\" and \"treeShaking.mode\" simultaneously. Choose one strategy.`),{deps:[],useIn:[],from:t,loading:null,...e,shareConfig:{requiredVersion:`^${e.version}`,singleton:!1,eager:!1,strictVersion:!1,...e.shareConfig},get:s,loaded:null!=e&&!!e.loaded||\"lib\"in e||void 0,version:e.version??\"0\",scope:Array.isArray(e.scope)?e.scope:[e.scope??\"default\"],strategy:(e.strategy??n)||\"version-first\",treeShaking:e.treeShaking?{...e.treeShaking,mode:e.treeShaking.mode??\"server-calc\",status:e.treeShaking.status??l.TreeShakingStatus.UNKNOWN,useIn:[]}:void 0}}function c(e,t){let r=t.shared||{},o=t.name,a=Object.keys(r).reduce((e,a)=>{let i=n.arrayOptions(r[a]);return e[a]=e[a]||[],i.forEach(r=>{e[a].push(u(r,o,a,t.shareStrategy))}),e},{}),i={...e.shared};return Object.keys(a).forEach(e=>{i[e]?a[e].forEach(t=>{i[e].find(e=>e.version===t.version)||i[e].push(t)}):i[e]=a[e]}),{allShareInfos:i,newShareInfos:a}}function d(e,t){if(!e)return!1;let{status:r,mode:o}=e;return r!==l.TreeShakingStatus.NO_USE&&(r===l.TreeShakingStatus.CALCULATED||\"runtime-infer\"===o&&(!t||g(e,t)))}function f(e,t){let r=e=>{if(!Number.isNaN(Number(e))){let t=e.split(\".\"),r=e;for(let e=0;e<3-t.length;e++)r+=\".0\";return r}return e};return!!s.satisfy(r(e),`<=${r(t)}`)}let p=(e,t)=>{let r=t||function(e,t){return f(e,t)};return Object.keys(e).reduce((e,t)=>!e||r(e,t)||\"0\"===e?t:e,0)},h=e=>!!e.loaded||\"function\"==typeof e.lib,m=e=>!!e.loading,g=(e,t)=>{if(!e||!t)return!1;let{usedExports:r}=e;return!!r&&!!t.every(e=>r.includes(e))};function y(e,t,r,o){let n=e[t][r],a=\"\",i=d(o),s=function(e,t){return i?!n[e].treeShaking||!!n[t].treeShaking&&!h(n[e].treeShaking)&&f(e,t):!h(n[e])&&f(e,t)};if(i){if(a=p(e[t][r],s))return{version:a,useTreesShaking:i};i=!1}return{version:p(e[t][r],s),useTreesShaking:i}}let E=e=>h(e)||m(e);function _(e,t,r,o){let n=e[t][r],a=\"\",i=d(o),s=function(e,t){if(i){if(!n[e].treeShaking)return!0;if(!n[t].treeShaking)return!1;if(E(n[t].treeShaking))if(E(n[e].treeShaking))return!!f(e,t);else return!0;if(E(n[e].treeShaking))return!1}if(E(n[t]))if(E(n[e]))return!!f(e,t);else return!0;return!E(n[e])&&f(e,t)};if(i){if(a=p(e[t][r],s))return{version:a,useTreesShaking:i};i=!1}return{version:p(e[t][r],s),useTreesShaking:i}}function S(e){return\"loaded-first\"===e?_:y}function b(e,t,r,n){if(!e)return;let{shareConfig:l,scope:u=i.DEFAULT_SCOPE,strategy:c,treeShaking:f}=r;for(let i of Array.isArray(u)?u:[u])if(l&&e[i]&&e[i][t]){let{requiredVersion:u}=l,{version:p,useTreesShaking:h}=S(c)(e,i,t,f),m=()=>{let n=e[i][t][p];if(l.singleton){if(\"string\"==typeof u&&!s.satisfy(p,u)){let e=`Version ${p} from ${p&&n.from} of shared singleton module ${t} does not satisfy the requirement of ${r.from} which needs ${u})`;l.strictVersion?o.error(e):o.warn(e)}return{shared:n,useTreesShaking:h}}{if(!1===u||\"*\"===u||s.satisfy(p,u))return{shared:n,useTreesShaking:h};let r=d(f);if(r){for(let[o,n]of Object.entries(e[i][t]))if(d(n.treeShaking,null==f?void 0:f.usedExports)&&s.satisfy(o,u))return{shared:n,useTreesShaking:r}}for(let[r,o]of Object.entries(e[i][t]))if(s.satisfy(r,u))return{shared:o,useTreesShaking:!1}}},g={shareScopeMap:e,scope:i,pkgName:t,version:p,GlobalFederation:a.Global.__FEDERATION__,shareInfo:r,resolver:m};return(n.emit(g)||g).resolver()}}function v(){return a.Global.__FEDERATION__.__SHARE__}function R(e){let{pkgName:t,extraOptions:r,shareInfos:o}=e,n=e=>{if(!e)return;let t={};e.forEach(e=>{t[e.version]=e});let r=function(e,r){return!h(t[e])&&f(e,r)};return t[p(t,r)]},a=(null==r?void 0:r.resolver)??n,i=e=>null!==e&&\"object\"==typeof e&&!Array.isArray(e),s=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];let o={};for(let e of t)if(e)for(let[t,r]of Object.entries(e)){let e=o[t];i(e)&&i(r)?o[t]=s(e,r):void 0!==r&&(o[t]=r)}return o};return s(a(o[t]),null==r?void 0:r.customShareInfo)}function I(e,t){return t&&e.treeShaking?e.treeShaking:e}t.addUseIn=(e,t)=>{e.useIn||(e.useIn=[]),n.addUniqueItem(e.useIn,t)},t.directShare=I,t.formatShareConfigs=c,t.getGlobalShareScope=v,t.getRegisteredShare=b,t.getTargetSharedOptions=R,t.shouldUseTreeShaking=d},9350(e,t,r){let o=r(8628),n=r(630);function a(e,t){return -1===e.findIndex(e=>e===t)&&e.push(t),e}function i(e){return\"version\"in e&&e.version?`${e.name}:${e.version}`:\"entry\"in e&&e.entry?`${e.name}:${e.entry}`:`${e.name}`}function s(e){return void 0!==e.entry}function l(e){return!e.entry.includes(\".json\")}async function u(e,t){try{return await e()}catch(e){t||o.warn(e);return}}function c(e){return e&&\"object\"==typeof e}let d=Object.prototype.toString;function f(e){return\"[object Object]\"===d.call(e)}function p(e,t){let r=/^(https?:)?\\/\\//i;return e.replace(r,\"\").replace(/\\/$/,\"\")===t.replace(r,\"\").replace(/\\/$/,\"\")}function h(e){return Array.isArray(e)?e:[e]}function m(e){let t={url:\"\",type:\"global\",globalName:\"\"};return n.isBrowserEnvValue||(0,n.isReactNativeEnv)()||!(\"ssrRemoteEntry\"in e)?\"remoteEntry\"in e?{url:e.remoteEntry,type:e.remoteEntryType,globalName:e.globalName}:t:\"ssrRemoteEntry\"in e?{url:e.ssrRemoteEntry||t.url,type:e.ssrRemoteEntryType||t.type,globalName:e.globalName}:t}let g=(e,t)=>{let r;return r=e.endsWith(\"/\")?e.slice(0,-1):e,t.startsWith(\".\")&&(t=t.slice(1)),r+=t};t.addUniqueItem=a,t.arrayOptions=h,t.getFMId=i,t.getRemoteEntryInfoFromSnapshot=m,t.isObject=c,t.isPlainObject=f,t.isPureRemoteEntry=l,t.isRemoteInfoWithEntry=s,t.isStaticResourcesEqual=p,t.objectToString=d,t.processModuleAlias=g,t.safeWrapper=u},3544(e,t){var r=Object.create,o=Object.defineProperty,n=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,i=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,l=(e,t,r,i)=>{if(t&&\"object\"==typeof t||\"function\"==typeof t)for(var l,u=a(t),c=0,d=u.length;c<d;c++)l=u[c],s.call(e,l)||l===r||o(e,l,{get:(e=>t[e]).bind(null,l),enumerable:!(i=n(t,l))||i.enumerable});return e};t.__toESM=(e,t,n)=>(n=null!=e?r(i(e)):{},l(!t&&e&&e.__esModule?n:o(n,\"default\",{value:e,enumerable:!0}),e))},3129(e,t,r){Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:\"Module\"}}),r(3544);let o=r(9577),n=r(5922),a={...n.helpers.global,getGlobalFederationInstance:o.getGlobalFederationInstance},i=n.helpers.share,s=n.helpers.utils;t.default={global:a,share:i,utils:s},t.global=a,t.share=i,t.utils=s},9782(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),r(3544);let o=r(9577),n=r(5922),a=r(4363);function i(e){let t=new((0,n.getGlobalFederationConstructor)()||n.ModuleFederation)(e);return(0,n.setGlobalFederationInstance)(t),t}let s=null;function l(e){let t=o.getGlobalFederationInstance(e.name,e.version);return t?(t.initOptions(e),s||(s=t),t):s=i(e)}function u(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,n.assert)(s,a.RUNTIME_009,a.runtimeDescMap),s.loadRemote.apply(s,t)}function c(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,n.assert)(s,a.RUNTIME_009,a.runtimeDescMap),s.loadShare.apply(s,t)}function d(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,n.assert)(s,a.RUNTIME_009,a.runtimeDescMap),s.loadShareSync.apply(s,t)}function f(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,n.assert)(s,a.RUNTIME_009,a.runtimeDescMap),s.preloadRemote.apply(s,t)}function p(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,n.assert)(s,a.RUNTIME_009,a.runtimeDescMap),s.registerRemotes.apply(s,t)}function h(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,n.assert)(s,a.RUNTIME_009,a.runtimeDescMap),s.registerPlugins.apply(s,t)}function m(){return s}function g(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,n.assert)(s,a.RUNTIME_009,a.runtimeDescMap),s.registerShared.apply(s,t)}(0,n.setGlobalFederationConstructor)(n.ModuleFederation),Object.defineProperty(t,\"Module\",{enumerable:!0,get:function(){return n.Module}}),t.ModuleFederation=n.ModuleFederation,t.createInstance=i,t.getInstance=m,Object.defineProperty(t,\"getRemoteEntry\",{enumerable:!0,get:function(){return n.getRemoteEntry}}),Object.defineProperty(t,\"getRemoteInfo\",{enumerable:!0,get:function(){return n.getRemoteInfo}}),t.init=l,t.loadRemote=u,Object.defineProperty(t,\"loadScript\",{enumerable:!0,get:function(){return n.loadScript}}),Object.defineProperty(t,\"loadScriptNode\",{enumerable:!0,get:function(){return n.loadScriptNode}}),t.loadShare=c,t.loadShareSync=d,t.preloadRemote=f,Object.defineProperty(t,\"registerGlobalPlugins\",{enumerable:!0,get:function(){return n.registerGlobalPlugins}}),t.registerPlugins=h,t.registerRemotes=p,t.registerShared=g},9577(e,t,r){r(3544);let o=r(5922);function n(){return\"pimcore_datahub_bundle:0.0.1\"}t.getGlobalFederationInstance=function(e,t){let r=n();return o.CurrentGlobal.__FEDERATION__.__INSTANCES__.find(o=>!!r&&o.options.id===r||o.options.name===e&&!o.options.version&&!t||o.options.name===e&&!!t&&o.options.version===t)}},7688(e,t){var r=Object.defineProperty;t.__exportAll=(e,t)=>{let o={};for(var n in e)r(o,n,{get:e[n],enumerable:!0});return t||r(o,Symbol.toStringTag,{value:\"Module\"}),o}},586(e,t){let r=\"federation-manifest.json\",o=\".json\",n=\"FEDERATION_DEBUG\",a={AT:\"@\",HYPHEN:\"-\",SLASH:\"/\"},i={[a.AT]:\"scope_\",[a.HYPHEN]:\"_\",[a.SLASH]:\"__\"},s={[i[a.AT]]:a.AT,[i[a.HYPHEN]]:a.HYPHEN,[i[a.SLASH]]:a.SLASH},l=\":\",u=\"mf-manifest.json\",c=\"mf-stats.json\",d={NPM:\"npm\",APP:\"app\"},f=\"__MF_DEVTOOLS_MODULE_INFO__\",p=\"ENCODE_NAME_PREFIX\",h=\".federation\",m={identifier:\"MFDataPrefetch\",globalKey:\"__PREFETCH__\",library:\"mf-data-prefetch\",exportsKey:\"__PREFETCH_EXPORTS__\",fileName:\"bootstrap.js\"},g=function(e){return e[e.UNKNOWN=1]=\"UNKNOWN\",e[e.CALCULATED=2]=\"CALCULATED\",e[e.NO_USE=0]=\"NO_USE\",e}({});t.BROWSER_LOG_KEY=n,t.ENCODE_NAME_PREFIX=p,t.EncodedNameTransformMap=s,t.FederationModuleManifest=r,t.MANIFEST_EXT=o,t.MFModuleType=d,t.MFPrefetchCommon=m,t.MODULE_DEVTOOL_IDENTIFIER=f,t.ManifestFileName=u,t.NameTransformMap=i,t.NameTransformSymbol=a,t.SEPARATOR=l,t.StatsFileName=c,t.TEMP_DIR=h,t.TreeShakingStatus=g},1483(e,t){t.createModuleFederationConfig=e=>e},6302(e,t,r){let o=r(3417);async function n(e,t){try{return await e()}catch(e){t||o.warn(e);return}}function a(e,t){let r=/^(https?:)?\\/\\//i;return e.replace(r,\"\").replace(/\\/$/,\"\")===t.replace(r,\"\").replace(/\\/$/,\"\")}function i(e){let t,r=null,o=!0,i=2e4,s=document.getElementsByTagName(\"script\");for(let t=0;t<s.length;t++){let n=s[t],i=n.getAttribute(\"src\");if(i&&a(i,e.url)){r=n,o=!1;break}}if(!r){let t,o=e.attrs;(r=document.createElement(\"script\")).type=(null==o?void 0:o.type)===\"module\"?\"module\":\"text/javascript\",e.createScriptHook&&((t=e.createScriptHook(e.url,e.attrs))instanceof HTMLScriptElement?r=t:\"object\"==typeof t&&(\"script\"in t&&t.script&&(r=t.script),\"timeout\"in t&&t.timeout&&(i=t.timeout))),r.src||(r.src=e.url),o&&!t&&Object.keys(o).forEach(e=>{r&&(\"async\"===e||\"defer\"===e?r[e]=o[e]:r.getAttribute(e)||r.setAttribute(e,o[e]))})}let l=null,u=\"u\">typeof window?t=>{if(t.filename&&a(t.filename,e.url)){let r=Error(`ScriptExecutionError: Script \"${e.url}\" loaded but threw a runtime error during execution: ${t.message} (${t.filename}:${t.lineno}:${t.colno})`);r.name=\"ScriptExecutionError\",l=r}}:null;u&&window.addEventListener(\"error\",u);let c=async(o,a)=>{clearTimeout(t),u&&window.removeEventListener(\"error\",u);let i=()=>{if((null==a?void 0:a.type)===\"error\"){let t=Error(`ScriptNetworkError: Failed to load script \"${e.url}\" - the script URL is unreachable or the server returned an error (network failure, 404, CORS, etc.)`);t.name=\"ScriptNetworkError\",(null==e?void 0:e.onErrorCallback)&&(null==e||e.onErrorCallback(t))}else l?(null==e?void 0:e.onErrorCallback)&&(null==e||e.onErrorCallback(l)):(null==e?void 0:e.cb)&&(null==e||e.cb())};if(r&&(r.onerror=null,r.onload=null,n(()=>{let{needDeleteScript:t=!0}=e;t&&(null==r?void 0:r.parentNode)&&r.parentNode.removeChild(r)}),o&&\"function\"==typeof o)){let e=o(a);if(e instanceof Promise){let t=await e;return i(),t}return i(),e}i()};return r.onerror=c.bind(null,r.onerror),r.onload=c.bind(null,r.onload),t=setTimeout(()=>{c(null,Error(`Remote script \"${e.url}\" time-outed.`))},i),{script:r,needAttach:o}}function s(e,t){let{attrs:r={},createScriptHook:o}=t;return new Promise((t,n)=>{let{script:a,needAttach:s}=i({url:e,cb:t,onErrorCallback:n,attrs:{fetchpriority:\"high\",...r},createScriptHook:o,needDeleteScript:!0});s&&document.head.appendChild(a)})}t.createLink=function(e){let t=null,r=!0,o=document.getElementsByTagName(\"link\");for(let n=0;n<o.length;n++){let i=o[n],s=i.getAttribute(\"href\"),l=i.getAttribute(\"rel\");if(s&&a(s,e.url)&&l===e.attrs.rel){t=i,r=!1;break}}if(!t){let r;(t=document.createElement(\"link\")).setAttribute(\"href\",e.url);let o=e.attrs;e.createLinkHook&&(r=e.createLinkHook(e.url,o))instanceof HTMLLinkElement&&(t=r),o&&!r&&Object.keys(o).forEach(e=>{t&&!t.getAttribute(e)&&t.setAttribute(e,o[e])})}let i=(r,o)=>{let a=()=>{(null==o?void 0:o.type)===\"error\"?(null==e?void 0:e.onErrorCallback)&&(null==e||e.onErrorCallback(o)):(null==e?void 0:e.cb)&&(null==e||e.cb())};if(t&&(t.onerror=null,t.onload=null,n(()=>{let{needDeleteLink:r=!0}=e;r&&(null==t?void 0:t.parentNode)&&t.parentNode.removeChild(t)}),r)){let e=r(o);return a(),e}a()};return t.onerror=i.bind(null,t.onerror),t.onload=i.bind(null,t.onload),{link:t,needAttach:r}},t.createScript=i,t.isStaticResourcesEqual=a,t.loadScript=s,t.safeWrapper=n},6883(e,t,r){let o=r(586),n=\"u\">typeof ENV_TARGET?\"web\"===ENV_TARGET:\"u\">typeof window&&void 0!==window.document;function a(){return n}function i(){var e;return\"u\">typeof navigator&&(null==(e=navigator)?void 0:e.product)===\"ReactNative\"}function s(){try{if(a()&&window.localStorage)return!!localStorage.getItem(o.BROWSER_LOG_KEY)}catch(e){}return!1}function l(){return\"u\">typeof process&&process.env&&process.env.FEDERATION_DEBUG?!!process.env.FEDERATION_DEBUG:!!(\"u\">typeof FEDERATION_DEBUG&&FEDERATION_DEBUG)||s()}t.getProcessEnv=function(){return\"u\">typeof process&&process.env?process.env:{}},t.isBrowserEnv=a,t.isBrowserEnvValue=n,t.isDebugMode=l,t.isReactNativeEnv=i},7016(e,t,r){let o=r(586),n=(e,t)=>{if(!e)return t;let r=(e=>{if(\".\"===e)return\"\";if(e.startsWith(\"./\"))return e.replace(\"./\",\"\");if(e.startsWith(\"/\")){let t=e.slice(1);return t.endsWith(\"/\")?t.slice(0,-1):t}return e})(e);return r?r.endsWith(\"/\")?`${r}${t}`:`${r}/${t}`:t};function a(e){return e.replace(/#.*$/,\"\").replace(/\\?.*$/,\"\").replace(/\\/[^\\/]+$/,\"/\")}function i(e){return!!(\"remoteEntry\"in e&&e.remoteEntry.includes(o.MANIFEST_EXT))}function s(e){if(!e)return{statsFileName:o.StatsFileName,manifestFileName:o.ManifestFileName};let t=\"boolean\"==typeof e?\"\":e.filePath||\"\",r=\"boolean\"==typeof e?\"\":e.fileName||\"\",a=\".json\",i=e=>e.endsWith(a)?e:`${e}${a}`,s=(e,t)=>e.replace(a,`${t}${a}`),l=r?i(r):o.ManifestFileName;return{statsFileName:n(t,r?s(l,\"-stats\"):o.StatsFileName),manifestFileName:n(t,l)}}t.generateSnapshotFromManifest=function(e){var t,r,o;let i,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{remotes:l={},overrides:u={},version:c}=s,d=()=>\"publicPath\"in e.metaData?(\"auto\"===e.metaData.publicPath||\"\"===e.metaData.publicPath)&&c?a(c):e.metaData.publicPath:e.metaData.getPublicPath,f=Object.keys(u),p={};Object.keys(l).length||(p=(null==(t=e.remotes)?void 0:t.reduce((e,t)=>{let r,o=t.federationContainerName;return r=f.includes(o)?u[o]:\"version\"in t?t.version:t.entry,e[o]={matchedVersion:r},e},{}))||{}),Object.keys(l).forEach(e=>p[e]={matchedVersion:f.includes(e)?u[e]:l[e]});let{remoteEntry:{path:h,name:m,type:g},types:y={path:\"\",name:\"\",zip:\"\",api:\"\"},buildInfo:{buildVersion:E},globalName:_,ssrRemoteEntry:S}=e.metaData,{exposes:b}=e,v={version:c||\"\",buildVersion:E,globalName:_,remoteEntry:n(h,m),remoteEntryType:g,remoteTypes:n(y.path,y.name),remoteTypesZip:y.zip||\"\",remoteTypesAPI:y.api||\"\",remotesInfo:p,shared:null==e?void 0:e.shared.map(e=>({assets:e.assets,sharedName:e.name,version:e.version,usedExports:e.referenceExports||[]})),modules:null==b?void 0:b.map(e=>({moduleName:e.name,modulePath:e.path,assets:e.assets}))};if(null==(r=e.metaData)?void 0:r.prefetchInterface){let t=e.metaData.prefetchInterface;v={...v,prefetchInterface:t}}if(null==(o=e.metaData)?void 0:o.prefetchEntry){let{path:t,name:r,type:o}=e.metaData.prefetchEntry;v={...v,prefetchEntry:n(t,r),prefetchEntryType:o}}if(\"publicPath\"in e.metaData?(i={...v,publicPath:d()},\"string\"==typeof e.metaData.ssrPublicPath&&(i.ssrPublicPath=e.metaData.ssrPublicPath)):i={...v,getPublicPath:d()},S){let e=n(S.path,S.name);i.ssrRemoteEntry=e,i.ssrRemoteEntryType=S.type||\"commonjs-module\"}return i},t.getManifestFileName=s,t.inferAutoPublicPath=a,t.isManifestProvider=i,t.simpleJoinRemoteEntry=n},630(e,t,r){Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"});let o=r(586),n=r(8841),a=r(8798),i=r(7765),s=r(1993),l=r(7345),u=r(5448),c=r(6883),d=r(3417),f=r(7016),p=r(3910),h=r(6302),m=r(638),g=r(6967),y=r(1483);t.BROWSER_LOG_KEY=o.BROWSER_LOG_KEY,t.ENCODE_NAME_PREFIX=o.ENCODE_NAME_PREFIX,t.EncodedNameTransformMap=o.EncodedNameTransformMap,t.FederationModuleManifest=o.FederationModuleManifest,t.MANIFEST_EXT=o.MANIFEST_EXT,t.MFModuleType=o.MFModuleType,t.MFPrefetchCommon=o.MFPrefetchCommon,t.MODULE_DEVTOOL_IDENTIFIER=o.MODULE_DEVTOOL_IDENTIFIER,t.ManifestFileName=o.ManifestFileName,t.NameTransformMap=o.NameTransformMap,t.NameTransformSymbol=o.NameTransformSymbol,t.SEPARATOR=o.SEPARATOR,t.StatsFileName=o.StatsFileName,t.TEMP_DIR=o.TEMP_DIR,t.TreeShakingStatus=o.TreeShakingStatus,t.assert=d.assert,t.bindLoggerToCompiler=p.bindLoggerToCompiler,t.composeKeyWithSeparator=d.composeKeyWithSeparator,Object.defineProperty(t,\"consumeSharedPlugin\",{enumerable:!0,get:function(){return l.ConsumeSharedPlugin_exports}}),Object.defineProperty(t,\"containerPlugin\",{enumerable:!0,get:function(){return n.ContainerPlugin_exports}}),Object.defineProperty(t,\"containerReferencePlugin\",{enumerable:!0,get:function(){return a.ContainerReferencePlugin_exports}}),t.createInfrastructureLogger=p.createInfrastructureLogger,t.createLink=h.createLink,t.createLogger=p.createLogger,t.createModuleFederationConfig=y.createModuleFederationConfig,t.createScript=h.createScript,t.createScriptNode=m.createScriptNode,t.decodeName=d.decodeName,t.encodeName=d.encodeName,t.error=d.error,t.generateExposeFilename=d.generateExposeFilename,t.generateShareFilename=d.generateShareFilename,t.generateSnapshotFromManifest=f.generateSnapshotFromManifest,t.getManifestFileName=f.getManifestFileName,t.getProcessEnv=c.getProcessEnv,t.getResourceUrl=d.getResourceUrl,t.inferAutoPublicPath=f.inferAutoPublicPath,t.infrastructureLogger=p.infrastructureLogger,t.isBrowserEnv=c.isBrowserEnv,t.isBrowserEnvValue=c.isBrowserEnvValue,t.isDebugMode=c.isDebugMode,t.isManifestProvider=f.isManifestProvider,t.isReactNativeEnv=c.isReactNativeEnv,t.isRequiredVersion=d.isRequiredVersion,t.isStaticResourcesEqual=h.isStaticResourcesEqual,t.loadScript=h.loadScript,t.loadScriptNode=m.loadScriptNode,t.logger=p.logger,Object.defineProperty(t,\"moduleFederationPlugin\",{enumerable:!0,get:function(){return i.ModuleFederationPlugin_exports}}),t.normalizeOptions=g.normalizeOptions,t.parseEntry=d.parseEntry,Object.defineProperty(t,\"provideSharedPlugin\",{enumerable:!0,get:function(){return u.ProvideSharedPlugin_exports}}),t.safeToString=d.safeToString,t.safeWrapper=h.safeWrapper,Object.defineProperty(t,\"sharePlugin\",{enumerable:!0,get:function(){return s.SharePlugin_exports}}),t.simpleJoinRemoteEntry=f.simpleJoinRemoteEntry,t.warn=d.warn},3910(e,t,r){let o=r(6883),n=\"[ Module Federation ]\",a=console,i=[\"logger.ts\",\"logger.js\",\"captureStackTrace\",\"Logger.emit\",\"Logger.log\",\"Logger.info\",\"Logger.warn\",\"Logger.error\",\"Logger.debug\"];function s(){try{let e=Error().stack;if(!e)return;let[,...t]=e.split(\"\\n\"),r=t.filter(e=>!i.some(t=>e.includes(t)));if(!r.length)return;return`Stack trace:\n${r.slice(0,5).join(\"\\n\")}`}catch{return}}var l=class{setPrefix(e){this.prefix=e}setDelegate(e){this.delegate=e??a}emit(e,t){let r=this.delegate,n=o.isDebugMode()?s():void 0,i=n?[...t,n]:t,l=(()=>{switch(e){case\"log\":return[\"log\",\"info\"];case\"info\":return[\"info\",\"log\"];case\"warn\":return[\"warn\",\"info\",\"log\"];case\"error\":return[\"error\",\"warn\",\"log\"];default:return[\"debug\",\"log\"]}})();for(let e of l){let t=r[e];if(\"function\"==typeof t)return void t.call(r,this.prefix,...i)}for(let e of l){let t=a[e];if(\"function\"==typeof t)return void t.call(a,this.prefix,...i)}}log(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];this.emit(\"log\",t)}warn(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];this.emit(\"warn\",t)}error(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];this.emit(\"error\",t)}success(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];this.emit(\"info\",t)}info(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];this.emit(\"info\",t)}ready(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];this.emit(\"info\",t)}debug(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];o.isDebugMode()&&this.emit(\"debug\",t)}constructor(e,t=a){this.prefix=e,this.delegate=t??a}};function u(e){return new l(e)}function c(e){let t=new l(e);return Object.defineProperty(t,\"__mf_infrastructure_logger__\",{value:!0,enumerable:!1,configurable:!1}),t}function d(e,t,r){if(e.__mf_infrastructure_logger__&&(null==t?void 0:t.getInfrastructureLogger))try{let o=t.getInfrastructureLogger(r);o&&\"object\"==typeof o&&(\"function\"==typeof o.log||\"function\"==typeof o.info||\"function\"==typeof o.warn||\"function\"==typeof o.error)&&e.setDelegate(o)}catch{e.setDelegate(void 0)}}let f=u(n),p=c(n);t.bindLoggerToCompiler=d,t.createInfrastructureLogger=c,t.createLogger=u,t.infrastructureLogger=p,t.logger=f},638(__unused_rspack_module,exports){let sdkImportCache=new Map;function importNodeModule(e){if(!e)throw Error(\"import specifier is required\");if(sdkImportCache.has(e))return sdkImportCache.get(e);let t=Function(\"name\",\"return import(name)\")(e).then(e=>e).catch(t=>{throw console.error(`Error importing module ${e}:`,t),sdkImportCache.delete(e),t});return sdkImportCache.set(e,t),t}let loadNodeFetch=async()=>{let e=await importNodeModule(\"node-fetch\");return e.default||e},lazyLoaderHookFetch=async(e,t,r)=>{let o=(e,t)=>r.lifecycle.fetch.emit(e,t),n=await o(e,t||{});return n&&n instanceof Response?n:(\"u\"<typeof fetch?await loadNodeFetch():fetch)(e,t||{})},createScriptNode=\"u\"<typeof ENV_TARGET||\"web\"!==ENV_TARGET?(url,cb,attrs,loaderHook)=>{let urlObj;if(null==loaderHook?void 0:loaderHook.createScriptHook){let hookResult=loaderHook.createScriptHook(url);hookResult&&\"object\"==typeof hookResult&&\"url\"in hookResult&&(url=hookResult.url)}try{urlObj=new URL(url)}catch(e){console.error(\"Error constructing URL:\",e),cb(Error(`Invalid URL: ${e}`));return}let getFetch=async()=>(null==loaderHook?void 0:loaderHook.fetch)?(e,t)=>lazyLoaderHookFetch(e,t,loaderHook):\"u\"<typeof fetch?loadNodeFetch():fetch,handleScriptFetch=async(f,urlObj)=>{try{var _vm_constants;let requireFn,res=await f(urlObj.href),data=await res.text(),[path,vm]=await Promise.all([importNodeModule(\"path\"),importNodeModule(\"vm\")]),scriptContext={exports:{},module:{exports:{}}},urlDirname=urlObj.pathname.split(\"/\").slice(0,-1).join(\"/\"),filename=path.basename(urlObj.pathname),script=new vm.Script(`(function(exports, module, require, __dirname, __filename) {${data}\n})`,{filename,importModuleDynamically:(null==(_vm_constants=vm.constants)?void 0:_vm_constants.USE_MAIN_CONTEXT_DEFAULT_LOADER)??importNodeModule});requireFn=eval(\"require\"),script.runInThisContext()(scriptContext.exports,scriptContext.module,requireFn,urlDirname,filename);let exportedInterface=scriptContext.module.exports||scriptContext.exports;if(attrs&&exportedInterface&&attrs.globalName)return void cb(void 0,exportedInterface[attrs.globalName]||exportedInterface);cb(void 0,exportedInterface)}catch(e){cb(e instanceof Error?e:Error(`Script execution error: ${e}`))}};getFetch().then(async e=>{if((null==attrs?void 0:attrs.type)===\"esm\"||(null==attrs?void 0:attrs.type)===\"module\")return loadModule(urlObj.href,{fetch:e,vm:await importNodeModule(\"vm\")}).then(async e=>{await e.evaluate(),cb(void 0,e.namespace)}).catch(e=>{cb(e instanceof Error?e:Error(`Script execution error: ${e}`))});handleScriptFetch(e,urlObj)}).catch(e=>{cb(e)})}:(e,t,r,o)=>{t(Error(\"createScriptNode is disabled in non-Node.js environment\"))},loadScriptNode=\"u\"<typeof ENV_TARGET||\"web\"!==ENV_TARGET?(e,t)=>new Promise((r,o)=>{createScriptNode(e,(e,n)=>{if(e)o(e);else{var a,i;let e=(null==t||null==(a=t.attrs)?void 0:a.globalName)||`__FEDERATION_${null==t||null==(i=t.attrs)?void 0:i.name}:custom__`;r(globalThis[e]=n)}},t.attrs,t.loaderHook)}):(e,t)=>{throw Error(\"loadScriptNode is disabled in non-Node.js environment\")},esmModuleCache=new Map;async function loadModule(e,t){if(esmModuleCache.has(e))return esmModuleCache.get(e);let{fetch:r,vm:o}=t,n=await (await r(e)).text(),a=new o.SourceTextModule(n,{importModuleDynamically:async(r,o)=>loadModule(new URL(r,e).href,t)});return esmModuleCache.set(e,a),await a.link(async r=>{let o=new URL(r,e).href;return await loadModule(o,t)}),a}exports.createScriptNode=createScriptNode,exports.loadScriptNode=loadScriptNode},6967(e,t){t.normalizeOptions=function(e,t,r){return function(o){if(!1===o)return!1;if(void 0===o)if(e)return t;else return!1;if(!0===o)return t;if(o&&\"object\"==typeof o)return{...t,...o};throw Error(`Unexpected type for \\`${r}\\`, expect boolean/undefined/object, got: ${typeof o}`)}}},7345(e,t,r){var o=r(7688).__exportAll({});Object.defineProperty(t,\"ConsumeSharedPlugin_exports\",{enumerable:!0,get:function(){return o}})},8841(e,t,r){var o=r(7688).__exportAll({});Object.defineProperty(t,\"ContainerPlugin_exports\",{enumerable:!0,get:function(){return o}})},8798(e,t,r){var o=r(7688).__exportAll({});Object.defineProperty(t,\"ContainerReferencePlugin_exports\",{enumerable:!0,get:function(){return o}})},7765(e,t,r){var o=r(7688).__exportAll({});Object.defineProperty(t,\"ModuleFederationPlugin_exports\",{enumerable:!0,get:function(){return o}})},5448(e,t,r){var o=r(7688).__exportAll({});Object.defineProperty(t,\"ProvideSharedPlugin_exports\",{enumerable:!0,get:function(){return o}})},1993(e,t,r){var o=r(7688).__exportAll({});Object.defineProperty(t,\"SharePlugin_exports\",{enumerable:!0,get:function(){return o}})},3417(e,t,r){let o=r(586),n=r(6883),a=\"[ Federation Runtime ]\",i=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o.SEPARATOR,a=e.split(r),i=\"development\"===n.getProcessEnv().NODE_ENV&&t,s=\"*\",l=e=>e.startsWith(\"http\")||e.includes(o.MANIFEST_EXT);if(a.length>=2){let[t,...o]=a;e.startsWith(r)&&(t=a.slice(0,2).join(r),o=[i||a.slice(2).join(r)]);let n=i||o.join(r);return l(n)?{name:t,entry:n}:{name:t,version:n||s}}if(1===a.length){let[e]=a;return i&&l(i)?{name:e,entry:i}:{name:e,version:i||s}}throw`Invalid entry value: ${e}`},s=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.length?t.reduce((e,t)=>t?e?`${e}${o.SEPARATOR}${t}`:t:e,\"\"):\"\"},l=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];try{let n=r?\".js\":\"\";return`${t}${e.replace(RegExp(`${o.NameTransformSymbol.AT}`,\"g\"),o.NameTransformMap[o.NameTransformSymbol.AT]).replace(RegExp(`${o.NameTransformSymbol.HYPHEN}`,\"g\"),o.NameTransformMap[o.NameTransformSymbol.HYPHEN]).replace(RegExp(`${o.NameTransformSymbol.SLASH}`,\"g\"),o.NameTransformMap[o.NameTransformSymbol.SLASH])}${n}`}catch(e){throw e}},u=function(e,t,r){try{let n=e;if(t){if(!n.startsWith(t))return n;n=n.replace(RegExp(t,\"g\"),\"\")}return n=n.replace(RegExp(`${o.NameTransformMap[o.NameTransformSymbol.AT]}`,\"g\"),o.EncodedNameTransformMap[o.NameTransformMap[o.NameTransformSymbol.AT]]).replace(RegExp(`${o.NameTransformMap[o.NameTransformSymbol.SLASH]}`,\"g\"),o.EncodedNameTransformMap[o.NameTransformMap[o.NameTransformSymbol.SLASH]]).replace(RegExp(`${o.NameTransformMap[o.NameTransformSymbol.HYPHEN]}`,\"g\"),o.EncodedNameTransformMap[o.NameTransformMap[o.NameTransformSymbol.HYPHEN]]),r&&(n=n.replace(\".js\",\"\")),n}catch(e){throw e}},c=(e,t)=>{if(!e)return\"\";let r=e;return\".\"===r&&(r=\"default_export\"),r.startsWith(\"./\")&&(r=r.replace(\"./\",\"\")),l(r,\"__federation_expose_\",t)},d=(e,t)=>e?l(e,\"__federation_shared_\",t):\"\",f=(e,t)=>{if(\"getPublicPath\"in e){let r;return r=e.getPublicPath.startsWith(\"function\")?Function(\"return \"+e.getPublicPath)()():Function(e.getPublicPath)(),`${r}${t}`}return\"publicPath\"in e?!n.isBrowserEnv()&&!n.isReactNativeEnv()&&\"ssrPublicPath\"in e&&\"string\"==typeof e.ssrPublicPath?`${e.ssrPublicPath}${t}`:`${e.publicPath}${t}`:(console.warn(\"Cannot get resource URL. If in debug mode, please ignore.\",e,t),\"\")},p=e=>{throw Error(`${a}: ${e}`)},h=e=>{console.warn(`${a}: ${e}`)};function m(e){try{return JSON.stringify(e,null,2)}catch(e){return\"\"}}let g=/^([\\d^=v<>~]|[*xX]$)/;function y(e){return g.test(e)}t.assert=(e,t)=>{e||p(t)},t.composeKeyWithSeparator=s,t.decodeName=u,t.encodeName=l,t.error=p,t.generateExposeFilename=c,t.generateShareFilename=d,t.getResourceUrl=f,t.isRequiredVersion=y,t.parseEntry=i,t.safeToString=m,t.warn=h},7363(e,t){var r=Object.create,o=Object.defineProperty,n=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,i=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,l=(e,t,r,i)=>{if(t&&\"object\"==typeof t||\"function\"==typeof t)for(var l,u=a(t),c=0,d=u.length;c<d;c++)l=u[c],s.call(e,l)||l===r||o(e,l,{get:(e=>t[e]).bind(null,l),enumerable:!(i=n(t,l))||i.enumerable});return e};t.__toESM=(e,t,n)=>(n=null!=e?r(i(e)):{},l(!t&&e&&e.__esModule?n:o(n,\"default\",{value:e,enumerable:!0}),e))},2069(e,t){t.attachShareScopeMap=function(e){e.S&&!e.federation.hasAttachShareScopeMap&&e.federation.instance&&e.federation.instance.shareScopeMap&&(e.S=e.federation.instance.shareScopeMap,e.federation.hasAttachShareScopeMap=!0)}},6897(e,t){Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),t.FEDERATION_SUPPORTED_TYPES=[\"script\"]},916(e,t,r){let o=r(2069),n=r(5216),a=r(7617);t.consumes=function(e){n.updateConsumeOptions(e);let{chunkId:t,promises:r,installedModules:i,webpackRequire:s,chunkMapping:l,moduleToHandlerMapping:u}=e;o.attachShareScopeMap(s),s.o(l,t)&&l[t].forEach(e=>{if(s.o(i,e))return r.push(i[e]);let t=t=>{i[e]=0,s.m[e]=r=>{var o;delete s.c[e];let n=t(),{shareInfo:a}=u[e];if((null==a||null==(o=a.shareConfig)?void 0:o.layer)&&n&&\"object\"==typeof n)try{n.hasOwnProperty(\"layer\")&&void 0!==n.layer||(n.layer=a.shareConfig.layer)}catch(e){}r.exports=n}},o=t=>{delete i[e],s.m[e]=r=>{throw delete s.c[e],t}};try{let n=s.federation.instance;if(!n)throw Error(\"Federation instance not found!\");let{shareKey:l,getter:c,shareInfo:d,treeShakingGetter:f}=u[e],p=a.getUsedExports(s,l),h={...d};Array.isArray(h.scope)&&Array.isArray(h.scope[0])&&(h.scope=h.scope[0]),p&&(h.treeShaking={usedExports:p,useIn:[n.options.name]});let m=n.loadShare(l,{customShareInfo:h}).then(e=>!1===e?(null==f?void 0:f())||c():e);m.then?r.push(i[e]=m.then(t).catch(o)):t(m)}catch(e){o(e)}})}},8167(e,t){t.getSharedFallbackGetter=e=>{let{shareKey:t,factory:r,version:o,webpackRequire:n,libraryType:a=\"global\"}=e,{runtime:i,instance:s,bundlerRuntime:l,sharedFallback:u}=n.federation;if(!u)return r;let c=u[t];if(!c)return r;let d=o?c.find(e=>e[1]===o):c[0];if(!d)throw Error(`No fallback item found for shareKey: ${t} and version: ${o}`);return()=>i.getRemoteEntry({origin:n.federation.instance,remoteInfo:{name:d[2],entry:`${n.p}${d[0]}`,type:a,entryGlobalName:d[2],shareScope:\"default\"}}).then(e=>{if(!e)throw Error(`Failed to load fallback entry for shareKey: ${t} and version: ${o}`);return e.init(n.federation.instance,l).then(()=>e.get())})}},7617(e,t){t.getUsedExports=function(e,t){let r=e.federation.usedExports;if(r)return r[t]}},6927(e,t,r){Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:\"Module\"}});let o=r(7363),n=r(2069),a=r(6310),i=r(916),s=r(6777),l=r(1735),u=r(7440),c=r(8531),d=r(8167),f=r(9782),p={runtime:f=o.__toESM(f),instance:void 0,initOptions:void 0,bundlerRuntime:{remotes:a.remotes,consumes:i.consumes,I:s.initializeSharing,S:{},installInitialConsumes:l.installInitialConsumes,initContainerEntry:u.initContainerEntry,init:c.init,getSharedFallbackGetter:d.getSharedFallbackGetter},attachShareScopeMap:n.attachShareScopeMap,bundlerRuntimeOptions:{}},h=p.instance,m=p.initOptions,g=p.bundlerRuntime,y=p.bundlerRuntimeOptions;t.attachShareScopeMap=n.attachShareScopeMap,t.bundlerRuntime=g,t.bundlerRuntimeOptions=y,t.default=p,t.initOptions=m,t.instance=h,Object.defineProperty(t,\"runtime\",{enumerable:!0,get:function(){return f}})},8531(e,t,r){let o=r(7363),n=r(9782),a=r(3129);a=o.__toESM(a),t.init=function(e){var t;let{webpackRequire:o}=e,{initOptions:i,runtime:s,sharedFallback:l,bundlerRuntime:u,libraryType:c}=o.federation;if(!i)throw Error(\"initOptions is required!\");let d=function(){return{name:\"tree-shake-plugin\",beforeInit(e){let{userOptions:t,origin:i,options:s}=e,d=t.version||s.version;if(!l)return e;let f=t.shared||{},p=[];Object.keys(f).forEach(e=>{(Array.isArray(f[e])?f[e]:[f[e]]).forEach(t=>{if(p.push([e,t]),\"get\"in t){var r;(r=t).treeShaking||(r.treeShaking={}),t.treeShaking.get=t.get,t.get=u.getSharedFallbackGetter({shareKey:e,factory:t.get,webpackRequire:o,libraryType:c,version:t.version})}})});let h=a.default.global.getGlobalSnapshotInfoByModuleInfo({name:i.name,version:d});if(!h||!(\"shared\"in h))return e;Object.keys(s.shared||{}).forEach(e=>{s.shared[e].forEach(t=>{p.push([e,t])})});let m=(e,t)=>{let o=h.shared.find(t=>t.sharedName===e);if(!o)return;let{treeShaking:a}=t;if(!a)return;let{secondarySharedTreeShakingName:s,secondarySharedTreeShakingEntry:l,treeShakingStatus:u}=o;a.status!==u&&(a.status=u,l&&c&&s&&(a.get=async()=>{let e=await (0,n.getRemoteEntry)({origin:i,remoteInfo:{name:s,entry:l,type:c,entryGlobalName:s,shareScope:\"default\"}});return await e.init(i,r.federation.bundlerRuntime),e.get()}))};return p.forEach(e=>{let[t,r]=e;m(t,r)}),e}}};return(t=i).plugins||(t.plugins=[]),i.plugins.push(d()),s.init(i)}},7440(e,t){t.initContainerEntry=function(e){let{webpackRequire:t,shareScope:r,initScope:o,shareScopeKey:n,remoteEntryInitOptions:a}=e;if(!t.S||!t.federation||!t.federation.instance||!t.federation.initOptions)return;let i=t.federation.instance;i.initOptions({name:t.federation.initOptions.name,remotes:[],...a});let s=null==a?void 0:a.shareScopeKeys,l=null==a?void 0:a.shareScopeMap;if(n&&\"string\"!=typeof n)n.forEach(e=>{if(!s||!l)return void i.initShareScopeMap(e,r,{hostShareScopeMap:(null==a?void 0:a.shareScopeMap)||{}});l[e]||(l[e]={});let t=l[e];i.initShareScopeMap(e,t,{hostShareScopeMap:(null==a?void 0:a.shareScopeMap)||{}})});else{let e=n||\"default\";Array.isArray(s)?s.forEach(e=>{l[e]||(l[e]={});let t=l[e];i.initShareScopeMap(e,t,{hostShareScopeMap:(null==a?void 0:a.shareScopeMap)||{}})}):i.initShareScopeMap(e,r,{hostShareScopeMap:(null==a?void 0:a.shareScopeMap)||{}})}return(t.federation.attachShareScopeMap&&t.federation.attachShareScopeMap(t),\"function\"==typeof t.federation.prefetch&&t.federation.prefetch(),Array.isArray(n))?t.federation.initOptions.shared?t.I(n,o):Promise.all(n.map(e=>t.I(e,o))).then(()=>!0):t.I(n||\"default\",o)}},6777(e,t,r){let o=r(2069),n=r(6897);t.initializeSharing=function(e){let{shareScopeName:t,webpackRequire:r,initPromises:a,initTokens:i,initScope:s}=e,l=Array.isArray(t)?t:[t];var u=[],c=function(e){s||(s=[]);let l=r.federation.instance;var u=i[e];if(u||(u=i[e]={from:l.name}),s.indexOf(u)>=0)return;s.push(u);let c=a[e];if(c)return c;var d=e=>\"u\">typeof console&&console.warn&&console.warn(e),f=o=>{var n=e=>d(\"Initialization of sharing external failed: \"+e);try{var a=r(o);if(!a)return;var i=o=>o&&o.init&&o.init(r.S[e],s,{shareScopeMap:r.S||{},shareScopeKeys:t});if(a.then)return p.push(a.then(i,n));var l=i(a);if(l&&\"boolean\"!=typeof l&&l.then)return p.push(l.catch(n))}catch(e){n(e)}};let p=l.initializeSharing(e,{strategy:l.options.shareStrategy,initScope:s,from:\"build\"});o.attachShareScopeMap(r);let h=r.federation.bundlerRuntimeOptions.remotes;return(h&&Object.keys(h.idToRemoteMap).forEach(e=>{let t=h.idToRemoteMap[e],r=h.idToExternalAndNameMapping[e][2];if(t.length>1)f(r);else if(1===t.length){let e=t[0];n.FEDERATION_SUPPORTED_TYPES.includes(e.externalType)||f(r)}}),p.length)?a[e]=Promise.all(p).then(()=>a[e]=!0):a[e]=!0};return l.forEach(e=>{u.push(c(e))}),Promise.all(u).then(()=>!0)}},1735(e,t,r){let o=r(5216),n=r(7617);function a(e){let{moduleId:t,moduleToHandlerMapping:r,webpackRequire:o,asyncLoad:a}=e,i=o.federation.instance;if(!i)throw Error(\"Federation instance not found!\");let{shareKey:s,shareInfo:l}=r[t];try{let e=n.getUsedExports(o,s),t={...l};if(e&&(t.treeShaking={usedExports:e,useIn:[i.options.name]}),a)return i.loadShare(s,{customShareInfo:t});return i.loadShareSync(s,{customShareInfo:t})}catch(e){throw console.error('loadShareSync failed! The function should not be called unless you set \"eager:true\". If you do not set it, and encounter this issue, you can check whether an async boundary is implemented.'),console.error(\"The original error message is as follows: \"),e}}t.installInitialConsumes=function(e){o.updateConsumeOptions(e);let{moduleToHandlerMapping:t,webpackRequire:r,installedModules:n,initialConsumes:i,asyncLoad:s}=e,l=[];i.forEach(e=>{let o=()=>a({moduleId:e,moduleToHandlerMapping:t,webpackRequire:r,asyncLoad:s});l.push([e,o])});let u=(e,o)=>{r.m[e]=a=>{var i;n[e]=0,delete r.c[e];let s=o();if(\"function\"!=typeof s)throw Error(`Shared module is not available for eager consumption: ${e}`);let l=s(),{shareInfo:u}=t[e];if((null==u||null==(i=u.shareConfig)?void 0:i.layer)&&l&&\"object\"==typeof l)try{l.hasOwnProperty(\"layer\")&&void 0!==l.layer||(l.layer=u.shareConfig.layer)}catch(e){}a.exports=l}};if(s)return Promise.all(l.map(async e=>{let[t,r]=e,o=await r();u(t,()=>o)}));l.forEach(e=>{let[t,r]=e;u(t,r)})}},6310(e,t,r){r(7363);let o=r(2069),n=r(6897),a=r(5216),i=r(630);t.remotes=function(e){a.updateRemoteOptions(e);let{chunkId:t,promises:r,webpackRequire:s,chunkMapping:l,idToExternalAndNameMapping:u,idToRemoteMap:c}=e;o.attachShareScopeMap(s),s.o(l,t)&&l[t].forEach(e=>{let t=s.R;t||(t=[]);let o=u[e],a=c[e]||[];if(t.indexOf(o)>=0)return;if(t.push(o),o.p)return r.push(o.p);let l=t=>{t||(t=Error(\"Container missing\")),\"string\"==typeof t.message&&(t.message+=`\nwhile loading \"${o[1]}\" from ${o[2]}`),s.m[e]=()=>{throw t},o.p=0},d=(e,t,n,a,i,s)=>{try{let u=e(t,n);if(!u||!u.then)return i(u,a,s);{let e=u.then(e=>i(e,a),l);if(!s)return e;r.push(o.p=e)}}catch(e){l(e)}},f=(e,t,r)=>e?d(s.I,o[0],0,e,p,r):l();var p=(e,r,n)=>d(r.get,o[1],t,0,h,n),h=t=>{o.p=1,s.m[e]=e=>{e.exports=t()}};let m=()=>{try{let e=(0,i.decodeName)(a[0].name,i.ENCODE_NAME_PREFIX)+o[1].slice(1),t=s.federation.instance,r=()=>s.federation.instance.loadRemote(e,{loadFactory:!1,from:\"build\"});if(\"version-first\"===t.options.shareStrategy){let e=Array.isArray(o[0])?o[0]:[o[0]];return Promise.all(e.map(e=>t.sharedHandler.initializeSharing(e))).then(()=>r())}return r()}catch(e){l(e)}};1===a.length&&n.FEDERATION_SUPPORTED_TYPES.includes(a[0].externalType)&&a[0].name?d(m,o[2],0,0,h,1):d(s,o[2],0,0,f,1)})}},5216(e,t){function r(e){var t,r,o,n,a;let{webpackRequire:i,idToExternalAndNameMapping:s={},idToRemoteMap:l={},chunkMapping:u={}}=e,{remotesLoadingData:c}=i,d=null==(o=i.federation)||null==(r=o.bundlerRuntimeOptions)||null==(t=r.remotes)?void 0:t.remoteInfos;if(!c||c._updated||!d)return;let{chunkMapping:f,moduleIdToRemoteDataMapping:p}=c;if(f&&p){for(let[e,t]of Object.entries(p))if(s[e]||(s[e]=[t.shareScope,t.name,t.externalModuleId]),!l[e]&&d[t.remoteName]){let r=d[t.remoteName];(n=l)[a=e]||(n[a]=[]),r.forEach(t=>{l[e].includes(t)||l[e].push(t)})}u&&Object.entries(f).forEach(e=>{let[t,r]=e;u[t]||(u[t]=[]),r.forEach(e=>{u[t].includes(e)||u[t].push(e)})}),c._updated=1}}t.updateConsumeOptions=function(e){let{webpackRequire:t,moduleToHandlerMapping:r}=e,{consumesLoadingData:o,initializeSharingData:n}=t,{sharedFallback:a,bundlerRuntime:i,libraryType:s}=t.federation;if(o&&!o._updated){let{moduleIdToConsumeDataMapping:n={},initialConsumes:l=[],chunkMapping:u={}}=o;if(Object.entries(n).forEach(e=>{let[o,n]=e;r[o]||(r[o]={getter:a?null==i?void 0:i.getSharedFallbackGetter({shareKey:n.shareKey,factory:n.fallback,webpackRequire:t,libraryType:s}):n.fallback,treeShakingGetter:a?n.fallback:void 0,shareInfo:{shareConfig:{requiredVersion:n.requiredVersion,strictVersion:n.strictVersion,singleton:n.singleton,eager:n.eager,layer:n.layer},scope:Array.isArray(n.shareScope)?n.shareScope:[n.shareScope||\"default\"],treeShaking:a?{get:n.fallback,mode:n.treeShakingMode}:void 0},shareKey:n.shareKey})}),\"initialConsumes\"in e){let{initialConsumes:t=[]}=e;l.forEach(e=>{t.includes(e)||t.push(e)})}if(\"chunkMapping\"in e){let{chunkMapping:t={}}=e;Object.entries(u).forEach(e=>{let[r,o]=e;t[r]||(t[r]=[]),o.forEach(e=>{t[r].includes(e)||t[r].push(e)})})}o._updated=1}if(n&&!n._updated){let{federation:e}=t;if(!e.instance||!n.scopeToSharingDataMapping)return;let r={};for(let[e,t]of Object.entries(n.scopeToSharingDataMapping))for(let o of t)if(\"object\"==typeof o&&null!==o){let{name:t,version:n,factory:a,eager:i,singleton:s,requiredVersion:l,strictVersion:u}=o,c={requiredVersion:`^${n}`},d=function(e){return void 0!==e};d(s)&&(c.singleton=s),d(l)&&(c.requiredVersion=l),d(i)&&(c.eager=i),d(u)&&(c.strictVersion=u);let f={version:n,scope:[e],shareConfig:c,get:a};r[t]?r[t].push(f):r[t]=[f]}e.instance.registerShared(r),n._updated=1}},t.updateRemoteOptions=r},6160(e,t,r){\"use strict\";var o,n,a,i,s,l,u,c,d,f,p,h,m=r(6927),g=r.n(m);let y=[].filter(e=>{let{plugin:t}=e;return t}).map(e=>{let{plugin:t,params:r}=e;return t(r)}),E={\"@pimcore/studio-ui-bundle\":[{alias:\"@pimcore/studio-ui-bundle\",externalType:\"promise\",shareScope:\"default\"}]},_=\"pimcore_datahub_bundle\",S=\"version-first\";if((r.initializeSharingData||r.initializeExposesData)&&r.federation){let e=(e,t,r)=>{e&&e[t]&&(e[t]=r)},t=(e,t,r)=>{var o,n,a,i,s,l;let u=r();Array.isArray(u)?(null!=(a=(o=e)[n=t])||(o[n]=[]),e[t].push(...u)):\"object\"==typeof u&&null!==u&&(null!=(l=(i=e)[s=t])||(i[s]={}),Object.assign(e[t],u))},m=(e,t,r)=>{var o,n,a;null!=(a=(o=e)[n=t])||(o[n]=r())},b=null!=(o=null==(l=r.remotesLoadingData)?void 0:l.chunkMapping)?o:{},v=null!=(n=null==(u=r.remotesLoadingData)?void 0:u.moduleIdToRemoteDataMapping)?n:{},R=null!=(a=null==(c=r.initializeSharingData)?void 0:c.scopeToSharingDataMapping)?a:{},I=null!=(i=null==(d=r.consumesLoadingData)?void 0:d.chunkMapping)?i:{},M=null!=(s=null==(f=r.consumesLoadingData)?void 0:f.moduleIdToConsumeDataMapping)?s:{},N={},T=[],O={},A=null==(p=r.initializeExposesData)?void 0:p.shareScope;for(let e in g())r.federation[e]=g()[e];m(r.federation,\"consumesLoadingModuleToHandlerMapping\",()=>{let e={};for(let[t,r]of Object.entries(M))e[t]={getter:r.fallback,shareInfo:{shareConfig:{fixedDependencies:!1,requiredVersion:r.requiredVersion,strictVersion:r.strictVersion,singleton:r.singleton,eager:r.eager},scope:[r.shareScope]},shareKey:r.shareKey};return e}),m(r.federation,\"initOptions\",()=>({})),m(r.federation.initOptions,\"name\",()=>_),m(r.federation.initOptions,\"shareStrategy\",()=>S),m(r.federation.initOptions,\"shared\",()=>{let e={};for(let[t,r]of Object.entries(R))for(let o of r)if(\"object\"==typeof o&&null!==o){let{name:r,version:n,factory:a,eager:i,singleton:s,requiredVersion:l,strictVersion:u}=o,c={},d=function(e){return void 0!==e};d(s)&&(c.singleton=s),d(l)&&(c.requiredVersion=l),d(i)&&(c.eager=i),d(u)&&(c.strictVersion=u);let f={version:n,scope:[t],shareConfig:c,get:a};e[r]?e[r].push(f):e[r]=[f]}return e}),t(r.federation.initOptions,\"remotes\",()=>Object.values(E).flat().filter(e=>\"script\"===e.externalType)),t(r.federation.initOptions,\"plugins\",()=>y),m(r.federation,\"bundlerRuntimeOptions\",()=>({})),m(r.federation.bundlerRuntimeOptions,\"remotes\",()=>({})),m(r.federation.bundlerRuntimeOptions.remotes,\"chunkMapping\",()=>b),m(r.federation.bundlerRuntimeOptions.remotes,\"remoteInfos\",()=>E),m(r.federation.bundlerRuntimeOptions.remotes,\"idToExternalAndNameMapping\",()=>{let e={};for(let[t,r]of Object.entries(v))e[t]=[r.shareScope,r.name,r.externalModuleId,r.remoteName];return e}),m(r.federation.bundlerRuntimeOptions.remotes,\"webpackRequire\",()=>r),t(r.federation.bundlerRuntimeOptions.remotes,\"idToRemoteMap\",()=>{let e={};for(let[t,r]of Object.entries(v)){let o=E[r.remoteName];o&&(e[t]=o)}return e}),e(r,\"S\",r.federation.bundlerRuntime.S),r.federation.attachShareScopeMap&&r.federation.attachShareScopeMap(r),e(r.f,\"remotes\",(e,t)=>r.federation.bundlerRuntime.remotes({chunkId:e,promises:t,chunkMapping:b,idToExternalAndNameMapping:r.federation.bundlerRuntimeOptions.remotes.idToExternalAndNameMapping,idToRemoteMap:r.federation.bundlerRuntimeOptions.remotes.idToRemoteMap,webpackRequire:r})),e(r.f,\"consumes\",(e,t)=>r.federation.bundlerRuntime.consumes({chunkId:e,promises:t,chunkMapping:I,moduleToHandlerMapping:r.federation.consumesLoadingModuleToHandlerMapping,installedModules:N,webpackRequire:r})),e(r,\"I\",(e,t)=>r.federation.bundlerRuntime.I({shareScopeName:e,initScope:t,initPromises:T,initTokens:O,webpackRequire:r})),e(r,\"initContainer\",(e,t,o)=>r.federation.bundlerRuntime.initContainerEntry({shareScope:e,initScope:t,remoteEntryInitOptions:o,shareScopeKey:A,webpackRequire:r})),e(r,\"getContainer\",(e,t)=>{var o=r.initializeExposesData.moduleMap;return r.R=t,t=Object.prototype.hasOwnProperty.call(o,e)?o[e]():Promise.resolve().then(()=>{throw Error('Module \"'+e+'\" does not exist in container.')}),r.R=void 0,t}),r.federation.instance=r.federation.runtime.init(r.federation.initOptions),(null==(h=r.consumesLoadingData)?void 0:h.initialConsumes)&&r.federation.bundlerRuntime.installInitialConsumes({webpackRequire:r,installedModules:N,initialConsumes:r.consumesLoadingData.initialConsumes,moduleToHandlerMapping:r.federation.consumesLoadingModuleToHandlerMapping})}}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](r,r.exports,__webpack_require__),r.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.c=__webpack_module_cache__,__webpack_require__.x=()=>{var e=__webpack_require__.O(void 0,[\"109\"],()=>__webpack_require__(3109));return __webpack_require__.O(e)},(()=>{__webpack_require__.federation||(__webpack_require__.federation={chunkMatcher:function(e){return!0},rootOutputDir:\"../../\"})})(),(()=>{__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t}})(),(()=>{__webpack_require__.d=(e,t)=>{for(var r in t)__webpack_require__.o(t,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{var e=[];__webpack_require__.O=(t,r,o,n)=>{if(r){n=n||0;for(var a=e.length;a>0&&e[a-1][2]>n;a--)e[a]=e[a-1];e[a]=[r,o,n];return}for(var i=1/0,a=0;a<e.length;a++){for(var[r,o,n]=e[a],s=!0,l=0;l<r.length;l++)(!1&n||i>=n)&&Object.keys(__webpack_require__.O).every(e=>__webpack_require__.O[e](r[l]))?r.splice(l--,1):(s=!1,n<i&&(i=n));if(s){e.splice(a--,1);var u=o();void 0!==u&&(t=u)}}return t}})(),(()=>{__webpack_require__.S={},__webpack_require__.initializeSharingData={scopeToSharingDataMapping:{default:[{name:\"react-dom\",version:\"18.3.1\",factory:()=>()=>__webpack_require__(961),eager:1,singleton:1,requiredVersion:\"*\"},{name:\"react\",version:\"18.3.1\",factory:()=>()=>__webpack_require__(6540),eager:1,singleton:1,requiredVersion:\"*\"}]},uniqueName:\"pimcore_datahub_bundle\"},__webpack_require__.I=__webpack_require__.I||function(){throw Error(\"should have __webpack_require__.I\")}})(),(()=>{__webpack_require__.consumesLoadingData={chunkMapping:{889:[\"2812\"]},moduleIdToConsumeDataMapping:{2812:{shareScope:\"default\",shareKey:\"react\",import:\"react\",requiredVersion:\"*\",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(6540)}},initialConsumes:[\"2812\"]}})(),(()=>{var e={889:0};__webpack_require__.O.j=t=>0===e[t];var t=(t,r)=>{var o,n,[a,i,s]=r,l=0;if(a.some(t=>0!==e[t])){for(o in i)__webpack_require__.o(i,o)&&(__webpack_require__.m[o]=i[o]);if(s)var u=s(__webpack_require__)}for(t&&t(r);l<a.length;l++)n=a[l],__webpack_require__.o(e,n)&&e[n]&&e[n][0](),e[n]=0;return __webpack_require__.O(u)},r=self[\"chunk_pimcore_datahub_bundle \"]=self[\"chunk_pimcore_datahub_bundle \"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{var e=__webpack_require__.x,t=!1;__webpack_require__.x=function(){if(t||(t=!0,__webpack_require__(6160)),\"function\"==typeof e)return e();console.warn(\"[MF] Invalid prevStartup\")}})();var __webpack_exports__=__webpack_require__.x()})();"
  },
  {
    "path": "src/Resources/public/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/main.9c3ad8a2.js.LICENSE.txt",
    "content": "/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */"
  },
  {
    "path": "src/Resources/public/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/remoteEntry.js",
    "content": "/*! For license information please see remoteEntry.js.LICENSE.txt */\nvar pimcore_datahub_bundle;(()=>{var __webpack_modules__={2551(e,t,n){\"use strict\";var r,o,a,l,i,s,u=n(2812),c=n(9982);function f(e){for(var t=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,n=1;n<arguments.length;n++)t+=\"&args[]=\"+encodeURIComponent(arguments[n]);return\"Minified React error #\"+e+\"; visit \"+t+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var d=new Set,p={};function m(e,t){h(e,t),h(e+\"Capture\",t)}function h(e,t){for(p[e]=t,e=0;e<t.length;e++)d.add(t[e])}var g=\"u\">typeof window&&void 0!==window.document&&void 0!==window.document.createElement,y=Object.prototype.hasOwnProperty,b=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,v={},S={};function E(e){return!!y.call(S,e)||!y.call(v,e)&&(b.test(e)?S[e]=!0:(v[e]=!0,!1))}function _(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case\"function\":case\"symbol\":return!0;case\"boolean\":if(r)return!1;if(null!==n)return!n.acceptsBooleans;return\"data-\"!==(e=e.toLowerCase().slice(0,5))&&\"aria-\"!==e;default:return!1}}function k(e,t,n,r){if(null==t||_(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function w(e,t,n,r,o,a,l){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=l}var N={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(e){N[e]=new w(e,0,!1,e,null,!1,!1)}),[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(e){var t=e[0];N[t]=new w(t,1,!1,e[1],null,!1,!1)}),[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(e){N[e]=new w(e,2,!1,e.toLowerCase(),null,!1,!1)}),[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(e){N[e]=new w(e,2,!1,e,null,!1,!1)}),\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(e){N[e]=new w(e,3,!1,e.toLowerCase(),null,!1,!1)}),[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(e){N[e]=new w(e,3,!0,e,null,!1,!1)}),[\"capture\",\"download\"].forEach(function(e){N[e]=new w(e,4,!1,e,null,!1,!1)}),[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(e){N[e]=new w(e,6,!1,e,null,!1,!1)}),[\"rowSpan\",\"start\"].forEach(function(e){N[e]=new w(e,5,!1,e.toLowerCase(),null,!1,!1)});var R=/[\\-:]([a-z])/g;function T(e){return e[1].toUpperCase()}function x(e,t,n,r){var o=N.hasOwnProperty(t)?N[t]:null;(null!==o?0!==o.type:r||!(2<t.length)||\"o\"!==t[0]&&\"O\"!==t[0]||\"n\"!==t[1]&&\"N\"!==t[1])&&(k(t,n,o,r)&&(n=null),r||null===o?E(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,\"\"+n)):o.mustUseProperty?e[o.propertyName]=null===n?3!==o.type&&\"\":n:(t=o.attributeName,r=o.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(o=o.type)||4===o&&!0===n?\"\":\"\"+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(e){var t=e.replace(R,T);N[t]=new w(t,1,!1,e,null,!1,!1)}),\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(e){var t=e.replace(R,T);N[t]=new w(t,1,!1,e,\"http://www.w3.org/1999/xlink\",!1,!1)}),[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(e){var t=e.replace(R,T);N[t]=new w(t,1,!1,e,\"http://www.w3.org/XML/1998/namespace\",!1,!1)}),[\"tabIndex\",\"crossOrigin\"].forEach(function(e){N[e]=new w(e,1,!1,e.toLowerCase(),null,!1,!1)}),N.xlinkHref=new w(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1),[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(e){N[e]=new w(e,1,!1,e.toLowerCase(),null,!0,!0)});var I=u.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,M=Symbol.for(\"react.element\"),P=Symbol.for(\"react.portal\"),C=Symbol.for(\"react.fragment\"),O=Symbol.for(\"react.strict_mode\"),A=Symbol.for(\"react.profiler\"),L=Symbol.for(\"react.provider\"),F=Symbol.for(\"react.context\"),$=Symbol.for(\"react.forward_ref\"),D=Symbol.for(\"react.suspense\"),U=Symbol.for(\"react.suspense_list\"),z=Symbol.for(\"react.memo\"),j=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\"),Symbol.for(\"react.debug_trace_mode\");var H=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\"),Symbol.for(\"react.cache\"),Symbol.for(\"react.tracing_marker\");var G=Symbol.iterator;function V(e){return null===e||\"object\"!=typeof e?null:\"function\"==typeof(e=G&&e[G]||e[\"@@iterator\"])?e:null}var W,B=Object.assign;function q(e){if(void 0===W)try{throw Error()}catch(e){var t=e.stack.trim().match(/\\n( *(at )?)/);W=t&&t[1]||\"\"}return\"\\n\"+W+e}var K=!1;function Q(e,t){if(!e||K)return\"\";K=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,\"props\",{set:function(){throw Error()}}),\"object\"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var r=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){r=e}e.call(t.prototype)}else{try{throw Error()}catch(e){r=e}e()}}catch(t){if(t&&r&&\"string\"==typeof t.stack){for(var o=t.stack.split(\"\\n\"),a=r.stack.split(\"\\n\"),l=o.length-1,i=a.length-1;1<=l&&0<=i&&o[l]!==a[i];)i--;for(;1<=l&&0<=i;l--,i--)if(o[l]!==a[i]){if(1!==l||1!==i)do if(l--,0>--i||o[l]!==a[i]){var s=\"\\n\"+o[l].replace(\" at new \",\" at \");return e.displayName&&s.includes(\"<anonymous>\")&&(s=s.replace(\"<anonymous>\",e.displayName)),s}while(1<=l&&0<=i);break}}}finally{K=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:\"\")?q(e):\"\"}function X(e){switch(e.tag){case 5:return q(e.type);case 16:return q(\"Lazy\");case 13:return q(\"Suspense\");case 19:return q(\"SuspenseList\");case 0:case 2:case 15:return Q(e.type,!1);case 11:return Q(e.type.render,!1);case 1:return Q(e.type,!0);default:return\"\"}}function Y(e){if(null==e)return null;if(\"function\"==typeof e)return e.displayName||e.name||null;if(\"string\"==typeof e)return e;switch(e){case C:return\"Fragment\";case P:return\"Portal\";case A:return\"Profiler\";case O:return\"StrictMode\";case D:return\"Suspense\";case U:return\"SuspenseList\"}if(\"object\"==typeof e)switch(e.$$typeof){case F:return(e.displayName||\"Context\")+\".Consumer\";case L:return(e._context.displayName||\"Context\")+\".Provider\";case $:var t=e.render;return(e=e.displayName)||(e=\"\"!==(e=t.displayName||t.name||\"\")?\"ForwardRef(\"+e+\")\":\"ForwardRef\"),e;case z:return null!==(t=e.displayName||null)?t:Y(e.type)||\"Memo\";case j:t=e._payload,e=e._init;try{return Y(e(t))}catch(e){}}return null}function J(e){var t=e.type;switch(e.tag){case 24:return\"Cache\";case 9:return(t.displayName||\"Context\")+\".Consumer\";case 10:return(t._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return e=(e=t.render).displayName||e.name||\"\",t.displayName||(\"\"!==e?\"ForwardRef(\"+e+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return t;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Y(t);case 8:return t===O?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";case 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"==typeof t)return t.displayName||t.name||null;if(\"string\"==typeof t)return t}return null}function Z(e){switch(typeof e){case\"boolean\":case\"number\":case\"string\":case\"undefined\":case\"object\":return e;default:return\"\"}}function ee(e){var t=e.type;return(e=e.nodeName)&&\"input\"===e.toLowerCase()&&(\"checkbox\"===t||\"radio\"===t)}function et(e){var t=ee(e)?\"checked\":\"value\",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=\"\"+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&\"function\"==typeof n.get&&\"function\"==typeof n.set){var o=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(e){r=\"\"+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=\"\"+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function en(e){e._valueTracker||(e._valueTracker=et(e))}function er(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=\"\";return e&&(r=ee(e)?e.checked?\"true\":\"false\":e.value),(e=r)!==n&&(t.setValue(e),!0)}function eo(e){if(void 0===(e=e||(\"u\">typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function ea(e,t){var n=t.checked;return B({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function el(e,t){var n=null==t.defaultValue?\"\":t.defaultValue;e._wrapperState={initialChecked:null!=t.checked?t.checked:t.defaultChecked,initialValue:n=Z(null!=t.value?t.value:n),controlled:\"checkbox\"===t.type||\"radio\"===t.type?null!=t.checked:null!=t.value}}function ei(e,t){null!=(t=t.checked)&&x(e,\"checked\",t,!1)}function es(e,t){ei(e,t);var n=Z(t.value),r=t.type;if(null!=n)\"number\"===r?(0===n&&\"\"===e.value||e.value!=n)&&(e.value=\"\"+n):e.value!==\"\"+n&&(e.value=\"\"+n);else if(\"submit\"===r||\"reset\"===r)return void e.removeAttribute(\"value\");t.hasOwnProperty(\"value\")?ec(e,t.type,n):t.hasOwnProperty(\"defaultValue\")&&ec(e,t.type,Z(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function eu(e,t,n){if(t.hasOwnProperty(\"value\")||t.hasOwnProperty(\"defaultValue\")){var r=t.type;if((\"submit\"===r||\"reset\"===r)&&(void 0===t.value||null===t.value))return;t=\"\"+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}\"\"!==(n=e.name)&&(e.name=\"\"),e.defaultChecked=!!e._wrapperState.initialChecked,\"\"!==n&&(e.name=n)}function ec(e,t,n){(\"number\"!==t||eo(e.ownerDocument)!==e)&&(null==n?e.defaultValue=\"\"+e._wrapperState.initialValue:e.defaultValue!==\"\"+n&&(e.defaultValue=\"\"+n))}var ef=Array.isArray;function ed(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o<n.length;o++)t[\"$\"+n[o]]=!0;for(n=0;n<e.length;n++)o=t.hasOwnProperty(\"$\"+e[n].value),e[n].selected!==o&&(e[n].selected=o),o&&r&&(e[n].defaultSelected=!0)}else{for(o=0,n=\"\"+Z(n),t=null;o<e.length;o++){if(e[o].value===n){e[o].selected=!0,r&&(e[o].defaultSelected=!0);return}null!==t||e[o].disabled||(t=e[o])}null!==t&&(t.selected=!0)}}function ep(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(f(91));return B({},t,{value:void 0,defaultValue:void 0,children:\"\"+e._wrapperState.initialValue})}function em(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(f(92));if(ef(n)){if(1<n.length)throw Error(f(93));n=n[0]}t=n}null==t&&(t=\"\"),n=t}e._wrapperState={initialValue:Z(n)}}function eh(e,t){var n=Z(t.value),r=Z(t.defaultValue);null!=n&&((n=\"\"+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=\"\"+r)}function eg(e){var t=e.textContent;t===e._wrapperState.initialValue&&\"\"!==t&&null!==t&&(e.value=t)}function ey(e){switch(e){case\"svg\":return\"http://www.w3.org/2000/svg\";case\"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function eb(e,t){return null==e||\"http://www.w3.org/1999/xhtml\"===e?ey(t):\"http://www.w3.org/2000/svg\"===e&&\"foreignObject\"===t?\"http://www.w3.org/1999/xhtml\":e}var ev,eS=function(e){return\"u\">typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,r,o){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,o)})}:e}(function(e,t){if(\"http://www.w3.org/2000/svg\"!==e.namespaceURI||\"innerHTML\"in e)e.innerHTML=t;else{for((ev=ev||document.createElement(\"div\")).innerHTML=\"<svg>\"+t.valueOf().toString()+\"</svg>\",t=ev.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function eE(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType){n.nodeValue=t;return}}e.textContent=t}var e_={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ek=[\"Webkit\",\"ms\",\"Moz\",\"O\"];function ew(e,t,n){return null==t||\"boolean\"==typeof t||\"\"===t?\"\":n||\"number\"!=typeof t||0===t||e_.hasOwnProperty(e)&&e_[e]?(\"\"+t).trim():t+\"px\"}function eN(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf(\"--\"),o=ew(n,t[n],r);\"float\"===n&&(n=\"cssFloat\"),r?e.setProperty(n,o):e[n]=o}}Object.keys(e_).forEach(function(e){ek.forEach(function(t){e_[t=t+e.charAt(0).toUpperCase()+e.substring(1)]=e_[e]})});var eR=B({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function eT(e,t){if(t){if(eR[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(f(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(f(60));if(\"object\"!=typeof t.dangerouslySetInnerHTML||!(\"__html\"in t.dangerouslySetInnerHTML))throw Error(f(61))}if(null!=t.style&&\"object\"!=typeof t.style)throw Error(f(62))}}function ex(e,t){if(-1===e.indexOf(\"-\"))return\"string\"==typeof t.is;switch(e){case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return!1;default:return!0}}var eI=null;function eM(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var eP=null,eC=null,eO=null;function eA(e){if(e=r3(e)){if(\"function\"!=typeof eP)throw Error(f(280));var t=e.stateNode;t&&(t=r4(t),eP(e.stateNode,e.type,t))}}function eL(e){eC?eO?eO.push(e):eO=[e]:eC=e}function eF(){if(eC){var e=eC,t=eO;if(eO=eC=null,eA(e),t)for(e=0;e<t.length;e++)eA(t[e])}}function e$(e,t){return e(t)}function eD(){}var eU=!1;function ez(e,t,n){if(eU)return e(t,n);eU=!0;try{return e$(e,t,n)}finally{eU=!1,(null!==eC||null!==eO)&&(eD(),eF())}}function ej(e,t){var n=e.stateNode;if(null===n)return null;var r=r4(n);if(null===r)return null;switch(n=r[t],t){case\"onClick\":case\"onClickCapture\":case\"onDoubleClick\":case\"onDoubleClickCapture\":case\"onMouseDown\":case\"onMouseDownCapture\":case\"onMouseMove\":case\"onMouseMoveCapture\":case\"onMouseUp\":case\"onMouseUpCapture\":case\"onMouseEnter\":(r=!r.disabled)||(r=\"button\"!==(e=e.type)&&\"input\"!==e&&\"select\"!==e&&\"textarea\"!==e),e=!r;break;default:e=!1}if(e)return null;if(n&&\"function\"!=typeof n)throw Error(f(231,t,typeof n));return n}var eH=!1;if(g)try{var eG={};Object.defineProperty(eG,\"passive\",{get:function(){eH=!0}}),window.addEventListener(\"test\",eG,eG),window.removeEventListener(\"test\",eG,eG)}catch(e){eH=!1}function eV(e,t,n,r,o,a,l,i,s){var u=Array.prototype.slice.call(arguments,3);try{t.apply(n,u)}catch(e){this.onError(e)}}var eW=!1,eB=null,eq=!1,eK=null,eQ={onError:function(e){eW=!0,eB=e}};function eX(e,t,n,r,o,a,l,i,s){eW=!1,eB=null,eV.apply(eQ,arguments)}function eY(e,t,n,r,o,a,l,i,s){if(eX.apply(this,arguments),eW){if(eW){var u=eB;eW=!1,eB=null}else throw Error(f(198));eq||(eq=!0,eK=u)}}function eJ(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do 0!=(4098&(t=e).flags)&&(n=t.return),e=t.return;while(e)}return 3===t.tag?n:null}function eZ(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&null!==(e=e.alternate)&&(t=e.memoizedState),null!==t)return t.dehydrated}return null}function e0(e){if(eJ(e)!==e)throw Error(f(188))}function e1(e){var t=e.alternate;if(!t){if(null===(t=eJ(e)))throw Error(f(188));return t!==e?null:e}for(var n=e,r=t;;){var o=n.return;if(null===o)break;var a=o.alternate;if(null===a){if(null!==(r=o.return)){n=r;continue}break}if(o.child===a.child){for(a=o.child;a;){if(a===n)return e0(o),e;if(a===r)return e0(o),t;a=a.sibling}throw Error(f(188))}if(n.return!==r.return)n=o,r=a;else{for(var l=!1,i=o.child;i;){if(i===n){l=!0,n=o,r=a;break}if(i===r){l=!0,r=o,n=a;break}i=i.sibling}if(!l){for(i=a.child;i;){if(i===n){l=!0,n=a,r=o;break}if(i===r){l=!0,r=a,n=o;break}i=i.sibling}if(!l)throw Error(f(189))}}if(n.alternate!==r)throw Error(f(190))}if(3!==n.tag)throw Error(f(188));return n.stateNode.current===n?e:t}function e2(e){return null!==(e=e1(e))?e3(e):null}function e3(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=e3(e);if(null!==t)return t;e=e.sibling}return null}var e6=c.unstable_scheduleCallback,e4=c.unstable_cancelCallback,e8=c.unstable_shouldYield,e9=c.unstable_requestPaint,e5=c.unstable_now,e7=c.unstable_getCurrentPriorityLevel,te=c.unstable_ImmediatePriority,tt=c.unstable_UserBlockingPriority,tn=c.unstable_NormalPriority,tr=c.unstable_LowPriority,to=c.unstable_IdlePriority,ta=null,tl=null;function ti(e){if(tl&&\"function\"==typeof tl.onCommitFiberRoot)try{tl.onCommitFiberRoot(ta,e,void 0,128==(128&e.current.flags))}catch(e){}}var ts=Math.clz32?Math.clz32:tf,tu=Math.log,tc=Math.LN2;function tf(e){return 0==(e>>>=0)?32:31-(tu(e)/tc|0)|0}var td=64,tp=4194304;function tm(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 0x1000000:case 0x2000000:case 0x4000000:return 0x7c00000&e;case 0x8000000:return 0x8000000;case 0x10000000:return 0x10000000;case 0x20000000:return 0x20000000;case 0x40000000:return 0x40000000;default:return e}}function th(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,o=e.suspendedLanes,a=e.pingedLanes,l=0xfffffff&n;if(0!==l){var i=l&~o;0!==i?r=tm(i):0!=(a&=l)&&(r=tm(a))}else 0!=(l=n&~o)?r=tm(l):0!==a&&(r=tm(a));if(0===r)return 0;if(0!==t&&t!==r&&0==(t&o)&&((o=r&-r)>=(a=t&-t)||16===o&&0!=(4194240&a)))return t;if(0!=(4&r)&&(r|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)o=1<<(n=31-ts(t)),r|=e[n],t&=~o;return r}function tg(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return -1}}function ty(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,o=e.expirationTimes,a=e.pendingLanes;0<a;){var l=31-ts(a),i=1<<l,s=o[l];-1===s?(0==(i&n)||0!=(i&r))&&(o[l]=tg(i,t)):s<=t&&(e.expiredLanes|=i),a&=~i}}function tb(e){return 0!=(e=-0x40000001&e.pendingLanes)?e:0x40000000&e?0x40000000:0}function tv(){var e=td;return 0==(4194240&(td<<=1))&&(td=64),e}function tS(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function tE(e,t,n){e.pendingLanes|=t,0x20000000!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-ts(t)]=n}function t_(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var o=31-ts(n),a=1<<o;t[o]=0,r[o]=-1,e[o]=-1,n&=~a}}function tk(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-ts(n),o=1<<r;o&t|e[r]&t&&(e[r]|=t),n&=~o}}var tw=0;function tN(e){return 1<(e&=-e)?4<e?0!=(0xfffffff&e)?16:0x20000000:4:1}var tR,tT,tx,tI,tM,tP=!1,tC=[],tO=null,tA=null,tL=null,tF=new Map,t$=new Map,tD=[],tU=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");function tz(e,t){switch(e){case\"focusin\":case\"focusout\":tO=null;break;case\"dragenter\":case\"dragleave\":tA=null;break;case\"mouseover\":case\"mouseout\":tL=null;break;case\"pointerover\":case\"pointerout\":tF.delete(t.pointerId);break;case\"gotpointercapture\":case\"lostpointercapture\":t$.delete(t.pointerId)}}function tj(e,t,n,r,o,a){return null===e||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[o]},null!==t&&null!==(t=r3(t))&&tT(t)):(e.eventSystemFlags|=r,t=e.targetContainers,null!==o&&-1===t.indexOf(o)&&t.push(o)),e}function tH(e,t,n,r,o){switch(t){case\"focusin\":return tO=tj(tO,e,t,n,r,o),!0;case\"dragenter\":return tA=tj(tA,e,t,n,r,o),!0;case\"mouseover\":return tL=tj(tL,e,t,n,r,o),!0;case\"pointerover\":var a=o.pointerId;return tF.set(a,tj(tF.get(a)||null,e,t,n,r,o)),!0;case\"gotpointercapture\":return a=o.pointerId,t$.set(a,tj(t$.get(a)||null,e,t,n,r,o)),!0}return!1}function tG(e){var t=r2(e.target);if(null!==t){var n=eJ(t);if(null!==n){if(13===(t=n.tag)){if(null!==(t=eZ(n))){e.blockedOn=t,tM(e.priority,function(){tx(n)});return}}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=3===n.tag?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function tV(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=t1(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=r3(n))&&tT(t),e.blockedOn=n,!1;var r=new(n=e.nativeEvent).constructor(n.type,n);eI=r,n.target.dispatchEvent(r),eI=null,t.shift()}return!0}function tW(e,t,n){tV(e)&&n.delete(t)}function tB(){tP=!1,null!==tO&&tV(tO)&&(tO=null),null!==tA&&tV(tA)&&(tA=null),null!==tL&&tV(tL)&&(tL=null),tF.forEach(tW),t$.forEach(tW)}function tq(e,t){e.blockedOn===t&&(e.blockedOn=null,tP||(tP=!0,c.unstable_scheduleCallback(c.unstable_NormalPriority,tB)))}function tK(e){function t(t){return tq(t,e)}if(0<tC.length){tq(tC[0],e);for(var n=1;n<tC.length;n++){var r=tC[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==tO&&tq(tO,e),null!==tA&&tq(tA,e),null!==tL&&tq(tL,e),tF.forEach(t),t$.forEach(t),n=0;n<tD.length;n++)(r=tD[n]).blockedOn===e&&(r.blockedOn=null);for(;0<tD.length&&null===(n=tD[0]).blockedOn;)tG(n),null===n.blockedOn&&tD.shift()}var tQ=I.ReactCurrentBatchConfig,tX=!0;function tY(e,t,n,r){var o=tw,a=tQ.transition;tQ.transition=null;try{tw=1,tZ(e,t,n,r)}finally{tw=o,tQ.transition=a}}function tJ(e,t,n,r){var o=tw,a=tQ.transition;tQ.transition=null;try{tw=4,tZ(e,t,n,r)}finally{tw=o,tQ.transition=a}}function tZ(e,t,n,r){if(tX){var o=t1(e,t,n,r);if(null===o)rx(e,t,r,t0,n),tz(e,r);else if(tH(o,e,t,n,r))r.stopPropagation();else if(tz(e,r),4&t&&-1<tU.indexOf(e)){for(;null!==o;){var a=r3(o);if(null!==a&&tR(a),null===(a=t1(e,t,n,r))&&rx(e,t,r,t0,n),a===o)break;o=a}null!==o&&r.stopPropagation()}else rx(e,t,r,null,n)}}var t0=null;function t1(e,t,n,r){if(t0=null,null!==(e=r2(e=eM(r))))if(null===(t=eJ(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=eZ(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return t0=e,null}function t2(e){switch(e){case\"cancel\":case\"click\":case\"close\":case\"contextmenu\":case\"copy\":case\"cut\":case\"auxclick\":case\"dblclick\":case\"dragend\":case\"dragstart\":case\"drop\":case\"focusin\":case\"focusout\":case\"input\":case\"invalid\":case\"keydown\":case\"keypress\":case\"keyup\":case\"mousedown\":case\"mouseup\":case\"paste\":case\"pause\":case\"play\":case\"pointercancel\":case\"pointerdown\":case\"pointerup\":case\"ratechange\":case\"reset\":case\"resize\":case\"seeked\":case\"submit\":case\"touchcancel\":case\"touchend\":case\"touchstart\":case\"volumechange\":case\"change\":case\"selectionchange\":case\"textInput\":case\"compositionstart\":case\"compositionend\":case\"compositionupdate\":case\"beforeblur\":case\"afterblur\":case\"beforeinput\":case\"blur\":case\"fullscreenchange\":case\"focus\":case\"hashchange\":case\"popstate\":case\"select\":case\"selectstart\":return 1;case\"drag\":case\"dragenter\":case\"dragexit\":case\"dragleave\":case\"dragover\":case\"mousemove\":case\"mouseout\":case\"mouseover\":case\"pointermove\":case\"pointerout\":case\"pointerover\":case\"scroll\":case\"toggle\":case\"touchmove\":case\"wheel\":case\"mouseenter\":case\"mouseleave\":case\"pointerenter\":case\"pointerleave\":return 4;case\"message\":switch(e7()){case te:return 1;case tt:return 4;case tn:case tr:return 16;case to:return 0x20000000;default:return 16}default:return 16}}var t3=null,t6=null,t4=null;function t8(){if(t4)return t4;var e,t,n=t6,r=n.length,o=\"value\"in t3?t3.value:t3.textContent,a=o.length;for(e=0;e<r&&n[e]===o[e];e++);var l=r-e;for(t=1;t<=l&&n[r-t]===o[a-t];t++);return t4=o.slice(e,1<t?1-t:void 0)}function t9(e){var t=e.keyCode;return\"charCode\"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function t5(){return!0}function t7(){return!1}function ne(e){function t(t,n,r,o,a){for(var l in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=o,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(l)&&(t=e[l],this[l]=t?t(o):o[l]);return this.isDefaultPrevented=(null!=o.defaultPrevented?o.defaultPrevented:!1===o.returnValue)?t5:t7,this.isPropagationStopped=t7,this}return B(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():\"unknown\"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=t5)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():\"unknown\"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=t5)},persist:function(){},isPersistent:t5}),t}var nt,nn,nr,no={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},na=ne(no),nl=B({},no,{view:0,detail:0}),ni=ne(nl),ns=B({},nl,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:nv,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return\"movementX\"in e?e.movementX:(e!==nr&&(nr&&\"mousemove\"===e.type?(nt=e.screenX-nr.screenX,nn=e.screenY-nr.screenY):nn=nt=0,nr=e),nt)},movementY:function(e){return\"movementY\"in e?e.movementY:nn}}),nu=ne(ns),nc=ne(B({},ns,{dataTransfer:0})),nf=ne(B({},nl,{relatedTarget:0})),nd=ne(B({},no,{animationName:0,elapsedTime:0,pseudoElement:0})),np=ne(B({},no,{clipboardData:function(e){return\"clipboardData\"in e?e.clipboardData:window.clipboardData}})),nm=ne(B({},no,{data:0})),nh={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},ng={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},ny={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function nb(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=ny[e])&&!!t[e]}function nv(){return nb}var nS=ne(B({},nl,{key:function(e){if(e.key){var t=nh[e.key]||e.key;if(\"Unidentified\"!==t)return t}return\"keypress\"===e.type?13===(e=t9(e))?\"Enter\":String.fromCharCode(e):\"keydown\"===e.type||\"keyup\"===e.type?ng[e.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:nv,charCode:function(e){return\"keypress\"===e.type?t9(e):0},keyCode:function(e){return\"keydown\"===e.type||\"keyup\"===e.type?e.keyCode:0},which:function(e){return\"keypress\"===e.type?t9(e):\"keydown\"===e.type||\"keyup\"===e.type?e.keyCode:0}})),nE=ne(B({},ns,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),n_=ne(B({},nl,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:nv})),nk=ne(B({},no,{propertyName:0,elapsedTime:0,pseudoElement:0})),nw=ne(B({},ns,{deltaX:function(e){return\"deltaX\"in e?e.deltaX:\"wheelDeltaX\"in e?-e.wheelDeltaX:0},deltaY:function(e){return\"deltaY\"in e?e.deltaY:\"wheelDeltaY\"in e?-e.wheelDeltaY:\"wheelDelta\"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),nN=[9,13,27,32],nR=g&&\"CompositionEvent\"in window,nT=null;g&&\"documentMode\"in document&&(nT=document.documentMode);var nx=g&&\"TextEvent\"in window&&!nT,nI=g&&(!nR||nT&&8<nT&&11>=nT),nM=\" \",nP=!1;function nC(e,t){switch(e){case\"keyup\":return -1!==nN.indexOf(t.keyCode);case\"keydown\":return 229!==t.keyCode;case\"keypress\":case\"mousedown\":case\"focusout\":return!0;default:return!1}}function nO(e){return\"object\"==typeof(e=e.detail)&&\"data\"in e?e.data:null}var nA=!1;function nL(e,t){switch(e){case\"compositionend\":return nO(t);case\"keypress\":if(32!==t.which)return null;return nP=!0,nM;case\"textInput\":return(e=t.data)===nM&&nP?null:e;default:return null}}function nF(e,t){if(nA)return\"compositionend\"===e||!nR&&nC(e,t)?(e=t8(),t4=t6=t3=null,nA=!1,e):null;switch(e){case\"paste\":default:return null;case\"keypress\":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case\"compositionend\":return nI&&\"ko\"!==t.locale?null:t.data}}var n$={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function nD(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return\"input\"===t?!!n$[e.type]:\"textarea\"===t}function nU(e,t,n,r){eL(r),0<(t=rM(t,\"onChange\")).length&&(n=new na(\"onChange\",\"change\",null,n,r),e.push({event:n,listeners:t}))}var nz=null,nj=null;function nH(e){r_(e,0)}function nG(e){if(er(r6(e)))return e}function nV(e,t){if(\"change\"===e)return t}var nW=!1;if(g){if(g){var nB=\"oninput\"in document;if(!nB){var nq=document.createElement(\"div\");nq.setAttribute(\"oninput\",\"return;\"),nB=\"function\"==typeof nq.oninput}r=nB}else r=!1;nW=r&&(!document.documentMode||9<document.documentMode)}function nK(){nz&&(nz.detachEvent(\"onpropertychange\",nQ),nj=nz=null)}function nQ(e){if(\"value\"===e.propertyName&&nG(nj)){var t=[];nU(t,nj,e,eM(e)),ez(nH,t)}}function nX(e,t,n){\"focusin\"===e?(nK(),nz=t,nj=n,nz.attachEvent(\"onpropertychange\",nQ)):\"focusout\"===e&&nK()}function nY(e){if(\"selectionchange\"===e||\"keyup\"===e||\"keydown\"===e)return nG(nj)}function nJ(e,t){if(\"click\"===e)return nG(t)}function nZ(e,t){if(\"input\"===e||\"change\"===e)return nG(t)}function n0(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t}var n1=\"function\"==typeof Object.is?Object.is:n0;function n2(e,t){if(n1(e,t))return!0;if(\"object\"!=typeof e||null===e||\"object\"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var o=n[r];if(!y.call(t,o)||!n1(e[o],t[o]))return!1}return!0}function n3(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function n6(e,t){var n,r=n3(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=n3(r)}}function n4(e,t){return!!e&&!!t&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?n4(e,t.parentNode):\"contains\"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function n8(){for(var e=window,t=eo();t instanceof e.HTMLIFrameElement;){try{var n=\"string\"==typeof t.contentWindow.location.href}catch(e){n=!1}if(n)e=t.contentWindow;else break;t=eo(e.document)}return t}function n9(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(\"input\"===t&&(\"text\"===e.type||\"search\"===e.type||\"tel\"===e.type||\"url\"===e.type||\"password\"===e.type)||\"textarea\"===t||\"true\"===e.contentEditable)}function n5(e){var t=n8(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&n4(n.ownerDocument.documentElement,n)){if(null!==r&&n9(n)){if(t=r.start,void 0===(e=r.end)&&(e=t),\"selectionStart\"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var o=n.textContent.length,a=Math.min(r.start,o);r=void 0===r.end?a:Math.min(r.end,o),!e.extend&&a>r&&(o=r,r=a,a=o),o=n6(n,a);var l=n6(n,r);o&&l&&(1!==e.rangeCount||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==l.node||e.focusOffset!==l.offset)&&((t=t.createRange()).setStart(o.node,o.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(l.node,l.offset)):(t.setEnd(l.node,l.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(\"function\"==typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var n7=g&&\"documentMode\"in document&&11>=document.documentMode,re=null,rt=null,rn=null,rr=!1;function ro(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;rr||null==re||re!==eo(r)||(r=\"selectionStart\"in(r=re)&&n9(r)?{start:r.selectionStart,end:r.selectionEnd}:{anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},rn&&n2(rn,r)||(rn=r,0<(r=rM(rt,\"onSelect\")).length&&(t=new na(\"onSelect\",\"select\",null,t,n),e.push({event:t,listeners:r}),t.target=re)))}function ra(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[\"Webkit\"+e]=\"webkit\"+t,n[\"Moz\"+e]=\"moz\"+t,n}var rl={animationend:ra(\"Animation\",\"AnimationEnd\"),animationiteration:ra(\"Animation\",\"AnimationIteration\"),animationstart:ra(\"Animation\",\"AnimationStart\"),transitionend:ra(\"Transition\",\"TransitionEnd\")},ri={},rs={};function ru(e){if(ri[e])return ri[e];if(!rl[e])return e;var t,n=rl[e];for(t in n)if(n.hasOwnProperty(t)&&t in rs)return ri[e]=n[t];return e}g&&(rs=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete rl.animationend.animation,delete rl.animationiteration.animation,delete rl.animationstart.animation),\"TransitionEvent\"in window||delete rl.transitionend.transition);var rc=ru(\"animationend\"),rf=ru(\"animationiteration\"),rd=ru(\"animationstart\"),rp=ru(\"transitionend\"),rm=new Map,rh=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");function rg(e,t){rm.set(e,t),m(t,[e])}for(var ry=0;ry<rh.length;ry++){var rb=rh[ry];rg(rb.toLowerCase(),\"on\"+(rb[0].toUpperCase()+rb.slice(1)))}rg(rc,\"onAnimationEnd\"),rg(rf,\"onAnimationIteration\"),rg(rd,\"onAnimationStart\"),rg(\"dblclick\",\"onDoubleClick\"),rg(\"focusin\",\"onFocus\"),rg(\"focusout\",\"onBlur\"),rg(rp,\"onTransitionEnd\"),h(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]),h(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]),h(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]),h(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]),m(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \")),m(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \")),m(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]),m(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \")),m(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \")),m(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var rv=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),rS=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(rv));function rE(e,t,n){var r=e.type||\"unknown-event\";e.currentTarget=n,eY(r,t,void 0,e),e.currentTarget=null}function r_(e,t){t=0!=(4&t);for(var n=0;n<e.length;n++){var r=e[n],o=r.event;r=r.listeners;e:{var a=void 0;if(t)for(var l=r.length-1;0<=l;l--){var i=r[l],s=i.instance,u=i.currentTarget;if(i=i.listener,s!==a&&o.isPropagationStopped())break e;rE(o,i,u),a=s}else for(l=0;l<r.length;l++){if(s=(i=r[l]).instance,u=i.currentTarget,i=i.listener,s!==a&&o.isPropagationStopped())break e;rE(o,i,u),a=s}}}if(eq)throw e=eK,eq=!1,eK=null,e}function rk(e,t){var n=t[rZ];void 0===n&&(n=t[rZ]=new Set);var r=e+\"__bubble\";n.has(r)||(rT(t,e,2,!1),n.add(r))}function rw(e,t,n){var r=0;t&&(r|=4),rT(n,e,r,t)}var rN=\"_reactListening\"+Math.random().toString(36).slice(2);function rR(e){if(!e[rN]){e[rN]=!0,d.forEach(function(t){\"selectionchange\"!==t&&(rS.has(t)||rw(t,!1,e),rw(t,!0,e))});var t=9===e.nodeType?e:e.ownerDocument;null===t||t[rN]||(t[rN]=!0,rw(\"selectionchange\",!1,t))}}function rT(e,t,n,r){switch(t2(t)){case 1:var o=tY;break;case 4:o=tJ;break;default:o=tZ}n=o.bind(null,t,n,e),o=void 0,eH&&(\"touchstart\"===t||\"touchmove\"===t||\"wheel\"===t)&&(o=!0),r?void 0!==o?e.addEventListener(t,n,{capture:!0,passive:o}):e.addEventListener(t,n,!0):void 0!==o?e.addEventListener(t,n,{passive:o}):e.addEventListener(t,n,!1)}function rx(e,t,n,r,o){var a=r;if(0==(1&t)&&0==(2&t)&&null!==r)e:for(;;){if(null===r)return;var l=r.tag;if(3===l||4===l){var i=r.stateNode.containerInfo;if(i===o||8===i.nodeType&&i.parentNode===o)break;if(4===l)for(l=r.return;null!==l;){var s=l.tag;if((3===s||4===s)&&((s=l.stateNode.containerInfo)===o||8===s.nodeType&&s.parentNode===o))return;l=l.return}for(;null!==i;){if(null===(l=r2(i)))return;if(5===(s=l.tag)||6===s){r=a=l;continue e}i=i.parentNode}}r=r.return}ez(function(){var r=a,o=eM(n),l=[];e:{var i=rm.get(e);if(void 0!==i){var s=na,u=e;switch(e){case\"keypress\":if(0===t9(n))break e;case\"keydown\":case\"keyup\":s=nS;break;case\"focusin\":u=\"focus\",s=nf;break;case\"focusout\":u=\"blur\",s=nf;break;case\"beforeblur\":case\"afterblur\":s=nf;break;case\"click\":if(2===n.button)break e;case\"auxclick\":case\"dblclick\":case\"mousedown\":case\"mousemove\":case\"mouseup\":case\"mouseout\":case\"mouseover\":case\"contextmenu\":s=nu;break;case\"drag\":case\"dragend\":case\"dragenter\":case\"dragexit\":case\"dragleave\":case\"dragover\":case\"dragstart\":case\"drop\":s=nc;break;case\"touchcancel\":case\"touchend\":case\"touchmove\":case\"touchstart\":s=n_;break;case rc:case rf:case rd:s=nd;break;case rp:s=nk;break;case\"scroll\":s=ni;break;case\"wheel\":s=nw;break;case\"copy\":case\"cut\":case\"paste\":s=np;break;case\"gotpointercapture\":case\"lostpointercapture\":case\"pointercancel\":case\"pointerdown\":case\"pointermove\":case\"pointerout\":case\"pointerover\":case\"pointerup\":s=nE}var c=0!=(4&t),f=!c&&\"scroll\"===e,d=c?null!==i?i+\"Capture\":null:i;c=[];for(var p,m=r;null!==m;){var h=(p=m).stateNode;if(5===p.tag&&null!==h&&(p=h,null!==d&&null!=(h=ej(m,d))&&c.push(rI(m,h,p))),f)break;m=m.return}0<c.length&&(i=new s(i,u,null,n,o),l.push({event:i,listeners:c}))}}if(0==(7&t)){if((i=\"mouseover\"===e||\"pointerover\"===e,s=\"mouseout\"===e||\"pointerout\"===e,!(i&&n!==eI&&(u=n.relatedTarget||n.fromElement)&&(r2(u)||u[rJ])))&&(s||i)&&(i=o.window===o?o:(i=o.ownerDocument)?i.defaultView||i.parentWindow:window,s?(u=n.relatedTarget||n.toElement,s=r,null!==(u=u?r2(u):null)&&(f=eJ(u),u!==f||5!==u.tag&&6!==u.tag)&&(u=null)):(s=null,u=r),s!==u)){if(c=nu,h=\"onMouseLeave\",d=\"onMouseEnter\",m=\"mouse\",(\"pointerout\"===e||\"pointerover\"===e)&&(c=nE,h=\"onPointerLeave\",d=\"onPointerEnter\",m=\"pointer\"),f=null==s?i:r6(s),p=null==u?i:r6(u),(i=new c(h,m+\"leave\",s,n,o)).target=f,i.relatedTarget=p,h=null,r2(o)===r&&((c=new c(d,m+\"enter\",u,n,o)).target=p,c.relatedTarget=f,h=c),f=h,s&&u)t:{for(c=s,d=u,m=0,p=c;p;p=rP(p))m++;for(p=0,h=d;h;h=rP(h))p++;for(;0<m-p;)c=rP(c),m--;for(;0<p-m;)d=rP(d),p--;for(;m--;){if(c===d||null!==d&&c===d.alternate)break t;c=rP(c),d=rP(d)}c=null}else c=null;null!==s&&rC(l,i,s,c,!1),null!==u&&null!==f&&rC(l,f,u,c,!0)}e:{if(\"select\"===(s=(i=r?r6(r):window).nodeName&&i.nodeName.toLowerCase())||\"input\"===s&&\"file\"===i.type)var g,y=nV;else if(nD(i))if(nW)y=nZ;else{y=nY;var b=nX}else(s=i.nodeName)&&\"input\"===s.toLowerCase()&&(\"checkbox\"===i.type||\"radio\"===i.type)&&(y=nJ);if(y&&(y=y(e,r))){nU(l,y,n,o);break e}b&&b(e,i,r),\"focusout\"===e&&(b=i._wrapperState)&&b.controlled&&\"number\"===i.type&&ec(i,\"number\",i.value)}switch(b=r?r6(r):window,e){case\"focusin\":(nD(b)||\"true\"===b.contentEditable)&&(re=b,rt=r,rn=null);break;case\"focusout\":rn=rt=re=null;break;case\"mousedown\":rr=!0;break;case\"contextmenu\":case\"mouseup\":case\"dragend\":rr=!1,ro(l,n,o);break;case\"selectionchange\":if(n7)break;case\"keydown\":case\"keyup\":ro(l,n,o)}if(nR)t:{switch(e){case\"compositionstart\":var v=\"onCompositionStart\";break t;case\"compositionend\":v=\"onCompositionEnd\";break t;case\"compositionupdate\":v=\"onCompositionUpdate\";break t}v=void 0}else nA?nC(e,n)&&(v=\"onCompositionEnd\"):\"keydown\"===e&&229===n.keyCode&&(v=\"onCompositionStart\");v&&(nI&&\"ko\"!==n.locale&&(nA||\"onCompositionStart\"!==v?\"onCompositionEnd\"===v&&nA&&(g=t8()):(t6=\"value\"in(t3=o)?t3.value:t3.textContent,nA=!0)),0<(b=rM(r,v)).length&&(v=new nm(v,e,null,n,o),l.push({event:v,listeners:b}),g?v.data=g:null!==(g=nO(n))&&(v.data=g))),(g=nx?nL(e,n):nF(e,n))&&0<(r=rM(r,\"onBeforeInput\")).length&&(o=new nm(\"onBeforeInput\",\"beforeinput\",null,n,o),l.push({event:o,listeners:r}),o.data=g)}r_(l,t)})}function rI(e,t,n){return{instance:e,listener:t,currentTarget:n}}function rM(e,t){for(var n=t+\"Capture\",r=[];null!==e;){var o=e,a=o.stateNode;5===o.tag&&null!==a&&(o=a,null!=(a=ej(e,n))&&r.unshift(rI(e,a,o)),null!=(a=ej(e,t))&&r.push(rI(e,a,o))),e=e.return}return r}function rP(e){if(null===e)return null;do e=e.return;while(e&&5!==e.tag);return e||null}function rC(e,t,n,r,o){for(var a=t._reactName,l=[];null!==n&&n!==r;){var i=n,s=i.alternate,u=i.stateNode;if(null!==s&&s===r)break;5===i.tag&&null!==u&&(i=u,o?null!=(s=ej(n,a))&&l.unshift(rI(n,s,i)):o||null!=(s=ej(n,a))&&l.push(rI(n,s,i))),n=n.return}0!==l.length&&e.push({event:t,listeners:l})}var rO=/\\r\\n?/g,rA=/\\u0000|\\uFFFD/g;function rL(e){return(\"string\"==typeof e?e:\"\"+e).replace(rO,\"\\n\").replace(rA,\"\")}function rF(e,t,n){if(t=rL(t),rL(e)!==t&&n)throw Error(f(425))}function r$(){}var rD=null,rU=null;function rz(e,t){return\"textarea\"===e||\"noscript\"===e||\"string\"==typeof t.children||\"number\"==typeof t.children||\"object\"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var rj=\"function\"==typeof setTimeout?setTimeout:void 0,rH=\"function\"==typeof clearTimeout?clearTimeout:void 0,rG=\"function\"==typeof Promise?Promise:void 0,rV=\"function\"==typeof queueMicrotask?queueMicrotask:void 0!==rG?function(e){return rG.resolve(null).then(e).catch(rW)}:rj;function rW(e){setTimeout(function(){throw e})}function rB(e,t){var n=t,r=0;do{var o=n.nextSibling;if(e.removeChild(n),o&&8===o.nodeType)if(\"/$\"===(n=o.data)){if(0===r){e.removeChild(o),tK(t);return}r--}else\"$\"!==n&&\"$?\"!==n&&\"$!\"!==n||r++;n=o}while(n);tK(t)}function rq(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if(\"$\"===(t=e.data)||\"$!\"===t||\"$?\"===t)break;if(\"/$\"===t)return null}}return e}function rK(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if(\"$\"===n||\"$!\"===n||\"$?\"===n){if(0===t)return e;t--}else\"/$\"===n&&t++}e=e.previousSibling}return null}var rQ=Math.random().toString(36).slice(2),rX=\"__reactFiber$\"+rQ,rY=\"__reactProps$\"+rQ,rJ=\"__reactContainer$\"+rQ,rZ=\"__reactEvents$\"+rQ,r0=\"__reactListeners$\"+rQ,r1=\"__reactHandles$\"+rQ;function r2(e){var t=e[rX];if(t)return t;for(var n=e.parentNode;n;){if(t=n[rJ]||n[rX]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=rK(e);null!==e;){if(n=e[rX])return n;e=rK(e)}return t}n=(e=n).parentNode}return null}function r3(e){return(e=e[rX]||e[rJ])&&(5===e.tag||6===e.tag||13===e.tag||3===e.tag)?e:null}function r6(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(f(33))}function r4(e){return e[rY]||null}var r8=[],r9=-1;function r5(e){return{current:e}}function r7(e){0>r9||(e.current=r8[r9],r8[r9]=null,r9--)}function oe(e,t){r8[++r9]=e.current,e.current=t}var ot={},on=r5(ot),or=r5(!1),oo=ot;function oa(e,t){var n=e.type.contextTypes;if(!n)return ot;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in n)a[o]=t[o];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function ol(e){return null!=(e=e.childContextTypes)}function oi(){r7(or),r7(on)}function os(e,t,n){if(on.current!==ot)throw Error(f(168));oe(on,t),oe(or,n)}function ou(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,\"function\"!=typeof r.getChildContext)return n;for(var o in r=r.getChildContext())if(!(o in t))throw Error(f(108,J(e)||\"Unknown\",o));return B({},n,r)}function oc(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||ot,oo=on.current,oe(on,e),oe(or,or.current),!0}function of(e,t,n){var r=e.stateNode;if(!r)throw Error(f(169));n?(r.__reactInternalMemoizedMergedChildContext=e=ou(e,t,oo),r7(or),r7(on),oe(on,e)):r7(or),oe(or,n)}var od=null,op=!1,om=!1;function oh(e){null===od?od=[e]:od.push(e)}function og(e){op=!0,oh(e)}function oy(){if(!om&&null!==od){om=!0;var e=0,t=tw;try{var n=od;for(tw=1;e<n.length;e++){var r=n[e];do r=r(!0);while(null!==r)}od=null,op=!1}catch(t){throw null!==od&&(od=od.slice(e+1)),e6(te,oy),t}finally{tw=t,om=!1}}return null}var ob=[],ov=0,oS=null,oE=0,o_=[],ok=0,ow=null,oN=1,oR=\"\";function oT(e,t){ob[ov++]=oE,ob[ov++]=oS,oS=e,oE=t}function ox(e,t,n){o_[ok++]=oN,o_[ok++]=oR,o_[ok++]=ow,ow=e;var r=oN;e=oR;var o=32-ts(r)-1;r&=~(1<<o),n+=1;var a=32-ts(t)+o;if(30<a){var l=o-o%5;a=(r&(1<<l)-1).toString(32),r>>=l,o-=l,oN=1<<32-ts(t)+o|n<<o|r,oR=a+e}else oN=1<<a|n<<o|r,oR=e}function oI(e){null!==e.return&&(oT(e,1),ox(e,1,0))}function oM(e){for(;e===oS;)oS=ob[--ov],ob[ov]=null,oE=ob[--ov],ob[ov]=null;for(;e===ow;)ow=o_[--ok],o_[ok]=null,oR=o_[--ok],o_[ok]=null,oN=o_[--ok],o_[ok]=null}var oP=null,oC=null,oO=!1,oA=null;function oL(e,t){var n=sE(5,null,null,0);n.elementType=\"DELETED\",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function oF(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,oP=e,oC=rq(t.firstChild),!0);case 6:return null!==(t=\"\"===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,oP=e,oC=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(e.memoizedState={dehydrated:t,treeContext:n=null!==ow?{id:oN,overflow:oR}:null,retryLane:0x40000000},(n=sE(18,null,null,0)).stateNode=t,n.return=e,e.child=n,oP=e,oC=null,!0);default:return!1}}function o$(e){return 0!=(1&e.mode)&&0==(128&e.flags)}function oD(e){if(oO){var t=oC;if(t){var n=t;if(!oF(e,t)){if(o$(e))throw Error(f(418));t=rq(n.nextSibling);var r=oP;t&&oF(e,t)?oL(r,n):(e.flags=-4097&e.flags|2,oO=!1,oP=e)}}else{if(o$(e))throw Error(f(418));e.flags=-4097&e.flags|2,oO=!1,oP=e}}}function oU(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;oP=e}function oz(e){if(e!==oP)return!1;if(!oO)return oU(e),oO=!0,!1;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t=\"head\"!==(t=e.type)&&\"body\"!==t&&!rz(e.type,e.memoizedProps)),t&&(t=oC)){if(o$(e))throw oj(),Error(f(418));for(;t;)oL(e,t),t=rq(t.nextSibling)}if(oU(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(f(317));e:{for(t=0,e=e.nextSibling;e;){if(8===e.nodeType){var t,n=e.data;if(\"/$\"===n){if(0===t){oC=rq(e.nextSibling);break e}t--}else\"$\"!==n&&\"$!\"!==n&&\"$?\"!==n||t++}e=e.nextSibling}oC=null}}else oC=oP?rq(e.stateNode.nextSibling):null;return!0}function oj(){for(var e=oC;e;)e=rq(e.nextSibling)}function oH(){oC=oP=null,oO=!1}function oG(e){null===oA?oA=[e]:oA.push(e)}var oV=I.ReactCurrentBatchConfig;function oW(e,t,n){if(null!==(e=n.ref)&&\"function\"!=typeof e&&\"object\"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(f(309));var r=n.stateNode}if(!r)throw Error(f(147,e));var o=r,a=\"\"+e;return null!==t&&null!==t.ref&&\"function\"==typeof t.ref&&t.ref._stringRef===a?t.ref:((t=function(e){var t=o.refs;null===e?delete t[a]:t[a]=e})._stringRef=a,t)}if(\"string\"!=typeof e)throw Error(f(284));if(!n._owner)throw Error(f(290,e))}return e}function oB(e,t){throw Error(f(31,\"[object Object]\"===(e=Object.prototype.toString.call(t))?\"object with keys {\"+Object.keys(t).join(\", \")+\"}\":e))}function oq(e){return(0,e._init)(e._payload)}function oK(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function o(e,t){return(e=sw(e,t)).index=0,e.sibling=null,e}function a(t,n,r){return(t.index=r,e)?null!==(r=t.alternate)?(r=r.index)<n?(t.flags|=2,n):r:(t.flags|=2,n):(t.flags|=1048576,n)}function l(t){return e&&null===t.alternate&&(t.flags|=2),t}function i(e,t,n,r){return null===t||6!==t.tag?(t=sx(n,e.mode,r)).return=e:(t=o(t,n)).return=e,t}function s(e,t,n,r){var a=n.type;return a===C?c(e,t,n.props.children,r,n.key):(null!==t&&(t.elementType===a||\"object\"==typeof a&&null!==a&&a.$$typeof===j&&oq(a)===t.type)?(r=o(t,n.props)).ref=oW(e,t,n):(r=sN(n.type,n.key,n.props,null,e.mode,r)).ref=oW(e,t,n),r.return=e,r)}function u(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?(t=sI(n,e.mode,r)).return=e:(t=o(t,n.children||[])).return=e,t}function c(e,t,n,r,a){return null===t||7!==t.tag?(t=sR(n,e.mode,r,a)).return=e:(t=o(t,n)).return=e,t}function d(e,t,n){if(\"string\"==typeof t&&\"\"!==t||\"number\"==typeof t)return(t=sx(\"\"+t,e.mode,n)).return=e,t;if(\"object\"==typeof t&&null!==t){switch(t.$$typeof){case M:return(n=sN(t.type,t.key,t.props,null,e.mode,n)).ref=oW(e,null,t),n.return=e,n;case P:return(t=sI(t,e.mode,n)).return=e,t;case j:return d(e,(0,t._init)(t._payload),n)}if(ef(t)||V(t))return(t=sR(t,e.mode,n,null)).return=e,t;oB(e,t)}return null}function p(e,t,n,r){var o=null!==t?t.key:null;if(\"string\"==typeof n&&\"\"!==n||\"number\"==typeof n)return null!==o?null:i(e,t,\"\"+n,r);if(\"object\"==typeof n&&null!==n){switch(n.$$typeof){case M:return n.key===o?s(e,t,n,r):null;case P:return n.key===o?u(e,t,n,r):null;case j:return p(e,t,(o=n._init)(n._payload),r)}if(ef(n)||V(n))return null!==o?null:c(e,t,n,r,null);oB(e,n)}return null}function m(e,t,n,r,o){if(\"string\"==typeof r&&\"\"!==r||\"number\"==typeof r)return i(t,e=e.get(n)||null,\"\"+r,o);if(\"object\"==typeof r&&null!==r){switch(r.$$typeof){case M:return s(t,e=e.get(null===r.key?n:r.key)||null,r,o);case P:return u(t,e=e.get(null===r.key?n:r.key)||null,r,o);case j:return m(e,t,n,(0,r._init)(r._payload),o)}if(ef(r)||V(r))return c(t,e=e.get(n)||null,r,o,null);oB(t,r)}return null}function h(o,l,i,s){for(var u=null,c=null,f=l,h=l=0,g=null;null!==f&&h<i.length;h++){f.index>h?(g=f,f=null):g=f.sibling;var y=p(o,f,i[h],s);if(null===y){null===f&&(f=g);break}e&&f&&null===y.alternate&&t(o,f),l=a(y,l,h),null===c?u=y:c.sibling=y,c=y,f=g}if(h===i.length)return n(o,f),oO&&oT(o,h),u;if(null===f){for(;h<i.length;h++)null!==(f=d(o,i[h],s))&&(l=a(f,l,h),null===c?u=f:c.sibling=f,c=f);return oO&&oT(o,h),u}for(f=r(o,f);h<i.length;h++)null!==(g=m(f,o,h,i[h],s))&&(e&&null!==g.alternate&&f.delete(null===g.key?h:g.key),l=a(g,l,h),null===c?u=g:c.sibling=g,c=g);return e&&f.forEach(function(e){return t(o,e)}),oO&&oT(o,h),u}function g(o,l,i,s){var u=V(i);if(\"function\"!=typeof u)throw Error(f(150));if(null==(i=u.call(i)))throw Error(f(151));for(var c=u=null,h=l,g=l=0,y=null,b=i.next();null!==h&&!b.done;g++,b=i.next()){h.index>g?(y=h,h=null):y=h.sibling;var v=p(o,h,b.value,s);if(null===v){null===h&&(h=y);break}e&&h&&null===v.alternate&&t(o,h),l=a(v,l,g),null===c?u=v:c.sibling=v,c=v,h=y}if(b.done)return n(o,h),oO&&oT(o,g),u;if(null===h){for(;!b.done;g++,b=i.next())null!==(b=d(o,b.value,s))&&(l=a(b,l,g),null===c?u=b:c.sibling=b,c=b);return oO&&oT(o,g),u}for(h=r(o,h);!b.done;g++,b=i.next())null!==(b=m(h,o,g,b.value,s))&&(e&&null!==b.alternate&&h.delete(null===b.key?g:b.key),l=a(b,l,g),null===c?u=b:c.sibling=b,c=b);return e&&h.forEach(function(e){return t(o,e)}),oO&&oT(o,g),u}function y(e,r,a,i){if(\"object\"==typeof a&&null!==a&&a.type===C&&null===a.key&&(a=a.props.children),\"object\"==typeof a&&null!==a){switch(a.$$typeof){case M:e:{for(var s=a.key,u=r;null!==u;){if(u.key===s){if((s=a.type)===C){if(7===u.tag){n(e,u.sibling),(r=o(u,a.props.children)).return=e,e=r;break e}}else if(u.elementType===s||\"object\"==typeof s&&null!==s&&s.$$typeof===j&&oq(s)===u.type){n(e,u.sibling),(r=o(u,a.props)).ref=oW(e,u,a),r.return=e,e=r;break e}n(e,u);break}t(e,u),u=u.sibling}a.type===C?((r=sR(a.props.children,e.mode,i,a.key)).return=e,e=r):((i=sN(a.type,a.key,a.props,null,e.mode,i)).ref=oW(e,r,a),i.return=e,e=i)}return l(e);case P:e:{for(u=a.key;null!==r;){if(r.key===u)if(4===r.tag&&r.stateNode.containerInfo===a.containerInfo&&r.stateNode.implementation===a.implementation){n(e,r.sibling),(r=o(r,a.children||[])).return=e,e=r;break e}else{n(e,r);break}t(e,r),r=r.sibling}(r=sI(a,e.mode,i)).return=e,e=r}return l(e);case j:return y(e,r,(u=a._init)(a._payload),i)}if(ef(a))return h(e,r,a,i);if(V(a))return g(e,r,a,i);oB(e,a)}return\"string\"==typeof a&&\"\"!==a||\"number\"==typeof a?(a=\"\"+a,null!==r&&6===r.tag?(n(e,r.sibling),(r=o(r,a)).return=e):(n(e,r),(r=sx(a,e.mode,i)).return=e),l(e=r)):n(e,r)}return y}var oQ=oK(!0),oX=oK(!1),oY=r5(null),oJ=null,oZ=null,o0=null;function o1(){o0=oZ=oJ=null}function o2(e){var t=oY.current;r7(oY),e._currentValue=t}function o3(e,t,n){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==r&&(r.childLanes|=t)):null!==r&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function o6(e,t){oJ=e,o0=oZ=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!=(e.lanes&t)&&(lT=!0),e.firstContext=null)}function o4(e){var t=e._currentValue;if(o0!==e)if(e={context:e,memoizedValue:t,next:null},null===oZ){if(null===oJ)throw Error(f(308));oZ=e,oJ.dependencies={lanes:0,firstContext:e}}else oZ=oZ.next=e;return t}var o8=null;function o9(e){null===o8?o8=[e]:o8.push(e)}function o5(e,t,n,r){var o=t.interleaved;return null===o?(n.next=n,o9(t)):(n.next=o.next,o.next=n),t.interleaved=n,o7(e,r)}function o7(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var ae=!1;function at(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function an(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function ar(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function ao(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,0!=(2&iR)){var o=r.pending;return null===o?t.next=t:(t.next=o.next,o.next=t),r.pending=t,o7(e,n)}return null===(o=r.interleaved)?(t.next=t,o9(r)):(t.next=o.next,o.next=t),r.interleaved=t,o7(e,n)}function aa(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,0!=(4194240&n))){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,tk(e,n)}}function al(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var o=null,a=null;if(null!==(n=n.firstBaseUpdate)){do{var l={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===a?o=a=l:a=a.next=l,n=n.next}while(null!==n);null===a?o=a=t:a=a.next=t}else o=a=t;n={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:a,shared:r.shared,effects:r.effects},e.updateQueue=n;return}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function ai(e,t,n,r){var o=e.updateQueue;ae=!1;var a=o.firstBaseUpdate,l=o.lastBaseUpdate,i=o.shared.pending;if(null!==i){o.shared.pending=null;var s=i,u=s.next;s.next=null,null===l?a=u:l.next=u,l=s;var c=e.alternate;null!==c&&(i=(c=c.updateQueue).lastBaseUpdate)!==l&&(null===i?c.firstBaseUpdate=u:i.next=u,c.lastBaseUpdate=s)}if(null!==a){var f=o.baseState;for(l=0,c=u=s=null,i=a;;){var d=i.lane,p=i.eventTime;if((r&d)===d){null!==c&&(c=c.next={eventTime:p,lane:0,tag:i.tag,payload:i.payload,callback:i.callback,next:null});e:{var m=e,h=i;switch(d=t,p=n,h.tag){case 1:if(\"function\"==typeof(m=h.payload)){f=m.call(p,f,d);break e}f=m;break e;case 3:m.flags=-65537&m.flags|128;case 0:if(null==(d=\"function\"==typeof(m=h.payload)?m.call(p,f,d):m))break e;f=B({},f,d);break e;case 2:ae=!0}}null!==i.callback&&0!==i.lane&&(e.flags|=64,null===(d=o.effects)?o.effects=[i]:d.push(i))}else p={eventTime:p,lane:d,tag:i.tag,payload:i.payload,callback:i.callback,next:null},null===c?(u=c=p,s=f):c=c.next=p,l|=d;if(null===(i=i.next))if(null===(i=o.shared.pending))break;else i=(d=i).next,d.next=null,o.lastBaseUpdate=d,o.shared.pending=null}if(null===c&&(s=f),o.baseState=s,o.firstBaseUpdate=u,o.lastBaseUpdate=c,null!==(t=o.shared.interleaved)){o=t;do l|=o.lane,o=o.next;while(o!==t)}else null===a&&(o.shared.lanes=0);iA|=l,e.lanes=l,e.memoizedState=f}}function as(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],o=r.callback;if(null!==o){if(r.callback=null,r=n,\"function\"!=typeof o)throw Error(f(191,o));o.call(r)}}}var au={},ac=r5(au),af=r5(au),ad=r5(au);function ap(e){if(e===au)throw Error(f(174));return e}function am(e,t){switch(oe(ad,t),oe(af,e),oe(ac,au),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:eb(null,\"\");break;default:t=eb(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}r7(ac),oe(ac,t)}function ah(){r7(ac),r7(af),r7(ad)}function ag(e){ap(ad.current);var t=ap(ac.current),n=eb(t,e.type);t!==n&&(oe(af,e),oe(ac,n))}function ay(e){af.current===e&&(r7(ac),r7(af))}var ab=r5(0);function av(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||\"$?\"===n.data||\"$!\"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var aS=[];function aE(){for(var e=0;e<aS.length;e++)aS[e]._workInProgressVersionPrimary=null;aS.length=0}var a_=I.ReactCurrentDispatcher,ak=I.ReactCurrentBatchConfig,aw=0,aN=null,aR=null,aT=null,ax=!1,aI=!1,aM=0,aP=0;function aC(){throw Error(f(321))}function aO(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!n1(e[n],t[n]))return!1;return!0}function aA(e,t,n,r,o,a){if(aw=a,aN=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,a_.current=null===e||null===e.memoizedState?li:ls,e=n(r,o),aI){a=0;do{if(aI=!1,aM=0,25<=a)throw Error(f(301));a+=1,aT=aR=null,t.updateQueue=null,a_.current=lu,e=n(r,o)}while(aI)}if(a_.current=ll,t=null!==aR&&null!==aR.next,aw=0,aT=aR=aN=null,ax=!1,t)throw Error(f(300));return e}function aL(){var e=0!==aM;return aM=0,e}function aF(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===aT?aN.memoizedState=aT=e:aT=aT.next=e,aT}function a$(){if(null===aR){var e=aN.alternate;e=null!==e?e.memoizedState:null}else e=aR.next;var t=null===aT?aN.memoizedState:aT.next;if(null!==t)aT=t,aR=e;else{if(null===e)throw Error(f(310));e={memoizedState:(aR=e).memoizedState,baseState:aR.baseState,baseQueue:aR.baseQueue,queue:aR.queue,next:null},null===aT?aN.memoizedState=aT=e:aT=aT.next=e}return aT}function aD(e,t){return\"function\"==typeof t?t(e):t}function aU(e){var t=a$(),n=t.queue;if(null===n)throw Error(f(311));n.lastRenderedReducer=e;var r=aR,o=r.baseQueue,a=n.pending;if(null!==a){if(null!==o){var l=o.next;o.next=a.next,a.next=l}r.baseQueue=o=a,n.pending=null}if(null!==o){a=o.next,r=r.baseState;var i=l=null,s=null,u=a;do{var c=u.lane;if((aw&c)===c)null!==s&&(s=s.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),r=u.hasEagerState?u.eagerState:e(r,u.action);else{var d={lane:c,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};null===s?(i=s=d,l=r):s=s.next=d,aN.lanes|=c,iA|=c}u=u.next}while(null!==u&&u!==a);null===s?l=r:s.next=i,n1(r,t.memoizedState)||(lT=!0),t.memoizedState=r,t.baseState=l,t.baseQueue=s,n.lastRenderedState=r}if(null!==(e=n.interleaved)){o=e;do a=o.lane,aN.lanes|=a,iA|=a,o=o.next;while(o!==e)}else null===o&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function az(e){var t=a$(),n=t.queue;if(null===n)throw Error(f(311));n.lastRenderedReducer=e;var r=n.dispatch,o=n.pending,a=t.memoizedState;if(null!==o){n.pending=null;var l=o=o.next;do a=e(a,l.action),l=l.next;while(l!==o);n1(a,t.memoizedState)||(lT=!0),t.memoizedState=a,null===t.baseQueue&&(t.baseState=a),n.lastRenderedState=a}return[a,r]}function aj(){}function aH(e,t){var n=aN,r=a$(),o=t(),a=!n1(r.memoizedState,o);if(a&&(r.memoizedState=o,lT=!0),r=r.queue,a0(aW.bind(null,n,r,e),[e]),r.getSnapshot!==t||a||null!==aT&&1&aT.memoizedState.tag){if(n.flags|=2048,aQ(9,aV.bind(null,n,r,o,t),void 0,null),null===iT)throw Error(f(349));0!=(30&aw)||aG(n,t,o)}return o}function aG(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=aN.updateQueue)?(t={lastEffect:null,stores:null},aN.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function aV(e,t,n,r){t.value=n,t.getSnapshot=r,aB(t)&&aq(e)}function aW(e,t,n){return n(function(){aB(t)&&aq(e)})}function aB(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!n1(e,n)}catch(e){return!0}}function aq(e){var t=o7(e,1);null!==t&&i0(t,e,1,-1)}function aK(e){var t=aF();return\"function\"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,t.queue=e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:aD,lastRenderedState:e},e=e.dispatch=ln.bind(null,aN,e),[t.memoizedState,e]}function aQ(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=aN.updateQueue)?(t={lastEffect:null,stores:null},aN.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function aX(){return a$().memoizedState}function aY(e,t,n,r){var o=aF();aN.flags|=e,o.memoizedState=aQ(1|t,n,void 0,void 0===r?null:r)}function aJ(e,t,n,r){var o=a$();r=void 0===r?null:r;var a=void 0;if(null!==aR){var l=aR.memoizedState;if(a=l.destroy,null!==r&&aO(r,l.deps)){o.memoizedState=aQ(t,n,a,r);return}}aN.flags|=e,o.memoizedState=aQ(1|t,n,a,r)}function aZ(e,t){return aY(8390656,8,e,t)}function a0(e,t){return aJ(2048,8,e,t)}function a1(e,t){return aJ(4,2,e,t)}function a2(e,t){return aJ(4,4,e,t)}function a3(e,t){return\"function\"==typeof t?(t(e=e()),function(){t(null)}):null!=t?(t.current=e=e(),function(){t.current=null}):void 0}function a6(e,t,n){return n=null!=n?n.concat([e]):null,aJ(4,4,a3.bind(null,t,e),n)}function a4(){}function a8(e,t){var n=a$();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&aO(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function a9(e,t){var n=a$();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&aO(t,r[1])?r[0]:(n.memoizedState=[e=e(),t],e)}function a5(e,t,n){return 0==(21&aw)?(e.baseState&&(e.baseState=!1,lT=!0),e.memoizedState=n):(n1(n,t)||(n=tv(),aN.lanes|=n,iA|=n,e.baseState=!0),t)}function a7(e,t){var n=tw;tw=0!==n&&4>n?n:4,e(!0);var r=ak.transition;ak.transition={};try{e(!1),t()}finally{tw=n,ak.transition=r}}function le(){return a$().memoizedState}function lt(e,t,n){var r=iZ(e);n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},lr(e)?lo(t,n):null!==(n=o5(e,t,n,r))&&(i0(n,e,r,iJ()),la(n,t,r))}function ln(e,t,n){var r=iZ(e),o={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(lr(e))lo(t,o);else{var a=e.alternate;if(0===e.lanes&&(null===a||0===a.lanes)&&null!==(a=t.lastRenderedReducer))try{var l=t.lastRenderedState,i=a(l,n);if(o.hasEagerState=!0,o.eagerState=i,n1(i,l)){var s=t.interleaved;null===s?(o.next=o,o9(t)):(o.next=s.next,s.next=o),t.interleaved=o;return}}catch(e){}finally{}null!==(n=o5(e,t,o,r))&&(i0(n,e,r,o=iJ()),la(n,t,r))}}function lr(e){var t=e.alternate;return e===aN||null!==t&&t===aN}function lo(e,t){aI=ax=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function la(e,t,n){if(0!=(4194240&n)){var r=t.lanes;r&=e.pendingLanes,t.lanes=n|=r,tk(e,n)}}var ll={readContext:o4,useCallback:aC,useContext:aC,useEffect:aC,useImperativeHandle:aC,useInsertionEffect:aC,useLayoutEffect:aC,useMemo:aC,useReducer:aC,useRef:aC,useState:aC,useDebugValue:aC,useDeferredValue:aC,useTransition:aC,useMutableSource:aC,useSyncExternalStore:aC,useId:aC,unstable_isNewReconciler:!1},li={readContext:o4,useCallback:function(e,t){return aF().memoizedState=[e,void 0===t?null:t],e},useContext:o4,useEffect:aZ,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,aY(4194308,4,a3.bind(null,t,e),n)},useLayoutEffect:function(e,t){return aY(4194308,4,e,t)},useInsertionEffect:function(e,t){return aY(4,2,e,t)},useMemo:function(e,t){return t=void 0===t?null:t,aF().memoizedState=[e=e(),t],e},useReducer:function(e,t,n){var r=aF();return r.memoizedState=r.baseState=t=void 0!==n?n(t):t,r.queue=e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},e=e.dispatch=lt.bind(null,aN,e),[r.memoizedState,e]},useRef:function(e){return aF().memoizedState={current:e}},useState:aK,useDebugValue:a4,useDeferredValue:function(e){return aF().memoizedState=e},useTransition:function(){var e=aK(!1),t=e[0];return e=a7.bind(null,e[1]),aF().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=aN,o=aF();if(oO){if(void 0===n)throw Error(f(407));n=n()}else{if(n=t(),null===iT)throw Error(f(349));0!=(30&aw)||aG(r,t,n)}o.memoizedState=n;var a={value:n,getSnapshot:t};return o.queue=a,aZ(aW.bind(null,r,a,e),[e]),r.flags|=2048,aQ(9,aV.bind(null,r,a,n,t),void 0,null),n},useId:function(){var e=aF(),t=iT.identifierPrefix;if(oO){var n=oR,r=oN;t=\":\"+t+\"R\"+(n=(r&~(1<<32-ts(r)-1)).toString(32)+n),0<(n=aM++)&&(t+=\"H\"+n.toString(32)),t+=\":\"}else t=\":\"+t+\"r\"+(n=aP++).toString(32)+\":\";return e.memoizedState=t},unstable_isNewReconciler:!1},ls={readContext:o4,useCallback:a8,useContext:o4,useEffect:a0,useImperativeHandle:a6,useInsertionEffect:a1,useLayoutEffect:a2,useMemo:a9,useReducer:aU,useRef:aX,useState:function(){return aU(aD)},useDebugValue:a4,useDeferredValue:function(e){return a5(a$(),aR.memoizedState,e)},useTransition:function(){return[aU(aD)[0],a$().memoizedState]},useMutableSource:aj,useSyncExternalStore:aH,useId:le,unstable_isNewReconciler:!1},lu={readContext:o4,useCallback:a8,useContext:o4,useEffect:a0,useImperativeHandle:a6,useInsertionEffect:a1,useLayoutEffect:a2,useMemo:a9,useReducer:az,useRef:aX,useState:function(){return az(aD)},useDebugValue:a4,useDeferredValue:function(e){var t=a$();return null===aR?t.memoizedState=e:a5(t,aR.memoizedState,e)},useTransition:function(){return[az(aD)[0],a$().memoizedState]},useMutableSource:aj,useSyncExternalStore:aH,useId:le,unstable_isNewReconciler:!1};function lc(e,t){if(e&&e.defaultProps)for(var n in t=B({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}function lf(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:B({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var ld={isMounted:function(e){return!!(e=e._reactInternals)&&eJ(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=iJ(),o=iZ(e),a=ar(r,o);a.payload=t,null!=n&&(a.callback=n),null!==(t=ao(e,a,o))&&(i0(t,e,o,r),aa(t,e,o))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=iJ(),o=iZ(e),a=ar(r,o);a.tag=1,a.payload=t,null!=n&&(a.callback=n),null!==(t=ao(e,a,o))&&(i0(t,e,o,r),aa(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=iJ(),r=iZ(e),o=ar(n,r);o.tag=2,null!=t&&(o.callback=t),null!==(t=ao(e,o,r))&&(i0(t,e,r,n),aa(t,e,r))}};function lp(e,t,n,r,o,a,l){return\"function\"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,a,l):!t.prototype||!t.prototype.isPureReactComponent||!n2(n,r)||!n2(o,a)}function lm(e,t,n){var r=!1,o=ot,a=t.contextType;return\"object\"==typeof a&&null!==a?a=o4(a):(o=ol(t)?oo:on.current,a=(r=null!=(r=t.contextTypes))?oa(e,o):ot),t=new t(n,a),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=ld,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=a),t}function lh(e,t,n,r){e=t.state,\"function\"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),\"function\"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&ld.enqueueReplaceState(t,t.state,null)}function lg(e,t,n,r){var o=e.stateNode;o.props=n,o.state=e.memoizedState,o.refs={},at(e);var a=t.contextType;\"object\"==typeof a&&null!==a?o.context=o4(a):o.context=oa(e,a=ol(t)?oo:on.current),o.state=e.memoizedState,\"function\"==typeof(a=t.getDerivedStateFromProps)&&(lf(e,t,a,n),o.state=e.memoizedState),\"function\"==typeof t.getDerivedStateFromProps||\"function\"==typeof o.getSnapshotBeforeUpdate||\"function\"!=typeof o.UNSAFE_componentWillMount&&\"function\"!=typeof o.componentWillMount||(t=o.state,\"function\"==typeof o.componentWillMount&&o.componentWillMount(),\"function\"==typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount(),t!==o.state&&ld.enqueueReplaceState(o,o.state,null),ai(e,n,o,r),o.state=e.memoizedState),\"function\"==typeof o.componentDidMount&&(e.flags|=4194308)}function ly(e,t){try{var n=\"\",r=t;do n+=X(r),r=r.return;while(r);var o=n}catch(e){o=\"\\nError generating stack: \"+e.message+\"\\n\"+e.stack}return{value:e,source:t,stack:o,digest:null}}function lb(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function lv(e,t){try{console.error(t.value)}catch(e){setTimeout(function(){throw e})}}var lS=\"function\"==typeof WeakMap?WeakMap:Map;function lE(e,t,n){(n=ar(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){iH||(iH=!0,iG=r),lv(e,t)},n}function l_(e,t,n){(n=ar(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if(\"function\"==typeof r){var o=t.value;n.payload=function(){return r(o)},n.callback=function(){lv(e,t)}}var a=e.stateNode;return null!==a&&\"function\"==typeof a.componentDidCatch&&(n.callback=function(){lv(e,t),\"function\"!=typeof r&&(null===iV?iV=new Set([this]):iV.add(this));var n=t.stack;this.componentDidCatch(t.value,{componentStack:null!==n?n:\"\"})}),n}function lk(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new lS;var o=new Set;r.set(t,o)}else void 0===(o=r.get(t))&&(o=new Set,r.set(t,o));o.has(n)||(o.add(n),e=sh.bind(null,e,t,n),t.then(e,e))}function lw(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function lN(e,t,n,r,o){return 0==(1&e.mode)?e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=ar(-1,1)).tag=2,ao(n,t,1))),n.lanes|=1):(e.flags|=65536,e.lanes=o),e}var lR=I.ReactCurrentOwner,lT=!1;function lx(e,t,n,r){t.child=null===e?oX(t,null,n,r):oQ(t,e.child,n,r)}function lI(e,t,n,r,o){n=n.render;var a=t.ref;return(o6(t,o),r=aA(e,t,n,r,a,o),n=aL(),null===e||lT)?(oO&&n&&oI(t),t.flags|=1,lx(e,t,r,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,lQ(e,t,o))}function lM(e,t,n,r,o){if(null===e){var a=n.type;return\"function\"!=typeof a||s_(a)||void 0!==a.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=sN(n.type,null,r,t,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=a,lP(e,t,a,r,o))}if(a=e.child,0==(e.lanes&o)){var l=a.memoizedProps;if((n=null!==(n=n.compare)?n:n2)(l,r)&&e.ref===t.ref)return lQ(e,t,o)}return t.flags|=1,(e=sw(a,r)).ref=t.ref,e.return=t,t.child=e}function lP(e,t,n,r,o){if(null!==e){var a=e.memoizedProps;if(n2(a,r)&&e.ref===t.ref)if(lT=!1,t.pendingProps=r=a,0==(e.lanes&o))return t.lanes=e.lanes,lQ(e,t,o);else 0!=(131072&e.flags)&&(lT=!0)}return lA(e,t,n,r,o)}function lC(e,t,n){var r=t.pendingProps,o=r.children,a=null!==e?e.memoizedState:null;if(\"hidden\"===r.mode)if(0==(1&t.mode))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},oe(iP,iM),iM|=n;else{if(0==(0x40000000&n))return e=null!==a?a.baseLanes|n:n,t.lanes=t.childLanes=0x40000000,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,oe(iP,iM),iM|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=null!==a?a.baseLanes:n,oe(iP,iM),iM|=r}else null!==a?(r=a.baseLanes|n,t.memoizedState=null):r=n,oe(iP,iM),iM|=r;return lx(e,t,o,n),t.child}function lO(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function lA(e,t,n,r,o){var a=ol(n)?oo:on.current;return(a=oa(t,a),o6(t,o),n=aA(e,t,n,r,a,o),r=aL(),null===e||lT)?(oO&&r&&oI(t),t.flags|=1,lx(e,t,n,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,lQ(e,t,o))}function lL(e,t,n,r,o){if(ol(n)){var a=!0;oc(t)}else a=!1;if(o6(t,o),null===t.stateNode)lK(e,t),lm(t,n,r),lg(t,n,r,o),r=!0;else if(null===e){var l=t.stateNode,i=t.memoizedProps;l.props=i;var s=l.context,u=n.contextType;u=\"object\"==typeof u&&null!==u?o4(u):oa(t,u=ol(n)?oo:on.current);var c=n.getDerivedStateFromProps,f=\"function\"==typeof c||\"function\"==typeof l.getSnapshotBeforeUpdate;f||\"function\"!=typeof l.UNSAFE_componentWillReceiveProps&&\"function\"!=typeof l.componentWillReceiveProps||(i!==r||s!==u)&&lh(t,l,r,u),ae=!1;var d=t.memoizedState;l.state=d,ai(t,r,l,o),s=t.memoizedState,i!==r||d!==s||or.current||ae?(\"function\"==typeof c&&(lf(t,n,c,r),s=t.memoizedState),(i=ae||lp(t,n,i,r,d,s,u))?(f||\"function\"!=typeof l.UNSAFE_componentWillMount&&\"function\"!=typeof l.componentWillMount||(\"function\"==typeof l.componentWillMount&&l.componentWillMount(),\"function\"==typeof l.UNSAFE_componentWillMount&&l.UNSAFE_componentWillMount()),\"function\"==typeof l.componentDidMount&&(t.flags|=4194308)):(\"function\"==typeof l.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=s),l.props=r,l.state=s,l.context=u,r=i):(\"function\"==typeof l.componentDidMount&&(t.flags|=4194308),r=!1)}else{l=t.stateNode,an(e,t),i=t.memoizedProps,u=t.type===t.elementType?i:lc(t.type,i),l.props=u,f=t.pendingProps,d=l.context,s=\"object\"==typeof(s=n.contextType)&&null!==s?o4(s):oa(t,s=ol(n)?oo:on.current);var p=n.getDerivedStateFromProps;(c=\"function\"==typeof p||\"function\"==typeof l.getSnapshotBeforeUpdate)||\"function\"!=typeof l.UNSAFE_componentWillReceiveProps&&\"function\"!=typeof l.componentWillReceiveProps||(i!==f||d!==s)&&lh(t,l,r,s),ae=!1,d=t.memoizedState,l.state=d,ai(t,r,l,o);var m=t.memoizedState;i!==f||d!==m||or.current||ae?(\"function\"==typeof p&&(lf(t,n,p,r),m=t.memoizedState),(u=ae||lp(t,n,u,r,d,m,s)||!1)?(c||\"function\"!=typeof l.UNSAFE_componentWillUpdate&&\"function\"!=typeof l.componentWillUpdate||(\"function\"==typeof l.componentWillUpdate&&l.componentWillUpdate(r,m,s),\"function\"==typeof l.UNSAFE_componentWillUpdate&&l.UNSAFE_componentWillUpdate(r,m,s)),\"function\"==typeof l.componentDidUpdate&&(t.flags|=4),\"function\"==typeof l.getSnapshotBeforeUpdate&&(t.flags|=1024)):(\"function\"!=typeof l.componentDidUpdate||i===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),\"function\"!=typeof l.getSnapshotBeforeUpdate||i===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=m),l.props=r,l.state=m,l.context=s,r=u):(\"function\"!=typeof l.componentDidUpdate||i===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),\"function\"!=typeof l.getSnapshotBeforeUpdate||i===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),r=!1)}return lF(e,t,n,r,a,o)}function lF(e,t,n,r,o,a){lO(e,t);var l=0!=(128&t.flags);if(!r&&!l)return o&&of(t,n,!1),lQ(e,t,a);r=t.stateNode,lR.current=t;var i=l&&\"function\"!=typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&l?(t.child=oQ(t,e.child,null,a),t.child=oQ(t,null,i,a)):lx(e,t,i,a),t.memoizedState=r.state,o&&of(t,n,!0),t.child}function l$(e){var t=e.stateNode;t.pendingContext?os(e,t.pendingContext,t.pendingContext!==t.context):t.context&&os(e,t.context,!1),am(e,t.containerInfo)}function lD(e,t,n,r,o){return oH(),oG(o),t.flags|=256,lx(e,t,n,r),t.child}var lU={dehydrated:null,treeContext:null,retryLane:0};function lz(e){return{baseLanes:e,cachePool:null,transitions:null}}function lj(e,t,n){var r,o=t.pendingProps,a=ab.current,l=!1,i=0!=(128&t.flags);if((r=i)||(r=(null===e||null!==e.memoizedState)&&0!=(2&a)),r?(l=!0,t.flags&=-129):(null===e||null!==e.memoizedState)&&(a|=1),oe(ab,1&a),null===e)return(oD(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated))?(0==(1&t.mode)?t.lanes=1:\"$!\"===e.data?t.lanes=8:t.lanes=0x40000000,null):(i=o.children,e=o.fallback,l?(o=t.mode,l=t.child,i={mode:\"hidden\",children:i},0==(1&o)&&null!==l?(l.childLanes=0,l.pendingProps=i):l=sT(i,o,0,null),e=sR(e,o,n,null),l.return=t,e.return=t,l.sibling=e,t.child=l,t.child.memoizedState=lz(n),t.memoizedState=lU,e):lH(t,i));if(null!==(a=e.memoizedState)&&null!==(r=a.dehydrated))return lV(e,t,i,o,r,a,n);if(l){l=o.fallback,i=t.mode,r=(a=e.child).sibling;var s={mode:\"hidden\",children:o.children};return 0==(1&i)&&t.child!==a?((o=t.child).childLanes=0,o.pendingProps=s,t.deletions=null):(o=sw(a,s)).subtreeFlags=0xe00000&a.subtreeFlags,null!==r?l=sw(r,l):(l=sR(l,i,n,null),l.flags|=2),l.return=t,o.return=t,o.sibling=l,t.child=o,o=l,l=t.child,i=null===(i=e.child.memoizedState)?lz(n):{baseLanes:i.baseLanes|n,cachePool:null,transitions:i.transitions},l.memoizedState=i,l.childLanes=e.childLanes&~n,t.memoizedState=lU,o}return e=(l=e.child).sibling,o=sw(l,{mode:\"visible\",children:o.children}),0==(1&t.mode)&&(o.lanes=n),o.return=t,o.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=o,t.memoizedState=null,o}function lH(e,t){return(t=sT({mode:\"visible\",children:t},e.mode,0,null)).return=e,e.child=t}function lG(e,t,n,r){return null!==r&&oG(r),oQ(t,e.child,null,n),e=lH(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function lV(e,t,n,r,o,a,l){if(n)return 256&t.flags?(t.flags&=-257,lG(e,t,l,r=lb(Error(f(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(a=r.fallback,o=t.mode,r=sT({mode:\"visible\",children:r.children},o,0,null),a=sR(a,o,l,null),a.flags|=2,r.return=t,a.return=t,r.sibling=a,t.child=r,0!=(1&t.mode)&&oQ(t,e.child,null,l),t.child.memoizedState=lz(l),t.memoizedState=lU,a);if(0==(1&t.mode))return lG(e,t,l,null);if(\"$!\"===o.data){if(r=o.nextSibling&&o.nextSibling.dataset)var i=r.dgst;return r=i,lG(e,t,l,r=lb(a=Error(f(419)),r,void 0))}if(i=0!=(l&e.childLanes),lT||i){if(null!==(r=iT)){switch(l&-l){case 4:o=2;break;case 16:o=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 0x1000000:case 0x2000000:case 0x4000000:o=32;break;case 0x20000000:o=0x10000000;break;default:o=0}0!==(o=0!=(o&(r.suspendedLanes|l))?0:o)&&o!==a.retryLane&&(a.retryLane=o,o7(e,o),i0(r,e,o,-1))}return so(),lG(e,t,l,r=lb(Error(f(421))))}return\"$?\"===o.data?(t.flags|=128,t.child=e.child,t=sy.bind(null,e),o._reactRetry=t,null):(e=a.treeContext,oC=rq(o.nextSibling),oP=t,oO=!0,oA=null,null!==e&&(o_[ok++]=oN,o_[ok++]=oR,o_[ok++]=ow,oN=e.id,oR=e.overflow,ow=t),t=lH(t,r.children),t.flags|=4096,t)}function lW(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),o3(e.return,t,n)}function lB(e,t,n,r,o){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:o}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=n,a.tailMode=o)}function lq(e,t,n){var r=t.pendingProps,o=r.revealOrder,a=r.tail;if(lx(e,t,r.children,n),0!=(2&(r=ab.current)))r=1&r|2,t.flags|=128;else{if(null!==e&&0!=(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&lW(e,n,t);else if(19===e.tag)lW(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(oe(ab,r),0==(1&t.mode))t.memoizedState=null;else switch(o){case\"forwards\":for(o=null,n=t.child;null!==n;)null!==(e=n.alternate)&&null===av(e)&&(o=n),n=n.sibling;null===(n=o)?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),lB(t,!1,o,n,a);break;case\"backwards\":for(n=null,o=t.child,t.child=null;null!==o;){if(null!==(e=o.alternate)&&null===av(e)){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}lB(t,!0,n,null,a);break;case\"together\":lB(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function lK(e,t){0==(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function lQ(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),iA|=t.lanes,0==(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(f(153));if(null!==t.child){for(n=sw(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=sw(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function lX(e,t,n){switch(t.tag){case 3:l$(t),oH();break;case 5:ag(t);break;case 1:ol(t.type)&&oc(t);break;case 4:am(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,o=t.memoizedProps.value;oe(oY,r._currentValue),r._currentValue=o;break;case 13:if(null!==(r=t.memoizedState)){if(null!==r.dehydrated)return oe(ab,1&ab.current),t.flags|=128,null;if(0!=(n&t.child.childLanes))return lj(e,t,n);return oe(ab,1&ab.current),null!==(e=lQ(e,t,n))?e.sibling:null}oe(ab,1&ab.current);break;case 19:if(r=0!=(n&t.childLanes),0!=(128&e.flags)){if(r)return lq(e,t,n);t.flags|=128}if(null!==(o=t.memoizedState)&&(o.rendering=null,o.tail=null,o.lastEffect=null),oe(ab,ab.current),!r)return null;break;case 22:case 23:return t.lanes=0,lC(e,t,n)}return lQ(e,t,n)}function lY(e,t){if(!oO)switch(e.tailMode){case\"hidden\":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case\"collapsed\":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function lJ(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var o=e.child;null!==o;)n|=o.lanes|o.childLanes,r|=0xe00000&o.subtreeFlags,r|=0xe00000&o.flags,o.return=e,o=o.sibling;else for(o=e.child;null!==o;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags,r|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function lZ(e,t,n){var r=t.pendingProps;switch(oM(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return lJ(t),null;case 1:case 17:return ol(t.type)&&oi(),lJ(t),null;case 3:return r=t.stateNode,ah(),r7(or),r7(on),aE(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(null===e||null===e.child)&&(oz(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&0==(256&t.flags)||(t.flags|=1024,null!==oA&&(i6(oA),oA=null))),a(e,t),lJ(t),null;case 5:ay(t);var s=ap(ad.current);if(n=t.type,null!==e&&null!=t.stateNode)l(e,t,n,r,s),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(null===t.stateNode)throw Error(f(166));return lJ(t),null}if(e=ap(ac.current),oz(t)){r=t.stateNode,n=t.type;var u=t.memoizedProps;switch(r[rX]=t,r[rY]=u,e=0!=(1&t.mode),n){case\"dialog\":rk(\"cancel\",r),rk(\"close\",r);break;case\"iframe\":case\"object\":case\"embed\":rk(\"load\",r);break;case\"video\":case\"audio\":for(s=0;s<rv.length;s++)rk(rv[s],r);break;case\"source\":rk(\"error\",r);break;case\"img\":case\"image\":case\"link\":rk(\"error\",r),rk(\"load\",r);break;case\"details\":rk(\"toggle\",r);break;case\"input\":el(r,u),rk(\"invalid\",r);break;case\"select\":r._wrapperState={wasMultiple:!!u.multiple},rk(\"invalid\",r);break;case\"textarea\":em(r,u),rk(\"invalid\",r)}for(var c in eT(n,u),s=null,u)if(u.hasOwnProperty(c)){var d=u[c];\"children\"===c?\"string\"==typeof d?r.textContent!==d&&(!0!==u.suppressHydrationWarning&&rF(r.textContent,d,e),s=[\"children\",d]):\"number\"==typeof d&&r.textContent!==\"\"+d&&(!0!==u.suppressHydrationWarning&&rF(r.textContent,d,e),s=[\"children\",\"\"+d]):p.hasOwnProperty(c)&&null!=d&&\"onScroll\"===c&&rk(\"scroll\",r)}switch(n){case\"input\":en(r),eu(r,u,!0);break;case\"textarea\":en(r),eg(r);break;case\"select\":case\"option\":break;default:\"function\"==typeof u.onClick&&(r.onclick=r$)}r=s,t.updateQueue=r,null!==r&&(t.flags|=4)}else{c=9===s.nodeType?s:s.ownerDocument,\"http://www.w3.org/1999/xhtml\"===e&&(e=ey(n)),\"http://www.w3.org/1999/xhtml\"===e?\"script\"===n?((e=c.createElement(\"div\")).innerHTML=\"<script><\\/script>\",e=e.removeChild(e.firstChild)):\"string\"==typeof r.is?e=c.createElement(n,{is:r.is}):(e=c.createElement(n),\"select\"===n&&(c=e,r.multiple?c.multiple=!0:r.size&&(c.size=r.size))):e=c.createElementNS(e,n),e[rX]=t,e[rY]=r,o(e,t,!1,!1),t.stateNode=e;e:{switch(c=ex(n,r),n){case\"dialog\":rk(\"cancel\",e),rk(\"close\",e),s=r;break;case\"iframe\":case\"object\":case\"embed\":rk(\"load\",e),s=r;break;case\"video\":case\"audio\":for(s=0;s<rv.length;s++)rk(rv[s],e);s=r;break;case\"source\":rk(\"error\",e),s=r;break;case\"img\":case\"image\":case\"link\":rk(\"error\",e),rk(\"load\",e),s=r;break;case\"details\":rk(\"toggle\",e),s=r;break;case\"input\":el(e,r),s=ea(e,r),rk(\"invalid\",e);break;case\"option\":default:s=r;break;case\"select\":e._wrapperState={wasMultiple:!!r.multiple},s=B({},r,{value:void 0}),rk(\"invalid\",e);break;case\"textarea\":em(e,r),s=ep(e,r),rk(\"invalid\",e)}for(u in eT(n,s),d=s)if(d.hasOwnProperty(u)){var m=d[u];\"style\"===u?eN(e,m):\"dangerouslySetInnerHTML\"===u?null!=(m=m?m.__html:void 0)&&eS(e,m):\"children\"===u?\"string\"==typeof m?(\"textarea\"!==n||\"\"!==m)&&eE(e,m):\"number\"==typeof m&&eE(e,\"\"+m):\"suppressContentEditableWarning\"!==u&&\"suppressHydrationWarning\"!==u&&\"autoFocus\"!==u&&(p.hasOwnProperty(u)?null!=m&&\"onScroll\"===u&&rk(\"scroll\",e):null!=m&&x(e,u,m,c))}switch(n){case\"input\":en(e),eu(e,r,!1);break;case\"textarea\":en(e),eg(e);break;case\"option\":null!=r.value&&e.setAttribute(\"value\",\"\"+Z(r.value));break;case\"select\":e.multiple=!!r.multiple,null!=(u=r.value)?ed(e,!!r.multiple,u,!1):null!=r.defaultValue&&ed(e,!!r.multiple,r.defaultValue,!0);break;default:\"function\"==typeof s.onClick&&(e.onclick=r$)}switch(n){case\"button\":case\"input\":case\"select\":case\"textarea\":r=!!r.autoFocus;break e;case\"img\":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return lJ(t),null;case 6:if(e&&null!=t.stateNode)i(e,t,e.memoizedProps,r);else{if(\"string\"!=typeof r&&null===t.stateNode)throw Error(f(166));if(n=ap(ad.current),ap(ac.current),oz(t)){if(r=t.stateNode,n=t.memoizedProps,r[rX]=t,(u=r.nodeValue!==n)&&null!==(e=oP))switch(e.tag){case 3:rF(r.nodeValue,n,0!=(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&rF(r.nodeValue,n,0!=(1&e.mode))}u&&(t.flags|=4)}else(r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[rX]=t,t.stateNode=r}return lJ(t),null;case 13:if(r7(ab),r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(oO&&null!==oC&&0!=(1&t.mode)&&0==(128&t.flags))oj(),oH(),t.flags|=98560,u=!1;else if(u=oz(t),null!==r&&null!==r.dehydrated){if(null===e){if(!u)throw Error(f(318));if(!(u=null!==(u=t.memoizedState)?u.dehydrated:null))throw Error(f(317));u[rX]=t}else oH(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4;lJ(t),u=!1}else null!==oA&&(i6(oA),oA=null),u=!0;if(!u)return 65536&t.flags?t:null}if(0!=(128&t.flags))return t.lanes=n,t;return(r=null!==r)!=(null!==e&&null!==e.memoizedState)&&r&&(t.child.flags|=8192,0!=(1&t.mode)&&(null===e||0!=(1&ab.current)?0===iC&&(iC=3):so())),null!==t.updateQueue&&(t.flags|=4),lJ(t),null;case 4:return ah(),a(e,t),null===e&&rR(t.stateNode.containerInfo),lJ(t),null;case 10:return o2(t.type._context),lJ(t),null;case 19:if(r7(ab),null===(u=t.memoizedState))return lJ(t),null;if(r=0!=(128&t.flags),null===(c=u.rendering))if(r)lY(u,!1);else{if(0!==iC||null!==e&&0!=(128&e.flags))for(e=t.child;null!==e;){if(null!==(c=av(e))){for(t.flags|=128,lY(u,!1),null!==(r=c.updateQueue)&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;null!==n;)u=n,e=r,u.flags&=0xe00002,null===(c=u.alternate)?(u.childLanes=0,u.lanes=e,u.child=null,u.subtreeFlags=0,u.memoizedProps=null,u.memoizedState=null,u.updateQueue=null,u.dependencies=null,u.stateNode=null):(u.childLanes=c.childLanes,u.lanes=c.lanes,u.child=c.child,u.subtreeFlags=0,u.deletions=null,u.memoizedProps=c.memoizedProps,u.memoizedState=c.memoizedState,u.updateQueue=c.updateQueue,u.type=c.type,e=c.dependencies,u.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return oe(ab,1&ab.current|2),t.child}e=e.sibling}null!==u.tail&&e5()>iz&&(t.flags|=128,r=!0,lY(u,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=av(c))){if(t.flags|=128,r=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),lY(u,!0),null===u.tail&&\"hidden\"===u.tailMode&&!c.alternate&&!oO)return lJ(t),null}else 2*e5()-u.renderingStartTime>iz&&0x40000000!==n&&(t.flags|=128,r=!0,lY(u,!1),t.lanes=4194304);u.isBackwards?(c.sibling=t.child,t.child=c):(null!==(n=u.last)?n.sibling=c:t.child=c,u.last=c)}if(null!==u.tail)return t=u.tail,u.rendering=t,u.tail=t.sibling,u.renderingStartTime=e5(),t.sibling=null,n=ab.current,oe(ab,r?1&n|2:1&n),t;return lJ(t),null;case 22:case 23:return se(),r=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==r&&(t.flags|=8192),r&&0!=(1&t.mode)?0!=(0x40000000&iM)&&(lJ(t),6&t.subtreeFlags&&(t.flags|=8192)):lJ(t),null;case 24:case 25:return null}throw Error(f(156,t.tag))}function l0(e,t){switch(oM(t),t.tag){case 1:return ol(t.type)&&oi(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return ah(),r7(or),r7(on),aE(),0!=(65536&(e=t.flags))&&0==(128&e)?(t.flags=-65537&e|128,t):null;case 5:return ay(t),null;case 13:if(r7(ab),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(f(340));oH()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return r7(ab),null;case 4:return ah(),null;case 10:return o2(t.type._context),null;case 22:case 23:return se(),null;default:return null}}o=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},a=function(){},l=function(e,t,n,r){var o=e.memoizedProps;if(o!==r){e=t.stateNode,ap(ac.current);var a,l=null;switch(n){case\"input\":o=ea(e,o),r=ea(e,r),l=[];break;case\"select\":o=B({},o,{value:void 0}),r=B({},r,{value:void 0}),l=[];break;case\"textarea\":o=ep(e,o),r=ep(e,r),l=[];break;default:\"function\"!=typeof o.onClick&&\"function\"==typeof r.onClick&&(e.onclick=r$)}for(u in eT(n,r),n=null,o)if(!r.hasOwnProperty(u)&&o.hasOwnProperty(u)&&null!=o[u])if(\"style\"===u){var i=o[u];for(a in i)i.hasOwnProperty(a)&&(n||(n={}),n[a]=\"\")}else\"dangerouslySetInnerHTML\"!==u&&\"children\"!==u&&\"suppressContentEditableWarning\"!==u&&\"suppressHydrationWarning\"!==u&&\"autoFocus\"!==u&&(p.hasOwnProperty(u)?l||(l=[]):(l=l||[]).push(u,null));for(u in r){var s=r[u];if(i=null!=o?o[u]:void 0,r.hasOwnProperty(u)&&s!==i&&(null!=s||null!=i))if(\"style\"===u)if(i){for(a in i)!i.hasOwnProperty(a)||s&&s.hasOwnProperty(a)||(n||(n={}),n[a]=\"\");for(a in s)s.hasOwnProperty(a)&&i[a]!==s[a]&&(n||(n={}),n[a]=s[a])}else n||(l||(l=[]),l.push(u,n)),n=s;else\"dangerouslySetInnerHTML\"===u?(s=s?s.__html:void 0,i=i?i.__html:void 0,null!=s&&i!==s&&(l=l||[]).push(u,s)):\"children\"===u?\"string\"!=typeof s&&\"number\"!=typeof s||(l=l||[]).push(u,\"\"+s):\"suppressContentEditableWarning\"!==u&&\"suppressHydrationWarning\"!==u&&(p.hasOwnProperty(u)?(null!=s&&\"onScroll\"===u&&rk(\"scroll\",e),l||i===s||(l=[])):(l=l||[]).push(u,s))}n&&(l=l||[]).push(\"style\",n);var u=l;(t.updateQueue=u)&&(t.flags|=4)}},i=function(e,t,n,r){n!==r&&(t.flags|=4)};var l1=!1,l2=!1,l3=\"function\"==typeof WeakSet?WeakSet:Set,l6=null;function l4(e,t){var n=e.ref;if(null!==n)if(\"function\"==typeof n)try{n(null)}catch(n){sm(e,t,n)}else n.current=null}function l8(e,t,n){try{n()}catch(n){sm(e,t,n)}}var l9=!1;function l5(e,t){if(rD=tX,n9(e=n8())){if(\"selectionStart\"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var r=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(r&&0!==r.rangeCount){n=r.anchorNode;var o,a=r.anchorOffset,l=r.focusNode;r=r.focusOffset;try{n.nodeType,l.nodeType}catch(e){n=null;break e}var i=0,s=-1,u=-1,c=0,d=0,p=e,m=null;t:for(;;){for(;p!==n||0!==a&&3!==p.nodeType||(s=i+a),p!==l||0!==r&&3!==p.nodeType||(u=i+r),3===p.nodeType&&(i+=p.nodeValue.length),null!==(o=p.firstChild);)m=p,p=o;for(;;){if(p===e)break t;if(m===n&&++c===a&&(s=i),m===l&&++d===r&&(u=i),null!==(o=p.nextSibling))break;m=(p=m).parentNode}p=o}n=-1===s||-1===u?null:{start:s,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(rU={focusedElem:e,selectionRange:n},tX=!1,l6=t;null!==l6;)if(e=(t=l6).child,0!=(1028&t.subtreeFlags)&&null!==e)e.return=t,l6=e;else for(;null!==l6;){t=l6;try{var h=t.alternate;if(0!=(1024&t.flags))switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==h){var g=h.memoizedProps,y=h.memoizedState,b=t.stateNode,v=b.getSnapshotBeforeUpdate(t.elementType===t.type?g:lc(t.type,g),y);b.__reactInternalSnapshotBeforeUpdate=v}break;case 3:var S=t.stateNode.containerInfo;1===S.nodeType?S.textContent=\"\":9===S.nodeType&&S.documentElement&&S.removeChild(S.documentElement);break;default:throw Error(f(163))}}catch(e){sm(t,t.return,e)}if(null!==(e=t.sibling)){e.return=t.return,l6=e;break}l6=t.return}return h=l9,l9=!1,h}function l7(e,t,n){var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var o=r=r.next;do{if((o.tag&e)===e){var a=o.destroy;o.destroy=void 0,void 0!==a&&l8(t,n,a)}o=o.next}while(o!==r)}}function ie(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function it(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,\"function\"==typeof t?t(e):t.current=e}}function ir(e){var t=e.alternate;null!==t&&(e.alternate=null,ir(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&null!==(t=e.stateNode)&&(delete t[rX],delete t[rY],delete t[rZ],delete t[r0],delete t[r1]),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function io(e){return 5===e.tag||3===e.tag||4===e.tag}function ia(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||io(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags||null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function il(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=r$));else if(4!==r&&null!==(e=e.child))for(il(e,t,n),e=e.sibling;null!==e;)il(e,t,n),e=e.sibling}function ii(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(ii(e,t,n),e=e.sibling;null!==e;)ii(e,t,n),e=e.sibling}var is=null,iu=!1;function ic(e,t,n){for(n=n.child;null!==n;)id(e,t,n),n=n.sibling}function id(e,t,n){if(tl&&\"function\"==typeof tl.onCommitFiberUnmount)try{tl.onCommitFiberUnmount(ta,n)}catch(e){}switch(n.tag){case 5:l2||l4(n,t);case 6:var r=is,o=iu;is=null,ic(e,t,n),is=r,iu=o,null!==is&&(iu?(e=is,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):is.removeChild(n.stateNode));break;case 18:null!==is&&(iu?(e=is,n=n.stateNode,8===e.nodeType?rB(e.parentNode,n):1===e.nodeType&&rB(e,n),tK(e)):rB(is,n.stateNode));break;case 4:r=is,o=iu,is=n.stateNode.containerInfo,iu=!0,ic(e,t,n),is=r,iu=o;break;case 0:case 11:case 14:case 15:if(!l2&&null!==(r=n.updateQueue)&&null!==(r=r.lastEffect)){o=r=r.next;do{var a=o,l=a.destroy;a=a.tag,void 0!==l&&(0!=(2&a)?l8(n,t,l):0!=(4&a)&&l8(n,t,l)),o=o.next}while(o!==r)}ic(e,t,n);break;case 1:if(!l2&&(l4(n,t),\"function\"==typeof(r=n.stateNode).componentWillUnmount))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(e){sm(n,t,e)}ic(e,t,n);break;case 21:default:ic(e,t,n);break;case 22:1&n.mode?(l2=(r=l2)||null!==n.memoizedState,ic(e,t,n),l2=r):ic(e,t,n)}}function ip(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new l3),t.forEach(function(t){var r=sb.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))})}}function im(e,t){var n=t.deletions;if(null!==n)for(var r=0;r<n.length;r++){var o=n[r];try{var a=e,l=t,i=l;e:for(;null!==i;){switch(i.tag){case 5:is=i.stateNode,iu=!1;break e;case 3:case 4:is=i.stateNode.containerInfo,iu=!0;break e}i=i.return}if(null===is)throw Error(f(160));id(a,l,o),is=null,iu=!1;var s=o.alternate;null!==s&&(s.return=null),o.return=null}catch(e){sm(o,t,e)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)ih(t,e),t=t.sibling}function ih(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(im(t,e),ig(e),4&r){try{l7(3,e,e.return),ie(3,e)}catch(t){sm(e,e.return,t)}try{l7(5,e,e.return)}catch(t){sm(e,e.return,t)}}break;case 1:im(t,e),ig(e),512&r&&null!==n&&l4(n,n.return);break;case 5:if(im(t,e),ig(e),512&r&&null!==n&&l4(n,n.return),32&e.flags){var o=e.stateNode;try{eE(o,\"\")}catch(t){sm(e,e.return,t)}}if(4&r&&null!=(o=e.stateNode)){var a=e.memoizedProps,l=null!==n?n.memoizedProps:a,i=e.type,s=e.updateQueue;if(e.updateQueue=null,null!==s)try{\"input\"===i&&\"radio\"===a.type&&null!=a.name&&ei(o,a),ex(i,l);var u=ex(i,a);for(l=0;l<s.length;l+=2){var c=s[l],d=s[l+1];\"style\"===c?eN(o,d):\"dangerouslySetInnerHTML\"===c?eS(o,d):\"children\"===c?eE(o,d):x(o,c,d,u)}switch(i){case\"input\":es(o,a);break;case\"textarea\":eh(o,a);break;case\"select\":var p=o._wrapperState.wasMultiple;o._wrapperState.wasMultiple=!!a.multiple;var m=a.value;null!=m?ed(o,!!a.multiple,m,!1):!!a.multiple!==p&&(null!=a.defaultValue?ed(o,!!a.multiple,a.defaultValue,!0):ed(o,!!a.multiple,a.multiple?[]:\"\",!1))}o[rY]=a}catch(t){sm(e,e.return,t)}}break;case 6:if(im(t,e),ig(e),4&r){if(null===e.stateNode)throw Error(f(162));o=e.stateNode,a=e.memoizedProps;try{o.nodeValue=a}catch(t){sm(e,e.return,t)}}break;case 3:if(im(t,e),ig(e),4&r&&null!==n&&n.memoizedState.isDehydrated)try{tK(t.containerInfo)}catch(t){sm(e,e.return,t)}break;case 4:default:im(t,e),ig(e);break;case 13:im(t,e),ig(e),8192&(o=e.child).flags&&(a=null!==o.memoizedState,o.stateNode.isHidden=a,a&&(null===o.alternate||null===o.alternate.memoizedState)&&(iU=e5())),4&r&&ip(e);break;case 22:if(c=null!==n&&null!==n.memoizedState,1&e.mode?(l2=(u=l2)||c,im(t,e),l2=u):im(t,e),ig(e),8192&r){if(u=null!==e.memoizedState,(e.stateNode.isHidden=u)&&!c&&0!=(1&e.mode))for(l6=e,c=e.child;null!==c;){for(d=l6=c;null!==l6;){switch(m=(p=l6).child,p.tag){case 0:case 11:case 14:case 15:l7(4,p,p.return);break;case 1:l4(p,p.return);var h=p.stateNode;if(\"function\"==typeof h.componentWillUnmount){r=p,n=p.return;try{h.props=(t=r).memoizedProps,h.state=t.memoizedState,h.componentWillUnmount()}catch(e){sm(r,n,e)}}break;case 5:l4(p,p.return);break;case 22:if(null!==p.memoizedState){iS(d);continue}}null!==m?(m.return=p,l6=m):iS(d)}c=c.sibling}e:for(c=null,d=e;;){if(5===d.tag){if(null===c){c=d;try{o=d.stateNode,u?(a=o.style,\"function\"==typeof a.setProperty?a.setProperty(\"display\",\"none\",\"important\"):a.display=\"none\"):(i=d.stateNode,l=null!=(s=d.memoizedProps.style)&&s.hasOwnProperty(\"display\")?s.display:null,i.style.display=ew(\"display\",l))}catch(t){sm(e,e.return,t)}}}else if(6===d.tag){if(null===c)try{d.stateNode.nodeValue=u?\"\":d.memoizedProps}catch(t){sm(e,e.return,t)}}else if((22!==d.tag&&23!==d.tag||null===d.memoizedState||d===e)&&null!==d.child){d.child.return=d,d=d.child;continue}if(d===e)break;for(;null===d.sibling;){if(null===d.return||d.return===e)break e;c===d&&(c=null),d=d.return}c===d&&(c=null),d.sibling.return=d.return,d=d.sibling}}break;case 19:im(t,e),ig(e),4&r&&ip(e);case 21:}}function ig(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(io(n)){var r=n;break e}n=n.return}throw Error(f(160))}switch(r.tag){case 5:var o=r.stateNode;32&r.flags&&(eE(o,\"\"),r.flags&=-33);var a=ia(e);ii(e,a,o);break;case 3:case 4:var l=r.stateNode.containerInfo,i=ia(e);il(e,i,l);break;default:throw Error(f(161))}}catch(t){sm(e,e.return,t)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function iy(e,t,n){l6=e,ib(e,t,n)}function ib(e,t,n){for(var r=0!=(1&e.mode);null!==l6;){var o=l6,a=o.child;if(22===o.tag&&r){var l=null!==o.memoizedState||l1;if(!l){var i=o.alternate,s=null!==i&&null!==i.memoizedState||l2;i=l1;var u=l2;if(l1=l,(l2=s)&&!u)for(l6=o;null!==l6;)s=(l=l6).child,22===l.tag&&null!==l.memoizedState?iE(o):null!==s?(s.return=l,l6=s):iE(o);for(;null!==a;)l6=a,ib(a,t,n),a=a.sibling;l6=o,l1=i,l2=u}iv(e,t,n)}else 0!=(8772&o.subtreeFlags)&&null!==a?(a.return=o,l6=a):iv(e,t,n)}}function iv(e){for(;null!==l6;){var t=l6;if(0!=(8772&t.flags)){var n=t.alternate;try{if(0!=(8772&t.flags))switch(t.tag){case 0:case 11:case 15:l2||ie(5,t);break;case 1:var r=t.stateNode;if(4&t.flags&&!l2)if(null===n)r.componentDidMount();else{var o=t.elementType===t.type?n.memoizedProps:lc(t.type,n.memoizedProps);r.componentDidUpdate(o,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var a=t.updateQueue;null!==a&&as(t,a,r);break;case 3:var l=t.updateQueue;if(null!==l){if(n=null,null!==t.child)switch(t.child.tag){case 5:case 1:n=t.child.stateNode}as(t,l,n)}break;case 5:var i=t.stateNode;if(null===n&&4&t.flags){n=i;var s=t.memoizedProps;switch(t.type){case\"button\":case\"input\":case\"select\":case\"textarea\":s.autoFocus&&n.focus();break;case\"img\":s.src&&(n.src=s.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var u=t.alternate;if(null!==u){var c=u.memoizedState;if(null!==c){var d=c.dehydrated;null!==d&&tK(d)}}}break;default:throw Error(f(163))}l2||512&t.flags&&it(t)}catch(e){sm(t,t.return,e)}}if(t===e){l6=null;break}if(null!==(n=t.sibling)){n.return=t.return,l6=n;break}l6=t.return}}function iS(e){for(;null!==l6;){var t=l6;if(t===e){l6=null;break}var n=t.sibling;if(null!==n){n.return=t.return,l6=n;break}l6=t.return}}function iE(e){for(;null!==l6;){var t=l6;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{ie(4,t)}catch(e){sm(t,n,e)}break;case 1:var r=t.stateNode;if(\"function\"==typeof r.componentDidMount){var o=t.return;try{r.componentDidMount()}catch(e){sm(t,o,e)}}var a=t.return;try{it(t)}catch(e){sm(t,a,e)}break;case 5:var l=t.return;try{it(t)}catch(e){sm(t,l,e)}}}catch(e){sm(t,t.return,e)}if(t===e){l6=null;break}var i=t.sibling;if(null!==i){i.return=t.return,l6=i;break}l6=t.return}}var i_=Math.ceil,ik=I.ReactCurrentDispatcher,iw=I.ReactCurrentOwner,iN=I.ReactCurrentBatchConfig,iR=0,iT=null,ix=null,iI=0,iM=0,iP=r5(0),iC=0,iO=null,iA=0,iL=0,iF=0,i$=null,iD=null,iU=0,iz=1/0,ij=null,iH=!1,iG=null,iV=null,iW=!1,iB=null,iq=0,iK=0,iQ=null,iX=-1,iY=0;function iJ(){return 0!=(6&iR)?e5():-1!==iX?iX:iX=e5()}function iZ(e){return 0==(1&e.mode)?1:0!=(2&iR)&&0!==iI?iI&-iI:null!==oV.transition?(0===iY&&(iY=tv()),iY):0!==(e=tw)?e:e=void 0===(e=window.event)?16:t2(e.type)}function i0(e,t,n,r){if(50<iK)throw iK=0,iQ=null,Error(f(185));tE(e,n,r),(0==(2&iR)||e!==iT)&&(e===iT&&(0==(2&iR)&&(iL|=n),4===iC&&i8(e,iI)),i1(e,r),1===n&&0===iR&&0==(1&t.mode)&&(iz=e5()+500,op&&oy()))}function i1(e,t){var n=e.callbackNode;ty(e,t);var r=th(e,e===iT?iI:0);if(0===r)null!==n&&e4(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(null!=n&&e4(n),1===t)0===e.tag?og(i9.bind(null,e)):oh(i9.bind(null,e)),rV(function(){0==(6&iR)&&oy()}),n=null;else{switch(tN(r)){case 1:n=te;break;case 4:n=tt;break;case 16:default:n=tn;break;case 0x20000000:n=to}n=sv(n,i2.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function i2(e,t){if(iX=-1,iY=0,0!=(6&iR))throw Error(f(327));var n=e.callbackNode;if(sd()&&e.callbackNode!==n)return null;var r=th(e,e===iT?iI:0);if(0===r)return null;if(0!=(30&r)||0!=(r&e.expiredLanes)||t)t=sa(e,r);else{t=r;var o=iR;iR|=2;var a=sr();for((iT!==e||iI!==t)&&(ij=null,iz=e5()+500,st(e,t));;)try{si();break}catch(t){sn(e,t)}o1(),ik.current=a,iR=o,null!==ix?t=0:(iT=null,iI=0,t=iC)}if(0!==t){if(2===t&&0!==(o=tb(e))&&(r=o,t=i3(e,o)),1===t)throw n=iO,st(e,0),i8(e,r),i1(e,e5()),n;if(6===t)i8(e,r);else{if(o=e.current.alternate,0==(30&r)&&!i4(o)&&(2===(t=sa(e,r))&&0!==(a=tb(e))&&(r=a,t=i3(e,a)),1===t))throw n=iO,st(e,0),i8(e,r),i1(e,e5()),n;switch(e.finishedWork=o,e.finishedLanes=r,t){case 0:case 1:throw Error(f(345));case 2:case 5:sc(e,iD,ij);break;case 3:if(i8(e,r),(0x7c00000&r)===r&&10<(t=iU+500-e5())){if(0!==th(e,0))break;if(((o=e.suspendedLanes)&r)!==r){iJ(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=rj(sc.bind(null,e,iD,ij),t);break}sc(e,iD,ij);break;case 4:if(i8(e,r),(4194240&r)===r)break;for(o=-1,t=e.eventTimes;0<r;){var l=31-ts(r);a=1<<l,(l=t[l])>o&&(o=l),r&=~a}if(r=o,10<(r=(120>(r=e5()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*i_(r/1960))-r)){e.timeoutHandle=rj(sc.bind(null,e,iD,ij),r);break}sc(e,iD,ij);break;default:throw Error(f(329))}}}return i1(e,e5()),e.callbackNode===n?i2.bind(null,e):null}function i3(e,t){var n=i$;return e.current.memoizedState.isDehydrated&&(st(e,t).flags|=256),2!==(e=sa(e,t))&&(t=iD,iD=n,null!==t&&i6(t)),e}function i6(e){null===iD?iD=e:iD.push.apply(iD,e)}function i4(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var r=0;r<n.length;r++){var o=n[r],a=o.getSnapshot;o=o.value;try{if(!n1(a(),o))return!1}catch(e){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function i8(e,t){for(t&=~iF,t&=~iL,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-ts(t),r=1<<n;e[n]=-1,t&=~r}}function i9(e){if(0!=(6&iR))throw Error(f(327));sd();var t=th(e,0);if(0==(1&t))return i1(e,e5()),null;var n=sa(e,t);if(0!==e.tag&&2===n){var r=tb(e);0!==r&&(t=r,n=i3(e,r))}if(1===n)throw n=iO,st(e,0),i8(e,t),i1(e,e5()),n;if(6===n)throw Error(f(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,sc(e,iD,ij),i1(e,e5()),null}function i5(e,t){var n=iR;iR|=1;try{return e(t)}finally{0===(iR=n)&&(iz=e5()+500,op&&oy())}}function i7(e){null!==iB&&0===iB.tag&&0==(6&iR)&&sd();var t=iR;iR|=1;var n=iN.transition,r=tw;try{if(iN.transition=null,tw=1,e)return e()}finally{tw=r,iN.transition=n,0==(6&(iR=t))&&oy()}}function se(){iM=iP.current,r7(iP)}function st(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,rH(n)),null!==ix)for(n=ix.return;null!==n;){var r=n;switch(oM(r),r.tag){case 1:null!=(r=r.type.childContextTypes)&&oi();break;case 3:ah(),r7(or),r7(on),aE();break;case 5:ay(r);break;case 4:ah();break;case 13:case 19:r7(ab);break;case 10:o2(r.type._context);break;case 22:case 23:se()}n=n.return}if(iT=e,ix=e=sw(e.current,null),iI=iM=t,iC=0,iO=null,iF=iL=iA=0,iD=i$=null,null!==o8){for(t=0;t<o8.length;t++)if(null!==(r=(n=o8[t]).interleaved)){n.interleaved=null;var o=r.next,a=n.pending;if(null!==a){var l=a.next;a.next=o,r.next=l}n.pending=r}o8=null}return e}function sn(e,t){for(;;){var n=ix;try{if(o1(),a_.current=ll,ax){for(var r=aN.memoizedState;null!==r;){var o=r.queue;null!==o&&(o.pending=null),r=r.next}ax=!1}if(aw=0,aT=aR=aN=null,aI=!1,aM=0,iw.current=null,null===n||null===n.return){iC=1,iO=t,ix=null;break}e:{var a=e,l=n.return,i=n,s=t;if(t=iI,i.flags|=32768,null!==s&&\"object\"==typeof s&&\"function\"==typeof s.then){var u=s,c=i,d=c.tag;if(0==(1&c.mode)&&(0===d||11===d||15===d)){var p=c.alternate;p?(c.updateQueue=p.updateQueue,c.memoizedState=p.memoizedState,c.lanes=p.lanes):(c.updateQueue=null,c.memoizedState=null)}var m=lw(l);if(null!==m){m.flags&=-257,lN(m,l,i,a,t),1&m.mode&&lk(a,u,t),t=m,s=u;var h=t.updateQueue;if(null===h){var g=new Set;g.add(s),t.updateQueue=g}else h.add(s);break e}if(0==(1&t)){lk(a,u,t),so();break e}s=Error(f(426))}else if(oO&&1&i.mode){var y=lw(l);if(null!==y){0==(65536&y.flags)&&(y.flags|=256),lN(y,l,i,a,t),oG(ly(s,i));break e}}a=s=ly(s,i),4!==iC&&(iC=2),null===i$?i$=[a]:i$.push(a),a=l;do{switch(a.tag){case 3:a.flags|=65536,t&=-t,a.lanes|=t;var b=lE(a,s,t);al(a,b);break e;case 1:i=s;var v=a.type,S=a.stateNode;if(0==(128&a.flags)&&(\"function\"==typeof v.getDerivedStateFromError||null!==S&&\"function\"==typeof S.componentDidCatch&&(null===iV||!iV.has(S)))){a.flags|=65536,t&=-t,a.lanes|=t;var E=l_(a,i,t);al(a,E);break e}}a=a.return}while(null!==a)}su(n)}catch(e){t=e,ix===n&&null!==n&&(ix=n=n.return);continue}break}}function sr(){var e=ik.current;return ik.current=ll,null===e?ll:e}function so(){(0===iC||3===iC||2===iC)&&(iC=4),null===iT||0==(0xfffffff&iA)&&0==(0xfffffff&iL)||i8(iT,iI)}function sa(e,t){var n=iR;iR|=2;var r=sr();for((iT!==e||iI!==t)&&(ij=null,st(e,t));;)try{sl();break}catch(t){sn(e,t)}if(o1(),iR=n,ik.current=r,null!==ix)throw Error(f(261));return iT=null,iI=0,iC}function sl(){for(;null!==ix;)ss(ix)}function si(){for(;null!==ix&&!e8();)ss(ix)}function ss(e){var t=s(e.alternate,e,iM);e.memoizedProps=e.pendingProps,null===t?su(e):ix=t,iw.current=null}function su(e){var t=e;do{var n=t.alternate;if(e=t.return,0==(32768&t.flags)){if(null!==(n=lZ(n,t,iM))){ix=n;return}}else{if(null!==(n=l0(n,t))){n.flags&=32767,ix=n;return}if(null!==e)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{iC=6,ix=null;return}}if(null!==(t=t.sibling)){ix=t;return}ix=t=e}while(null!==t);0===iC&&(iC=5)}function sc(e,t,n){var r=tw,o=iN.transition;try{iN.transition=null,tw=1,sf(e,t,n,r)}finally{iN.transition=o,tw=r}return null}function sf(e,t,n,r){do sd();while(null!==iB);if(0!=(6&iR))throw Error(f(327));n=e.finishedWork;var o=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(f(177));e.callbackNode=null,e.callbackPriority=0;var a=n.lanes|n.childLanes;if(t_(e,a),e===iT&&(ix=iT=null,iI=0),0==(2064&n.subtreeFlags)&&0==(2064&n.flags)||iW||(iW=!0,sv(tn,function(){return sd(),null})),a=0!=(15990&n.flags),0!=(15990&n.subtreeFlags)||a){a=iN.transition,iN.transition=null;var l=tw;tw=1;var i=iR;iR|=4,iw.current=null,l5(e,n),ih(n,e),n5(rU),tX=!!rD,rU=rD=null,e.current=n,iy(n,e,o),e9(),iR=i,tw=l,iN.transition=a}else e.current=n;if(iW&&(iW=!1,iB=e,iq=o),0===(a=e.pendingLanes)&&(iV=null),ti(n.stateNode,r),i1(e,e5()),null!==t)for(r=e.onRecoverableError,n=0;n<t.length;n++)r((o=t[n]).value,{componentStack:o.stack,digest:o.digest});if(iH)throw iH=!1,e=iG,iG=null,e;return 0!=(1&iq)&&0!==e.tag&&sd(),0!=(1&(a=e.pendingLanes))?e===iQ?iK++:(iK=0,iQ=e):iK=0,oy(),null}function sd(){if(null!==iB){var e=tN(iq),t=iN.transition,n=tw;try{if(iN.transition=null,tw=16>e?16:e,null===iB)var r=!1;else{if(e=iB,iB=null,iq=0,0!=(6&iR))throw Error(f(331));var o=iR;for(iR|=4,l6=e.current;null!==l6;){var a=l6,l=a.child;if(0!=(16&l6.flags)){var i=a.deletions;if(null!==i){for(var s=0;s<i.length;s++){var u=i[s];for(l6=u;null!==l6;){var c=l6;switch(c.tag){case 0:case 11:case 15:l7(8,c,a)}var d=c.child;if(null!==d)d.return=c,l6=d;else for(;null!==l6;){var p=(c=l6).sibling,m=c.return;if(ir(c),c===u){l6=null;break}if(null!==p){p.return=m,l6=p;break}l6=m}}}var h=a.alternate;if(null!==h){var g=h.child;if(null!==g){h.child=null;do{var y=g.sibling;g.sibling=null,g=y}while(null!==g)}}l6=a}}if(0!=(2064&a.subtreeFlags)&&null!==l)l.return=a,l6=l;else for(;null!==l6;){if(a=l6,0!=(2048&a.flags))switch(a.tag){case 0:case 11:case 15:l7(9,a,a.return)}var b=a.sibling;if(null!==b){b.return=a.return,l6=b;break}l6=a.return}}var v=e.current;for(l6=v;null!==l6;){var S=(l=l6).child;if(0!=(2064&l.subtreeFlags)&&null!==S)S.return=l,l6=S;else for(l=v;null!==l6;){if(i=l6,0!=(2048&i.flags))try{switch(i.tag){case 0:case 11:case 15:ie(9,i)}}catch(e){sm(i,i.return,e)}if(i===l){l6=null;break}var E=i.sibling;if(null!==E){E.return=i.return,l6=E;break}l6=i.return}}if(iR=o,oy(),tl&&\"function\"==typeof tl.onPostCommitFiberRoot)try{tl.onPostCommitFiberRoot(ta,e)}catch(e){}r=!0}return r}finally{tw=n,iN.transition=t}}return!1}function sp(e,t,n){t=lE(e,t=ly(n,t),1),e=ao(e,t,1),t=iJ(),null!==e&&(tE(e,1,t),i1(e,t))}function sm(e,t,n){if(3===e.tag)sp(e,e,n);else for(;null!==t;){if(3===t.tag){sp(t,e,n);break}if(1===t.tag){var r=t.stateNode;if(\"function\"==typeof t.type.getDerivedStateFromError||\"function\"==typeof r.componentDidCatch&&(null===iV||!iV.has(r))){e=l_(t,e=ly(n,e),1),t=ao(t,e,1),e=iJ(),null!==t&&(tE(t,1,e),i1(t,e));break}}t=t.return}}function sh(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=iJ(),e.pingedLanes|=e.suspendedLanes&n,iT===e&&(iI&n)===n&&(4===iC||3===iC&&(0x7c00000&iI)===iI&&500>e5()-iU?st(e,0):iF|=n),i1(e,t)}function sg(e,t){0===t&&(0==(1&e.mode)?t=1:(t=tp,0==(0x7c00000&(tp<<=1))&&(tp=4194304)));var n=iJ();null!==(e=o7(e,t))&&(tE(e,t,n),i1(e,n))}function sy(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),sg(e,n)}function sb(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;null!==o&&(n=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(f(314))}null!==r&&r.delete(t),sg(e,n)}function sv(e,t){return e6(e,t)}function sS(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function sE(e,t,n,r){return new sS(e,t,n,r)}function s_(e){return!(!(e=e.prototype)||!e.isReactComponent)}function sk(e){if(\"function\"==typeof e)return+!!s_(e);if(null!=e){if((e=e.$$typeof)===$)return 11;if(e===z)return 14}return 2}function sw(e,t){var n=e.alternate;return null===n?((n=sE(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=0xe00000&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function sN(e,t,n,r,o,a){var l=2;if(r=e,\"function\"==typeof e)s_(e)&&(l=1);else if(\"string\"==typeof e)l=5;else e:switch(e){case C:return sR(n.children,o,a,t);case O:l=8,o|=8;break;case A:return(e=sE(12,n,t,2|o)).elementType=A,e.lanes=a,e;case D:return(e=sE(13,n,t,o)).elementType=D,e.lanes=a,e;case U:return(e=sE(19,n,t,o)).elementType=U,e.lanes=a,e;case H:return sT(n,o,a,t);default:if(\"object\"==typeof e&&null!==e)switch(e.$$typeof){case L:l=10;break e;case F:l=9;break e;case $:l=11;break e;case z:l=14;break e;case j:l=16,r=null;break e}throw Error(f(130,null==e?e:typeof e,\"\"))}return(t=sE(l,n,t,o)).elementType=e,t.type=r,t.lanes=a,t}function sR(e,t,n,r){return(e=sE(7,e,r,t)).lanes=n,e}function sT(e,t,n,r){return(e=sE(22,e,r,t)).elementType=H,e.lanes=n,e.stateNode={isHidden:!1},e}function sx(e,t,n){return(e=sE(6,e,null,t)).lanes=n,e}function sI(e,t,n){return(t=sE(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function sM(e,t,n,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=tS(0),this.expirationTimes=tS(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=tS(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function sP(e,t,n,r,o,a,l,i,s){return e=new sM(e,t,n,i,s),1===t?(t=1,!0===a&&(t|=8)):t=0,a=sE(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},at(a),e}function sC(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:P,key:null==r?null:\"\"+r,children:e,containerInfo:t,implementation:n}}function sO(e){if(!e)return ot;e=e._reactInternals;e:{if(eJ(e)!==e||1!==e.tag)throw Error(f(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(ol(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(f(171))}if(1===e.tag){var n=e.type;if(ol(n))return ou(e,n,t)}return t}function sA(e,t,n,r,o,a,l,i,s){return(e=sP(n,r,!0,e,o,a,l,i,s)).context=sO(null),n=e.current,(a=ar(r=iJ(),o=iZ(n))).callback=null!=t?t:null,ao(n,a,o),e.current.lanes=o,tE(e,o,r),i1(e,r),e}function sL(e,t,n,r){var o=t.current,a=iJ(),l=iZ(o);return n=sO(n),null===t.context?t.context=n:t.pendingContext=n,(t=ar(a,l)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),null!==(e=ao(o,t,l))&&(i0(e,o,l,a),aa(e,o,l)),l}function sF(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function s$(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function sD(e,t){s$(e,t),(e=e.alternate)&&s$(e,t)}function sU(){return null}s=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||or.current)lT=!0;else{if(0==(e.lanes&n)&&0==(128&t.flags))return lT=!1,lX(e,t,n);lT=0!=(131072&e.flags)}else lT=!1,oO&&0!=(1048576&t.flags)&&ox(t,oE,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;lK(e,t),e=t.pendingProps;var o=oa(t,on.current);o6(t,n),o=aA(null,t,r,e,o,n);var a=aL();return t.flags|=1,\"object\"==typeof o&&null!==o&&\"function\"==typeof o.render&&void 0===o.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,ol(r)?(a=!0,oc(t)):a=!1,t.memoizedState=null!==o.state&&void 0!==o.state?o.state:null,at(t),o.updater=ld,t.stateNode=o,o._reactInternals=t,lg(t,r,e,n),t=lF(null,t,r,!0,a,n)):(t.tag=0,oO&&a&&oI(t),lx(null,t,o,n),t=t.child),t;case 16:r=t.elementType;e:{switch(lK(e,t),e=t.pendingProps,r=(o=r._init)(r._payload),t.type=r,o=t.tag=sk(r),e=lc(r,e),o){case 0:t=lA(null,t,r,e,n);break e;case 1:t=lL(null,t,r,e,n);break e;case 11:t=lI(null,t,r,e,n);break e;case 14:t=lM(null,t,r,lc(r.type,e),n);break e}throw Error(f(306,r,\"\"))}return t;case 0:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:lc(r,o),lA(e,t,r,o,n);case 1:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:lc(r,o),lL(e,t,r,o,n);case 3:e:{if(l$(t),null===e)throw Error(f(387));r=t.pendingProps,o=(a=t.memoizedState).element,an(e,t),ai(t,r,null,n);var l=t.memoizedState;if(r=l.element,a.isDehydrated)if(a={element:r,isDehydrated:!1,cache:l.cache,pendingSuspenseBoundaries:l.pendingSuspenseBoundaries,transitions:l.transitions},t.updateQueue.baseState=a,t.memoizedState=a,256&t.flags){o=ly(Error(f(423)),t),t=lD(e,t,r,n,o);break e}else if(r!==o){o=ly(Error(f(424)),t),t=lD(e,t,r,n,o);break e}else for(oC=rq(t.stateNode.containerInfo.firstChild),oP=t,oO=!0,oA=null,n=oX(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling;else{if(oH(),r===o){t=lQ(e,t,n);break e}lx(e,t,r,n)}t=t.child}return t;case 5:return ag(t),null===e&&oD(t),r=t.type,o=t.pendingProps,a=null!==e?e.memoizedProps:null,l=o.children,rz(r,o)?l=null:null!==a&&rz(r,a)&&(t.flags|=32),lO(e,t),lx(e,t,l,n),t.child;case 6:return null===e&&oD(t),null;case 13:return lj(e,t,n);case 4:return am(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=oQ(t,null,r,n):lx(e,t,r,n),t.child;case 11:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:lc(r,o),lI(e,t,r,o,n);case 7:return lx(e,t,t.pendingProps,n),t.child;case 8:case 12:return lx(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,a=t.memoizedProps,l=o.value,oe(oY,r._currentValue),r._currentValue=l,null!==a)if(n1(a.value,l)){if(a.children===o.children&&!or.current){t=lQ(e,t,n);break e}}else for(null!==(a=t.child)&&(a.return=t);null!==a;){var i=a.dependencies;if(null!==i){l=a.child;for(var s=i.firstContext;null!==s;){if(s.context===r){if(1===a.tag){(s=ar(-1,n&-n)).tag=2;var u=a.updateQueue;if(null!==u){var c=(u=u.shared).pending;null===c?s.next=s:(s.next=c.next,c.next=s),u.pending=s}}a.lanes|=n,null!==(s=a.alternate)&&(s.lanes|=n),o3(a.return,n,t),i.lanes|=n;break}s=s.next}}else if(10===a.tag)l=a.type===t.type?null:a.child;else if(18===a.tag){if(null===(l=a.return))throw Error(f(341));l.lanes|=n,null!==(i=l.alternate)&&(i.lanes|=n),o3(l,n,t),l=a.sibling}else l=a.child;if(null!==l)l.return=a;else for(l=a;null!==l;){if(l===t){l=null;break}if(null!==(a=l.sibling)){a.return=l.return,l=a;break}l=l.return}a=l}lx(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,o6(t,n),r=r(o=o4(o)),t.flags|=1,lx(e,t,r,n),t.child;case 14:return o=lc(r=t.type,t.pendingProps),o=lc(r.type,o),lM(e,t,r,o,n);case 15:return lP(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:lc(r,o),lK(e,t),t.tag=1,ol(r)?(e=!0,oc(t)):e=!1,o6(t,n),lm(t,r,o),lg(t,r,o,n),lF(null,t,r,!0,e,n);case 19:return lq(e,t,n);case 22:return lC(e,t,n)}throw Error(f(156,t.tag))};var sz=\"function\"==typeof reportError?reportError:function(e){console.error(e)};function sj(e){this._internalRoot=e}function sH(e){this._internalRoot=e}function sG(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function sV(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||\" react-mount-point-unstable \"!==e.nodeValue))}function sW(){}function sB(e,t,n,r,o){if(o){if(\"function\"==typeof r){var a=r;r=function(){var e=sF(l);a.call(e)}}var l=sA(t,r,e,0,null,!1,!1,\"\",sW);return e._reactRootContainer=l,e[rJ]=l.current,rR(8===e.nodeType?e.parentNode:e),i7(),l}for(;o=e.lastChild;)e.removeChild(o);if(\"function\"==typeof r){var i=r;r=function(){var e=sF(s);i.call(e)}}var s=sP(e,0,!1,null,null,!1,!1,\"\",sW);return e._reactRootContainer=s,e[rJ]=s.current,rR(8===e.nodeType?e.parentNode:e),i7(function(){sL(t,s,n,r)}),s}function sq(e,t,n,r,o){var a=n._reactRootContainer;if(a){var l=a;if(\"function\"==typeof o){var i=o;o=function(){var e=sF(l);i.call(e)}}sL(t,l,e,o)}else l=sB(n,t,e,o,r);return sF(l)}sH.prototype.render=sj.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(f(409));sL(e,t,null,null)},sH.prototype.unmount=sj.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;i7(function(){sL(null,e,null,null)}),t[rJ]=null}},sH.prototype.unstable_scheduleHydration=function(e){if(e){var t=tI();e={blockedOn:null,target:e,priority:t};for(var n=0;n<tD.length&&0!==t&&t<tD[n].priority;n++);tD.splice(n,0,e),0===n&&tG(e)}},tR=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=tm(t.pendingLanes);0!==n&&(tk(t,1|n),i1(t,e5()),0==(6&iR)&&(iz=e5()+500,oy()))}break;case 13:i7(function(){var t=o7(e,1);null!==t&&i0(t,e,1,iJ())}),sD(e,1)}},tT=function(e){if(13===e.tag){var t=o7(e,0x8000000);null!==t&&i0(t,e,0x8000000,iJ()),sD(e,0x8000000)}},tx=function(e){if(13===e.tag){var t=iZ(e),n=o7(e,t);null!==n&&i0(n,e,t,iJ()),sD(e,t)}},tI=function(){return tw},tM=function(e,t){var n=tw;try{return tw=e,t()}finally{tw=n}},eP=function(e,t,n){switch(t){case\"input\":if(es(e,n),t=n.name,\"radio\"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+t)+'][type=\"radio\"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var o=r4(r);if(!o)throw Error(f(90));er(r),es(r,o)}}}break;case\"textarea\":eh(e,n);break;case\"select\":null!=(t=n.value)&&ed(e,!!n.multiple,t,!1)}},e$=i5,eD=i7;var sK={usingClientEntryPoint:!1,Events:[r3,r6,r4,eL,eF,i5]},sQ={findFiberByHostInstance:r2,bundleType:0,version:\"18.3.1\",rendererPackageName:\"react-dom\"},sX={bundleType:sQ.bundleType,version:sQ.version,rendererPackageName:sQ.rendererPackageName,rendererConfig:sQ.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:I.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=e2(e))?null:e.stateNode},findFiberByHostInstance:sQ.findFiberByHostInstance||sU,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.3.1-next-f1338f8080-20240426\"};if(\"u\">typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var sY=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!sY.isDisabled&&sY.supportsFiber)try{ta=sY.inject(sX),tl=sY}catch(e){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=sK,t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!sG(t))throw Error(f(200));return sC(e,t,null,n)},t.createRoot=function(e,t){if(!sG(e))throw Error(f(299));var n=!1,r=\"\",o=sz;return null!=t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onRecoverableError&&(o=t.onRecoverableError)),t=sP(e,1,!1,null,null,n,!1,r,o),e[rJ]=t.current,rR(8===e.nodeType?e.parentNode:e),new sj(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if(\"function\"==typeof e.render)throw Error(f(188));throw Error(f(268,e=Object.keys(e).join(\",\")))}return null===(e=e2(t))?null:e.stateNode},t.flushSync=function(e){return i7(e)},t.hydrate=function(e,t,n){if(!sV(t))throw Error(f(200));return sq(null,e,t,!0,n)},t.hydrateRoot=function(e,t,n){if(!sG(e))throw Error(f(405));var r=null!=n&&n.hydratedSources||null,o=!1,a=\"\",l=sz;if(null!=n&&(!0===n.unstable_strictMode&&(o=!0),void 0!==n.identifierPrefix&&(a=n.identifierPrefix),void 0!==n.onRecoverableError&&(l=n.onRecoverableError)),t=sA(t,null,e,1,null!=n?n:null,o,!1,a,l),e[rJ]=t.current,rR(e),r)for(e=0;e<r.length;e++)o=(o=(n=r[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,o]:t.mutableSourceEagerHydrationData.push(n,o);return new sH(t)},t.render=function(e,t,n){if(!sV(t))throw Error(f(200));return sq(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!sV(e))throw Error(f(40));return!!e._reactRootContainer&&(i7(function(){sq(null,null,e,!1,function(){e._reactRootContainer=null,e[rJ]=null})}),!0)},t.unstable_batchedUpdates=i5,t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!sV(n))throw Error(f(200));if(null==e||void 0===e._reactInternals)throw Error(f(38));return sq(e,t,n,!1,r)},t.version=\"18.3.1-next-f1338f8080-20240426\"},961(e,t,n){\"use strict\";function r(){if(\"u\">typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&\"function\"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(r)}catch(e){console.error(e)}}r(),e.exports=n(2551)},5287(e,t){\"use strict\";var n=Symbol.for(\"react.element\"),r=Symbol.for(\"react.portal\"),o=Symbol.for(\"react.fragment\"),a=Symbol.for(\"react.strict_mode\"),l=Symbol.for(\"react.profiler\"),i=Symbol.for(\"react.provider\"),s=Symbol.for(\"react.context\"),u=Symbol.for(\"react.forward_ref\"),c=Symbol.for(\"react.suspense\"),f=Symbol.for(\"react.memo\"),d=Symbol.for(\"react.lazy\"),p=Symbol.iterator;function m(e){return null===e||\"object\"!=typeof e?null:\"function\"==typeof(e=p&&e[p]||e[\"@@iterator\"])?e:null}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,y={};function b(e,t,n){this.props=e,this.context=t,this.refs=y,this.updater=n||h}function v(){}function S(e,t,n){this.props=e,this.context=t,this.refs=y,this.updater=n||h}b.prototype.isReactComponent={},b.prototype.setState=function(e,t){if(\"object\"!=typeof e&&\"function\"!=typeof e&&null!=e)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,e,t,\"setState\")},b.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,\"forceUpdate\")},v.prototype=b.prototype;var E=S.prototype=new v;E.constructor=S,g(E,b.prototype),E.isPureReactComponent=!0;var _=Array.isArray,k=Object.prototype.hasOwnProperty,w={current:null},N={key:!0,ref:!0,__self:!0,__source:!0};function R(e,t,r){var o,a={},l=null,i=null;if(null!=t)for(o in void 0!==t.ref&&(i=t.ref),void 0!==t.key&&(l=\"\"+t.key),t)k.call(t,o)&&!N.hasOwnProperty(o)&&(a[o]=t[o]);var s=arguments.length-2;if(1===s)a.children=r;else if(1<s){for(var u=Array(s),c=0;c<s;c++)u[c]=arguments[c+2];a.children=u}if(e&&e.defaultProps)for(o in s=e.defaultProps)void 0===a[o]&&(a[o]=s[o]);return{$$typeof:n,type:e,key:l,ref:i,props:a,_owner:w.current}}function T(e,t){return{$$typeof:n,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function x(e){return\"object\"==typeof e&&null!==e&&e.$$typeof===n}function I(e){var t={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+e.replace(/[=:]/g,function(e){return t[e]})}var M=/\\/+/g;function P(e,t){return\"object\"==typeof e&&null!==e&&null!=e.key?I(\"\"+e.key):t.toString(36)}function C(e,t,o,a,l){var i=typeof e;(\"undefined\"===i||\"boolean\"===i)&&(e=null);var s=!1;if(null===e)s=!0;else switch(i){case\"string\":case\"number\":s=!0;break;case\"object\":switch(e.$$typeof){case n:case r:s=!0}}if(s)return l=l(s=e),e=\"\"===a?\".\"+P(s,0):a,_(l)?(o=\"\",null!=e&&(o=e.replace(M,\"$&/\")+\"/\"),C(l,t,o,\"\",function(e){return e})):null!=l&&(x(l)&&(l=T(l,o+(!l.key||s&&s.key===l.key?\"\":(\"\"+l.key).replace(M,\"$&/\")+\"/\")+e)),t.push(l)),1;if(s=0,a=\"\"===a?\".\":a+\":\",_(e))for(var u=0;u<e.length;u++){var c=a+P(i=e[u],u);s+=C(i,t,o,c,l)}else if(\"function\"==typeof(c=m(e)))for(e=c.call(e),u=0;!(i=e.next()).done;)c=a+P(i=i.value,u++),s+=C(i,t,o,c,l);else if(\"object\"===i)throw Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===(t=String(e))?\"object with keys {\"+Object.keys(e).join(\", \")+\"}\":t)+\"). If you meant to render a collection of children, use an array instead.\");return s}function O(e,t,n){if(null==e)return e;var r=[],o=0;return C(e,r,\"\",\"\",function(e){return t.call(n,e,o++)}),r}function A(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){(0===e._status||-1===e._status)&&(e._status=1,e._result=t)},function(t){(0===e._status||-1===e._status)&&(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var L={current:null},F={transition:null},$={ReactCurrentDispatcher:L,ReactCurrentBatchConfig:F,ReactCurrentOwner:w};function D(){throw Error(\"act(...) is not supported in production builds of React.\")}t.Children={map:O,forEach:function(e,t,n){O(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return O(e,function(){t++}),t},toArray:function(e){return O(e,function(e){return e})||[]},only:function(e){if(!x(e))throw Error(\"React.Children.only expected to receive a single React element child.\");return e}},t.Component=b,t.Fragment=o,t.Profiler=l,t.PureComponent=S,t.StrictMode=a,t.Suspense=c,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=$,t.act=D,t.cloneElement=function(e,t,r){if(null==e)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+e+\".\");var o=g({},e.props),a=e.key,l=e.ref,i=e._owner;if(null!=t){if(void 0!==t.ref&&(l=t.ref,i=w.current),void 0!==t.key&&(a=\"\"+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(u in t)k.call(t,u)&&!N.hasOwnProperty(u)&&(o[u]=void 0===t[u]&&void 0!==s?s[u]:t[u])}var u=arguments.length-2;if(1===u)o.children=r;else if(1<u){s=Array(u);for(var c=0;c<u;c++)s[c]=arguments[c+2];o.children=s}return{$$typeof:n,type:e.type,key:a,ref:l,props:o,_owner:i}},t.createContext=function(e){return(e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:i,_context:e},e.Consumer=e},t.createElement=R,t.createFactory=function(e){var t=R.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:u,render:e}},t.isValidElement=x,t.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:A}},t.memo=function(e,t){return{$$typeof:f,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=F.transition;F.transition={};try{e()}finally{F.transition=t}},t.unstable_act=D,t.useCallback=function(e,t){return L.current.useCallback(e,t)},t.useContext=function(e){return L.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return L.current.useDeferredValue(e)},t.useEffect=function(e,t){return L.current.useEffect(e,t)},t.useId=function(){return L.current.useId()},t.useImperativeHandle=function(e,t,n){return L.current.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return L.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return L.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return L.current.useMemo(e,t)},t.useReducer=function(e,t,n){return L.current.useReducer(e,t,n)},t.useRef=function(e){return L.current.useRef(e)},t.useState=function(e){return L.current.useState(e)},t.useSyncExternalStore=function(e,t,n){return L.current.useSyncExternalStore(e,t,n)},t.useTransition=function(){return L.current.useTransition()},t.version=\"18.3.1\"},6540(e,t,n){\"use strict\";e.exports=n(5287)},7463(e,t){\"use strict\";function n(e,t){var n=e.length;for(e.push(t);0<n;){var r=n-1>>>1,o=e[r];if(0<a(o,t))e[r]=t,e[n]=o,n=r;else break}}function r(e){return 0===e.length?null:e[0]}function o(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;for(var r=0,o=e.length,l=o>>>1;r<l;){var i=2*(r+1)-1,s=e[i],u=i+1,c=e[u];if(0>a(s,n))u<o&&0>a(c,s)?(e[r]=c,e[u]=n,r=u):(e[r]=s,e[i]=n,r=i);else if(u<o&&0>a(c,n))e[r]=c,e[u]=n,r=u;else break}}return t}function a(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if(\"object\"==typeof performance&&\"function\"==typeof performance.now){var l,i=performance;t.unstable_now=function(){return i.now()}}else{var s=Date,u=s.now();t.unstable_now=function(){return s.now()-u}}var c=[],f=[],d=1,p=null,m=3,h=!1,g=!1,y=!1,b=\"function\"==typeof setTimeout?setTimeout:null,v=\"function\"==typeof clearTimeout?clearTimeout:null,S=\"u\">typeof setImmediate?setImmediate:null;function E(e){for(var t=r(f);null!==t;){if(null===t.callback)o(f);else if(t.startTime<=e)o(f),t.sortIndex=t.expirationTime,n(c,t);else break;t=r(f)}}function _(e){if(y=!1,E(e),!g)if(null!==r(c))g=!0,O(k);else{var t=r(f);null!==t&&A(_,t.startTime-e)}}function k(e,n){g=!1,y&&(y=!1,v(R),R=-1),h=!0;var a=m;try{for(E(n),p=r(c);null!==p&&(!(p.expirationTime>n)||e&&!I());){var l=p.callback;if(\"function\"==typeof l){p.callback=null,m=p.priorityLevel;var i=l(p.expirationTime<=n);n=t.unstable_now(),\"function\"==typeof i?p.callback=i:p===r(c)&&o(c),E(n)}else o(c);p=r(c)}if(null!==p)var s=!0;else{var u=r(f);null!==u&&A(_,u.startTime-n),s=!1}return s}finally{p=null,m=a,h=!1}}\"u\">typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var w=!1,N=null,R=-1,T=5,x=-1;function I(){return!(t.unstable_now()-x<T)}function M(){if(null!==N){var e=t.unstable_now();x=e;var n=!0;try{n=N(!0,e)}finally{n?l():(w=!1,N=null)}}else w=!1}if(\"function\"==typeof S)l=function(){S(M)};else if(\"u\">typeof MessageChannel){var P=new MessageChannel,C=P.port2;P.port1.onmessage=M,l=function(){C.postMessage(null)}}else l=function(){b(M,0)};function O(e){N=e,w||(w=!0,l())}function A(e,n){R=b(function(){e(t.unstable_now())},n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){g||h||(g=!0,O(k))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):T=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return m},t.unstable_getFirstCallbackNode=function(){return r(c)},t.unstable_next=function(e){switch(m){case 1:case 2:case 3:var t=3;break;default:t=m}var n=m;m=t;try{return e()}finally{m=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=m;m=e;try{return t()}finally{m=n}},t.unstable_scheduleCallback=function(e,o,a){var l=t.unstable_now();switch(a=\"object\"==typeof a&&null!==a&&\"number\"==typeof(a=a.delay)&&0<a?l+a:l,e){case 1:var i=-1;break;case 2:i=250;break;case 5:i=0x3fffffff;break;case 4:i=1e4;break;default:i=5e3}return i=a+i,e={id:d++,callback:o,priorityLevel:e,startTime:a,expirationTime:i,sortIndex:-1},a>l?(e.sortIndex=a,n(f,e),null===r(c)&&e===r(f)&&(y?(v(R),R=-1):y=!0,A(_,a-l))):(e.sortIndex=i,n(c,e),g||h||(g=!0,O(k))),e},t.unstable_shouldYield=I,t.unstable_wrapCallback=function(e){var t=m;return function(){var n=m;m=t;try{return e.apply(this,arguments)}finally{m=n}}}},9982(e,t,n){\"use strict\";e.exports=n(7463)},6619(e,t,n){Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"});let r=n(8130);t.logAndReport=function(e,t,n,o,a,l){return o(r.getShortErrorMsg(e,t,n,a))}},9810(e,t,n){let r=n(924),o={[r.RUNTIME_001]:\"Failed to get remoteEntry exports.\",[r.RUNTIME_002]:'The remote entry interface does not contain \"init\"',[r.RUNTIME_003]:\"Failed to get manifest.\",[r.RUNTIME_004]:\"Failed to locate remote.\",[r.RUNTIME_005]:\"Invalid loadShareSync function call from bundler runtime\",[r.RUNTIME_006]:\"Invalid loadShareSync function call from runtime\",[r.RUNTIME_007]:\"Failed to get remote snapshot.\",[r.RUNTIME_008]:\"Failed to load script resources.\",[r.RUNTIME_009]:\"Please call createInstance first.\",[r.RUNTIME_010]:'The name option cannot be changed after initialization. If you want to create a new instance with a different name, please use \"createInstance\" api.',[r.RUNTIME_011]:\"The remoteEntry URL is missing from the remote snapshot.\"},a={[r.TYPE_001]:\"Failed to generate type declaration. Execute the below cmd to reproduce and fix the error.\"},l={[r.BUILD_001]:\"Failed to find expose module.\",[r.BUILD_002]:\"PublicPath is required in prod mode.\"},i={...o,...a,...l};t.buildDescMap=l,t.errorDescMap=i,t.runtimeDescMap=o,t.typeDescMap=a},924(e,t){let n=\"RUNTIME-001\",r=\"RUNTIME-002\",o=\"RUNTIME-003\",a=\"RUNTIME-004\",l=\"RUNTIME-005\",i=\"RUNTIME-006\",s=\"RUNTIME-007\",u=\"RUNTIME-008\",c=\"RUNTIME-009\",f=\"RUNTIME-010\",d=\"RUNTIME-011\",p=\"TYPE-001\",m=\"BUILD-002\";t.BUILD_001=\"BUILD-001\",t.BUILD_002=m,t.RUNTIME_001=n,t.RUNTIME_002=r,t.RUNTIME_003=o,t.RUNTIME_004=a,t.RUNTIME_005=l,t.RUNTIME_006=i,t.RUNTIME_007=s,t.RUNTIME_008=u,t.RUNTIME_009=c,t.RUNTIME_010=f,t.RUNTIME_011=d,t.TYPE_001=p},8130(e,t){let n=e=>`View the docs to see how to solve: https://module-federation.io/guide/troubleshooting/${e.split(\"-\")[0].toLowerCase()}#${e.toLowerCase()}`;t.getShortErrorMsg=(e,t,r,o)=>{let a=[`${[t[e]]} #${e}`];return r&&a.push(`args: ${JSON.stringify(r)}`),a.push(n(e)),o&&a.push(`Original Error Message:\n ${o}`),a.join(\"\\n\")}},4363(e,t,n){Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"});let r=n(924),o=n(8130),a=n(9810);t.BUILD_001=r.BUILD_001,t.BUILD_002=r.BUILD_002,t.RUNTIME_001=r.RUNTIME_001,t.RUNTIME_002=r.RUNTIME_002,t.RUNTIME_003=r.RUNTIME_003,t.RUNTIME_004=r.RUNTIME_004,t.RUNTIME_005=r.RUNTIME_005,t.RUNTIME_006=r.RUNTIME_006,t.RUNTIME_007=r.RUNTIME_007,t.RUNTIME_008=r.RUNTIME_008,t.RUNTIME_009=r.RUNTIME_009,t.RUNTIME_010=r.RUNTIME_010,t.RUNTIME_011=r.RUNTIME_011,t.TYPE_001=r.TYPE_001,t.buildDescMap=a.buildDescMap,t.errorDescMap=a.errorDescMap,t.getShortErrorMsg=o.getShortErrorMsg,t.runtimeDescMap=a.runtimeDescMap,t.typeDescMap=a.typeDescMap},1748(e,t){var n=Object.defineProperty;t.__exportAll=(e,t)=>{let r={};for(var o in e)n(r,o,{get:e[o],enumerable:!0});return t||n(r,Symbol.toStringTag,{value:\"Module\"}),r}},2926(e,t){let n=\"default\";t.DEFAULT_REMOTE_TYPE=\"global\",t.DEFAULT_SCOPE=n},5871(e,t,n){let r=n(8628),o=n(2926),a=n(8369),l=n(7829),i=n(8457),s=n(556);n(1132);let u=n(2003),c=n(6227),f=n(2964),d=n(2593),p=n(2299),m=n(317);n(4317);let h=n(4260),g=n(4710),y=n(9152),b=n(7300),v=n(1777),S=n(630),E=n(4363);t.ModuleFederation=class{initOptions(e){e.name&&e.name!==this.options.name&&r.error((0,E.getShortErrorMsg)(E.RUNTIME_010,E.runtimeDescMap)),this.registerPlugins(e.plugins);let t=this.formatOptions(this.options,e);return this.options=t,t}async loadShare(e,t){return this.sharedHandler.loadShare(e,t)}loadShareSync(e,t){return this.sharedHandler.loadShareSync(e,t)}initializeSharing(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o.DEFAULT_SCOPE,t=arguments.length>1?arguments[1]:void 0;return this.sharedHandler.initializeSharing(e,t)}initRawContainer(e,t,n){let r=s.getRemoteInfo({name:e,entry:t}),o=new u.Module({host:this,remoteInfo:r});return o.remoteEntryExports=n,this.moduleCache.set(e,o),o}async loadRemote(e,t){return this.remoteHandler.loadRemote(e,t)}async preloadRemote(e){return this.remoteHandler.preloadRemote(e)}initShareScopeMap(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.sharedHandler.initShareScopeMap(e,t,n)}formatOptions(e,t){let{allShareInfos:n}=a.formatShareConfigs(e,t),{userOptions:r,options:o}=this.hooks.lifecycle.beforeInit.emit({origin:this,userOptions:t,options:e,shareInfo:n}),l=this.remoteHandler.formatAndRegisterRemote(o,r),{allShareInfos:i}=this.sharedHandler.registerShared(o,r),s=[...o.plugins];r.plugins&&r.plugins.forEach(e=>{s.includes(e)||s.push(e)});let u={...e,...t,plugins:s,remotes:l,shared:i};return this.hooks.lifecycle.init.emit({origin:this,options:u}),u}registerPlugins(e){let t=i.registerPlugins(e,this);this.options.plugins=this.options.plugins.reduce((e,t)=>(t&&e&&!e.find(e=>e.name===t.name)&&e.push(t),e),t||[])}registerRemotes(e,t){return this.remoteHandler.registerRemotes(e,t)}registerShared(e){this.sharedHandler.registerShared(this.options,{...this.options,shared:e})}constructor(e){this.hooks=new m.PluginSystem({beforeInit:new d.SyncWaterfallHook(\"beforeInit\"),init:new c.SyncHook,beforeInitContainer:new p.AsyncWaterfallHook(\"beforeInitContainer\"),initContainer:new p.AsyncWaterfallHook(\"initContainer\")}),this.version=\"2.2.3\",this.moduleCache=new Map,this.loaderHook=new m.PluginSystem({getModuleInfo:new c.SyncHook,createScript:new c.SyncHook,createLink:new c.SyncHook,fetch:new f.AsyncHook,loadEntryError:new f.AsyncHook,getModuleFactory:new f.AsyncHook}),this.bridgeHook=new m.PluginSystem({beforeBridgeRender:new c.SyncHook,afterBridgeRender:new c.SyncHook,beforeBridgeDestroy:new c.SyncHook,afterBridgeDestroy:new c.SyncHook});const t=[h.snapshotPlugin(),g.generatePreloadAssetsPlugin()],n={id:l.getBuilderId(),name:e.name,plugins:t,remotes:[],shared:{},inBrowser:S.isBrowserEnvValue};this.name=e.name,this.options=n,this.snapshotHandler=new y.SnapshotHandler(this),this.sharedHandler=new b.SharedHandler(this),this.remoteHandler=new v.RemoteHandler(this),this.shareScopeMap=this.sharedHandler.shareScopeMap,this.registerPlugins([...n.plugins,...e.plugins||[]]),this.options=this.formatOptions(n,e)}}},4391(e,t,n){let r=n(8628),o=n(9350),a=n(630),l=\"object\"==typeof globalThis?globalThis:window,i=(()=>{try{return document.defaultView}catch{return l}})(),s=i;function u(e,t,n){Object.defineProperty(e,t,{value:n,configurable:!1,writable:!0})}function c(e,t){return Object.hasOwnProperty.call(e,t)}c(l,\"__GLOBAL_LOADING_REMOTE_ENTRY__\")||u(l,\"__GLOBAL_LOADING_REMOTE_ENTRY__\",{});let f=l.__GLOBAL_LOADING_REMOTE_ENTRY__;function d(e){var t,n,r,o,a,l;c(e,\"__VMOK__\")&&!c(e,\"__FEDERATION__\")&&u(e,\"__FEDERATION__\",e.__VMOK__),c(e,\"__FEDERATION__\")||(u(e,\"__FEDERATION__\",{__GLOBAL_PLUGIN__:[],__INSTANCES__:[],moduleInfo:{},__SHARE__:{},__MANIFEST_LOADING__:{},__PRELOADED_MAP__:new Map}),u(e,\"__VMOK__\",e.__FEDERATION__)),(t=e.__FEDERATION__).__GLOBAL_PLUGIN__??(t.__GLOBAL_PLUGIN__=[]),(n=e.__FEDERATION__).__INSTANCES__??(n.__INSTANCES__=[]),(r=e.__FEDERATION__).moduleInfo??(r.moduleInfo={}),(o=e.__FEDERATION__).__SHARE__??(o.__SHARE__={}),(a=e.__FEDERATION__).__MANIFEST_LOADING__??(a.__MANIFEST_LOADING__={}),(l=e.__FEDERATION__).__PRELOADED_MAP__??(l.__PRELOADED_MAP__=new Map)}function p(){l.__FEDERATION__.__GLOBAL_PLUGIN__=[],l.__FEDERATION__.__INSTANCES__=[],l.__FEDERATION__.moduleInfo={},l.__FEDERATION__.__SHARE__={},l.__FEDERATION__.__MANIFEST_LOADING__={},Object.keys(f).forEach(e=>{delete f[e]})}function m(e){l.__FEDERATION__.__INSTANCES__.push(e)}function h(){return l.__FEDERATION__.__DEBUG_CONSTRUCTOR__}function g(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,a.isDebugMode)();t&&(l.__FEDERATION__.__DEBUG_CONSTRUCTOR__=e,l.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__=\"2.2.3\")}function y(e,t){if(\"string\"==typeof t)if(e[t])return{value:e[t],key:t};else{for(let n of Object.keys(e)){let[r,o]=n.split(\":\"),a=`${r}:${t}`,l=e[a];if(l)return{value:l,key:a}}return{value:void 0,key:t}}r.error(`getInfoWithoutType: \"key\" must be a string, got ${typeof t} (${JSON.stringify(t)}).`)}d(l),d(i);let b=()=>i.__FEDERATION__.moduleInfo,v=(e,t)=>{let n=y(t,o.getFMId(e)).value;if(n&&!n.version&&\"version\"in e&&e.version&&(n.version=e.version),n)return n;if(\"version\"in e&&e.version){let{version:t,...n}=e,r=o.getFMId(n),a=y(i.__FEDERATION__.moduleInfo,r).value;if((null==a?void 0:a.version)===t)return a}},S=e=>v(e,i.__FEDERATION__.moduleInfo),E=(e,t)=>{let n=o.getFMId(e);return i.__FEDERATION__.moduleInfo[n]=t,i.__FEDERATION__.moduleInfo},_=e=>(i.__FEDERATION__.moduleInfo={...i.__FEDERATION__.moduleInfo,...e},()=>{for(let t of Object.keys(e))delete i.__FEDERATION__.moduleInfo[t]}),k=(e,t)=>{let n=t||`__FEDERATION_${e}:custom__`;return{remoteEntryKey:n,entryExports:l[n]}},w=e=>{let{__GLOBAL_PLUGIN__:t}=i.__FEDERATION__;e.forEach(e=>{-1===t.findIndex(t=>t.name===e.name)?t.push(e):r.warn(`The plugin ${e.name} has been registered.`)})},N=()=>i.__FEDERATION__.__GLOBAL_PLUGIN__,R=e=>l.__FEDERATION__.__PRELOADED_MAP__.get(e),T=e=>l.__FEDERATION__.__PRELOADED_MAP__.set(e,!0);t.CurrentGlobal=l,t.Global=s,t.addGlobalSnapshot=_,t.getGlobalFederationConstructor=h,t.getGlobalHostPlugins=N,t.getGlobalSnapshot=b,t.getGlobalSnapshotInfoByModuleInfo=S,t.getInfoWithoutType=y,t.getPreloaded=R,t.getRemoteEntryExports=k,t.getTargetSnapshotInfoByModuleInfo=v,t.globalLoading=f,t.nativeGlobal=i,t.registerGlobalPlugins=w,t.resetFederationGlobalInfo=p,t.setGlobalFederationConstructor=g,t.setGlobalFederationInstance=m,t.setGlobalSnapshotInfoByModuleInfo=E,t.setPreloaded=T},3509(e,t,n){let r=n(4391),o=n(8369),a=n(6079),l=n(556);n(1132);let i=n(9599),s={getRegisteredShare:o.getRegisteredShare,getGlobalShareScope:o.getGlobalShareScope};t.default={global:{Global:r.Global,nativeGlobal:r.nativeGlobal,resetFederationGlobalInfo:r.resetFederationGlobalInfo,setGlobalFederationInstance:r.setGlobalFederationInstance,getGlobalFederationConstructor:r.getGlobalFederationConstructor,setGlobalFederationConstructor:r.setGlobalFederationConstructor,getInfoWithoutType:r.getInfoWithoutType,getGlobalSnapshot:r.getGlobalSnapshot,getTargetSnapshotInfoByModuleInfo:r.getTargetSnapshotInfoByModuleInfo,getGlobalSnapshotInfoByModuleInfo:r.getGlobalSnapshotInfoByModuleInfo,setGlobalSnapshotInfoByModuleInfo:r.setGlobalSnapshotInfoByModuleInfo,addGlobalSnapshot:r.addGlobalSnapshot,getRemoteEntryExports:r.getRemoteEntryExports,registerGlobalPlugins:r.registerGlobalPlugins,getGlobalHostPlugins:r.getGlobalHostPlugins,getPreloaded:r.getPreloaded,setPreloaded:r.setPreloaded},share:s,utils:{matchRemoteWithNameAndExpose:a.matchRemoteWithNameAndExpose,preloadAssets:i.preloadAssets,getRemoteInfo:l.getRemoteInfo}}},5922(e,t,n){Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"});let r=n(8628),o=n(9350),a=n(4391),l=n(3957),i=n(8369),s=n(6079),u=n(556);n(1132);let c=n(3509),f=n(2003),d=n(5871),p=n(7703),m=n(630),h=c.default;t.CurrentGlobal=a.CurrentGlobal,t.Global=a.Global,t.Module=f.Module,t.ModuleFederation=d.ModuleFederation,t.addGlobalSnapshot=a.addGlobalSnapshot,t.assert=r.assert,t.error=r.error,t.getGlobalFederationConstructor=a.getGlobalFederationConstructor,t.getGlobalSnapshot=a.getGlobalSnapshot,t.getInfoWithoutType=a.getInfoWithoutType,t.getRegisteredShare=i.getRegisteredShare,t.getRemoteEntry=u.getRemoteEntry,t.getRemoteInfo=u.getRemoteInfo,t.helpers=h,t.isStaticResourcesEqual=o.isStaticResourcesEqual,Object.defineProperty(t,\"loadScript\",{enumerable:!0,get:function(){return m.loadScript}}),Object.defineProperty(t,\"loadScriptNode\",{enumerable:!0,get:function(){return m.loadScriptNode}}),t.matchRemoteWithNameAndExpose=s.matchRemoteWithNameAndExpose,t.registerGlobalPlugins=a.registerGlobalPlugins,t.resetFederationGlobalInfo=a.resetFederationGlobalInfo,t.safeWrapper=o.safeWrapper,t.satisfy=l.satisfy,t.setGlobalFederationConstructor=a.setGlobalFederationConstructor,t.setGlobalFederationInstance=a.setGlobalFederationInstance,Object.defineProperty(t,\"types\",{enumerable:!0,get:function(){return p.type_exports}})},2003(e,t,n){let r=n(8628),o=n(9350),a=n(556),l=n(8393);n(1132);let i=n(630),s=n(4363);function u(e,t,n){let r=t,o=Array.isArray(e.shareScope)?e.shareScope:[e.shareScope];o.length||o.push(\"default\"),o.forEach(e=>{r[e]||(r[e]={})});let a={version:e.version||\"\",shareScopeKeys:Array.isArray(e.shareScope)?o:e.shareScope||\"default\"};return Object.defineProperty(a,\"shareScopeMap\",{value:r,enumerable:!1}),{remoteEntryInitOptions:a,shareScope:r[o[0]],initScope:n??[]}}t.Module=class{async getEntry(){if(this.remoteEntryExports)return this.remoteEntryExports;let e=await a.getRemoteEntry({origin:this.host,remoteInfo:this.remoteInfo,remoteEntryExports:this.remoteEntryExports});return r.assert(e,`remoteEntryExports is undefined \n ${(0,i.safeToString)(this.remoteInfo)}`),this.remoteEntryExports=e,this.remoteEntryExports}async init(e,t,n){let o=await this.getEntry();if(this.inited)return o;if(this.initPromise)return await this.initPromise,o;this.initing=!0,this.initPromise=(async()=>{let{remoteEntryInitOptions:a,shareScope:i,initScope:c}=u(this.remoteInfo,this.host.shareScopeMap,n),f=await this.host.hooks.lifecycle.beforeInitContainer.emit({shareScope:i,remoteEntryInitOptions:a,initScope:c,remoteInfo:this.remoteInfo,origin:this.host});void 0===(null==o?void 0:o.init)&&r.error(s.RUNTIME_002,s.runtimeDescMap,{hostName:this.host.name,remoteName:this.remoteInfo.name,remoteEntryUrl:this.remoteInfo.entry,remoteEntryKey:this.remoteInfo.entryGlobalName},void 0,l.optionsToMFContext(this.host.options)),await o.init(f.shareScope,f.initScope,f.remoteEntryInitOptions),await this.host.hooks.lifecycle.initContainer.emit({...f,id:e,remoteSnapshot:t,remoteEntryExports:o}),this.inited=!0})();try{await this.initPromise}finally{this.initing=!1,this.initPromise=void 0}return o}async get(e,t,n,a){let l,{loadFactory:i=!0}=n||{loadFactory:!0},s=await this.init(e,a);this.lib=s,(l=await this.host.loaderHook.lifecycle.getModuleFactory.emit({remoteEntryExports:s,expose:t,moduleInfo:this.remoteInfo}))||(l=await s.get(t)),r.assert(l,`${o.getFMId(this.remoteInfo)} remote don't export ${t}.`);let u=o.processModuleAlias(this.remoteInfo.name,t),c=this.wraperFactory(l,u);return i?await c():c}wraperFactory(e,t){function n(e,t){e&&\"object\"==typeof e&&Object.isExtensible(e)&&!Object.getOwnPropertyDescriptor(e,Symbol.for(\"mf_module_id\"))&&Object.defineProperty(e,Symbol.for(\"mf_module_id\"),{value:t,enumerable:!1})}return e instanceof Promise?async()=>{let r=await e();return n(r,t),r}:()=>{let r=e();return n(r,t),r}}constructor({remoteInfo:e,host:t}){this.inited=!1,this.initing=!1,this.lib=void 0,this.remoteInfo=e,this.host=t}}},4710(e,t,n){let r=n(9350),o=n(4391),a=n(8369);n(1132);let l=n(9599),i=n(4260),s=n(630);function u(e){let t=e.split(\":\");return 1===t.length?{name:t[0],version:void 0}:2===t.length?{name:t[0],version:t[1]}:{name:t[1],version:t[2]}}function c(e,t,n,a){let l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},i=arguments.length>5?arguments[5]:void 0,{value:f}=o.getInfoWithoutType(e,r.getFMId(t)),d=i||f;if(d&&!(0,s.isManifestProvider)(d)&&(n(d,t,a),d.remotesInfo))for(let t of Object.keys(d.remotesInfo)){if(l[t])continue;l[t]=!0;let r=u(t),o=d.remotesInfo[t];c(e,{name:r.name,version:o.matchedVersion},n,!1,l,void 0)}}let f=(e,t)=>document.querySelector(`${e}[${\"link\"===e?\"href\":\"src\"}=\"${t}\"]`);function d(e,t,n,i,u){let d=[],p=[],m=[],h=new Set,g=new Set,{options:y}=e,{preloadConfig:b}=t,{depsRemote:v}=b;if(c(i,n,(t,n,a)=>{var i;let u;if(a)u=b;else if(Array.isArray(v)){let e=v.find(e=>e.nameOrAlias===n.name||e.nameOrAlias===n.alias);if(!e)return;u=l.defaultPreloadArgs(e)}else{if(!0!==v)return;u=b}let c=(0,s.getResourceUrl)(t,r.getRemoteEntryInfoFromSnapshot(t).url);c&&m.push({name:n.name,moduleInfo:{name:n.name,entry:c,type:\"remoteEntryType\"in t?t.remoteEntryType:\"global\",entryGlobalName:\"globalName\"in t?t.globalName:n.name,shareScope:\"\",version:\"version\"in t?t.version:void 0},url:c});let f=\"modules\"in t?t.modules:[],h=l.normalizePreloadExposes(u.exposes);function g(e){let n=e.map(e=>(0,s.getResourceUrl)(t,e));return u.filter?n.filter(u.filter):n}if(h.length&&\"modules\"in t&&(f=null==t||null==(i=t.modules)?void 0:i.reduce((e,t)=>((null==h?void 0:h.indexOf(t.moduleName))!==-1&&e.push(t),e),[])),f){let r=f.length;for(let a=0;a<r;a++){let r=f[a],l=`${n.name}/${r.moduleName}`;e.remoteHandler.hooks.lifecycle.handlePreloadModule.emit({id:\".\"===r.moduleName?n.name:l,name:n.name,remoteSnapshot:t,preloadConfig:u,remote:n,origin:e}),o.getPreloaded(l)||(\"all\"===u.resourceCategory?(d.push(...g(r.assets.css.async)),d.push(...g(r.assets.css.sync)),p.push(...g(r.assets.js.async)),p.push(...g(r.assets.js.sync))):\"sync\"===u.resourceCategory&&(d.push(...g(r.assets.css.sync)),p.push(...g(r.assets.js.sync))),o.setPreloaded(l))}}},!0,{},u),u.shared&&u.shared.length>0){let t=(t,n)=>{let{shared:r}=a.getRegisteredShare(e.shareScopeMap,n.sharedName,t,e.sharedHandler.hooks.lifecycle.resolveShare)||{};r&&\"function\"==typeof r.lib&&(n.assets.js.sync.forEach(e=>{h.add(e)}),n.assets.css.sync.forEach(e=>{g.add(e)}))};u.shared.forEach(e=>{var n;let o=null==(n=y.shared)?void 0:n[e.sharedName];if(!o)return;let a=e.version?o.find(t=>t.version===e.version):o;a&&r.arrayOptions(a).forEach(n=>{t(n,e)})})}let S=p.filter(e=>!h.has(e)&&!f(\"script\",e));return{cssAssets:d.filter(e=>!g.has(e)&&!f(\"link\",e)),jsAssetsWithoutEntry:S,entryAssets:m.filter(e=>!f(\"script\",e.url))}}t.generatePreloadAssetsPlugin=function(){return{name:\"generate-preload-assets-plugin\",async generatePreloadAssets(e){let{origin:t,preloadOptions:n,remoteInfo:o,remote:a,globalSnapshot:l,remoteSnapshot:u}=e;return s.isBrowserEnvValue?r.isRemoteInfoWithEntry(a)&&r.isPureRemoteEntry(a)?{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[{name:a.name,url:a.entry,moduleInfo:{name:o.name,entry:a.entry,type:o.type||\"global\",entryGlobalName:\"\",shareScope:\"\"}}]}:(i.assignRemoteInfo(o,u),d(t,n,o,l,u)):{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[]}}}}},9152(e,t,n){let r=n(8628),o=n(9350),a=n(4391),l=n(8393);n(1132);let i=n(2964),s=n(2299),u=n(317);n(4317);let c=n(630),f=n(4363);function d(e,t){let n=a.getGlobalSnapshotInfoByModuleInfo({name:t.name,version:t.options.version}),r=n&&\"remotesInfo\"in n&&n.remotesInfo&&a.getInfoWithoutType(n.remotesInfo,e.name).value;return r&&r.matchedVersion?{hostGlobalSnapshot:n,globalSnapshot:a.getGlobalSnapshot(),remoteSnapshot:a.getGlobalSnapshotInfoByModuleInfo({name:e.name,version:r.matchedVersion})}:{hostGlobalSnapshot:void 0,globalSnapshot:a.getGlobalSnapshot(),remoteSnapshot:a.getGlobalSnapshotInfoByModuleInfo({name:e.name,version:\"version\"in e?e.version:void 0})}}t.SnapshotHandler=class{async loadRemoteSnapshotInfo(e){let t,n,{moduleInfo:i,id:s,expose:u}=e,{options:d}=this.HostInstance;await this.hooks.lifecycle.beforeLoadRemoteSnapshot.emit({options:d,moduleInfo:i});let p=a.getGlobalSnapshotInfoByModuleInfo({name:this.HostInstance.options.name,version:this.HostInstance.options.version});p||(p={version:this.HostInstance.options.version||\"\",remoteEntry:\"\",remotesInfo:{}},a.addGlobalSnapshot({[this.HostInstance.options.name]:p})),p&&\"remotesInfo\"in p&&!a.getInfoWithoutType(p.remotesInfo,i.name).value&&(\"version\"in i||\"entry\"in i)&&(p.remotesInfo={...null==p?void 0:p.remotesInfo,[i.name]:{matchedVersion:\"version\"in i?i.version:i.entry}});let{hostGlobalSnapshot:m,remoteSnapshot:h,globalSnapshot:g}=this.getGlobalRemoteInfo(i),{remoteSnapshot:y,globalSnapshot:b}=await this.hooks.lifecycle.loadSnapshot.emit({options:d,moduleInfo:i,hostGlobalSnapshot:m,remoteSnapshot:h,globalSnapshot:g});if(y)if((0,c.isManifestProvider)(y)){let e=c.isBrowserEnvValue?y.remoteEntry:y.ssrRemoteEntry||y.remoteEntry||\"\",r=await this.getManifestJson(e,i,{}),o=a.setGlobalSnapshotInfoByModuleInfo({...i,entry:e},r);t=r,n=o}else{let{remoteSnapshot:e}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:i,remoteSnapshot:y,from:\"global\"});t=e,n=b}else if(o.isRemoteInfoWithEntry(i)){let e=await this.getManifestJson(i.entry,i,{}),r=a.setGlobalSnapshotInfoByModuleInfo(i,e),{remoteSnapshot:o}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:i,remoteSnapshot:e,from:\"global\"});t=o,n=r}else r.error(f.RUNTIME_007,f.runtimeDescMap,{remoteName:i.name,remoteVersion:i.version,hostName:this.HostInstance.options.name,globalSnapshot:JSON.stringify(b)},void 0,l.optionsToMFContext(this.HostInstance.options));return await this.hooks.lifecycle.afterLoadSnapshot.emit({id:s,host:this.HostInstance,options:d,moduleInfo:i,remoteSnapshot:t}),{remoteSnapshot:t,globalSnapshot:n}}getGlobalRemoteInfo(e){return d(e,this.HostInstance)}async getManifestJson(e,t,n){let o=async()=>{let n=this.manifestCache.get(e);if(n)return n;try{let t=await this.loaderHook.lifecycle.fetch.emit(e,{});t&&t instanceof Response||(t=await fetch(e,{})),n=await t.json()}catch(o){(n=await this.HostInstance.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:e,error:o,from:\"runtime\",lifecycle:\"afterResolve\",origin:this.HostInstance}))||(delete this.manifestLoading[e],r.error(f.RUNTIME_003,f.runtimeDescMap,{manifestUrl:e,moduleName:t.name,hostName:this.HostInstance.options.name},`${o}`,l.optionsToMFContext(this.HostInstance.options)))}return r.assert(n.metaData&&n.exposes&&n.shared,`\"${e}\" is not a valid federation manifest for remote \"${t.name}\". Missing required fields: ${[!n.metaData&&\"metaData\",!n.exposes&&\"exposes\",!n.shared&&\"shared\"].filter(Boolean).join(\", \")}.`),this.manifestCache.set(e,n),n},a=async()=>{let n=await o(),r=(0,c.generateSnapshotFromManifest)(n,{version:e}),{remoteSnapshot:a}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:t,manifestJson:n,remoteSnapshot:r,manifestUrl:e,from:\"manifest\"});return a};return this.manifestLoading[e]||(this.manifestLoading[e]=a().then(e=>e)),this.manifestLoading[e]}constructor(e){this.loadingHostSnapshot=null,this.manifestCache=new Map,this.hooks=new u.PluginSystem({beforeLoadRemoteSnapshot:new i.AsyncHook(\"beforeLoadRemoteSnapshot\"),loadSnapshot:new s.AsyncWaterfallHook(\"loadGlobalSnapshot\"),loadRemoteSnapshot:new s.AsyncWaterfallHook(\"loadRemoteSnapshot\"),afterLoadSnapshot:new s.AsyncWaterfallHook(\"afterLoadSnapshot\")}),this.manifestLoading=a.Global.__FEDERATION__.__MANIFEST_LOADING__,this.HostInstance=e,this.loaderHook=e.loaderHook}},t.getGlobalRemoteInfo=d},4260(e,t,n){let r=n(8628),o=n(9350);n(1132);let a=n(9599),l=n(630),i=n(4363);function s(e,t){let n=o.getRemoteEntryInfoFromSnapshot(t);n.url||r.error(i.RUNTIME_011,i.runtimeDescMap,{remoteName:e.name});let a=(0,l.getResourceUrl)(t,n.url);l.isBrowserEnvValue||a.startsWith(\"http\")||(a=`https:${a}`),e.type=n.type,e.entryGlobalName=n.globalName,e.entry=a,e.version=t.version,e.buildVersion=t.buildVersion}function u(){return{name:\"snapshot-plugin\",async afterResolve(e){let{remote:t,pkgNameOrAlias:n,expose:r,origin:l,remoteInfo:i,id:u}=e;if(!o.isRemoteInfoWithEntry(t)||!o.isPureRemoteEntry(t)){let{remoteSnapshot:o,globalSnapshot:c}=await l.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:t,id:u});s(i,o);let f={remote:t,preloadConfig:{nameOrAlias:n,exposes:[r],resourceCategory:\"sync\",share:!1,depsRemote:!1}},d=await l.remoteHandler.hooks.lifecycle.generatePreloadAssets.emit({origin:l,preloadOptions:f,remoteInfo:i,remote:t,remoteSnapshot:o,globalSnapshot:c});return d&&a.preloadAssets(i,l,d,!1),{...e,remoteSnapshot:o}}return e}}}t.assignRemoteInfo=s,t.snapshotPlugin=u},1777(e,t,n){let r=n(8628),o=n(4391),a=n(2926),l=n(8369),i=n(6079),s=n(556),u=n(8393);n(1132);let c=n(9599),f=n(2003),d=n(6227),p=n(2964),m=n(2593),h=n(2299),g=n(317);n(4317);let y=n(9152),b=n(630),v=n(4363);t.RemoteHandler=class{formatAndRegisterRemote(e,t){return(t.remotes||[]).reduce((e,t)=>(this.registerRemote(t,e,{force:!1}),e),e.remotes)}setIdToRemoteMap(e,t){let{remote:n,expose:r}=t,{name:o,alias:a}=n;if(this.idToRemoteMap[e]={name:n.name,expose:r},a&&e.startsWith(o)){let t=e.replace(o,a);this.idToRemoteMap[t]={name:n.name,expose:r};return}if(a&&e.startsWith(a)){let t=e.replace(a,o);this.idToRemoteMap[t]={name:n.name,expose:r}}}async loadRemote(e,t){let{host:n}=this;try{let{loadFactory:r=!0}=t||{loadFactory:!0},{module:o,moduleOptions:a,remoteMatchInfo:l}=await this.getRemoteModuleAndOptions({id:e}),{pkgNameOrAlias:i,remote:s,expose:u,id:c,remoteSnapshot:f}=l,d=await o.get(c,u,t,f),p=await this.hooks.lifecycle.onLoad.emit({id:c,pkgNameOrAlias:i,expose:u,exposeModule:r?d:void 0,exposeModuleFactory:r?void 0:d,remote:s,options:a,moduleInstance:o,origin:n});if(this.setIdToRemoteMap(e,l),\"function\"==typeof p)return p;return d}catch(a){let{from:r=\"runtime\"}=t||{from:\"runtime\"},o=await this.hooks.lifecycle.errorLoadRemote.emit({id:e,error:a,from:r,lifecycle:\"onLoad\",origin:n});if(!o)throw a;return o}}async preloadRemote(e){let{host:t}=this;await this.hooks.lifecycle.beforePreloadRemote.emit({preloadOps:e,options:t.options,origin:t});let n=c.formatPreloadArgs(t.options.remotes,e);await Promise.all(n.map(async e=>{let{remote:n}=e,r=s.getRemoteInfo(n),{globalSnapshot:o,remoteSnapshot:a}=await t.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:n}),l=await this.hooks.lifecycle.generatePreloadAssets.emit({origin:t,preloadOptions:e,remote:n,remoteInfo:r,globalSnapshot:o,remoteSnapshot:a});l&&c.preloadAssets(r,t,l)}))}registerRemotes(e,t){let{host:n}=this;e.forEach(e=>{this.registerRemote(e,n.options.remotes,{force:null==t?void 0:t.force})})}async getRemoteModuleAndOptions(e){let t,{host:n}=this,{id:o}=e;try{t=await this.hooks.lifecycle.beforeRequest.emit({id:o,options:n.options,origin:n})}catch(e){if(!(t=await this.hooks.lifecycle.errorLoadRemote.emit({id:o,options:n.options,origin:n,from:\"runtime\",error:e,lifecycle:\"beforeRequest\"})))throw e}let{id:a}=t,l=i.matchRemoteWithNameAndExpose(n.options.remotes,a);l||r.error(v.RUNTIME_004,v.runtimeDescMap,{hostName:n.options.name,requestId:a},void 0,u.optionsToMFContext(n.options));let{remote:c}=l,d=s.getRemoteInfo(c),p=await n.sharedHandler.hooks.lifecycle.afterResolve.emit({id:a,...l,options:n.options,origin:n,remoteInfo:d}),{remote:m,expose:h}=p;r.assert(m&&h,`The 'beforeRequest' hook was executed, but it failed to return the correct 'remote' and 'expose' values while loading ${a}.`);let g=n.moduleCache.get(m.name),y={host:n,remoteInfo:d};return g||(g=new f.Module(y),n.moduleCache.set(m.name,g)),{module:g,moduleOptions:y,remoteMatchInfo:p}}registerRemote(e,t,n){let{host:o}=this,l=()=>{if(e.alias){let n=t.find(t=>{var n;return e.alias&&(t.name.startsWith(e.alias)||(null==(n=t.alias)?void 0:n.startsWith(e.alias)))});r.assert(!n,`The alias ${e.alias} of remote ${e.name} is not allowed to be the prefix of ${n&&n.name} name or alias`)}\"entry\"in e&&b.isBrowserEnvValue&&\"u\">typeof window&&!e.entry.startsWith(\"http\")&&(e.entry=new URL(e.entry,window.location.origin).href),e.shareScope||(e.shareScope=a.DEFAULT_SCOPE),e.type||(e.type=a.DEFAULT_REMOTE_TYPE)};this.hooks.lifecycle.beforeRegisterRemote.emit({remote:e,origin:o});let i=t.find(t=>t.name===e.name);if(i){let r=[`The remote \"${e.name}\" is already registered.`,\"Please note that overriding it may cause unexpected errors.\"];(null==n?void 0:n.force)&&(this.removeRemote(i),l(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:o}),(0,b.warn)(r.join(\" \")))}else l(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:o})}removeRemote(e){try{let{host:n}=this,{name:r}=e,a=n.options.remotes.findIndex(e=>e.name===r);-1!==a&&n.options.remotes.splice(a,1);let i=n.moduleCache.get(e.name);if(i){var t;let r=i.remoteInfo,a=r.entryGlobalName;o.CurrentGlobal[a]&&((null==(t=Object.getOwnPropertyDescriptor(o.CurrentGlobal,a))?void 0:t.configurable)?delete o.CurrentGlobal[a]:o.CurrentGlobal[a]=void 0);let u=s.getRemoteEntryUniqueKey(i.remoteInfo);o.globalLoading[u]&&delete o.globalLoading[u],n.snapshotHandler.manifestCache.delete(r.entry);let c=r.buildVersion?(0,b.composeKeyWithSeparator)(r.name,r.buildVersion):r.name,f=o.CurrentGlobal.__FEDERATION__.__INSTANCES__.findIndex(e=>r.buildVersion?e.options.id===c:e.name===c);if(-1!==f){let e=o.CurrentGlobal.__FEDERATION__.__INSTANCES__[f];c=e.options.id||c;let t=l.getGlobalShareScope(),n=!0,a=[];Object.keys(t).forEach(e=>{let o=t[e];o&&Object.keys(o).forEach(t=>{let l=o[t];l&&Object.keys(l).forEach(o=>{let i=l[o];i&&Object.keys(i).forEach(l=>{let s=i[l];s&&\"object\"==typeof s&&s.from===r.name&&(s.loaded||s.loading?(s.useIn=s.useIn.filter(e=>e!==r.name),s.useIn.length?n=!1:a.push([e,t,o,l])):a.push([e,t,o,l]))})})})}),n&&(e.shareScopeMap={},delete t[c]),a.forEach(e=>{var n,r,o;let[a,l,i,s]=e;null==(o=t[a])||null==(r=o[l])||null==(n=r[i])||delete n[s]}),o.CurrentGlobal.__FEDERATION__.__INSTANCES__.splice(f,1)}let{hostGlobalSnapshot:d}=y.getGlobalRemoteInfo(e,n);if(d){let t=d&&\"remotesInfo\"in d&&d.remotesInfo&&o.getInfoWithoutType(d.remotesInfo,e.name).key;t&&(delete d.remotesInfo[t],o.Global.__FEDERATION__.__MANIFEST_LOADING__[t]&&delete o.Global.__FEDERATION__.__MANIFEST_LOADING__[t])}n.moduleCache.delete(e.name)}}catch(e){r.logger.error(`removeRemote failed: ${e instanceof Error?e.message:String(e)}`)}}constructor(e){this.hooks=new g.PluginSystem({beforeRegisterRemote:new m.SyncWaterfallHook(\"beforeRegisterRemote\"),registerRemote:new m.SyncWaterfallHook(\"registerRemote\"),beforeRequest:new h.AsyncWaterfallHook(\"beforeRequest\"),onLoad:new p.AsyncHook(\"onLoad\"),handlePreloadModule:new d.SyncHook(\"handlePreloadModule\"),errorLoadRemote:new p.AsyncHook(\"errorLoadRemote\"),beforePreloadRemote:new p.AsyncHook(\"beforePreloadRemote\"),generatePreloadAssets:new p.AsyncHook(\"generatePreloadAssets\"),afterPreloadRemote:new p.AsyncHook,loadEntry:new p.AsyncHook}),this.host=e,this.idToRemoteMap={}}}},7300(e,t,n){let r=n(8628),o=n(2926),a=n(8369),l=n(8393);n(1132);let i=n(2964),s=n(2593),u=n(2299),c=n(317);n(4317);let f=n(4363);t.SharedHandler=class{registerShared(e,t){let{newShareInfos:n,allShareInfos:r}=a.formatShareConfigs(e,t);return Object.keys(n).forEach(e=>{n[e].forEach(n=>{n.scope.forEach(r=>{var o;this.hooks.lifecycle.beforeRegisterShare.emit({origin:this.host,pkgName:e,shared:n}),(null==(o=this.shareScopeMap[r])?void 0:o[e])||this.setShared({pkgName:e,lib:n.lib,get:n.get,loaded:n.loaded||!!n.lib,shared:n,from:t.name})})})}),{newShareInfos:n,allShareInfos:r}}async loadShare(e,t){let{host:n}=this,o=a.getTargetSharedOptions({pkgName:e,extraOptions:t,shareInfos:n.options.shared});(null==o?void 0:o.scope)&&await Promise.all(o.scope.map(async e=>{await Promise.all(this.initializeSharing(e,{strategy:o.strategy}))}));let{shareInfo:l}=await this.hooks.lifecycle.beforeLoadShare.emit({pkgName:e,shareInfo:o,shared:n.options.shared,origin:n});r.assert(l,`Cannot find shared \"${e}\" in host \"${n.options.name}\". Ensure the shared config for \"${e}\" is declared in the federation plugin options and the host has been initialized before loading shares.`);let{shared:i,useTreesShaking:s}=a.getRegisteredShare(this.shareScopeMap,e,l,this.hooks.lifecycle.resolveShare)||{};if(i){let t=a.directShare(i,s);if(t.lib)return a.addUseIn(t,n.options.name),t.lib;if(t.loading&&!t.loaded){let e=await t.loading;return t.loaded=!0,t.lib||(t.lib=e),a.addUseIn(t,n.options.name),e}{let r=(async()=>{let e=await t.get();return a.addUseIn(t,n.options.name),t.loaded=!0,t.lib=e,e})();return this.setShared({pkgName:e,loaded:!1,shared:i,from:n.options.name,lib:null,loading:r,treeShaking:s?t:void 0}),r}}{if(null==t?void 0:t.customShareInfo)return!1;let r=a.shouldUseTreeShaking(l.treeShaking),o=a.directShare(l,r),i=(async()=>{let t=await o.get();o.lib=t,o.loaded=!0,a.addUseIn(o,n.options.name);let{shared:r,useTreesShaking:i}=a.getRegisteredShare(this.shareScopeMap,e,l,this.hooks.lifecycle.resolveShare)||{};if(r){let e=a.directShare(r,i);e.lib=t,e.loaded=!0,r.from=l.from}return t})();return this.setShared({pkgName:e,loaded:!1,shared:l,from:n.options.name,lib:null,loading:i,treeShaking:r?o:void 0}),i}}initializeSharing(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o.DEFAULT_SCOPE,t=arguments.length>1?arguments[1]:void 0,{host:n}=this,r=null==t?void 0:t.from,l=null==t?void 0:t.strategy,i=null==t?void 0:t.initScope,s=[];if(\"build\"!==r){let{initTokens:t}=this;i||(i=[]);let n=t[e];if(n||(n=t[e]={from:this.host.name}),i.indexOf(n)>=0)return s;i.push(n)}let u=this.shareScopeMap,c=n.options.name;u[e]||(u[e]={});let f=u[e],d=(e,t)=>{var n;let{version:r,eager:o}=t;f[e]=f[e]||{};let l=f[e],i=l[r]&&a.directShare(l[r]),s=!!(i&&(\"eager\"in i&&i.eager||\"shareConfig\"in i&&(null==(n=i.shareConfig)?void 0:n.eager)));(!i||\"loaded-first\"!==i.strategy&&!i.loaded&&(!o!=!s?o:c>l[r].from))&&(l[r]=t)},p=async e=>{let t,{module:r}=await n.remoteHandler.getRemoteModuleAndOptions({id:e});try{t=await r.getEntry()}catch(r){if(!(t=await n.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:e,error:r,from:\"runtime\",lifecycle:\"beforeLoadShare\",origin:n})))return}finally{(null==t?void 0:t.init)&&!r.initing&&(r.remoteEntryExports=t,await r.init(void 0,void 0,i))}};return Object.keys(n.options.shared).forEach(t=>{n.options.shared[t].forEach(n=>{n.scope.includes(e)&&d(t,n)})}),(\"version-first\"===n.options.shareStrategy||\"version-first\"===l)&&n.options.remotes.forEach(t=>{t.shareScope===e&&s.push(p(t.name))}),s}loadShareSync(e,t){let{host:n}=this,o=a.getTargetSharedOptions({pkgName:e,extraOptions:t,shareInfos:n.options.shared});(null==o?void 0:o.scope)&&o.scope.forEach(e=>{this.initializeSharing(e,{strategy:o.strategy})});let{shared:i,useTreesShaking:s}=a.getRegisteredShare(this.shareScopeMap,e,o,this.hooks.lifecycle.resolveShare)||{};if(i){if(\"function\"==typeof i.lib)return a.addUseIn(i,n.options.name),i.loaded||(i.loaded=!0,i.from===n.options.name&&(o.loaded=!0)),i.lib;if(\"function\"==typeof i.get){let t=i.get();if(!(t instanceof Promise))return a.addUseIn(i,n.options.name),this.setShared({pkgName:e,loaded:!0,from:n.options.name,lib:t,shared:i}),t}}if(o.lib)return o.loaded||(o.loaded=!0),o.lib;if(o.get){let a=o.get();return a instanceof Promise&&r.error((null==t?void 0:t.from)===\"build\"?f.RUNTIME_005:f.RUNTIME_006,f.runtimeDescMap,{hostName:n.options.name,sharedPkgName:e},void 0,l.optionsToMFContext(n.options)),o.lib=a,this.setShared({pkgName:e,loaded:!0,from:n.options.name,lib:o.lib,shared:o}),o.lib}r.error(f.RUNTIME_006,f.runtimeDescMap,{hostName:n.options.name,sharedPkgName:e},void 0,l.optionsToMFContext(n.options))}initShareScopeMap(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{host:r}=this;this.shareScopeMap[e]=t,this.hooks.lifecycle.initContainerShareScopeMap.emit({shareScope:t,options:r.options,origin:r,scopeName:e,hostShareScopeMap:n.hostShareScopeMap})}setShared(e){let{pkgName:t,shared:n,from:r,lib:o,loading:a,loaded:l,get:i,treeShaking:s}=e,{version:u,scope:c=\"default\",...f}=n,d=Array.isArray(c)?c:[c],p=e=>{let t=(e,t,n)=>{n&&!e[t]&&(e[t]=n)},n=s?e.treeShaking:e;t(n,\"loaded\",l),t(n,\"loading\",a),t(n,\"get\",i)};d.forEach(e=>{this.shareScopeMap[e]||(this.shareScopeMap[e]={}),this.shareScopeMap[e][t]||(this.shareScopeMap[e][t]={}),this.shareScopeMap[e][t][u]||(this.shareScopeMap[e][t][u]={version:u,scope:[e],...f,lib:o});let n=this.shareScopeMap[e][t][u];p(n),r&&n.from!==r&&(n.from=r)})}_setGlobalShareScopeMap(e){let t=a.getGlobalShareScope(),n=e.id||e.name;n&&!t[n]&&(t[n]=this.shareScopeMap)}constructor(e){this.hooks=new c.PluginSystem({beforeRegisterShare:new s.SyncWaterfallHook(\"beforeRegisterShare\"),afterResolve:new u.AsyncWaterfallHook(\"afterResolve\"),beforeLoadShare:new u.AsyncWaterfallHook(\"beforeLoadShare\"),loadShare:new i.AsyncHook,resolveShare:new s.SyncWaterfallHook(\"resolveShare\"),initContainerShareScopeMap:new s.SyncWaterfallHook(\"initContainerShareScopeMap\")}),this.host=e,this.shareScopeMap={},this.initTokens={},this._setGlobalShareScopeMap(e.options)}}},7703(e,t,n){var r=n(1748).__exportAll({});Object.defineProperty(t,\"type_exports\",{enumerable:!0,get:function(){return r}})},8393(e,t){function n(e){return{name:e.name,alias:e.alias,entry:\"entry\"in e?e.entry:void 0,version:\"version\"in e?e.version:void 0,type:e.type,entryGlobalName:e.entryGlobalName,shareScope:e.shareScope}}t.optionsToMFContext=function(e){var t,r,o,a,l,i;let s={};for(let[t,n]of Object.entries(e.shared)){let e=n[0];e&&(s[t]={version:e.version,singleton:null==(o=e.shareConfig)?void 0:o.singleton,requiredVersion:(null==(a=e.shareConfig)?void 0:a.requiredVersion)!==!1&&(null==(l=e.shareConfig)?void 0:l.requiredVersion),eager:e.eager,strictVersion:null==(i=e.shareConfig)?void 0:i.strictVersion})}return{project:{name:e.name,mfRole:(null==(t=e.remotes)?void 0:t.length)>0?\"host\":\"unknown\"},mfConfig:{name:e.name,remotes:(null==(r=e.remotes)?void 0:r.map(n))??[],shared:s}}}},7829(e,t,n){n(630),t.getBuilderId=function(){return\"pimcore_datahub_bundle:0.0.1\"}},2964(e,t,n){let r=n(6227);t.AsyncHook=class extends r.SyncHook{emit(){let e;for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];let o=Array.from(this.listeners);if(o.length>0){let t=0,r=e=>!1!==e&&(t<o.length?Promise.resolve(o[t++].apply(null,n)).then(r):e);e=r()}return Promise.resolve(e)}}},2299(e,t,n){let r=n(8628),o=n(9350),a=n(6227),l=n(2593);t.AsyncWaterfallHook=class extends a.SyncHook{emit(e){o.isObject(e)||r.error(`The response data for the \"${this.type}\" hook must be an object.`);let t=Array.from(this.listeners);if(t.length>0){let n=0,o=t=>(r.warn(t),this.onerror(t),e),a=r=>{if(l.checkReturnData(e,r)){if(e=r,n<t.length)try{return Promise.resolve(t[n++](e)).then(a,o)}catch(e){return o(e)}}else this.onerror(`A plugin returned an incorrect value for the \"${this.type}\" type.`);return e};return Promise.resolve(a(e))}return Promise.resolve(e)}constructor(e){super(),this.onerror=r.error,this.type=e}}},4317(e,t,n){n(6227),n(2964),n(2593),n(2299),n(317)},317(e,t,n){let r=n(8628),o=n(9350);n(1132),t.PluginSystem=class{applyPlugin(e,t){r.assert(o.isPlainObject(e),\"Plugin configuration is invalid.\");let n=e.name;if(r.assert(n,\"A name must be provided by the plugin.\"),!this.registerPlugins[n]){var a;this.registerPlugins[n]=e,null==(a=e.apply)||a.call(e,t),Object.keys(this.lifecycle).forEach(t=>{let n=e[t];n&&this.lifecycle[t].on(n)})}}removePlugin(e){r.assert(e,\"A name is required.\");let t=this.registerPlugins[e];r.assert(t,`The plugin \"${e}\" is not registered.`),Object.keys(t).forEach(e=>{\"name\"!==e&&this.lifecycle[e].remove(t[e])})}constructor(e){this.registerPlugins={},this.lifecycle=e,this.lifecycleKeys=Object.keys(e)}}},6227(e,t){t.SyncHook=class{on(e){\"function\"==typeof e&&this.listeners.add(e)}once(e){let t=this;this.on(function n(){for(var r=arguments.length,o=Array(r),a=0;a<r;a++)o[a]=arguments[a];return t.remove(n),e.apply(null,o)})}emit(){let e;for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return this.listeners.size>0&&this.listeners.forEach(t=>{e=t(...n)}),e}remove(e){this.listeners.delete(e)}removeAll(){this.listeners.clear()}constructor(e){this.type=\"\",this.listeners=new Set,e&&(this.type=e)}}},2593(e,t,n){let r=n(8628),o=n(9350),a=n(6227);function l(e,t){if(!o.isObject(t))return!1;if(e!==t){for(let n in e)if(!(n in t))return!1}return!0}t.SyncWaterfallHook=class extends a.SyncHook{emit(e){for(let t of(o.isObject(e)||r.error(`The data for the \"${this.type}\" hook should be an object.`),this.listeners))try{let n=t(e);if(l(e,n))e=n;else{this.onerror(`A plugin returned an unacceptable value for the \"${this.type}\" type.`);break}}catch(e){r.warn(e),this.onerror(e)}return e}constructor(e){super(),this.onerror=r.error,this.type=e}},t.checkReturnData=l},1132(e,t,n){n(8628),n(9350),n(7829),n(6079),n(8457),n(556),n(8393),n(630)},556(e,t,n){let r=n(8628),o=n(4391),a=n(2926),l=n(630),i=n(4363),s=\".then(callbacks[0]).catch(callbacks[1])\";async function u(e){let{entry:t,remoteEntryExports:n}=e;return new Promise((e,o)=>{try{n?e(n):\"u\">typeof FEDERATION_ALLOW_NEW_FUNCTION?Function(\"callbacks\",`import(\"${t}\")${s}`)([e,o]):import(t).then(e).catch(o)}catch(e){r.error(`Failed to load ESM entry from \"${t}\". ${e instanceof Error?e.message:String(e)}`)}})}async function c(e){let{entry:t,remoteEntryExports:n}=e;return new Promise((e,o)=>{try{n?e(n):Function(\"callbacks\",`System.import(\"${t}\")${s}`)([e,o])}catch(e){r.error(`Failed to load SystemJS entry from \"${t}\". ${e instanceof Error?e.message:String(e)}`)}})}function f(e,t,n){let{remoteEntryKey:a,entryExports:l}=o.getRemoteEntryExports(e,t);return l||r.error(i.RUNTIME_001,i.runtimeDescMap,{remoteName:e,remoteEntryUrl:n,remoteEntryKey:a}),l}async function d(e){let{name:t,globalName:n,entry:a,loaderHook:s,getEntryUrl:u}=e,{entryExports:c}=o.getRemoteEntryExports(t,n);if(c)return c;let d=u?u(a):a;return(0,l.loadScript)(d,{attrs:{},createScriptHook:(e,t)=>{let n=s.lifecycle.createScript.emit({url:e,attrs:t});if(n&&(n instanceof HTMLScriptElement||\"script\"in n||\"timeout\"in n))return n}}).then(()=>f(t,n,a),e=>{let n=e instanceof Error?e.message:String(e);r.error(i.RUNTIME_008,i.runtimeDescMap,{remoteName:t,resourceUrl:d},n)})}async function p(e){let{remoteInfo:t,remoteEntryExports:n,loaderHook:r,getEntryUrl:o}=e,{entry:a,entryGlobalName:l,name:i,type:s}=t;switch(s){case\"esm\":case\"module\":return u({entry:a,remoteEntryExports:n});case\"system\":return c({entry:a,remoteEntryExports:n});default:return d({entry:a,globalName:l,name:i,loaderHook:r,getEntryUrl:o})}}async function m(e){let{remoteInfo:t,loaderHook:n}=e,{entry:a,entryGlobalName:i,name:s,type:u}=t,{entryExports:c}=o.getRemoteEntryExports(s,i);return c||(0,l.loadScriptNode)(a,{attrs:{name:s,globalName:i,type:u},loaderHook:{createScriptHook:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.lifecycle.createScript.emit({url:e,attrs:t});if(r&&\"url\"in r)return r}}}).then(()=>f(s,i,a)).catch(e=>{r.error(`Failed to load Node.js entry for remote \"${s}\" from \"${a}\". ${e instanceof Error?e.message:String(e)}`)})}function h(e){let{entry:t,name:n}=e;return(0,l.composeKeyWithSeparator)(n,t)}async function g(e){let{origin:t,remoteEntryExports:n,remoteInfo:r,getEntryUrl:a,_inErrorHandling:s=!1}=e,u=h(r);if(n)return n;if(!o.globalLoading[u]){let e=t.remoteHandler.hooks.lifecycle.loadEntry,c=t.loaderHook;o.globalLoading[u]=e.emit({loaderHook:c,remoteInfo:r,remoteEntryExports:n}).then(e=>e||((\"u\">typeof ENV_TARGET?\"web\"===ENV_TARGET:l.isBrowserEnvValue)?p({remoteInfo:r,remoteEntryExports:n,loaderHook:c,getEntryUrl:a}):m({remoteInfo:r,loaderHook:c}))).catch(async e=>{let a=h(r),l=e instanceof Error&&e.message.includes(\"ScriptExecutionError\");if(e instanceof Error&&e.message.includes(i.RUNTIME_008)&&!l&&!s){let e=e=>g({...e,_inErrorHandling:!0}),l=await t.loaderHook.lifecycle.loadEntryError.emit({getRemoteEntry:e,origin:t,remoteInfo:r,remoteEntryExports:n,globalLoading:o.globalLoading,uniqueKey:a});if(l)return l}throw e})}return o.globalLoading[u]}function y(e){return{...e,entry:\"entry\"in e?e.entry:\"\",type:e.type||a.DEFAULT_REMOTE_TYPE,entryGlobalName:e.entryGlobalName||e.name,shareScope:e.shareScope||a.DEFAULT_SCOPE}}t.getRemoteEntry=g,t.getRemoteEntryUniqueKey=h,t.getRemoteInfo=y},8628(e,t,n){let r=n(630),o=n(6619),a=\"[ Federation Runtime ]\",l=(0,r.createLogger)(a);function i(e,t,n,r,l){if(void 0!==t)return(0,o.logAndReport)(e,t,n??{},e=>{throw Error(`${a}: ${e}`)},r,l);let i=e;if(i instanceof Error)throw i.message.startsWith(a)||(i.message=`${a}: ${i.message}`),i;throw Error(`${a}: ${i}`)}function s(e){e instanceof Error&&(e.message.startsWith(a)||(e.message=`${a}: ${e.message}`)),l.warn(e)}t.assert=function(e,t,n,r,o){e||(void 0!==n?i(t,n,r,void 0,o):i(t))},t.error=i,t.logger=l,t.warn=s},6079(e,t){function n(e,t){for(let n of e){let e=t.startsWith(n.name),r=t.replace(n.name,\"\");if(e){if(r.startsWith(\"/\"))return{pkgNameOrAlias:n.name,expose:r=`.${r}`,remote:n};else if(\"\"===r)return{pkgNameOrAlias:n.name,expose:\".\",remote:n}}let o=n.alias&&t.startsWith(n.alias),a=n.alias&&t.replace(n.alias,\"\");if(n.alias&&o){if(a&&a.startsWith(\"/\"))return{pkgNameOrAlias:n.alias,expose:a=`.${a}`,remote:n};else if(\"\"===a)return{pkgNameOrAlias:n.alias,expose:\".\",remote:n}}}}t.matchRemote=function(e,t){for(let n of e)if(t===n.name||n.alias&&t===n.alias)return n},t.matchRemoteWithNameAndExpose=n},8457(e,t,n){let r=n(4391);t.registerPlugins=function(e,t){let n=r.getGlobalHostPlugins(),o=[t.hooks,t.remoteHandler.hooks,t.sharedHandler.hooks,t.snapshotHandler.hooks,t.loaderHook,t.bridgeHook];return n.length>0&&n.forEach(t=>{(null==e?void 0:e.find(e=>e.name!==t.name))&&e.push(t)}),e&&e.length>0&&e.forEach(e=>{o.forEach(n=>{n.applyPlugin(e,t)})}),e}},9599(e,t,n){let r=n(8628),o=n(6079),a=n(556),l=n(630);function i(e){return{resourceCategory:\"sync\",share:!0,depsRemote:!0,prefetchInterface:!1,...e}}function s(e,t){return t.map(t=>{let n=o.matchRemote(e,t.nameOrAlias);return r.assert(n,`Unable to preload ${t.nameOrAlias} as it is not included in ${!n&&(0,l.safeToString)({remoteInfo:n,remotes:e})}`),{remote:n,preloadConfig:i(t)}})}function u(e){return e?e.map(e=>\".\"===e?e:e.startsWith(\"./\")?e.replace(\"./\",\"\"):e):[]}function c(e,t,n){let r=!(arguments.length>3)||void 0===arguments[3]||arguments[3],{cssAssets:o,jsAssetsWithoutEntry:i,entryAssets:s}=n;if(t.options.inBrowser){if(s.forEach(n=>{let{moduleInfo:r}=n,o=t.moduleCache.get(e.name);o?a.getRemoteEntry({origin:t,remoteInfo:r,remoteEntryExports:o.remoteEntryExports}):a.getRemoteEntry({origin:t,remoteInfo:r,remoteEntryExports:void 0})}),r){let e={rel:\"preload\",as:\"style\"};o.forEach(n=>{let{link:r,needAttach:o}=(0,l.createLink)({url:n,cb:()=>{},attrs:e,createLinkHook:(e,n)=>{let r=t.loaderHook.lifecycle.createLink.emit({url:e,attrs:n});if(r instanceof HTMLLinkElement)return r}});o&&document.head.appendChild(r)})}else{let e={rel:\"stylesheet\",type:\"text/css\"};o.forEach(n=>{let{link:r,needAttach:o}=(0,l.createLink)({url:n,cb:()=>{},attrs:e,createLinkHook:(e,n)=>{let r=t.loaderHook.lifecycle.createLink.emit({url:e,attrs:n});if(r instanceof HTMLLinkElement)return r},needDeleteLink:!1});o&&document.head.appendChild(r)})}if(r){let e={rel:\"preload\",as:\"script\"};i.forEach(n=>{let{link:r,needAttach:o}=(0,l.createLink)({url:n,cb:()=>{},attrs:e,createLinkHook:(e,n)=>{let r=t.loaderHook.lifecycle.createLink.emit({url:e,attrs:n});if(r instanceof HTMLLinkElement)return r}});o&&document.head.appendChild(r)})}else{let n={fetchpriority:\"high\",type:(null==e?void 0:e.type)===\"module\"?\"module\":\"text/javascript\"};i.forEach(e=>{let{script:r,needAttach:o}=(0,l.createScript)({url:e,cb:()=>{},attrs:n,createScriptHook:(e,n)=>{let r=t.loaderHook.lifecycle.createScript.emit({url:e,attrs:n});if(r instanceof HTMLScriptElement)return r},needDeleteScript:!0});o&&document.head.appendChild(r)})}}}t.defaultPreloadArgs=i,t.formatPreloadArgs=s,t.normalizePreloadExposes=u,t.preloadAssets=c},632(e,t){function n(e,t){return(e=Number(e)||e)>(t=Number(t)||t)?1:e===t?0:-1}function r(e,t){let{preRelease:r}=e,{preRelease:o}=t;if(void 0===r&&o)return 1;if(r&&void 0===o)return -1;if(void 0===r&&void 0===o)return 0;for(let e=0,t=r.length;e<=t;e++){let t=r[e],a=o[e];if(t!==a){if(void 0===t&&void 0===a)return 0;if(!t)return 1;if(!a)return -1;return n(t,a)}}return 0}function o(e,t){return n(e.major,t.major)||n(e.minor,t.minor)||n(e.patch,t.patch)||r(e,t)}function a(e,t){return e.version===t.version}t.compare=function(e,t){switch(e.operator){case\"\":case\"=\":return a(e,t);case\">\":return 0>o(e,t);case\">=\":return a(e,t)||0>o(e,t);case\"<\":return o(e,t)>0;case\"<=\":return a(e,t)||o(e,t)>0;case void 0:return!0;default:return!1}}},9570(e,t){let n=\"[0-9A-Za-z-]+\",r=`(?:\\\\+(${n}(?:\\\\.${n})*))`,o=\"0|[1-9]\\\\d*\",a=\"[0-9]+\",l=\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\",i=`(?:${a}|${l})`,s=`(?:-?(${i}(?:\\\\.${i})*))`,u=`(?:${o}|${l})`,c=`(?:-(${u}(?:\\\\.${u})*))`,f=`${o}|x|X|\\\\*`,d=`[v=\\\\s]*(${f})(?:\\\\.(${f})(?:\\\\.(${f})(?:${c})?${r}?)?)?`,p=`^\\\\s*(${d})\\\\s+-\\\\s+(${d})\\\\s*$`,m=`[v=\\\\s]*${`(${a})\\\\.(${a})\\\\.(${a})`}${s}?${r}?`,h=\"((?:<|>)?=?)\",g=`(\\\\s*)${h}\\\\s*(${m}|${d})`,y=\"(?:~>?)\",b=`(\\\\s*)${y}\\\\s+`,v=\"(?:\\\\^)\",S=`(\\\\s*)${v}\\\\s+`,E=\"(<|>)?=?\\\\s*\\\\*\",_=`^${v}${d}$`,k=`v?${`(${o})\\\\.(${o})\\\\.(${o})`}${c}?${r}?`,w=`^${y}${d}$`,N=`^${h}\\\\s*${d}$`,R=`^${h}\\\\s*(${k})$|^$`,T=\"^\\\\s*>=\\\\s*0.0.0\\\\s*$\";t.caret=_,t.caretTrim=S,t.comparator=R,t.comparatorTrim=g,t.gte0=T,t.hyphenRange=p,t.star=E,t.tilde=w,t.tildeTrim=b,t.xRange=N},3957(e,t,n){let r=n(78),o=n(3810),a=n(632);function l(e){return r.pipe(o.parseCarets,o.parseTildes,o.parseXRanges,o.parseStar)(e)}function i(e){return r.pipe(o.parseHyphen,o.parseComparatorTrim,o.parseTildeTrim,o.parseCaretTrim)(e.trim()).split(/\\s+/).join(\" \")}t.satisfy=function(e,t){if(!e)return!1;let n=r.extractComparator(e);if(!n)return!1;let[,s,,u,c,f,d]=n,p={operator:s,version:r.combineVersion(u,c,f,d),major:u,minor:c,patch:f,preRelease:null==d?void 0:d.split(\".\")};for(let e of t.split(\"||\")){let t=e.trim();if(!t||\"*\"===t||\"x\"===t)return!0;try{let e=i(t);if(!e.trim())return!0;let n=e.split(\" \").map(e=>l(e)).join(\" \");if(!n.trim())return!0;let s=n.split(/\\s+/).map(e=>o.parseGTE0(e)).filter(Boolean);if(0===s.length)continue;let u=!0;for(let e of s){let t=r.extractComparator(e);if(!t){u=!1;break}let[,n,,o,l,i,s]=t;if(!a.compare({operator:n,version:r.combineVersion(o,l,i,s),major:o,minor:l,patch:i,preRelease:null==s?void 0:s.split(\".\")},p)){u=!1;break}}if(u)return!0}catch(e){console.error(`[semver] Error processing range part \"${t}\":`,e);continue}}return!1}},3810(e,t,n){let r=n(9570),o=n(78);function a(e){return e.replace(o.parseRegex(r.hyphenRange),(e,t,n,r,a,l,i,s,u,c,f,d)=>(t=o.isXVersion(n)?\"\":o.isXVersion(r)?`>=${n}.0.0`:o.isXVersion(a)?`>=${n}.${r}.0`:`>=${t}`,s=o.isXVersion(u)?\"\":o.isXVersion(c)?`<${Number(u)+1}.0.0-0`:o.isXVersion(f)?`<${u}.${Number(c)+1}.0-0`:d?`<=${u}.${c}.${f}-${d}`:`<=${s}`,`${t} ${s}`.trim()))}function l(e){return e.replace(o.parseRegex(r.comparatorTrim),\"$1$2$3\")}function i(e){return e.replace(o.parseRegex(r.tildeTrim),\"$1~\")}function s(e){return e.trim().split(/\\s+/).map(e=>e.replace(o.parseRegex(r.caret),(e,t,n,r,a)=>{if(o.isXVersion(t))return\"\";if(o.isXVersion(n))return`>=${t}.0.0 <${Number(t)+1}.0.0-0`;if(o.isXVersion(r))if(\"0\"===t)return`>=${t}.${n}.0 <${t}.${Number(n)+1}.0-0`;else return`>=${t}.${n}.0 <${Number(t)+1}.0.0-0`;if(a)if(\"0\"!==t)return`>=${t}.${n}.${r}-${a} <${Number(t)+1}.0.0-0`;else if(\"0\"===n)return`>=${t}.${n}.${r}-${a} <${t}.${n}.${Number(r)+1}-0`;else return`>=${t}.${n}.${r}-${a} <${t}.${Number(n)+1}.0-0`;if(\"0\"===t)if(\"0\"===n)return`>=${t}.${n}.${r} <${t}.${n}.${Number(r)+1}-0`;else return`>=${t}.${n}.${r} <${t}.${Number(n)+1}.0-0`;return`>=${t}.${n}.${r} <${Number(t)+1}.0.0-0`})).join(\" \")}function u(e){return e.trim().split(/\\s+/).map(e=>e.replace(o.parseRegex(r.tilde),(e,t,n,r,a)=>o.isXVersion(t)?\"\":o.isXVersion(n)?`>=${t}.0.0 <${Number(t)+1}.0.0-0`:o.isXVersion(r)?`>=${t}.${n}.0 <${t}.${Number(n)+1}.0-0`:a?`>=${t}.${n}.${r}-${a} <${t}.${Number(n)+1}.0-0`:`>=${t}.${n}.${r} <${t}.${Number(n)+1}.0-0`)).join(\" \")}function c(e){return e.split(/\\s+/).map(e=>e.trim().replace(o.parseRegex(r.xRange),(e,t,n,r,a,l)=>{let i=o.isXVersion(n),s=i||o.isXVersion(r),u=s||o.isXVersion(a);if(\"=\"===t&&u&&(t=\"\"),l=\"\",i)if(\">\"===t||\"<\"===t)return\"<0.0.0-0\";else return\"*\";return t&&u?(s&&(r=0),a=0,\">\"===t?(t=\">=\",s?(n=Number(n)+1,r=0):r=Number(r)+1,a=0):\"<=\"===t&&(t=\"<\",s?n=Number(n)+1:r=Number(r)+1),\"<\"===t&&(l=\"-0\"),`${t+n}.${r}.${a}${l}`):s?`>=${n}.0.0${l} <${Number(n)+1}.0.0-0`:u?`>=${n}.${r}.0${l} <${n}.${Number(r)+1}.0-0`:e})).join(\" \")}function f(e){return e.trim().replace(o.parseRegex(r.star),\"\")}function d(e){return e.trim().replace(o.parseRegex(r.gte0),\"\")}t.parseCaretTrim=function(e){return e.replace(o.parseRegex(r.caretTrim),\"$1^\")},t.parseCarets=s,t.parseComparatorTrim=l,t.parseGTE0=d,t.parseHyphen=a,t.parseStar=f,t.parseTildeTrim=i,t.parseTildes=u,t.parseXRanges=c},78(e,t,n){let r=n(9570);function o(e){return new RegExp(e)}function a(e){return!e||\"x\"===e.toLowerCase()||\"*\"===e}function l(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return e=>t.reduce((e,t)=>t(e),e)}function i(e){return e.match(o(r.comparator))}t.combineVersion=function(e,t,n,r){let o=`${e}.${t}.${n}`;return r?`${o}-${r}`:o},t.extractComparator=i,t.isXVersion=a,t.parseRegex=o,t.pipe=l},8369(e,t,n){let r=n(8628),o=n(9350),a=n(4391),l=n(2926),i=n(3957),s=n(630);function u(e,t,n,o){var a,l;let i;return i=\"get\"in e?e.get:\"lib\"in e?()=>Promise.resolve(e.lib):()=>Promise.resolve(()=>{r.error(`Cannot get shared \"${n}\" from \"${t}\": neither \"get\" nor \"lib\" is provided in the share config.`)}),(null==(a=e.shareConfig)?void 0:a.eager)&&(null==(l=e.treeShaking)?void 0:l.mode)&&r.error(`Invalid shared config for \"${n}\" from \"${t}\": cannot use both \"eager: true\" and \"treeShaking.mode\" simultaneously. Choose one strategy.`),{deps:[],useIn:[],from:t,loading:null,...e,shareConfig:{requiredVersion:`^${e.version}`,singleton:!1,eager:!1,strictVersion:!1,...e.shareConfig},get:i,loaded:null!=e&&!!e.loaded||\"lib\"in e||void 0,version:e.version??\"0\",scope:Array.isArray(e.scope)?e.scope:[e.scope??\"default\"],strategy:(e.strategy??o)||\"version-first\",treeShaking:e.treeShaking?{...e.treeShaking,mode:e.treeShaking.mode??\"server-calc\",status:e.treeShaking.status??s.TreeShakingStatus.UNKNOWN,useIn:[]}:void 0}}function c(e,t){let n=t.shared||{},r=t.name,a=Object.keys(n).reduce((e,a)=>{let l=o.arrayOptions(n[a]);return e[a]=e[a]||[],l.forEach(n=>{e[a].push(u(n,r,a,t.shareStrategy))}),e},{}),l={...e.shared};return Object.keys(a).forEach(e=>{l[e]?a[e].forEach(t=>{l[e].find(e=>e.version===t.version)||l[e].push(t)}):l[e]=a[e]}),{allShareInfos:l,newShareInfos:a}}function f(e,t){if(!e)return!1;let{status:n,mode:r}=e;return n!==s.TreeShakingStatus.NO_USE&&(n===s.TreeShakingStatus.CALCULATED||\"runtime-infer\"===r&&(!t||g(e,t)))}function d(e,t){let n=e=>{if(!Number.isNaN(Number(e))){let t=e.split(\".\"),n=e;for(let e=0;e<3-t.length;e++)n+=\".0\";return n}return e};return!!i.satisfy(n(e),`<=${n(t)}`)}let p=(e,t)=>{let n=t||function(e,t){return d(e,t)};return Object.keys(e).reduce((e,t)=>!e||n(e,t)||\"0\"===e?t:e,0)},m=e=>!!e.loaded||\"function\"==typeof e.lib,h=e=>!!e.loading,g=(e,t)=>{if(!e||!t)return!1;let{usedExports:n}=e;return!!n&&!!t.every(e=>n.includes(e))};function y(e,t,n,r){let o=e[t][n],a=\"\",l=f(r),i=function(e,t){return l?!o[e].treeShaking||!!o[t].treeShaking&&!m(o[e].treeShaking)&&d(e,t):!m(o[e])&&d(e,t)};if(l){if(a=p(e[t][n],i))return{version:a,useTreesShaking:l};l=!1}return{version:p(e[t][n],i),useTreesShaking:l}}let b=e=>m(e)||h(e);function v(e,t,n,r){let o=e[t][n],a=\"\",l=f(r),i=function(e,t){if(l){if(!o[e].treeShaking)return!0;if(!o[t].treeShaking)return!1;if(b(o[t].treeShaking))if(b(o[e].treeShaking))return!!d(e,t);else return!0;if(b(o[e].treeShaking))return!1}if(b(o[t]))if(b(o[e]))return!!d(e,t);else return!0;return!b(o[e])&&d(e,t)};if(l){if(a=p(e[t][n],i))return{version:a,useTreesShaking:l};l=!1}return{version:p(e[t][n],i),useTreesShaking:l}}function S(e){return\"loaded-first\"===e?v:y}function E(e,t,n,o){if(!e)return;let{shareConfig:s,scope:u=l.DEFAULT_SCOPE,strategy:c,treeShaking:d}=n;for(let l of Array.isArray(u)?u:[u])if(s&&e[l]&&e[l][t]){let{requiredVersion:u}=s,{version:p,useTreesShaking:m}=S(c)(e,l,t,d),h=()=>{let o=e[l][t][p];if(s.singleton){if(\"string\"==typeof u&&!i.satisfy(p,u)){let e=`Version ${p} from ${p&&o.from} of shared singleton module ${t} does not satisfy the requirement of ${n.from} which needs ${u})`;s.strictVersion?r.error(e):r.warn(e)}return{shared:o,useTreesShaking:m}}{if(!1===u||\"*\"===u||i.satisfy(p,u))return{shared:o,useTreesShaking:m};let n=f(d);if(n){for(let[r,o]of Object.entries(e[l][t]))if(f(o.treeShaking,null==d?void 0:d.usedExports)&&i.satisfy(r,u))return{shared:o,useTreesShaking:n}}for(let[n,r]of Object.entries(e[l][t]))if(i.satisfy(n,u))return{shared:r,useTreesShaking:!1}}},g={shareScopeMap:e,scope:l,pkgName:t,version:p,GlobalFederation:a.Global.__FEDERATION__,shareInfo:n,resolver:h};return(o.emit(g)||g).resolver()}}function _(){return a.Global.__FEDERATION__.__SHARE__}function k(e){let{pkgName:t,extraOptions:n,shareInfos:r}=e,o=e=>{if(!e)return;let t={};e.forEach(e=>{t[e.version]=e});let n=function(e,n){return!m(t[e])&&d(e,n)};return t[p(t,n)]},a=(null==n?void 0:n.resolver)??o,l=e=>null!==e&&\"object\"==typeof e&&!Array.isArray(e),i=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];let r={};for(let e of t)if(e)for(let[t,n]of Object.entries(e)){let e=r[t];l(e)&&l(n)?r[t]=i(e,n):void 0!==n&&(r[t]=n)}return r};return i(a(r[t]),null==n?void 0:n.customShareInfo)}function w(e,t){return t&&e.treeShaking?e.treeShaking:e}t.addUseIn=(e,t)=>{e.useIn||(e.useIn=[]),o.addUniqueItem(e.useIn,t)},t.directShare=w,t.formatShareConfigs=c,t.getGlobalShareScope=_,t.getRegisteredShare=E,t.getTargetSharedOptions=k,t.shouldUseTreeShaking=f},9350(e,t,n){let r=n(8628),o=n(630);function a(e,t){return -1===e.findIndex(e=>e===t)&&e.push(t),e}function l(e){return\"version\"in e&&e.version?`${e.name}:${e.version}`:\"entry\"in e&&e.entry?`${e.name}:${e.entry}`:`${e.name}`}function i(e){return void 0!==e.entry}function s(e){return!e.entry.includes(\".json\")}async function u(e,t){try{return await e()}catch(e){t||r.warn(e);return}}function c(e){return e&&\"object\"==typeof e}let f=Object.prototype.toString;function d(e){return\"[object Object]\"===f.call(e)}function p(e,t){let n=/^(https?:)?\\/\\//i;return e.replace(n,\"\").replace(/\\/$/,\"\")===t.replace(n,\"\").replace(/\\/$/,\"\")}function m(e){return Array.isArray(e)?e:[e]}function h(e){let t={url:\"\",type:\"global\",globalName:\"\"};return o.isBrowserEnvValue||(0,o.isReactNativeEnv)()||!(\"ssrRemoteEntry\"in e)?\"remoteEntry\"in e?{url:e.remoteEntry,type:e.remoteEntryType,globalName:e.globalName}:t:\"ssrRemoteEntry\"in e?{url:e.ssrRemoteEntry||t.url,type:e.ssrRemoteEntryType||t.type,globalName:e.globalName}:t}let g=(e,t)=>{let n;return n=e.endsWith(\"/\")?e.slice(0,-1):e,t.startsWith(\".\")&&(t=t.slice(1)),n+=t};t.addUniqueItem=a,t.arrayOptions=m,t.getFMId=l,t.getRemoteEntryInfoFromSnapshot=h,t.isObject=c,t.isPlainObject=d,t.isPureRemoteEntry=s,t.isRemoteInfoWithEntry=i,t.isStaticResourcesEqual=p,t.objectToString=f,t.processModuleAlias=g,t.safeWrapper=u},3544(e,t){var n=Object.create,r=Object.defineProperty,o=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,l=Object.getPrototypeOf,i=Object.prototype.hasOwnProperty,s=(e,t,n,l)=>{if(t&&\"object\"==typeof t||\"function\"==typeof t)for(var s,u=a(t),c=0,f=u.length;c<f;c++)s=u[c],i.call(e,s)||s===n||r(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(l=o(t,s))||l.enumerable});return e};t.__toESM=(e,t,o)=>(o=null!=e?n(l(e)):{},s(!t&&e&&e.__esModule?o:r(o,\"default\",{value:e,enumerable:!0}),e))},3129(e,t,n){Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:\"Module\"}}),n(3544);let r=n(9577),o=n(5922),a={...o.helpers.global,getGlobalFederationInstance:r.getGlobalFederationInstance},l=o.helpers.share,i=o.helpers.utils;t.default={global:a,share:l,utils:i},t.global=a,t.share=l,t.utils=i},9782(e,t,n){Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),n(3544);let r=n(9577),o=n(5922),a=n(4363);function l(e){let t=new((0,o.getGlobalFederationConstructor)()||o.ModuleFederation)(e);return(0,o.setGlobalFederationInstance)(t),t}let i=null;function s(e){let t=r.getGlobalFederationInstance(e.name,e.version);return t?(t.initOptions(e),i||(i=t),t):i=l(e)}function u(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,o.assert)(i,a.RUNTIME_009,a.runtimeDescMap),i.loadRemote.apply(i,t)}function c(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,o.assert)(i,a.RUNTIME_009,a.runtimeDescMap),i.loadShare.apply(i,t)}function f(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,o.assert)(i,a.RUNTIME_009,a.runtimeDescMap),i.loadShareSync.apply(i,t)}function d(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,o.assert)(i,a.RUNTIME_009,a.runtimeDescMap),i.preloadRemote.apply(i,t)}function p(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,o.assert)(i,a.RUNTIME_009,a.runtimeDescMap),i.registerRemotes.apply(i,t)}function m(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,o.assert)(i,a.RUNTIME_009,a.runtimeDescMap),i.registerPlugins.apply(i,t)}function h(){return i}function g(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,o.assert)(i,a.RUNTIME_009,a.runtimeDescMap),i.registerShared.apply(i,t)}(0,o.setGlobalFederationConstructor)(o.ModuleFederation),Object.defineProperty(t,\"Module\",{enumerable:!0,get:function(){return o.Module}}),t.ModuleFederation=o.ModuleFederation,t.createInstance=l,t.getInstance=h,Object.defineProperty(t,\"getRemoteEntry\",{enumerable:!0,get:function(){return o.getRemoteEntry}}),Object.defineProperty(t,\"getRemoteInfo\",{enumerable:!0,get:function(){return o.getRemoteInfo}}),t.init=s,t.loadRemote=u,Object.defineProperty(t,\"loadScript\",{enumerable:!0,get:function(){return o.loadScript}}),Object.defineProperty(t,\"loadScriptNode\",{enumerable:!0,get:function(){return o.loadScriptNode}}),t.loadShare=c,t.loadShareSync=f,t.preloadRemote=d,Object.defineProperty(t,\"registerGlobalPlugins\",{enumerable:!0,get:function(){return o.registerGlobalPlugins}}),t.registerPlugins=m,t.registerRemotes=p,t.registerShared=g},9577(e,t,n){n(3544);let r=n(5922);function o(){return\"pimcore_datahub_bundle:0.0.1\"}t.getGlobalFederationInstance=function(e,t){let n=o();return r.CurrentGlobal.__FEDERATION__.__INSTANCES__.find(r=>!!n&&r.options.id===n||r.options.name===e&&!r.options.version&&!t||r.options.name===e&&!!t&&r.options.version===t)}},7688(e,t){var n=Object.defineProperty;t.__exportAll=(e,t)=>{let r={};for(var o in e)n(r,o,{get:e[o],enumerable:!0});return t||n(r,Symbol.toStringTag,{value:\"Module\"}),r}},586(e,t){let n=\"federation-manifest.json\",r=\".json\",o=\"FEDERATION_DEBUG\",a={AT:\"@\",HYPHEN:\"-\",SLASH:\"/\"},l={[a.AT]:\"scope_\",[a.HYPHEN]:\"_\",[a.SLASH]:\"__\"},i={[l[a.AT]]:a.AT,[l[a.HYPHEN]]:a.HYPHEN,[l[a.SLASH]]:a.SLASH},s=\":\",u=\"mf-manifest.json\",c=\"mf-stats.json\",f={NPM:\"npm\",APP:\"app\"},d=\"__MF_DEVTOOLS_MODULE_INFO__\",p=\"ENCODE_NAME_PREFIX\",m=\".federation\",h={identifier:\"MFDataPrefetch\",globalKey:\"__PREFETCH__\",library:\"mf-data-prefetch\",exportsKey:\"__PREFETCH_EXPORTS__\",fileName:\"bootstrap.js\"},g=function(e){return e[e.UNKNOWN=1]=\"UNKNOWN\",e[e.CALCULATED=2]=\"CALCULATED\",e[e.NO_USE=0]=\"NO_USE\",e}({});t.BROWSER_LOG_KEY=o,t.ENCODE_NAME_PREFIX=p,t.EncodedNameTransformMap=i,t.FederationModuleManifest=n,t.MANIFEST_EXT=r,t.MFModuleType=f,t.MFPrefetchCommon=h,t.MODULE_DEVTOOL_IDENTIFIER=d,t.ManifestFileName=u,t.NameTransformMap=l,t.NameTransformSymbol=a,t.SEPARATOR=s,t.StatsFileName=c,t.TEMP_DIR=m,t.TreeShakingStatus=g},1483(e,t){t.createModuleFederationConfig=e=>e},6302(e,t,n){let r=n(3417);async function o(e,t){try{return await e()}catch(e){t||r.warn(e);return}}function a(e,t){let n=/^(https?:)?\\/\\//i;return e.replace(n,\"\").replace(/\\/$/,\"\")===t.replace(n,\"\").replace(/\\/$/,\"\")}function l(e){let t,n=null,r=!0,l=2e4,i=document.getElementsByTagName(\"script\");for(let t=0;t<i.length;t++){let o=i[t],l=o.getAttribute(\"src\");if(l&&a(l,e.url)){n=o,r=!1;break}}if(!n){let t,r=e.attrs;(n=document.createElement(\"script\")).type=(null==r?void 0:r.type)===\"module\"?\"module\":\"text/javascript\",e.createScriptHook&&((t=e.createScriptHook(e.url,e.attrs))instanceof HTMLScriptElement?n=t:\"object\"==typeof t&&(\"script\"in t&&t.script&&(n=t.script),\"timeout\"in t&&t.timeout&&(l=t.timeout))),n.src||(n.src=e.url),r&&!t&&Object.keys(r).forEach(e=>{n&&(\"async\"===e||\"defer\"===e?n[e]=r[e]:n.getAttribute(e)||n.setAttribute(e,r[e]))})}let s=null,u=\"u\">typeof window?t=>{if(t.filename&&a(t.filename,e.url)){let n=Error(`ScriptExecutionError: Script \"${e.url}\" loaded but threw a runtime error during execution: ${t.message} (${t.filename}:${t.lineno}:${t.colno})`);n.name=\"ScriptExecutionError\",s=n}}:null;u&&window.addEventListener(\"error\",u);let c=async(r,a)=>{clearTimeout(t),u&&window.removeEventListener(\"error\",u);let l=()=>{if((null==a?void 0:a.type)===\"error\"){let t=Error(`ScriptNetworkError: Failed to load script \"${e.url}\" - the script URL is unreachable or the server returned an error (network failure, 404, CORS, etc.)`);t.name=\"ScriptNetworkError\",(null==e?void 0:e.onErrorCallback)&&(null==e||e.onErrorCallback(t))}else s?(null==e?void 0:e.onErrorCallback)&&(null==e||e.onErrorCallback(s)):(null==e?void 0:e.cb)&&(null==e||e.cb())};if(n&&(n.onerror=null,n.onload=null,o(()=>{let{needDeleteScript:t=!0}=e;t&&(null==n?void 0:n.parentNode)&&n.parentNode.removeChild(n)}),r&&\"function\"==typeof r)){let e=r(a);if(e instanceof Promise){let t=await e;return l(),t}return l(),e}l()};return n.onerror=c.bind(null,n.onerror),n.onload=c.bind(null,n.onload),t=setTimeout(()=>{c(null,Error(`Remote script \"${e.url}\" time-outed.`))},l),{script:n,needAttach:r}}function i(e,t){let{attrs:n={},createScriptHook:r}=t;return new Promise((t,o)=>{let{script:a,needAttach:i}=l({url:e,cb:t,onErrorCallback:o,attrs:{fetchpriority:\"high\",...n},createScriptHook:r,needDeleteScript:!0});i&&document.head.appendChild(a)})}t.createLink=function(e){let t=null,n=!0,r=document.getElementsByTagName(\"link\");for(let o=0;o<r.length;o++){let l=r[o],i=l.getAttribute(\"href\"),s=l.getAttribute(\"rel\");if(i&&a(i,e.url)&&s===e.attrs.rel){t=l,n=!1;break}}if(!t){let n;(t=document.createElement(\"link\")).setAttribute(\"href\",e.url);let r=e.attrs;e.createLinkHook&&(n=e.createLinkHook(e.url,r))instanceof HTMLLinkElement&&(t=n),r&&!n&&Object.keys(r).forEach(e=>{t&&!t.getAttribute(e)&&t.setAttribute(e,r[e])})}let l=(n,r)=>{let a=()=>{(null==r?void 0:r.type)===\"error\"?(null==e?void 0:e.onErrorCallback)&&(null==e||e.onErrorCallback(r)):(null==e?void 0:e.cb)&&(null==e||e.cb())};if(t&&(t.onerror=null,t.onload=null,o(()=>{let{needDeleteLink:n=!0}=e;n&&(null==t?void 0:t.parentNode)&&t.parentNode.removeChild(t)}),n)){let e=n(r);return a(),e}a()};return t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),{link:t,needAttach:n}},t.createScript=l,t.isStaticResourcesEqual=a,t.loadScript=i,t.safeWrapper=o},6883(e,t,n){let r=n(586),o=\"u\">typeof ENV_TARGET?\"web\"===ENV_TARGET:\"u\">typeof window&&void 0!==window.document;function a(){return o}function l(){var e;return\"u\">typeof navigator&&(null==(e=navigator)?void 0:e.product)===\"ReactNative\"}function i(){try{if(a()&&window.localStorage)return!!localStorage.getItem(r.BROWSER_LOG_KEY)}catch(e){}return!1}function s(){return\"u\">typeof process&&process.env&&process.env.FEDERATION_DEBUG?!!process.env.FEDERATION_DEBUG:!!(\"u\">typeof FEDERATION_DEBUG&&FEDERATION_DEBUG)||i()}t.getProcessEnv=function(){return\"u\">typeof process&&process.env?process.env:{}},t.isBrowserEnv=a,t.isBrowserEnvValue=o,t.isDebugMode=s,t.isReactNativeEnv=l},7016(e,t,n){let r=n(586),o=(e,t)=>{if(!e)return t;let n=(e=>{if(\".\"===e)return\"\";if(e.startsWith(\"./\"))return e.replace(\"./\",\"\");if(e.startsWith(\"/\")){let t=e.slice(1);return t.endsWith(\"/\")?t.slice(0,-1):t}return e})(e);return n?n.endsWith(\"/\")?`${n}${t}`:`${n}/${t}`:t};function a(e){return e.replace(/#.*$/,\"\").replace(/\\?.*$/,\"\").replace(/\\/[^\\/]+$/,\"/\")}function l(e){return!!(\"remoteEntry\"in e&&e.remoteEntry.includes(r.MANIFEST_EXT))}function i(e){if(!e)return{statsFileName:r.StatsFileName,manifestFileName:r.ManifestFileName};let t=\"boolean\"==typeof e?\"\":e.filePath||\"\",n=\"boolean\"==typeof e?\"\":e.fileName||\"\",a=\".json\",l=e=>e.endsWith(a)?e:`${e}${a}`,i=(e,t)=>e.replace(a,`${t}${a}`),s=n?l(n):r.ManifestFileName;return{statsFileName:o(t,n?i(s,\"-stats\"):r.StatsFileName),manifestFileName:o(t,s)}}t.generateSnapshotFromManifest=function(e){var t,n,r;let l,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{remotes:s={},overrides:u={},version:c}=i,f=()=>\"publicPath\"in e.metaData?(\"auto\"===e.metaData.publicPath||\"\"===e.metaData.publicPath)&&c?a(c):e.metaData.publicPath:e.metaData.getPublicPath,d=Object.keys(u),p={};Object.keys(s).length||(p=(null==(t=e.remotes)?void 0:t.reduce((e,t)=>{let n,r=t.federationContainerName;return n=d.includes(r)?u[r]:\"version\"in t?t.version:t.entry,e[r]={matchedVersion:n},e},{}))||{}),Object.keys(s).forEach(e=>p[e]={matchedVersion:d.includes(e)?u[e]:s[e]});let{remoteEntry:{path:m,name:h,type:g},types:y={path:\"\",name:\"\",zip:\"\",api:\"\"},buildInfo:{buildVersion:b},globalName:v,ssrRemoteEntry:S}=e.metaData,{exposes:E}=e,_={version:c||\"\",buildVersion:b,globalName:v,remoteEntry:o(m,h),remoteEntryType:g,remoteTypes:o(y.path,y.name),remoteTypesZip:y.zip||\"\",remoteTypesAPI:y.api||\"\",remotesInfo:p,shared:null==e?void 0:e.shared.map(e=>({assets:e.assets,sharedName:e.name,version:e.version,usedExports:e.referenceExports||[]})),modules:null==E?void 0:E.map(e=>({moduleName:e.name,modulePath:e.path,assets:e.assets}))};if(null==(n=e.metaData)?void 0:n.prefetchInterface){let t=e.metaData.prefetchInterface;_={..._,prefetchInterface:t}}if(null==(r=e.metaData)?void 0:r.prefetchEntry){let{path:t,name:n,type:r}=e.metaData.prefetchEntry;_={..._,prefetchEntry:o(t,n),prefetchEntryType:r}}if(\"publicPath\"in e.metaData?(l={..._,publicPath:f()},\"string\"==typeof e.metaData.ssrPublicPath&&(l.ssrPublicPath=e.metaData.ssrPublicPath)):l={..._,getPublicPath:f()},S){let e=o(S.path,S.name);l.ssrRemoteEntry=e,l.ssrRemoteEntryType=S.type||\"commonjs-module\"}return l},t.getManifestFileName=i,t.inferAutoPublicPath=a,t.isManifestProvider=l,t.simpleJoinRemoteEntry=o},630(e,t,n){Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"});let r=n(586),o=n(8841),a=n(8798),l=n(7765),i=n(1993),s=n(7345),u=n(5448),c=n(6883),f=n(3417),d=n(7016),p=n(3910),m=n(6302),h=n(638),g=n(6967),y=n(1483);t.BROWSER_LOG_KEY=r.BROWSER_LOG_KEY,t.ENCODE_NAME_PREFIX=r.ENCODE_NAME_PREFIX,t.EncodedNameTransformMap=r.EncodedNameTransformMap,t.FederationModuleManifest=r.FederationModuleManifest,t.MANIFEST_EXT=r.MANIFEST_EXT,t.MFModuleType=r.MFModuleType,t.MFPrefetchCommon=r.MFPrefetchCommon,t.MODULE_DEVTOOL_IDENTIFIER=r.MODULE_DEVTOOL_IDENTIFIER,t.ManifestFileName=r.ManifestFileName,t.NameTransformMap=r.NameTransformMap,t.NameTransformSymbol=r.NameTransformSymbol,t.SEPARATOR=r.SEPARATOR,t.StatsFileName=r.StatsFileName,t.TEMP_DIR=r.TEMP_DIR,t.TreeShakingStatus=r.TreeShakingStatus,t.assert=f.assert,t.bindLoggerToCompiler=p.bindLoggerToCompiler,t.composeKeyWithSeparator=f.composeKeyWithSeparator,Object.defineProperty(t,\"consumeSharedPlugin\",{enumerable:!0,get:function(){return s.ConsumeSharedPlugin_exports}}),Object.defineProperty(t,\"containerPlugin\",{enumerable:!0,get:function(){return o.ContainerPlugin_exports}}),Object.defineProperty(t,\"containerReferencePlugin\",{enumerable:!0,get:function(){return a.ContainerReferencePlugin_exports}}),t.createInfrastructureLogger=p.createInfrastructureLogger,t.createLink=m.createLink,t.createLogger=p.createLogger,t.createModuleFederationConfig=y.createModuleFederationConfig,t.createScript=m.createScript,t.createScriptNode=h.createScriptNode,t.decodeName=f.decodeName,t.encodeName=f.encodeName,t.error=f.error,t.generateExposeFilename=f.generateExposeFilename,t.generateShareFilename=f.generateShareFilename,t.generateSnapshotFromManifest=d.generateSnapshotFromManifest,t.getManifestFileName=d.getManifestFileName,t.getProcessEnv=c.getProcessEnv,t.getResourceUrl=f.getResourceUrl,t.inferAutoPublicPath=d.inferAutoPublicPath,t.infrastructureLogger=p.infrastructureLogger,t.isBrowserEnv=c.isBrowserEnv,t.isBrowserEnvValue=c.isBrowserEnvValue,t.isDebugMode=c.isDebugMode,t.isManifestProvider=d.isManifestProvider,t.isReactNativeEnv=c.isReactNativeEnv,t.isRequiredVersion=f.isRequiredVersion,t.isStaticResourcesEqual=m.isStaticResourcesEqual,t.loadScript=m.loadScript,t.loadScriptNode=h.loadScriptNode,t.logger=p.logger,Object.defineProperty(t,\"moduleFederationPlugin\",{enumerable:!0,get:function(){return l.ModuleFederationPlugin_exports}}),t.normalizeOptions=g.normalizeOptions,t.parseEntry=f.parseEntry,Object.defineProperty(t,\"provideSharedPlugin\",{enumerable:!0,get:function(){return u.ProvideSharedPlugin_exports}}),t.safeToString=f.safeToString,t.safeWrapper=m.safeWrapper,Object.defineProperty(t,\"sharePlugin\",{enumerable:!0,get:function(){return i.SharePlugin_exports}}),t.simpleJoinRemoteEntry=d.simpleJoinRemoteEntry,t.warn=f.warn},3910(e,t,n){let r=n(6883),o=\"[ Module Federation ]\",a=console,l=[\"logger.ts\",\"logger.js\",\"captureStackTrace\",\"Logger.emit\",\"Logger.log\",\"Logger.info\",\"Logger.warn\",\"Logger.error\",\"Logger.debug\"];function i(){try{let e=Error().stack;if(!e)return;let[,...t]=e.split(\"\\n\"),n=t.filter(e=>!l.some(t=>e.includes(t)));if(!n.length)return;return`Stack trace:\n${n.slice(0,5).join(\"\\n\")}`}catch{return}}var s=class{setPrefix(e){this.prefix=e}setDelegate(e){this.delegate=e??a}emit(e,t){let n=this.delegate,o=r.isDebugMode()?i():void 0,l=o?[...t,o]:t,s=(()=>{switch(e){case\"log\":return[\"log\",\"info\"];case\"info\":return[\"info\",\"log\"];case\"warn\":return[\"warn\",\"info\",\"log\"];case\"error\":return[\"error\",\"warn\",\"log\"];default:return[\"debug\",\"log\"]}})();for(let e of s){let t=n[e];if(\"function\"==typeof t)return void t.call(n,this.prefix,...l)}for(let e of s){let t=a[e];if(\"function\"==typeof t)return void t.call(a,this.prefix,...l)}}log(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];this.emit(\"log\",t)}warn(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];this.emit(\"warn\",t)}error(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];this.emit(\"error\",t)}success(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];this.emit(\"info\",t)}info(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];this.emit(\"info\",t)}ready(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];this.emit(\"info\",t)}debug(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];r.isDebugMode()&&this.emit(\"debug\",t)}constructor(e,t=a){this.prefix=e,this.delegate=t??a}};function u(e){return new s(e)}function c(e){let t=new s(e);return Object.defineProperty(t,\"__mf_infrastructure_logger__\",{value:!0,enumerable:!1,configurable:!1}),t}function f(e,t,n){if(e.__mf_infrastructure_logger__&&(null==t?void 0:t.getInfrastructureLogger))try{let r=t.getInfrastructureLogger(n);r&&\"object\"==typeof r&&(\"function\"==typeof r.log||\"function\"==typeof r.info||\"function\"==typeof r.warn||\"function\"==typeof r.error)&&e.setDelegate(r)}catch{e.setDelegate(void 0)}}let d=u(o),p=c(o);t.bindLoggerToCompiler=f,t.createInfrastructureLogger=c,t.createLogger=u,t.infrastructureLogger=p,t.logger=d},638(__unused_rspack_module,exports){let sdkImportCache=new Map;function importNodeModule(e){if(!e)throw Error(\"import specifier is required\");if(sdkImportCache.has(e))return sdkImportCache.get(e);let t=Function(\"name\",\"return import(name)\")(e).then(e=>e).catch(t=>{throw console.error(`Error importing module ${e}:`,t),sdkImportCache.delete(e),t});return sdkImportCache.set(e,t),t}let loadNodeFetch=async()=>{let e=await importNodeModule(\"node-fetch\");return e.default||e},lazyLoaderHookFetch=async(e,t,n)=>{let r=(e,t)=>n.lifecycle.fetch.emit(e,t),o=await r(e,t||{});return o&&o instanceof Response?o:(\"u\"<typeof fetch?await loadNodeFetch():fetch)(e,t||{})},createScriptNode=\"u\"<typeof ENV_TARGET||\"web\"!==ENV_TARGET?(url,cb,attrs,loaderHook)=>{let urlObj;if(null==loaderHook?void 0:loaderHook.createScriptHook){let hookResult=loaderHook.createScriptHook(url);hookResult&&\"object\"==typeof hookResult&&\"url\"in hookResult&&(url=hookResult.url)}try{urlObj=new URL(url)}catch(e){console.error(\"Error constructing URL:\",e),cb(Error(`Invalid URL: ${e}`));return}let getFetch=async()=>(null==loaderHook?void 0:loaderHook.fetch)?(e,t)=>lazyLoaderHookFetch(e,t,loaderHook):\"u\"<typeof fetch?loadNodeFetch():fetch,handleScriptFetch=async(f,urlObj)=>{try{var _vm_constants;let requireFn,res=await f(urlObj.href),data=await res.text(),[path,vm]=await Promise.all([importNodeModule(\"path\"),importNodeModule(\"vm\")]),scriptContext={exports:{},module:{exports:{}}},urlDirname=urlObj.pathname.split(\"/\").slice(0,-1).join(\"/\"),filename=path.basename(urlObj.pathname),script=new vm.Script(`(function(exports, module, require, __dirname, __filename) {${data}\n})`,{filename,importModuleDynamically:(null==(_vm_constants=vm.constants)?void 0:_vm_constants.USE_MAIN_CONTEXT_DEFAULT_LOADER)??importNodeModule});requireFn=eval(\"require\"),script.runInThisContext()(scriptContext.exports,scriptContext.module,requireFn,urlDirname,filename);let exportedInterface=scriptContext.module.exports||scriptContext.exports;if(attrs&&exportedInterface&&attrs.globalName)return void cb(void 0,exportedInterface[attrs.globalName]||exportedInterface);cb(void 0,exportedInterface)}catch(e){cb(e instanceof Error?e:Error(`Script execution error: ${e}`))}};getFetch().then(async e=>{if((null==attrs?void 0:attrs.type)===\"esm\"||(null==attrs?void 0:attrs.type)===\"module\")return loadModule(urlObj.href,{fetch:e,vm:await importNodeModule(\"vm\")}).then(async e=>{await e.evaluate(),cb(void 0,e.namespace)}).catch(e=>{cb(e instanceof Error?e:Error(`Script execution error: ${e}`))});handleScriptFetch(e,urlObj)}).catch(e=>{cb(e)})}:(e,t,n,r)=>{t(Error(\"createScriptNode is disabled in non-Node.js environment\"))},loadScriptNode=\"u\"<typeof ENV_TARGET||\"web\"!==ENV_TARGET?(e,t)=>new Promise((n,r)=>{createScriptNode(e,(e,o)=>{if(e)r(e);else{var a,l;let e=(null==t||null==(a=t.attrs)?void 0:a.globalName)||`__FEDERATION_${null==t||null==(l=t.attrs)?void 0:l.name}:custom__`;n(globalThis[e]=o)}},t.attrs,t.loaderHook)}):(e,t)=>{throw Error(\"loadScriptNode is disabled in non-Node.js environment\")},esmModuleCache=new Map;async function loadModule(e,t){if(esmModuleCache.has(e))return esmModuleCache.get(e);let{fetch:n,vm:r}=t,o=await (await n(e)).text(),a=new r.SourceTextModule(o,{importModuleDynamically:async(n,r)=>loadModule(new URL(n,e).href,t)});return esmModuleCache.set(e,a),await a.link(async n=>{let r=new URL(n,e).href;return await loadModule(r,t)}),a}exports.createScriptNode=createScriptNode,exports.loadScriptNode=loadScriptNode},6967(e,t){t.normalizeOptions=function(e,t,n){return function(r){if(!1===r)return!1;if(void 0===r)if(e)return t;else return!1;if(!0===r)return t;if(r&&\"object\"==typeof r)return{...t,...r};throw Error(`Unexpected type for \\`${n}\\`, expect boolean/undefined/object, got: ${typeof r}`)}}},7345(e,t,n){var r=n(7688).__exportAll({});Object.defineProperty(t,\"ConsumeSharedPlugin_exports\",{enumerable:!0,get:function(){return r}})},8841(e,t,n){var r=n(7688).__exportAll({});Object.defineProperty(t,\"ContainerPlugin_exports\",{enumerable:!0,get:function(){return r}})},8798(e,t,n){var r=n(7688).__exportAll({});Object.defineProperty(t,\"ContainerReferencePlugin_exports\",{enumerable:!0,get:function(){return r}})},7765(e,t,n){var r=n(7688).__exportAll({});Object.defineProperty(t,\"ModuleFederationPlugin_exports\",{enumerable:!0,get:function(){return r}})},5448(e,t,n){var r=n(7688).__exportAll({});Object.defineProperty(t,\"ProvideSharedPlugin_exports\",{enumerable:!0,get:function(){return r}})},1993(e,t,n){var r=n(7688).__exportAll({});Object.defineProperty(t,\"SharePlugin_exports\",{enumerable:!0,get:function(){return r}})},3417(e,t,n){let r=n(586),o=n(6883),a=\"[ Federation Runtime ]\",l=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:r.SEPARATOR,a=e.split(n),l=\"development\"===o.getProcessEnv().NODE_ENV&&t,i=\"*\",s=e=>e.startsWith(\"http\")||e.includes(r.MANIFEST_EXT);if(a.length>=2){let[t,...r]=a;e.startsWith(n)&&(t=a.slice(0,2).join(n),r=[l||a.slice(2).join(n)]);let o=l||r.join(n);return s(o)?{name:t,entry:o}:{name:t,version:o||i}}if(1===a.length){let[e]=a;return l&&s(l)?{name:e,entry:l}:{name:e,version:l||i}}throw`Invalid entry value: ${e}`},i=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.length?t.reduce((e,t)=>t?e?`${e}${r.SEPARATOR}${t}`:t:e,\"\"):\"\"},s=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];try{let o=n?\".js\":\"\";return`${t}${e.replace(RegExp(`${r.NameTransformSymbol.AT}`,\"g\"),r.NameTransformMap[r.NameTransformSymbol.AT]).replace(RegExp(`${r.NameTransformSymbol.HYPHEN}`,\"g\"),r.NameTransformMap[r.NameTransformSymbol.HYPHEN]).replace(RegExp(`${r.NameTransformSymbol.SLASH}`,\"g\"),r.NameTransformMap[r.NameTransformSymbol.SLASH])}${o}`}catch(e){throw e}},u=function(e,t,n){try{let o=e;if(t){if(!o.startsWith(t))return o;o=o.replace(RegExp(t,\"g\"),\"\")}return o=o.replace(RegExp(`${r.NameTransformMap[r.NameTransformSymbol.AT]}`,\"g\"),r.EncodedNameTransformMap[r.NameTransformMap[r.NameTransformSymbol.AT]]).replace(RegExp(`${r.NameTransformMap[r.NameTransformSymbol.SLASH]}`,\"g\"),r.EncodedNameTransformMap[r.NameTransformMap[r.NameTransformSymbol.SLASH]]).replace(RegExp(`${r.NameTransformMap[r.NameTransformSymbol.HYPHEN]}`,\"g\"),r.EncodedNameTransformMap[r.NameTransformMap[r.NameTransformSymbol.HYPHEN]]),n&&(o=o.replace(\".js\",\"\")),o}catch(e){throw e}},c=(e,t)=>{if(!e)return\"\";let n=e;return\".\"===n&&(n=\"default_export\"),n.startsWith(\"./\")&&(n=n.replace(\"./\",\"\")),s(n,\"__federation_expose_\",t)},f=(e,t)=>e?s(e,\"__federation_shared_\",t):\"\",d=(e,t)=>{if(\"getPublicPath\"in e){let n;return n=e.getPublicPath.startsWith(\"function\")?Function(\"return \"+e.getPublicPath)()():Function(e.getPublicPath)(),`${n}${t}`}return\"publicPath\"in e?!o.isBrowserEnv()&&!o.isReactNativeEnv()&&\"ssrPublicPath\"in e&&\"string\"==typeof e.ssrPublicPath?`${e.ssrPublicPath}${t}`:`${e.publicPath}${t}`:(console.warn(\"Cannot get resource URL. If in debug mode, please ignore.\",e,t),\"\")},p=e=>{throw Error(`${a}: ${e}`)},m=e=>{console.warn(`${a}: ${e}`)};function h(e){try{return JSON.stringify(e,null,2)}catch(e){return\"\"}}let g=/^([\\d^=v<>~]|[*xX]$)/;function y(e){return g.test(e)}t.assert=(e,t)=>{e||p(t)},t.composeKeyWithSeparator=i,t.decodeName=u,t.encodeName=s,t.error=p,t.generateExposeFilename=c,t.generateShareFilename=f,t.getResourceUrl=d,t.isRequiredVersion=y,t.parseEntry=l,t.safeToString=h,t.warn=m},7363(e,t){var n=Object.create,r=Object.defineProperty,o=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,l=Object.getPrototypeOf,i=Object.prototype.hasOwnProperty,s=(e,t,n,l)=>{if(t&&\"object\"==typeof t||\"function\"==typeof t)for(var s,u=a(t),c=0,f=u.length;c<f;c++)s=u[c],i.call(e,s)||s===n||r(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(l=o(t,s))||l.enumerable});return e};t.__toESM=(e,t,o)=>(o=null!=e?n(l(e)):{},s(!t&&e&&e.__esModule?o:r(o,\"default\",{value:e,enumerable:!0}),e))},2069(e,t){t.attachShareScopeMap=function(e){e.S&&!e.federation.hasAttachShareScopeMap&&e.federation.instance&&e.federation.instance.shareScopeMap&&(e.S=e.federation.instance.shareScopeMap,e.federation.hasAttachShareScopeMap=!0)}},6897(e,t){Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),t.FEDERATION_SUPPORTED_TYPES=[\"script\"]},916(e,t,n){let r=n(2069),o=n(5216),a=n(7617);t.consumes=function(e){o.updateConsumeOptions(e);let{chunkId:t,promises:n,installedModules:l,webpackRequire:i,chunkMapping:s,moduleToHandlerMapping:u}=e;r.attachShareScopeMap(i),i.o(s,t)&&s[t].forEach(e=>{if(i.o(l,e))return n.push(l[e]);let t=t=>{l[e]=0,i.m[e]=n=>{var r;delete i.c[e];let o=t(),{shareInfo:a}=u[e];if((null==a||null==(r=a.shareConfig)?void 0:r.layer)&&o&&\"object\"==typeof o)try{o.hasOwnProperty(\"layer\")&&void 0!==o.layer||(o.layer=a.shareConfig.layer)}catch(e){}n.exports=o}},r=t=>{delete l[e],i.m[e]=n=>{throw delete i.c[e],t}};try{let o=i.federation.instance;if(!o)throw Error(\"Federation instance not found!\");let{shareKey:s,getter:c,shareInfo:f,treeShakingGetter:d}=u[e],p=a.getUsedExports(i,s),m={...f};Array.isArray(m.scope)&&Array.isArray(m.scope[0])&&(m.scope=m.scope[0]),p&&(m.treeShaking={usedExports:p,useIn:[o.options.name]});let h=o.loadShare(s,{customShareInfo:m}).then(e=>!1===e?(null==d?void 0:d())||c():e);h.then?n.push(l[e]=h.then(t).catch(r)):t(h)}catch(e){r(e)}})}},8167(e,t){t.getSharedFallbackGetter=e=>{let{shareKey:t,factory:n,version:r,webpackRequire:o,libraryType:a=\"global\"}=e,{runtime:l,instance:i,bundlerRuntime:s,sharedFallback:u}=o.federation;if(!u)return n;let c=u[t];if(!c)return n;let f=r?c.find(e=>e[1]===r):c[0];if(!f)throw Error(`No fallback item found for shareKey: ${t} and version: ${r}`);return()=>l.getRemoteEntry({origin:o.federation.instance,remoteInfo:{name:f[2],entry:`${o.p}${f[0]}`,type:a,entryGlobalName:f[2],shareScope:\"default\"}}).then(e=>{if(!e)throw Error(`Failed to load fallback entry for shareKey: ${t} and version: ${r}`);return e.init(o.federation.instance,s).then(()=>e.get())})}},7617(e,t){t.getUsedExports=function(e,t){let n=e.federation.usedExports;if(n)return n[t]}},6927(e,t,n){Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:\"Module\"}});let r=n(7363),o=n(2069),a=n(6310),l=n(916),i=n(6777),s=n(1735),u=n(7440),c=n(8531),f=n(8167),d=n(9782),p={runtime:d=r.__toESM(d),instance:void 0,initOptions:void 0,bundlerRuntime:{remotes:a.remotes,consumes:l.consumes,I:i.initializeSharing,S:{},installInitialConsumes:s.installInitialConsumes,initContainerEntry:u.initContainerEntry,init:c.init,getSharedFallbackGetter:f.getSharedFallbackGetter},attachShareScopeMap:o.attachShareScopeMap,bundlerRuntimeOptions:{}},m=p.instance,h=p.initOptions,g=p.bundlerRuntime,y=p.bundlerRuntimeOptions;t.attachShareScopeMap=o.attachShareScopeMap,t.bundlerRuntime=g,t.bundlerRuntimeOptions=y,t.default=p,t.initOptions=h,t.instance=m,Object.defineProperty(t,\"runtime\",{enumerable:!0,get:function(){return d}})},8531(e,t,n){let r=n(7363),o=n(9782),a=n(3129);a=r.__toESM(a),t.init=function(e){var t;let{webpackRequire:r}=e,{initOptions:l,runtime:i,sharedFallback:s,bundlerRuntime:u,libraryType:c}=r.federation;if(!l)throw Error(\"initOptions is required!\");let f=function(){return{name:\"tree-shake-plugin\",beforeInit(e){let{userOptions:t,origin:l,options:i}=e,f=t.version||i.version;if(!s)return e;let d=t.shared||{},p=[];Object.keys(d).forEach(e=>{(Array.isArray(d[e])?d[e]:[d[e]]).forEach(t=>{if(p.push([e,t]),\"get\"in t){var n;(n=t).treeShaking||(n.treeShaking={}),t.treeShaking.get=t.get,t.get=u.getSharedFallbackGetter({shareKey:e,factory:t.get,webpackRequire:r,libraryType:c,version:t.version})}})});let m=a.default.global.getGlobalSnapshotInfoByModuleInfo({name:l.name,version:f});if(!m||!(\"shared\"in m))return e;Object.keys(i.shared||{}).forEach(e=>{i.shared[e].forEach(t=>{p.push([e,t])})});let h=(e,t)=>{let r=m.shared.find(t=>t.sharedName===e);if(!r)return;let{treeShaking:a}=t;if(!a)return;let{secondarySharedTreeShakingName:i,secondarySharedTreeShakingEntry:s,treeShakingStatus:u}=r;a.status!==u&&(a.status=u,s&&c&&i&&(a.get=async()=>{let e=await (0,o.getRemoteEntry)({origin:l,remoteInfo:{name:i,entry:s,type:c,entryGlobalName:i,shareScope:\"default\"}});return await e.init(l,n.federation.bundlerRuntime),e.get()}))};return p.forEach(e=>{let[t,n]=e;h(t,n)}),e}}};return(t=l).plugins||(t.plugins=[]),l.plugins.push(f()),i.init(l)}},7440(e,t){t.initContainerEntry=function(e){let{webpackRequire:t,shareScope:n,initScope:r,shareScopeKey:o,remoteEntryInitOptions:a}=e;if(!t.S||!t.federation||!t.federation.instance||!t.federation.initOptions)return;let l=t.federation.instance;l.initOptions({name:t.federation.initOptions.name,remotes:[],...a});let i=null==a?void 0:a.shareScopeKeys,s=null==a?void 0:a.shareScopeMap;if(o&&\"string\"!=typeof o)o.forEach(e=>{if(!i||!s)return void l.initShareScopeMap(e,n,{hostShareScopeMap:(null==a?void 0:a.shareScopeMap)||{}});s[e]||(s[e]={});let t=s[e];l.initShareScopeMap(e,t,{hostShareScopeMap:(null==a?void 0:a.shareScopeMap)||{}})});else{let e=o||\"default\";Array.isArray(i)?i.forEach(e=>{s[e]||(s[e]={});let t=s[e];l.initShareScopeMap(e,t,{hostShareScopeMap:(null==a?void 0:a.shareScopeMap)||{}})}):l.initShareScopeMap(e,n,{hostShareScopeMap:(null==a?void 0:a.shareScopeMap)||{}})}return(t.federation.attachShareScopeMap&&t.federation.attachShareScopeMap(t),\"function\"==typeof t.federation.prefetch&&t.federation.prefetch(),Array.isArray(o))?t.federation.initOptions.shared?t.I(o,r):Promise.all(o.map(e=>t.I(e,r))).then(()=>!0):t.I(o||\"default\",r)}},6777(e,t,n){let r=n(2069),o=n(6897);t.initializeSharing=function(e){let{shareScopeName:t,webpackRequire:n,initPromises:a,initTokens:l,initScope:i}=e,s=Array.isArray(t)?t:[t];var u=[],c=function(e){i||(i=[]);let s=n.federation.instance;var u=l[e];if(u||(u=l[e]={from:s.name}),i.indexOf(u)>=0)return;i.push(u);let c=a[e];if(c)return c;var f=e=>\"u\">typeof console&&console.warn&&console.warn(e),d=r=>{var o=e=>f(\"Initialization of sharing external failed: \"+e);try{var a=n(r);if(!a)return;var l=r=>r&&r.init&&r.init(n.S[e],i,{shareScopeMap:n.S||{},shareScopeKeys:t});if(a.then)return p.push(a.then(l,o));var s=l(a);if(s&&\"boolean\"!=typeof s&&s.then)return p.push(s.catch(o))}catch(e){o(e)}};let p=s.initializeSharing(e,{strategy:s.options.shareStrategy,initScope:i,from:\"build\"});r.attachShareScopeMap(n);let m=n.federation.bundlerRuntimeOptions.remotes;return(m&&Object.keys(m.idToRemoteMap).forEach(e=>{let t=m.idToRemoteMap[e],n=m.idToExternalAndNameMapping[e][2];if(t.length>1)d(n);else if(1===t.length){let e=t[0];o.FEDERATION_SUPPORTED_TYPES.includes(e.externalType)||d(n)}}),p.length)?a[e]=Promise.all(p).then(()=>a[e]=!0):a[e]=!0};return s.forEach(e=>{u.push(c(e))}),Promise.all(u).then(()=>!0)}},1735(e,t,n){let r=n(5216),o=n(7617);function a(e){let{moduleId:t,moduleToHandlerMapping:n,webpackRequire:r,asyncLoad:a}=e,l=r.federation.instance;if(!l)throw Error(\"Federation instance not found!\");let{shareKey:i,shareInfo:s}=n[t];try{let e=o.getUsedExports(r,i),t={...s};if(e&&(t.treeShaking={usedExports:e,useIn:[l.options.name]}),a)return l.loadShare(i,{customShareInfo:t});return l.loadShareSync(i,{customShareInfo:t})}catch(e){throw console.error('loadShareSync failed! The function should not be called unless you set \"eager:true\". If you do not set it, and encounter this issue, you can check whether an async boundary is implemented.'),console.error(\"The original error message is as follows: \"),e}}t.installInitialConsumes=function(e){r.updateConsumeOptions(e);let{moduleToHandlerMapping:t,webpackRequire:n,installedModules:o,initialConsumes:l,asyncLoad:i}=e,s=[];l.forEach(e=>{let r=()=>a({moduleId:e,moduleToHandlerMapping:t,webpackRequire:n,asyncLoad:i});s.push([e,r])});let u=(e,r)=>{n.m[e]=a=>{var l;o[e]=0,delete n.c[e];let i=r();if(\"function\"!=typeof i)throw Error(`Shared module is not available for eager consumption: ${e}`);let s=i(),{shareInfo:u}=t[e];if((null==u||null==(l=u.shareConfig)?void 0:l.layer)&&s&&\"object\"==typeof s)try{s.hasOwnProperty(\"layer\")&&void 0!==s.layer||(s.layer=u.shareConfig.layer)}catch(e){}a.exports=s}};if(i)return Promise.all(s.map(async e=>{let[t,n]=e,r=await n();u(t,()=>r)}));s.forEach(e=>{let[t,n]=e;u(t,n)})}},6310(e,t,n){n(7363);let r=n(2069),o=n(6897),a=n(5216),l=n(630);t.remotes=function(e){a.updateRemoteOptions(e);let{chunkId:t,promises:n,webpackRequire:i,chunkMapping:s,idToExternalAndNameMapping:u,idToRemoteMap:c}=e;r.attachShareScopeMap(i),i.o(s,t)&&s[t].forEach(e=>{let t=i.R;t||(t=[]);let r=u[e],a=c[e]||[];if(t.indexOf(r)>=0)return;if(t.push(r),r.p)return n.push(r.p);let s=t=>{t||(t=Error(\"Container missing\")),\"string\"==typeof t.message&&(t.message+=`\nwhile loading \"${r[1]}\" from ${r[2]}`),i.m[e]=()=>{throw t},r.p=0},f=(e,t,o,a,l,i)=>{try{let u=e(t,o);if(!u||!u.then)return l(u,a,i);{let e=u.then(e=>l(e,a),s);if(!i)return e;n.push(r.p=e)}}catch(e){s(e)}},d=(e,t,n)=>e?f(i.I,r[0],0,e,p,n):s();var p=(e,n,o)=>f(n.get,r[1],t,0,m,o),m=t=>{r.p=1,i.m[e]=e=>{e.exports=t()}};let h=()=>{try{let e=(0,l.decodeName)(a[0].name,l.ENCODE_NAME_PREFIX)+r[1].slice(1),t=i.federation.instance,n=()=>i.federation.instance.loadRemote(e,{loadFactory:!1,from:\"build\"});if(\"version-first\"===t.options.shareStrategy){let e=Array.isArray(r[0])?r[0]:[r[0]];return Promise.all(e.map(e=>t.sharedHandler.initializeSharing(e))).then(()=>n())}return n()}catch(e){s(e)}};1===a.length&&o.FEDERATION_SUPPORTED_TYPES.includes(a[0].externalType)&&a[0].name?f(h,r[2],0,0,m,1):f(i,r[2],0,0,d,1)})}},5216(e,t){function n(e){var t,n,r,o,a;let{webpackRequire:l,idToExternalAndNameMapping:i={},idToRemoteMap:s={},chunkMapping:u={}}=e,{remotesLoadingData:c}=l,f=null==(r=l.federation)||null==(n=r.bundlerRuntimeOptions)||null==(t=n.remotes)?void 0:t.remoteInfos;if(!c||c._updated||!f)return;let{chunkMapping:d,moduleIdToRemoteDataMapping:p}=c;if(d&&p){for(let[e,t]of Object.entries(p))if(i[e]||(i[e]=[t.shareScope,t.name,t.externalModuleId]),!s[e]&&f[t.remoteName]){let n=f[t.remoteName];(o=s)[a=e]||(o[a]=[]),n.forEach(t=>{s[e].includes(t)||s[e].push(t)})}u&&Object.entries(d).forEach(e=>{let[t,n]=e;u[t]||(u[t]=[]),n.forEach(e=>{u[t].includes(e)||u[t].push(e)})}),c._updated=1}}t.updateConsumeOptions=function(e){let{webpackRequire:t,moduleToHandlerMapping:n}=e,{consumesLoadingData:r,initializeSharingData:o}=t,{sharedFallback:a,bundlerRuntime:l,libraryType:i}=t.federation;if(r&&!r._updated){let{moduleIdToConsumeDataMapping:o={},initialConsumes:s=[],chunkMapping:u={}}=r;if(Object.entries(o).forEach(e=>{let[r,o]=e;n[r]||(n[r]={getter:a?null==l?void 0:l.getSharedFallbackGetter({shareKey:o.shareKey,factory:o.fallback,webpackRequire:t,libraryType:i}):o.fallback,treeShakingGetter:a?o.fallback:void 0,shareInfo:{shareConfig:{requiredVersion:o.requiredVersion,strictVersion:o.strictVersion,singleton:o.singleton,eager:o.eager,layer:o.layer},scope:Array.isArray(o.shareScope)?o.shareScope:[o.shareScope||\"default\"],treeShaking:a?{get:o.fallback,mode:o.treeShakingMode}:void 0},shareKey:o.shareKey})}),\"initialConsumes\"in e){let{initialConsumes:t=[]}=e;s.forEach(e=>{t.includes(e)||t.push(e)})}if(\"chunkMapping\"in e){let{chunkMapping:t={}}=e;Object.entries(u).forEach(e=>{let[n,r]=e;t[n]||(t[n]=[]),r.forEach(e=>{t[n].includes(e)||t[n].push(e)})})}r._updated=1}if(o&&!o._updated){let{federation:e}=t;if(!e.instance||!o.scopeToSharingDataMapping)return;let n={};for(let[e,t]of Object.entries(o.scopeToSharingDataMapping))for(let r of t)if(\"object\"==typeof r&&null!==r){let{name:t,version:o,factory:a,eager:l,singleton:i,requiredVersion:s,strictVersion:u}=r,c={requiredVersion:`^${o}`},f=function(e){return void 0!==e};f(i)&&(c.singleton=i),f(s)&&(c.requiredVersion=s),f(l)&&(c.eager=l),f(u)&&(c.strictVersion=u);let d={version:o,scope:[e],shareConfig:c,get:a};n[t]?n[t].push(d):n[t]=[d]}e.instance.registerShared(n),o._updated=1}},t.updateRemoteOptions=n},6160(e,t,n){\"use strict\";var r,o,a,l,i,s,u,c,f,d,p,m,h=n(6927),g=n.n(h);let y=[].filter(e=>{let{plugin:t}=e;return t}).map(e=>{let{plugin:t,params:n}=e;return t(n)}),b={\"@pimcore/studio-ui-bundle\":[{alias:\"@pimcore/studio-ui-bundle\",externalType:\"promise\",shareScope:\"default\"}]},v=\"pimcore_datahub_bundle\",S=\"version-first\";if((n.initializeSharingData||n.initializeExposesData)&&n.federation){let e=(e,t,n)=>{e&&e[t]&&(e[t]=n)},t=(e,t,n)=>{var r,o,a,l,i,s;let u=n();Array.isArray(u)?(null!=(a=(r=e)[o=t])||(r[o]=[]),e[t].push(...u)):\"object\"==typeof u&&null!==u&&(null!=(s=(l=e)[i=t])||(l[i]={}),Object.assign(e[t],u))},h=(e,t,n)=>{var r,o,a;null!=(a=(r=e)[o=t])||(r[o]=n())},E=null!=(r=null==(s=n.remotesLoadingData)?void 0:s.chunkMapping)?r:{},_=null!=(o=null==(u=n.remotesLoadingData)?void 0:u.moduleIdToRemoteDataMapping)?o:{},k=null!=(a=null==(c=n.initializeSharingData)?void 0:c.scopeToSharingDataMapping)?a:{},w=null!=(l=null==(f=n.consumesLoadingData)?void 0:f.chunkMapping)?l:{},N=null!=(i=null==(d=n.consumesLoadingData)?void 0:d.moduleIdToConsumeDataMapping)?i:{},R={},T=[],x={},I=null==(p=n.initializeExposesData)?void 0:p.shareScope;for(let e in g())n.federation[e]=g()[e];h(n.federation,\"consumesLoadingModuleToHandlerMapping\",()=>{let e={};for(let[t,n]of Object.entries(N))e[t]={getter:n.fallback,shareInfo:{shareConfig:{fixedDependencies:!1,requiredVersion:n.requiredVersion,strictVersion:n.strictVersion,singleton:n.singleton,eager:n.eager},scope:[n.shareScope]},shareKey:n.shareKey};return e}),h(n.federation,\"initOptions\",()=>({})),h(n.federation.initOptions,\"name\",()=>v),h(n.federation.initOptions,\"shareStrategy\",()=>S),h(n.federation.initOptions,\"shared\",()=>{let e={};for(let[t,n]of Object.entries(k))for(let r of n)if(\"object\"==typeof r&&null!==r){let{name:n,version:o,factory:a,eager:l,singleton:i,requiredVersion:s,strictVersion:u}=r,c={},f=function(e){return void 0!==e};f(i)&&(c.singleton=i),f(s)&&(c.requiredVersion=s),f(l)&&(c.eager=l),f(u)&&(c.strictVersion=u);let d={version:o,scope:[t],shareConfig:c,get:a};e[n]?e[n].push(d):e[n]=[d]}return e}),t(n.federation.initOptions,\"remotes\",()=>Object.values(b).flat().filter(e=>\"script\"===e.externalType)),t(n.federation.initOptions,\"plugins\",()=>y),h(n.federation,\"bundlerRuntimeOptions\",()=>({})),h(n.federation.bundlerRuntimeOptions,\"remotes\",()=>({})),h(n.federation.bundlerRuntimeOptions.remotes,\"chunkMapping\",()=>E),h(n.federation.bundlerRuntimeOptions.remotes,\"remoteInfos\",()=>b),h(n.federation.bundlerRuntimeOptions.remotes,\"idToExternalAndNameMapping\",()=>{let e={};for(let[t,n]of Object.entries(_))e[t]=[n.shareScope,n.name,n.externalModuleId,n.remoteName];return e}),h(n.federation.bundlerRuntimeOptions.remotes,\"webpackRequire\",()=>n),t(n.federation.bundlerRuntimeOptions.remotes,\"idToRemoteMap\",()=>{let e={};for(let[t,n]of Object.entries(_)){let r=b[n.remoteName];r&&(e[t]=r)}return e}),e(n,\"S\",n.federation.bundlerRuntime.S),n.federation.attachShareScopeMap&&n.federation.attachShareScopeMap(n),e(n.f,\"remotes\",(e,t)=>n.federation.bundlerRuntime.remotes({chunkId:e,promises:t,chunkMapping:E,idToExternalAndNameMapping:n.federation.bundlerRuntimeOptions.remotes.idToExternalAndNameMapping,idToRemoteMap:n.federation.bundlerRuntimeOptions.remotes.idToRemoteMap,webpackRequire:n})),e(n.f,\"consumes\",(e,t)=>n.federation.bundlerRuntime.consumes({chunkId:e,promises:t,chunkMapping:w,moduleToHandlerMapping:n.federation.consumesLoadingModuleToHandlerMapping,installedModules:R,webpackRequire:n})),e(n,\"I\",(e,t)=>n.federation.bundlerRuntime.I({shareScopeName:e,initScope:t,initPromises:T,initTokens:x,webpackRequire:n})),e(n,\"initContainer\",(e,t,r)=>n.federation.bundlerRuntime.initContainerEntry({shareScope:e,initScope:t,remoteEntryInitOptions:r,shareScopeKey:I,webpackRequire:n})),e(n,\"getContainer\",(e,t)=>{var r=n.initializeExposesData.moduleMap;return n.R=t,t=Object.prototype.hasOwnProperty.call(r,e)?r[e]():Promise.resolve().then(()=>{throw Error('Module \"'+e+'\" does not exist in container.')}),n.R=void 0,t}),n.federation.instance=n.federation.runtime.init(n.federation.initOptions),(null==(m=n.consumesLoadingData)?void 0:m.initialConsumes)&&n.federation.bundlerRuntime.installInitialConsumes({webpackRequire:n,installedModules:R,initialConsumes:n.consumesLoadingData.initialConsumes,moduleToHandlerMapping:n.federation.consumesLoadingModuleToHandlerMapping})}},3676(e,t,n){\"use strict\";n.d(t,{get:()=>n.getContainer,init:()=>n.initContainer})},6161(e){\"use strict\";e.exports=new Promise(e=>{let t=window.StudioUIBundleRemoteUrl;if(!t)throw Error('Required remote \"pimcore_studio_ui_bundle\" is not available');if(window.pimcore_studio_ui_bundle)return void e({get:e=>window.pimcore_studio_ui_bundle.get(e),init:(...e)=>{try{return window.pimcore_studio_ui_bundle.init(...e)}catch(e){console.log(\"remote container already initialized\")}}});let n=document.createElement(\"script\");n.src=t,n.onload=()=>{e({get:e=>window.pimcore_studio_ui_bundle.get(e),init:(...e)=>{try{return window.pimcore_studio_ui_bundle.init(...e)}catch(e){console.log(\"remote container already initialized\")}}})},n.onerror=()=>{throw Error('Failed to load required remote \"pimcore_studio_ui_bundle\" from '+t)},document.head.appendChild(n)})}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={id:e,loaded:!1,exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.loaded=!0,n.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.c=__webpack_module_cache__,__webpack_require__.x=()=>__webpack_require__(3676),(()=>{__webpack_require__.federation||(__webpack_require__.federation={chunkMatcher:function(e){return!0},rootOutputDir:\"../../\"})})(),(()=>{__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t}})(),(()=>{__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}})(),(()=>{__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce((t,n)=>(__webpack_require__.f[n](e,t),t),[]))})(),(()=>{__webpack_require__.hmd=e=>((e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,\"exports\",{enumerable:!0,set:()=>{throw Error(\"ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: \"+e.id)}}),e)})(),(()=>{__webpack_require__.u=e=>\"static/js/async/\"+(({185:\"__federation_expose_plugins\",525:\"__federation_expose_default_export\"})[e]||e)+\".\"+({185:\"c4cf01bd\",346:\"60211bf9\",525:\"87553f32\",696:\"3b1d6da3\",840:\"4693a4bb\"})[e]+\".js\"})(),(()=>{__webpack_require__.miniCssF=e=>\"\"+e+\".css\"})(),(()=>{__webpack_require__.g=(()=>{if(\"object\"==typeof globalThis)return globalThis;try{return this||Function(\"return this\")()}catch(e){if(\"object\"==typeof window)return window}})()})(),(()=>{__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{var e={},t=\"pimcore_datahub_bundle:\";__webpack_require__.l=function(n,r,o,a){if(e[n])return void e[n].push(r);if(void 0!==o)for(var l,i,s=document.getElementsByTagName(\"script\"),u=0;u<s.length;u++){var c=s[u];if(c.getAttribute(\"src\")==n||c.getAttribute(\"data-rspack\")==t+o){l=c;break}}l||(i=!0,(l=document.createElement(\"script\")).timeout=120,__webpack_require__.nc&&l.setAttribute(\"nonce\",__webpack_require__.nc),l.setAttribute(\"data-rspack\",t+o),l.src=n),e[n]=[r];var f=function(t,r){l.onerror=l.onload=null,clearTimeout(d);var o=e[n];if(delete e[n],l.parentNode&&l.parentNode.removeChild(l),o&&o.forEach(function(e){return e(r)}),t)return t(r)},d=setTimeout(f.bind(null,void 0,{type:\"timeout\",target:l}),12e4);l.onerror=f.bind(null,l.onerror),l.onload=f.bind(null,l.onload),i&&document.head.appendChild(l)}})(),(()=>{__webpack_require__.r=e=>{\"u\">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})}})(),(()=>{__webpack_require__.nmd=e=>(e.paths=[],e.children||(e.children=[]),e)})(),(()=>{__webpack_require__.p=\"/bundles/pimcoredatahub/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/\"})(),(()=>{__webpack_require__.S={},__webpack_require__.initializeSharingData={scopeToSharingDataMapping:{default:[{name:\"react-dom\",version:\"18.3.1\",factory:()=>()=>__webpack_require__(961),eager:1,singleton:1,requiredVersion:\"*\"},{name:\"react\",version:\"18.3.1\",factory:()=>()=>__webpack_require__(6540),eager:1,singleton:1,requiredVersion:\"*\"},6161]},uniqueName:\"pimcore_datahub_bundle\"},__webpack_require__.I=__webpack_require__.I||function(){throw Error(\"should have __webpack_require__.I\")}})(),(()=>{__webpack_require__.consumesLoadingData={chunkMapping:{696:[\"4646\"],525:[\"5308\"],998:[\"2812\"]},moduleIdToConsumeDataMapping:{4646:{shareScope:\"default\",shareKey:\"react-dom\",import:\"react-dom\",requiredVersion:\"*\",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(961)},5308:{shareScope:\"default\",shareKey:\"yaml\",import:\"yaml\",requiredVersion:\"^2.8.3\",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(6483)},2812:{shareScope:\"default\",shareKey:\"react\",import:\"react\",requiredVersion:\"*\",strictVersion:!1,singleton:!0,eager:!0,fallback:()=>()=>__webpack_require__(6540)}},initialConsumes:[\"2812\"]},__webpack_require__.f.consumes=__webpack_require__.f.consumes||function(){throw Error(\"should have __webpack_require__.f.consumes\")}})(),(()=>{__webpack_require__.initializeExposesData={moduleMap:{\"./plugins\":()=>Promise.all([__webpack_require__.e(\"840\"),__webpack_require__.e(\"696\"),__webpack_require__.e(\"185\")]).then(()=>()=>__webpack_require__(102)),\".\":()=>Promise.all([__webpack_require__.e(\"840\"),__webpack_require__.e(\"346\"),__webpack_require__.e(\"696\"),__webpack_require__.e(\"525\")]).then(()=>()=>__webpack_require__(9376))},shareScope:\"default\"},__webpack_require__.getContainer=__webpack_require__.getContainer||function(){throw Error(\"should have __webpack_require__.getContainer\")},__webpack_require__.initContainer=__webpack_require__.initContainer||function(){throw Error(\"should have __webpack_require__.initContainer\")}})(),(()=>{var e={998:0};__webpack_require__.f.j=function(t,n){var r=__webpack_require__.o(e,t)?e[t]:void 0;if(0!==r)if(r)n.push(r[2]);else{var o=new Promise((n,o)=>r=e[t]=[n,o]);n.push(r[2]=o);var a=__webpack_require__.p+__webpack_require__.u(t),l=Error(),i=function(n){if(__webpack_require__.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var o=n&&(\"load\"===n.type?\"missing\":n.type),a=n&&n.target&&n.target.src;l.message=\"Loading chunk \"+t+\" failed.\\n(\"+o+\": \"+a+\")\",l.name=\"ChunkLoadError\",l.type=o,l.request=a,r[1](l)}};__webpack_require__.l(a,i,\"chunk-\"+t,t)}};var t=(t,n)=>{var r,o,[a,l,i]=n,s=0;if(a.some(t=>0!==e[t])){for(r in l)__webpack_require__.o(l,r)&&(__webpack_require__.m[r]=l[r]);i&&i(__webpack_require__)}for(t&&t(n);s<a.length;s++)o=a[s],__webpack_require__.o(e,o)&&e[o]&&e[o][0](),e[o]=0},n=self[\"chunk_pimcore_datahub_bundle \"]=self[\"chunk_pimcore_datahub_bundle \"]||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=>{__webpack_require__.remotesLoadingData={chunkMapping:{185:[\"8267\",\"9707\",\"3513\",\"1922\",\"2977\"],525:[\"969\",\"1161\",\"8972\"],696:[\"2696\",\"1436\",\"2703\",\"3090\",\"3842\",\"4781\"]},moduleIdToRemoteDataMapping:{969:{shareScope:\"default\",name:\"./modules/application-logger\",externalModuleId:6161,remoteName:\"@pimcore/studio-ui-bundle\"},1161:{shareScope:\"default\",name:\"./api/data-object\",externalModuleId:6161,remoteName:\"@pimcore/studio-ui-bundle\"},9707:{shareScope:\"default\",name:\"./modules/field-definitions\",externalModuleId:6161,remoteName:\"@pimcore/studio-ui-bundle\"},3090:{shareScope:\"default\",name:\"./modules/data-object\",externalModuleId:6161,remoteName:\"@pimcore/studio-ui-bundle\"},8267:{shareScope:\"default\",name:\"./utils\",externalModuleId:6161,remoteName:\"@pimcore/studio-ui-bundle\"},4781:{shareScope:\"default\",name:\"./app\",externalModuleId:6161,remoteName:\"@pimcore/studio-ui-bundle\"},1922:{shareScope:\"default\",name:\"./modules/translations\",externalModuleId:6161,remoteName:\"@pimcore/studio-ui-bundle\"},8972:{shareScope:\"default\",name:\"./modules/auth\",externalModuleId:6161,remoteName:\"@pimcore/studio-ui-bundle\"},2696:{shareScope:\"default\",name:\"./components\",externalModuleId:6161,remoteName:\"@pimcore/studio-ui-bundle\"},2703:{shareScope:\"default\",name:\"./modules/app\",externalModuleId:6161,remoteName:\"@pimcore/studio-ui-bundle\"},1436:{shareScope:\"default\",name:\"./api\",externalModuleId:6161,remoteName:\"@pimcore/studio-ui-bundle\"},3842:{shareScope:\"default\",name:\"./modules/element\",externalModuleId:6161,remoteName:\"@pimcore/studio-ui-bundle\"},3513:{shareScope:\"default\",name:\"./api/class-definition\",externalModuleId:6161,remoteName:\"@pimcore/studio-ui-bundle\"},2977:{shareScope:\"default\",name:\".\",externalModuleId:6161,remoteName:\"@pimcore/studio-ui-bundle\"}}},__webpack_require__.f.remotes=__webpack_require__.f.remotes||function(){throw Error(\"should have __webpack_require__.f.remotes\")}})(),(()=>{var e=__webpack_require__.x,t=!1;__webpack_require__.x=function(){if(t||(t=!0,__webpack_require__(6160)),\"function\"==typeof e)return e();console.warn(\"[MF] Invalid prevStartup\")}})();var __webpack_exports__=__webpack_require__.x();pimcore_datahub_bundle=__webpack_exports__})();"
  },
  {
    "path": "src/Resources/public/studio/build/ce357842-7dfd-46ae-9fd3-897e4c6c6ffe/static/js/remoteEntry.js.LICENSE.txt",
    "content": "/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */"
  },
  {
    "path": "src/Resources/translations/admin.ca.yml",
    "content": "---\nplugin_pimcore_datahub_toolbar: Datahub Config\nplugin_pimcore_datahub_configpanel_add: Add Configuration\nplugin_pimcore_datahub_configpanel_enterkey_title: Add a new configuration\nplugin_pimcore_datahub_configpanel_enterkey_prompt: Unique Identifier\nplugin_pimcore_datahub_configpanel_error_adding_config: Error adding configuration\nplugin_pimcore_datahub_configpanel: Configuration\nplugin_pimcore_datahub_configpanel_invalid_name: Invalid name\nplugin_pimcore_datahub_configpanel_invalid_length: Exceeded maximum configuration\n  name length 80 of characters\nplugin_pimcore_datahub_configpanel_error_cloning_config: Error cloning configuration\nplugin_pimcore_datahub_configpanel_enterclonekey_title: Clone\nplugin_pimcore_datahub_configpanel_enterclonekey_enterclonekey_prompt: Name of clone\nplugin_pimcore_datahub_configpanel_item_save_success: Configuration saved\nplugin_pimcore_datahub_configpanel_item_saveerror: Configuration could not be saved\nplugin_pimcore_datahub_configpanel_item_saveerror_permissions: Configuration cannot\n  be saved because it would deprive your update permissions. Please check the permissions\n  tab.\nplugin_pimcore_datahub_configpanel_item_general: General\nplugin_pimcore_datahub_configpanel_sqlObjectCondition: SQL Condition\nplugin_pimcore_datahub_configpanel_schema: Schema Definition\nplugin_pimcore_datahub_configpanel_schema_fields: Schema Fields\nplugin_pimcore_datahub_configpanel_security: Security Definition\nplugin_pimcore_datahub_configpanel_security_method: Method\nplugin_pimcore_datahub_configpanel_security_method_apikey: API Key\nplugin_pimcore_datahub_configpanel_fields: Fields\nplugin_pimcore_datahub_configpanel_entity: Entity\nplugin_pimcore_datahub_configpanel_root: Root Node\nplugin_pimcore_datahub_fieldName: Field Name\nplugin_pimcore_datahub_configpanel_condition_hint: This is a global SQL condition\n  in addition to the workspace settings that will be added to all queries\nplugin_pimcore_datahub_configpanel_available_fields: Available Fields\nplugin_pimcore_datahub_operator_thumbnail_config: Configuration\nplugin_pimcore_datahub_operator_select_entity: Select Entity\nplugin_pimcore_datahub_security_datahub_apikey: Datahub API Keys\nplugin_pimcore_datahub_security_definition: Security Definition\nplugin_pimcore_datahub_security_apikey_description: API key required for web service\n  access. One API key per line allowed. At least one key with minimum 16 characters\n  needs to be provided.\nplugin_pimcore_datahub_config: Datahub Config\nplugin_datahub_config: Datahub Config\nplugin_datahub_adapter_graphql: Datahub Adapter - GraphQL\nplugin_datahub_admin: Datahub Admin\nplugin_pimcore_datahub_type_graphql: GraphQL\nplugin_pimcore_datahub_workspace_permission_create: Create\nplugin_pimcore_datahub_workspace_permission_read: Read\nplugin_pimcore_datahub_workspace_permission_update: Update\nplugin_pimcore_datahub_workspace_permission_delete: Delete\nplugin_pimcore_datahub_graphql_open_explorer_in_iframe: Open in Iframe\nplugin_pimcore_datahub_graphql_open_explorer_in_tab: Open in Tab\nplugin_pimcore_datahub_graphql_query_schema: Query Schema\nplugin_pimcore_datahub_graphql_mutation_schema: Mutation Schema\nplugin_pimcore_datahub_graphql_iexplorer: iExplorer\nplugin_pimcore_datahub_datatype_not_supported_yet: datatype '%s' not supported yet\noperator_alias: Alias\noperator_concatenator: Operator Concatenator\noperator_dateformatter: Date Formatter\noperator_element_counter: Element Counter\noperator_text: Operator Text\noperator_merge: Merge (deprecated)\noperator_substring: Substring\noperator_thumbnail: Thumbnail\noperator_thumbnail_html: Thumbnail HTML\noperator_translate_value: Operator Translate Value\noperator_trimmer: Trimmer\nmutationoperator_locale_switcher: Locale Switcher\nmutationoperator_ifempty: IfEmpty\nmutationoperator_locale_collector: Locale Collector\nmutationoperator_locale_switcher_description: Switches to different language other\n  than the default language.\nmutationoperator_ifempty_description: Only sets the value if current one is empty.\nmutationoperator_locale_collector_description: Allows editing all languages for a\n  single field.\nplugin_pimcore_datahub_query: Query\nplugin_pimcore_datahub_mutation: Mutation\nplugin_pimcore_datahub_graphql_special_schema: Generic Types\nplugin_pimcore_datahub_graphql_special_document: Document\nplugin_pimcore_datahub_graphql_special_document_folder: Document Folder\nplugin_pimcore_datahub_graphql_special_asset: Asset\nplugin_pimcore_datahub_graphql_special_asset_folder: Asset Folder\nplugin_pimcore_datahub_graphql_special_object_folder: Object Folder\nplugin_pimcore_datahub_graphql_special_asset_listing: Asset Listing\nplugin_pimcore_datahub_graphql_special_translation_listing: Translation Listing\nplugin_pimcore_datahub_graphql_special_translation: Translation\nread: Read\nplugin_pimcore_datahub_skip_permission_check: Skip Permission Check\nplugin_pimcore_datahub_configpanel_permissions: Permissions\nplugin_pimcore_datahub_graphql_permissions_roles: Role Permissions\nplugin_pimcore_datahub_graphql_permissions_users: User Permissions\nplugin_pimcore_datahub_operator_select_user: Select User\nplugin_pimcore_datahub_operator_select_role: Select Role\nplugin_pimcore_datahub_configpanel_user: User\nplugin_pimcore_datahub_configpanel_role: Role\nplugin_pimcore_datahub_disable_introspection: Disable Introspection\nplugin_pimcore_datahub_security_introspection_description: 'Please note: When introspection\n  is disabled, the autocomplete feature will not work.'\nplugin_pimcore_datahub_import: Import\nplugin_pimcore_datahub_export: Export\n...\n"
  },
  {
    "path": "src/Resources/translations/admin.cs.yml",
    "content": "---\nplugin_pimcore_datahub_toolbar: Datahub Config\nplugin_pimcore_datahub_configpanel_add: Add Configuration\nplugin_pimcore_datahub_configpanel_enterkey_title: Add a new configuration\nplugin_pimcore_datahub_configpanel_enterkey_prompt: Unique Identifier\nplugin_pimcore_datahub_configpanel_error_adding_config: Error adding configuration\nplugin_pimcore_datahub_configpanel: Configuration\nplugin_pimcore_datahub_configpanel_invalid_name: Invalid name\nplugin_pimcore_datahub_configpanel_invalid_length: Exceeded maximum configuration\n  name length 80 of characters\nplugin_pimcore_datahub_configpanel_error_cloning_config: Error cloning configuration\nplugin_pimcore_datahub_configpanel_enterclonekey_title: Clone\nplugin_pimcore_datahub_configpanel_enterclonekey_enterclonekey_prompt: Name of clone\nplugin_pimcore_datahub_configpanel_item_save_success: Configuration saved\nplugin_pimcore_datahub_configpanel_item_saveerror: Configuration could not be saved\nplugin_pimcore_datahub_configpanel_item_saveerror_permissions: Configuration cannot\n  be saved because it would deprive your update permissions. Please check the permissions\n  tab.\nplugin_pimcore_datahub_configpanel_item_general: General\nplugin_pimcore_datahub_configpanel_sqlObjectCondition: SQL Condition\nplugin_pimcore_datahub_configpanel_schema: Schema Definition\nplugin_pimcore_datahub_configpanel_schema_fields: Schema Fields\nplugin_pimcore_datahub_configpanel_security: Security Definition\nplugin_pimcore_datahub_configpanel_security_method: Method\nplugin_pimcore_datahub_configpanel_security_method_apikey: API Key\nplugin_pimcore_datahub_configpanel_fields: Fields\nplugin_pimcore_datahub_configpanel_entity: Entity\nplugin_pimcore_datahub_configpanel_root: Root Node\nplugin_pimcore_datahub_fieldName: Field Name\nplugin_pimcore_datahub_configpanel_condition_hint: This is a global SQL condition\n  in addition to the workspace settings that will be added to all queries\nplugin_pimcore_datahub_configpanel_available_fields: Available Fields\nplugin_pimcore_datahub_operator_thumbnail_config: Configuration\nplugin_pimcore_datahub_operator_select_entity: Select Entity\nplugin_pimcore_datahub_security_datahub_apikey: Datahub API Keys\nplugin_pimcore_datahub_security_definition: Security Definition\nplugin_pimcore_datahub_security_apikey_description: API key required for web service\n  access. One API key per line allowed. At least one key with minimum 16 characters\n  needs to be provided.\nplugin_pimcore_datahub_config: Datahub Config\nplugin_datahub_config: Datahub Config\nplugin_datahub_adapter_graphql: Datahub Adapter - GraphQL\nplugin_datahub_admin: Datahub Admin\nplugin_pimcore_datahub_type_graphql: GraphQL\nplugin_pimcore_datahub_workspace_permission_create: Create\nplugin_pimcore_datahub_workspace_permission_read: Read\nplugin_pimcore_datahub_workspace_permission_update: Update\nplugin_pimcore_datahub_workspace_permission_delete: Delete\nplugin_pimcore_datahub_graphql_open_explorer_in_iframe: Open in Iframe\nplugin_pimcore_datahub_graphql_open_explorer_in_tab: Open in Tab\nplugin_pimcore_datahub_graphql_query_schema: Query Schema\nplugin_pimcore_datahub_graphql_mutation_schema: Mutation Schema\nplugin_pimcore_datahub_graphql_iexplorer: iExplorer\nplugin_pimcore_datahub_datatype_not_supported_yet: datatype '%s' not supported yet\noperator_alias: Alias\noperator_concatenator: Operator Concatenator\noperator_dateformatter: Date Formatter\noperator_element_counter: Element Counter\noperator_text: Operator Text\noperator_merge: Merge (deprecated)\noperator_substring: Substring\noperator_thumbnail: Thumbnail\noperator_thumbnail_html: Thumbnail HTML\noperator_translate_value: Operator Translate Value\noperator_trimmer: Trimmer\nmutationoperator_locale_switcher: Locale Switcher\nmutationoperator_ifempty: IfEmpty\nmutationoperator_locale_collector: Locale Collector\nmutationoperator_locale_switcher_description: Switches to different language other\n  than the default language.\nmutationoperator_ifempty_description: Only sets the value if current one is empty.\nmutationoperator_locale_collector_description: Allows editing all languages for a\n  single field.\nplugin_pimcore_datahub_query: Query\nplugin_pimcore_datahub_mutation: Mutation\nplugin_pimcore_datahub_graphql_special_schema: Generic Types\nplugin_pimcore_datahub_graphql_special_document: Document\nplugin_pimcore_datahub_graphql_special_document_folder: Document Folder\nplugin_pimcore_datahub_graphql_special_asset: Asset\nplugin_pimcore_datahub_graphql_special_asset_folder: Asset Folder\nplugin_pimcore_datahub_graphql_special_object_folder: Object Folder\nplugin_pimcore_datahub_graphql_special_asset_listing: Asset Listing\nplugin_pimcore_datahub_graphql_special_translation_listing: Translation Listing\nplugin_pimcore_datahub_graphql_special_translation: Translation\nread: Read\nplugin_pimcore_datahub_skip_permission_check: Skip Permission Check\nplugin_pimcore_datahub_configpanel_permissions: Permissions\nplugin_pimcore_datahub_graphql_permissions_roles: Role Permissions\nplugin_pimcore_datahub_graphql_permissions_users: User Permissions\nplugin_pimcore_datahub_operator_select_user: Select User\nplugin_pimcore_datahub_operator_select_role: Select Role\nplugin_pimcore_datahub_configpanel_user: User\nplugin_pimcore_datahub_configpanel_role: Role\nplugin_pimcore_datahub_disable_introspection: Disable Introspection\nplugin_pimcore_datahub_security_introspection_description: 'Please note: When introspection\n  is disabled, the autocomplete feature will not work.'\nplugin_pimcore_datahub_import: Import\nplugin_pimcore_datahub_export: Export\n...\n"
  },
  {
    "path": "src/Resources/translations/admin.de.yml",
    "content": "---\nplugin_pimcore_datahub_toolbar: Datahub\nplugin_pimcore_datahub_configpanel_add: \"Konfiguration hinzuf\\xFCgen\"\nplugin_pimcore_datahub_configpanel_enterkey_title: \"Eine neue Konfiguration hinzuf\\xFCgen\"\nplugin_pimcore_datahub_configpanel_enterkey_prompt: Eindeutiger Bezeichner\nplugin_pimcore_datahub_configpanel_error_adding_config: \"Fehler beim Hinzuf\\xFCgen\n  der Konfiguration\"\nplugin_pimcore_datahub_configpanel: Konfiguration\nplugin_pimcore_datahub_configpanel_invalid_name: \"Ung\\xFCltiger Name\"\nplugin_pimcore_datahub_configpanel_invalid_length: \"\\xDCberschreitung der maximalen\n  L\\xE4nge des Konfigurationsnamens von 80 Zeichen\"\nplugin_pimcore_datahub_configpanel_error_cloning_config: Fehler beim Klonen der Konfiguration\nplugin_pimcore_datahub_configpanel_enterclonekey_title: Klonen\nplugin_pimcore_datahub_configpanel_enterclonekey_enterclonekey_prompt: Name des Klons\nplugin_pimcore_datahub_configpanel_item_save_success: Konfiguration gespeichert\nplugin_pimcore_datahub_configpanel_item_saveerror: Konfiguration konnte nicht gespeichert\n  werden\nplugin_pimcore_datahub_configpanel_item_saveerror_permissions: \"Die Konfiguration\n  kann nicht gespeichert werden, da dies Ihre Aktualisierungsberechtigungen beeintr\\xE4chtigen\n  w\\xFCrde. Bitte \\xFCberpr\\xFCfen Sie die Registerkarte \\\"Berechtigungen\\\".\"\nplugin_pimcore_datahub_configpanel_item_general: Allgemein\nplugin_pimcore_datahub_configpanel_sqlObjectCondition: SQL-Bedingung\nplugin_pimcore_datahub_configpanel_schema: Schema-Definition\nplugin_pimcore_datahub_configpanel_schema_fields: Schema-Felder\nplugin_pimcore_datahub_configpanel_security: Sicherheit\nplugin_pimcore_datahub_configpanel_security_method: Methode\nplugin_pimcore_datahub_configpanel_security_method_apikey: \"API-Schl\\xFCssel\"\nplugin_pimcore_datahub_configpanel_fields: Felder\nplugin_pimcore_datahub_configpanel_entity: \"Entit\\xE4t\"\nplugin_pimcore_datahub_configpanel_root: Wurzelknoten\nplugin_pimcore_datahub_fieldName: Feld Name\nplugin_pimcore_datahub_configpanel_condition_hint: \"Dies ist eine globale SQL-Bedingung\n  zus\\xE4tzlich zu den Arbeitsbereichseinstellungen, die zu allen Abfragen hinzugef\\xFCgt\n  wird\"\nplugin_pimcore_datahub_configpanel_available_fields: \"Verf\\xFCgbare Felder\"\nplugin_pimcore_datahub_operator_thumbnail_config: Konfiguration\nplugin_pimcore_datahub_operator_select_entity: \"Entit\\xE4t ausw\\xE4hlen\"\nplugin_pimcore_datahub_security_datahub_apikey: \"Datahub API-Schl\\xFCssel\"\nplugin_pimcore_datahub_security_definition: Definition von Sicherheit\nplugin_pimcore_datahub_security_apikey_description: \"API-Schl\\xFCssel f\\xFCr den Zugriff\n  auf den Webdienst erforderlich. Ein API-Schl\\xFCssel pro Zeile ist zul\\xE4ssig.\n  Es muss mindestens ein Schl\\xFCssel mit mindestens 16 Zeichen angegeben werden.\"\nplugin_pimcore_datahub_config: Datahub-Konfiguration\nplugin_datahub_config: Datahub-Konfiguration\nplugin_datahub_adapter_graphql: Datahub Adapter - GraphQL\nplugin_datahub_admin: Datahub-Verwaltung\nplugin_pimcore_datahub_type_graphql: GraphQL\nplugin_pimcore_datahub_workspace_permission_create: Erstellen\nplugin_pimcore_datahub_workspace_permission_read: Lese\nplugin_pimcore_datahub_workspace_permission_update: Update\nplugin_pimcore_datahub_workspace_permission_delete: \"L\\xF6schen\"\nplugin_pimcore_datahub_graphql_open_explorer_in_iframe: \"Im Iframe \\xF6ffnen\"\nplugin_pimcore_datahub_graphql_open_explorer_in_tab: \"In Registerkarte \\xF6ffnen\"\nplugin_pimcore_datahub_graphql_query_schema: Abfrage-Schema\nplugin_pimcore_datahub_graphql_mutation_schema: Mutationsschema\nplugin_pimcore_datahub_graphql_iexplorer: iExplorer\nplugin_pimcore_datahub_datatype_not_supported_yet: \"Datentyp '%s' wird noch nicht\n  unterst\\xFCtzt\"\noperator_alias: Alias\noperator_concatenator: Operator Kombinierung\noperator_dateformatter: Datum Formatierer\noperator_element_counter: \"Element-Z\\xE4hler\"\noperator_text: Operator Text\noperator_merge: \"Zusammenf\\xFChren (veraltet)\"\noperator_substring: Teilzeichenfolge\noperator_thumbnail: Vorschaubild\noperator_thumbnail_html: Vorschaubild HTML\noperator_translate_value: \"Operator Wert \\xFCbersetzen\"\noperator_trimmer: Trimmer\nmutationoperator_locale_switcher: Gebietsschema-Umschalter\nmutationoperator_ifempty: IfEmpty\nmutationoperator_locale_collector: Lokaler Sammler\nmutationoperator_locale_switcher_description: Wechselt zu einer anderen Sprache als\n  der Standardsprache.\nmutationoperator_ifempty_description: Setzt den Wert nur, wenn der aktuelle Wert leer\n  ist.\nmutationoperator_locale_collector_description: \"Erm\\xF6glicht die Bearbeitung aller\n  Sprachen f\\xFCr ein einzelnes Feld.\"\nplugin_pimcore_datahub_query: Abfrage\nplugin_pimcore_datahub_mutation: Mutation\nplugin_pimcore_datahub_graphql_special_schema: Allgemeine Typen\nplugin_pimcore_datahub_graphql_special_document: Dokument\nplugin_pimcore_datahub_graphql_special_document_folder: Ordner\nplugin_pimcore_datahub_graphql_special_asset: Asset\nplugin_pimcore_datahub_graphql_special_asset_folder: Asset-Ordner\nplugin_pimcore_datahub_graphql_special_object_folder: Objekt-Ordner\nplugin_pimcore_datahub_graphql_special_asset_listing: Asset-Auflistung\nplugin_pimcore_datahub_graphql_special_translation_listing: \"\\xDCbersetzung Liste\"\nplugin_pimcore_datahub_graphql_special_translation: \"\\xDCbersetzung\"\nread: Lesen Sie\nplugin_pimcore_datahub_skip_permission_check: \"Berechtigungspr\\xFCfung \\xFCberspringen\"\nplugin_pimcore_datahub_configpanel_permissions: Berechtigungen\nplugin_pimcore_datahub_graphql_permissions_roles: Rollenberechtigungen\nplugin_pimcore_datahub_graphql_permissions_users: Benutzerberechtigungen\nplugin_pimcore_datahub_operator_select_user: \"Benutzer ausw\\xE4hlen\"\nplugin_pimcore_datahub_operator_select_role: \"Rolle ausw\\xE4hlen\"\nplugin_pimcore_datahub_configpanel_user: Benutzer\nplugin_pimcore_datahub_configpanel_role: Rolle\nplugin_pimcore_datahub_disable_introspection: Introspektion deaktivieren\nplugin_pimcore_datahub_security_introspection_description: \"Bitte beachten Sie: Wenn\n  die Introspektion deaktiviert ist, funktioniert die Autovervollst\\xE4ndigungsfunktion\n  nicht.\"\nplugin_pimcore_datahub_import: Importieren\nplugin_pimcore_datahub_export: Exportieren\n...\n"
  },
  {
    "path": "src/Resources/translations/admin.en.yml",
    "content": "plugin_pimcore_datahub_toolbar: \"Datahub\"\nplugin_pimcore_datahub_configpanel_add: \"Add Configuration\"\nplugin_pimcore_datahub_configpanel_enterkey_title: \"Add a new configuration\"\nplugin_pimcore_datahub_configpanel_enterkey_prompt: \"Unique Identifier\"\nplugin_pimcore_datahub_configpanel_error_adding_config: \"Error adding configuration\"\nplugin_pimcore_datahub_configpanel: \"Configuration\"\nplugin_pimcore_datahub_configpanel_invalid_name: \"Invalid name\"\nplugin_pimcore_datahub_configpanel_invalid_length: \"Exceeded maximum configuration name length 80 of characters\"\nplugin_pimcore_datahub_configpanel_error_cloning_config: \"Error cloning configuration\"\nplugin_pimcore_datahub_configpanel_enterclonekey_title: \"Clone\"\nplugin_pimcore_datahub_configpanel_enterclonekey_enterclonekey_prompt: \"Name of clone\"\nplugin_pimcore_datahub_configpanel_item_save_success: \"Configuration saved\"\nplugin_pimcore_datahub_configpanel_item_saveerror: \"Configuration could not be saved\"\nplugin_pimcore_datahub_configpanel_item_saveerror_permissions: \"Configuration cannot be saved because it would deprive your update permissions. Please check the permissions tab.\"\nplugin_pimcore_datahub_configpanel_item_general: \"General\"\nplugin_pimcore_datahub_configpanel_schema: \"Schema Definition\"\nplugin_pimcore_datahub_configpanel_schema_fields: \"Schema Fields\"\nplugin_pimcore_datahub_configpanel_security: \"Security Definition\"\nplugin_pimcore_datahub_configpanel_security_method: \"Method\"\nplugin_pimcore_datahub_configpanel_security_method_apikey: \"API Key\"\nplugin_pimcore_datahub_configpanel_fields: \"Fields\"\nplugin_pimcore_datahub_configpanel_entity: \"Entity\"\nplugin_pimcore_datahub_configpanel_root: \"Root Node\"\nplugin_pimcore_datahub_fieldName: \"Field Name\"\nplugin_pimcore_datahub_configpanel_condition_deprecated: \"Warning: This feature is deprecated and will be removed in the next major release\"\nplugin_pimcore_datahub_configpanel_available_fields: \"Available Fields\"\nplugin_pimcore_datahub_operator_thumbnail_config: \"Configuration\"\nplugin_pimcore_datahub_operator_select_entity: \"Select Entity\"\nplugin_pimcore_datahub_security_datahub_apikey: \"Datahub API Keys\"\nplugin_pimcore_datahub_security_definition: \"Security Definition\"\nplugin_pimcore_datahub_security_apikey_description: \"API key required for web service access. One API key per line allowed. At least one key with minimum 16 characters needs to be provided.\"\nplugin_pimcore_datahub_config: \"Datahub Config\"\nplugin_datahub_config: \"Datahub Config\"\nplugin_datahub_adapter_graphql: \"Datahub Adapter - GraphQL\"\nplugin_datahub_admin: \"Datahub Admin\"\nplugin_pimcore_datahub_type_graphql: \"GraphQL\"\nplugin_pimcore_datahub_workspace_permission_create: \"Create\"\nplugin_pimcore_datahub_workspace_permission_read: \"Read\"\nplugin_pimcore_datahub_workspace_permission_update: \"Update\"\nplugin_pimcore_datahub_workspace_permission_delete: \"Delete\"\nplugin_pimcore_datahub_graphql_open_explorer_in_iframe: \"Open in Iframe\"\nplugin_pimcore_datahub_graphql_open_explorer_in_tab: \"Open in Tab\"\nplugin_pimcore_datahub_graphql_query_schema: \"Query Schema\"\nplugin_pimcore_datahub_graphql_mutation_schema: \"Mutation Schema\"\nplugin_pimcore_datahub_graphql_iexplorer: \"iExplorer\"\nplugin_pimcore_datahub_datatype_not_supported_yet: \"datatype '%s' not supported yet\"\noperator_alias: \"Alias\"\noperator_concatenator: \"Concatenator\"\noperator_dateformatter: \"Date Formatter\"\noperator_element_counter: \"Element Counter\"\noperator_text: \"text\"\noperator_merge: \"Merge (deprecated)\"\noperator_substring: \"Substring\"\noperator_thumbnail: \"Thumbnail\"\noperator_thumbnail_html: \"Thumbnail HTML\"\noperator_translate_value: \"Translate Value\"\noperator_trimmer: \"Trimmer\"\nmutationoperator_locale_switcher: \"Locale Switcher\"\nmutationoperator_ifempty: \"IfEmpty\"\nmutationoperator_locale_collector: \"Locale Collector\"\nmutationoperator_locale_switcher_description: \"Switches to different language other than the default language.\"\nmutationoperator_ifempty_description: \"Only sets the value if current one is empty.\"\nmutationoperator_locale_collector_description: \"Allows editing all languages for a single field.\"\nplugin_pimcore_datahub_query: \"Query\"\nplugin_pimcore_datahub_mutation: \"Mutation\"\nplugin_pimcore_datahub_graphql_special_schema: \"Generic Types\"\nplugin_pimcore_datahub_graphql_special_document: \"Document\"\nplugin_pimcore_datahub_graphql_special_document_folder: \"Document Folder\"\nplugin_pimcore_datahub_graphql_special_asset: \"Asset\"\nplugin_pimcore_datahub_graphql_special_asset_folder: \"Asset Folder\"\nplugin_pimcore_datahub_graphql_special_object_folder: \"Object Folder\"\nplugin_pimcore_datahub_graphql_special_asset_listing: \"Asset Listing\"\nplugin_pimcore_datahub_graphql_special_translation_listing: \"Translation Listing\"\nplugin_pimcore_datahub_graphql_special_translation: \"Translation\"\nread: \"Read\"\nplugin_pimcore_datahub_skip_permission_check: \"Skip Permission Check\"\nplugin_pimcore_datahub_configpanel_permissions: \"Permissions\"\nplugin_pimcore_datahub_graphql_permissions_roles: \"Role Permissions\"\nplugin_pimcore_datahub_graphql_permissions_users: \"User Permissions\"\nplugin_pimcore_datahub_operator_select_user: \"Select User\"\nplugin_pimcore_datahub_operator_select_role: \"Select Role\"\nplugin_pimcore_datahub_configpanel_user: \"User\"\nplugin_pimcore_datahub_configpanel_role: \"Role\"\nplugin_pimcore_datahub_disable_introspection: \"Disable Introspection\"\nplugin_pimcore_datahub_security_introspection_description: \"Please note: When introspection is disabled, the autocomplete feature will not work.\"\nplugin_pimcore_datahub_import: \"Import\"\nplugin_pimcore_datahub_export: \"Export\"\nplugin_pimcore_datahub_add_all_definitions: Add all definitions\nplugin_pimcore_datahub_configpanel_studio_format_title: \"Pimcore Studio Configuration\"\nplugin_pimcore_datahub_configpanel_studio_format_message: \"This configuration belongs to Pimcore Studio. Please make sure to maintain it directly within Pimcore Studio.\""
  },
  {
    "path": "src/Resources/translations/admin.es.yml",
    "content": "---\nplugin_pimcore_datahub_toolbar: Datahub Config\nplugin_pimcore_datahub_configpanel_add: Add Configuration\nplugin_pimcore_datahub_configpanel_enterkey_title: Add a new configuration\nplugin_pimcore_datahub_configpanel_enterkey_prompt: Unique Identifier\nplugin_pimcore_datahub_configpanel_error_adding_config: Error adding configuration\nplugin_pimcore_datahub_configpanel: Configuration\nplugin_pimcore_datahub_configpanel_invalid_name: Invalid name\nplugin_pimcore_datahub_configpanel_invalid_length: Exceeded maximum configuration\n  name length 80 of characters\nplugin_pimcore_datahub_configpanel_error_cloning_config: Error cloning configuration\nplugin_pimcore_datahub_configpanel_enterclonekey_title: Clone\nplugin_pimcore_datahub_configpanel_enterclonekey_enterclonekey_prompt: Name of clone\nplugin_pimcore_datahub_configpanel_item_save_success: Configuration saved\nplugin_pimcore_datahub_configpanel_item_saveerror: Configuration could not be saved\nplugin_pimcore_datahub_configpanel_item_saveerror_permissions: Configuration cannot\n  be saved because it would deprive your update permissions. Please check the permissions\n  tab.\nplugin_pimcore_datahub_configpanel_item_general: General\nplugin_pimcore_datahub_configpanel_sqlObjectCondition: SQL Condition\nplugin_pimcore_datahub_configpanel_schema: Schema Definition\nplugin_pimcore_datahub_configpanel_schema_fields: Schema Fields\nplugin_pimcore_datahub_configpanel_security: Security Definition\nplugin_pimcore_datahub_configpanel_security_method: Method\nplugin_pimcore_datahub_configpanel_security_method_apikey: API Key\nplugin_pimcore_datahub_configpanel_fields: Fields\nplugin_pimcore_datahub_configpanel_entity: Entity\nplugin_pimcore_datahub_configpanel_root: Root Node\nplugin_pimcore_datahub_fieldName: Field Name\nplugin_pimcore_datahub_configpanel_condition_hint: This is a global SQL condition\n  in addition to the workspace settings that will be added to all queries\nplugin_pimcore_datahub_configpanel_available_fields: Available Fields\nplugin_pimcore_datahub_operator_thumbnail_config: Configuration\nplugin_pimcore_datahub_operator_select_entity: Select Entity\nplugin_pimcore_datahub_security_datahub_apikey: Datahub API Keys\nplugin_pimcore_datahub_security_definition: Security Definition\nplugin_pimcore_datahub_security_apikey_description: API key required for web service\n  access. One API key per line allowed. At least one key with minimum 16 characters\n  needs to be provided.\nplugin_pimcore_datahub_config: Datahub Config\nplugin_datahub_config: Datahub Config\nplugin_datahub_adapter_graphql: Datahub Adapter - GraphQL\nplugin_datahub_admin: Datahub Admin\nplugin_pimcore_datahub_type_graphql: GraphQL\nplugin_pimcore_datahub_workspace_permission_create: Create\nplugin_pimcore_datahub_workspace_permission_read: Read\nplugin_pimcore_datahub_workspace_permission_update: Update\nplugin_pimcore_datahub_workspace_permission_delete: Delete\nplugin_pimcore_datahub_graphql_open_explorer_in_iframe: Open in Iframe\nplugin_pimcore_datahub_graphql_open_explorer_in_tab: Open in Tab\nplugin_pimcore_datahub_graphql_query_schema: Query Schema\nplugin_pimcore_datahub_graphql_mutation_schema: Mutation Schema\nplugin_pimcore_datahub_graphql_iexplorer: iExplorer\nplugin_pimcore_datahub_datatype_not_supported_yet: datatype '%s' not supported yet\noperator_alias: Alias\noperator_concatenator: Operator Concatenator\noperator_dateformatter: Date Formatter\noperator_element_counter: Element Counter\noperator_text: Operator Text\noperator_merge: Merge (deprecated)\noperator_substring: Substring\noperator_thumbnail: Thumbnail\noperator_thumbnail_html: Thumbnail HTML\noperator_translate_value: Operator Translate Value\noperator_trimmer: Trimmer\nmutationoperator_locale_switcher: Locale Switcher\nmutationoperator_ifempty: IfEmpty\nmutationoperator_locale_collector: Locale Collector\nmutationoperator_locale_switcher_description: Switches to different language other\n  than the default language.\nmutationoperator_ifempty_description: Only sets the value if current one is empty.\nmutationoperator_locale_collector_description: Allows editing all languages for a\n  single field.\nplugin_pimcore_datahub_query: Query\nplugin_pimcore_datahub_mutation: Mutation\nplugin_pimcore_datahub_graphql_special_schema: Generic Types\nplugin_pimcore_datahub_graphql_special_document: Document\nplugin_pimcore_datahub_graphql_special_document_folder: Document Folder\nplugin_pimcore_datahub_graphql_special_asset: Asset\nplugin_pimcore_datahub_graphql_special_asset_folder: Asset Folder\nplugin_pimcore_datahub_graphql_special_object_folder: Object Folder\nplugin_pimcore_datahub_graphql_special_asset_listing: Asset Listing\nplugin_pimcore_datahub_graphql_special_translation_listing: Translation Listing\nplugin_pimcore_datahub_graphql_special_translation: Translation\nread: Read\nplugin_pimcore_datahub_skip_permission_check: Skip Permission Check\nplugin_pimcore_datahub_configpanel_permissions: Permissions\nplugin_pimcore_datahub_graphql_permissions_roles: Role Permissions\nplugin_pimcore_datahub_graphql_permissions_users: User Permissions\nplugin_pimcore_datahub_operator_select_user: Select User\nplugin_pimcore_datahub_operator_select_role: Select Role\nplugin_pimcore_datahub_configpanel_user: User\nplugin_pimcore_datahub_configpanel_role: Role\nplugin_pimcore_datahub_disable_introspection: Disable Introspection\nplugin_pimcore_datahub_security_introspection_description: 'Please note: When introspection\n  is disabled, the autocomplete feature will not work.'\nplugin_pimcore_datahub_import: Import\nplugin_pimcore_datahub_export: Export\n...\n"
  },
  {
    "path": "src/Resources/translations/admin.fr.yml",
    "content": "---\nplugin_pimcore_datahub_toolbar: Datahub\nplugin_pimcore_datahub_configpanel_add: Ajouter une configuration\nplugin_pimcore_datahub_configpanel_enterkey_title: Ajouter une nouvelle configuration\nplugin_pimcore_datahub_configpanel_enterkey_prompt: Identifieur unique\nplugin_pimcore_datahub_configpanel_error_adding_config: Error adding configuration\nplugin_pimcore_datahub_configpanel: Configuration\nplugin_pimcore_datahub_configpanel_invalid_name: Nom non valide\nplugin_pimcore_datahub_configpanel_invalid_length: Exceeded maximum configuration\n  name length 80 of characters\nplugin_pimcore_datahub_configpanel_error_cloning_config: Error cloning configuration\nplugin_pimcore_datahub_configpanel_enterclonekey_title: Dupliquer\nplugin_pimcore_datahub_configpanel_enterclonekey_enterclonekey_prompt: Nom de la copie\nplugin_pimcore_datahub_configpanel_item_save_success: \"Configuration sauvegard\\xE9e\"\nplugin_pimcore_datahub_configpanel_item_saveerror: \"La configuration n'a pas pu \\xEAtre\n  sauvegard\\xE9e\"\nplugin_pimcore_datahub_configpanel_item_saveerror_permissions: Configuration cannot\n  be saved because it would deprive your update permissions. Please check the permissions\n  tab.\nplugin_pimcore_datahub_configpanel_item_general: \"G\\xE9n\\xE9ral\"\nplugin_pimcore_datahub_configpanel_sqlObjectCondition: SQL Condition\nplugin_pimcore_datahub_configpanel_schema: \"D\\xE9finition de sch\\xE9ma\"\nplugin_pimcore_datahub_configpanel_schema_fields: Schema Fields\nplugin_pimcore_datahub_configpanel_security: Security Definition\nplugin_pimcore_datahub_configpanel_security_method: \"M\\xE9thode\"\nplugin_pimcore_datahub_configpanel_security_method_apikey: \"Cl\\xE9 API\"\nplugin_pimcore_datahub_configpanel_fields: Champs\nplugin_pimcore_datahub_configpanel_entity: \"Entit\\xE9\"\nplugin_pimcore_datahub_configpanel_root: Root Node\nplugin_pimcore_datahub_fieldName: Nom du champ\nplugin_pimcore_datahub_configpanel_condition_hint: This is a global SQL condition\n  in addition to the workspace settings that will be added to all queries\nplugin_pimcore_datahub_configpanel_available_fields: Champs disponibles\nplugin_pimcore_datahub_operator_thumbnail_config: Configuration\nplugin_pimcore_datahub_operator_select_entity: \"S\\xE9lectionner l'entit\\xE9\"\nplugin_pimcore_datahub_security_datahub_apikey: Datahub API Keys\nplugin_pimcore_datahub_security_definition: Security Definition\nplugin_pimcore_datahub_security_apikey_description: API key required for web service\n  access. One API key per line allowed. At least one key with minimum 16 characters\n  needs to be provided.\nplugin_pimcore_datahub_config: Datahub Config\nplugin_datahub_config: Datahub Config\nplugin_datahub_adapter_graphql: Datahub Adapter - GraphQL\nplugin_datahub_admin: Datahub Admin\nplugin_pimcore_datahub_type_graphql: GraphQL\nplugin_pimcore_datahub_workspace_permission_create: \"Cr\\xE9er\"\nplugin_pimcore_datahub_workspace_permission_read: Lire\nplugin_pimcore_datahub_workspace_permission_update: \"Mettre \\xE0 jour\"\nplugin_pimcore_datahub_workspace_permission_delete: Supprimer\nplugin_pimcore_datahub_graphql_open_explorer_in_iframe: Ouvrir dans Iframe\nplugin_pimcore_datahub_graphql_open_explorer_in_tab: Ouvrir dans un tableau\nplugin_pimcore_datahub_graphql_query_schema: \"Sch\\xE9ma de requ\\xEAte\"\nplugin_pimcore_datahub_graphql_mutation_schema: \"Sch\\xE9ma de mutation\"\nplugin_pimcore_datahub_graphql_iexplorer: iExplorer\nplugin_pimcore_datahub_datatype_not_supported_yet: datatype '%s' not supported yet\noperator_alias: Alias\noperator_concatenator: Operator Concatenator\noperator_dateformatter: Date Formatter\noperator_element_counter: Element Counter\noperator_text: Operator Text\noperator_merge: Merge (deprecated)\noperator_substring: \"Sous-cha\\xEEne\"\noperator_thumbnail: Miniature\noperator_thumbnail_html: Miniature HTML\noperator_translate_value: Operator Translate Value\noperator_trimmer: Trimmer\nmutationoperator_locale_switcher: Locale Switcher\nmutationoperator_ifempty: IfEmpty\nmutationoperator_locale_collector: Locale Collector\nmutationoperator_locale_switcher_description: \"Passe \\xE0 une autre langue que celle\n  par d\\xE9faut.\"\nmutationoperator_ifempty_description: \"Ne d\\xE9finir une valeur que si la valeur actuelle\n  est vide.\"\nmutationoperator_locale_collector_description: \"Permet d'\\xE9diter toutes les langues\n  pour un seul champ.\"\nplugin_pimcore_datahub_query: \"Requ\\xEAte\"\nplugin_pimcore_datahub_mutation: Mutation\nplugin_pimcore_datahub_graphql_special_schema: \"Types g\\xE9n\\xE9riques\"\nplugin_pimcore_datahub_graphql_special_document: Document\nplugin_pimcore_datahub_graphql_special_document_folder: Document Folder\nplugin_pimcore_datahub_graphql_special_asset: Actif\nplugin_pimcore_datahub_graphql_special_asset_folder: Dossier des actifs\nplugin_pimcore_datahub_graphql_special_object_folder: Dossier des objets\nplugin_pimcore_datahub_graphql_special_asset_listing: Listage des actifs\nplugin_pimcore_datahub_graphql_special_translation_listing: Liste de traduction\nplugin_pimcore_datahub_graphql_special_translation: Traduction\nread: Lire\nplugin_pimcore_datahub_skip_permission_check: Skip Permission Check\nplugin_pimcore_datahub_configpanel_permissions: Permissions\nplugin_pimcore_datahub_graphql_permissions_roles: Role Permissions\nplugin_pimcore_datahub_graphql_permissions_users: Permissions des utilisateurs\nplugin_pimcore_datahub_operator_select_user: \"S\\xE9lectionner un utilisateur\"\nplugin_pimcore_datahub_operator_select_role: \"S\\xE9lectionner un r\\xF4le\"\nplugin_pimcore_datahub_configpanel_user: Utilisateur\nplugin_pimcore_datahub_configpanel_role: \"R\\xF4le\"\nplugin_pimcore_datahub_disable_introspection: Disable Introspection\nplugin_pimcore_datahub_security_introspection_description: 'Please note: When introspection\n  is disabled, the autocomplete feature will not work.'\nplugin_pimcore_datahub_import: Importer\nplugin_pimcore_datahub_export: Exporter\n...\n"
  },
  {
    "path": "src/Resources/translations/admin.hu.yml",
    "content": "---\nplugin_pimcore_datahub_toolbar: Datahub Config\nplugin_pimcore_datahub_configpanel_add: Add Configuration\nplugin_pimcore_datahub_configpanel_enterkey_title: Add a new configuration\nplugin_pimcore_datahub_configpanel_enterkey_prompt: Unique Identifier\nplugin_pimcore_datahub_configpanel_error_adding_config: Error adding configuration\nplugin_pimcore_datahub_configpanel: Configuration\nplugin_pimcore_datahub_configpanel_invalid_name: Invalid name\nplugin_pimcore_datahub_configpanel_invalid_length: Exceeded maximum configuration\n  name length 80 of characters\nplugin_pimcore_datahub_configpanel_error_cloning_config: Error cloning configuration\nplugin_pimcore_datahub_configpanel_enterclonekey_title: Clone\nplugin_pimcore_datahub_configpanel_enterclonekey_enterclonekey_prompt: Name of clone\nplugin_pimcore_datahub_configpanel_item_save_success: Configuration saved\nplugin_pimcore_datahub_configpanel_item_saveerror: Configuration could not be saved\nplugin_pimcore_datahub_configpanel_item_saveerror_permissions: Configuration cannot\n  be saved because it would deprive your update permissions. Please check the permissions\n  tab.\nplugin_pimcore_datahub_configpanel_item_general: General\nplugin_pimcore_datahub_configpanel_sqlObjectCondition: SQL Condition\nplugin_pimcore_datahub_configpanel_schema: Schema Definition\nplugin_pimcore_datahub_configpanel_schema_fields: Schema Fields\nplugin_pimcore_datahub_configpanel_security: Security Definition\nplugin_pimcore_datahub_configpanel_security_method: Method\nplugin_pimcore_datahub_configpanel_security_method_apikey: API Key\nplugin_pimcore_datahub_configpanel_fields: Fields\nplugin_pimcore_datahub_configpanel_entity: Entity\nplugin_pimcore_datahub_configpanel_root: Root Node\nplugin_pimcore_datahub_fieldName: Field Name\nplugin_pimcore_datahub_configpanel_condition_hint: This is a global SQL condition\n  in addition to the workspace settings that will be added to all queries\nplugin_pimcore_datahub_configpanel_available_fields: Available Fields\nplugin_pimcore_datahub_operator_thumbnail_config: Configuration\nplugin_pimcore_datahub_operator_select_entity: Select Entity\nplugin_pimcore_datahub_security_datahub_apikey: Datahub API Keys\nplugin_pimcore_datahub_security_definition: Security Definition\nplugin_pimcore_datahub_security_apikey_description: API key required for web service\n  access. One API key per line allowed. At least one key with minimum 16 characters\n  needs to be provided.\nplugin_pimcore_datahub_config: Datahub Config\nplugin_datahub_config: Datahub Config\nplugin_datahub_adapter_graphql: Datahub Adapter - GraphQL\nplugin_datahub_admin: Datahub Admin\nplugin_pimcore_datahub_type_graphql: GraphQL\nplugin_pimcore_datahub_workspace_permission_create: Create\nplugin_pimcore_datahub_workspace_permission_read: Read\nplugin_pimcore_datahub_workspace_permission_update: Update\nplugin_pimcore_datahub_workspace_permission_delete: Delete\nplugin_pimcore_datahub_graphql_open_explorer_in_iframe: Open in Iframe\nplugin_pimcore_datahub_graphql_open_explorer_in_tab: Open in Tab\nplugin_pimcore_datahub_graphql_query_schema: Query Schema\nplugin_pimcore_datahub_graphql_mutation_schema: Mutation Schema\nplugin_pimcore_datahub_graphql_iexplorer: iExplorer\nplugin_pimcore_datahub_datatype_not_supported_yet: datatype '%s' not supported yet\noperator_alias: Alias\noperator_concatenator: Operator Concatenator\noperator_dateformatter: Date Formatter\noperator_element_counter: Element Counter\noperator_text: Operator Text\noperator_merge: Merge (deprecated)\noperator_substring: Substring\noperator_thumbnail: Thumbnail\noperator_thumbnail_html: Thumbnail HTML\noperator_translate_value: Operator Translate Value\noperator_trimmer: Trimmer\nmutationoperator_locale_switcher: Locale Switcher\nmutationoperator_ifempty: IfEmpty\nmutationoperator_locale_collector: Locale Collector\nmutationoperator_locale_switcher_description: Switches to different language other\n  than the default language.\nmutationoperator_ifempty_description: Only sets the value if current one is empty.\nmutationoperator_locale_collector_description: Allows editing all languages for a\n  single field.\nplugin_pimcore_datahub_query: Query\nplugin_pimcore_datahub_mutation: Mutation\nplugin_pimcore_datahub_graphql_special_schema: Generic Types\nplugin_pimcore_datahub_graphql_special_document: Document\nplugin_pimcore_datahub_graphql_special_document_folder: Document Folder\nplugin_pimcore_datahub_graphql_special_asset: Asset\nplugin_pimcore_datahub_graphql_special_asset_folder: Asset Folder\nplugin_pimcore_datahub_graphql_special_object_folder: Object Folder\nplugin_pimcore_datahub_graphql_special_asset_listing: Asset Listing\nplugin_pimcore_datahub_graphql_special_translation_listing: Translation Listing\nplugin_pimcore_datahub_graphql_special_translation: Translation\nread: Read\nplugin_pimcore_datahub_skip_permission_check: Skip Permission Check\nplugin_pimcore_datahub_configpanel_permissions: Permissions\nplugin_pimcore_datahub_graphql_permissions_roles: Role Permissions\nplugin_pimcore_datahub_graphql_permissions_users: User Permissions\nplugin_pimcore_datahub_operator_select_user: Select User\nplugin_pimcore_datahub_operator_select_role: Select Role\nplugin_pimcore_datahub_configpanel_user: User\nplugin_pimcore_datahub_configpanel_role: Role\nplugin_pimcore_datahub_disable_introspection: Disable Introspection\nplugin_pimcore_datahub_security_introspection_description: 'Please note: When introspection\n  is disabled, the autocomplete feature will not work.'\nplugin_pimcore_datahub_import: Import\nplugin_pimcore_datahub_export: Export\n...\n"
  },
  {
    "path": "src/Resources/translations/admin.it.yml",
    "content": "---\nplugin_pimcore_datahub_toolbar: Datahub Config\nplugin_pimcore_datahub_configpanel_add: Add Configuration\nplugin_pimcore_datahub_configpanel_enterkey_title: Add a new configuration\nplugin_pimcore_datahub_configpanel_enterkey_prompt: Unique Identifier\nplugin_pimcore_datahub_configpanel_error_adding_config: Error adding configuration\nplugin_pimcore_datahub_configpanel: Configuration\nplugin_pimcore_datahub_configpanel_invalid_name: Invalid name\nplugin_pimcore_datahub_configpanel_invalid_length: Exceeded maximum configuration\n  name length 80 of characters\nplugin_pimcore_datahub_configpanel_error_cloning_config: Error cloning configuration\nplugin_pimcore_datahub_configpanel_enterclonekey_title: Clone\nplugin_pimcore_datahub_configpanel_enterclonekey_enterclonekey_prompt: Name of clone\nplugin_pimcore_datahub_configpanel_item_save_success: Configuration saved\nplugin_pimcore_datahub_configpanel_item_saveerror: Configuration could not be saved\nplugin_pimcore_datahub_configpanel_item_saveerror_permissions: Configuration cannot\n  be saved because it would deprive your update permissions. Please check the permissions\n  tab.\nplugin_pimcore_datahub_configpanel_item_general: General\nplugin_pimcore_datahub_configpanel_sqlObjectCondition: SQL Condition\nplugin_pimcore_datahub_configpanel_schema: Schema Definition\nplugin_pimcore_datahub_configpanel_schema_fields: Schema Fields\nplugin_pimcore_datahub_configpanel_security: Security Definition\nplugin_pimcore_datahub_configpanel_security_method: Method\nplugin_pimcore_datahub_configpanel_security_method_apikey: API Key\nplugin_pimcore_datahub_configpanel_fields: Fields\nplugin_pimcore_datahub_configpanel_entity: Entity\nplugin_pimcore_datahub_configpanel_root: Root Node\nplugin_pimcore_datahub_fieldName: Field Name\nplugin_pimcore_datahub_configpanel_condition_hint: This is a global SQL condition\n  in addition to the workspace settings that will be added to all queries\nplugin_pimcore_datahub_configpanel_available_fields: Available Fields\nplugin_pimcore_datahub_operator_thumbnail_config: Configuration\nplugin_pimcore_datahub_operator_select_entity: Select Entity\nplugin_pimcore_datahub_security_datahub_apikey: Datahub API Keys\nplugin_pimcore_datahub_security_definition: Security Definition\nplugin_pimcore_datahub_security_apikey_description: API key required for web service\n  access. One API key per line allowed. At least one key with minimum 16 characters\n  needs to be provided.\nplugin_pimcore_datahub_config: Datahub Config\nplugin_datahub_config: Datahub Config\nplugin_datahub_adapter_graphql: Datahub Adapter - GraphQL\nplugin_datahub_admin: Datahub Admin\nplugin_pimcore_datahub_type_graphql: GraphQL\nplugin_pimcore_datahub_workspace_permission_create: Create\nplugin_pimcore_datahub_workspace_permission_read: Read\nplugin_pimcore_datahub_workspace_permission_update: Update\nplugin_pimcore_datahub_workspace_permission_delete: Delete\nplugin_pimcore_datahub_graphql_open_explorer_in_iframe: Open in Iframe\nplugin_pimcore_datahub_graphql_open_explorer_in_tab: Open in Tab\nplugin_pimcore_datahub_graphql_query_schema: Query Schema\nplugin_pimcore_datahub_graphql_mutation_schema: Mutation Schema\nplugin_pimcore_datahub_graphql_iexplorer: iExplorer\nplugin_pimcore_datahub_datatype_not_supported_yet: datatype '%s' not supported yet\noperator_alias: Alias\noperator_concatenator: Operator Concatenator\noperator_dateformatter: Date Formatter\noperator_element_counter: Element Counter\noperator_text: Operator Text\noperator_merge: Merge (deprecated)\noperator_substring: Substring\noperator_thumbnail: Thumbnail\noperator_thumbnail_html: Thumbnail HTML\noperator_translate_value: Operator Translate Value\noperator_trimmer: Trimmer\nmutationoperator_locale_switcher: Locale Switcher\nmutationoperator_ifempty: IfEmpty\nmutationoperator_locale_collector: Locale Collector\nmutationoperator_locale_switcher_description: Switches to different language other\n  than the default language.\nmutationoperator_ifempty_description: Only sets the value if current one is empty.\nmutationoperator_locale_collector_description: Allows editing all languages for a\n  single field.\nplugin_pimcore_datahub_query: Query\nplugin_pimcore_datahub_mutation: Mutation\nplugin_pimcore_datahub_graphql_special_schema: Generic Types\nplugin_pimcore_datahub_graphql_special_document: Document\nplugin_pimcore_datahub_graphql_special_document_folder: Document Folder\nplugin_pimcore_datahub_graphql_special_asset: Asset\nplugin_pimcore_datahub_graphql_special_asset_folder: Asset Folder\nplugin_pimcore_datahub_graphql_special_object_folder: Object Folder\nplugin_pimcore_datahub_graphql_special_asset_listing: Asset Listing\nplugin_pimcore_datahub_graphql_special_translation_listing: Translation Listing\nplugin_pimcore_datahub_graphql_special_translation: Translation\nread: Read\nplugin_pimcore_datahub_skip_permission_check: Skip Permission Check\nplugin_pimcore_datahub_configpanel_permissions: Permissions\nplugin_pimcore_datahub_graphql_permissions_roles: Role Permissions\nplugin_pimcore_datahub_graphql_permissions_users: User Permissions\nplugin_pimcore_datahub_operator_select_user: Select User\nplugin_pimcore_datahub_operator_select_role: Select Role\nplugin_pimcore_datahub_configpanel_user: User\nplugin_pimcore_datahub_configpanel_role: Role\nplugin_pimcore_datahub_disable_introspection: Disable Introspection\nplugin_pimcore_datahub_security_introspection_description: 'Please note: When introspection\n  is disabled, the autocomplete feature will not work.'\nplugin_pimcore_datahub_import: Import\nplugin_pimcore_datahub_export: Export\n...\n"
  },
  {
    "path": "src/Resources/translations/admin.nl.yml",
    "content": "---\nplugin_pimcore_datahub_toolbar: Datahub Config\nplugin_pimcore_datahub_configpanel_add: Add Configuration\nplugin_pimcore_datahub_configpanel_enterkey_title: Add a new configuration\nplugin_pimcore_datahub_configpanel_enterkey_prompt: Unique Identifier\nplugin_pimcore_datahub_configpanel_error_adding_config: Error adding configuration\nplugin_pimcore_datahub_configpanel: Configuration\nplugin_pimcore_datahub_configpanel_invalid_name: Invalid name\nplugin_pimcore_datahub_configpanel_invalid_length: Exceeded maximum configuration\n  name length 80 of characters\nplugin_pimcore_datahub_configpanel_error_cloning_config: Error cloning configuration\nplugin_pimcore_datahub_configpanel_enterclonekey_title: Clone\nplugin_pimcore_datahub_configpanel_enterclonekey_enterclonekey_prompt: Name of clone\nplugin_pimcore_datahub_configpanel_item_save_success: Configuration saved\nplugin_pimcore_datahub_configpanel_item_saveerror: Configuration could not be saved\nplugin_pimcore_datahub_configpanel_item_saveerror_permissions: Configuration cannot\n  be saved because it would deprive your update permissions. Please check the permissions\n  tab.\nplugin_pimcore_datahub_configpanel_item_general: General\nplugin_pimcore_datahub_configpanel_sqlObjectCondition: SQL Condition\nplugin_pimcore_datahub_configpanel_schema: Schema Definition\nplugin_pimcore_datahub_configpanel_schema_fields: Schema Fields\nplugin_pimcore_datahub_configpanel_security: Security Definition\nplugin_pimcore_datahub_configpanel_security_method: Method\nplugin_pimcore_datahub_configpanel_security_method_apikey: API Key\nplugin_pimcore_datahub_configpanel_fields: Fields\nplugin_pimcore_datahub_configpanel_entity: Entity\nplugin_pimcore_datahub_configpanel_root: Root Node\nplugin_pimcore_datahub_fieldName: Field Name\nplugin_pimcore_datahub_configpanel_condition_hint: This is a global SQL condition\n  in addition to the workspace settings that will be added to all queries\nplugin_pimcore_datahub_configpanel_available_fields: Available Fields\nplugin_pimcore_datahub_operator_thumbnail_config: Configuration\nplugin_pimcore_datahub_operator_select_entity: Select Entity\nplugin_pimcore_datahub_security_datahub_apikey: Datahub API Keys\nplugin_pimcore_datahub_security_definition: Security Definition\nplugin_pimcore_datahub_security_apikey_description: API key required for web service\n  access. One API key per line allowed. At least one key with minimum 16 characters\n  needs to be provided.\nplugin_pimcore_datahub_config: Datahub Config\nplugin_datahub_config: Datahub Config\nplugin_datahub_adapter_graphql: Datahub Adapter - GraphQL\nplugin_datahub_admin: Datahub Admin\nplugin_pimcore_datahub_type_graphql: GraphQL\nplugin_pimcore_datahub_workspace_permission_create: Create\nplugin_pimcore_datahub_workspace_permission_read: Read\nplugin_pimcore_datahub_workspace_permission_update: Update\nplugin_pimcore_datahub_workspace_permission_delete: Delete\nplugin_pimcore_datahub_graphql_open_explorer_in_iframe: Open in Iframe\nplugin_pimcore_datahub_graphql_open_explorer_in_tab: Open in Tab\nplugin_pimcore_datahub_graphql_query_schema: Query Schema\nplugin_pimcore_datahub_graphql_mutation_schema: Mutation Schema\nplugin_pimcore_datahub_graphql_iexplorer: iExplorer\nplugin_pimcore_datahub_datatype_not_supported_yet: datatype '%s' not supported yet\noperator_alias: Alias\noperator_concatenator: Operator Concatenator\noperator_dateformatter: Date Formatter\noperator_element_counter: Element Counter\noperator_text: Operator Text\noperator_merge: Merge (deprecated)\noperator_substring: Substring\noperator_thumbnail: Thumbnail\noperator_thumbnail_html: Thumbnail HTML\noperator_translate_value: Operator Translate Value\noperator_trimmer: Trimmer\nmutationoperator_locale_switcher: Locale Switcher\nmutationoperator_ifempty: IfEmpty\nmutationoperator_locale_collector: Locale Collector\nmutationoperator_locale_switcher_description: Switches to different language other\n  than the default language.\nmutationoperator_ifempty_description: Only sets the value if current one is empty.\nmutationoperator_locale_collector_description: Allows editing all languages for a\n  single field.\nplugin_pimcore_datahub_query: Query\nplugin_pimcore_datahub_mutation: Mutation\nplugin_pimcore_datahub_graphql_special_schema: Generic Types\nplugin_pimcore_datahub_graphql_special_document: Document\nplugin_pimcore_datahub_graphql_special_document_folder: Document Folder\nplugin_pimcore_datahub_graphql_special_asset: Asset\nplugin_pimcore_datahub_graphql_special_asset_folder: Asset Folder\nplugin_pimcore_datahub_graphql_special_object_folder: Object Folder\nplugin_pimcore_datahub_graphql_special_asset_listing: Asset Listing\nplugin_pimcore_datahub_graphql_special_translation_listing: Translation Listing\nplugin_pimcore_datahub_graphql_special_translation: Translation\nread: Read\nplugin_pimcore_datahub_skip_permission_check: Skip Permission Check\nplugin_pimcore_datahub_configpanel_permissions: Permissions\nplugin_pimcore_datahub_graphql_permissions_roles: Role Permissions\nplugin_pimcore_datahub_graphql_permissions_users: User Permissions\nplugin_pimcore_datahub_operator_select_user: Select User\nplugin_pimcore_datahub_operator_select_role: Select Role\nplugin_pimcore_datahub_configpanel_user: User\nplugin_pimcore_datahub_configpanel_role: Role\nplugin_pimcore_datahub_disable_introspection: Disable Introspection\nplugin_pimcore_datahub_security_introspection_description: 'Please note: When introspection\n  is disabled, the autocomplete feature will not work.'\nplugin_pimcore_datahub_import: Import\nplugin_pimcore_datahub_export: Export\n...\n"
  },
  {
    "path": "src/Resources/translations/admin.pl.yml",
    "content": "---\nplugin_pimcore_datahub_toolbar: Datahub Config\nplugin_pimcore_datahub_configpanel_add: Add Configuration\nplugin_pimcore_datahub_configpanel_enterkey_title: Add a new configuration\nplugin_pimcore_datahub_configpanel_enterkey_prompt: Unique Identifier\nplugin_pimcore_datahub_configpanel_error_adding_config: Error adding configuration\nplugin_pimcore_datahub_configpanel: Configuration\nplugin_pimcore_datahub_configpanel_invalid_name: Invalid name\nplugin_pimcore_datahub_configpanel_invalid_length: Exceeded maximum configuration\n  name length 80 of characters\nplugin_pimcore_datahub_configpanel_error_cloning_config: Error cloning configuration\nplugin_pimcore_datahub_configpanel_enterclonekey_title: Clone\nplugin_pimcore_datahub_configpanel_enterclonekey_enterclonekey_prompt: Name of clone\nplugin_pimcore_datahub_configpanel_item_save_success: Configuration saved\nplugin_pimcore_datahub_configpanel_item_saveerror: Configuration could not be saved\nplugin_pimcore_datahub_configpanel_item_saveerror_permissions: Configuration cannot\n  be saved because it would deprive your update permissions. Please check the permissions\n  tab.\nplugin_pimcore_datahub_configpanel_item_general: General\nplugin_pimcore_datahub_configpanel_sqlObjectCondition: SQL Condition\nplugin_pimcore_datahub_configpanel_schema: Schema Definition\nplugin_pimcore_datahub_configpanel_schema_fields: Schema Fields\nplugin_pimcore_datahub_configpanel_security: Security Definition\nplugin_pimcore_datahub_configpanel_security_method: Method\nplugin_pimcore_datahub_configpanel_security_method_apikey: API Key\nplugin_pimcore_datahub_configpanel_fields: Fields\nplugin_pimcore_datahub_configpanel_entity: Entity\nplugin_pimcore_datahub_configpanel_root: Root Node\nplugin_pimcore_datahub_fieldName: Field Name\nplugin_pimcore_datahub_configpanel_condition_hint: This is a global SQL condition\n  in addition to the workspace settings that will be added to all queries\nplugin_pimcore_datahub_configpanel_available_fields: Available Fields\nplugin_pimcore_datahub_operator_thumbnail_config: Configuration\nplugin_pimcore_datahub_operator_select_entity: Select Entity\nplugin_pimcore_datahub_security_datahub_apikey: Datahub API Keys\nplugin_pimcore_datahub_security_definition: Security Definition\nplugin_pimcore_datahub_security_apikey_description: API key required for web service\n  access. One API key per line allowed. At least one key with minimum 16 characters\n  needs to be provided.\nplugin_pimcore_datahub_config: Datahub Config\nplugin_datahub_config: Datahub Config\nplugin_datahub_adapter_graphql: Datahub Adapter - GraphQL\nplugin_datahub_admin: Datahub Admin\nplugin_pimcore_datahub_type_graphql: GraphQL\nplugin_pimcore_datahub_workspace_permission_create: Create\nplugin_pimcore_datahub_workspace_permission_read: Read\nplugin_pimcore_datahub_workspace_permission_update: Update\nplugin_pimcore_datahub_workspace_permission_delete: Delete\nplugin_pimcore_datahub_graphql_open_explorer_in_iframe: Open in Iframe\nplugin_pimcore_datahub_graphql_open_explorer_in_tab: Open in Tab\nplugin_pimcore_datahub_graphql_query_schema: Query Schema\nplugin_pimcore_datahub_graphql_mutation_schema: Mutation Schema\nplugin_pimcore_datahub_graphql_iexplorer: iExplorer\nplugin_pimcore_datahub_datatype_not_supported_yet: datatype '%s' not supported yet\noperator_alias: Alias\noperator_concatenator: Operator Concatenator\noperator_dateformatter: Date Formatter\noperator_element_counter: Element Counter\noperator_text: Operator Text\noperator_merge: Merge (deprecated)\noperator_substring: Substring\noperator_thumbnail: Thumbnail\noperator_thumbnail_html: Thumbnail HTML\noperator_translate_value: Operator Translate Value\noperator_trimmer: Trimmer\nmutationoperator_locale_switcher: Locale Switcher\nmutationoperator_ifempty: IfEmpty\nmutationoperator_locale_collector: Locale Collector\nmutationoperator_locale_switcher_description: Switches to different language other\n  than the default language.\nmutationoperator_ifempty_description: Only sets the value if current one is empty.\nmutationoperator_locale_collector_description: Allows editing all languages for a\n  single field.\nplugin_pimcore_datahub_query: Query\nplugin_pimcore_datahub_mutation: Mutation\nplugin_pimcore_datahub_graphql_special_schema: Generic Types\nplugin_pimcore_datahub_graphql_special_document: Document\nplugin_pimcore_datahub_graphql_special_document_folder: Document Folder\nplugin_pimcore_datahub_graphql_special_asset: Asset\nplugin_pimcore_datahub_graphql_special_asset_folder: Asset Folder\nplugin_pimcore_datahub_graphql_special_object_folder: Object Folder\nplugin_pimcore_datahub_graphql_special_asset_listing: Asset Listing\nplugin_pimcore_datahub_graphql_special_translation_listing: Translation Listing\nplugin_pimcore_datahub_graphql_special_translation: Translation\nread: Read\nplugin_pimcore_datahub_skip_permission_check: Skip Permission Check\nplugin_pimcore_datahub_configpanel_permissions: Permissions\nplugin_pimcore_datahub_graphql_permissions_roles: Role Permissions\nplugin_pimcore_datahub_graphql_permissions_users: User Permissions\nplugin_pimcore_datahub_operator_select_user: Select User\nplugin_pimcore_datahub_operator_select_role: Select Role\nplugin_pimcore_datahub_configpanel_user: User\nplugin_pimcore_datahub_configpanel_role: Role\nplugin_pimcore_datahub_disable_introspection: Disable Introspection\nplugin_pimcore_datahub_security_introspection_description: 'Please note: When introspection\n  is disabled, the autocomplete feature will not work.'\nplugin_pimcore_datahub_import: Import\nplugin_pimcore_datahub_export: Export\n...\n"
  },
  {
    "path": "src/Resources/translations/admin.pt_br.yml",
    "content": "---\nplugin_pimcore_datahub_toolbar: Datahub Config\nplugin_pimcore_datahub_configpanel_add: Add Configuration\nplugin_pimcore_datahub_configpanel_enterkey_title: Add a new configuration\nplugin_pimcore_datahub_configpanel_enterkey_prompt: Unique Identifier\nplugin_pimcore_datahub_configpanel_error_adding_config: Error adding configuration\nplugin_pimcore_datahub_configpanel: Configuration\nplugin_pimcore_datahub_configpanel_invalid_name: Invalid name\nplugin_pimcore_datahub_configpanel_invalid_length: Exceeded maximum configuration\n  name length 80 of characters\nplugin_pimcore_datahub_configpanel_error_cloning_config: Error cloning configuration\nplugin_pimcore_datahub_configpanel_enterclonekey_title: Clone\nplugin_pimcore_datahub_configpanel_enterclonekey_enterclonekey_prompt: Name of clone\nplugin_pimcore_datahub_configpanel_item_save_success: Configuration saved\nplugin_pimcore_datahub_configpanel_item_saveerror: Configuration could not be saved\nplugin_pimcore_datahub_configpanel_item_saveerror_permissions: Configuration cannot\n  be saved because it would deprive your update permissions. Please check the permissions\n  tab.\nplugin_pimcore_datahub_configpanel_item_general: General\nplugin_pimcore_datahub_configpanel_sqlObjectCondition: SQL Condition\nplugin_pimcore_datahub_configpanel_schema: Schema Definition\nplugin_pimcore_datahub_configpanel_schema_fields: Schema Fields\nplugin_pimcore_datahub_configpanel_security: Security Definition\nplugin_pimcore_datahub_configpanel_security_method: Method\nplugin_pimcore_datahub_configpanel_security_method_apikey: API Key\nplugin_pimcore_datahub_configpanel_fields: Fields\nplugin_pimcore_datahub_configpanel_entity: Entity\nplugin_pimcore_datahub_configpanel_root: Root Node\nplugin_pimcore_datahub_fieldName: Field Name\nplugin_pimcore_datahub_configpanel_condition_hint: This is a global SQL condition\n  in addition to the workspace settings that will be added to all queries\nplugin_pimcore_datahub_configpanel_available_fields: Available Fields\nplugin_pimcore_datahub_operator_thumbnail_config: Configuration\nplugin_pimcore_datahub_operator_select_entity: Select Entity\nplugin_pimcore_datahub_security_datahub_apikey: Datahub API Keys\nplugin_pimcore_datahub_security_definition: Security Definition\nplugin_pimcore_datahub_security_apikey_description: API key required for web service\n  access. One API key per line allowed. At least one key with minimum 16 characters\n  needs to be provided.\nplugin_pimcore_datahub_config: Datahub Config\nplugin_datahub_config: Datahub Config\nplugin_datahub_adapter_graphql: Datahub Adapter - GraphQL\nplugin_datahub_admin: Datahub Admin\nplugin_pimcore_datahub_type_graphql: GraphQL\nplugin_pimcore_datahub_workspace_permission_create: Create\nplugin_pimcore_datahub_workspace_permission_read: Read\nplugin_pimcore_datahub_workspace_permission_update: Update\nplugin_pimcore_datahub_workspace_permission_delete: Delete\nplugin_pimcore_datahub_graphql_open_explorer_in_iframe: Open in Iframe\nplugin_pimcore_datahub_graphql_open_explorer_in_tab: Open in Tab\nplugin_pimcore_datahub_graphql_query_schema: Query Schema\nplugin_pimcore_datahub_graphql_mutation_schema: Mutation Schema\nplugin_pimcore_datahub_graphql_iexplorer: iExplorer\nplugin_pimcore_datahub_datatype_not_supported_yet: datatype '%s' not supported yet\noperator_alias: Alias\noperator_concatenator: Operator Concatenator\noperator_dateformatter: Date Formatter\noperator_element_counter: Element Counter\noperator_text: Operator Text\noperator_merge: Merge (deprecated)\noperator_substring: Substring\noperator_thumbnail: Thumbnail\noperator_thumbnail_html: Thumbnail HTML\noperator_translate_value: Operator Translate Value\noperator_trimmer: Trimmer\nmutationoperator_locale_switcher: Locale Switcher\nmutationoperator_ifempty: IfEmpty\nmutationoperator_locale_collector: Locale Collector\nmutationoperator_locale_switcher_description: Switches to different language other\n  than the default language.\nmutationoperator_ifempty_description: Only sets the value if current one is empty.\nmutationoperator_locale_collector_description: Allows editing all languages for a\n  single field.\nplugin_pimcore_datahub_query: Query\nplugin_pimcore_datahub_mutation: Mutation\nplugin_pimcore_datahub_graphql_special_schema: Generic Types\nplugin_pimcore_datahub_graphql_special_document: Document\nplugin_pimcore_datahub_graphql_special_document_folder: Document Folder\nplugin_pimcore_datahub_graphql_special_asset: Asset\nplugin_pimcore_datahub_graphql_special_asset_folder: Asset Folder\nplugin_pimcore_datahub_graphql_special_object_folder: Object Folder\nplugin_pimcore_datahub_graphql_special_asset_listing: Asset Listing\nplugin_pimcore_datahub_graphql_special_translation_listing: Translation Listing\nplugin_pimcore_datahub_graphql_special_translation: Translation\nread: Read\nplugin_pimcore_datahub_skip_permission_check: Skip Permission Check\nplugin_pimcore_datahub_configpanel_permissions: Permissions\nplugin_pimcore_datahub_graphql_permissions_roles: Role Permissions\nplugin_pimcore_datahub_graphql_permissions_users: User Permissions\nplugin_pimcore_datahub_operator_select_user: Select User\nplugin_pimcore_datahub_operator_select_role: Select Role\nplugin_pimcore_datahub_configpanel_user: User\nplugin_pimcore_datahub_configpanel_role: Role\nplugin_pimcore_datahub_disable_introspection: Disable Introspection\nplugin_pimcore_datahub_security_introspection_description: 'Please note: When introspection\n  is disabled, the autocomplete feature will not work.'\nplugin_pimcore_datahub_import: Import\nplugin_pimcore_datahub_export: Export\n...\n"
  },
  {
    "path": "src/Resources/translations/admin.ro.yml",
    "content": "---\nplugin_pimcore_datahub_toolbar: Datahub Config\nplugin_pimcore_datahub_configpanel_add: Add Configuration\nplugin_pimcore_datahub_configpanel_enterkey_title: Add a new configuration\nplugin_pimcore_datahub_configpanel_enterkey_prompt: Unique Identifier\nplugin_pimcore_datahub_configpanel_error_adding_config: Error adding configuration\nplugin_pimcore_datahub_configpanel: Configuration\nplugin_pimcore_datahub_configpanel_invalid_name: Invalid name\nplugin_pimcore_datahub_configpanel_invalid_length: Exceeded maximum configuration\n  name length 80 of characters\nplugin_pimcore_datahub_configpanel_error_cloning_config: Error cloning configuration\nplugin_pimcore_datahub_configpanel_enterclonekey_title: Clone\nplugin_pimcore_datahub_configpanel_enterclonekey_enterclonekey_prompt: Name of clone\nplugin_pimcore_datahub_configpanel_item_save_success: Configuration saved\nplugin_pimcore_datahub_configpanel_item_saveerror: Configuration could not be saved\nplugin_pimcore_datahub_configpanel_item_saveerror_permissions: Configuration cannot\n  be saved because it would deprive your update permissions. Please check the permissions\n  tab.\nplugin_pimcore_datahub_configpanel_item_general: General\nplugin_pimcore_datahub_configpanel_sqlObjectCondition: SQL Condition\nplugin_pimcore_datahub_configpanel_schema: Schema Definition\nplugin_pimcore_datahub_configpanel_schema_fields: Schema Fields\nplugin_pimcore_datahub_configpanel_security: Security Definition\nplugin_pimcore_datahub_configpanel_security_method: Method\nplugin_pimcore_datahub_configpanel_security_method_apikey: API Key\nplugin_pimcore_datahub_configpanel_fields: Fields\nplugin_pimcore_datahub_configpanel_entity: Entity\nplugin_pimcore_datahub_configpanel_root: Root Node\nplugin_pimcore_datahub_fieldName: Field Name\nplugin_pimcore_datahub_configpanel_condition_hint: This is a global SQL condition\n  in addition to the workspace settings that will be added to all queries\nplugin_pimcore_datahub_configpanel_available_fields: Available Fields\nplugin_pimcore_datahub_operator_thumbnail_config: Configuration\nplugin_pimcore_datahub_operator_select_entity: Select Entity\nplugin_pimcore_datahub_security_datahub_apikey: Datahub API Keys\nplugin_pimcore_datahub_security_definition: Security Definition\nplugin_pimcore_datahub_security_apikey_description: API key required for web service\n  access. One API key per line allowed. At least one key with minimum 16 characters\n  needs to be provided.\nplugin_pimcore_datahub_config: Datahub Config\nplugin_datahub_config: Datahub Config\nplugin_datahub_adapter_graphql: Datahub Adapter - GraphQL\nplugin_datahub_admin: Datahub Admin\nplugin_pimcore_datahub_type_graphql: GraphQL\nplugin_pimcore_datahub_workspace_permission_create: Create\nplugin_pimcore_datahub_workspace_permission_read: Read\nplugin_pimcore_datahub_workspace_permission_update: Update\nplugin_pimcore_datahub_workspace_permission_delete: Delete\nplugin_pimcore_datahub_graphql_open_explorer_in_iframe: Open in Iframe\nplugin_pimcore_datahub_graphql_open_explorer_in_tab: Open in Tab\nplugin_pimcore_datahub_graphql_query_schema: Query Schema\nplugin_pimcore_datahub_graphql_mutation_schema: Mutation Schema\nplugin_pimcore_datahub_graphql_iexplorer: iExplorer\nplugin_pimcore_datahub_datatype_not_supported_yet: datatype '%s' not supported yet\noperator_alias: Alias\noperator_concatenator: Operator Concatenator\noperator_dateformatter: Date Formatter\noperator_element_counter: Element Counter\noperator_text: Operator Text\noperator_merge: Merge (deprecated)\noperator_substring: Substring\noperator_thumbnail: Thumbnail\noperator_thumbnail_html: Thumbnail HTML\noperator_translate_value: Operator Translate Value\noperator_trimmer: Trimmer\nmutationoperator_locale_switcher: Locale Switcher\nmutationoperator_ifempty: IfEmpty\nmutationoperator_locale_collector: Locale Collector\nmutationoperator_locale_switcher_description: Switches to different language other\n  than the default language.\nmutationoperator_ifempty_description: Only sets the value if current one is empty.\nmutationoperator_locale_collector_description: Allows editing all languages for a\n  single field.\nplugin_pimcore_datahub_query: Query\nplugin_pimcore_datahub_mutation: Mutation\nplugin_pimcore_datahub_graphql_special_schema: Generic Types\nplugin_pimcore_datahub_graphql_special_document: Document\nplugin_pimcore_datahub_graphql_special_document_folder: Document Folder\nplugin_pimcore_datahub_graphql_special_asset: Asset\nplugin_pimcore_datahub_graphql_special_asset_folder: Asset Folder\nplugin_pimcore_datahub_graphql_special_object_folder: Object Folder\nplugin_pimcore_datahub_graphql_special_asset_listing: Asset Listing\nplugin_pimcore_datahub_graphql_special_translation_listing: Translation Listing\nplugin_pimcore_datahub_graphql_special_translation: Translation\nread: Read\nplugin_pimcore_datahub_skip_permission_check: Skip Permission Check\nplugin_pimcore_datahub_configpanel_permissions: Permissions\nplugin_pimcore_datahub_graphql_permissions_roles: Role Permissions\nplugin_pimcore_datahub_graphql_permissions_users: User Permissions\nplugin_pimcore_datahub_operator_select_user: Select User\nplugin_pimcore_datahub_operator_select_role: Select Role\nplugin_pimcore_datahub_configpanel_user: User\nplugin_pimcore_datahub_configpanel_role: Role\nplugin_pimcore_datahub_disable_introspection: Disable Introspection\nplugin_pimcore_datahub_security_introspection_description: 'Please note: When introspection\n  is disabled, the autocomplete feature will not work.'\nplugin_pimcore_datahub_import: Import\nplugin_pimcore_datahub_export: Export\n...\n"
  },
  {
    "path": "src/Resources/translations/admin.sk.yml",
    "content": "---\nplugin_pimcore_datahub_toolbar: Datahub Config\nplugin_pimcore_datahub_configpanel_add: Add Configuration\nplugin_pimcore_datahub_configpanel_enterkey_title: Add a new configuration\nplugin_pimcore_datahub_configpanel_enterkey_prompt: Unique Identifier\nplugin_pimcore_datahub_configpanel_error_adding_config: Error adding configuration\nplugin_pimcore_datahub_configpanel: Configuration\nplugin_pimcore_datahub_configpanel_invalid_name: Invalid name\nplugin_pimcore_datahub_configpanel_invalid_length: Exceeded maximum configuration\n  name length 80 of characters\nplugin_pimcore_datahub_configpanel_error_cloning_config: Error cloning configuration\nplugin_pimcore_datahub_configpanel_enterclonekey_title: Clone\nplugin_pimcore_datahub_configpanel_enterclonekey_enterclonekey_prompt: Name of clone\nplugin_pimcore_datahub_configpanel_item_save_success: Configuration saved\nplugin_pimcore_datahub_configpanel_item_saveerror: Configuration could not be saved\nplugin_pimcore_datahub_configpanel_item_saveerror_permissions: Configuration cannot\n  be saved because it would deprive your update permissions. Please check the permissions\n  tab.\nplugin_pimcore_datahub_configpanel_item_general: General\nplugin_pimcore_datahub_configpanel_sqlObjectCondition: SQL Condition\nplugin_pimcore_datahub_configpanel_schema: Schema Definition\nplugin_pimcore_datahub_configpanel_schema_fields: Schema Fields\nplugin_pimcore_datahub_configpanel_security: Security Definition\nplugin_pimcore_datahub_configpanel_security_method: Method\nplugin_pimcore_datahub_configpanel_security_method_apikey: API Key\nplugin_pimcore_datahub_configpanel_fields: Fields\nplugin_pimcore_datahub_configpanel_entity: Entity\nplugin_pimcore_datahub_configpanel_root: Root Node\nplugin_pimcore_datahub_fieldName: Field Name\nplugin_pimcore_datahub_configpanel_condition_hint: This is a global SQL condition\n  in addition to the workspace settings that will be added to all queries\nplugin_pimcore_datahub_configpanel_available_fields: Available Fields\nplugin_pimcore_datahub_operator_thumbnail_config: Configuration\nplugin_pimcore_datahub_operator_select_entity: Select Entity\nplugin_pimcore_datahub_security_datahub_apikey: Datahub API Keys\nplugin_pimcore_datahub_security_definition: Security Definition\nplugin_pimcore_datahub_security_apikey_description: API key required for web service\n  access. One API key per line allowed. At least one key with minimum 16 characters\n  needs to be provided.\nplugin_pimcore_datahub_config: Datahub Config\nplugin_datahub_config: Datahub Config\nplugin_datahub_adapter_graphql: Datahub Adapter - GraphQL\nplugin_datahub_admin: Datahub Admin\nplugin_pimcore_datahub_type_graphql: GraphQL\nplugin_pimcore_datahub_workspace_permission_create: Create\nplugin_pimcore_datahub_workspace_permission_read: Read\nplugin_pimcore_datahub_workspace_permission_update: Update\nplugin_pimcore_datahub_workspace_permission_delete: Delete\nplugin_pimcore_datahub_graphql_open_explorer_in_iframe: Open in Iframe\nplugin_pimcore_datahub_graphql_open_explorer_in_tab: Open in Tab\nplugin_pimcore_datahub_graphql_query_schema: Query Schema\nplugin_pimcore_datahub_graphql_mutation_schema: Mutation Schema\nplugin_pimcore_datahub_graphql_iexplorer: iExplorer\nplugin_pimcore_datahub_datatype_not_supported_yet: datatype '%s' not supported yet\noperator_alias: Alias\noperator_concatenator: Operator Concatenator\noperator_dateformatter: Date Formatter\noperator_element_counter: Element Counter\noperator_text: Operator Text\noperator_merge: Merge (deprecated)\noperator_substring: Substring\noperator_thumbnail: Thumbnail\noperator_thumbnail_html: Thumbnail HTML\noperator_translate_value: Operator Translate Value\noperator_trimmer: Trimmer\nmutationoperator_locale_switcher: Locale Switcher\nmutationoperator_ifempty: IfEmpty\nmutationoperator_locale_collector: Locale Collector\nmutationoperator_locale_switcher_description: Switches to different language other\n  than the default language.\nmutationoperator_ifempty_description: Only sets the value if current one is empty.\nmutationoperator_locale_collector_description: Allows editing all languages for a\n  single field.\nplugin_pimcore_datahub_query: Query\nplugin_pimcore_datahub_mutation: Mutation\nplugin_pimcore_datahub_graphql_special_schema: Generic Types\nplugin_pimcore_datahub_graphql_special_document: Document\nplugin_pimcore_datahub_graphql_special_document_folder: Document Folder\nplugin_pimcore_datahub_graphql_special_asset: Asset\nplugin_pimcore_datahub_graphql_special_asset_folder: Asset Folder\nplugin_pimcore_datahub_graphql_special_object_folder: Object Folder\nplugin_pimcore_datahub_graphql_special_asset_listing: Asset Listing\nplugin_pimcore_datahub_graphql_special_translation_listing: Translation Listing\nplugin_pimcore_datahub_graphql_special_translation: Translation\nread: Read\nplugin_pimcore_datahub_skip_permission_check: Skip Permission Check\nplugin_pimcore_datahub_configpanel_permissions: Permissions\nplugin_pimcore_datahub_graphql_permissions_roles: Role Permissions\nplugin_pimcore_datahub_graphql_permissions_users: User Permissions\nplugin_pimcore_datahub_operator_select_user: Select User\nplugin_pimcore_datahub_operator_select_role: Select Role\nplugin_pimcore_datahub_configpanel_user: User\nplugin_pimcore_datahub_configpanel_role: Role\nplugin_pimcore_datahub_disable_introspection: Disable Introspection\nplugin_pimcore_datahub_security_introspection_description: 'Please note: When introspection\n  is disabled, the autocomplete feature will not work.'\nplugin_pimcore_datahub_import: Import\nplugin_pimcore_datahub_export: Export\n...\n"
  },
  {
    "path": "src/Resources/translations/admin.sv.yml",
    "content": "---\nplugin_pimcore_datahub_toolbar: Datahub Config\nplugin_pimcore_datahub_configpanel_add: Add Configuration\nplugin_pimcore_datahub_configpanel_enterkey_title: Add a new configuration\nplugin_pimcore_datahub_configpanel_enterkey_prompt: Unique Identifier\nplugin_pimcore_datahub_configpanel_error_adding_config: Error adding configuration\nplugin_pimcore_datahub_configpanel: Configuration\nplugin_pimcore_datahub_configpanel_invalid_name: Invalid name\nplugin_pimcore_datahub_configpanel_invalid_length: Exceeded maximum configuration\n  name length 80 of characters\nplugin_pimcore_datahub_configpanel_error_cloning_config: Error cloning configuration\nplugin_pimcore_datahub_configpanel_enterclonekey_title: Clone\nplugin_pimcore_datahub_configpanel_enterclonekey_enterclonekey_prompt: Name of clone\nplugin_pimcore_datahub_configpanel_item_save_success: Configuration saved\nplugin_pimcore_datahub_configpanel_item_saveerror: Configuration could not be saved\nplugin_pimcore_datahub_configpanel_item_saveerror_permissions: Configuration cannot\n  be saved because it would deprive your update permissions. Please check the permissions\n  tab.\nplugin_pimcore_datahub_configpanel_item_general: General\nplugin_pimcore_datahub_configpanel_sqlObjectCondition: SQL Condition\nplugin_pimcore_datahub_configpanel_schema: Schema Definition\nplugin_pimcore_datahub_configpanel_schema_fields: Schema Fields\nplugin_pimcore_datahub_configpanel_security: Security Definition\nplugin_pimcore_datahub_configpanel_security_method: Method\nplugin_pimcore_datahub_configpanel_security_method_apikey: API Key\nplugin_pimcore_datahub_configpanel_fields: Fields\nplugin_pimcore_datahub_configpanel_entity: Entity\nplugin_pimcore_datahub_configpanel_root: Root Node\nplugin_pimcore_datahub_fieldName: Field Name\nplugin_pimcore_datahub_configpanel_condition_hint: This is a global SQL condition\n  in addition to the workspace settings that will be added to all queries\nplugin_pimcore_datahub_configpanel_available_fields: Available Fields\nplugin_pimcore_datahub_operator_thumbnail_config: Configuration\nplugin_pimcore_datahub_operator_select_entity: Select Entity\nplugin_pimcore_datahub_security_datahub_apikey: Datahub API Keys\nplugin_pimcore_datahub_security_definition: Security Definition\nplugin_pimcore_datahub_security_apikey_description: API key required for web service\n  access. One API key per line allowed. At least one key with minimum 16 characters\n  needs to be provided.\nplugin_pimcore_datahub_config: Datahub Config\nplugin_datahub_config: Datahub Config\nplugin_datahub_adapter_graphql: Datahub Adapter - GraphQL\nplugin_datahub_admin: Datahub Admin\nplugin_pimcore_datahub_type_graphql: GraphQL\nplugin_pimcore_datahub_workspace_permission_create: Create\nplugin_pimcore_datahub_workspace_permission_read: Read\nplugin_pimcore_datahub_workspace_permission_update: Update\nplugin_pimcore_datahub_workspace_permission_delete: Delete\nplugin_pimcore_datahub_graphql_open_explorer_in_iframe: Open in Iframe\nplugin_pimcore_datahub_graphql_open_explorer_in_tab: Open in Tab\nplugin_pimcore_datahub_graphql_query_schema: Query Schema\nplugin_pimcore_datahub_graphql_mutation_schema: Mutation Schema\nplugin_pimcore_datahub_graphql_iexplorer: iExplorer\nplugin_pimcore_datahub_datatype_not_supported_yet: datatype '%s' not supported yet\noperator_alias: Alias\noperator_concatenator: Operator Concatenator\noperator_dateformatter: Date Formatter\noperator_element_counter: Element Counter\noperator_text: Operator Text\noperator_merge: Merge (deprecated)\noperator_substring: Substring\noperator_thumbnail: Thumbnail\noperator_thumbnail_html: Thumbnail HTML\noperator_translate_value: Operator Translate Value\noperator_trimmer: Trimmer\nmutationoperator_locale_switcher: Locale Switcher\nmutationoperator_ifempty: IfEmpty\nmutationoperator_locale_collector: Locale Collector\nmutationoperator_locale_switcher_description: Switches to different language other\n  than the default language.\nmutationoperator_ifempty_description: Only sets the value if current one is empty.\nmutationoperator_locale_collector_description: Allows editing all languages for a\n  single field.\nplugin_pimcore_datahub_query: Query\nplugin_pimcore_datahub_mutation: Mutation\nplugin_pimcore_datahub_graphql_special_schema: Generic Types\nplugin_pimcore_datahub_graphql_special_document: Document\nplugin_pimcore_datahub_graphql_special_document_folder: Document Folder\nplugin_pimcore_datahub_graphql_special_asset: Asset\nplugin_pimcore_datahub_graphql_special_asset_folder: Asset Folder\nplugin_pimcore_datahub_graphql_special_object_folder: Object Folder\nplugin_pimcore_datahub_graphql_special_asset_listing: Asset Listing\nplugin_pimcore_datahub_graphql_special_translation_listing: Translation Listing\nplugin_pimcore_datahub_graphql_special_translation: Translation\nread: Read\nplugin_pimcore_datahub_skip_permission_check: Skip Permission Check\nplugin_pimcore_datahub_configpanel_permissions: Permissions\nplugin_pimcore_datahub_graphql_permissions_roles: Role Permissions\nplugin_pimcore_datahub_graphql_permissions_users: User Permissions\nplugin_pimcore_datahub_operator_select_user: Select User\nplugin_pimcore_datahub_operator_select_role: Select Role\nplugin_pimcore_datahub_configpanel_user: User\nplugin_pimcore_datahub_configpanel_role: Role\nplugin_pimcore_datahub_disable_introspection: Disable Introspection\nplugin_pimcore_datahub_security_introspection_description: 'Please note: When introspection\n  is disabled, the autocomplete feature will not work.'\nplugin_pimcore_datahub_import: Import\nplugin_pimcore_datahub_export: Export\n...\n"
  },
  {
    "path": "src/Resources/translations/admin.th.yml",
    "content": "---\nplugin_pimcore_datahub_toolbar: Datahub Config\nplugin_pimcore_datahub_configpanel_add: Add Configuration\nplugin_pimcore_datahub_configpanel_enterkey_title: Add a new configuration\nplugin_pimcore_datahub_configpanel_enterkey_prompt: Unique Identifier\nplugin_pimcore_datahub_configpanel_error_adding_config: Error adding configuration\nplugin_pimcore_datahub_configpanel: Configuration\nplugin_pimcore_datahub_configpanel_invalid_name: Invalid name\nplugin_pimcore_datahub_configpanel_invalid_length: Exceeded maximum configuration\n  name length 80 of characters\nplugin_pimcore_datahub_configpanel_error_cloning_config: Error cloning configuration\nplugin_pimcore_datahub_configpanel_enterclonekey_title: Clone\nplugin_pimcore_datahub_configpanel_enterclonekey_enterclonekey_prompt: Name of clone\nplugin_pimcore_datahub_configpanel_item_save_success: Configuration saved\nplugin_pimcore_datahub_configpanel_item_saveerror: Configuration could not be saved\nplugin_pimcore_datahub_configpanel_item_saveerror_permissions: Configuration cannot\n  be saved because it would deprive your update permissions. Please check the permissions\n  tab.\nplugin_pimcore_datahub_configpanel_item_general: General\nplugin_pimcore_datahub_configpanel_sqlObjectCondition: SQL Condition\nplugin_pimcore_datahub_configpanel_schema: Schema Definition\nplugin_pimcore_datahub_configpanel_schema_fields: Schema Fields\nplugin_pimcore_datahub_configpanel_security: Security Definition\nplugin_pimcore_datahub_configpanel_security_method: Method\nplugin_pimcore_datahub_configpanel_security_method_apikey: API Key\nplugin_pimcore_datahub_configpanel_fields: Fields\nplugin_pimcore_datahub_configpanel_entity: Entity\nplugin_pimcore_datahub_configpanel_root: Root Node\nplugin_pimcore_datahub_fieldName: Field Name\nplugin_pimcore_datahub_configpanel_condition_hint: This is a global SQL condition\n  in addition to the workspace settings that will be added to all queries\nplugin_pimcore_datahub_configpanel_available_fields: Available Fields\nplugin_pimcore_datahub_operator_thumbnail_config: Configuration\nplugin_pimcore_datahub_operator_select_entity: Select Entity\nplugin_pimcore_datahub_security_datahub_apikey: Datahub API Keys\nplugin_pimcore_datahub_security_definition: Security Definition\nplugin_pimcore_datahub_security_apikey_description: API key required for web service\n  access. One API key per line allowed. At least one key with minimum 16 characters\n  needs to be provided.\nplugin_pimcore_datahub_config: Datahub Config\nplugin_datahub_config: Datahub Config\nplugin_datahub_adapter_graphql: Datahub Adapter - GraphQL\nplugin_datahub_admin: Datahub Admin\nplugin_pimcore_datahub_type_graphql: GraphQL\nplugin_pimcore_datahub_workspace_permission_create: Create\nplugin_pimcore_datahub_workspace_permission_read: Read\nplugin_pimcore_datahub_workspace_permission_update: Update\nplugin_pimcore_datahub_workspace_permission_delete: Delete\nplugin_pimcore_datahub_graphql_open_explorer_in_iframe: Open in Iframe\nplugin_pimcore_datahub_graphql_open_explorer_in_tab: Open in Tab\nplugin_pimcore_datahub_graphql_query_schema: Query Schema\nplugin_pimcore_datahub_graphql_mutation_schema: Mutation Schema\nplugin_pimcore_datahub_graphql_iexplorer: iExplorer\nplugin_pimcore_datahub_datatype_not_supported_yet: datatype '%s' not supported yet\noperator_alias: Alias\noperator_concatenator: Operator Concatenator\noperator_dateformatter: Date Formatter\noperator_element_counter: Element Counter\noperator_text: Operator Text\noperator_merge: Merge (deprecated)\noperator_substring: Substring\noperator_thumbnail: Thumbnail\noperator_thumbnail_html: Thumbnail HTML\noperator_translate_value: Operator Translate Value\noperator_trimmer: Trimmer\nmutationoperator_locale_switcher: Locale Switcher\nmutationoperator_ifempty: IfEmpty\nmutationoperator_locale_collector: Locale Collector\nmutationoperator_locale_switcher_description: Switches to different language other\n  than the default language.\nmutationoperator_ifempty_description: Only sets the value if current one is empty.\nmutationoperator_locale_collector_description: Allows editing all languages for a\n  single field.\nplugin_pimcore_datahub_query: Query\nplugin_pimcore_datahub_mutation: Mutation\nplugin_pimcore_datahub_graphql_special_schema: Generic Types\nplugin_pimcore_datahub_graphql_special_document: Document\nplugin_pimcore_datahub_graphql_special_document_folder: Document Folder\nplugin_pimcore_datahub_graphql_special_asset: Asset\nplugin_pimcore_datahub_graphql_special_asset_folder: Asset Folder\nplugin_pimcore_datahub_graphql_special_object_folder: Object Folder\nplugin_pimcore_datahub_graphql_special_asset_listing: Asset Listing\nplugin_pimcore_datahub_graphql_special_translation_listing: Translation Listing\nplugin_pimcore_datahub_graphql_special_translation: Translation\nread: Read\nplugin_pimcore_datahub_skip_permission_check: Skip Permission Check\nplugin_pimcore_datahub_configpanel_permissions: Permissions\nplugin_pimcore_datahub_graphql_permissions_roles: Role Permissions\nplugin_pimcore_datahub_graphql_permissions_users: User Permissions\nplugin_pimcore_datahub_operator_select_user: Select User\nplugin_pimcore_datahub_operator_select_role: Select Role\nplugin_pimcore_datahub_configpanel_user: User\nplugin_pimcore_datahub_configpanel_role: Role\nplugin_pimcore_datahub_disable_introspection: Disable Introspection\nplugin_pimcore_datahub_security_introspection_description: 'Please note: When introspection\n  is disabled, the autocomplete feature will not work.'\nplugin_pimcore_datahub_import: Import\nplugin_pimcore_datahub_export: Export\n...\n"
  },
  {
    "path": "src/Resources/translations/admin.zh_Hans.yml",
    "content": "---\nplugin_pimcore_datahub_toolbar: Datahub Config\nplugin_pimcore_datahub_configpanel_add: Add Configuration\nplugin_pimcore_datahub_configpanel_enterkey_title: Add a new configuration\nplugin_pimcore_datahub_configpanel_enterkey_prompt: Unique Identifier\nplugin_pimcore_datahub_configpanel_error_adding_config: Error adding configuration\nplugin_pimcore_datahub_configpanel: Configuration\nplugin_pimcore_datahub_configpanel_invalid_name: Invalid name\nplugin_pimcore_datahub_configpanel_invalid_length: Exceeded maximum configuration\n  name length 80 of characters\nplugin_pimcore_datahub_configpanel_error_cloning_config: Error cloning configuration\nplugin_pimcore_datahub_configpanel_enterclonekey_title: Clone\nplugin_pimcore_datahub_configpanel_enterclonekey_enterclonekey_prompt: Name of clone\nplugin_pimcore_datahub_configpanel_item_save_success: Configuration saved\nplugin_pimcore_datahub_configpanel_item_saveerror: Configuration could not be saved\nplugin_pimcore_datahub_configpanel_item_saveerror_permissions: Configuration cannot\n  be saved because it would deprive your update permissions. Please check the permissions\n  tab.\nplugin_pimcore_datahub_configpanel_item_general: General\nplugin_pimcore_datahub_configpanel_sqlObjectCondition: SQL Condition\nplugin_pimcore_datahub_configpanel_schema: Schema Definition\nplugin_pimcore_datahub_configpanel_schema_fields: Schema Fields\nplugin_pimcore_datahub_configpanel_security: Security Definition\nplugin_pimcore_datahub_configpanel_security_method: Method\nplugin_pimcore_datahub_configpanel_security_method_apikey: API Key\nplugin_pimcore_datahub_configpanel_fields: Fields\nplugin_pimcore_datahub_configpanel_entity: Entity\nplugin_pimcore_datahub_configpanel_root: Root Node\nplugin_pimcore_datahub_fieldName: Field Name\nplugin_pimcore_datahub_configpanel_condition_hint: This is a global SQL condition\n  in addition to the workspace settings that will be added to all queries\nplugin_pimcore_datahub_configpanel_available_fields: Available Fields\nplugin_pimcore_datahub_operator_thumbnail_config: Configuration\nplugin_pimcore_datahub_operator_select_entity: Select Entity\nplugin_pimcore_datahub_security_datahub_apikey: Datahub API Keys\nplugin_pimcore_datahub_security_definition: Security Definition\nplugin_pimcore_datahub_security_apikey_description: API key required for web service\n  access. One API key per line allowed. At least one key with minimum 16 characters\n  needs to be provided.\nplugin_pimcore_datahub_config: Datahub Config\nplugin_datahub_config: Datahub Config\nplugin_datahub_adapter_graphql: Datahub Adapter - GraphQL\nplugin_datahub_admin: Datahub Admin\nplugin_pimcore_datahub_type_graphql: GraphQL\nplugin_pimcore_datahub_workspace_permission_create: Create\nplugin_pimcore_datahub_workspace_permission_read: Read\nplugin_pimcore_datahub_workspace_permission_update: Update\nplugin_pimcore_datahub_workspace_permission_delete: Delete\nplugin_pimcore_datahub_graphql_open_explorer_in_iframe: Open in Iframe\nplugin_pimcore_datahub_graphql_open_explorer_in_tab: Open in Tab\nplugin_pimcore_datahub_graphql_query_schema: Query Schema\nplugin_pimcore_datahub_graphql_mutation_schema: Mutation Schema\nplugin_pimcore_datahub_graphql_iexplorer: iExplorer\nplugin_pimcore_datahub_datatype_not_supported_yet: datatype '%s' not supported yet\noperator_alias: Alias\noperator_concatenator: Operator Concatenator\noperator_dateformatter: Date Formatter\noperator_element_counter: Element Counter\noperator_text: Operator Text\noperator_merge: Merge (deprecated)\noperator_substring: Substring\noperator_thumbnail: Thumbnail\noperator_thumbnail_html: Thumbnail HTML\noperator_translate_value: Operator Translate Value\noperator_trimmer: Trimmer\nmutationoperator_locale_switcher: Locale Switcher\nmutationoperator_ifempty: IfEmpty\nmutationoperator_locale_collector: Locale Collector\nmutationoperator_locale_switcher_description: Switches to different language other\n  than the default language.\nmutationoperator_ifempty_description: Only sets the value if current one is empty.\nmutationoperator_locale_collector_description: Allows editing all languages for a\n  single field.\nplugin_pimcore_datahub_query: Query\nplugin_pimcore_datahub_mutation: Mutation\nplugin_pimcore_datahub_graphql_special_schema: Generic Types\nplugin_pimcore_datahub_graphql_special_document: Document\nplugin_pimcore_datahub_graphql_special_document_folder: Document Folder\nplugin_pimcore_datahub_graphql_special_asset: Asset\nplugin_pimcore_datahub_graphql_special_asset_folder: Asset Folder\nplugin_pimcore_datahub_graphql_special_object_folder: Object Folder\nplugin_pimcore_datahub_graphql_special_asset_listing: Asset Listing\nplugin_pimcore_datahub_graphql_special_translation_listing: Translation Listing\nplugin_pimcore_datahub_graphql_special_translation: Translation\nread: Read\nplugin_pimcore_datahub_skip_permission_check: Skip Permission Check\nplugin_pimcore_datahub_configpanel_permissions: Permissions\nplugin_pimcore_datahub_graphql_permissions_roles: Role Permissions\nplugin_pimcore_datahub_graphql_permissions_users: User Permissions\nplugin_pimcore_datahub_operator_select_user: Select User\nplugin_pimcore_datahub_operator_select_role: Select Role\nplugin_pimcore_datahub_configpanel_user: User\nplugin_pimcore_datahub_configpanel_role: Role\nplugin_pimcore_datahub_disable_introspection: Disable Introspection\nplugin_pimcore_datahub_security_introspection_description: 'Please note: When introspection\n  is disabled, the autocomplete feature will not work.'\nplugin_pimcore_datahub_import: Import\nplugin_pimcore_datahub_export: Export\n...\n"
  },
  {
    "path": "src/Resources/translations/studio.de.yaml",
    "content": "data-hub.configuration: Data Hub Konfiguration\ndata-hub.add.button: Konfiguration hinzufügen\ndata-hub.add.name: Konfigurationsname eingeben\ndata-hub.clone.name: Name für geklonte Konfiguration eingeben\ndata-hub.delete.confirm: 'Sind Sie sicher, dass Sie die Konfiguration \"{{name}}\" löschen möchten?'\nerror.data-hub.config-exists: Eine Konfiguration mit diesem Namen existiert bereits\nerror.data-hub.import-config-invalid: Die hochgeladene Datei ist keine gültige Konfiguration\nerror.data-hub.api-key-validation-failed: Ein oder mehrere API-Keys erfüllen nicht die Mindestlänge von 16 Zeichen.\ndata-hub.config.active: Aktiv\ndata-hub.config.type: Typ\ndata-hub.config.name: Name\ndata-hub.config.name-required: Bitte geben Sie einen Konfigurationsnamen ein\ndata-hub.config.name-min-length: Der Name muss mindestens 3 Zeichen lang sein\ndata-hub.config.name-max-length: Der Name darf maximal 80 Zeichen lang sein\ndata-hub.config.name-pattern: Der Name darf nur alphanumerische Zeichen, Unterstriche und Bindestriche enthalten\ndata-hub.config.description: Beschreibung\ndata-hub.config.group: Gruppe\ndata-hub.adapter.graphql: GraphQL\ndata-hub.adapter.simpleRest: Simple REST\ndata-hub.tabs.general: Allgemein\ndata-hub.tabs.schema-definition: Schema-Definition\ndata-hub.tabs.security-definition: Sicherheitsdefinition\ndata-hub.tabs.permissions: Berechtigungen\ndata-hub.security.method: Methode\ndata-hub.security.method.apikey: API Key\ndata-hub.security.apikey: Datahub-API-Keys\ndata-hub.security.apikey-description: API Key für den Webservice-Zugriff erforderlich. Ein API Key pro Zeile erlaubt. Es muss mindestens ein Key mit mindestens 16 Zeichen angegeben werden.\ndata-hub.security.generate-apikey: Key generieren\ndata-hub.security.skip-permission-check: Berechtigungsprüfung überspringen\ndata-hub.security.disable-introspection: Introspection deaktivieren\ndata-hub.security.introspection-description: 'Bitte beachten Sie: Bei deaktivierter Introspection funktioniert die Autovervollständigung nicht.'\ndata-hub.security.authentication: Authentifizierung\ndata-hub.workspaces.title: Workspaces\ndata-hub.workspaces.documents: Dokumente\ndata-hub.workspaces.assets: Assets\ndata-hub.workspaces.objects: Data Objects\ndata-hub.workspaces.path: Pfad\ndata-hub.workspaces.create: Erstellen\ndata-hub.workspaces.read: Lesen\ndata-hub.workspaces.update: Aktualisieren\ndata-hub.workspaces.delete: Löschen\ndata-hub.workspaces.delete-selected: Ausgewählte löschen\ndata-hub.permissions.role-permissions: Rollenberechtigungen\ndata-hub.permissions.user-permissions: Benutzerberechtigungen\ndata-hub.permissions.role: Rolle\ndata-hub.permissions.user: Benutzer\ndata-hub.permissions.read: Lesen\ndata-hub.permissions.update: Aktualisieren\ndata-hub.permissions.delete: Löschen\ndata-hub.schema.query-schema: Query-Schema\ndata-hub.schema.mutation-schema: Mutation-Schema\ndata-hub.schema.generic-types: Generische Typen\ndata-hub.schema.entity: Entität\ndata-hub.schema.settings: Einstellungen\ndata-hub.schema.select-class: Klasse auswählen...\ndata-hub.schema.query-modal-title: 'Query-Schema-Felder - {{entity}}'\ndata-hub.schema.mutation-modal-title: 'Mutation-Schema-Felder - {{entity}}'\ndata-hub.schema.class-attributes: Klassenattribute\ndata-hub.schema.available-fields: Verfügbare Felder\ndata-hub.schema.drag-class-attributes-or-operators: Klassenattribute oder Operatoren hierher ziehen\ndata-hub.schema.add-all-definitions: Alle Definitionen hinzufügen\ndata-hub.schema.insert-all-definitions: Alle Definitionen einfügen\ndata-hub.schema.data-object-columns: Data-Object-Spalten\ndata-hub.schema.system-columns: Systemspalten\ndata-hub.schema.system.id: ID (id)\ndata-hub.schema.system.fullpath: Vollständiger Pfad (fullpath)\ndata-hub.schema.system.key: Key (key)\ndata-hub.schema.system.published: Veröffentlicht (published)\ndata-hub.schema.system.creationDate: Erstellungsdatum (creationDate)\ndata-hub.schema.system.modificationDate: Änderungsdatum (modificationDate)\ndata-hub.schema.system.filename: Dateiname (filename)\ndata-hub.schema.system.classname: classname (classname)\ndata-hub.schema.system.index: Indiziert (index)\ndata-hub.schema.coming-soon: '(Demnächst verfügbar)'\ndata-hub.schema.special.document: Dokument\ndata-hub.schema.special.document_folder: Dokumentenordner\ndata-hub.schema.special.asset: Asset\ndata-hub.schema.special.asset_folder: Asset-Ordner\ndata-hub.schema.special.asset_listing: Asset-Auflistung\ndata-hub.schema.special.object_folder: Objektordner\ndata-hub.schema.special.translation: Übersetzung\ndata-hub.schema.special.translation_listing: Übersetzungsauflistung\ndata-hub.schema.operation-not-implemented: Operation ist nicht implementiert\ndata-hub.open-in-tab: In Tab öffnen\ndata-hub.label: Bezeichnung\ndata-hub.help: Hilfe\ndata-hub.locale: Sprache\ndata-hub.locale.select: Sprache auswählen...\ndata-hub.thumbnail: Thumbnail\ndata-hub.prefix: Präfix\ndata-hub.operator.group.formatter: Formatierer\ndata-hub.operator.group.transformer: Transformer\ndata-hub.operator.group.other: Sonstige\ndata-hub.operator.subgroup.string: String\ndata-hub.operator.subgroup.other: Sonstige\ndata-hub.operator.alias: Alias\ndata-hub.operator.label: Bezeichnung\ndata-hub.operator.glue: Trennzeichen\ndata-hub.operator.concatenator: Verkettung\ndata-hub.operator.concatenator.config: Verkettungseinstellungen\ndata-hub.operator.date-formatter: Datumsformatierer\ndata-hub.operator.element-counter: Elementzähler\ndata-hub.operator.element-counter.count-empty: Leere zählen\ndata-hub.operator.if-empty: Wenn leer\ndata-hub.operator.locale-collector: Sprach-Kollektor\ndata-hub.operator.locale-switcher: Sprach-Umschalter\ndata-hub.operator.substring: Teilzeichenkette\ndata-hub.operator.text: Text\ndata-hub.operator.thumbnail: Thumbnail\ndata-hub.operator.thumbnail-html: Thumbnail-HTML\ndata-hub.operator.translate-value: Wert übersetzen\ndata-hub.operator.trimmer: Trimmer\ndata-hub.operator.dateformatter: Datumsformatierer\ndata-hub.operator.dateformatter.format: Datumsformat\ndata-hub.operator.dateformatter.format.required: Bitte geben Sie ein Datumsformat ein\ndata-hub.operator.if-empty.default-value: Standardwert\ndata-hub.operator.locale-collector.locales: Sprachen\ndata-hub.operator.locale-collector.select-locales: Sprachen auswählen...\ndata-hub.operator.thumbnail.thumbnail-name: Thumbnail-Name\ndata-hub.operator.thumbnail-html.thumbnail-name: Thumbnail-Name\ndata-hub.operator.start: Start\ndata-hub.operator.length: Länge\ndata-hub.operator.ellipses: Auslassungszeichen\ndata-hub.operator.trim: Trimmen\ndata-hub.operator.trim.disabled: Deaktiviert\ndata-hub.operator.trim.left: Links\ndata-hub.operator.trim.right: Rechts\ndata-hub.operator.trim.both: Beide\ntree.actions.clone: Klonen\ntree.actions.delete: Löschen\ntree.actions.edit: Bearbeiten\ntree.actions.export: Exportieren\ntree.actions.import: Importieren\ntree.actions.view: Anzeigen\ndata-hub.import.title: Konfiguration importieren\ndata-hub.import.drag-drop: Dateien durchsuchen oder eine JSON-Datei hierher ziehen\ndata-hub.import.browse-files: Dateien durchsuchen\nperspective-editor.form.main-nav-permission.category.automationIntegration: Automation & Integration\nperspective-editor.form.main-nav-permission.automationIntegration.dataHubConfiguration: Data Hub Konfiguration\nuser-management.permissions.plugin_datahub_admin: Datahub-Verwaltung\nuser-management.permissions.plugin_datahub_config: Datahub-Konfiguration\nuser-management.permissions.plugin_datahub_adapter_graphql: Datahub Adapter - GraphQL\nuser-management.permissions.plugin_datahub_permission_delete: Datahub Löschen\nuser-management.permissions.plugin_datahub_permission_read: Datahub Lesen\nuser-management.permissions.plugin_datahub_permission_update: Datahub Aktualisieren\n"
  },
  {
    "path": "src/Resources/translations/studio.en.yaml",
    "content": "data-hub.configuration: Data Hub Configuration\ndata-hub.add.button: Add Configuration\ndata-hub.add.name: Enter configuration name\ndata-hub.clone.name: Enter name for cloned configuration\ndata-hub.delete.confirm: 'Are you sure you want to delete the configuration \"{{name}}\"?'\nerror.data-hub.config-exists: A configuration with this name already exists\nerror.data-hub.import-config-invalid: The uploaded file is not a valid configuration\nerror.data-hub.api-key-validation-failed: One or more API keys do not satisfy the minimum length of 16 characters.\ndata-hub.config.active: Active\ndata-hub.config.type: Type\ndata-hub.config.name: Name\ndata-hub.config.name-required: Please enter a configuration name\ndata-hub.config.name-min-length: Name must be at least 3 characters long\ndata-hub.config.name-max-length: Name must not exceed 80 characters\ndata-hub.config.name-pattern: Name can only contain alphanumeric characters, underscores and hyphens\ndata-hub.config.description: Description\ndata-hub.config.group: Group\ndata-hub.adapter.graphql: GraphQL\ndata-hub.adapter.simpleRest: Simple REST\ndata-hub.tabs.general: General\ndata-hub.tabs.schema-definition: Schema Definition\ndata-hub.tabs.security-definition: Security Definition\ndata-hub.tabs.permissions: Permissions\ndata-hub.security.method: Method\ndata-hub.security.method.apikey: API Key\ndata-hub.security.apikey: Datahub API Keys\ndata-hub.security.apikey-description: API key required for web service access. One API key per line allowed. At least one key with minimum 16 characters needs to be provided.\ndata-hub.security.generate-apikey: Generate Key\ndata-hub.security.skip-permission-check: Skip Permission Check\ndata-hub.security.disable-introspection: Disable Introspection\ndata-hub.security.introspection-description: 'Please note: When introspection is disabled, the autocomplete feature will not work.'\ndata-hub.security.authentication: Authentication\ndata-hub.workspaces.title: Workspaces\ndata-hub.workspaces.documents: Documents\ndata-hub.workspaces.assets: Assets\ndata-hub.workspaces.objects: Data Objects\ndata-hub.workspaces.path: Path\ndata-hub.workspaces.create: Create\ndata-hub.workspaces.read: Read\ndata-hub.workspaces.update: Update\ndata-hub.workspaces.delete: Delete\ndata-hub.workspaces.delete-selected: Delete Selected\ndata-hub.permissions.role-permissions: Role Permissions\ndata-hub.permissions.user-permissions: User Permissions\ndata-hub.permissions.role: Role\ndata-hub.permissions.user: User\ndata-hub.permissions.read: Read\ndata-hub.permissions.update: Update\ndata-hub.permissions.delete: Delete\ndata-hub.schema.query-schema: Query Schema\ndata-hub.schema.mutation-schema: Mutation Schema\ndata-hub.schema.generic-types: Generic Types\ndata-hub.schema.entity: Entity\ndata-hub.schema.settings: Settings\ndata-hub.schema.select-class: Select class...\ndata-hub.schema.query-modal-title: 'Query Schema Fields - {{entity}}'\ndata-hub.schema.mutation-modal-title: 'Mutation Schema Fields - {{entity}}'\ndata-hub.schema.class-attributes: Class Attributes\ndata-hub.schema.available-fields: Available Fields\ndata-hub.schema.drag-class-attributes-or-operators: Drag class attributes or operators here\ndata-hub.schema.add-all-definitions: Add all definitions\ndata-hub.schema.insert-all-definitions: Insert all definitions\ndata-hub.schema.data-object-columns: Data object columns\ndata-hub.schema.system-columns: System columns\ndata-hub.schema.system.id: ID (id)\ndata-hub.schema.system.fullpath: Full Path (fullpath)\ndata-hub.schema.system.key: Key (key)\ndata-hub.schema.system.published: Published (published)\ndata-hub.schema.system.creationDate: Creation Date (creationDate)\ndata-hub.schema.system.modificationDate: Modification Date (modificationDate)\ndata-hub.schema.system.filename: Filename (filename)\ndata-hub.schema.system.classname: classname (classname)\ndata-hub.schema.system.index: Indexed (index)\ndata-hub.schema.coming-soon: '(Coming soon)'\ndata-hub.schema.special.document: Document\ndata-hub.schema.special.document_folder: Document Folder\ndata-hub.schema.special.asset: Asset\ndata-hub.schema.special.asset_folder: Asset Folder\ndata-hub.schema.special.asset_listing: Asset Listing\ndata-hub.schema.special.object_folder: Object Folder\ndata-hub.schema.special.translation: Translation\ndata-hub.schema.special.translation_listing: Translation Listing\ndata-hub.schema.operation-not-implemented: Operation is not implemented\ndata-hub.open-in-tab: Open in tab\ndata-hub.label: Label\ndata-hub.help: Help\ndata-hub.locale: Locale\ndata-hub.locale.select: Select locale...\ndata-hub.thumbnail: Thumbnail\ndata-hub.prefix: Prefix\ndata-hub.operator.group.formatter: Formatter\ndata-hub.operator.group.transformer: Transformer\ndata-hub.operator.group.other: Other\ndata-hub.operator.subgroup.string: String\ndata-hub.operator.subgroup.other: Other\ndata-hub.operator.alias: Alias\ndata-hub.operator.label: Label\ndata-hub.operator.glue: Glue\ndata-hub.operator.concatenator: Concatenator\ndata-hub.operator.concatenator.config: Concatenator Settings\ndata-hub.operator.date-formatter: Date Formatter\ndata-hub.operator.element-counter: Element Counter\ndata-hub.operator.element-counter.count-empty: Count Empty\ndata-hub.operator.if-empty: If Empty\ndata-hub.operator.locale-collector: Locale Collector\ndata-hub.operator.locale-switcher: Locale Switcher\ndata-hub.operator.substring: Substring\ndata-hub.operator.text: Text\ndata-hub.operator.thumbnail: Thumbnail\ndata-hub.operator.thumbnail-html: Thumbnail HTML\ndata-hub.operator.translate-value: Translate Value\ndata-hub.operator.trimmer: Trimmer\ndata-hub.operator.dateformatter: Date Formatter\ndata-hub.operator.dateformatter.format: Date Format\ndata-hub.operator.dateformatter.format.required: Please enter a date format\ndata-hub.operator.if-empty.default-value: Default Value\ndata-hub.operator.locale-collector.locales: Locales\ndata-hub.operator.locale-collector.select-locales: Select locales...\ndata-hub.operator.thumbnail.thumbnail-name: Thumbnail name\ndata-hub.operator.thumbnail-html.thumbnail-name: Thumbnail name\ndata-hub.operator.start: Start\ndata-hub.operator.length: Length\ndata-hub.operator.ellipses: Ellipses\ndata-hub.operator.trim: Trim\ndata-hub.operator.trim.disabled: Disabled\ndata-hub.operator.trim.left: Left\ndata-hub.operator.trim.right: Right\ndata-hub.operator.trim.both: Both\ntree.actions.clone: Clone\ntree.actions.delete: Delete\ntree.actions.edit: Edit\ntree.actions.export: Export\ntree.actions.import: Import\ntree.actions.view: View\ndata-hub.import.title: Import Configuration\ndata-hub.import.drag-drop: Browse your files or drop a JSON directly here\ndata-hub.import.browse-files: Browse Files\nperspective-editor.form.main-nav-permission.category.automationIntegration: Automation & Integration\nperspective-editor.form.main-nav-permission.automationIntegration.dataHubConfiguration: Data Hub Configuration\ndata-hub.migration-modal.legacy-notice: 'The current configuration is in tree mode as YAML (available in Classic UI). Use the Tree mode blueprint to build your new Pipeline mode. Once you press apply changes you have saved the configuration in Pipeline mode.'\ndata-hub.migration-modal.start-migration: 'Start Migration'\ndata-hub.migration-modal.cancel: 'Cancel'\ndata-hub.migration-modal.confirm-migration: 'Confirm Migration'\ndata-hub.migration-modal.confirm-empty-columns-title: 'No columns added'\ndata-hub.migration-modal.confirm-empty-columns-content: \"You haven't added any columns yet. Are you sure you want to confirm the migration with an empty column list?\"\ndata-hub.migration-modal.confirm-empty-columns-ok: 'Confirm anyway'\ndata-hub.migration-modal.confirm-empty-columns-cancel: 'Cancel'\ndata-hub.column-config-modal.add-column: Add Column\ndata-hub.column-config-modal.apply: Apply changes\ndata-hub.column-config-modal.discard: Discard all changes\ndata-hub.column-config-modal.preview.select-object: Select preview object\ndata-hub.column-config-modal.preview.placeholder: Select a preview object to see results.\ndata-hub.column-config-modal.preview.loading: Loading preview…\ndata-hub.column-config-modal.preview.error: Error loading preview.\ndata-hub.column-config-modal.preview.no-data: No data for this object.\ndata-hub.column-config-modal.pipeline.title: Title\ndata-hub.column-config-modal.pipeline.sourceFields.add: Add source field\ndata-hub.column-config-modal.pipeline.transformers.add: Add transformer\nuser-management.permissions.plugin_datahub_admin: Datahub Admin\nuser-management.permissions.plugin_datahub_config: Datahub Configuration\nuser-management.permissions.plugin_datahub_adapter_graphql: Datahub Adapter - GraphQL\nuser-management.permissions.plugin_datahub_permission_delete: Datahub Delete\nuser-management.permissions.plugin_datahub_permission_read: Datahub Read\nuser-management.permissions.plugin_datahub_permission_update: Datahub Update\n"
  },
  {
    "path": "src/Resources/translations/studio.es.yaml",
    "content": "data-hub.configuration: Configuración de Data Hub\ndata-hub.add.button: Agregar configuración\ndata-hub.add.name: Introduzca el nombre de la configuración\ndata-hub.clone.name: Introduzca el nombre para la configuración clonada\ndata-hub.delete.confirm: '¿Está seguro de que desea eliminar la configuración \"{{name}}\"?'\nerror.data-hub.config-exists: Ya existe una configuración con este nombre\nerror.data-hub.import-config-invalid: El archivo subido no es una configuración válida\nerror.data-hub.api-key-validation-failed: Una o más claves API no cumplen con la longitud mínima de 16 caracteres.\ndata-hub.config.active: Activo\ndata-hub.config.type: Tipo\ndata-hub.config.name: Nombre\ndata-hub.config.name-required: Introduzca un nombre de configuración\ndata-hub.config.name-min-length: El nombre debe tener al menos 3 caracteres\ndata-hub.config.name-max-length: El nombre no debe exceder 80 caracteres\ndata-hub.config.name-pattern: El nombre solo puede contener caracteres alfanuméricos, guiones bajos y guiones\ndata-hub.config.description: Descripción\ndata-hub.config.group: Grupo\ndata-hub.adapter.graphql: GraphQL\ndata-hub.adapter.simpleRest: Simple REST\ndata-hub.tabs.general: General\ndata-hub.tabs.schema-definition: Definición del esquema\ndata-hub.tabs.security-definition: Definición de seguridad\ndata-hub.tabs.permissions: Permisos\ndata-hub.security.method: Método\ndata-hub.security.method.apikey: API Key\ndata-hub.security.apikey: API Keys de Datahub\ndata-hub.security.apikey-description: Se requiere un API Key para acceder al servicio web. Se permite un API Key por línea. Se debe proporcionar al menos un Key con un mínimo de 16 caracteres.\ndata-hub.security.generate-apikey: Generar Key\ndata-hub.security.skip-permission-check: Omitir verificación de permisos\ndata-hub.security.disable-introspection: Desactivar Introspection\ndata-hub.security.introspection-description: 'Tenga en cuenta: cuando la Introspection está desactivada, la función de autocompletado no funcionará.'\ndata-hub.security.authentication: Autenticación\ndata-hub.workspaces.title: Workspaces\ndata-hub.workspaces.documents: Documentos\ndata-hub.workspaces.assets: Assets\ndata-hub.workspaces.objects: Data Objects\ndata-hub.workspaces.path: Ruta\ndata-hub.workspaces.create: Crear\ndata-hub.workspaces.read: Leer\ndata-hub.workspaces.update: Actualizar\ndata-hub.workspaces.delete: Eliminar\ndata-hub.workspaces.delete-selected: Eliminar seleccionados\ndata-hub.permissions.role-permissions: Permisos de rol\ndata-hub.permissions.user-permissions: Permisos de usuario\ndata-hub.permissions.role: Rol\ndata-hub.permissions.user: Usuario\ndata-hub.permissions.read: Leer\ndata-hub.permissions.update: Actualizar\ndata-hub.permissions.delete: Eliminar\ndata-hub.schema.query-schema: Esquema de consulta\ndata-hub.schema.mutation-schema: Esquema de mutación\ndata-hub.schema.generic-types: Tipos genéricos\ndata-hub.schema.entity: Entidad\ndata-hub.schema.settings: Configuración\ndata-hub.schema.select-class: Seleccionar clase...\ndata-hub.schema.query-modal-title: 'Campos del esquema de consulta - {{entity}}'\ndata-hub.schema.mutation-modal-title: 'Campos del esquema de mutación - {{entity}}'\ndata-hub.schema.class-attributes: Atributos de clase\ndata-hub.schema.available-fields: Campos disponibles\ndata-hub.schema.drag-class-attributes-or-operators: Arrastre atributos de clase u operadores aquí\ndata-hub.schema.add-all-definitions: Agregar todas las definiciones\ndata-hub.schema.insert-all-definitions: Insertar todas las definiciones\ndata-hub.schema.data-object-columns: Columnas de Data Objects\ndata-hub.schema.system-columns: Columnas del sistema\ndata-hub.schema.system.id: ID (id)\ndata-hub.schema.system.fullpath: Ruta completa (fullpath)\ndata-hub.schema.system.key: Key (key)\ndata-hub.schema.system.published: Publicado (published)\ndata-hub.schema.system.creationDate: Fecha de creación (creationDate)\ndata-hub.schema.system.modificationDate: Fecha de modificación (modificationDate)\ndata-hub.schema.system.filename: Nombre de archivo (filename)\ndata-hub.schema.system.classname: classname (classname)\ndata-hub.schema.system.index: Indexado (index)\ndata-hub.schema.coming-soon: '(Próximamente)'\ndata-hub.schema.special.document: Documento\ndata-hub.schema.special.document_folder: Carpeta de documentos\ndata-hub.schema.special.asset: Asset\ndata-hub.schema.special.asset_folder: Carpeta de Assets\ndata-hub.schema.special.asset_listing: Listado de Assets\ndata-hub.schema.special.object_folder: Carpeta de objetos\ndata-hub.schema.special.translation: Traducción\ndata-hub.schema.special.translation_listing: Listado de traducciones\ndata-hub.schema.operation-not-implemented: La operación no está implementada\ndata-hub.open-in-tab: Abrir en pestaña\ndata-hub.label: Etiqueta\ndata-hub.help: Ayuda\ndata-hub.locale: Idioma\ndata-hub.locale.select: Seleccionar idioma...\ndata-hub.thumbnail: Miniatura\ndata-hub.prefix: Prefijo\ndata-hub.operator.group.formatter: Formateador\ndata-hub.operator.group.transformer: Transformador\ndata-hub.operator.group.other: Otro\ndata-hub.operator.subgroup.string: String\ndata-hub.operator.subgroup.other: Otro\ndata-hub.operator.alias: Alias\ndata-hub.operator.label: Etiqueta\ndata-hub.operator.glue: Separador\ndata-hub.operator.concatenator: Concatenador\ndata-hub.operator.concatenator.config: Configuración del concatenador\ndata-hub.operator.date-formatter: Formateador de fecha\ndata-hub.operator.element-counter: Contador de elementos\ndata-hub.operator.element-counter.count-empty: Contar vacíos\ndata-hub.operator.if-empty: Si vacío\ndata-hub.operator.locale-collector: Recopilador de idiomas\ndata-hub.operator.locale-switcher: Selector de idioma\ndata-hub.operator.substring: Subcadena\ndata-hub.operator.text: Texto\ndata-hub.operator.thumbnail: Miniatura\ndata-hub.operator.thumbnail-html: Miniatura HTML\ndata-hub.operator.translate-value: Traducir valor\ndata-hub.operator.trimmer: Trimmer\ndata-hub.operator.dateformatter: Formateador de fecha\ndata-hub.operator.dateformatter.format: Formato de fecha\ndata-hub.operator.dateformatter.format.required: Introduzca un formato de fecha\ndata-hub.operator.if-empty.default-value: Valor predeterminado\ndata-hub.operator.locale-collector.locales: Idiomas\ndata-hub.operator.locale-collector.select-locales: Seleccionar idiomas...\ndata-hub.operator.thumbnail.thumbnail-name: Nombre de miniatura\ndata-hub.operator.thumbnail-html.thumbnail-name: Nombre de miniatura\ndata-hub.operator.start: Inicio\ndata-hub.operator.length: Longitud\ndata-hub.operator.ellipses: Puntos suspensivos\ndata-hub.operator.trim: Recortar\ndata-hub.operator.trim.disabled: Desactivado\ndata-hub.operator.trim.left: Izquierda\ndata-hub.operator.trim.right: Derecha\ndata-hub.operator.trim.both: Ambos\ntree.actions.clone: Clonar\ntree.actions.delete: Eliminar\ntree.actions.edit: Editar\ntree.actions.export: Exportar\ntree.actions.import: Importar\ntree.actions.view: Ver\ndata-hub.import.title: Importar configuración\ndata-hub.import.drag-drop: Explore sus archivos o suelte un JSON directamente aquí\ndata-hub.import.browse-files: Explorar archivos\nperspective-editor.form.main-nav-permission.category.automationIntegration: Automatización e integración\nperspective-editor.form.main-nav-permission.automationIntegration.dataHubConfiguration: Configuración de Data Hub\nuser-management.permissions.plugin_datahub_admin: Administración de Datahub\nuser-management.permissions.plugin_datahub_config: Configuración de Datahub\nuser-management.permissions.plugin_datahub_adapter_graphql: Datahub Adapter - GraphQL\nuser-management.permissions.plugin_datahub_permission_delete: Datahub Eliminación\nuser-management.permissions.plugin_datahub_permission_read: Datahub Lectura\nuser-management.permissions.plugin_datahub_permission_update: Datahub Actualización\n"
  },
  {
    "path": "src/Resources/translations/studio.fr.yaml",
    "content": "data-hub.configuration: Configuration Data Hub\ndata-hub.add.button: Ajouter une configuration\ndata-hub.add.name: Saisir le nom de la configuration\ndata-hub.clone.name: Saisir le nom de la configuration clonée\ndata-hub.delete.confirm: 'Êtes-vous sûr de vouloir supprimer la configuration \"{{name}}\" ?'\nerror.data-hub.config-exists: Une configuration avec ce nom existe déjà\nerror.data-hub.import-config-invalid: 'Le fichier téléchargé n''est pas une configuration valide'\nerror.data-hub.api-key-validation-failed: 'Une ou plusieurs clés API ne respectent pas la longueur minimale de 16 caractères.'\ndata-hub.config.active: Actif\ndata-hub.config.type: Type\ndata-hub.config.name: Nom\ndata-hub.config.name-required: Veuillez saisir un nom de configuration\ndata-hub.config.name-min-length: Le nom doit comporter au moins 3 caractères\ndata-hub.config.name-max-length: Le nom ne doit pas dépasser 80 caractères\ndata-hub.config.name-pattern: Le nom ne peut contenir que des caractères alphanumériques, des tirets bas et des tirets\ndata-hub.config.description: Description\ndata-hub.config.group: Groupe\ndata-hub.adapter.graphql: GraphQL\ndata-hub.adapter.simpleRest: Simple REST\ndata-hub.tabs.general: Général\ndata-hub.tabs.schema-definition: Définition du schéma\ndata-hub.tabs.security-definition: Définition de la sécurité\ndata-hub.tabs.permissions: Permissions\ndata-hub.security.method: Méthode\ndata-hub.security.method.apikey: API Key\ndata-hub.security.apikey: API Keys Datahub\ndata-hub.security.apikey-description: 'API Key requis pour l''accès au service web. Un API Key par ligne autorisé. Au moins un Key de 16 caractères minimum doit être fourni.'\ndata-hub.security.generate-apikey: Générer un Key\ndata-hub.security.skip-permission-check: Ignorer la vérification des permissions\ndata-hub.security.disable-introspection: 'Désactiver l''Introspection'\ndata-hub.security.introspection-description: 'Veuillez noter : lorsque l''Introspection est désactivée, la fonctionnalité d''autocomplétion ne fonctionnera pas.'\ndata-hub.security.authentication: Authentification\ndata-hub.workspaces.title: Workspaces\ndata-hub.workspaces.documents: Documents\ndata-hub.workspaces.assets: Assets\ndata-hub.workspaces.objects: Data Objects\ndata-hub.workspaces.path: Chemin\ndata-hub.workspaces.create: Créer\ndata-hub.workspaces.read: Lire\ndata-hub.workspaces.update: Mettre à jour\ndata-hub.workspaces.delete: Supprimer\ndata-hub.workspaces.delete-selected: Supprimer la sélection\ndata-hub.permissions.role-permissions: Permissions de rôle\ndata-hub.permissions.user-permissions: Permissions utilisateur\ndata-hub.permissions.role: Rôle\ndata-hub.permissions.user: Utilisateur\ndata-hub.permissions.read: Lire\ndata-hub.permissions.update: Mettre à jour\ndata-hub.permissions.delete: Supprimer\ndata-hub.schema.query-schema: Schéma de requête\ndata-hub.schema.mutation-schema: Schéma de mutation\ndata-hub.schema.generic-types: Types génériques\ndata-hub.schema.entity: Entité\ndata-hub.schema.settings: Paramètres\ndata-hub.schema.select-class: Sélectionner une classe...\ndata-hub.schema.query-modal-title: 'Champs du schéma de requête - {{entity}}'\ndata-hub.schema.mutation-modal-title: 'Champs du schéma de mutation - {{entity}}'\ndata-hub.schema.class-attributes: Attributs de classe\ndata-hub.schema.available-fields: Champs disponibles\ndata-hub.schema.drag-class-attributes-or-operators: Glissez les attributs de classe ou les opérateurs ici\ndata-hub.schema.add-all-definitions: Ajouter toutes les définitions\ndata-hub.schema.insert-all-definitions: Insérer toutes les définitions\ndata-hub.schema.data-object-columns: Colonnes de Data Objects\ndata-hub.schema.system-columns: Colonnes système\ndata-hub.schema.system.id: ID (id)\ndata-hub.schema.system.fullpath: Chemin complet (fullpath)\ndata-hub.schema.system.key: Key (key)\ndata-hub.schema.system.published: Publié (published)\ndata-hub.schema.system.creationDate: Date de création (creationDate)\ndata-hub.schema.system.modificationDate: Date de modification (modificationDate)\ndata-hub.schema.system.filename: Nom du fichier (filename)\ndata-hub.schema.system.classname: classname (classname)\ndata-hub.schema.system.index: Indexé (index)\ndata-hub.schema.coming-soon: '(Bientôt disponible)'\ndata-hub.schema.special.document: Document\ndata-hub.schema.special.document_folder: Dossier de documents\ndata-hub.schema.special.asset: Asset\ndata-hub.schema.special.asset_folder: 'Dossier d''Assets'\ndata-hub.schema.special.asset_listing: 'Liste d''Assets'\ndata-hub.schema.special.object_folder: 'Dossier d''objets'\ndata-hub.schema.special.translation: Traduction\ndata-hub.schema.special.translation_listing: Liste de traductions\ndata-hub.schema.operation-not-implemented: 'L''opération n''est pas implémentée'\ndata-hub.open-in-tab: Ouvrir dans un onglet\ndata-hub.label: Libellé\ndata-hub.help: Aide\ndata-hub.locale: Langue\ndata-hub.locale.select: Sélectionner une langue...\ndata-hub.thumbnail: Miniature\ndata-hub.prefix: Préfixe\ndata-hub.operator.group.formatter: Formateur\ndata-hub.operator.group.transformer: Transformateur\ndata-hub.operator.group.other: Autre\ndata-hub.operator.subgroup.string: String\ndata-hub.operator.subgroup.other: Autre\ndata-hub.operator.alias: Alias\ndata-hub.operator.label: Libellé\ndata-hub.operator.glue: Séparateur\ndata-hub.operator.concatenator: Concaténation\ndata-hub.operator.concatenator.config: Paramètres de concaténation\ndata-hub.operator.date-formatter: Formateur de date\ndata-hub.operator.element-counter: 'Compteur d''éléments'\ndata-hub.operator.element-counter.count-empty: Compter les vides\ndata-hub.operator.if-empty: Si vide\ndata-hub.operator.locale-collector: Collecteur de langues\ndata-hub.operator.locale-switcher: Sélecteur de langue\ndata-hub.operator.substring: Sous-chaîne\ndata-hub.operator.text: Texte\ndata-hub.operator.thumbnail: Miniature\ndata-hub.operator.thumbnail-html: Miniature HTML\ndata-hub.operator.translate-value: Traduire la valeur\ndata-hub.operator.trimmer: Trimmer\ndata-hub.operator.dateformatter: Formateur de date\ndata-hub.operator.dateformatter.format: Format de date\ndata-hub.operator.dateformatter.format.required: Veuillez saisir un format de date\ndata-hub.operator.if-empty.default-value: Valeur par défaut\ndata-hub.operator.locale-collector.locales: Langues\ndata-hub.operator.locale-collector.select-locales: Sélectionner les langues...\ndata-hub.operator.thumbnail.thumbnail-name: Nom de la miniature\ndata-hub.operator.thumbnail-html.thumbnail-name: Nom de la miniature\ndata-hub.operator.start: Début\ndata-hub.operator.length: Longueur\ndata-hub.operator.ellipses: Points de suspension\ndata-hub.operator.trim: Élaguer\ndata-hub.operator.trim.disabled: Désactivé\ndata-hub.operator.trim.left: Gauche\ndata-hub.operator.trim.right: Droite\ndata-hub.operator.trim.both: Les deux\ntree.actions.clone: Cloner\ntree.actions.delete: Supprimer\ntree.actions.edit: Modifier\ntree.actions.export: Exporter\ntree.actions.import: Importer\ntree.actions.view: Afficher\ndata-hub.import.title: Importer une configuration\ndata-hub.import.drag-drop: Parcourez vos fichiers ou déposez un JSON directement ici\ndata-hub.import.browse-files: Parcourir les fichiers\nperspective-editor.form.main-nav-permission.category.automationIntegration: Automation & Intégration\nperspective-editor.form.main-nav-permission.automationIntegration.dataHubConfiguration: Configuration Data Hub\nuser-management.permissions.plugin_datahub_admin: Administration Datahub\nuser-management.permissions.plugin_datahub_config: Configuration Datahub\nuser-management.permissions.plugin_datahub_adapter_graphql: Datahub Adapter - GraphQL\nuser-management.permissions.plugin_datahub_permission_delete: Datahub Suppression\nuser-management.permissions.plugin_datahub_permission_read: Datahub Lecture\nuser-management.permissions.plugin_datahub_permission_update: Datahub Mise à jour\n"
  },
  {
    "path": "src/Resources/translations/studio.it.yaml",
    "content": "data-hub.configuration: Configurazione Data Hub\ndata-hub.add.button: Aggiungi configurazione\ndata-hub.add.name: Inserire il nome della configurazione\ndata-hub.clone.name: Inserire il nome per la configurazione clonata\ndata-hub.delete.confirm: 'Sei sicuro di voler eliminare la configurazione \"{{name}}\"?'\nerror.data-hub.config-exists: Una configurazione con questo nome esiste già\nerror.data-hub.import-config-invalid: Il file caricato non è una configurazione valida\nerror.data-hub.api-key-validation-failed: 'Una o più chiavi API non soddisfano la lunghezza minima di 16 caratteri.'\ndata-hub.config.active: Attivo\ndata-hub.config.type: Tipo\ndata-hub.config.name: Nome\ndata-hub.config.name-required: Inserire un nome per la configurazione\ndata-hub.config.name-min-length: Il nome deve contenere almeno 3 caratteri\ndata-hub.config.name-max-length: Il nome non deve superare 80 caratteri\ndata-hub.config.name-pattern: Il nome può contenere solo caratteri alfanumerici, trattini bassi e trattini\ndata-hub.config.description: Descrizione\ndata-hub.config.group: Gruppo\ndata-hub.adapter.graphql: GraphQL\ndata-hub.adapter.simpleRest: Simple REST\ndata-hub.tabs.general: Generale\ndata-hub.tabs.schema-definition: Definizione dello schema\ndata-hub.tabs.security-definition: Definizione della sicurezza\ndata-hub.tabs.permissions: Permessi\ndata-hub.security.method: Metodo\ndata-hub.security.method.apikey: API Key\ndata-hub.security.apikey: API Key Datahub\ndata-hub.security.apikey-description: 'API Key necessario per l''accesso al servizio web. Un API Key per riga. Deve essere fornito almeno un Key con un minimo di 16 caratteri.'\ndata-hub.security.generate-apikey: Genera Key\ndata-hub.security.skip-permission-check: Ignora il controllo dei permessi\ndata-hub.security.disable-introspection: Disattiva Introspection\ndata-hub.security.introspection-description: 'Nota: quando l''Introspection è disattivata, la funzione di autocompletamento non funzionerà.'\ndata-hub.security.authentication: Autenticazione\ndata-hub.workspaces.title: Workspaces\ndata-hub.workspaces.documents: Documenti\ndata-hub.workspaces.assets: Assets\ndata-hub.workspaces.objects: Data Objects\ndata-hub.workspaces.path: Percorso\ndata-hub.workspaces.create: Crea\ndata-hub.workspaces.read: Leggi\ndata-hub.workspaces.update: Aggiorna\ndata-hub.workspaces.delete: Elimina\ndata-hub.workspaces.delete-selected: Elimina selezionati\ndata-hub.permissions.role-permissions: Permessi di ruolo\ndata-hub.permissions.user-permissions: Permessi utente\ndata-hub.permissions.role: Ruolo\ndata-hub.permissions.user: Utente\ndata-hub.permissions.read: Leggi\ndata-hub.permissions.update: Aggiorna\ndata-hub.permissions.delete: Elimina\ndata-hub.schema.query-schema: Schema di query\ndata-hub.schema.mutation-schema: Schema di mutazione\ndata-hub.schema.generic-types: Tipi generici\ndata-hub.schema.entity: Entità\ndata-hub.schema.settings: Impostazioni\ndata-hub.schema.select-class: Seleziona classe...\ndata-hub.schema.query-modal-title: 'Campi dello schema di query - {{entity}}'\ndata-hub.schema.mutation-modal-title: 'Campi dello schema di mutazione - {{entity}}'\ndata-hub.schema.class-attributes: Attributi della classe\ndata-hub.schema.available-fields: Campi disponibili\ndata-hub.schema.drag-class-attributes-or-operators: Trascina qui gli attributi della classe o gli operatori\ndata-hub.schema.add-all-definitions: Aggiungi tutte le definizioni\ndata-hub.schema.insert-all-definitions: Inserisci tutte le definizioni\ndata-hub.schema.data-object-columns: Colonne di Data Objects\ndata-hub.schema.system-columns: Colonne di sistema\ndata-hub.schema.system.id: ID (id)\ndata-hub.schema.system.fullpath: Percorso completo (fullpath)\ndata-hub.schema.system.key: Key (key)\ndata-hub.schema.system.published: Pubblicato (published)\ndata-hub.schema.system.creationDate: Data di creazione (creationDate)\ndata-hub.schema.system.modificationDate: Data di modifica (modificationDate)\ndata-hub.schema.system.filename: Nome del file (filename)\ndata-hub.schema.system.classname: classname (classname)\ndata-hub.schema.system.index: Indicizzato (index)\ndata-hub.schema.coming-soon: '(Prossimamente)'\ndata-hub.schema.special.document: Documento\ndata-hub.schema.special.document_folder: Cartella documenti\ndata-hub.schema.special.asset: Asset\ndata-hub.schema.special.asset_folder: Cartella Asset\ndata-hub.schema.special.asset_listing: Elenco Asset\ndata-hub.schema.special.object_folder: Cartella oggetti\ndata-hub.schema.special.translation: Traduzione\ndata-hub.schema.special.translation_listing: Elenco traduzioni\ndata-hub.schema.operation-not-implemented: 'L''operazione non è implementata'\ndata-hub.open-in-tab: Apri in una scheda\ndata-hub.label: Etichetta\ndata-hub.help: Aiuto\ndata-hub.locale: Lingua\ndata-hub.locale.select: Seleziona lingua...\ndata-hub.thumbnail: Miniatura\ndata-hub.prefix: Prefisso\ndata-hub.operator.group.formatter: Formattatore\ndata-hub.operator.group.transformer: Trasformatore\ndata-hub.operator.group.other: Altro\ndata-hub.operator.subgroup.string: String\ndata-hub.operator.subgroup.other: Altro\ndata-hub.operator.alias: Alias\ndata-hub.operator.label: Etichetta\ndata-hub.operator.glue: Separatore\ndata-hub.operator.concatenator: Concatenatore\ndata-hub.operator.concatenator.config: Impostazioni concatenatore\ndata-hub.operator.date-formatter: Formattatore di date\ndata-hub.operator.element-counter: Contatore elementi\ndata-hub.operator.element-counter.count-empty: Conta vuoti\ndata-hub.operator.if-empty: Se vuoto\ndata-hub.operator.locale-collector: Collettore di lingue\ndata-hub.operator.locale-switcher: Selettore di lingua\ndata-hub.operator.substring: Sottostringa\ndata-hub.operator.text: Testo\ndata-hub.operator.thumbnail: Miniatura\ndata-hub.operator.thumbnail-html: Miniatura HTML\ndata-hub.operator.translate-value: Traduci valore\ndata-hub.operator.trimmer: Trimmer\ndata-hub.operator.dateformatter: Formattatore di date\ndata-hub.operator.dateformatter.format: Formato data\ndata-hub.operator.dateformatter.format.required: Inserire un formato data\ndata-hub.operator.if-empty.default-value: Valore predefinito\ndata-hub.operator.locale-collector.locales: Lingue\ndata-hub.operator.locale-collector.select-locales: Seleziona lingue...\ndata-hub.operator.thumbnail.thumbnail-name: Nome miniatura\ndata-hub.operator.thumbnail-html.thumbnail-name: Nome miniatura\ndata-hub.operator.start: Inizio\ndata-hub.operator.length: Lunghezza\ndata-hub.operator.ellipses: Puntini di sospensione\ndata-hub.operator.trim: Ritaglio\ndata-hub.operator.trim.disabled: Disattivato\ndata-hub.operator.trim.left: Sinistra\ndata-hub.operator.trim.right: Destra\ndata-hub.operator.trim.both: Entrambi\ntree.actions.clone: Clona\ntree.actions.delete: Elimina\ntree.actions.edit: Modifica\ntree.actions.export: Esporta\ntree.actions.import: Importa\ntree.actions.view: Visualizza\ndata-hub.import.title: Importa configurazione\ndata-hub.import.drag-drop: Sfoglia i tuoi file o trascina un JSON direttamente qui\ndata-hub.import.browse-files: Sfoglia file\nperspective-editor.form.main-nav-permission.category.automationIntegration: Automazione & Integrazione\nperspective-editor.form.main-nav-permission.automationIntegration.dataHubConfiguration: Configurazione Data Hub\nuser-management.permissions.plugin_datahub_admin: Amministrazione Datahub\nuser-management.permissions.plugin_datahub_config: Configurazione Datahub\nuser-management.permissions.plugin_datahub_adapter_graphql: Datahub Adapter - GraphQL\nuser-management.permissions.plugin_datahub_permission_delete: Datahub Eliminazione\nuser-management.permissions.plugin_datahub_permission_read: Datahub Lettura\nuser-management.permissions.plugin_datahub_permission_update: Datahub Aggiornamento\n"
  },
  {
    "path": "src/Resources/translations/studio.no.yaml",
    "content": "data-hub.configuration: Data Hub-konfigurasjon\ndata-hub.add.button: Legg til konfigurasjon\ndata-hub.add.name: Skriv inn konfigurasjonsnavn\ndata-hub.clone.name: Skriv inn navn for klonet konfigurasjon\ndata-hub.delete.confirm: 'Er du sikker på at du vil slette konfigurasjonen \"{{name}}\"?'\nerror.data-hub.config-exists: En konfigurasjon med dette navnet finnes allerede\nerror.data-hub.import-config-invalid: Den opplastede filen er ikke en gyldig konfigurasjon\nerror.data-hub.api-key-validation-failed: En eller flere API-nøkler oppfyller ikke minimumslengden på 16 tegn.\ndata-hub.config.active: Aktiv\ndata-hub.config.type: Type\ndata-hub.config.name: Navn\ndata-hub.config.name-required: Skriv inn et konfigurasjonsnavn\ndata-hub.config.name-min-length: Navnet må være minst 3 tegn langt\ndata-hub.config.name-max-length: Navnet kan ikke overskride 80 tegn\ndata-hub.config.name-pattern: Navnet kan bare inneholde alfanumeriske tegn, understrek og bindestreker\ndata-hub.config.description: Beskrivelse\ndata-hub.config.group: Gruppe\ndata-hub.adapter.graphql: GraphQL\ndata-hub.adapter.simpleRest: Simple REST\ndata-hub.tabs.general: Generelt\ndata-hub.tabs.schema-definition: Skjemadefinisjon\ndata-hub.tabs.security-definition: Sikkerhetsdefinisjon\ndata-hub.tabs.permissions: Tillatelser\ndata-hub.security.method: Metode\ndata-hub.security.method.apikey: API Key\ndata-hub.security.apikey: Datahub API Keys\ndata-hub.security.apikey-description: API Key kreves for tilgang til webtjenesten. Én API Key per linje tillatt. Minst én Key med minimum 16 tegn må oppgis.\ndata-hub.security.generate-apikey: Generer Key\ndata-hub.security.skip-permission-check: Hopp over tillatelseskontroll\ndata-hub.security.disable-introspection: Deaktiver Introspection\ndata-hub.security.introspection-description: 'Vennligst merk: når Introspection er deaktivert, vil autofullføringsfunksjonen ikke fungere.'\ndata-hub.security.authentication: Autentisering\ndata-hub.workspaces.title: Workspaces\ndata-hub.workspaces.documents: Dokumenter\ndata-hub.workspaces.assets: Assets\ndata-hub.workspaces.objects: Data Objects\ndata-hub.workspaces.path: Sti\ndata-hub.workspaces.create: Opprett\ndata-hub.workspaces.read: Les\ndata-hub.workspaces.update: Oppdater\ndata-hub.workspaces.delete: Slett\ndata-hub.workspaces.delete-selected: Slett valgte\ndata-hub.permissions.role-permissions: Rolletillatelser\ndata-hub.permissions.user-permissions: Brukertillatelser\ndata-hub.permissions.role: Rolle\ndata-hub.permissions.user: Bruker\ndata-hub.permissions.read: Les\ndata-hub.permissions.update: Oppdater\ndata-hub.permissions.delete: Slett\ndata-hub.schema.query-schema: Query-skjema\ndata-hub.schema.mutation-schema: Mutation-skjema\ndata-hub.schema.generic-types: Generiske typer\ndata-hub.schema.entity: Entitet\ndata-hub.schema.settings: Innstillinger\ndata-hub.schema.select-class: Velg klasse...\ndata-hub.schema.query-modal-title: 'Query-skjemafelt - {{entity}}'\ndata-hub.schema.mutation-modal-title: 'Mutation-skjemafelt - {{entity}}'\ndata-hub.schema.class-attributes: Klasseattributter\ndata-hub.schema.available-fields: Tilgjengelige felt\ndata-hub.schema.drag-class-attributes-or-operators: Dra klasseattributter eller operatorer hit\ndata-hub.schema.add-all-definitions: Legg til alle definisjoner\ndata-hub.schema.insert-all-definitions: Sett inn alle definisjoner\ndata-hub.schema.data-object-columns: Data Object-kolonner\ndata-hub.schema.system-columns: Systemkolonner\ndata-hub.schema.system.id: ID (id)\ndata-hub.schema.system.fullpath: Fullstendig sti (fullpath)\ndata-hub.schema.system.key: Key (key)\ndata-hub.schema.system.published: Publisert (published)\ndata-hub.schema.system.creationDate: Opprettelsesdato (creationDate)\ndata-hub.schema.system.modificationDate: Endringsdato (modificationDate)\ndata-hub.schema.system.filename: Filnavn (filename)\ndata-hub.schema.system.classname: classname (classname)\ndata-hub.schema.system.index: Indeksert (index)\ndata-hub.schema.coming-soon: '(Kommer snart)'\ndata-hub.schema.special.document: Dokument\ndata-hub.schema.special.document_folder: Dokumentmappe\ndata-hub.schema.special.asset: Asset\ndata-hub.schema.special.asset_folder: Asset-mappe\ndata-hub.schema.special.asset_listing: Asset-liste\ndata-hub.schema.special.object_folder: Objektmappe\ndata-hub.schema.special.translation: Oversettelse\ndata-hub.schema.special.translation_listing: Oversettelsesliste\ndata-hub.schema.operation-not-implemented: Operasjonen er ikke implementert\ndata-hub.open-in-tab: Åpne i fane\ndata-hub.label: Etikett\ndata-hub.help: Hjelp\ndata-hub.locale: Språk\ndata-hub.locale.select: Velg språk...\ndata-hub.thumbnail: Miniatyrbilde\ndata-hub.prefix: Prefiks\ndata-hub.operator.group.formatter: Formatterer\ndata-hub.operator.group.transformer: Transformerer\ndata-hub.operator.group.other: Annet\ndata-hub.operator.subgroup.string: String\ndata-hub.operator.subgroup.other: Annet\ndata-hub.operator.alias: Alias\ndata-hub.operator.label: Etikett\ndata-hub.operator.glue: Separator\ndata-hub.operator.concatenator: Sammenslåer\ndata-hub.operator.concatenator.config: Sammenslåingsinnstillinger\ndata-hub.operator.date-formatter: Datoformatterer\ndata-hub.operator.element-counter: Elementteller\ndata-hub.operator.element-counter.count-empty: Tell tomme\ndata-hub.operator.if-empty: Hvis tom\ndata-hub.operator.locale-collector: Språksamler\ndata-hub.operator.locale-switcher: Språkvelger\ndata-hub.operator.substring: Delstreng\ndata-hub.operator.text: Tekst\ndata-hub.operator.thumbnail: Miniatyrbilde\ndata-hub.operator.thumbnail-html: Miniatyrbilde-HTML\ndata-hub.operator.translate-value: Oversett verdi\ndata-hub.operator.trimmer: Trimmer\ndata-hub.operator.dateformatter: Datoformatterer\ndata-hub.operator.dateformatter.format: Datoformat\ndata-hub.operator.dateformatter.format.required: Skriv inn et datoformat\ndata-hub.operator.if-empty.default-value: Standardverdi\ndata-hub.operator.locale-collector.locales: Språk\ndata-hub.operator.locale-collector.select-locales: Velg språk...\ndata-hub.operator.thumbnail.thumbnail-name: Miniatyrbildenavn\ndata-hub.operator.thumbnail-html.thumbnail-name: Miniatyrbildenavn\ndata-hub.operator.start: Start\ndata-hub.operator.length: Lengde\ndata-hub.operator.ellipses: Ellipser\ndata-hub.operator.trim: Trim\ndata-hub.operator.trim.disabled: Deaktivert\ndata-hub.operator.trim.left: Venstre\ndata-hub.operator.trim.right: Høyre\ndata-hub.operator.trim.both: Begge\ntree.actions.clone: Klon\ntree.actions.delete: Slett\ntree.actions.edit: Rediger\ntree.actions.export: Eksporter\ntree.actions.import: Importer\ntree.actions.view: Vis\ndata-hub.import.title: Importer konfigurasjon\ndata-hub.import.drag-drop: Bla gjennom filene dine eller dra og slipp en JSON-fil direkte her\ndata-hub.import.browse-files: Bla gjennom filer\nperspective-editor.form.main-nav-permission.category.automationIntegration: Automatisering og integrasjon\nperspective-editor.form.main-nav-permission.automationIntegration.dataHubConfiguration: Data Hub-konfigurasjon\nuser-management.permissions.plugin_datahub_admin: Datahub-administrasjon\nuser-management.permissions.plugin_datahub_config: Datahub-konfigurasjon\nuser-management.permissions.plugin_datahub_adapter_graphql: Datahub Adapter - GraphQL\nuser-management.permissions.plugin_datahub_permission_delete: Datahub Sletting\nuser-management.permissions.plugin_datahub_permission_read: Datahub Lesing\nuser-management.permissions.plugin_datahub_permission_update: Datahub Oppdatering\n"
  },
  {
    "path": "src/Resources/translations/studio.sv.yaml",
    "content": "data-hub.configuration: Data Hub-konfiguration\ndata-hub.add.button: Lägg till konfiguration\ndata-hub.add.name: Ange konfigurationsnamn\ndata-hub.clone.name: Ange namn för klonad konfiguration\ndata-hub.delete.confirm: 'Är du säker på att du vill ta bort konfigurationen \"{{name}}\"?'\nerror.data-hub.config-exists: En konfiguration med detta namn finns redan\nerror.data-hub.import-config-invalid: Den uppladdade filen är inte en giltig konfiguration\nerror.data-hub.api-key-validation-failed: En eller flera API-nycklar uppfyller inte minimikravet på 16 tecken.\ndata-hub.config.active: Aktiv\ndata-hub.config.type: Typ\ndata-hub.config.name: Namn\ndata-hub.config.name-required: Ange ett konfigurationsnamn\ndata-hub.config.name-min-length: Namnet måste vara minst 3 tecken långt\ndata-hub.config.name-max-length: Namnet får inte överstiga 80 tecken\ndata-hub.config.name-pattern: Namnet kan bara innehålla alfanumeriska tecken, understreck och bindestreck\ndata-hub.config.description: Beskrivning\ndata-hub.config.group: Grupp\ndata-hub.adapter.graphql: GraphQL\ndata-hub.adapter.simpleRest: Simple REST\ndata-hub.tabs.general: Allmänt\ndata-hub.tabs.schema-definition: Schemadefinition\ndata-hub.tabs.security-definition: Säkerhetsdefinition\ndata-hub.tabs.permissions: Behörigheter\ndata-hub.security.method: Metod\ndata-hub.security.method.apikey: API Key\ndata-hub.security.apikey: Datahub API Keys\ndata-hub.security.apikey-description: API Key krävs för åtkomst till webbtjänsten. En API Key per rad tillåten. Minst en Key med minst 16 tecken måste anges.\ndata-hub.security.generate-apikey: Generera Key\ndata-hub.security.skip-permission-check: Hoppa över behörighetskontroll\ndata-hub.security.disable-introspection: Inaktivera Introspection\ndata-hub.security.introspection-description: 'Observera: när Introspection är inaktiverad fungerar inte autokompletteringsfunktionen.'\ndata-hub.security.authentication: Autentisering\ndata-hub.workspaces.title: Workspaces\ndata-hub.workspaces.documents: Dokument\ndata-hub.workspaces.assets: Assets\ndata-hub.workspaces.objects: Data Objects\ndata-hub.workspaces.path: Sökväg\ndata-hub.workspaces.create: Skapa\ndata-hub.workspaces.read: Läsa\ndata-hub.workspaces.update: Uppdatera\ndata-hub.workspaces.delete: Ta bort\ndata-hub.workspaces.delete-selected: Ta bort markerade\ndata-hub.permissions.role-permissions: Rollbehörigheter\ndata-hub.permissions.user-permissions: Användarbehörigheter\ndata-hub.permissions.role: Roll\ndata-hub.permissions.user: Användare\ndata-hub.permissions.read: Läsa\ndata-hub.permissions.update: Uppdatera\ndata-hub.permissions.delete: Ta bort\ndata-hub.schema.query-schema: Query-schema\ndata-hub.schema.mutation-schema: Mutation-schema\ndata-hub.schema.generic-types: Generiska typer\ndata-hub.schema.entity: Entitet\ndata-hub.schema.settings: Inställningar\ndata-hub.schema.select-class: Välj klass...\ndata-hub.schema.query-modal-title: 'Query-schemafält - {{entity}}'\ndata-hub.schema.mutation-modal-title: 'Mutation-schemafält - {{entity}}'\ndata-hub.schema.class-attributes: Klassattribut\ndata-hub.schema.available-fields: Tillgängliga fält\ndata-hub.schema.drag-class-attributes-or-operators: Dra klassattribut eller operatorer hit\ndata-hub.schema.add-all-definitions: Lägg till alla definitioner\ndata-hub.schema.insert-all-definitions: Infoga alla definitioner\ndata-hub.schema.data-object-columns: Data Object-kolumner\ndata-hub.schema.system-columns: Systemkolumner\ndata-hub.schema.system.id: ID (id)\ndata-hub.schema.system.fullpath: Fullständig sökväg (fullpath)\ndata-hub.schema.system.key: Key (key)\ndata-hub.schema.system.published: Publicerad (published)\ndata-hub.schema.system.creationDate: Skapandedatum (creationDate)\ndata-hub.schema.system.modificationDate: Ändringsdatum (modificationDate)\ndata-hub.schema.system.filename: Filnamn (filename)\ndata-hub.schema.system.classname: classname (classname)\ndata-hub.schema.system.index: Indexerad (index)\ndata-hub.schema.coming-soon: '(Kommer snart)'\ndata-hub.schema.special.document: Dokument\ndata-hub.schema.special.document_folder: Dokumentmapp\ndata-hub.schema.special.asset: Asset\ndata-hub.schema.special.asset_folder: Asset-mapp\ndata-hub.schema.special.asset_listing: Asset-lista\ndata-hub.schema.special.object_folder: Objektmapp\ndata-hub.schema.special.translation: Översättning\ndata-hub.schema.special.translation_listing: Översättningslista\ndata-hub.schema.operation-not-implemented: Operationen är inte implementerad\ndata-hub.open-in-tab: Öppna i flik\ndata-hub.label: Etikett\ndata-hub.help: Hjälp\ndata-hub.locale: Språk\ndata-hub.locale.select: Välj språk...\ndata-hub.thumbnail: Miniatyr\ndata-hub.prefix: Prefix\ndata-hub.operator.group.formatter: Formaterare\ndata-hub.operator.group.transformer: Transformerare\ndata-hub.operator.group.other: Övrigt\ndata-hub.operator.subgroup.string: String\ndata-hub.operator.subgroup.other: Övrigt\ndata-hub.operator.alias: Alias\ndata-hub.operator.label: Etikett\ndata-hub.operator.glue: Separator\ndata-hub.operator.concatenator: Sammanfogare\ndata-hub.operator.concatenator.config: Sammanfogningsinställningar\ndata-hub.operator.date-formatter: Datumformaterare\ndata-hub.operator.element-counter: Elementräknare\ndata-hub.operator.element-counter.count-empty: Räkna tomma\ndata-hub.operator.if-empty: Om tom\ndata-hub.operator.locale-collector: Språksamlare\ndata-hub.operator.locale-switcher: Språkväljare\ndata-hub.operator.substring: Delsträng\ndata-hub.operator.text: Text\ndata-hub.operator.thumbnail: Miniatyr\ndata-hub.operator.thumbnail-html: Miniatyr-HTML\ndata-hub.operator.translate-value: Översätt värde\ndata-hub.operator.trimmer: Trimmer\ndata-hub.operator.dateformatter: Datumformaterare\ndata-hub.operator.dateformatter.format: Datumformat\ndata-hub.operator.dateformatter.format.required: Ange ett datumformat\ndata-hub.operator.if-empty.default-value: Standardvärde\ndata-hub.operator.locale-collector.locales: Språk\ndata-hub.operator.locale-collector.select-locales: Välj språk...\ndata-hub.operator.thumbnail.thumbnail-name: Miniatyrnamn\ndata-hub.operator.thumbnail-html.thumbnail-name: Miniatyrnamn\ndata-hub.operator.start: Start\ndata-hub.operator.length: Längd\ndata-hub.operator.ellipses: Ellipser\ndata-hub.operator.trim: Trimma\ndata-hub.operator.trim.disabled: Inaktiverad\ndata-hub.operator.trim.left: Vänster\ndata-hub.operator.trim.right: Höger\ndata-hub.operator.trim.both: Båda\ntree.actions.clone: Klona\ntree.actions.delete: Ta bort\ntree.actions.edit: Redigera\ntree.actions.export: Exportera\ntree.actions.import: Importera\ntree.actions.view: Visa\ndata-hub.import.title: Importera konfiguration\ndata-hub.import.drag-drop: Bläddra bland dina filer eller dra och släpp en JSON-fil direkt här\ndata-hub.import.browse-files: Bläddra bland filer\nperspective-editor.form.main-nav-permission.category.automationIntegration: Automation & Integration\nperspective-editor.form.main-nav-permission.automationIntegration.dataHubConfiguration: Data Hub-konfiguration\nuser-management.permissions.plugin_datahub_admin: Datahub-administration\nuser-management.permissions.plugin_datahub_config: Datahub-konfiguration\nuser-management.permissions.plugin_datahub_adapter_graphql: Datahub Adapter - GraphQL\nuser-management.permissions.plugin_datahub_permission_delete: Datahub Radering\nuser-management.permissions.plugin_datahub_permission_read: Datahub Läsning\nuser-management.permissions.plugin_datahub_permission_update: Datahub Uppdatering\n"
  },
  {
    "path": "src/Resources/translations/studio_api_docs.en.yaml",
    "content": "bundle_tag_data_hub_description: Operations related to Data Hub Bundle\npimcore_studio_api_data_hub_config_collection: Data Hub Config Collection\nbundle_data_hub_config_collection: Data Hub Config Collection\nbundle_data_hub_config_collection_description: Data Hub Config Collection\nbundle_data_hub_config_collection_summary: Data Hub Config Collection\npimcore_studio_api_data_hub_config_delete: Delete Data Hub Configuration\nbundle_data_hub_config_delete: Delete Data Hub Configuration\nbundle_data_hub_config_delete_description: Delete a Data Hub configuration by name\nbundle_data_hub_config_delete_summary: Delete Data Hub Configuration\nbundle_data_hub_config_delete_success_response: Data Hub configuration successfully deleted\npimcore_studio_api_data_hub_config_add: Add Data Hub Configuration\nbundle_data_hub_config_add: Add Data Hub Configuration\nbundle_data_hub_config_add_description: Create a new Data Hub configuration\nbundle_data_hub_config_add_summary: Add Data Hub Configuration\nbundle_data_hub_config_add_success_response: Data Hub configuration successfully created\npimcore_studio_api_data_hub_config_get: Get Data Hub Configuration\nbundle_data_hub_config_get: Get Data Hub Configuration\nbundle_data_hub_config_get_description: Get a Data Hub configuration by name\nbundle_data_hub_config_get_summary: Get Data Hub Configuration\nbundle_data_hub_config_get_success_response: Data Hub configuration details\npimcore_studio_api_data_hub_config_update: Update Data Hub Configuration\nbundle_data_hub_config_update: Update Data Hub Configuration\nbundle_data_hub_config_update_description: Update an existing Data Hub configuration with validation for concurrent modifications\nbundle_data_hub_config_update_summary: Update Data Hub Configuration\nbundle_data_hub_config_update_success_response: Data Hub configuration successfully updated\npimcore_studio_api_data_hub_config_clone: Clone Data Hub Configuration\nbundle_data_hub_config_clone: Clone Data Hub Configuration\nbundle_data_hub_config_clone_description: Clone an existing Data Hub configuration with a new name\nbundle_data_hub_config_clone_summary: Clone Data Hub Configuration\nbundle_data_hub_config_clone_success_response: Data Hub configuration successfully cloned\npimcore_studio_api_data_hub_config_import: Import Data Hub Configuration\nbundle_data_hub_config_import: Import Data Hub Configuration\nbundle_data_hub_config_import_description: Import a Data Hub configuration from a JSON file\nbundle_data_hub_config_import_summary: Import Data Hub Configuration\nbundle_data_hub_config_import_success_response: Data Hub configuration successfully imported\npimcore_studio_api_data_hub_config_export: Export Data Hub Configuration\nbundle_data_hub_config_export: Export Data Hub Configuration\nbundle_data_hub_config_export_description: Export a Data Hub configuration as a JSON file\nbundle_data_hub_config_export_summary: Export Data Hub Configuration\nbundle_data_hub_config_export_success_response: Data Hub configuration successfully exported\npimcore_studio_api_data_hub_graphql_explorer: GraphQL Explorer\nbundle_data_hub_graphql_explorer: GraphQL Explorer\nbundle_data_hub_graphql_explorer_description: Get the GraphQL Explorer interface for testing and exploring GraphQL endpoints\nbundle_data_hub_graphql_explorer_summary: Get GraphQL Explorer\nbundle_data_hub_graphql_explorer_success_response: GraphQL Explorer HTML interface\npimcore_studio_api_data_hub_graphql_explorer_url: Get GraphQL Explorer URL\nbundle_data_hub_graphql_explorer_url: Get GraphQL Explorer URL\nbundle_data_hub_graphql_explorer_url_description: Get the URL for the GraphQL Explorer interface for a specific configuration\nbundle_data_hub_graphql_explorer_url_summary: Get GraphQL Explorer URL\nbundle_data_hub_graphql_explorer_url_success_response: GraphQL Explorer URL\npimcore_studio_api_data_hub_users_collection: Data Hub Users Collection\nbundle_data_hub_users_collection: Data Hub Users Collection\nbundle_data_hub_users_collection_description: Get a list of users and roles that can be assigned permissions in Data Hub configurations\nbundle_data_hub_users_collection_summary: Get Data Hub Users Collection\nbundle_data_hub_users_collection_success_response: List of users and roles available for Data Hub permissions\npimcore_studio_api_data_hub_thumbnails_collection: Data Hub Thumbnails Collection\nbundle_data_hub_thumbnails_collection: Data Hub Thumbnails Collection\nbundle_data_hub_thumbnails_collection_description: Get a list of available image thumbnail configurations for Data Hub\nbundle_data_hub_thumbnails_collection_summary: Get Data Hub Thumbnails Collection\nbundle_data_hub_thumbnails_collection_success_response: List of available thumbnail configurations\n"
  },
  {
    "path": "src/Resources/views/Feature/explorer.html.twig",
    "content": "<!DOCTYPE html>\n<html>\n    <head>\n        <meta charset=utf-8/>\n        <meta name=\"viewport\" content=\"user-scalable=no, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, minimal-ui\">\n        <title>GraphQL Playground</title>\n        <link rel=\"stylesheet\" href=\"{{ asset('bundles/pimcoredatahub/playground/index.css') }}\"/>\n        <link rel=\"stylesheet\" href=\"{{ asset('bundles/pimcoredatahub/playground/animations.css') }}\"/>\n        <link rel=\"shortcut icon\" href=\"{{ asset('bundles/pimcoredatahub/playground/favicon.png') }}\"/>\n        <script src=\"{{ asset('bundles/pimcoredatahub/playground/middleware.js') }}\"></script>\n    </head>\n    <body>\n        <div id=\"loading-wrapper\">\n            <svg class=\"logo\" viewBox=\"0 0 128 128\">\n                <title>GraphQL Playground Logo</title>\n                <defs>\n                    <linearGradient id=\"linearGradient-1\" x1=\"4.86%\" x2=\"96.21%\" y1=\"0%\" y2=\"99.66%\">\n                        <stop stop-color=\"#E00082\" stop-opacity=\".8\" offset=\"0%\"></stop>\n                        <stop stop-color=\"#E00082\" offset=\"100%\"></stop>\n                    </linearGradient>\n                </defs>\n                <g>\n                    <rect id=\"Gradient\" width=\"127.96\" height=\"127.96\" y=\"1\" fill=\"url(#linearGradient-1)\" rx=\"4\"></rect>\n                    <path id=\"Border\" fill=\"#E00082\" fill-rule=\"nonzero\"\n                          d=\"M4.7 2.84c-1.58 0-2.86 1.28-2.86 2.85v116.57c0 1.57 1.28 2.84 2.85 2.84h116.57c1.57 0 2.84-1.26 2.84-2.83V5.67c0-1.55-1.26-2.83-2.83-2.83H4.67zM4.7 0h116.58c3.14 0 5.68 2.55 5.68 5.7v116.58c0 3.14-2.54 5.68-5.68 5.68H4.68c-3.13 0-5.68-2.54-5.68-5.68V5.68C-1 2.56 1.55 0 4.7 0z\"></path>\n                    <path class=\"bglIGM\" x=\"64\" y=\"28\" fill=\"#fff\" d=\"M64 36c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8\"\n                          style=\"transform: translate(100px, 100px);\"></path>\n                    <path class=\"ksxRII\" x=\"95.98500061035156\" y=\"46.510000228881836\" fill=\"#fff\"\n                          d=\"M89.04 50.52c-2.2-3.84-.9-8.73 2.94-10.96 3.83-2.2 8.72-.9 10.95 2.94 2.2 3.84.9 8.73-2.94 10.96-3.85 2.2-8.76.9-10.97-2.94\"\n                          style=\"transform: translate(100px, 100px);\"></path>\n                    <path class=\"cWrBmb\" x=\"95.97162628173828\" y=\"83.4900016784668\" fill=\"#fff\"\n                          d=\"M102.9 87.5c-2.2 3.84-7.1 5.15-10.94 2.94-3.84-2.2-5.14-7.12-2.94-10.96 2.2-3.84 7.12-5.15 10.95-2.94 3.86 2.23 5.16 7.12 2.94 10.96\"\n                          style=\"transform: translate(100px, 100px);\"></path>\n                    <path class=\"Wnusb\" x=\"64\" y=\"101.97999572753906\" fill=\"#fff\" d=\"M64 110c-4.43 0-8-3.6-8-8.02 0-4.44 3.57-8.02 8-8.02s8 3.58 8 8.02c0 4.4-3.57 8.02-8 8.02\"\n                          style=\"transform: translate(100px, 100px);\"></path>\n                    <path class=\"bfPqf\" x=\"32.03982162475586\" y=\"83.4900016784668\" fill=\"#fff\"\n                          d=\"M25.1 87.5c-2.2-3.84-.9-8.73 2.93-10.96 3.83-2.2 8.72-.9 10.95 2.94 2.2 3.84.9 8.73-2.94 10.96-3.85 2.2-8.74.9-10.95-2.94\"\n                          style=\"transform: translate(100px, 100px);\"></path>\n                    <path class=\"edRCTN\" x=\"32.033552169799805\" y=\"46.510000228881836\" fill=\"#fff\"\n                          d=\"M38.96 50.52c-2.2 3.84-7.12 5.15-10.95 2.94-3.82-2.2-5.12-7.12-2.92-10.96 2.2-3.84 7.12-5.15 10.95-2.94 3.83 2.23 5.14 7.12 2.94 10.96\"\n                          style=\"transform: translate(100px, 100px);\"></path>\n                    <path class=\"iEGVWn\" stroke=\"#fff\" stroke-width=\"4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M63.55 27.5l32.9 19-32.9-19z\"></path>\n                    <path class=\"bsocdx\" stroke=\"#fff\" stroke-width=\"4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M96 46v38-38z\"></path>\n                    <path class=\"jAZXmP\" stroke=\"#fff\" stroke-width=\"4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M96.45 84.5l-32.9 19 32.9-19z\"></path>\n                    <path class=\"hSeArx\" stroke=\"#fff\" stroke-width=\"4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M64.45 103.5l-32.9-19 32.9 19z\"></path>\n                    <path class=\"bVgqGk\" stroke=\"#fff\" stroke-width=\"4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M32 84V46v38z\"></path>\n                    <path class=\"hEFqBt\" stroke=\"#fff\" stroke-width=\"4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M31.55 46.5l32.9-19-32.9 19z\"></path>\n                    <path class=\"dzEKCM\" id=\"Triangle-Bottom\" stroke=\"#fff\" stroke-width=\"4\" d=\"M30 84h70\" stroke-linecap=\"round\"></path>\n                    <path class=\"DYnPx\" id=\"Triangle-Left\" stroke=\"#fff\" stroke-width=\"4\" d=\"M65 26L30 87\" stroke-linecap=\"round\"></path>\n                    <path class=\"hjPEAQ\" id=\"Triangle-Right\" stroke=\"#fff\" stroke-width=\"4\" d=\"M98 87L63 26\" stroke-linecap=\"round\"></path>\n                </g>\n            </svg>\n            <div class=\"text\">Loading\n                <span class=\"dGfHfc\">GraphQL Playground</span>\n            </div>\n        </div>\n\n        <div id=\"root\"/>\n        <script type=\"text/javascript\">\n            function getCookie(name) {\n                var value = \"; \" + document.cookie;\n                var parts = value.split(\"; \" + name + \"=\");\n                if (parts.length == 2) return parts.pop().split(\";\").shift();\n            }\n\n            window.addEventListener(\"load\", function (event) {\n                const loadingWrapper = document.getElementById(\"loading-wrapper\");\n                loadingWrapper.classList.add(\"fadeOut\");\n\n                const root = document.getElementById(\"root\");\n                root.classList.add(\"playgroundIn\");\n\n                const url = new URL(window.location.href);\n                let query = url.searchParams.get(\"query\") ?? '';\n\n                let config = {\n                    endpoint: \"{{ graphQLUrl }}\",\n                    headers: {\n                        \"{{ tokenHeader }}\": url.searchParams.get(\"apikey\"),\n                        \"X-XSRF-TOKEN\": getCookie(\"XSRF-TOKEN\"),\n                    }\n                };\n\n                if (query) {\n                    query = decodeURIComponent(query);\n                    config.query = query;\n                    config = {\n                        tabs: [\n                            config\n                        ]\n                    };\n                }\n\n                GraphQLPlayground.init(root, config);\n            });\n\n            const observer = new MutationObserver((mutations) => {\n                mutations.forEach((mutation) => {\n                    if (mutation.removedNodes.length) {\n                        mutation.removedNodes.forEach((node) => {\n                            if (\n                                node.tagName === \"UL\" &&\n                                node.classList.contains(\"CodeMirror-hints\")\n                            ) {\n                                if (!node.parentElement && mutation.target.parentElement) {\n                                    mutation.target.parentElement.removeChild(mutation.target);\n                                }\n                            }\n                        });\n                    }\n                });\n            });\n            observer.observe(document.body, {\n                subtree: true,\n                childList: true,\n            });\n        </script>\n    </body>\n\n</html>\n"
  },
  {
    "path": "src/Schema/AddConfiguration.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Schema;\n\n/**\n * @internal\n */\nfinal readonly class AddConfiguration\n{\n    public function __construct(\n        private string $name,\n        private string $type,\n        private ?string $path = null,\n    ) {\n    }\n\n    public function getName(): string\n    {\n        return $this->name;\n    }\n\n    public function getType(): string\n    {\n        return $this->type;\n    }\n\n    public function getPath(): ?string\n    {\n        return $this->path;\n    }\n}\n"
  },
  {
    "path": "src/Schema/CloneConfiguration.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Schema;\n\n/**\n * @internal\n */\nfinal readonly class CloneConfiguration\n{\n    public function __construct(\n        private string $name,\n        private string $originalName,\n    ) {\n    }\n\n    public function getName(): string\n    {\n        return $this->name;\n    }\n\n    public function getOriginalName(): string\n    {\n        return $this->originalName;\n    }\n}\n"
  },
  {
    "path": "src/Schema/Configuration.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Schema;\n\nuse OpenApi\\Attributes\\Items;\nuse OpenApi\\Attributes\\Property;\nuse OpenApi\\Attributes\\Schema;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Util\\Schema\\AdditionalAttributesInterface;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Util\\Trait\\AdditionalAttributesTrait;\n\n/**\n * @internal\n */\n#[Schema(\n    schema: 'BundleDataHubConfiguration',\n    title: 'Bundle Data Hub Configuration',\n    required: [\n        'id', 'text', 'type', 'iconCls', 'expandable', 'leaf', 'adapter', 'writable', 'permissions',\n        'studioColumnConfig',\n        ],\n    type: 'object'\n)]\nfinal class Configuration implements AdditionalAttributesInterface\n{\n    use AdditionalAttributesTrait;\n\n    public function __construct(\n        #[Property(description: 'ID', type: 'string', example: 'assets')]\n        private readonly string $id,\n        #[Property(description: 'Text', type: 'string', example: 'assets')]\n        private readonly string $text,\n        #[Property(description: 'Type', type: 'string', example: 'config')]\n        private readonly string $type,\n        #[Property(description: 'iconCls', type: 'string', example: 'plugin_pimcore_datahub_icon_graphql')]\n        private readonly string $iconCls,\n        #[Property(description: 'Expandable', type: 'bool', example: 'false')]\n        private readonly bool $expandable,\n        #[Property(description: 'Leaf', type: 'bool', example: 'true')]\n        private readonly bool $leaf,\n        #[Property(description: 'Permissions', type: 'object', example: '{\"delete\": true, \"update\": true}')]\n        private readonly ?array $permissions = null,\n        #[Property(description: 'Allow children', type: 'bool', example: 'false')]\n        private readonly bool $allowChildren = false,\n        #[Property(description: 'Group', type: 'string', example: 'General Folder')]\n        private readonly ?string $group = null,\n        #[Property(description: 'Children', type: 'array', items: new Items(self::class))]\n        private readonly ?array $children = null,\n        #[Property(description: 'Adapter', type: 'string', example: 'graphql')]\n        private readonly ?string $adapter = null,\n        #[Property(description: 'Writable', type: 'bool', example: 'true')]\n        private readonly bool $writable = false,\n        #[Property(property: 'studioColumnConfig', description: 'Has Studio Column Configuration', type: 'bool', example: 'false')]\n        private readonly bool $hasStudioColumnConfig = false,\n    ) {\n    }\n\n    public function getId(): string\n    {\n        return $this->id;\n    }\n\n    public function getText(): string\n    {\n        return $this->text;\n    }\n\n    public function getType(): string\n    {\n        return $this->type;\n    }\n\n    public function getIconCls(): string\n    {\n        return $this->iconCls;\n    }\n\n    public function isExpandable(): bool\n    {\n        return $this->expandable;\n    }\n\n    public function isLeaf(): bool\n    {\n        return $this->leaf;\n    }\n\n    public function getAdapter(): ?string\n    {\n        return $this->adapter;\n    }\n\n    public function isWritable(): bool\n    {\n        return $this->writable;\n    }\n\n    public function hasStudioColumnConfig(): bool\n    {\n        return $this->hasStudioColumnConfig;\n    }\n\n    public function getPermissions(): ?array\n    {\n        return $this->permissions;\n    }\n\n    public function getChildren(): ?array\n    {\n        return $this->children;\n    }\n\n    public function getGroup(): ?string\n    {\n        return $this->group;\n    }\n\n    public function isAllowChildren(): bool\n    {\n        return $this->allowChildren;\n    }\n}\n"
  },
  {
    "path": "src/Schema/ConfigurationDetail.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Schema;\n\nuse OpenApi\\Attributes\\Items;\nuse OpenApi\\Attributes\\Property;\nuse OpenApi\\Attributes\\Schema;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Util\\Schema\\AdditionalAttributesInterface;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Util\\Trait\\AdditionalAttributesTrait;\n\n/**\n * @internal\n */\n#[Schema(\n    schema: 'BundleDataHubConfigurationDetail',\n    title: 'Bundle Data Hub Configuration Detail',\n    required: [\n        'name',\n        'configuration',\n        'userPermissions',\n        'supportedGraphQLQueryDataTypes',\n        'supportedGraphQLMutationDataTypes',\n        'modificationDate',\n    ],\n    type: 'object'\n)]\nfinal class ConfigurationDetail implements AdditionalAttributesInterface\n{\n    use AdditionalAttributesTrait;\n\n    public function __construct(\n        #[Property(description: 'Configuration name', type: 'string', example: 'assets')]\n        private string $name,\n        #[Property(description: 'Configuration data', type: 'object')]\n        private array $configuration,\n        #[Property(description: 'User permissions', type: 'object', example: ['update' => true, 'delete' => true])]\n        private array $userPermissions,\n        #[Property(\n            description: 'Supported GraphQL query data types',\n            type: 'array',\n            items: new Items(type: 'string'))\n        ]\n        private array $supportedGraphQLQueryDataTypes,\n        #[Property(\n            description: 'Supported GraphQL mutation data types',\n            type: 'array',\n            items: new Items(type: 'string'))\n        ]\n        private array $supportedGraphQLMutationDataTypes,\n        #[Property(description: 'Modification date timestamp', type: 'integer', example: 1705075200)]\n        private int $modificationDate,\n    ) {\n    }\n\n    public function getName(): string\n    {\n        return $this->name;\n    }\n\n    public function getConfiguration(): array\n    {\n        return $this->configuration;\n    }\n\n    public function getUserPermissions(): array\n    {\n        return $this->userPermissions;\n    }\n\n    public function getSupportedGraphQLQueryDataTypes(): array\n    {\n        return $this->supportedGraphQLQueryDataTypes;\n    }\n\n    public function getSupportedGraphQLMutationDataTypes(): array\n    {\n        return $this->supportedGraphQLMutationDataTypes;\n    }\n\n    public function getModificationDate(): int\n    {\n        return $this->modificationDate;\n    }\n}\n"
  },
  {
    "path": "src/Schema/PermissionUser.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Schema;\n\nuse OpenApi\\Attributes\\Property;\nuse OpenApi\\Attributes\\Schema;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Util\\Schema\\AdditionalAttributesInterface;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Util\\Trait\\AdditionalAttributesTrait;\n\n/**\n * @internal\n */\n#[Schema(\n    schema: 'BundleDataHubPermissionUser',\n    title: 'Bundle Data Hub Permission User',\n    required: ['id', 'text', 'elementType'],\n    type: 'object'\n)]\nfinal class PermissionUser implements AdditionalAttributesInterface\n{\n    use AdditionalAttributesTrait;\n\n    public function __construct(\n        #[Property(description: 'User or Role ID', type: 'integer', example: 42)]\n        private readonly int $id,\n        #[Property(description: 'User or Role name', type: 'string', example: 'admin')]\n        private readonly string $text,\n        #[Property(description: 'Element type', type: 'string', example: 'user')]\n        private readonly string $elementType,\n    ) {\n    }\n\n    public function getId(): int\n    {\n        return $this->id;\n    }\n\n    public function getText(): string\n    {\n        return $this->text;\n    }\n\n    public function getElementType(): string\n    {\n        return $this->elementType;\n    }\n}\n"
  },
  {
    "path": "src/Schema/Thumbnail.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Schema;\n\nuse OpenApi\\Attributes\\Property;\nuse OpenApi\\Attributes\\Schema;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Util\\Schema\\AdditionalAttributesInterface;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Util\\Trait\\AdditionalAttributesTrait;\n\n/**\n * @internal\n */\n#[Schema(\n    schema: 'BundleDataHubThumbnail',\n    title: 'Bundle Data Hub Thumbnail',\n    required: ['id', 'text'],\n    type: 'object'\n)]\nfinal class Thumbnail implements AdditionalAttributesInterface\n{\n    use AdditionalAttributesTrait;\n\n    public function __construct(\n        #[Property(description: 'Thumbnail ID', type: 'string', example: 'content')]\n        private readonly string $id,\n        #[Property(description: 'Thumbnail name', type: 'string', example: 'content')]\n        private readonly string $text,\n    ) {\n    }\n\n    public function getId(): string\n    {\n        return $this->id;\n    }\n\n    public function getText(): string\n    {\n        return $this->text;\n    }\n}\n"
  },
  {
    "path": "src/Schema/UpdateConfiguration.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Schema;\n\nuse JsonException;\nuse OpenApi\\Attributes\\Property;\nuse OpenApi\\Attributes\\Schema;\n\n/**\n * @internal\n */\n#[Schema(\n    schema: 'BundleDataHubUpdateConfiguration',\n    title: 'Bundle Data Hub Update Configuration',\n    required: ['data', 'modificationDate'],\n    type: 'object'\n)]\nfinal readonly class UpdateConfiguration\n{\n    public function __construct(\n        #[Property(\n            description: 'JSON-encoded configuration containing general, schema, security, workspaces, and permissions',\n            type: 'string',\n            example: '{\"general\":{\"active\":true,\"type\":\"GraphQL\",\"name\":\"assets\",\"description\":\"\",\"group\":\"GQL\"},\"schema\":{\"queryEntities\":[],\"mutationEntities\":[],\"specialEntities\":[]},\"security\":{\"method\":\"datahub_apikey\",\"apikey\":\"your-key\",\"skipPermissionCheck\":false,\"disableIntrospection\":false},\"workspaces\":{\"asset\":[],\"document\":[],\"object\":[]},\"permissions\":{\"user\":[],\"role\":[]}}'\n        )]\n        private string $data,\n        #[Property(\n            description: 'Client-side modification date timestamp for conflict detection',\n            type: 'integer',\n            example: 1768215191\n        )]\n        private int $modificationDate,\n    ) {\n    }\n\n    public function getData(): string\n    {\n        return $this->data;\n    }\n\n    /**\n     * @throws JsonException\n     */\n    public function getConfiguration(): array\n    {\n        return json_decode(\n            $this->data,\n            true,\n            512,\n            JSON_THROW_ON_ERROR\n        );\n    }\n\n    public function getModificationDate(): int\n    {\n        return $this->modificationDate;\n    }\n}\n"
  },
  {
    "path": "src/Schema/UpdateConfigurationResponse.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Schema;\n\nuse OpenApi\\Attributes\\Property;\nuse OpenApi\\Attributes\\Schema;\n\n/**\n * @internal\n */\n#[Schema(\n    schema: 'BundleDataHubUpdateConfigurationResponse',\n    title: 'Bundle Data Hub Update Configuration Response',\n    required: ['modificationDate'],\n    type: 'object'\n)]\nfinal readonly class UpdateConfigurationResponse\n{\n    public function __construct(\n        #[Property(description: 'New modification date timestamp', type: 'integer', example: 1705075200)]\n        private int $modificationDate,\n    ) {\n    }\n\n    public function getModificationDate(): int\n    {\n        return $this->modificationDate;\n    }\n}\n"
  },
  {
    "path": "src/Service/CheckConsumerPermissionsService.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Service;\n\nuse Pimcore\\Bundle\\DataHubBundle\\Configuration;\nuse Symfony\\Component\\HttpFoundation\\Request;\n\n/**\n * @internal\n */\nfinal class CheckConsumerPermissionsService\n{\n    public const TOKEN_HEADER = 'X-API-Key';\n\n    public function performSecurityCheck(Request $request, Configuration $configuration): bool\n    {\n        $securityConfig = $configuration->getSecurityConfig();\n        if ($securityConfig['method'] === Configuration::SECURITYCONFIG_AUTH_APIKEY) {\n            $apiKey = $request->headers->get('apikey');\n            if (empty($apiKey)) {\n                $apiKey = $request->headers->get(static::TOKEN_HEADER);\n            }\n            if (empty($apiKey)) {\n                $apiKey = $request->query->getString('apikey');\n            }\n            if (is_array($securityConfig['apikey'])) {\n                return in_array($apiKey, $securityConfig['apikey']);\n            } else {\n                return $apiKey === $securityConfig['apikey'];\n            }\n        }\n\n        return false;\n    }\n}\n"
  },
  {
    "path": "src/Service/FileUploadService.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Service;\n\nuse GraphQL\\Error\\InvariantViolation;\nuse GraphQL\\Server\\RequestError;\nuse Symfony\\Component\\HttpFoundation\\Request;\n\n/**\n * @internal\n */\nfinal class FileUploadService\n{\n    /**\n     *\n     *\n     * @throws RequestError\n     */\n    public function parseUploadedFiles(Request $request): array\n    {\n        $this->validateParsedBody($request);\n\n        $bodyParams = $request->request->all();\n\n        if (!isset($bodyParams['map'])) {\n            throw new RequestError('The request must define a `map`');\n        }\n\n        $map = json_decode($bodyParams['map'], true);\n        $result = json_decode($bodyParams['operations'], true);\n\n        foreach ($map as $fileKey => $locations) {\n            foreach ($locations as $location) {\n                $items = &$result;\n\n                foreach (explode('.', $location) as $key) {\n                    if (!isset($items[$key]) || !is_array($items[$key])) {\n                        $items[$key] = [];\n                    }\n\n                    $items = &$items[$key];\n                }\n\n                $items = $request->files->get($fileKey);\n            }\n        }\n\n        return $result;\n    }\n\n    /**\n     * Validates that the request meet our expectations\n     *\n     *\n     */\n    protected function validateParsedBody(Request $request): void\n    {\n        $bodyParams = $request->request->all();\n\n        if (empty($bodyParams)) {\n            throw new InvariantViolation(\n                'Request is expected to provide parsed body for \"multipart/form-data\" requests but got empty array'\n            );\n        }\n    }\n}\n"
  },
  {
    "path": "src/Service/OutputCacheService.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Service;\n\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\OutputCachePreLoadEvent;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\OutputCachePreSaveEvent;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\OutputCacheEvents;\nuse Pimcore\\Logger;\nuse Symfony\\Component\\DependencyInjection\\ParameterBag\\ContainerBagInterface;\nuse Symfony\\Component\\EventDispatcher\\EventDispatcherInterface;\nuse Symfony\\Component\\HttpFoundation\\JsonResponse;\nuse Symfony\\Component\\HttpFoundation\\Request;\n\nclass OutputCacheService implements OutputCacheServiceInterface\n{\n    /**\n     * @var bool\n     */\n    private $cacheEnabled = false;\n\n    /**\n     * The cached items lifetime in seconds\n     *\n     * @var int\n     */\n    private $lifetime = 30;\n\n    /**\n     * @var EventDispatcherInterface\n     */\n    public $eventDispatcher;\n\n    public function __construct(ContainerBagInterface $container, EventDispatcherInterface $eventDispatcher)\n    {\n        $this->eventDispatcher = $eventDispatcher;\n\n        $dataHubConfig = $container->get('pimcore_data_hub');\n        if (isset($dataHubConfig['graphql'])) {\n            if (isset($dataHubConfig['graphql']['output_cache_enabled'])) {\n                $this->cacheEnabled = filter_var($dataHubConfig['graphql']['output_cache_enabled'], FILTER_VALIDATE_BOOLEAN);\n            }\n\n            if (isset($dataHubConfig['graphql']['output_cache_lifetime'])) {\n                $this->lifetime = intval($dataHubConfig['graphql']['output_cache_lifetime']);\n            }\n        }\n    }\n\n    /**\n     *\n     * @return mixed\n     */\n    public function load(Request $request)\n    {\n        if (!$this->useCache($request)) {\n            return null;\n        }\n\n        $cacheKey = $this->computeKey($request);\n\n        return $this->loadFromCache($cacheKey);\n    }\n\n    /**\n     * @param array $extraTags\n     *\n     */\n    public function save(Request $request, JsonResponse $response, $extraTags = []): void\n    {\n        if ($this->useCache($request)) {\n            $clientname = $request->attributes->getString('clientname');\n            $extraTags = array_merge(['output', 'datahub', $clientname], $extraTags);\n\n            $cacheKey = $this->computeKey($request);\n\n            $event = new OutputCachePreSaveEvent($request, $response);\n            $this->eventDispatcher->dispatch($event, OutputCacheEvents::PRE_SAVE);\n\n            $this->saveToCache($cacheKey, $response, $extraTags);\n        }\n    }\n\n    /**\n     * @param string $key\n     *\n     * @return mixed\n     */\n    protected function loadFromCache($key)\n    {\n        Logger::debug('Loading from cache!');\n\n        return \\Pimcore\\Cache::load($key);\n    }\n\n    /**\n     * @param string $key\n     * @param mixed $item\n     * @param array $tags\n     *\n     */\n    protected function saveToCache($key, $item, $tags = []): void\n    {\n        $ret = \\Pimcore\\Cache::save($item, $key, $tags, $this->lifetime);\n        Logger::debug('Saved to cache! Ret: ' . print_r($ret, true));\n    }\n\n    private function computeKey(Request $request): string\n    {\n        $clientname = $request->attributes->getString('clientname');\n\n        $input = json_decode($request->getContent(), true);\n        $input = print_r($input, true);\n\n        return md5('output_' . $clientname . $input);\n    }\n\n    private function useCache(Request $request): bool\n    {\n        if (!$this->cacheEnabled) {\n            Logger::debug('Output cache is disabled');\n\n            return false;\n        }\n\n        if (\\Pimcore::inDebugMode()) {\n            $disableCacheForSingleRequest = filter_var($request->query->get('pimcore_nocache', 'false'), FILTER_VALIDATE_BOOLEAN)\n            || filter_var($request->query->get('pimcore_outputfilters_disabled', 'false'), FILTER_VALIDATE_BOOLEAN);\n\n            if ($disableCacheForSingleRequest) {\n                Logger::debug('Output cache is disabled for this request');\n\n                return false;\n            }\n        }\n\n        // So far, cache will be used, unless the listener denies it\n        $event = new OutputCachePreLoadEvent($request, true);\n        $this->eventDispatcher->dispatch($event, OutputCacheEvents::PRE_LOAD);\n\n        return $event->isUseCache();\n    }\n}\n"
  },
  {
    "path": "src/Service/OutputCacheServiceInterface.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Service;\n\nuse Symfony\\Component\\HttpFoundation\\JsonResponse;\nuse Symfony\\Component\\HttpFoundation\\Request;\n\n/** @internal  */\ninterface OutputCacheServiceInterface\n{\n    public function load(Request $request);\n\n    public function save(Request $request, JsonResponse $response, $extraTags = []): void;\n}\n"
  },
  {
    "path": "src/Service/ResponseService.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Service;\n\nuse Symfony\\Component\\HttpFoundation\\JsonResponse;\n\n/** @internal */\nfinal class ResponseService implements ResponseServiceInterface\n{\n    /**\n     * Removes CORS headers including Access-Control-Allow-Origin that should not be cached.\n     */\n    public function removeCorsHeaders(JsonResponse $response): void\n    {\n        $response->headers->remove('Access-Control-Allow-Origin');\n        $response->headers->remove('Access-Control-Allow-Credentials');\n        $response->headers->remove('Access-Control-Allow-Methods');\n        $response->headers->remove('Access-Control-Allow-Headers');\n    }\n\n    public function addCorsHeaders(JsonResponse $response): void\n    {\n        $origin = '*';\n        if (!empty($_SERVER['HTTP_ORIGIN'])) {\n            $origin = $_SERVER['HTTP_ORIGIN'];\n        }\n\n        $response->headers->set('Access-Control-Allow-Origin', $origin);\n        $response->headers->set('Access-Control-Allow-Credentials', 'true');\n        $response->headers->set('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');\n        $response->headers->set('Access-Control-Allow-Headers', 'Origin, Content-Type, X-Auth-Token');\n    }\n}\n"
  },
  {
    "path": "src/Service/ResponseServiceInterface.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Service;\n\nuse Symfony\\Component\\HttpFoundation\\JsonResponse;\n\n/** @internal  */\ninterface ResponseServiceInterface\n{\n    public function removeCorsHeaders(JsonResponse $response): void;\n\n    public function addCorsHeaders(JsonResponse $response): void;\n}\n"
  },
  {
    "path": "src/Service/Studio/ConfigurationService.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Service\\Studio;\n\nuse Exception;\nuse Pimcore\\Bundle\\DataHubBundle\\ConfigEvents;\nuse Pimcore\\Bundle\\DataHubBundle\\Configuration;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\AdminEvents;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\Config\\SpecialEntitiesEvent;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\Studio\\PreResponse\\ConfigurationDetailEvent;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\Studio\\PreResponse\\ConfigurationEvent;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Bundle\\DataHubBundle\\Hydrator\\ConfigurationDehydratorInterface;\nuse Pimcore\\Bundle\\DataHubBundle\\Hydrator\\ConfigurationDetailHydratorInterface;\nuse Pimcore\\Bundle\\DataHubBundle\\Hydrator\\ConfigurationHydratorInterface;\nuse Pimcore\\Bundle\\DataHubBundle\\Model\\SpecialEntitySetting;\nuse Pimcore\\Bundle\\DataHubBundle\\Schema\\Configuration as HydratedConfiguration;\nuse Pimcore\\Bundle\\DataHubBundle\\Schema\\ConfigurationDetail;\nuse Pimcore\\Bundle\\DataHubBundle\\Utils\\Constants\\PermissionConstants;\nuse Pimcore\\Bundle\\DataHubBundle\\WorkspaceHelper;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Exception\\Api\\ElementExistsException;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Exception\\Api\\ForbiddenException;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Exception\\Api\\NotWriteableException;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Exception\\Api\\ValidationFailedException;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Security\\Service\\SecurityServiceInterface;\nuse Symfony\\Component\\DependencyInjection\\ParameterBag\\ContainerBagInterface;\nuse Symfony\\Component\\EventDispatcher\\EventDispatcherInterface;\nuse Symfony\\Component\\EventDispatcher\\GenericEvent;\nuse Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException;\n\n/** @internal */\nfinal readonly class ConfigurationService implements ConfigurationServiceInterface\n{\n    private const array REQUIRED_CREATE_PERMISSIONS = [\n        PermissionConstants::PLUGIN_DATA_HUB_CONFIG,\n        PermissionConstants::PLUGIN_DATA_HUB_ADMIN,\n    ];\n\n    private const array REQUIRED_READ_UPDATE_PERMISSIONS = [\n        PermissionConstants::PLUGIN_DATA_HUB_PERMISSION_READ,\n        PermissionConstants::PLUGIN_DATA_HUB_PERMISSION_UPDATE,\n    ];\n\n    public function __construct(\n        private EventDispatcherInterface $eventDispatcher,\n        private ConfigurationHydratorInterface $configurationHydrator,\n        private ConfigurationDetailHydratorInterface $configurationDetailHydrator,\n        private ConfigurationDehydratorInterface $configurationDehydrator,\n        private Service $graphQlService,\n        private SecurityServiceInterface $securityService,\n        private ContainerBagInterface $parameterBag\n    ) {\n    }\n\n    public function getConfigurations(): array\n    {\n        $hydratedConfigs = [];\n        $configs = $this->resolveConfigurationList(Configuration::getList());\n\n        foreach ($configs as $config) {\n            if (\n                !$config instanceof Configuration ||\n                !$config->isAllowed(PermissionConstants::PLUGIN_DATA_HUB_PERMISSION_READ)\n            ) {\n                continue;\n            }\n\n            $group = $config->getGroup();\n            $hydratedGroupItem = $group && isset($hydratedConfigs[$group]) ? $hydratedConfigs[$group] : null;\n\n            $hydratedItem = $this->configurationHydrator->hydrate(\n                $config,\n                $group,\n                $hydratedGroupItem?->getChildren() ?? []\n            );\n\n            $this->eventDispatcher->dispatch(\n                new ConfigurationEvent($hydratedItem),\n                ConfigurationEvent::EVENT_NAME\n            );\n\n            $this->addHydratedConfiguration(\n                $hydratedConfigs,\n                $hydratedItem,\n                $group\n            );\n        }\n\n        return array_values($hydratedConfigs);\n    }\n\n    public function getConfiguration(string $name): ConfigurationDetail\n    {\n        $configuration = $this->fetchConfiguration($name);\n        $config = $this->normalizeConfigurationSchema($configuration->getConfiguration());\n        $config = $this->processSpecialEntities($config);\n\n        $configuration->setConfiguration($config);\n\n        $supportedQueryDataTypes = $this->graphQlService->getSupportedDataObjectQueryDataTypes();\n        $supportedMutationDataTypes = $this->graphQlService->getSupportedDataObjectMutationDataTypes();\n\n        $hydratedDetail = $this->configurationDetailHydrator->hydrate(\n            $configuration,\n            $supportedQueryDataTypes,\n            $supportedMutationDataTypes\n        );\n\n        $this->eventDispatcher->dispatch(\n            new ConfigurationDetailEvent($hydratedDetail),\n            ConfigurationDetailEvent::EVENT_NAME\n        );\n\n        return $hydratedDetail;\n    }\n\n    public function addConfiguration(string $name, string $type, string $path): string\n    {\n        $this->ensureConfigurationsAreWriteable(\n            PermissionConstants::PLUGIN_DATA_HUB_PERMISSION_CREATE,\n            'Cannot create configuration as configurations are not writeable.'\n        );\n\n        $this->checkUserPermission(self::REQUIRED_CREATE_PERMISSIONS);\n\n        $this->ensureConfigDoesNotExist($name);\n\n        $config = new Configuration($type, $path, $name);\n        $config->save();\n\n        return $name;\n    }\n\n    public function deleteConfiguration(string $name): void\n    {\n        $config = $this->fetchConfiguration($name);\n\n        $this->ensureConfigurationIsWriteable(\n            $config,\n            PermissionConstants::PLUGIN_DATA_HUB_PERMISSION_DELETE,\n            'Cannot delete configuration \"' . $name . '\" as it is not writeable.'\n        );\n\n        $this->checkConfigPermission($config, PermissionConstants::PLUGIN_DATA_HUB_PERMISSION_DELETE);\n\n        WorkspaceHelper::deleteConfiguration($config);\n        $config->delete();\n    }\n\n    public function cloneConfiguration(string $name, string $originalName): string\n    {\n        $this->ensureConfigurationsAreWriteable(\n            PermissionConstants::PLUGIN_DATA_HUB_PERMISSION_CREATE,\n            'Cannot clone configuration as configurations are not writeable.'\n        );\n\n        $this->checkUserPermission(self::REQUIRED_CREATE_PERMISSIONS);\n\n        $this->ensureConfigDoesNotExist($name);\n        $originalConfig = $this->fetchConfiguration($originalName);\n\n        $this->checkConfigPermission($originalConfig, PermissionConstants::PLUGIN_DATA_HUB_PERMISSION_READ);\n        $this->checkUserPermission(\n            [\n                PermissionConstants::PLUGIN_DATA_HUB_ADMIN,\n                PermissionConstants::PLUGIN_DATA_HUB_ADAPTER_PREFIX . $originalConfig->getType(),\n            ]\n        );\n\n        $clonedConfig = new Configuration(\n            $originalConfig->getType(),\n            $originalConfig->getPath(),\n            $name,\n            $originalConfig->getConfiguration()\n        );\n\n        $clonedConfig->save();\n\n        return $name;\n    }\n\n    public function importConfiguration(string $json): array\n    {\n        $this->ensureConfigurationsAreWriteable(\n            PermissionConstants::PLUGIN_DATA_HUB_PERMISSION_CREATE,\n            'Cannot import configuration as configurations are not writeable.'\n        );\n\n        $this->checkUserPermission(self::REQUIRED_CREATE_PERMISSIONS);\n\n        $importData = json_decode($json, true, 512, JSON_THROW_ON_ERROR);\n        $this->validateUploadedConfigurationData($importData);\n\n        $this->checkUserPermission(\n            [\n                PermissionConstants::PLUGIN_DATA_HUB_ADMIN,\n                PermissionConstants::PLUGIN_DATA_HUB_ADAPTER_PREFIX . $importData['type'],\n            ]\n        );\n\n        $configuration = new Configuration(\n            $importData['type'],\n            $importData['path'],\n            $importData['name']\n        );\n        $configuration->setModificationDate(time());\n        $configuration->setConfiguration($importData['configuration']);\n        $configuration->save();\n\n        return [\n            'success' => true,\n            'type' => $configuration->getType(),\n            'name' => $configuration->getName(),\n        ];\n    }\n\n    public function exportConfiguration(string $name): array\n    {\n        $configuration = $this->fetchConfiguration($name);\n\n        $exportData = clone $configuration;\n        $data = json_decode(\n            json_encode($exportData, JSON_THROW_ON_ERROR),\n            false,\n            512,\n            JSON_THROW_ON_ERROR\n        );\n\n        unset(\n            $data->configuration->general->modificationDate,\n            $data->configuration->general->createDate,\n        );\n\n        $json = json_encode($data, JSON_THROW_ON_ERROR | JSON_PRETTY_PRINT);\n        $filename = sprintf(\n            'datahub_%s_%s_export.json',\n            $configuration->getType(),\n            $configuration->getName()\n        );\n\n        return [\n            'json' => $json,\n            'filename' => $filename,\n        ];\n    }\n\n    public function updateConfiguration(string $name, array $configuration, int $clientModificationDate): int\n    {\n        $config = $this->fetchConfiguration($name);\n\n        $this->ensureConfigurationIsWriteable(\n            $config,\n            PermissionConstants::PLUGIN_DATA_HUB_PERMISSION_UPDATE,\n            'Cannot update configuration \"' . $name . '\" as it is not writeable.'\n        );\n\n        $this->checkConfigPermission($config, self::REQUIRED_READ_UPDATE_PERMISSIONS);\n\n        $currentConfiguration = $config->getConfiguration();\n        $savedModificationDate = 0;\n\n        if ($currentConfiguration && isset($currentConfiguration['general']['modificationDate'])) {\n            $savedModificationDate = $currentConfiguration['general']['modificationDate'];\n        }\n\n        if ($clientModificationDate < $savedModificationDate) {\n            throw new ValidationFailedException(\n                'The configuration was modified during editing, please reload the configuration and make your changes again'\n            );\n        }\n\n        $configuration = $this->configurationDehydrator->dehydrate($configuration);\n        $this->validateApiKeys($configuration);\n        $configuration['general']['modificationDate'] = time();\n\n        $config->setConfiguration($configuration);\n        $config->save();\n\n        return $configuration['general']['modificationDate'];\n    }\n\n    private function checkConfigPermission(\n        Configuration $configuration,\n        array|string $permission\n    ): void {\n        $permissions = is_array($permission) ? $permission : [$permission];\n\n        foreach ($permissions as $perm) {\n            if (!$configuration->isAllowed($perm)) {\n                throw new ForbiddenException('Permission denied: ' . $perm);\n            }\n        }\n    }\n\n    /**\n     * @throws ValidationFailedException\n     */\n    private function validateApiKeys(array $configuration): void\n    {\n        $isActive = $configuration['general']['active'] ?? false;\n        $securityMethod = $configuration['security']['method'] ?? null;\n\n        if (!$isActive || $securityMethod !== 'datahub_apikey') {\n            return;\n        }\n\n        $apiKeys = $configuration['security']['apikey'] ?? [];\n\n        if (!is_array($apiKeys)) {\n            $apiKeys = [];\n        }\n\n        if (count($apiKeys) === 0) {\n            throw new ValidationFailedException(\n                message: 'At least one API key must be provided when the endpoint is active.',\n                errorKey: 'data-hub.api-key-validation-failed'\n            );\n        }\n\n        foreach ($apiKeys as $apiKey) {\n            $trimmedKey = trim($apiKey);\n            if (mb_strlen($trimmedKey) < 16) {\n                throw new ValidationFailedException(\n                    message: sprintf(\n                        'API key \"%s\" does not satisfy the minimum length of 16 characters.',\n                        $trimmedKey\n                    ),\n                    errorKey: 'data-hub.api-key-validation-failed'\n                );\n            }\n        }\n    }\n\n    /**\n     * Ensures that a specific configuration instance is writeable\n     *\n     * @throws NotWriteableException\n     */\n    private function ensureConfigurationIsWriteable(\n        Configuration $configuration,\n        string $permission,\n        string $message\n    ): void {\n        if ($configuration->isWriteable() === false) {\n            throw new NotWriteableException($permission, $message);\n        }\n    }\n\n    /**\n     * Ensures that configurations in general are writeable (for create operations)\n     *\n     * @throws NotWriteableException\n     */\n    private function ensureConfigurationsAreWriteable(\n        string $permission,\n        string $message\n    ): void {\n        if ((new Configuration(null, null))->isWriteable() === false) {\n            throw new NotWriteableException($permission, $message);\n        }\n    }\n\n    private function fetchConfiguration(string $name): Configuration\n    {\n        $configuration = Configuration::getByName($name);\n\n        if (!$configuration instanceof Configuration) {\n            throw new NotFoundHttpException('Datahub configuration ' . $name . ' does not exist.');\n        }\n\n        $this->checkConfigPermission($configuration, PermissionConstants::PLUGIN_DATA_HUB_PERMISSION_READ);\n\n        return $configuration;\n    }\n\n    private function ensureConfigDoesNotExist(string $name): void\n    {\n        $configuration = Configuration::getByName($name);\n        if ($configuration instanceof Configuration) {\n            throw new ElementExistsException(\n                message: 'Configuration with name \"' . $name . '\" already exists.',\n                errorKey: 'data-hub.config-exists'\n            );\n        }\n    }\n\n    private function normalizeConfigurationSchema(array $config): array\n    {\n        $config['schema']['queryEntities'] = array_values($config['schema']['queryEntities'] ?? []);\n        $config['schema']['mutationEntities'] = array_values($config['schema']['mutationEntities'] ?? []);\n        $config['schema']['specialEntities'] = $config['schema']['specialEntities'] ?? [];\n\n        return $config;\n    }\n\n    private function processSpecialEntities(array $config): array\n    {\n        $coreSettings = $this->buildCoreSpecialEntitySettings($config['schema']['specialEntities']);\n        $specialSettingsEvent = new SpecialEntitiesEvent($coreSettings, $config);\n        $this->eventDispatcher->dispatch($specialSettingsEvent, ConfigEvents::SPECIAL_ENTITIES);\n\n        $config['schema']['specialEntities'] = $specialSettingsEvent->getSpecialSettings();\n\n        return $config;\n    }\n\n    /**\n     * @return SpecialEntitySetting[]\n     */\n    private function buildCoreSpecialEntitySettings(array $specialEntities): array\n    {\n        return [\n            $this->createSpecialEntitySetting('document', true, true, true, true, $specialEntities),\n            $this->createSpecialEntitySetting('document_folder', true, false, false, true, $specialEntities),\n            $this->createSpecialEntitySetting('asset', true, true, true, true, $specialEntities),\n            $this->createSpecialEntitySetting('asset_folder', true, true, true, true, $specialEntities),\n            $this->createSpecialEntitySetting('asset_listing', true, true, true, true, $specialEntities),\n            $this->createSpecialEntitySetting('object_folder', true, true, true, true, $specialEntities),\n            $this->createTranslationSpecialEntitySetting('translation', $specialEntities),\n            $this->createTranslationSpecialEntitySetting('translation_listing', $specialEntities),\n        ];\n    }\n\n    private function createSpecialEntitySetting(\n        string $name,\n        bool $read,\n        bool $create,\n        bool $update,\n        bool $delete,\n        array $specialEntities\n    ): SpecialEntitySetting {\n        return new SpecialEntitySetting(\n            $name,\n            $read,\n            $create,\n            $update,\n            $delete,\n            $specialEntities[$name]['read'] ?? false,\n            $specialEntities[$name]['create'] ?? false,\n            $specialEntities[$name]['update'] ?? false,\n            $specialEntities[$name]['delete'] ?? false\n        );\n    }\n\n    private function createTranslationSpecialEntitySetting(\n        string $name,\n        array $specialEntities\n    ): SpecialEntitySetting {\n        return new SpecialEntitySetting(\n            $name,\n            true,\n            false,\n            false,\n            false,\n            $specialEntities['translation_listing']['read'] ?? false,\n            $specialEntities['translation_listing']['create'] ?? false,\n            $specialEntities['translation_listing']['update'] ?? false,\n            $specialEntities['translation_listing']['delete'] ?? false\n        );\n    }\n\n    private function resolveConfigurationList(array $configs): iterable\n    {\n        $event = new GenericEvent($this, ['list' => $configs]);\n        $this->eventDispatcher->dispatch($event, AdminEvents::CONFIGURATION_LIST);\n\n        return $event->getArgument('list');\n    }\n\n    private function addHydratedConfiguration(\n        array &$hydratedConfigs,\n        HydratedConfiguration $hydratedItem,\n        ?string $group\n    ): void {\n        if ($group) {\n            $hydratedConfigs[$group] = $hydratedItem;\n\n            return;\n        }\n\n        $hydratedConfigs[] = $hydratedItem;\n    }\n\n    private function checkUserPermission(array|string $permission): void\n    {\n        $user = $this->securityService->getCurrentUser();\n        $permissions = is_array($permission) ? $permission : [$permission];\n\n        foreach ($permissions as $perm) {\n            if (!$user->isAllowed($perm)) {\n                throw new ForbiddenException('Permission denied: ' . $perm);\n            }\n        }\n    }\n\n    private function isBundleInstalled(?string $type): bool\n    {\n        try {\n            $registeredBundles = $this->parameterBag->get('pimcore_data_hub');\n        } catch (Exception) {\n            return false;\n        }\n\n        return array_key_exists($type, $registeredBundles['supported_types']);\n    }\n\n    private function validateUploadedConfigurationData(array $importData): void\n    {\n        $type = $importData['type'] ?? null;\n        $name = $importData['name'] ?? null;\n\n        if (!isset($type, $importData['path'], $name)) {\n            throw new ValidationFailedException(\n                message: 'Uploaded configuration data is invalid. Missing keys: type, path, name.',\n                errorKey: 'data-hub.import-config-invalid'\n            );\n        }\n\n        $this->ensureConfigDoesNotExist($name);\n\n        if (!$this->isBundleInstalled($type)) {\n            throw new ValidationFailedException(sprintf(\n                'Cannot handle type \"%s\". According bundle is not installed!',\n                $type\n            ));\n        }\n    }\n}\n"
  },
  {
    "path": "src/Service/Studio/ConfigurationServiceInterface.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Service\\Studio;\n\nuse Exception;\nuse Pimcore\\Bundle\\DataHubBundle\\Schema\\Configuration;\nuse Pimcore\\Bundle\\DataHubBundle\\Schema\\ConfigurationDetail;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Exception\\Api\\ValidationFailedException;\n\n/** @internal  */\ninterface ConfigurationServiceInterface\n{\n    /**\n     * @return Configuration[]\n     */\n    public function getConfigurations(): array;\n\n    /**\n     * @throws Exception\n     */\n    public function deleteConfiguration(string $name): void;\n\n    /**\n     * @throws Exception\n     */\n    public function addConfiguration(string $name, string $type, string $path): string;\n\n    /**\n     * @throws Exception\n     */\n    public function getConfiguration(string $name): ConfigurationDetail;\n\n    /**\n     * @throws Exception\n     */\n    public function cloneConfiguration(string $name, string $originalName): string;\n\n    /**\n     * @throws Exception\n     */\n    public function importConfiguration(string $json): array;\n\n    /**\n     * @throws Exception\n     */\n    public function exportConfiguration(string $name): array;\n\n    /**\n     * @throws Exception\n     * @throws ValidationFailedException\n     */\n    public function updateConfiguration(string $name, array $configuration, int $clientModificationDate): int;\n}\n"
  },
  {
    "path": "src/Service/Studio/GraphQLExplorerService.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Service\\Studio;\n\nuse Pimcore\\Bundle\\DataHubBundle\\Service\\CheckConsumerPermissionsService;\nuse Pimcore\\Bundle\\StudioBackendBundle\\Util\\Constant\\HttpResponseCodes;\nuse RuntimeException;\nuse Symfony\\Component\\HttpFoundation\\Response;\nuse Symfony\\Component\\Routing\\RouterInterface;\nuse Twig\\Environment;\nuse Twig\\Error\\LoaderError;\nuse Twig\\Error\\RuntimeError;\nuse Twig\\Error\\SyntaxError;\n\n/**\n * @internal\n */\nfinal readonly class GraphQLExplorerService implements GraphQLExplorerServiceInterface\n{\n    public function __construct(\n        private RouterInterface $routingService,\n        private Environment $twig\n    ) {\n    }\n\n    public function getExplorerUrl(string $clientname): string\n    {\n        return $this->routingService->generate(\n            'admin_pimcoredatahub_config', ['clientname' => $clientname]\n        );\n    }\n\n    public function generateExplorerResponse(string $clientname, array $urlParams = []): Response\n    {\n        $graphQLUrl = $this->generateGraphQLUrl($clientname, $urlParams);\n        $content = $this->renderExplorerTemplate($graphQLUrl);\n\n        return $this->createCachedResponse($content);\n    }\n\n    /**\n     * @param array<string, mixed> $urlParams\n     *\n     * @throws RuntimeException If the GraphQL endpoint URL cannot be resolved\n     */\n    private function generateGraphQLUrl(string $clientname, array $urlParams): string\n    {\n        $url = $this->routingService->generate('admin_pimcoredatahub_webservice', [\n            'clientname' => $clientname,\n        ]);\n\n        if ($urlParams !== []) {\n            $url .= '?' . http_build_query($urlParams);\n        }\n\n        return $url;\n    }\n\n    /**\n     * @throws LoaderError\n     * @throws RuntimeError\n     * @throws SyntaxError\n     */\n    private function renderExplorerTemplate(string $graphQLUrl): string\n    {\n        return $this->twig->render('@PimcoreDataHub/Feature/explorer.html.twig', [\n            'graphQLUrl' => $graphQLUrl,\n            'tokenHeader' => CheckConsumerPermissionsService::TOKEN_HEADER,\n        ]);\n    }\n\n    private function createCachedResponse(string $content): Response\n    {\n        $response = new Response($content, HttpResponseCodes::SUCCESS->value, [\n            'Content-Type' => 'text/html',\n        ]);\n\n        $response->setPublic();\n        $response->setExpires(new \\DateTime('tomorrow'));\n\n        return $response;\n    }\n}\n"
  },
  {
    "path": "src/Service/Studio/GraphQLExplorerServiceInterface.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Service\\Studio;\n\nuse Symfony\\Component\\HttpFoundation\\Response;\nuse Twig\\Error\\LoaderError;\nuse Twig\\Error\\RuntimeError;\nuse Twig\\Error\\SyntaxError;\n\n/** @internal  */\ninterface GraphQLExplorerServiceInterface\n{\n    /**\n     * @throws SyntaxError\n     * @throws RuntimeError\n     * @throws LoaderError\n     */\n    public function generateExplorerResponse(string $clientname, array $urlParams = []): Response;\n\n    public function getExplorerUrl(string $clientname): string;\n}\n"
  },
  {
    "path": "src/Service/Studio/ThumbnailService.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Service\\Studio;\n\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\Studio\\PreResponse\\ThumbnailEvent;\nuse Pimcore\\Bundle\\DataHubBundle\\Hydrator\\ThumbnailHydratorInterface;\nuse Pimcore\\Model\\Asset\\Image\\Thumbnail\\Config;\nuse Symfony\\Component\\EventDispatcher\\EventDispatcherInterface;\n\n/** @internal */\nfinal readonly class ThumbnailService implements ThumbnailServiceInterface\n{\n    public function __construct(\n        private ThumbnailHydratorInterface $thumbnailHydrator,\n        private EventDispatcherInterface $eventDispatcher\n    ) {\n    }\n\n    public function getThumbnails(): array\n    {\n        $list = new Config\\Listing();\n        $items = $list->load();\n\n        $thumbnails = [];\n        foreach ($items as $item) {\n            $hydratedThumbnail = $this->thumbnailHydrator->hydrate($item);\n\n            $this->eventDispatcher->dispatch(\n                new ThumbnailEvent($hydratedThumbnail),\n                ThumbnailEvent::EVENT_NAME\n            );\n\n            $thumbnails[] = $hydratedThumbnail;\n        }\n\n        return $thumbnails;\n    }\n}\n"
  },
  {
    "path": "src/Service/Studio/ThumbnailServiceInterface.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Service\\Studio;\n\nuse Pimcore\\Bundle\\DataHubBundle\\Schema\\Thumbnail;\n\n/**\n * @internal\n */\ninterface ThumbnailServiceInterface\n{\n    /**\n     * @return array<int, Thumbnail>\n     */\n    public function getThumbnails(): array;\n}\n"
  },
  {
    "path": "src/Service/Studio/UserService.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Service\\Studio;\n\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\Studio\\PreResponse\\PermissionUserEvent;\nuse Pimcore\\Bundle\\DataHubBundle\\Hydrator\\PermissionUserHydratorInterface;\nuse Pimcore\\Model\\User;\nuse Symfony\\Component\\EventDispatcher\\EventDispatcherInterface;\n\n/** @internal */\nfinal readonly class UserService implements UserServiceInterface\n{\n    public function __construct(\n        private PermissionUserHydratorInterface $permissionUserHydrator,\n        private EventDispatcherInterface $eventDispatcher\n    ) {\n    }\n\n    public function getUsers(string $type): array\n    {\n        $list = new User\\Listing();\n        if ($type === 'role') {\n            $list = new User\\Role\\Listing();\n        }\n\n        $list->setCondition('type = ? AND id != 1', [$type]);\n        $list->setOrder('ASC');\n        $list->setOrderKey('name');\n\n        $users = [];\n        foreach ($list->getItems() as $user) {\n            if ($user->getId() && $user->getName() !== 'system') {\n                $hydratedUser = $this->permissionUserHydrator->hydrate($user, $type);\n\n                $this->eventDispatcher->dispatch(\n                    new PermissionUserEvent($hydratedUser),\n                    PermissionUserEvent::EVENT_NAME\n                );\n\n                $users[] = $hydratedUser;\n            }\n        }\n\n        return $users;\n    }\n}\n"
  },
  {
    "path": "src/Service/Studio/UserServiceInterface.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Service\\Studio;\n\nuse Pimcore\\Bundle\\DataHubBundle\\Schema\\PermissionUser;\n\n/** @internal  */\ninterface UserServiceInterface\n{\n    /**\n     * @return PermissionUser[]\n     */\n    public function getUsers(string $type): array;\n}\n"
  },
  {
    "path": "src/Utils/Constants/PermissionConstants.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Utils\\Constants;\n\n/**\n * @internal\n */\nclass PermissionConstants\n{\n    public const string PLUGIN_DATA_HUB_CONFIG = 'plugin_datahub_config';\n\n    public const string PLUGIN_DATA_HUB_ADMIN = 'plugin_datahub_admin';\n\n    public const string PLUGIN_DATA_HUB_ADAPTER_PREFIX = 'plugin_datahub_adapter_';\n\n    public const string PLUGIN_DATA_HUB_PERMISSION_READ = 'read';\n\n    public const string PLUGIN_DATA_HUB_PERMISSION_DELETE = 'delete';\n\n    public const string PLUGIN_DATA_HUB_PERMISSION_UPDATE = 'update';\n\n    public const string PLUGIN_DATA_HUB_PERMISSION_CREATE = 'create';\n}\n"
  },
  {
    "path": "src/Webpack/WebpackEntryPointProvider.php",
    "content": "<?php\ndeclare(strict_types=1);\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Webpack;\n\nuse Pimcore\\Bundle\\StudioUiBundle\\Webpack\\WebpackEntryPointProviderInterface;\n\n/**\n * @internal\n */\nif (interface_exists(WebpackEntryPointProviderInterface::class)) {\n    final class WebpackEntryPointProvider implements WebpackEntryPointProviderInterface\n    {\n        public function getEntryPointsJsonLocations(): array\n        {\n            return glob(__DIR__ . '/../../src/Resources/public/studio/build/*/entrypoints.json');\n        }\n\n        public function getEntryPoints(): array\n        {\n            return ['exposeRemote'];\n        }\n\n        public function getOptionalEntryPoints(): array\n        {\n            return [];\n        }\n    }\n}\n"
  },
  {
    "path": "src/WorkspaceHelper.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle;\n\nuse Pimcore\\Bundle\\DataHubBundle\\Configuration\\Workspace\\Dao;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\Model\\PermissionEvent;\nuse Pimcore\\Bundle\\DataHubBundle\\Event\\GraphQL\\PermissionEvents;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Exception\\ClientSafeException;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Exception\\NotAllowedException;\nuse Pimcore\\Cache;\nuse Pimcore\\Cache\\RuntimeCache;\nuse Pimcore\\Db;\nuse Pimcore\\Model\\DataObject\\OwnerAwareFieldInterface;\nuse Pimcore\\Model\\Element\\ElementInterface;\nuse Pimcore\\Model\\Element\\Service;\nuse Symfony\\Component\\EventDispatcher\\EventDispatcher;\n\nfinal class WorkspaceHelper\n{\n    const MODIFY_SPACE_OBJECT = 'object';\n\n    const MODIFY_SPACE_ASSET = 'asset';\n\n    const MODIFY_SPACE_DOCUMENT = 'document';\n\n    const MODIFY_TYPE_REPLACE = 'replace';\n\n    const MODIFY_TYPE_DELETE = 'delete';\n\n    /**\n     *\n     * @return array\n     */\n    public static function cleanupWorkspaces(array $workspaces)\n    {\n        foreach ($workspaces as $type => &$spaces) {\n            if (!is_array($spaces)) {\n                continue;\n            }\n\n            foreach ($spaces as $spaceIndex => $space) {\n                $element = Service::getElementByPath($type, $space['cpath']);\n                if ($element instanceof ElementInterface) {\n                    continue;\n                }\n\n                unset($spaces[$spaceIndex]);\n            }\n\n            $spaces = array_values($spaces); // reset array keys\n        }\n\n        return $workspaces;\n    }\n\n    /**\n     * @param string        $spaceType\n     * @param string        $modificationType\n     * @param string        $searchValue\n     * @param string|null   $replaceValue\n     *\n     * @return Configuration|void\n     */\n    public static function modifyWorkspaceRowByType(Configuration $configurationEntity, $spaceType, $modificationType, $searchValue, $replaceValue)\n    {\n        $changed = false;\n\n        $configuration = $configurationEntity->getConfiguration();\n        if (!isset($configuration['workspaces']) || !is_array($configuration['workspaces'])) {\n            return;\n        }\n\n        $workspaces = $configuration['workspaces'];\n        if (!isset($workspaces[$spaceType])) {\n            return;\n        }\n\n        $spaces = $workspaces[$spaceType];\n        if (!is_array($spaces)) {\n            return;\n        }\n\n        foreach ($spaces as $spaceIndex => &$space) {\n            if (!isset($space['cpath'])) {\n                continue;\n            }\n\n            $cPath = $space['cpath'];\n            $cTrailingPath = sprintf('%s/', $space['cpath']);\n            $cTrailingSearchValue = sprintf('%s/', $searchValue);\n            $cTrailingReplaceValue = sprintf('%s/', $replaceValue);\n\n            if ($cPath === $searchValue) {\n\n                // it's the element itself\n                $changed = true;\n\n                if ($modificationType === self::MODIFY_TYPE_REPLACE) {\n                    $space['cpath'] = $replaceValue;\n                } elseif ($modificationType === self::MODIFY_TYPE_DELETE) {\n                    unset($spaces[$spaceIndex]);\n                    $spaces = array_values($spaces); // reset array keys\n                }\n            } elseif (strpos($cTrailingPath, $cTrailingSearchValue) !== false) {\n\n                // it's a sub element\n                $changed = true;\n\n                if ($modificationType === self::MODIFY_TYPE_REPLACE) {\n                    $space['cpath'] = str_replace($cTrailingSearchValue, $cTrailingReplaceValue, $space['cpath']);\n                } elseif ($modificationType === self::MODIFY_TYPE_DELETE) {\n                    unset($spaces[$spaceIndex]);\n                    $spaces = array_values($spaces); // reset array keys\n                }\n            }\n        }\n\n        if ($changed === false) {\n            return;\n        }\n\n        $workspaces[$spaceType] = $spaces;\n        $configuration['workspaces'] = $workspaces;\n\n        $configurationEntity->setConfiguration($configuration);\n\n        return $configurationEntity;\n    }\n\n    /**\n     * @param array         $workspaces\n     *\n     * @throws \\Exception\n     */\n    public static function saveWorkspaces(Configuration $config, $workspaces)\n    {\n        $db = Db::get();\n        $db->delete(Dao::TABLE_NAME_DOCUMENT, ['configuration' => $config->getName()]);\n        $db->delete(Dao::TABLE_NAME_ASSET, ['configuration' => $config->getName()]);\n        $db->delete(Dao::TABLE_NAME_DATAOBJECT, ['configuration' => $config->getName()]);\n\n        if (is_array($workspaces)) {\n            foreach ($workspaces as $type => $spaces) {\n                foreach ($spaces as $space) {\n                    $element = \\Pimcore\\Model\\Element\\Service::getElementByPath($type, $space['cpath']);\n                    if ($element) {\n                        $className = '\\\\Pimcore\\\\Bundle\\\\DataHubBundle\\\\Configuration\\\\Workspace\\\\' . \\Pimcore\\Model\\Element\\Service::getBaseClassNameForElement($type);\n                        /** @var Configuration\\Workspace\\AbstractWorkspace $workspace */\n                        $workspace = new $className();\n                        $workspace->setValues($space);\n\n                        $workspace->setConfiguration($config->getName());\n                        $workspace->setCid($element->getId());\n                        $workspace->setCpath($element->getRealFullPath());\n                        $workspace->save();\n                    }\n                }\n            }\n        }\n        Cache::clearTags(self::getCacheTags($config));\n    }\n\n    /**\n     *\n     * @return array\n     *\n     * @throws \\Exception\n     */\n    public static function loadWorkspaces(Configuration $configuration)\n    {\n        $workspaces = [];\n        $types = ['document', 'asset', 'object'];\n        $db = Db::get();\n\n        foreach ($types as $type) {\n            $workspaces[$type] = [];\n\n            $className = '\\\\Pimcore\\\\Bundle\\\\DataHubBundle\\\\Configuration\\\\Workspace\\\\' . \\Pimcore\\Model\\Element\\Service::getBaseClassNameForElement($type);\n            $result = $db->fetchAllAssociative('SELECT * FROM plugin_datahub_workspaces_' . $type . ' WHERE configuration = ?', [$configuration->getName()]);\n            foreach ($result as $row) {\n                $workspace = new $className();\n                $workspace->setValues($row);\n                $workspaces[$type][] = $workspace;\n            }\n        }\n\n        return $workspaces;\n    }\n\n    /**\n     *\n     * @throws \\Exception\n     */\n    public static function deleteConfiguration(Configuration $config)\n    {\n        $db = Db::get();\n\n        $db->delete(Dao::TABLE_NAME_DOCUMENT, ['configuration' => $config->getName()]);\n        $db->delete(Dao::TABLE_NAME_ASSET, ['configuration' => $config->getName()]);\n        $db->delete(Dao::TABLE_NAME_DATAOBJECT, ['configuration' => $config->getName()]);\n\n        Cache::clearTags(self::getCacheTags($config));\n    }\n\n    /**\n     * @param ElementInterface|OwnerAwareFieldInterface $element\n     * @param string $type\n     *\n     * @return bool\n     *\n     * @throws NotAllowedException\n     */\n    public static function checkPermission($element, $type)\n    {\n        $context = RuntimeCache::get(PimcoreDataHubBundle::RUNTIME_CONTEXT_KEY);\n        /** @var Configuration $configuration */\n        $configuration = $context['configuration'];\n\n        if ($configuration->skipPermisssionCheck()) {\n            return true;\n        }\n\n        $event = new PermissionEvent($element, $type);\n        /** @var EventDispatcher $eventDispatcher */\n        $eventDispatcher = \\Pimcore::getContainer()->get('event_dispatcher');\n        $eventDispatcher->dispatch($event, PermissionEvents::PRE_CHECK);\n        if (!$event->isGranted() && PimcoreDataHubBundle::getNotAllowedPolicy() === PimcoreDataHubBundle::NOT_ALLOWED_POLICY_EXCEPTION) {\n            throw new ClientSafeException('access for '.  $element->getFullPath() . ' denied');\n        }\n\n        $isAllowed = self::isAllowed($element, $configuration, $type);\n        if (!$isAllowed && PimcoreDataHubBundle::getNotAllowedPolicy() === PimcoreDataHubBundle::NOT_ALLOWED_POLICY_EXCEPTION) {\n            $elementType = Service::getElementType($element);\n\n            throw new ClientSafeException($type . ' access for ' . $elementType . ' ' . $element->getFullPath() . ' denied');\n        }\n\n        return $isAllowed;\n    }\n\n    /**\n     * @internal\n     *\n     * @param ElementInterface|OwnerAwareFieldInterface|null $element\n     *\n     * @return bool\n     */\n    public static function isAllowed($element, Configuration $configuration, string $type)\n    {\n        if (!$element) {\n            return false;\n        }\n\n        $elementType = Service::getElementType($element);\n        // collect properties via parent - ids\n        $parentIds = [1];\n\n        $parent = $element->getParent();\n        if ($parent) {\n            while ($parent) {\n                $parentIds[] = $parent->getId();\n                $parent = $parent->getParent();\n            }\n        }\n        if ($element->getId()) {\n            $parentIds[] = $element->getId();\n        }\n\n        $lookupTable = self::fetchLookupTable($elementType, $configuration);\n        foreach ($parentIds as $parentId) {\n            if (isset($lookupTable[$parentId]) && $lookupTable[$parentId][$type] === 1) {\n                return true;\n            }\n        }\n\n        if ($type === 'read') {\n            $path = $element->getRealFullPath() . '/';\n            $path = str_replace('_', '\\\\_', $path);\n            if ($element->getId() === 1) {\n                $path = '/';\n            }\n\n            foreach ($lookupTable as $row) {\n                if (strpos($row['cpath'], $path) === 0 && $row[$type] == 1) {\n                    return true;\n                }\n            }\n        }\n\n        return false;\n    }\n\n    private static function fetchLookupTable(string $elementType, Configuration $configuration): array\n    {\n        $cacheKey = 'datahub_workspace_permissions_' . $configuration->getName() . '_' . $elementType;\n        if (RuntimeCache::isRegistered($cacheKey)) {\n            return RuntimeCache::load($cacheKey);\n        }\n\n        $cache = Cache::load($cacheKey);\n        if ($cache !== false) {\n            RuntimeCache::save($cache, $cacheKey);\n\n            return $cache;\n        }\n\n        $db = Db::get();\n        $sql = 'SELECT cid, cpath, `create`, `read`, `update`, `delete` FROM plugin_datahub_workspaces_' . $elementType . ' WHERE configuration = ?';\n        $rows = $db->fetchAllAssociative($sql, [$configuration->getName()]);\n\n        $lookupTable = [];\n        foreach ($rows as $row) {\n            $lookupTable[$row['cid']] = $row;\n        }\n\n        RuntimeCache::save($lookupTable, $cacheKey);\n        Cache::save($lookupTable, $cacheKey, self::getCacheTags($configuration));\n\n        return $lookupTable;\n    }\n\n    private static function getCacheTags(Configuration $configuration): array\n    {\n        return ['datahub_workspace_permissions_'. $configuration->getName()];\n    }\n}\n"
  },
  {
    "path": "tests/GraphQL/ResolveTest.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Tests\\GraphQL;\n\nuse Codeception\\Attribute\\Skip;\nuse Codeception\\Test\\Unit;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\QueryType;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Resolver\\TranslationListing;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service;\nuse Pimcore\\Model\\Translation;\nuse Pimcore\\Tool;\nuse Symfony\\Component\\EventDispatcher\\EventDispatcher;\n\nclass ResolveTest extends Unit\n{\n    private Service|null $service;\n\n    protected function setUp(): void\n    {\n        $this->service = \\Pimcore::getContainer()->get(\"Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Service\");\n        $this->addTranslations();\n    }\n\n    public function testGraphQLTranslationListingResolveListing()\n    {\n        $translationListing = new TranslationListing($this->service, new EventDispatcher());\n        $listRes = $translationListing->resolveListing([], []);\n\n        for ($i = 0; $i < 4; $i++) {\n            $this->assertEquals('translation-k' .$i, $listRes['edges'][$i]['cursor']);\n\n            $translation = $listRes['edges'][$i]['node'];\n            $this->assertEquals('k' .$i, $translation->getKey());\n            $this->assertEquals('dek' .$i, $translation->getTranslations()['de']);\n            $this->assertEquals('enk' .$i, $translation->getTranslations()['en']);\n        }\n    }\n\n    #[Skip('This test is currently failing due to a known issue with the translation listing resolver.')]\n    public function testGraphQLTranslationListingResolveListingWithDomain()\n    {\n        $translationListing = new TranslationListing($this->service, new EventDispatcher());\n        $listRes = $translationListing->resolveListing([], ['domain' => 'admin']);\n\n        for ($i = 0; $i < 2; $i++) {\n            $this->assertEquals('translation-ka' .$i, $listRes['edges'][$i]['cursor']);\n\n            $translation = $listRes['edges'][$i]['node'];\n            $this->assertEquals('ka' .$i, $translation->getKey());\n            $this->assertEquals('deka' .$i, $translation->getTranslations()['de']);\n            $this->assertEquals('enka' .$i, $translation->getTranslations()['en']);\n        }\n    }\n\n    public function testGraphQLTranslationListingResolveListingWithKey()\n    {\n        $key = 'k2';\n\n        $translationListing = new TranslationListing($this->service, new EventDispatcher());\n        $listRes = $translationListing->resolveListing([], ['keys' => $key]);\n\n        $this->assertEquals('translation-' . $key, $listRes['edges'][0]['cursor']);\n\n        $translation = $listRes['edges'][0]['node'];\n        $this->assertEquals($key, $translation->getKey());\n        $this->assertEquals('de' . $key, $translation->getTranslations()['de']);\n        $this->assertEquals('en' . $key, $translation->getTranslations()['en']);\n    }\n\n    public function testGraphQLTranslationListingResolveListingWithKeys()\n    {\n        $keys = 'k1,k2,k3';\n\n        $translationListing = new TranslationListing($this->service, new EventDispatcher());\n        $listRes = $translationListing->resolveListing([], ['keys' => $keys]);\n\n        for ($i = 0; $i < 2; $i++) {\n            $this->assertEquals('translation-k' .$i + 1, $listRes['edges'][$i]['cursor']);\n\n            $translation = $listRes['edges'][$i]['node'];\n            $this->assertEquals('k' . $i + 1, $translation->getKey());\n            $this->assertEquals('dek' . $i + 1, $translation->getTranslations()['de']);\n            $this->assertEquals('enk' . $i + 1, $translation->getTranslations()['en']);\n        }\n    }\n\n    public function testGraphQLTranslationListingResolveListingWithLanguage()\n    {\n        $languages = 'en';\n\n        $translationListing = new TranslationListing($this->service, new EventDispatcher());\n        $listRes = $translationListing->resolveListing([], ['languages' => $languages]);\n\n        $translations = $listRes['edges'][0]['node']->getTranslations();\n        $this->assertCount(1, $translations);\n        $this->assertArrayHasKey('en', $translations);\n    }\n\n    public function testGraphQLTranslationListingResolveListingWithLanguages()\n    {\n        $languages = 'en, de';\n\n        $translationListing = new TranslationListing($this->service, new EventDispatcher());\n        $listRes = $translationListing->resolveListing([], ['languages' => $languages]);\n\n        $translations = $listRes['edges'][0]['node']->getTranslations();\n        $this->assertCount(2, $translations);\n        $this->assertArrayHasKey('en', $translations);\n        $this->assertArrayHasKey('de', $translations);\n    }\n\n    public function testGraphQLTranslationListingResolveListingWithLanguagesAndKeys()\n    {\n        $languages = 'en, de';\n        $keys = 'k1,k2,k3';\n\n        $translationListing = new TranslationListing($this->service, new EventDispatcher());\n        $listRes = $translationListing->resolveListing([], ['languages' => $languages, 'keys' => $keys]);\n\n        for ($i = 0; $i < 2; $i++) {\n            $translation = $listRes['edges'][$i]['node'];\n            $translations = $translation->getTranslations();\n\n            $this->assertEquals('k' . $i + 1, $translation->getKey());\n\n            $this->assertCount(2, $translations);\n            $this->assertArrayHasKey('en', $translations);\n            $this->assertArrayHasKey('de', $translations);\n        }\n    }\n\n    public function testGraphQLResolveTranslationGetter()\n    {\n        $this->expectException(\\Exception::class);\n        $queryTypeResolver = new QueryType(new EventDispatcher());\n        $queryTypeResolver->resolveTranslationGetter();\n    }\n\n    private function addTranslations(): void\n    {\n        for ($i = 0; $i < 4; $i++) {\n            $this->addTranslation('k' . $i);\n        }\n        for ($i = 0; $i < 2; $i++) {\n            $this->addTranslation('ka' . $i, 'admin');\n            $this->addTranslation('ka' . $i, 'admin');\n        }\n    }\n\n    private function addTranslation(string $key, string $domain = 'messages'): void\n    {\n        $t = new Translation();\n        $t->setDomain($domain);\n        $t->setKey($key);\n        $t->setCreationDate(time());\n        $t->setModificationDate(time());\n\n        foreach (Tool::getValidLanguages() as $lang) {\n            $t->addTranslation($lang, $lang . $key);\n        }\n        $t->save();\n\n    }\n}\n"
  },
  {
    "path": "tests/GraphQL/Traits/ElementIdentificationTraitTest.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Tests\\GraphQL\\Traits;\n\nuse Codeception\\Test\\Unit;\nuse Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ElementIdentificationTrait;\n\nclass TestTrait\n{\n    use ElementIdentificationTrait;\n\n    const BY_ID = 'ById';\n\n    const BY_PATH = 'ByPath';\n\n    /**\n     * @param string $elementType\n     *\n     * @return string\n     */\n    protected function getElementById($elementType)\n    {\n        return $elementType . self::BY_ID;\n    }\n\n    /**\n     * @param string $elementType\n     *\n     * @return string\n     */\n    protected function getElementByPath($elementType)\n    {\n        return $elementType . self::BY_PATH;\n    }\n}\n\nclass ElementIdentificationTraitTest extends Unit\n{\n    const TEST_TYPE = 'object';\n\n    public function testThrowingClientSafeExceptionIfTypeIsMissing()\n    {\n        // Arrange\n        $this->expectExceptionMessageMatches('/type expected/');\n        $newValueItemValue = [];\n        // System under Test\n        $sut = new class {\n            use \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ElementIdentificationTrait;\n        };\n        // Act + Assert\n        $sut->getElementByTypeAndIdOrPath($newValueItemValue);\n    }\n\n    public function testThrowingClientSafeExceptionIfTypeIsNotSupported()\n    {\n        // Arrange\n        $this->expectExceptionMessageMatches('/The type .* is not supported/');\n        $newValueItemValue = ['type' => 'wrong'];\n        // System under Test\n        $sut = new class {\n            use \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ElementIdentificationTrait;\n        };\n        // Act + Assert\n        $sut->getElementByTypeAndIdOrPath($newValueItemValue);\n    }\n\n    public function testThrowingClientSafeExceptionIfBothIdAndFullpathAreMissing()\n    {\n        // Arrange\n        $this->expectExceptionMessageMatches('/either .* or .* expected/');\n        $newValueItemValue = ['type' => self::TEST_TYPE];\n        // System under Test\n        $sut = new class {\n            use \\Pimcore\\Bundle\\DataHubBundle\\GraphQL\\Traits\\ElementIdentificationTrait;\n        };\n        // Act + Assert\n        $sut->getElementByTypeAndIdOrPath($newValueItemValue);\n    }\n\n    public function testThrowingClientSafeExceptionIfBothIdAndFullpathArePassed()\n    {\n        // Arrange\n        $this->expectExceptionMessage('either id or fullpath expected but not both');\n        $newValueItemValue = [\n            'type' => self::TEST_TYPE,\n            'id' => 4,\n            'fullpath' => '/some/path/withKey',\n        ];\n        // System under Test\n        $sut = new TestTrait();\n        // Act & Assert\n        $sut->getElementByTypeAndIdOrPath($newValueItemValue);\n    }\n\n    public function testElementIdentificationGetElementByFullPath()\n    {\n        // Arrange\n        $newValueItemValue = [\n            'type' => self::TEST_TYPE,\n            'fullpath' => '/some/path/withKey',\n        ];\n        // System under Test\n        $sut = new TestTrait();\n        // Act\n        $result = $sut->getElementByTypeAndIdOrPath($newValueItemValue);\n        // Assert\n        $this->assertEquals(self::TEST_TYPE . TestTrait::BY_PATH, $result);\n    }\n\n    public function testElementIdentificationIfTypeCanBePassedAsSeparateArgument()\n    {\n        // Arrange\n        $newValueItemValue = [\n            'fullpath' => '/some/path/withKey',\n        ];\n        // System under Test\n        $sut = new TestTrait();\n        // Act\n        $result = $sut->getElementByTypeAndIdOrPath($newValueItemValue, self::TEST_TYPE);\n        // Assert\n        $this->assertEquals(self::TEST_TYPE . TestTrait::BY_PATH, $result);\n    }\n}\n"
  },
  {
    "path": "tests/GraphQL.suite.yml",
    "content": "actor: GraphQLTester\nmodules:\n    enabled:\n        - \\Pimcore\\Tests\\Support\\Helper\\Pimcore:\n              connect_db: true\n              cache_router: false\n"
  },
  {
    "path": "tests/Model/ImportingConfigTest.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Tests\\Model\\DataObject;\n\nuse Pimcore\\Bundle\\DataHubBundle\\Configuration;\nuse Pimcore\\Tests\\Support\\Helper\\DataType\\TestDataHelper;\nuse Pimcore\\Tests\\Support\\Test\\ModelTestCase;\n\n/**\n * Class ListingTest\n *\n * @package Pimcore\\Tests\\Model\\DataObject\n *\n * @group model.dataobject.listing\n */\nclass ImportingConfigTest extends ModelTestCase\n{\n    /**\n     * @var TestDataHelper\n     */\n    protected $testDataHelper;\n\n    const CORRECT_API_KEY = 'correct_key';\n\n    const CONFNAME = 'newone';\n\n    public function setUp(): void\n    {\n        parent::setUp();\n        //TestHelper::cleanUp();\n        //$this->prepareData();\n    }\n\n    public function tearDown(): void\n    {\n        //TestHelper::cleanUp();\n        //        parent::tearDown();\n    }\n\n    public function testConfiguration()\n    {\n\n        $config = Configuration::getByName(self::CONFNAME);\n        $this->assertEquals(false, $config instanceof Configuration, 'Check if configuration exists ' . self::CONFNAME);\n\n        $config = new Configuration('graphql', '/124', self::CONFNAME);\n\n        $configurationData = file_get_contents(__DIR__ . '/../_support/Resources/configuration_query_mutation_allowed.json');\n        $decodedConfigurationData = json_decode($configurationData, true);\n        $config->setConfiguration($decodedConfigurationData);\n\n        $config->save();\n        $config = Configuration::getByName(self::CONFNAME);\n\n        //this works locally but not on github actions\n        $this->assertEquals(true, $config instanceof Configuration, 'Check if configuration is successfully saved ' . self::CONFNAME . ': ' . print_r($config, true));\n    }\n}\n"
  },
  {
    "path": "tests/Model/_bootstrap.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\n\\Pimcore\\Bootstrap::kernel();\n"
  },
  {
    "path": "tests/Model.suite.yml",
    "content": "actor: ModelTester\nmodules:\n    enabled:\n        - \\DataHubBundle\\Tests\\Helper\\Model\n        - \\Pimcore\\Tests\\Support\\Helper\\Pimcore:\n              connect_db: true\n              cache_router: false\n        - \\Pimcore\\Tests\\Support\\Helper\\ClassManager"
  },
  {
    "path": "tests/Readme.md",
    "content": "# Running and creating tests\n\nTests can be executed locally in a separate docker-compose. This docker-compose also sets up database accordingly. \n\nTo run, just execute [/bin/init-tests.sh](./bin/init-tests.sh) script and follow instructions there.\n\nAdditional tests may be added following codeception best practises. "
  },
  {
    "path": "tests/Service/CheckConsumerPermissionsServiceTest.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Tests\\Controller;\n\nuse Codeception\\Test\\Unit;\nuse Pimcore\\Bundle\\DataHubBundle\\Configuration;\nuse Symfony\\Component\\HttpFoundation\\Request;\n\nclass CheckConsumerPermissionsServiceTest extends Unit\n{\n    const CORRECT_API_KEY = 'correct_key';\n\n    public function testSecurityCheckFailsWhenNoApiKeyInRequest()\n    {\n        // Arrange\n        $configuration = $this->createMock(Configuration::class);\n        $configuration->method('getSecurityConfig')\n            ->willReturn([\n                 'method' => Configuration::SECURITYCONFIG_AUTH_APIKEY,\n                 'apikey' => self::CORRECT_API_KEY,\n            ]);\n        $request = new Request();\n\n        // System under Test\n        $sut = new \\Pimcore\\Bundle\\DataHubBundle\\Service\\CheckConsumerPermissionsService();\n        // Act\n        $result = $sut->performSecurityCheck($request, $configuration);\n        // Assert\n        $this->assertFalse($result);\n    }\n\n    public function testSecurityCheckFailsWhenInvalidApiKeyInRequest()\n    {\n        // Arrange\n        $configuration = $this->createMock(Configuration::class);\n        $configuration->method('getSecurityConfig')\n            ->willReturn([\n                'method' => Configuration::SECURITYCONFIG_AUTH_APIKEY,\n                'apikey' => self::CORRECT_API_KEY,\n            ]);\n        $request = new Request(['apikey' => 'wrong_key']);\n\n        // System under Test\n        $sut = new \\Pimcore\\Bundle\\DataHubBundle\\Service\\CheckConsumerPermissionsService();\n        // Act\n        $result = $sut->performSecurityCheck($request, $configuration);\n        //Assert\n        $this->assertFalse($result);\n    }\n\n    public function testSecurityCheckPassesWhenCorrectApiKeyInQuery()\n    {\n        // Arrange\n        $configuration = $this->createMock(Configuration::class);\n        $configuration->method('getSecurityConfig')\n            ->willReturn([\n                'method' => Configuration::SECURITYCONFIG_AUTH_APIKEY,\n                'apikey' => self::CORRECT_API_KEY,\n            ]);\n        $request = new Request(['apikey' => self::CORRECT_API_KEY]);\n\n        // System under Test\n        $sut = new \\Pimcore\\Bundle\\DataHubBundle\\Service\\CheckConsumerPermissionsService();\n        // Act\n        $result = $sut->performSecurityCheck($request, $configuration);\n        // Assert\n        $this->assertTrue($result);\n    }\n\n    public function testSecurityCheckPassesWhenCorrectApiKeyInApikeyHeader()\n    {\n        // Arrange\n        $configuration = $this->createMock(Configuration::class);\n        $configuration->method('getSecurityConfig')\n            ->willReturn([\n                'method' => Configuration::SECURITYCONFIG_AUTH_APIKEY,\n                'apikey' => self::CORRECT_API_KEY,\n            ]);\n        $request = new Request();\n        $request->headers->set('apikey', self::CORRECT_API_KEY);\n\n        // System under Test\n        $sut = new \\Pimcore\\Bundle\\DataHubBundle\\Service\\CheckConsumerPermissionsService();\n        // Act\n        $result = $sut->performSecurityCheck($request, $configuration);\n        // Assert\n        $this->assertTrue($result);\n    }\n\n    public function testSecurityCheckPassesWhenCorrectXApiKeyInApikeyHeader()\n    {\n        // Arrange\n        $configuration = $this->createMock(Configuration::class);\n        $configuration->method('getSecurityConfig')\n            ->willReturn([\n                'method' => Configuration::SECURITYCONFIG_AUTH_APIKEY,\n                'apikey' => self::CORRECT_API_KEY,\n            ]);\n        $request = new Request();\n        $request->headers->set('X-API-Key', self::CORRECT_API_KEY);\n        // System under Test\n        $sut = new \\Pimcore\\Bundle\\DataHubBundle\\Service\\CheckConsumerPermissionsService();\n        // Act\n        $result = $sut->performSecurityCheck($request, $configuration);\n        // Assert\n        $this->assertTrue($result);\n    }\n\n    public function testSecurityCheckPrioritizesHeaderOverQueryParam()\n    {\n        // Arrange\n        $configuration = $this->createMock(Configuration::class);\n        $configuration->method('getSecurityConfig')\n            ->willReturn([\n                'method' => Configuration::SECURITYCONFIG_AUTH_APIKEY,\n                'apikey' => self::CORRECT_API_KEY,\n            ]);\n        $request = new Request(['apikey', 'wrong_key']);\n        $request->headers->set('apikey', self::CORRECT_API_KEY);\n        // System under Test\n        $sut = new \\Pimcore\\Bundle\\DataHubBundle\\Service\\CheckConsumerPermissionsService();\n        // Act\n        $result = $sut->performSecurityCheck($request, $configuration);\n        // Assert\n        $this->assertTrue($result);\n    }\n}\n"
  },
  {
    "path": "tests/Service/OutputCacheServiceTest.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\DataHubBundle\\Service;\n\nuse Codeception\\Test\\Unit;\nuse Symfony\\Component\\DependencyInjection\\ParameterBag\\ContainerBagInterface;\nuse Symfony\\Component\\EventDispatcher\\EventDispatcherInterface;\nuse Symfony\\Component\\HttpFoundation\\JsonResponse;\nuse Symfony\\Component\\HttpFoundation\\Request;\n\nclass OutputCacheServiceTest extends Unit\n{\n    protected $container;\n\n    protected $eventDispatcher;\n\n    protected $request;\n\n    protected $sut;\n\n    protected function setUp(): void\n    {\n        $this->container = $this->createMock(ContainerBagInterface::class);\n        $this->container->method('get')\n            ->willReturn([\n                'graphql' => [\n                    'output_cache_enabled' => true,\n                    'output_cache_lifetime' => 25,\n                ],\n            ]);\n\n        $this->eventDispatcher = $this->createMock(EventDispatcherInterface::class);\n        $this->eventDispatcher->method('dispatch')\n            ->willReturnArgument(0);\n\n        $this->sut = $this->getMockBuilder(OutputCacheService::class)\n            ->setConstructorArgs([$this->container, $this->eventDispatcher])\n            ->onlyMethods(['loadFromCache', 'saveToCache'])\n            ->getMock();\n\n        $payload = '{\"query\":\"{\\n  getProductCategoryListing {\\n    edges {\\n      node {\\n        fullpath\\n      }\\n    }\\n  }\\n}\",\"variables\":null,\"operationName\":null}';\n        $this->request = Request::create('/api', 'POST', ['apikey' => 'super_secret_api_key'], [], [], [], $payload);\n        $this->request->headers->set('Content-Type', 'application/json');\n        $this->request->request->set('clientname', 'test-datahub-config');\n    }\n\n    public function testReturnNullWhenItemIsNotCached()\n    {\n        // Arrange\n        $this->sut->method('loadFromCache')->willReturn(null);\n\n        // Act\n        $cacheItem = $this->sut->load($this->request);\n\n        // Assert\n        $this->assertEquals(null, $cacheItem);\n    }\n\n    public function testReturnItemWhenItIsCached()\n    {\n        // Arrange\n        $response = new JsonResponse(['data' => 123]);\n        $this->sut->method('loadFromCache')->willReturn($response);\n\n        // Act\n        $cacheItem = $this->sut->load($this->request);\n\n        // Assert\n        $this->assertEquals($response, $cacheItem);\n    }\n\n    public function testSaveItemWhenCacheIsEnabled()\n    {\n        // Arrange\n        $this->sut\n            ->expects($this->once())\n            ->method('saveToCache');\n\n        $response = new JsonResponse(['data' => 123]);\n\n        // Act\n        $this->sut->save($this->request, $response);\n    }\n\n    public function testIgnoreSaveWhenCacheIsDisabled()\n    {\n        // Arrange\n        $this->container = $this->createMock(ContainerBagInterface::class);\n        $this->container->method('get')\n            ->willReturn([\n                'graphql' => [\n                    'output_cache_enabled' => false,\n                ],\n            ]);\n\n        $this->sut = $this->getMockBuilder(OutputCacheService::class)\n            ->setConstructorArgs([$this->container, $this->eventDispatcher])\n            ->onlyMethods(['saveToCache'])\n            ->getMock();\n\n        $this->sut\n            ->expects($this->never())\n            ->method('saveToCache');\n\n        $response = new JsonResponse(['data' => 123]);\n\n        // Act\n        $this->sut->save($this->request, $response);\n    }\n\n    public function testIgnoreLoadWhenCacheIsDisabled()\n    {\n        // Arrange\n        $this->container = $this->createMock(ContainerBagInterface::class);\n        $this->container->method('get')\n        ->willReturn([\n            'graphql' => [\n                'output_cache_enabled' => false,\n            ],\n        ]);\n\n        $this->sut = $this->getMockBuilder(OutputCacheService::class)\n            ->setConstructorArgs([$this->container, $this->eventDispatcher])\n            ->onlyMethods(['loadFromCache'])\n            ->getMock();\n\n        $this->sut\n            ->expects($this->never())\n            ->method('loadFromCache');\n\n        $response = new JsonResponse(['data' => 123]);\n\n        // Act\n        $this->sut->save($this->request, $response);\n    }\n\n    public function testIgnoreCacheWhenRequestParameterIsPassed()\n    {\n        // Arrange\n        $response = new JsonResponse(['data' => 123]);\n        $this->sut->method('loadFromCache')->willReturn($response);\n        $this->request->query->set('pimcore_nocache', 'true');\n\n        // Act\n        $cacheItem = $this->sut->load($this->request);\n\n        // Assert\n        $this->assertTrue(\\Pimcore::inDebugMode());\n        $this->assertEquals(null, $cacheItem);\n    }\n}\n"
  },
  {
    "path": "tests/Service/_bootstrap.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\n\\Pimcore\\Bootstrap::kernel();\n"
  },
  {
    "path": "tests/Service.suite.dist.yml",
    "content": "actor: ServiceTester\nmodules:\n    enabled:\n        - \\Pimcore\\Tests\\Support\\Helper\\Pimcore:\n            connect_db: true\n            cache_router: false\n"
  },
  {
    "path": "tests/_bootstrap.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nuse Pimcore\\Tests\\Support\\Util\\Autoloader;\n\ndefine('PIMCORE_TEST', true);\n\nif (file_exists(__DIR__ . '/../vendor/autoload_runtime.php')) {\n    include __DIR__ . '/../vendor/autoload_runtime.php';\n    $pimcoreTestDir = __DIR__ . '/../vendor/pimcore/pimcore/tests';\n} elseif (file_exists(__DIR__ . '/../../../../vendor/autoload_runtime.php')) {\n    include __DIR__ . '/../../../../vendor/autoload_runtime.php';\n    $pimcoreTestDir = __DIR__ . '/../../../../vendor/pimcore/pimcore/tests';\n} elseif (getenv('PIMCORE_PROJECT_ROOT') != '' && file_exists(getenv('PIMCORE_PROJECT_ROOT') . '/vendor/autoload_runtime.php')) {\n    include getenv('PIMCORE_PROJECT_ROOT') . '/vendor/autoload_runtime.php';\n    $pimcoreTestDir = getenv('PIMCORE_PROJECT_ROOT') . '/vendor/pimcore/pimcore/tests';\n} elseif (getenv('PIMCORE_PROJECT_ROOT') != '') {\n    throw new \\Exception('Invalid Pimcore project root \"' . getenv('PIMCORE_PROJECT_ROOT') . '\"');\n} else {\n    throw new \\Exception('Unknown configuration! Pimcore project root not found, please set env variable PIMCORE_PROJECT_ROOT.');\n}\n\n$_SERVER['APP_ENV'] = 'test';\n$_SERVER['APP_DEBUG'] = true;\n\n$pimcoreTestsSupportDir = $pimcoreTestDir . '/Support';\n\n//Pimcore 10 BC layer\nif (!is_dir($pimcoreTestsSupportDir)) {\n    $pimcoreTestsSupportDir = $pimcoreTestDir . '/_support';\n}\n\ninclude $pimcoreTestsSupportDir . '/Util/Autoloader.php';\n\n\\Pimcore\\Bootstrap::setProjectRoot();\n\\Pimcore\\Bootstrap::bootstrap();\n\n//error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_WARNING);\n\nAutoloader::addNamespace('Pimcore\\Tests', $pimcoreTestsSupportDir); //Pimcore 10 BC layer\nAutoloader::addNamespace('Pimcore\\Tests\\Support', $pimcoreTestsSupportDir);\nAutoloader::addNamespace('Pimcore\\Model\\DataObject', PIMCORE_CLASS_DIRECTORY . '/DataObject');\nAutoloader::addNamespace('DataHubBundle\\Tests', __DIR__);\nAutoloader::addNamespace('DataHubBundle\\Tests', __DIR__ . '/_support');\n\necho __DIR__ . '/_support';\n\nif (!defined('TESTS_PATH')) {\n    define('TESTS_PATH', __DIR__);\n}\n\nif (!defined('PIMCORE_TEST')) {\n    define('PIMCORE_TEST', true);\n}\n"
  },
  {
    "path": "tests/_support/GraphQLTester.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace DataHubBundle\\Tests;\n\n/**\n * Inherited Methods\n *\n * @method void wantToTest($text)\n * @method void wantTo($text)\n * @method void execute($callable)\n * @method void expectTo($prediction)\n * @method void expect($prediction)\n * @method void expectExceptionMessageRegExp($prediction)\n * @method void amGoingTo($argumentation)\n * @method void am($role)\n * @method void lookForwardTo($achieveValue)\n * @method void comment($description)\n * @method \\Codeception\\Lib\\Friend haveFriend($name, $actorClass = NULL)\n *\n * @SuppressWarnings(PHPMD)\n */\nclass GraphQLTester extends \\Codeception\\Actor\n{\n    use _generated\\GraphQLTesterActions;\n\n    /**\n     * Define custom actions here\n     */\n}\n"
  },
  {
    "path": "tests/_support/Helper/Model.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace DataHubBundle\\Tests\\Helper;\n\n// here you can define custom actions\n// all public methods declared in helper class will be available in $I\n\nuse Doctrine\\DBAL\\Exception;\nuse Pimcore\\Bundle\\DataHubBundle\\Installer;\nuse Pimcore\\Tests\\Support\\Helper\\AbstractDefinitionHelper;\nuse Pimcore\\Tests\\Support\\Helper\\ClassManager;\nuse Pimcore\\Tests\\Support\\Helper\\Pimcore;\nuse Pimcore\\Tests\\Support\\Util\\Autoloader;\n\nclass Model extends AbstractDefinitionHelper\n{\n    /**\n     * @param array $settings\n     *\n     * @throws Exception\n     */\n    public function _beforeSuite($settings = []): void\n    {\n        /** @var Pimcore $pimcoreModule */\n        $pimcoreModule = $this->getModule('\\\\' . Pimcore::class);\n\n        $this->debug('[DataHub] Running datahub installer');\n\n        // install datahub bundle\n        $installer = $pimcoreModule->getContainer()->get(Installer::class);\n        $installer->install();\n\n        $this->initializeDefinitions();\n        Autoloader::load(DataHubTestEntity::class);\n    }\n\n    public function initializeDefinitions(): void\n    {\n        $cm = $this->getModule('\\\\' . ClassManager::class);\n        $class = $cm->setupClass('DataHubTestEntity', __DIR__ . '/../Resources/class_DataHubTestEntity_import.json');\n        $this->prepareData($class);\n    }\n\n    /**\n     * @param \\stdClass $class\n     *\n     * @return void\n     */\n    public function prepareData($class)\n    {\n        $seeds = [10, 11, 42, 53, 65, 78, 85];\n        $entity = 'Pimcore\\Model\\DataObject\\\\'.$class->name;\n\n        foreach ($seeds as $key => $seed) {\n            $object = new $entity();\n            $object->setParentId(1);\n            $object->setKey('DataHubTest_' . $key);\n            $object->setPublished(true);\n\n            $object->save();\n        }\n    }\n}\n"
  },
  {
    "path": "tests/_support/Helper/Service.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Bundle\\PimcoreDataHubBundle\\Tests\\Helper;\n\nuse Pimcore\\Tests\\Support\\Helper\\Model;\nuse Symfony\\Component\\DependencyInjection\\ParameterBag\\ContainerBagInterface;\n\nclass Service extends Model\n{\n    /**\n     * @var null|ContainerBagInterface\n     */\n    protected static $container = null;\n\n    /**\n     * @return object|null\n     */\n    public function grabService(string $serviceId)\n    {\n\n        //TODO change this as soon as Pimcore helper as grabService method and requirement is bumped to pimcore/pimcore:10.4\n        if (empty(self::$container)) {\n            $container = \\Pimcore::getContainer();\n            self::$container = $container->has('test.service_container') ? $container->get('test.service_container') : $container;\n        }\n\n        return self::$container->get($serviceId);\n    }\n\n    public function initializeDefinitions()\n    {\n        //        $this->setupFieldcollection_Unittestfieldcollection();\n        //        $this->setupPimcoreClass_Unittest();\n        //        $this->setupObjectbrick_UnittestBrick();\n    }\n}\n"
  },
  {
    "path": "tests/_support/Helper/Unit.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace DataHubBundle\\Tests\\Helper;\n\n// here you can define custom actions\n// all public methods declared in helper class will be available in $I\n\nclass Unit extends \\Codeception\\Module\n{\n}\n"
  },
  {
    "path": "tests/_support/ModelTester.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace DataHubBundle\\Tests;\n\n/**\n * Inherited Methods\n *\n * @method void wantToTest($text)\n * @method void wantTo($text)\n * @method void execute($callable)\n * @method void expectTo($prediction)\n * @method void expect($prediction)\n * @method void amGoingTo($argumentation)\n * @method void am($role)\n * @method void lookForwardTo($achieveValue)\n * @method void comment($description)\n * @method \\Codeception\\Lib\\Friend haveFriend($name, $actorClass = NULL)\n *\n * @SuppressWarnings(PHPMD)\n */\nclass ModelTester extends \\Codeception\\Actor\n{\n    use _generated\\ModelTesterActions;\n\n    /**\n     * Define custom actions here\n     */\n}\n"
  },
  {
    "path": "tests/_support/Resources/class_DataHubTestEntity_import.json",
    "content": "{\n    \"id\": null,\n    \"description\": \"\",\n    \"modificationDate\": 1646950833,\n    \"parentClass\": \"\",\n    \"implementsInterfaces\": \"\",\n    \"listingParentClass\": \"\",\n    \"useTraits\": \"\",\n    \"listingUseTraits\": \"\",\n    \"allowInherit\": false,\n    \"allowVariants\": false,\n    \"showVariants\": false,\n    \"layoutDefinitions\": {\n        \"fieldtype\": \"panel\",\n        \"layout\": null,\n        \"border\": false,\n        \"name\": \"pimcore_root\",\n        \"type\": null,\n        \"region\": null,\n        \"title\": null,\n        \"width\": 0,\n        \"height\": 0,\n        \"collapsible\": false,\n        \"collapsed\": false,\n        \"bodyStyle\": null,\n        \"datatype\": \"layout\",\n        \"permissions\": null,\n        \"children\": [\n            {\n                \"fieldtype\": \"panel\",\n                \"layout\": null,\n                \"border\": false,\n                \"name\": \"Layout\",\n                \"type\": null,\n                \"region\": null,\n                \"title\": \"\",\n                \"width\": \"\",\n                \"height\": \"\",\n                \"collapsible\": false,\n                \"collapsed\": false,\n                \"bodyStyle\": \"\",\n                \"datatype\": \"layout\",\n                \"permissions\": null,\n                \"children\": [\n                    {\n                        \"fieldtype\": \"input\",\n                        \"width\": \"\",\n                        \"defaultValue\": null,\n                        \"columnLength\": 190,\n                        \"regex\": \"\",\n                        \"unique\": false,\n                        \"showCharCount\": false,\n                        \"name\": \"text\",\n                        \"title\": \"Text\",\n                        \"tooltip\": \"\",\n                        \"mandatory\": false,\n                        \"noteditable\": false,\n                        \"index\": false,\n                        \"locked\": false,\n                        \"style\": \"\",\n                        \"permissions\": null,\n                        \"datatype\": \"data\",\n                        \"relationType\": false,\n                        \"invisible\": false,\n                        \"visibleGridView\": false,\n                        \"visibleSearch\": false,\n                        \"defaultValueGenerator\": \"\"\n                    }\n                ],\n                \"locked\": false,\n                \"icon\": \"\",\n                \"labelWidth\": 0,\n                \"labelAlign\": \"left\"\n            }\n        ],\n        \"locked\": false,\n        \"icon\": null,\n        \"labelWidth\": 100,\n        \"labelAlign\": \"left\"\n    },\n    \"icon\": \"\",\n    \"previewUrl\": \"\",\n    \"group\": \"\",\n    \"showAppLoggerTab\": false,\n    \"linkGeneratorReference\": \"\",\n    \"previewGeneratorReference\": \"\",\n    \"compositeIndices\": [],\n    \"generateTypeDeclarations\": true,\n    \"showFieldLookup\": false,\n    \"propertyVisibility\": {\n        \"grid\": {\n            \"id\": true,\n            \"key\": false,\n            \"path\": true,\n            \"published\": true,\n            \"modificationDate\": true,\n            \"creationDate\": true\n        },\n        \"search\": {\n            \"id\": true,\n            \"key\": false,\n            \"path\": true,\n            \"published\": true,\n            \"modificationDate\": true,\n            \"creationDate\": true\n        }\n    },\n    \"enableGridLocking\": false\n}\n"
  },
  {
    "path": "tests/_support/Resources/configuration_query_mutation_allowed.json",
    "content": "{\n    \"general\":{\n        \"active\":true,\n        \"type\":\"graphql\",\n        \"name\":\"newconf\",\n        \"description\":\"\",\n        \"group\":\"\",\n        \"sqlObjectCondition\":\"\",\n        \"modificationDate\":1646988192,\n        \"path\":null,\n        \"createDate\":1646988076\n    },\n    \"schema\":{\n        \"queryEntities\":{\n            \"DataHubTestEntity\":{\n                \"id\":\"DataHubTestEntity\",\n                \"name\":\"DataHubTestEntity\"\n            }\n        },\n        \"mutationEntities\":{\n            \"DataHubTestEntity\":{\n                \"id\":\"DataHubTestEntity\",\n                \"name\":\"DataHubTestEntity\",\n                \"update\":true,\n                \"create\":true,\n                \"delete\":true,\n                \"columnConfig\":{\n                    \"columns\":[\n                        {\n                            \"attributes\":{\n                                \"attribute\":\"text\",\n                                \"label\":\"Text\",\n                                \"dataType\":\"input\"\n                            },\n                            \"isOperator\":false\n                        }\n                    ]\n                }\n            }\n        },\n        \"specialEntities\":{\n            \"document\":{\n                \"read\":false,\n                \"create\":false,\n                \"update\":false,\n                \"delete\":false\n            },\n            \"document_folder\":{\n                \"read\":false,\n                \"create\":false,\n                \"update\":false,\n                \"delete\":false\n            },\n            \"asset\":{\n                \"read\":false,\n                \"create\":false,\n                \"update\":false,\n                \"delete\":false\n            },\n            \"asset_folder\":{\n                \"read\":false,\n                \"create\":false,\n                \"update\":false,\n                \"delete\":false\n            },\n            \"asset_listing\":{\n                \"read\":false,\n                \"create\":false,\n                \"update\":false,\n                \"delete\":false\n            },\n            \"object_folder\":{\n                \"read\":true,\n                \"create\":true,\n                \"update\":true,\n                \"delete\":true\n            }\n        }\n    },\n    \"security\":{\n        \"method\":\"datahub_apikey\",\n        \"apikey\":[\"ac0155a5f86f64c1f65baa42c52d0e25\"],\n        \"skipPermissionCheck\":true\n    },\n    \"workspaces\":{\n        \"asset\":[\n\n        ],\n        \"document\":[\n\n        ],\n        \"object\":[\n            {\n                \"read\":true,\n                \"cpath\":\"\\/\",\n                \"create\":true,\n                \"update\":true,\n                \"delete\":true,\n                \"id\":\"extModel1101-1\"\n            }\n        ]\n    },\n    \"permissions\":{\n        \"user\":[\n\n        ],\n        \"role\":[\n\n        ]\n    }\n}"
  },
  {
    "path": "tests/_support/ServiceTester.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace DataHubBundle\\Tests;\n\n/**\n * Inherited Methods\n *\n * @method void wantToTest($text)\n * @method void wantTo($text)\n * @method void execute($callable)\n * @method void expectTo($prediction)\n * @method void expect($prediction)\n * @method void amGoingTo($argumentation)\n * @method void am($role)\n * @method void lookForwardTo($achieveValue)\n * @method void comment($description)\n * @method \\Codeception\\Lib\\Friend haveFriend($name, $actorClass = NULL)\n *\n * @SuppressWarnings(PHPMD)\n */\nclass ServiceTester extends \\Codeception\\Actor\n{\n    use _generated\\ServiceTesterActions;\n}\n"
  },
  {
    "path": "tests/_support/Test/ModelTestCase.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace Pimcore\\Tests\\Test;\n\nuse Codeception\\Test\\Unit;\nuse Pimcore\\Tests\\Support\\Helper\\DataType\\Calculator;\nuse Pimcore\\Tests\\Support\\ModelTester;\n\n/**\n * @property ModelTester $tester\n */\nabstract class ModelTestCase extends Unit\n{\n    protected function setUp(): void\n    {\n        parent::setUp();\n\n        \\Pimcore::getContainer()->set('test.calculatorservice', new Calculator());\n\n        if ($this->needsDb()) {\n            $this->setUpTestClasses();\n        }\n    }\n\n    /**\n     * Set up test classes before running tests\n     */\n    protected function setUpTestClasses()\n    {\n    }\n\n    protected function needsDb()\n    {\n        return true;\n    }\n}\n"
  },
  {
    "path": "tests/_support/Test/TestCase.php",
    "content": "<?php\n\n/**\n * This source file is available under the terms of the\n * Pimcore Open Core License (POCL)\n * Full copyright and license information is available in\n * LICENSE.md which is distributed with this source code.\n *\n *  @copyright  Copyright (c) Pimcore GmbH (https://www.pimcore.com)\n *  @license    Pimcore Open Core License (POCL)\n */\n\nnamespace DataHubBundle\\Tests\\Test;\n\nuse Codeception\\Test\\Unit;\nuse Pimcore\\Tests\\Support\\Util\\TestHelper;\n\nabstract class TestCase extends Unit\n{\n    /**\n     * @var bool\n     */\n    protected $cleanupDbInSetup = true;\n\n    protected $backupGlobalsExcludeList = ['IDE_EVAL_CACHE'];     // xdebug\n\n    /**\n     * Determine if the test needs a DB connection (will be skipped if no DB is present)\n     *\n     * @return bool\n     */\n    protected function needsDb()\n    {\n        return false;\n    }\n\n    protected function setUp(): void\n    {\n        parent::setUp();\n\n        if ($this->needsDb()) {\n            TestHelper::checkDbSupport();\n\n            // every single test assumes a clean database\n            if ($this->cleanupDbInSetup) {\n                TestHelper::cleanUp();\n            }\n        }\n\n        \\Pimcore::collectGarbage();\n    }\n}\n"
  },
  {
    "path": "tests/bin/docker-compose.yml",
    "content": "version: '3.0'\nservices:\n    db:\n        image: mariadb:10.7\n        working_dir: /application\n        command: [mysqld, --character-set-server=utf8mb4, --collation-server=utf8mb4_unicode_ci, --innodb-file-per-table=1]\n        environment:\n            MYSQL_ROOT_PASSWORD: ROOT\n            MYSQL_DATABASE: pimcore_test\n            MYSQL_USER: pimcore\n            MYSQL_PASSWORD: pimcore\n\n    php-fpm:\n        #user: '1000:1000' # set to your uid:gid\n        #image: pimcore/pimcore:PHP8.1-fpm-debug\n        image: pimcore/pimcore:php8.4-debug-latest\n        environment:\n            PHP_IDE_CONFIG: \"serverName=localhost\"\n            COMPOSER_HOME: /var/www/html\n            PIMCORE_PROJECT_ROOT: /var/www/html\n            APP_ENV: test\n            PIMCORE_TEST: 1\n            PIMCORE_TEST_DB_DSN: \"mysql://pimcore:pimcore@db:3306/pimcore_test\"\n        depends_on:\n            - db\n        volumes:\n            - ../../.:/var/www/html\n            - /var/www/html/vendor\n            - /var/www/html/kernel\n            - /var/www/html/config\n            - /var/www/html/templates\n            - /var/www/html/bin\n            - /var/www/html/public\n            - /var/www/html/var"
  },
  {
    "path": "tests/bin/init-tests.sh",
    "content": "#!/bin/bash\n\ndocker compose down -v --remove-orphans\n\ndocker compose up -d\n\ndocker compose exec php-fpm .github/ci/scripts/setup-pimcore-environment.sh\n\ndocker compose exec php-fpm composer update\n#docker-compose exec php-fpm composer update --prefer-lowest --prefer-stable\n\ndocker compose exec php-fpm vendor/bin/codecept run -vv\n\nprintf \"\\n\\n\\n================== \\n\"\nprintf \"Run 'docker compose exec php-fpm vendor/bin/codecept run -vv' to re-run the tests.\\n\"\nprintf \"Run 'docker compose down -v --remove-orphans' to shutdown container and cleanup.\\n\\n\""
  }
]